// swad_action.h: actions

#ifndef _SWAD_ACT
#define _SWAD_ACT
/*
    SWAD (Shared Workspace At a Distance),
    is a web platform developed at the University of Granada (Spain),
    and used to support university teaching.

    This file is part of SWAD core.
    Copyright (C) 1999-2019 Antonio Caņas Vargas

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as
    published by the Free Software Foundation, either version 3 of the
    License, or (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
/*****************************************************************************/
/********************************** Headers **********************************/
/*****************************************************************************/

#include <stdbool.h>		// For boolean type

#include "swad_constant.h"
#include "swad_cryptography.h"
#include "swad_language.h"
#include "swad_string.h"
#include "swad_tab.h"

/*****************************************************************************/
/****************************** Public constants *****************************/
/*****************************************************************************/

#define Act_MAX_CHARS_ACTION_TXT	(256 - 1)			// 255
#define Act_MAX_BYTES_ACTION_TXT	Act_MAX_CHARS_ACTION_TXT	// 255

typedef enum
  {
   Act_CONT_NORM,
   Act_CONT_DATA,
  } Act_Content_t;

typedef enum
  {
   Act_BRW_UNK_TAB,	// Unknown tab
   Act_BRW_1ST_TAB,	// The main (original, first) tab in the browser
   Act_BRW_NEW_TAB,	// A new (second) blank tab in the browser
   Act_BRW_2ND_TAB,	// The second tab in the browser
   Act_AJAX_NORMAL,	// Update a zone of the page using AJAX
   Act_AJAX_RFRESH,	// Update a zone of the page using AJAX, with auto-refresh
   Act_UPLOAD_FILE,	// Upload a file. Do not write HTML content. Write Status code instead for Dropzone.js
   Act_DOWNLD_FILE,	// Download a file in a new tab. Do not write HTML content.
   Act_204_NO_CONT,	// Do not write HTML content. HTTP will return Status 204 No Content
   Act_WEB_SERVICE,	// Web service. Send output to client using SOAP.
  } Act_BrowserTab_t;

typedef signed int Act_Action_t;	// Must be a signed type, because -1 is used to indicate obsolete action

#define Act_NUM_ACTIONS	(1 + 8 + 61 + 38 + 12 + 42 + 36 + 19 + 110 + 166 + 437 + 176 + 169 + 15 + 67)

#define Act_MAX_ACTION_COD 1781

#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 13

/*****************************************************************************/
/************************* Not asociates with tabs ***************************/
/*****************************************************************************/
#define ActAll			 0

#define ActUnk			 1
#define ActMnu			 2

// The following 5 actions use AJAX to refresh only a part of the page
#define ActRefCon		 3
#define ActRefLstClk		 4
#define ActRefNewSocPubGbl	 5
#define ActRefOldSocPubGbl	 6
#define ActRefOldSocPubUsr	 7

#define ActWebSvc		 8

/*****************************************************************************/
/********************************* Start tab *********************************/
/*****************************************************************************/
// Actions in menu
#define ActFrmLogIn		(ActWebSvc +   1)
#define ActReqSch		(ActWebSvc +   2)
#define ActSeeSocTmlGbl		(ActWebSvc +   3)
#define ActSeeSocPrf		(ActWebSvc +   4)
#define ActSeeCal		(ActWebSvc +   5)
#define ActSeeNtf		(ActWebSvc +   6)

// Secondary actions
#define ActLogIn		(ActWebSvc +   7)
#define ActLogInNew		(ActWebSvc +   8)
#define ActLogInLan		(ActWebSvc +   9)
#define ActAnnSee		(ActWebSvc +  10)
#define ActReqSndNewPwd		(ActWebSvc +  11)
#define ActSndNewPwd		(ActWebSvc +  12)
#define ActLogOut		(ActWebSvc +  13)

#define ActSch			(ActWebSvc +  14)

#define ActRcvSocPstGbl		(ActWebSvc +  15)
#define ActRcvSocComGbl		(ActWebSvc +  16)
#define ActAllShaSocNotGbl	(ActWebSvc +  17)
#define ActAllFavSocNotGbl	(ActWebSvc +  18)
#define ActAllFavSocComGbl	(ActWebSvc +  19)
#define ActShaSocNotGbl		(ActWebSvc +  20)
#define ActUnsSocNotGbl		(ActWebSvc +  21)
#define ActFavSocNotGbl		(ActWebSvc +  22)
#define ActUnfSocNotGbl		(ActWebSvc +  23)
#define ActFavSocComGbl		(ActWebSvc +  24)
#define ActUnfSocComGbl		(ActWebSvc +  25)
#define ActReqRemSocPubGbl	(ActWebSvc +  26)
#define ActRemSocPubGbl		(ActWebSvc +  27)
#define ActReqRemSocComGbl	(ActWebSvc +  28)
#define ActRemSocComGbl		(ActWebSvc +  29)

#define ActReqOthPubPrf		(ActWebSvc +  30)

#define ActRcvSocPstUsr		(ActWebSvc +  31)
#define ActRcvSocComUsr		(ActWebSvc +  32)
#define ActAllShaSocNotUsr	(ActWebSvc +  33)
#define ActAllFavSocNotUsr	(ActWebSvc +  34)
#define ActAllFavSocComUsr	(ActWebSvc +  35)
#define ActShaSocNotUsr		(ActWebSvc +  36)
#define ActUnsSocNotUsr		(ActWebSvc +  37)
#define ActFavSocNotUsr		(ActWebSvc +  38)
#define ActUnfSocNotUsr		(ActWebSvc +  39)
#define ActFavSocComUsr		(ActWebSvc +  40)
#define ActUnfSocComUsr		(ActWebSvc +  41)
#define ActReqRemSocPubUsr	(ActWebSvc +  42)
#define ActRemSocPubUsr		(ActWebSvc +  43)
#define ActReqRemSocComUsr	(ActWebSvc +  44)
#define ActRemSocComUsr		(ActWebSvc +  45)

#define ActSeeOthPubPrf		(ActWebSvc +  46)
#define ActCalFig		(ActWebSvc +  47)

#define ActFolUsr		(ActWebSvc +  48)
#define ActUnfUsr		(ActWebSvc +  49)
#define ActSeeFlg		(ActWebSvc +  50)
#define ActSeeFlr		(ActWebSvc +  51)

#define ActPrnCal		(ActWebSvc +  52)
#define ActChgCal1stDay		(ActWebSvc +  53)

#define ActSeeNewNtf		(ActWebSvc +  54)
#define ActMrkNtfSee		(ActWebSvc +  55)
#define ActSeeMai		(ActWebSvc +  56)
#define ActEdiMai		(ActWebSvc +  57)
#define ActNewMai		(ActWebSvc +  58)
#define ActRemMai		(ActWebSvc +  59)
#define ActRenMaiSho		(ActWebSvc +  60)
#define ActRenMaiFul		(ActWebSvc +  61)

/*****************************************************************************/
/******************************** System tab *********************************/
/*****************************************************************************/
// Actions in menu
#define ActSeeCty		(ActRenMaiFul +  1)
#define ActSeePen		(ActRenMaiFul +  2)
#define ActSeeLnk		(ActRenMaiFul +  3)
#define ActLstPlg		(ActRenMaiFul +  4)
#define ActSetUp		(ActRenMaiFul +  5)

// Secondary actions
#define ActEdiCty		(ActRenMaiFul +  6)
#define ActNewCty		(ActRenMaiFul +  7)
#define ActRemCty		(ActRenMaiFul +  8)
#define ActRenCty		(ActRenMaiFul +  9)
#define ActChgCtyWWW		(ActRenMaiFul + 10)

#define ActReqRemOldCrs		(ActRenMaiFul + 11)
#define ActRemOldCrs		(ActRenMaiFul + 12)

#define ActSeeBan		(ActRenMaiFul + 13)
#define ActEdiBan		(ActRenMaiFul + 14)
#define ActNewBan		(ActRenMaiFul + 15)
#define ActRemBan		(ActRenMaiFul + 16)
#define ActShoBan		(ActRenMaiFul + 17)
#define ActHidBan		(ActRenMaiFul + 18)
#define ActRenBanSho		(ActRenMaiFul + 19)
#define ActRenBanFul		(ActRenMaiFul + 20)
#define ActChgBanImg		(ActRenMaiFul + 21)
#define ActChgBanWWW		(ActRenMaiFul + 22)
#define ActClkBan		(ActRenMaiFul + 23)

#define ActEdiLnk		(ActRenMaiFul + 24)
#define ActNewLnk		(ActRenMaiFul + 25)
#define ActRemLnk		(ActRenMaiFul + 26)
#define ActRenLnkSho		(ActRenMaiFul + 27)
#define ActRenLnkFul		(ActRenMaiFul + 28)
#define ActChgLnkWWW		(ActRenMaiFul + 29)

#define ActEdiPlg		(ActRenMaiFul + 30)
#define ActNewPlg		(ActRenMaiFul + 31)
#define ActRemPlg		(ActRenMaiFul + 32)
#define ActRenPlg		(ActRenMaiFul + 33)
#define ActChgPlgDes		(ActRenMaiFul + 34)
#define ActChgPlgLog		(ActRenMaiFul + 35)
#define ActChgPlgAppKey		(ActRenMaiFul + 36)
#define ActChgPlgURL		(ActRenMaiFul + 37)
#define ActChgPlgIP		(ActRenMaiFul + 38)

/*****************************************************************************/
/******************************** Country tab ********************************/
/*****************************************************************************/
// Actions in menu
#define ActSeeCtyInf		(ActChgPlgIP +  1)
#define ActSeeIns		(ActChgPlgIP +  2)

// Secondary actions
#define ActPrnCtyInf		(ActChgPlgIP +  3)
#define ActChgCtyMapAtt		(ActChgPlgIP +  4)

#define ActEdiIns		(ActChgPlgIP +  5)
#define ActReqIns		(ActChgPlgIP +  6)
#define ActNewIns		(ActChgPlgIP +  7)
#define ActRemIns		(ActChgPlgIP +  8)
#define ActRenInsSho		(ActChgPlgIP +  9)
#define ActRenInsFul		(ActChgPlgIP + 10)
#define ActChgInsWWW		(ActChgPlgIP + 11)
#define ActChgInsSta		(ActChgPlgIP + 12)

/*****************************************************************************/
/****************************** Institution tab ******************************/
/*****************************************************************************/
// Actions in menu
#define ActSeeInsInf		(ActChgInsSta +  1)
#define ActSeeCtr		(ActChgInsSta +  2)
#define ActSeePlc		(ActChgInsSta +  3)
#define ActSeeDpt		(ActChgInsSta +  4)
#define ActSeeHld		(ActChgInsSta +  5)

// Secondary actions
#define ActPrnInsInf		(ActChgInsSta +  6)
#define ActChgInsCtyCfg		(ActChgInsSta +  7)
#define ActRenInsShoCfg		(ActChgInsSta +  8)
#define ActRenInsFulCfg		(ActChgInsSta +  9)
#define ActChgInsWWWCfg		(ActChgInsSta + 10)
#define ActReqInsLog		(ActChgInsSta + 11)
#define ActRecInsLog		(ActChgInsSta + 12)
#define ActRemInsLog		(ActChgInsSta + 13)

#define ActEdiCtr		(ActChgInsSta + 14)
#define ActReqCtr		(ActChgInsSta + 15)
#define ActNewCtr		(ActChgInsSta + 16)
#define ActRemCtr		(ActChgInsSta + 17)
#define ActChgCtrPlc		(ActChgInsSta + 18)
#define ActRenCtrSho		(ActChgInsSta + 19)
#define ActRenCtrFul		(ActChgInsSta + 20)
#define ActChgCtrWWW		(ActChgInsSta + 21)
#define ActChgCtrSta		(ActChgInsSta + 22)

#define ActEdiPlc		(ActChgInsSta + 23)
#define ActNewPlc		(ActChgInsSta + 24)
#define ActRemPlc		(ActChgInsSta + 25)
#define ActRenPlcSho		(ActChgInsSta + 26)
#define ActRenPlcFul		(ActChgInsSta + 27)

#define ActEdiDpt		(ActChgInsSta + 28)
#define ActNewDpt		(ActChgInsSta + 29)
#define ActRemDpt		(ActChgInsSta + 30)
#define ActChgDptIns		(ActChgInsSta + 31)
#define ActRenDptSho		(ActChgInsSta + 32)
#define ActRenDptFul		(ActChgInsSta + 33)
#define ActChgDptWWW		(ActChgInsSta + 34)

#define ActEdiHld		(ActChgInsSta + 35)
#define ActNewHld		(ActChgInsSta + 36)
#define ActRemHld		(ActChgInsSta + 37)
#define ActChgHldPlc		(ActChgInsSta + 38)
#define ActChgHldTyp		(ActChgInsSta + 39)
#define ActChgHldStrDat		(ActChgInsSta + 40)
#define ActChgHldEndDat		(ActChgInsSta + 41)
#define ActRenHld		(ActChgInsSta + 42)

/*****************************************************************************/
/********************************* Centre tab ********************************/
/*****************************************************************************/
// Actions in menu
#define ActSeeCtrInf		(ActRenHld +  1)
#define ActSeeDeg		(ActRenHld +  2)
#define ActSeeCla		(ActRenHld +  3)

// Secondary actions
#define ActPrnCtrInf		(ActRenHld +  4)
#define ActChgCtrInsCfg		(ActRenHld +  5)
#define ActRenCtrShoCfg		(ActRenHld +  6)
#define ActRenCtrFulCfg		(ActRenHld +  7)
#define ActChgCtrPlcCfg		(ActRenHld +  8)
#define ActChgCtrWWWCfg		(ActRenHld +  9)
#define ActReqCtrLog		(ActRenHld + 10)
#define ActRecCtrLog		(ActRenHld + 11)
#define ActRemCtrLog		(ActRenHld + 12)
#define ActReqCtrPho		(ActRenHld + 13)
#define ActRecCtrPho		(ActRenHld + 14)
#define ActChgCtrPhoAtt		(ActRenHld + 15)

#define ActSeeDegTyp		(ActRenHld + 16)
#define ActEdiDegTyp		(ActRenHld + 17)
#define ActNewDegTyp		(ActRenHld + 18)
#define ActRemDegTyp		(ActRenHld + 19)
#define ActRenDegTyp		(ActRenHld + 20)

#define ActEdiDeg		(ActRenHld + 21)
#define ActReqDeg		(ActRenHld + 22)
#define ActNewDeg		(ActRenHld + 23)
#define ActRemDeg		(ActRenHld + 24)
#define ActRenDegSho		(ActRenHld + 25)
#define ActRenDegFul		(ActRenHld + 26)
#define ActChgDegTyp		(ActRenHld + 27)
#define ActChgDegWWW		(ActRenHld + 28)
#define ActChgDegSta		(ActRenHld + 29)

#define ActEdiCla		(ActRenHld + 30)
#define ActNewCla		(ActRenHld + 31)
#define ActRemCla		(ActRenHld + 32)
#define ActRenClaSho		(ActRenHld + 33)
#define ActRenClaFul		(ActRenHld + 34)
#define ActChgClaMaxStd		(ActRenHld + 35)
#define ActRenClaLoc		(ActRenHld + 36)

/*****************************************************************************/
/********************************* Degree tab ********************************/
/*****************************************************************************/
// Actions in menu
#define ActSeeDegInf		(ActRenClaLoc +  1)
#define ActSeeCrs		(ActRenClaLoc +  2)

// Secondary actions
#define ActPrnDegInf		(ActRenClaLoc +  3)
#define ActChgDegCtrCfg		(ActRenClaLoc +  4)
#define ActRenDegShoCfg		(ActRenClaLoc +  5)
#define ActRenDegFulCfg		(ActRenClaLoc +  6)
#define ActChgDegWWWCfg		(ActRenClaLoc +  7)
#define ActReqDegLog		(ActRenClaLoc +  8)
#define ActRecDegLog		(ActRenClaLoc +  9)
#define ActRemDegLog		(ActRenClaLoc + 10)

#define ActEdiCrs		(ActRenClaLoc + 11)
#define ActReqCrs		(ActRenClaLoc + 12)
#define ActNewCrs		(ActRenClaLoc + 13)
#define ActRemCrs		(ActRenClaLoc + 14)
#define ActChgInsCrsCod		(ActRenClaLoc + 15)
#define ActChgCrsYea		(ActRenClaLoc + 16)
#define ActRenCrsSho		(ActRenClaLoc + 17)
#define ActRenCrsFul		(ActRenClaLoc + 18)
#define ActChgCrsSta		(ActRenClaLoc + 19)

/*****************************************************************************/
/******************************** Course tab *********************************/
/*****************************************************************************/
// Actions in menu
#define ActSeeCrsInf		(ActChgCrsSta +   1)
#define ActSeeTchGui		(ActChgCrsSta +   2)
#define ActSeeSyl		(ActChgCrsSta +   3)
#define ActSeeBib		(ActChgCrsSta +   4)
#define ActSeeFAQ		(ActChgCrsSta +   5)
#define ActSeeCrsLnk		(ActChgCrsSta +   6)
#define ActSeeCrsTT		(ActChgCrsSta +   7)

// Secondary actions
#define ActPrnCrsInf		(ActChgCrsSta +   8)
#define ActChgCrsDegCfg		(ActChgCrsSta +   9)
#define ActRenCrsShoCfg		(ActChgCrsSta +  10)
#define ActRenCrsFulCfg		(ActChgCrsSta +  11)
#define ActChgInsCrsCodCfg	(ActChgCrsSta +  12)
#define ActChgCrsYeaCfg		(ActChgCrsSta +  13)
#define ActEdiCrsInf		(ActChgCrsSta +  14)
#define ActEdiTchGui		(ActChgCrsSta +  15)
#define ActSeeSylLec		(ActChgCrsSta +  16)
#define ActSeeSylPra		(ActChgCrsSta +  17)
#define ActEdiSylLec		(ActChgCrsSta +  18)
#define ActEdiSylPra		(ActChgCrsSta +  19)
#define ActDelItmSylLec		(ActChgCrsSta +  20)
#define ActDelItmSylPra		(ActChgCrsSta +  21)
#define ActUp_IteSylLec		(ActChgCrsSta +  22)
#define ActUp_IteSylPra		(ActChgCrsSta +  23)
#define ActDwnIteSylLec		(ActChgCrsSta +  24)
#define ActDwnIteSylPra		(ActChgCrsSta +  25)
#define ActRgtIteSylLec		(ActChgCrsSta +  26)
#define ActRgtIteSylPra		(ActChgCrsSta +  27)
#define ActLftIteSylLec		(ActChgCrsSta +  28)
#define ActLftIteSylPra		(ActChgCrsSta +  29)
#define ActInsIteSylLec		(ActChgCrsSta +  30)
#define ActInsIteSylPra		(ActChgCrsSta +  31)
#define ActModIteSylLec		(ActChgCrsSta +  32)
#define ActModIteSylPra		(ActChgCrsSta +  33)

#define ActEdiBib		(ActChgCrsSta +  34)
#define ActEdiFAQ		(ActChgCrsSta +  35)
#define ActEdiCrsLnk		(ActChgCrsSta +  36)

#define ActChgFrcReaCrsInf	(ActChgCrsSta +  37)
#define ActChgFrcReaTchGui	(ActChgCrsSta +  38)
#define ActChgFrcReaSylLec	(ActChgCrsSta +  39)
#define ActChgFrcReaSylPra	(ActChgCrsSta +  40)
#define ActChgFrcReaBib		(ActChgCrsSta +  41)
#define ActChgFrcReaFAQ		(ActChgCrsSta +  42)
#define ActChgFrcReaCrsLnk	(ActChgCrsSta +  43)

#define ActChgHavReaCrsInf	(ActChgCrsSta +  44)
#define ActChgHavReaTchGui	(ActChgCrsSta +  45)
#define ActChgHavReaSylLec	(ActChgCrsSta +  46)
#define ActChgHavReaSylPra	(ActChgCrsSta +  47)
#define ActChgHavReaBib		(ActChgCrsSta +  48)
#define ActChgHavReaFAQ		(ActChgCrsSta +  49)
#define ActChgHavReaCrsLnk	(ActChgCrsSta +  50)

#define ActSelInfSrcCrsInf	(ActChgCrsSta +  51)
#define ActSelInfSrcTchGui	(ActChgCrsSta +  52)
#define ActSelInfSrcSylLec	(ActChgCrsSta +  53)
#define ActSelInfSrcSylPra	(ActChgCrsSta +  54)
#define ActSelInfSrcBib		(ActChgCrsSta +  55)
#define ActSelInfSrcFAQ		(ActChgCrsSta +  56)
#define ActSelInfSrcCrsLnk	(ActChgCrsSta +  57)
#define ActRcvURLCrsInf		(ActChgCrsSta +  58)
#define ActRcvURLTchGui		(ActChgCrsSta +  59)
#define ActRcvURLSylLec		(ActChgCrsSta +  60)
#define ActRcvURLSylPra		(ActChgCrsSta +  61)
#define ActRcvURLBib		(ActChgCrsSta +  62)
#define ActRcvURLFAQ		(ActChgCrsSta +  63)
#define ActRcvURLCrsLnk		(ActChgCrsSta +  64)
#define ActRcvPagCrsInf		(ActChgCrsSta +  65)
#define ActRcvPagTchGui		(ActChgCrsSta +  66)
#define ActRcvPagSylLec		(ActChgCrsSta +  67)
#define ActRcvPagSylPra		(ActChgCrsSta +  68)
#define ActRcvPagBib		(ActChgCrsSta +  69)
#define ActRcvPagFAQ		(ActChgCrsSta +  70)
#define ActRcvPagCrsLnk		(ActChgCrsSta +  71)
#define ActEditorCrsInf		(ActChgCrsSta +  72)
#define ActEditorTchGui		(ActChgCrsSta +  73)
#define ActEditorSylLec		(ActChgCrsSta +  74)
#define ActEditorSylPra		(ActChgCrsSta +  75)
#define ActEditorBib		(ActChgCrsSta +  76)
#define ActEditorFAQ		(ActChgCrsSta +  77)
#define ActEditorCrsLnk		(ActChgCrsSta +  78)
#define ActPlaTxtEdiCrsInf	(ActChgCrsSta +  79)
#define ActPlaTxtEdiTchGui	(ActChgCrsSta +  80)
#define ActPlaTxtEdiSylLec	(ActChgCrsSta +  81)
#define ActPlaTxtEdiSylPra	(ActChgCrsSta +  82)
#define ActPlaTxtEdiBib		(ActChgCrsSta +  83)
#define ActPlaTxtEdiFAQ		(ActChgCrsSta +  84)
#define ActPlaTxtEdiCrsLnk	(ActChgCrsSta +  85)
#define ActRchTxtEdiCrsInf	(ActChgCrsSta +  86)
#define ActRchTxtEdiTchGui	(ActChgCrsSta +  87)
#define ActRchTxtEdiSylLec	(ActChgCrsSta +  88)
#define ActRchTxtEdiSylPra	(ActChgCrsSta +  89)
#define ActRchTxtEdiBib		(ActChgCrsSta +  90)
#define ActRchTxtEdiFAQ		(ActChgCrsSta +  91)
#define ActRchTxtEdiCrsLnk	(ActChgCrsSta +  92)
#define ActRcvPlaTxtCrsInf	(ActChgCrsSta +  93)
#define ActRcvPlaTxtTchGui	(ActChgCrsSta +  94)
#define ActRcvPlaTxtSylLec	(ActChgCrsSta +  95)
#define ActRcvPlaTxtSylPra	(ActChgCrsSta +  96)
#define ActRcvPlaTxtBib		(ActChgCrsSta +  97)
#define ActRcvPlaTxtFAQ		(ActChgCrsSta +  98)
#define ActRcvPlaTxtCrsLnk	(ActChgCrsSta +  99)
#define ActRcvRchTxtCrsInf	(ActChgCrsSta + 100)
#define ActRcvRchTxtTchGui	(ActChgCrsSta + 101)
#define ActRcvRchTxtSylLec	(ActChgCrsSta + 102)
#define ActRcvRchTxtSylPra	(ActChgCrsSta + 103)
#define ActRcvRchTxtBib		(ActChgCrsSta + 104)
#define ActRcvRchTxtFAQ		(ActChgCrsSta + 105)
#define ActRcvRchTxtCrsLnk	(ActChgCrsSta + 106)

#define ActPrnCrsTT		(ActChgCrsSta + 107)
#define ActEdiCrsTT		(ActChgCrsSta + 108)
#define ActChgCrsTT		(ActChgCrsSta + 109)
#define ActChgCrsTT1stDay	(ActChgCrsSta + 110)

/*****************************************************************************/
/***************************** Assessment tab ********************************/
/*****************************************************************************/
// Actions in menu
#define ActSeeAss		(ActChgCrsTT1stDay +   1)
#define ActSeeAsg		(ActChgCrsTT1stDay +   2)
#define ActSeePrj		(ActChgCrsTT1stDay +   3)
#define ActReqTst		(ActChgCrsTT1stDay +   4)
#define ActSeeAllGam		(ActChgCrsTT1stDay +   5)
#define ActSeeAllSvy		(ActChgCrsTT1stDay +   6)
#define ActSeeAllExaAnn		(ActChgCrsTT1stDay +   7)

// Secondary actions
#define ActEdiAss		(ActChgCrsTT1stDay +   8)
#define ActChgFrcReaAss		(ActChgCrsTT1stDay +   9)
#define ActChgHavReaAss		(ActChgCrsTT1stDay +  10)
#define ActSelInfSrcAss		(ActChgCrsTT1stDay +  11)
#define ActRcvURLAss		(ActChgCrsTT1stDay +  12)
#define ActRcvPagAss		(ActChgCrsTT1stDay +  13)
#define ActEditorAss		(ActChgCrsTT1stDay +  14)
#define ActPlaTxtEdiAss		(ActChgCrsTT1stDay +  15)
#define ActRchTxtEdiAss		(ActChgCrsTT1stDay +  16)
#define ActRcvPlaTxtAss		(ActChgCrsTT1stDay +  17)
#define ActRcvRchTxtAss		(ActChgCrsTT1stDay +  18)

#define ActFrmNewAsg		(ActChgCrsTT1stDay +  19)
#define ActEdiOneAsg		(ActChgCrsTT1stDay +  20)
#define ActPrnOneAsg		(ActChgCrsTT1stDay +  21)
#define ActNewAsg		(ActChgCrsTT1stDay +  22)
#define ActChgAsg		(ActChgCrsTT1stDay +  23)
#define ActReqRemAsg		(ActChgCrsTT1stDay +  24)
#define ActRemAsg		(ActChgCrsTT1stDay +  25)
#define ActHidAsg		(ActChgCrsTT1stDay +  26)
#define ActShoAsg		(ActChgCrsTT1stDay +  27)

#define ActSeeTblAllPrj		(ActChgCrsTT1stDay +  28)
#define ActFrmNewPrj		(ActChgCrsTT1stDay +  29)
#define ActEdiOnePrj		(ActChgCrsTT1stDay +  30)
#define ActPrnOnePrj		(ActChgCrsTT1stDay +  31)
#define ActNewPrj		(ActChgCrsTT1stDay +  32)
#define ActChgPrj		(ActChgCrsTT1stDay +  33)
#define ActReqRemPrj		(ActChgCrsTT1stDay +  34)
#define ActRemPrj		(ActChgCrsTT1stDay +  35)
#define ActHidPrj		(ActChgCrsTT1stDay +  36)
#define ActShoPrj		(ActChgCrsTT1stDay +  37)
#define ActLckPrj		(ActChgCrsTT1stDay +  38)
#define ActUnlPrj		(ActChgCrsTT1stDay +  39)
#define ActReqLckAllPrj		(ActChgCrsTT1stDay +  40)
#define ActReqUnlAllPrj		(ActChgCrsTT1stDay +  41)
#define ActLckAllPrj		(ActChgCrsTT1stDay +  42)
#define ActUnlAllPrj		(ActChgCrsTT1stDay +  43)
#define ActReqAddStdPrj		(ActChgCrsTT1stDay +  44)
#define ActReqAddTutPrj		(ActChgCrsTT1stDay +  45)
#define ActReqAddEvlPrj		(ActChgCrsTT1stDay +  46)
#define ActAddStdPrj		(ActChgCrsTT1stDay +  47)
#define ActAddTutPrj		(ActChgCrsTT1stDay +  48)
#define ActAddEvlPrj		(ActChgCrsTT1stDay +  49)
#define ActReqRemStdPrj		(ActChgCrsTT1stDay +  50)
#define ActReqRemTutPrj		(ActChgCrsTT1stDay +  51)
#define ActReqRemEvlPrj		(ActChgCrsTT1stDay +  52)
#define ActRemStdPrj		(ActChgCrsTT1stDay +  53)
#define ActRemTutPrj		(ActChgCrsTT1stDay +  54)
#define ActRemEvlPrj		(ActChgCrsTT1stDay +  55)

#define ActAdmDocPrj		(ActChgCrsTT1stDay +  56)
#define ActReqRemFilDocPrj	(ActChgCrsTT1stDay +  57)
#define ActRemFilDocPrj		(ActChgCrsTT1stDay +  58)
#define ActRemFolDocPrj		(ActChgCrsTT1stDay +  59)
#define ActCopDocPrj		(ActChgCrsTT1stDay +  60)
#define ActPasDocPrj		(ActChgCrsTT1stDay +  61)
#define ActRemTreDocPrj		(ActChgCrsTT1stDay +  62)
#define ActFrmCreDocPrj		(ActChgCrsTT1stDay +  63)
#define ActCreFolDocPrj		(ActChgCrsTT1stDay +  64)
#define ActCreLnkDocPrj		(ActChgCrsTT1stDay +  65)
#define ActRenFolDocPrj		(ActChgCrsTT1stDay +  66)
#define ActRcvFilDocPrjDZ	(ActChgCrsTT1stDay +  67)
#define ActRcvFilDocPrjCla	(ActChgCrsTT1stDay +  68)
#define ActExpDocPrj		(ActChgCrsTT1stDay +  69)
#define ActConDocPrj		(ActChgCrsTT1stDay +  70)
#define ActZIPDocPrj		(ActChgCrsTT1stDay +  71)
#define ActReqDatDocPrj		(ActChgCrsTT1stDay +  72)
#define ActChgDatDocPrj		(ActChgCrsTT1stDay +  73)
#define ActDowDocPrj		(ActChgCrsTT1stDay +  74)

#define ActAdmAssPrj		(ActChgCrsTT1stDay +  75)
#define ActReqRemFilAssPrj	(ActChgCrsTT1stDay +  76)
#define ActRemFilAssPrj		(ActChgCrsTT1stDay +  77)
#define ActRemFolAssPrj		(ActChgCrsTT1stDay +  78)
#define ActCopAssPrj		(ActChgCrsTT1stDay +  79)
#define ActPasAssPrj		(ActChgCrsTT1stDay +  80)
#define ActRemTreAssPrj		(ActChgCrsTT1stDay +  81)
#define ActFrmCreAssPrj		(ActChgCrsTT1stDay +  82)
#define ActCreFolAssPrj		(ActChgCrsTT1stDay +  83)
#define ActCreLnkAssPrj		(ActChgCrsTT1stDay +  84)
#define ActRenFolAssPrj		(ActChgCrsTT1stDay +  85)
#define ActRcvFilAssPrjDZ	(ActChgCrsTT1stDay +  86)
#define ActRcvFilAssPrjCla	(ActChgCrsTT1stDay +  87)
#define ActExpAssPrj		(ActChgCrsTT1stDay +  88)
#define ActConAssPrj		(ActChgCrsTT1stDay +  89)
#define ActZIPAssPrj		(ActChgCrsTT1stDay +  90)
#define ActReqDatAssPrj		(ActChgCrsTT1stDay +  91)
#define ActChgDatAssPrj		(ActChgCrsTT1stDay +  92)
#define ActDowAssPrj		(ActChgCrsTT1stDay +  93)

#define ActSeeTst		(ActChgCrsTT1stDay +  94)
#define ActAssTst		(ActChgCrsTT1stDay +  95)
#define ActEdiTstQst		(ActChgCrsTT1stDay +  96)
#define ActEdiOneTstQst		(ActChgCrsTT1stDay +  97)
#define ActReqImpTstQst		(ActChgCrsTT1stDay +  98)
#define ActImpTstQst		(ActChgCrsTT1stDay +  99)
#define ActLstTstQst		(ActChgCrsTT1stDay + 100)
#define ActRcvTstQst		(ActChgCrsTT1stDay + 101)
#define ActReqRemTstQst		(ActChgCrsTT1stDay + 102)
#define ActRemTstQst		(ActChgCrsTT1stDay + 103)
#define ActShfTstQst		(ActChgCrsTT1stDay + 104)
#define ActCfgTst		(ActChgCrsTT1stDay + 105)
#define ActEnableTag		(ActChgCrsTT1stDay + 106)
#define ActDisableTag		(ActChgCrsTT1stDay + 107)
#define ActRenTag		(ActChgCrsTT1stDay + 108)
#define ActRcvCfgTst		(ActChgCrsTT1stDay + 109)

#define ActReqSeeMyTstRes	(ActChgCrsTT1stDay + 110)
#define ActSeeMyTstRes		(ActChgCrsTT1stDay + 111)
#define ActSeeOneTstResMe	(ActChgCrsTT1stDay + 112)
#define ActReqSeeUsrTstRes	(ActChgCrsTT1stDay + 113)
#define ActSeeUsrTstRes		(ActChgCrsTT1stDay + 114)
#define ActSeeOneTstResOth	(ActChgCrsTT1stDay + 115)

#define ActSeeGam		(ActChgCrsTT1stDay + 116)
#define ActStrGamTch		(ActChgCrsTT1stDay + 117)
#define ActGamTch1stQst		(ActChgCrsTT1stDay + 118)
#define ActGamTchNxtQst		(ActChgCrsTT1stDay + 119)
#define ActGamTchEnd		(ActChgCrsTT1stDay + 120)
#define ActGamTchAns		(ActChgCrsTT1stDay + 121)
#define ActPlyGamStd		(ActChgCrsTT1stDay + 122)
#define ActGamStdCurQst		(ActChgCrsTT1stDay + 123)
#define ActAnsGam		(ActChgCrsTT1stDay + 124)
#define ActFrmNewGam		(ActChgCrsTT1stDay + 125)
#define ActEdiOneGam		(ActChgCrsTT1stDay + 126)
#define ActNewGam		(ActChgCrsTT1stDay + 127)
#define ActChgGam		(ActChgCrsTT1stDay + 128)
#define ActReqRemGam		(ActChgCrsTT1stDay + 129)
#define ActRemGam		(ActChgCrsTT1stDay + 130)
#define ActReqRstGam		(ActChgCrsTT1stDay + 131)
#define ActRstGam		(ActChgCrsTT1stDay + 132)
#define ActHidGam		(ActChgCrsTT1stDay + 133)
#define ActShoGam		(ActChgCrsTT1stDay + 134)
#define ActAddOneGamQst		(ActChgCrsTT1stDay + 135)
#define ActGamLstTstQst		(ActChgCrsTT1stDay + 136)
#define ActAddTstQstToGam	(ActChgCrsTT1stDay + 137)
#define ActReqRemGamQst		(ActChgCrsTT1stDay + 138)
#define ActRemGamQst		(ActChgCrsTT1stDay + 139)
#define ActUp_GamQst		(ActChgCrsTT1stDay + 140)
#define ActDwnGamQst		(ActChgCrsTT1stDay + 141)

#define ActSeeSvy		(ActChgCrsTT1stDay + 142)
#define ActAnsSvy		(ActChgCrsTT1stDay + 143)
#define ActFrmNewSvy		(ActChgCrsTT1stDay + 144)
#define ActEdiOneSvy		(ActChgCrsTT1stDay + 145)
#define ActNewSvy		(ActChgCrsTT1stDay + 146)
#define ActChgSvy		(ActChgCrsTT1stDay + 147)
#define ActReqRemSvy		(ActChgCrsTT1stDay + 148)
#define ActRemSvy		(ActChgCrsTT1stDay + 149)
#define ActReqRstSvy		(ActChgCrsTT1stDay + 150)
#define ActRstSvy		(ActChgCrsTT1stDay + 151)
#define ActHidSvy		(ActChgCrsTT1stDay + 152)
#define ActShoSvy		(ActChgCrsTT1stDay + 153)
#define ActEdiOneSvyQst		(ActChgCrsTT1stDay + 154)
#define ActRcvSvyQst		(ActChgCrsTT1stDay + 155)
#define ActReqRemSvyQst		(ActChgCrsTT1stDay + 156)
#define ActRemSvyQst		(ActChgCrsTT1stDay + 157)

#define ActSeeOneExaAnn		(ActChgCrsTT1stDay + 158)
#define ActSeeDatExaAnn		(ActChgCrsTT1stDay + 159)
#define ActEdiExaAnn		(ActChgCrsTT1stDay + 160)
#define ActRcvExaAnn		(ActChgCrsTT1stDay + 161)
#define ActPrnExaAnn		(ActChgCrsTT1stDay + 162)
#define ActReqRemExaAnn		(ActChgCrsTT1stDay + 163)
#define ActRemExaAnn		(ActChgCrsTT1stDay + 164)
#define ActHidExaAnn		(ActChgCrsTT1stDay + 165)
#define ActShoExaAnn		(ActChgCrsTT1stDay + 166)

/*****************************************************************************/
/******************************** Files tab **********************************/
/*****************************************************************************/
// Actions in menu
#define ActSeeAdmDocIns		(ActShoExaAnn +   1)
#define ActAdmShaIns		(ActShoExaAnn +   2)
#define ActSeeAdmDocCtr		(ActShoExaAnn +   3)
#define ActAdmShaCtr		(ActShoExaAnn +   4)
#define ActSeeAdmDocDeg		(ActShoExaAnn +   5)
#define ActAdmShaDeg		(ActShoExaAnn +   6)
#define ActSeeAdmDocCrsGrp	(ActShoExaAnn +   7)
#define ActAdmTchCrsGrp		(ActShoExaAnn +   8)
#define ActAdmShaCrsGrp		(ActShoExaAnn +   9)
#define ActAdmAsgWrkUsr		(ActShoExaAnn +  10)
#define ActReqAsgWrkCrs		(ActShoExaAnn +  11)
#define ActSeeAdmMrk		(ActShoExaAnn +  12)
#define ActAdmBrf		(ActShoExaAnn +  13)
// Secondary actions
#define ActChgToSeeDocIns	(ActShoExaAnn +  14)
#define ActSeeDocIns		(ActShoExaAnn +  15)
#define ActExpSeeDocIns		(ActShoExaAnn +  16)
#define ActConSeeDocIns		(ActShoExaAnn +  17)
#define ActZIPSeeDocIns		(ActShoExaAnn +  18)
#define ActReqDatSeeDocIns	(ActShoExaAnn +  19)
#define ActDowSeeDocIns		(ActShoExaAnn +  20)
#define ActChgToAdmDocIns	(ActShoExaAnn +  21)
#define ActAdmDocIns		(ActShoExaAnn +  22)
#define ActReqRemFilDocIns	(ActShoExaAnn +  23)
#define ActRemFilDocIns		(ActShoExaAnn +  24)
#define ActRemFolDocIns		(ActShoExaAnn +  25)
#define ActCopDocIns		(ActShoExaAnn +  26)
#define ActPasDocIns		(ActShoExaAnn +  27)
#define ActRemTreDocIns		(ActShoExaAnn +  28)
#define ActFrmCreDocIns		(ActShoExaAnn +  29)
#define ActCreFolDocIns		(ActShoExaAnn +  30)
#define ActCreLnkDocIns		(ActShoExaAnn +  31)
#define ActRenFolDocIns		(ActShoExaAnn +  32)
#define ActRcvFilDocInsDZ	(ActShoExaAnn +  33)
#define ActRcvFilDocInsCla	(ActShoExaAnn +  34)
#define ActExpAdmDocIns		(ActShoExaAnn +  35)
#define ActConAdmDocIns		(ActShoExaAnn +  36)
#define ActZIPAdmDocIns		(ActShoExaAnn +  37)
#define ActShoDocIns		(ActShoExaAnn +  38)
#define ActHidDocIns		(ActShoExaAnn +  39)
#define ActReqDatAdmDocIns	(ActShoExaAnn +  40)
#define ActChgDatAdmDocIns	(ActShoExaAnn +  41)
#define ActDowAdmDocIns		(ActShoExaAnn +  42)

#define ActReqRemFilShaIns	(ActShoExaAnn +  43)
#define ActRemFilShaIns		(ActShoExaAnn +  44)
#define ActRemFolShaIns		(ActShoExaAnn +  45)
#define ActCopShaIns		(ActShoExaAnn +  46)
#define ActPasShaIns		(ActShoExaAnn +  47)
#define ActRemTreShaIns		(ActShoExaAnn +  48)
#define ActFrmCreShaIns		(ActShoExaAnn +  49)
#define ActCreFolShaIns		(ActShoExaAnn +  50)
#define ActCreLnkShaIns		(ActShoExaAnn +  51)
#define ActRenFolShaIns		(ActShoExaAnn +  52)
#define ActRcvFilShaInsDZ	(ActShoExaAnn +  53)
#define ActRcvFilShaInsCla	(ActShoExaAnn +  54)
#define ActExpShaIns		(ActShoExaAnn +  55)
#define ActConShaIns		(ActShoExaAnn +  56)
#define ActZIPShaIns		(ActShoExaAnn +  57)
#define ActReqDatShaIns		(ActShoExaAnn +  58)
#define ActChgDatShaIns		(ActShoExaAnn +  59)
#define ActDowShaIns		(ActShoExaAnn +  60)

#define ActChgToSeeDocCtr	(ActShoExaAnn +  61)
#define ActSeeDocCtr		(ActShoExaAnn +  62)
#define ActExpSeeDocCtr		(ActShoExaAnn +  63)
#define ActConSeeDocCtr		(ActShoExaAnn +  64)
#define ActZIPSeeDocCtr		(ActShoExaAnn +  65)
#define ActReqDatSeeDocCtr	(ActShoExaAnn +  66)
#define ActDowSeeDocCtr		(ActShoExaAnn +  67)
#define ActChgToAdmDocCtr	(ActShoExaAnn +  68)
#define ActAdmDocCtr		(ActShoExaAnn +  69)
#define ActReqRemFilDocCtr	(ActShoExaAnn +  70)
#define ActRemFilDocCtr		(ActShoExaAnn +  71)
#define ActRemFolDocCtr		(ActShoExaAnn +  72)
#define ActCopDocCtr		(ActShoExaAnn +  73)
#define ActPasDocCtr		(ActShoExaAnn +  74)
#define ActRemTreDocCtr		(ActShoExaAnn +  75)
#define ActFrmCreDocCtr		(ActShoExaAnn +  76)
#define ActCreFolDocCtr		(ActShoExaAnn +  77)
#define ActCreLnkDocCtr		(ActShoExaAnn +  78)
#define ActRenFolDocCtr		(ActShoExaAnn +  79)
#define ActRcvFilDocCtrDZ	(ActShoExaAnn +  80)
#define ActRcvFilDocCtrCla	(ActShoExaAnn +  81)
#define ActExpAdmDocCtr		(ActShoExaAnn +  82)
#define ActConAdmDocCtr		(ActShoExaAnn +  83)
#define ActZIPAdmDocCtr		(ActShoExaAnn +  84)
#define ActShoDocCtr		(ActShoExaAnn +  85)
#define ActHidDocCtr		(ActShoExaAnn +  86)
#define ActReqDatAdmDocCtr	(ActShoExaAnn +  87)
#define ActChgDatAdmDocCtr	(ActShoExaAnn +  88)
#define ActDowAdmDocCtr		(ActShoExaAnn +  89)

#define ActReqRemFilShaCtr	(ActShoExaAnn +  90)
#define ActRemFilShaCtr		(ActShoExaAnn +  91)
#define ActRemFolShaCtr		(ActShoExaAnn +  92)
#define ActCopShaCtr		(ActShoExaAnn +  93)
#define ActPasShaCtr		(ActShoExaAnn +  94)
#define ActRemTreShaCtr		(ActShoExaAnn +  95)
#define ActFrmCreShaCtr		(ActShoExaAnn +  96)
#define ActCreFolShaCtr		(ActShoExaAnn +  97)
#define ActCreLnkShaCtr		(ActShoExaAnn +  98)
#define ActRenFolShaCtr		(ActShoExaAnn +  99)
#define ActRcvFilShaCtrDZ	(ActShoExaAnn + 100)
#define ActRcvFilShaCtrCla	(ActShoExaAnn + 101)
#define ActExpShaCtr		(ActShoExaAnn + 102)
#define ActConShaCtr		(ActShoExaAnn + 103)
#define ActZIPShaCtr		(ActShoExaAnn + 104)
#define ActReqDatShaCtr		(ActShoExaAnn + 105)
#define ActChgDatShaCtr		(ActShoExaAnn + 106)
#define ActDowShaCtr		(ActShoExaAnn + 107)

#define ActChgToSeeDocDeg	(ActShoExaAnn + 108)
#define ActSeeDocDeg		(ActShoExaAnn + 109)
#define ActExpSeeDocDeg		(ActShoExaAnn + 110)
#define ActConSeeDocDeg		(ActShoExaAnn + 111)
#define ActZIPSeeDocDeg		(ActShoExaAnn + 112)
#define ActReqDatSeeDocDeg	(ActShoExaAnn + 113)
#define ActDowSeeDocDeg		(ActShoExaAnn + 114)
#define ActChgToAdmDocDeg	(ActShoExaAnn + 115)
#define ActAdmDocDeg		(ActShoExaAnn + 116)
#define ActReqRemFilDocDeg	(ActShoExaAnn + 117)
#define ActRemFilDocDeg		(ActShoExaAnn + 118)
#define ActRemFolDocDeg		(ActShoExaAnn + 119)
#define ActCopDocDeg		(ActShoExaAnn + 120)
#define ActPasDocDeg		(ActShoExaAnn + 121)
#define ActRemTreDocDeg		(ActShoExaAnn + 122)
#define ActFrmCreDocDeg		(ActShoExaAnn + 123)
#define ActCreFolDocDeg		(ActShoExaAnn + 124)
#define ActCreLnkDocDeg		(ActShoExaAnn + 125)
#define ActRenFolDocDeg		(ActShoExaAnn + 126)
#define ActRcvFilDocDegDZ	(ActShoExaAnn + 127)
#define ActRcvFilDocDegCla	(ActShoExaAnn + 128)
#define ActExpAdmDocDeg		(ActShoExaAnn + 129)
#define ActConAdmDocDeg		(ActShoExaAnn + 130)
#define ActZIPAdmDocDeg		(ActShoExaAnn + 131)
#define ActShoDocDeg		(ActShoExaAnn + 132)
#define ActHidDocDeg		(ActShoExaAnn + 133)
#define ActReqDatAdmDocDeg	(ActShoExaAnn + 134)
#define ActChgDatAdmDocDeg	(ActShoExaAnn + 135)
#define ActDowAdmDocDeg		(ActShoExaAnn + 136)

#define ActReqRemFilShaDeg	(ActShoExaAnn + 137)
#define ActRemFilShaDeg		(ActShoExaAnn + 138)
#define ActRemFolShaDeg		(ActShoExaAnn + 139)
#define ActCopShaDeg		(ActShoExaAnn + 140)
#define ActPasShaDeg		(ActShoExaAnn + 141)
#define ActRemTreShaDeg		(ActShoExaAnn + 142)
#define ActFrmCreShaDeg		(ActShoExaAnn + 143)
#define ActCreFolShaDeg		(ActShoExaAnn + 144)
#define ActCreLnkShaDeg		(ActShoExaAnn + 145)
#define ActRenFolShaDeg		(ActShoExaAnn + 146)
#define ActRcvFilShaDegDZ	(ActShoExaAnn + 147)
#define ActRcvFilShaDegCla	(ActShoExaAnn + 148)
#define ActExpShaDeg		(ActShoExaAnn + 149)
#define ActConShaDeg		(ActShoExaAnn + 150)
#define ActZIPShaDeg		(ActShoExaAnn + 151)
#define ActReqDatShaDeg		(ActShoExaAnn + 152)
#define ActChgDatShaDeg		(ActShoExaAnn + 153)
#define ActDowShaDeg		(ActShoExaAnn + 154)

#define ActChgToSeeDocCrs	(ActShoExaAnn + 155)
#define ActSeeDocCrs		(ActShoExaAnn + 156)
#define ActExpSeeDocCrs		(ActShoExaAnn + 157)
#define ActConSeeDocCrs		(ActShoExaAnn + 158)
#define ActZIPSeeDocCrs		(ActShoExaAnn + 159)
#define ActReqDatSeeDocCrs	(ActShoExaAnn + 160)
#define ActDowSeeDocCrs		(ActShoExaAnn + 161)

#define ActSeeDocGrp		(ActShoExaAnn + 162)
#define ActExpSeeDocGrp		(ActShoExaAnn + 163)
#define ActConSeeDocGrp		(ActShoExaAnn + 164)
#define ActZIPSeeDocGrp		(ActShoExaAnn + 165)
#define ActReqDatSeeDocGrp	(ActShoExaAnn + 166)
#define ActDowSeeDocGrp		(ActShoExaAnn + 167)

#define ActChgToAdmDocCrs	(ActShoExaAnn + 168)
#define ActAdmDocCrs		(ActShoExaAnn + 169)
#define ActReqRemFilDocCrs	(ActShoExaAnn + 170)
#define ActRemFilDocCrs		(ActShoExaAnn + 171)
#define ActRemFolDocCrs		(ActShoExaAnn + 172)
#define ActCopDocCrs		(ActShoExaAnn + 173)
#define ActPasDocCrs		(ActShoExaAnn + 174)
#define ActRemTreDocCrs		(ActShoExaAnn + 175)
#define ActFrmCreDocCrs		(ActShoExaAnn + 176)
#define ActCreFolDocCrs		(ActShoExaAnn + 177)
#define ActCreLnkDocCrs		(ActShoExaAnn + 178)
#define ActRenFolDocCrs		(ActShoExaAnn + 179)
#define ActRcvFilDocCrsDZ	(ActShoExaAnn + 180)
#define ActRcvFilDocCrsCla	(ActShoExaAnn + 181)
#define ActExpAdmDocCrs		(ActShoExaAnn + 182)
#define ActConAdmDocCrs		(ActShoExaAnn + 183)
#define ActZIPAdmDocCrs		(ActShoExaAnn + 184)
#define ActShoDocCrs		(ActShoExaAnn + 185)
#define ActHidDocCrs		(ActShoExaAnn + 186)
#define ActReqDatAdmDocCrs	(ActShoExaAnn + 187)
#define ActChgDatAdmDocCrs	(ActShoExaAnn + 188)
#define ActDowAdmDocCrs		(ActShoExaAnn + 189)

#define ActAdmDocGrp		(ActShoExaAnn + 190)
#define ActReqRemFilDocGrp	(ActShoExaAnn + 191)
#define ActRemFilDocGrp		(ActShoExaAnn + 192)
#define ActRemFolDocGrp		(ActShoExaAnn + 193)
#define ActCopDocGrp		(ActShoExaAnn + 194)
#define ActPasDocGrp		(ActShoExaAnn + 195)
#define ActRemTreDocGrp		(ActShoExaAnn + 196)
#define ActFrmCreDocGrp		(ActShoExaAnn + 197)
#define ActCreFolDocGrp		(ActShoExaAnn + 198)
#define ActCreLnkDocGrp		(ActShoExaAnn + 199)
#define ActRenFolDocGrp		(ActShoExaAnn + 200)
#define ActRcvFilDocGrpDZ	(ActShoExaAnn + 201)
#define ActRcvFilDocGrpCla	(ActShoExaAnn + 202)
#define ActExpAdmDocGrp		(ActShoExaAnn + 203)
#define ActConAdmDocGrp		(ActShoExaAnn + 204)
#define ActZIPAdmDocGrp		(ActShoExaAnn + 205)
#define ActShoDocGrp		(ActShoExaAnn + 206)
#define ActHidDocGrp		(ActShoExaAnn + 207)
#define ActReqDatAdmDocGrp	(ActShoExaAnn + 208)
#define ActChgDatAdmDocGrp	(ActShoExaAnn + 209)
#define ActDowAdmDocGrp		(ActShoExaAnn + 210)

#define ActChgToAdmTch		(ActShoExaAnn + 211)

#define ActAdmTchCrs		(ActShoExaAnn + 212)
#define ActReqRemFilTchCrs	(ActShoExaAnn + 213)
#define ActRemFilTchCrs		(ActShoExaAnn + 214)
#define ActRemFolTchCrs		(ActShoExaAnn + 215)
#define ActCopTchCrs		(ActShoExaAnn + 216)
#define ActPasTchCrs		(ActShoExaAnn + 217)
#define ActRemTreTchCrs		(ActShoExaAnn + 218)
#define ActFrmCreTchCrs		(ActShoExaAnn + 219)
#define ActCreFolTchCrs		(ActShoExaAnn + 220)
#define ActCreLnkTchCrs		(ActShoExaAnn + 221)
#define ActRenFolTchCrs		(ActShoExaAnn + 222)
#define ActRcvFilTchCrsDZ	(ActShoExaAnn + 223)
#define ActRcvFilTchCrsCla	(ActShoExaAnn + 224)
#define ActExpTchCrs		(ActShoExaAnn + 225)
#define ActConTchCrs		(ActShoExaAnn + 226)
#define ActZIPTchCrs		(ActShoExaAnn + 227)
#define ActReqDatTchCrs		(ActShoExaAnn + 228)
#define ActChgDatTchCrs		(ActShoExaAnn + 229)
#define ActDowTchCrs		(ActShoExaAnn + 230)

#define ActAdmTchGrp		(ActShoExaAnn + 231)
#define ActReqRemFilTchGrp	(ActShoExaAnn + 232)
#define ActRemFilTchGrp		(ActShoExaAnn + 233)
#define ActRemFolTchGrp		(ActShoExaAnn + 234)
#define ActCopTchGrp		(ActShoExaAnn + 235)
#define ActPasTchGrp		(ActShoExaAnn + 236)
#define ActRemTreTchGrp		(ActShoExaAnn + 237)
#define ActFrmCreTchGrp		(ActShoExaAnn + 238)
#define ActCreFolTchGrp		(ActShoExaAnn + 239)
#define ActCreLnkTchGrp		(ActShoExaAnn + 240)
#define ActRenFolTchGrp		(ActShoExaAnn + 241)
#define ActRcvFilTchGrpDZ	(ActShoExaAnn + 242)
#define ActRcvFilTchGrpCla	(ActShoExaAnn + 243)
#define ActExpTchGrp		(ActShoExaAnn + 244)
#define ActConTchGrp		(ActShoExaAnn + 245)
#define ActZIPTchGrp		(ActShoExaAnn + 246)
#define ActReqDatTchGrp		(ActShoExaAnn + 247)
#define ActChgDatTchGrp		(ActShoExaAnn + 248)
#define ActDowTchGrp		(ActShoExaAnn + 249)

#define ActChgToAdmSha		(ActShoExaAnn + 250)

#define ActAdmShaCrs		(ActShoExaAnn + 251)
#define ActReqRemFilShaCrs	(ActShoExaAnn + 252)
#define ActRemFilShaCrs		(ActShoExaAnn + 253)
#define ActRemFolShaCrs		(ActShoExaAnn + 254)
#define ActCopShaCrs		(ActShoExaAnn + 255)
#define ActPasShaCrs		(ActShoExaAnn + 256)
#define ActRemTreShaCrs		(ActShoExaAnn + 257)
#define ActFrmCreShaCrs		(ActShoExaAnn + 258)
#define ActCreFolShaCrs		(ActShoExaAnn + 259)
#define ActCreLnkShaCrs		(ActShoExaAnn + 260)
#define ActRenFolShaCrs		(ActShoExaAnn + 261)
#define ActRcvFilShaCrsDZ	(ActShoExaAnn + 262)
#define ActRcvFilShaCrsCla	(ActShoExaAnn + 263)
#define ActExpShaCrs		(ActShoExaAnn + 264)
#define ActConShaCrs		(ActShoExaAnn + 265)
#define ActZIPShaCrs		(ActShoExaAnn + 266)
#define ActReqDatShaCrs		(ActShoExaAnn + 267)
#define ActChgDatShaCrs		(ActShoExaAnn + 268)
#define ActDowShaCrs		(ActShoExaAnn + 269)

#define ActAdmShaGrp		(ActShoExaAnn + 270)
#define ActReqRemFilShaGrp	(ActShoExaAnn + 271)
#define ActRemFilShaGrp		(ActShoExaAnn + 272)
#define ActRemFolShaGrp		(ActShoExaAnn + 273)
#define ActCopShaGrp		(ActShoExaAnn + 274)
#define ActPasShaGrp		(ActShoExaAnn + 275)
#define ActRemTreShaGrp		(ActShoExaAnn + 276)
#define ActFrmCreShaGrp		(ActShoExaAnn + 277)
#define ActCreFolShaGrp		(ActShoExaAnn + 278)
#define ActCreLnkShaGrp		(ActShoExaAnn + 279)
#define ActRenFolShaGrp		(ActShoExaAnn + 280)
#define ActRcvFilShaGrpDZ	(ActShoExaAnn + 281)
#define ActRcvFilShaGrpCla	(ActShoExaAnn + 282)
#define ActExpShaGrp		(ActShoExaAnn + 283)
#define ActConShaGrp		(ActShoExaAnn + 284)
#define ActZIPShaGrp		(ActShoExaAnn + 285)
#define ActReqDatShaGrp		(ActShoExaAnn + 286)
#define ActChgDatShaGrp		(ActShoExaAnn + 287)
#define ActDowShaGrp		(ActShoExaAnn + 288)

#define ActAdmAsgWrkCrs		(ActShoExaAnn + 289)

#define ActReqRemFilAsgUsr	(ActShoExaAnn + 290)
#define ActRemFilAsgUsr		(ActShoExaAnn + 291)
#define ActRemFolAsgUsr		(ActShoExaAnn + 292)
#define ActCopAsgUsr		(ActShoExaAnn + 293)
#define ActPasAsgUsr		(ActShoExaAnn + 294)
#define ActRemTreAsgUsr		(ActShoExaAnn + 295)
#define ActFrmCreAsgUsr		(ActShoExaAnn + 296)
#define ActCreFolAsgUsr		(ActShoExaAnn + 297)
#define ActCreLnkAsgUsr		(ActShoExaAnn + 298)
#define ActRenFolAsgUsr		(ActShoExaAnn + 299)
#define ActRcvFilAsgUsrDZ	(ActShoExaAnn + 300)
#define ActRcvFilAsgUsrCla	(ActShoExaAnn + 301)
#define ActExpAsgUsr		(ActShoExaAnn + 302)
#define ActConAsgUsr		(ActShoExaAnn + 303)
#define ActZIPAsgUsr		(ActShoExaAnn + 304)
#define ActReqDatAsgUsr		(ActShoExaAnn + 305)
#define ActChgDatAsgUsr		(ActShoExaAnn + 306)
#define ActDowAsgUsr		(ActShoExaAnn + 307)

#define ActReqRemFilWrkUsr	(ActShoExaAnn + 308)
#define ActRemFilWrkUsr		(ActShoExaAnn + 309)
#define ActRemFolWrkUsr		(ActShoExaAnn + 310)
#define ActCopWrkUsr		(ActShoExaAnn + 311)
#define ActPasWrkUsr		(ActShoExaAnn + 312)
#define ActRemTreWrkUsr		(ActShoExaAnn + 313)
#define ActFrmCreWrkUsr		(ActShoExaAnn + 314)
#define ActCreFolWrkUsr		(ActShoExaAnn + 315)
#define ActCreLnkWrkUsr		(ActShoExaAnn + 316)
#define ActRenFolWrkUsr		(ActShoExaAnn + 317)
#define ActRcvFilWrkUsrDZ	(ActShoExaAnn + 318)
#define ActRcvFilWrkUsrCla	(ActShoExaAnn + 319)
#define ActExpWrkUsr		(ActShoExaAnn + 320)
#define ActConWrkUsr		(ActShoExaAnn + 321)
#define ActZIPWrkUsr		(ActShoExaAnn + 322)
#define ActReqDatWrkUsr		(ActShoExaAnn + 323)
#define ActChgDatWrkUsr		(ActShoExaAnn + 324)
#define ActDowWrkUsr		(ActShoExaAnn + 325)

#define ActReqRemFilAsgCrs	(ActShoExaAnn + 326)
#define ActRemFilAsgCrs		(ActShoExaAnn + 327)
#define ActRemFolAsgCrs		(ActShoExaAnn + 328)
#define ActCopAsgCrs		(ActShoExaAnn + 329)
#define ActPasAsgCrs		(ActShoExaAnn + 330)
#define ActRemTreAsgCrs		(ActShoExaAnn + 331)
#define ActFrmCreAsgCrs		(ActShoExaAnn + 332)
#define ActCreFolAsgCrs		(ActShoExaAnn + 333)
#define ActCreLnkAsgCrs		(ActShoExaAnn + 334)
#define ActRenFolAsgCrs		(ActShoExaAnn + 335)
#define ActRcvFilAsgCrsDZ	(ActShoExaAnn + 336)
#define ActRcvFilAsgCrsCla	(ActShoExaAnn + 337)
#define ActExpAsgCrs		(ActShoExaAnn + 338)
#define ActConAsgCrs		(ActShoExaAnn + 339)
#define ActZIPAsgCrs		(ActShoExaAnn + 340)
#define ActReqDatAsgCrs		(ActShoExaAnn + 341)
#define ActChgDatAsgCrs		(ActShoExaAnn + 342)
#define ActDowAsgCrs		(ActShoExaAnn + 343)

#define ActReqRemFilWrkCrs	(ActShoExaAnn + 344)
#define ActRemFilWrkCrs		(ActShoExaAnn + 345)
#define ActRemFolWrkCrs		(ActShoExaAnn + 346)
#define ActCopWrkCrs		(ActShoExaAnn + 347)
#define ActPasWrkCrs		(ActShoExaAnn + 348)
#define ActRemTreWrkCrs		(ActShoExaAnn + 349)
#define ActFrmCreWrkCrs		(ActShoExaAnn + 350)
#define ActCreFolWrkCrs		(ActShoExaAnn + 351)
#define ActCreLnkWrkCrs		(ActShoExaAnn + 352)
#define ActRenFolWrkCrs		(ActShoExaAnn + 353)
#define ActRcvFilWrkCrsDZ	(ActShoExaAnn + 354)
#define ActRcvFilWrkCrsCla	(ActShoExaAnn + 355)
#define ActExpWrkCrs		(ActShoExaAnn + 356)
#define ActConWrkCrs		(ActShoExaAnn + 357)
#define ActZIPWrkCrs		(ActShoExaAnn + 358)
#define ActReqDatWrkCrs		(ActShoExaAnn + 359)
#define ActChgDatWrkCrs		(ActShoExaAnn + 360)
#define ActDowWrkCrs		(ActShoExaAnn + 361)

#define ActChgToSeeMrk		(ActShoExaAnn + 362)

#define ActSeeMrkCrs		(ActShoExaAnn + 363)
#define ActExpSeeMrkCrs		(ActShoExaAnn + 364)
#define ActConSeeMrkCrs		(ActShoExaAnn + 365)
#define ActReqDatSeeMrkCrs	(ActShoExaAnn + 366)
#define ActSeeMyMrkCrs		(ActShoExaAnn + 367)

#define ActSeeMrkGrp		(ActShoExaAnn + 368)
#define ActExpSeeMrkGrp		(ActShoExaAnn + 369)
#define ActConSeeMrkGrp		(ActShoExaAnn + 370)
#define ActReqDatSeeMrkGrp	(ActShoExaAnn + 371)
#define ActSeeMyMrkGrp		(ActShoExaAnn + 372)

#define ActChgToAdmMrk		(ActShoExaAnn + 373)

#define ActAdmMrkCrs		(ActShoExaAnn + 374)
#define ActReqRemFilMrkCrs	(ActShoExaAnn + 375)
#define ActRemFilMrkCrs		(ActShoExaAnn + 376)
#define ActRemFolMrkCrs		(ActShoExaAnn + 377)
#define ActCopMrkCrs		(ActShoExaAnn + 378)
#define ActPasMrkCrs		(ActShoExaAnn + 379)
#define ActRemTreMrkCrs		(ActShoExaAnn + 380)
#define ActFrmCreMrkCrs		(ActShoExaAnn + 381)
#define ActCreFolMrkCrs		(ActShoExaAnn + 382)
#define ActRenFolMrkCrs		(ActShoExaAnn + 383)
#define ActRcvFilMrkCrsDZ	(ActShoExaAnn + 384)
#define ActRcvFilMrkCrsCla	(ActShoExaAnn + 385)
#define ActExpAdmMrkCrs		(ActShoExaAnn + 386)
#define ActConAdmMrkCrs		(ActShoExaAnn + 387)
#define ActZIPAdmMrkCrs		(ActShoExaAnn + 388)
#define ActShoMrkCrs		(ActShoExaAnn + 389)
#define ActHidMrkCrs		(ActShoExaAnn + 390)
#define ActReqDatAdmMrkCrs	(ActShoExaAnn + 391)
#define ActChgDatAdmMrkCrs	(ActShoExaAnn + 392)
#define ActDowAdmMrkCrs		(ActShoExaAnn + 393)
#define ActChgNumRowHeaCrs	(ActShoExaAnn + 394)
#define ActChgNumRowFooCrs	(ActShoExaAnn + 395)

#define ActAdmMrkGrp		(ActShoExaAnn + 396)
#define ActReqRemFilMrkGrp	(ActShoExaAnn + 397)
#define ActRemFilMrkGrp		(ActShoExaAnn + 398)
#define ActRemFolMrkGrp		(ActShoExaAnn + 399)
#define ActCopMrkGrp		(ActShoExaAnn + 400)
#define ActPasMrkGrp		(ActShoExaAnn + 401)
#define ActRemTreMrkGrp		(ActShoExaAnn + 402)
#define ActFrmCreMrkGrp		(ActShoExaAnn + 403)
#define ActCreFolMrkGrp		(ActShoExaAnn + 404)
#define ActRenFolMrkGrp		(ActShoExaAnn + 405)
#define ActRcvFilMrkGrpDZ	(ActShoExaAnn + 406)
#define ActRcvFilMrkGrpCla	(ActShoExaAnn + 407)
#define ActExpAdmMrkGrp		(ActShoExaAnn + 408)
#define ActConAdmMrkGrp		(ActShoExaAnn + 409)
#define ActZIPAdmMrkGrp		(ActShoExaAnn + 410)
#define ActShoMrkGrp		(ActShoExaAnn + 411)
#define ActHidMrkGrp		(ActShoExaAnn + 412)
#define ActReqDatAdmMrkGrp	(ActShoExaAnn + 413)
#define ActChgDatAdmMrkGrp	(ActShoExaAnn + 414)
#define ActDowAdmMrkGrp		(ActShoExaAnn + 415)
#define ActChgNumRowHeaGrp	(ActShoExaAnn + 416)
#define ActChgNumRowFooGrp	(ActShoExaAnn + 417)

#define ActReqRemFilBrf		(ActShoExaAnn + 418)
#define ActRemFilBrf		(ActShoExaAnn + 419)
#define ActRemFolBrf		(ActShoExaAnn + 420)
#define ActCopBrf		(ActShoExaAnn + 421)
#define ActPasBrf		(ActShoExaAnn + 422)
#define ActRemTreBrf		(ActShoExaAnn + 423)
#define ActFrmCreBrf		(ActShoExaAnn + 424)
#define ActCreFolBrf		(ActShoExaAnn + 425)
#define ActCreLnkBrf		(ActShoExaAnn + 426)
#define ActRenFolBrf		(ActShoExaAnn + 427)
#define ActRcvFilBrfDZ		(ActShoExaAnn + 428)
#define ActRcvFilBrfCla		(ActShoExaAnn + 429)
#define ActExpBrf		(ActShoExaAnn + 430)
#define ActConBrf		(ActShoExaAnn + 431)
#define ActZIPBrf		(ActShoExaAnn + 432)
#define ActReqDatBrf		(ActShoExaAnn + 433)
#define ActChgDatBrf		(ActShoExaAnn + 434)
#define ActDowBrf		(ActShoExaAnn + 435)
#define ActReqRemOldBrf		(ActShoExaAnn + 436)
#define ActRemOldBrf		(ActShoExaAnn + 437)

/*****************************************************************************/
/******************************* Users tab ***********************************/
/*****************************************************************************/
// Actions in menu
#define ActReqSelGrp		(ActRemOldBrf +   1)
#define ActLstStd		(ActRemOldBrf +   2)
#define ActLstTch		(ActRemOldBrf +   3)
#define ActLstOth		(ActRemOldBrf +   4)
#define ActSeeAtt		(ActRemOldBrf +   5)
#define ActReqSignUp		(ActRemOldBrf +   6)
#define ActSeeSignUpReq		(ActRemOldBrf +   7)
#define ActLstCon		(ActRemOldBrf +   8)

// Secondary actions
#define ActChgGrp		(ActRemOldBrf +   9)
#define ActReqEdiGrp		(ActRemOldBrf +  10)
#define ActNewGrpTyp		(ActRemOldBrf +  11)
#define ActReqRemGrpTyp		(ActRemOldBrf +  12)
#define ActRemGrpTyp		(ActRemOldBrf +  13)
#define ActRenGrpTyp		(ActRemOldBrf +  14)
#define ActChgMdtGrpTyp		(ActRemOldBrf +  15)
#define ActChgMulGrpTyp		(ActRemOldBrf +  16)
#define ActChgTimGrpTyp		(ActRemOldBrf +  17)
#define ActNewGrp		(ActRemOldBrf +  18)
#define ActReqRemGrp		(ActRemOldBrf +  19)
#define ActRemGrp		(ActRemOldBrf +  20)
#define ActOpeGrp		(ActRemOldBrf +  21)
#define ActCloGrp		(ActRemOldBrf +  22)
#define ActEnaFilZonGrp		(ActRemOldBrf +  23)
#define ActDisFilZonGrp		(ActRemOldBrf +  24)
#define ActChgGrpTyp		(ActRemOldBrf +  25)
#define ActRenGrp		(ActRemOldBrf +  26)
#define ActChgGrpCla		(ActRemOldBrf +  27)
#define ActChgMaxStdGrp		(ActRemOldBrf +  28)

#define ActLstGst		(ActRemOldBrf +  29)

#define ActPrnGstPho		(ActRemOldBrf +  30)
#define ActPrnStdPho		(ActRemOldBrf +  31)
#define ActPrnTchPho		(ActRemOldBrf +  32)
#define ActLstGstAll		(ActRemOldBrf +  33)
#define ActLstStdAll		(ActRemOldBrf +  34)
#define ActLstTchAll		(ActRemOldBrf +  35)

#define ActSeeRecOneStd		(ActRemOldBrf +  36)
#define ActSeeRecOneTch		(ActRemOldBrf +  37)
#define ActDoActOnSevGst	(ActRemOldBrf +  38)
#define ActDoActOnSevStd	(ActRemOldBrf +  39)
#define ActDoActOnSevTch	(ActRemOldBrf +  40)
#define ActSeeRecSevGst		(ActRemOldBrf +  41)
#define ActSeeRecSevStd		(ActRemOldBrf +  42)
#define ActSeeRecSevTch		(ActRemOldBrf +  43)
#define ActPrnRecSevGst		(ActRemOldBrf +  44)
#define ActPrnRecSevStd		(ActRemOldBrf +  45)
#define ActPrnRecSevTch		(ActRemOldBrf +  46)
#define ActRcvRecOthUsr		(ActRemOldBrf +  47)
#define ActEdiRecFie		(ActRemOldBrf +  48)
#define ActNewFie		(ActRemOldBrf +  49)
#define ActReqRemFie		(ActRemOldBrf +  50)
#define ActRemFie		(ActRemOldBrf +  51)
#define ActRenFie		(ActRemOldBrf +  52)
#define ActChgRowFie		(ActRemOldBrf +  53)
#define ActChgVisFie		(ActRemOldBrf +  54)
#define ActRcvRecCrs		(ActRemOldBrf +  55)

#define ActFrmLogInUsrAgd	(ActRemOldBrf +  56)
#define ActLogInUsrAgd		(ActRemOldBrf +  57)
#define ActLogInUsrAgdLan	(ActRemOldBrf +  58)
#define ActSeeUsrAgd		(ActRemOldBrf +  59)

#define ActReqEnrSevStd		(ActRemOldBrf +  60)
#define ActReqEnrSevNET		(ActRemOldBrf +  61)
#define ActReqEnrSevTch		(ActRemOldBrf +  62)

#define ActReqLstUsrAtt		(ActRemOldBrf +  63)
#define ActSeeLstMyAtt		(ActRemOldBrf +  64)
#define ActPrnLstMyAtt		(ActRemOldBrf +  65)
#define ActSeeLstUsrAtt		(ActRemOldBrf +  66)
#define ActPrnLstUsrAtt		(ActRemOldBrf +  67)
#define ActFrmNewAtt		(ActRemOldBrf +  68)
#define ActEdiOneAtt		(ActRemOldBrf +  69)
#define ActNewAtt		(ActRemOldBrf +  70)
#define ActChgAtt		(ActRemOldBrf +  71)
#define ActReqRemAtt		(ActRemOldBrf +  72)
#define ActRemAtt		(ActRemOldBrf +  73)
#define ActHidAtt		(ActRemOldBrf +  74)
#define ActShoAtt		(ActRemOldBrf +  75)
#define ActSeeOneAtt		(ActRemOldBrf +  76)
#define ActRecAttStd		(ActRemOldBrf +  77)
#define ActRecAttMe		(ActRemOldBrf +  78)

#define ActSignUp		(ActRemOldBrf +  79)
#define ActUpdSignUpReq		(ActRemOldBrf +  80)
#define ActReqRejSignUp		(ActRemOldBrf +  81)
#define ActRejSignUp		(ActRemOldBrf +  82)

#define ActReqMdfOneOth		(ActRemOldBrf +  83)
#define ActReqMdfOneStd		(ActRemOldBrf +  84)
#define ActReqMdfOneTch		(ActRemOldBrf +  85)

#define ActReqMdfOth		(ActRemOldBrf +  86)
#define ActReqMdfStd		(ActRemOldBrf +  87)
#define ActReqMdfNET		(ActRemOldBrf +  88)
#define ActReqMdfTch		(ActRemOldBrf +  89)

#define ActReqOthPho		(ActRemOldBrf +  90)
#define ActReqStdPho		(ActRemOldBrf +  91)
#define ActReqTchPho		(ActRemOldBrf +  92)
#define ActDetOthPho		(ActRemOldBrf +  93)
#define ActDetStdPho		(ActRemOldBrf +  94)
#define ActDetTchPho		(ActRemOldBrf +  95)
#define ActUpdOthPho		(ActRemOldBrf +  96)
#define ActUpdStdPho		(ActRemOldBrf +  97)
#define ActUpdTchPho		(ActRemOldBrf +  98)
#define ActReqRemOthPho		(ActRemOldBrf +  99)
#define ActReqRemStdPho		(ActRemOldBrf + 100)
#define ActReqRemTchPho		(ActRemOldBrf + 101)
#define ActRemOthPho		(ActRemOldBrf + 102)
#define ActRemStdPho		(ActRemOldBrf + 103)
#define ActRemTchPho		(ActRemOldBrf + 104)
#define ActCreOth		(ActRemOldBrf + 105)
#define ActCreStd		(ActRemOldBrf + 106)
#define ActCreNET		(ActRemOldBrf + 107)
#define ActCreTch		(ActRemOldBrf + 108)
#define ActUpdOth		(ActRemOldBrf + 109)
#define ActUpdStd		(ActRemOldBrf + 110)
#define ActUpdNET		(ActRemOldBrf + 111)
#define ActUpdTch		(ActRemOldBrf + 112)

#define ActReqAccEnrStd		(ActRemOldBrf + 113)
#define ActReqAccEnrNET		(ActRemOldBrf + 114)
#define ActReqAccEnrTch		(ActRemOldBrf + 115)
#define ActAccEnrStd		(ActRemOldBrf + 116)
#define ActAccEnrNET		(ActRemOldBrf + 117)
#define ActAccEnrTch		(ActRemOldBrf + 118)
#define ActRemMe_Std		(ActRemOldBrf + 119)
#define ActRemMe_NET		(ActRemOldBrf + 120)
#define ActRemMe_Tch		(ActRemOldBrf + 121)

#define ActNewAdmIns		(ActRemOldBrf + 122)
#define ActRemAdmIns		(ActRemOldBrf + 123)
#define ActNewAdmCtr		(ActRemOldBrf + 124)
#define ActRemAdmCtr		(ActRemOldBrf + 125)
#define ActNewAdmDeg		(ActRemOldBrf + 126)
#define ActRemAdmDeg		(ActRemOldBrf + 127)

#define ActRcvFrmEnrSevStd	(ActRemOldBrf + 128)
#define ActRcvFrmEnrSevNET	(ActRemOldBrf + 129)
#define ActRcvFrmEnrSevTch	(ActRemOldBrf + 130)

#define ActCnfID_Oth		(ActRemOldBrf + 131)
#define ActCnfID_Std		(ActRemOldBrf + 132)
#define ActCnfID_Tch		(ActRemOldBrf + 133)

#define ActFrmAccOth		(ActRemOldBrf + 134)
#define ActFrmAccStd		(ActRemOldBrf + 135)
#define ActFrmAccTch		(ActRemOldBrf + 136)

#define ActRemOldNicOth		(ActRemOldBrf + 137)
#define ActRemOldNicStd		(ActRemOldBrf + 138)
#define ActRemOldNicTch		(ActRemOldBrf + 139)
#define ActChgNicOth		(ActRemOldBrf + 140)
#define ActChgNicStd		(ActRemOldBrf + 141)
#define ActChgNicTch		(ActRemOldBrf + 142)

#define ActRemID_Oth		(ActRemOldBrf + 143)
#define ActRemID_Std		(ActRemOldBrf + 144)
#define ActRemID_Tch		(ActRemOldBrf + 145)
#define ActNewID_Oth		(ActRemOldBrf + 146)
#define ActNewID_Std		(ActRemOldBrf + 147)
#define ActNewID_Tch		(ActRemOldBrf + 148)
#define ActChgPwdOth		(ActRemOldBrf + 149)
#define ActChgPwdStd		(ActRemOldBrf + 150)
#define ActChgPwdTch		(ActRemOldBrf + 151)
#define ActRemMaiOth		(ActRemOldBrf + 152)
#define ActRemMaiStd		(ActRemOldBrf + 153)
#define ActRemMaiTch		(ActRemOldBrf + 154)
#define ActNewMaiOth		(ActRemOldBrf + 155)
#define ActNewMaiStd		(ActRemOldBrf + 156)
#define ActNewMaiTch		(ActRemOldBrf + 157)

#define ActRemStdCrs		(ActRemOldBrf + 158)
#define ActRemNETCrs		(ActRemOldBrf + 159)
#define ActRemTchCrs		(ActRemOldBrf + 160)
#define ActRemUsrGbl		(ActRemOldBrf + 161)

#define ActReqRemAllStdCrs	(ActRemOldBrf + 162)
#define ActRemAllStdCrs		(ActRemOldBrf + 163)

#define ActReqRemOldUsr		(ActRemOldBrf + 164)
#define ActRemOldUsr		(ActRemOldBrf + 165)

#define ActLstDupUsr		(ActRemOldBrf + 166)
#define ActLstSimUsr		(ActRemOldBrf + 167)
#define ActRemDupUsr		(ActRemOldBrf + 168)

#define ActReqFolSevStd		(ActRemOldBrf + 169)
#define ActReqFolSevTch		(ActRemOldBrf + 170)
#define ActReqUnfSevStd		(ActRemOldBrf + 171)
#define ActReqUnfSevTch		(ActRemOldBrf + 172)
#define ActFolSevStd		(ActRemOldBrf + 173)
#define ActFolSevTch		(ActRemOldBrf + 174)
#define ActUnfSevStd		(ActRemOldBrf + 175)
#define ActUnfSevTch		(ActRemOldBrf + 176)

/*****************************************************************************/
/******************************* Messages tab ********************************/
/*****************************************************************************/
// Actions in menu
#define ActSeeAnn		(ActUnfSevTch +   1)
#define ActSeeAllNot		(ActUnfSevTch +   2)
#define ActSeeFor		(ActUnfSevTch +   3)
#define ActSeeChtRms		(ActUnfSevTch +   4)
#define ActReqMsgUsr		(ActUnfSevTch +   5)
#define ActSeeRcvMsg		(ActUnfSevTch +   6)
#define ActSeeSntMsg		(ActUnfSevTch +   7)
#define ActReqMaiUsr		(ActUnfSevTch +   8)
// Secondary actions
#define ActWriAnn		(ActUnfSevTch +   9)
#define ActRcvAnn		(ActUnfSevTch +  10)
#define ActHidAnn		(ActUnfSevTch +  11)
#define ActRevAnn		(ActUnfSevTch +  12)
#define ActRemAnn		(ActUnfSevTch +  13)
#define ActSeeOneNot		(ActUnfSevTch +  14)
#define ActWriNot		(ActUnfSevTch +  15)
#define ActRcvNot		(ActUnfSevTch +  16)
#define ActHidNot		(ActUnfSevTch +  17)
#define ActRevNot		(ActUnfSevTch +  18)
#define ActReqRemNot		(ActUnfSevTch +  19)
#define ActRemNot		(ActUnfSevTch +  20)

#define ActSeeForCrsUsr		(ActUnfSevTch +  21)
#define ActSeeForCrsTch		(ActUnfSevTch +  22)
#define ActSeeForDegUsr		(ActUnfSevTch +  23)
#define ActSeeForDegTch		(ActUnfSevTch +  24)
#define ActSeeForCtrUsr		(ActUnfSevTch +  25)
#define ActSeeForCtrTch		(ActUnfSevTch +  26)
#define ActSeeForInsUsr		(ActUnfSevTch +  27)
#define ActSeeForInsTch		(ActUnfSevTch +  28)
#define ActSeeForGenUsr		(ActUnfSevTch +  29)
#define ActSeeForGenTch		(ActUnfSevTch +  30)
#define ActSeeForSWAUsr		(ActUnfSevTch +  31)
#define ActSeeForSWATch		(ActUnfSevTch +  32)
#define ActSeePstForCrsUsr	(ActUnfSevTch +  33)
#define ActSeePstForCrsTch	(ActUnfSevTch +  34)
#define ActSeePstForDegUsr	(ActUnfSevTch +  35)
#define ActSeePstForDegTch	(ActUnfSevTch +  36)
#define ActSeePstForCtrUsr	(ActUnfSevTch +  37)
#define ActSeePstForCtrTch	(ActUnfSevTch +  38)
#define ActSeePstForInsUsr	(ActUnfSevTch +  39)
#define ActSeePstForInsTch	(ActUnfSevTch +  40)
#define ActSeePstForGenUsr	(ActUnfSevTch +  41)
#define ActSeePstForGenTch	(ActUnfSevTch +  42)
#define ActSeePstForSWAUsr	(ActUnfSevTch +  43)
#define ActSeePstForSWATch	(ActUnfSevTch +  44)
#define ActRcvThrForCrsUsr	(ActUnfSevTch +  45)
#define ActRcvThrForCrsTch	(ActUnfSevTch +  46)
#define ActRcvThrForDegUsr	(ActUnfSevTch +  47)
#define ActRcvThrForDegTch	(ActUnfSevTch +  48)
#define ActRcvThrForCtrUsr	(ActUnfSevTch +  49)
#define ActRcvThrForCtrTch	(ActUnfSevTch +  50)
#define ActRcvThrForInsUsr	(ActUnfSevTch +  51)
#define ActRcvThrForInsTch	(ActUnfSevTch +  52)
#define ActRcvThrForGenUsr	(ActUnfSevTch +  53)
#define ActRcvThrForGenTch	(ActUnfSevTch +  54)
#define ActRcvThrForSWAUsr	(ActUnfSevTch +  55)
#define ActRcvThrForSWATch	(ActUnfSevTch +  56)
#define ActRcvRepForCrsUsr	(ActUnfSevTch +  57)
#define ActRcvRepForCrsTch	(ActUnfSevTch +  58)
#define ActRcvRepForDegUsr	(ActUnfSevTch +  59)
#define ActRcvRepForDegTch	(ActUnfSevTch +  60)
#define ActRcvRepForCtrUsr	(ActUnfSevTch +  61)
#define ActRcvRepForCtrTch	(ActUnfSevTch +  62)
#define ActRcvRepForInsUsr	(ActUnfSevTch +  63)
#define ActRcvRepForInsTch	(ActUnfSevTch +  64)
#define ActRcvRepForGenUsr	(ActUnfSevTch +  65)
#define ActRcvRepForGenTch	(ActUnfSevTch +  66)
#define ActRcvRepForSWAUsr	(ActUnfSevTch +  67)
#define ActRcvRepForSWATch	(ActUnfSevTch +  68)
#define ActReqDelThrCrsUsr	(ActUnfSevTch +  69)
#define ActReqDelThrCrsTch	(ActUnfSevTch +  70)
#define ActReqDelThrDegUsr	(ActUnfSevTch +  71)
#define ActReqDelThrDegTch	(ActUnfSevTch +  72)
#define ActReqDelThrCtrUsr	(ActUnfSevTch +  73)
#define ActReqDelThrCtrTch	(ActUnfSevTch +  74)
#define ActReqDelThrInsUsr	(ActUnfSevTch +  75)
#define ActReqDelThrInsTch	(ActUnfSevTch +  76)
#define ActReqDelThrGenUsr	(ActUnfSevTch +  77)
#define ActReqDelThrGenTch	(ActUnfSevTch +  78)
#define ActReqDelThrSWAUsr	(ActUnfSevTch +  79)
#define ActReqDelThrSWATch	(ActUnfSevTch +  80)
#define ActDelThrForCrsUsr	(ActUnfSevTch +  81)
#define ActDelThrForCrsTch	(ActUnfSevTch +  82)
#define ActDelThrForDegUsr	(ActUnfSevTch +  83)
#define ActDelThrForDegTch	(ActUnfSevTch +  84)
#define ActDelThrForCtrUsr	(ActUnfSevTch +  85)
#define ActDelThrForCtrTch	(ActUnfSevTch +  86)
#define ActDelThrForInsUsr	(ActUnfSevTch +  87)
#define ActDelThrForInsTch	(ActUnfSevTch +  88)
#define ActDelThrForGenUsr	(ActUnfSevTch +  89)
#define ActDelThrForGenTch	(ActUnfSevTch +  90)
#define ActDelThrForSWAUsr	(ActUnfSevTch +  91)
#define ActDelThrForSWATch	(ActUnfSevTch +  92)
#define ActCutThrForCrsUsr	(ActUnfSevTch +  93)
#define ActCutThrForCrsTch	(ActUnfSevTch +  94)
#define ActCutThrForDegUsr	(ActUnfSevTch +  95)
#define ActCutThrForDegTch	(ActUnfSevTch +  96)
#define ActCutThrForCtrUsr	(ActUnfSevTch +  97)
#define ActCutThrForCtrTch	(ActUnfSevTch +  98)
#define ActCutThrForInsUsr	(ActUnfSevTch +  99)
#define ActCutThrForInsTch	(ActUnfSevTch + 100)
#define ActCutThrForGenUsr	(ActUnfSevTch + 101)
#define ActCutThrForGenTch	(ActUnfSevTch + 102)
#define ActCutThrForSWAUsr	(ActUnfSevTch + 103)
#define ActCutThrForSWATch	(ActUnfSevTch + 104)
#define ActPasThrForCrsUsr	(ActUnfSevTch + 105)
#define ActPasThrForCrsTch	(ActUnfSevTch + 106)
#define ActPasThrForDegUsr	(ActUnfSevTch + 107)
#define ActPasThrForDegTch	(ActUnfSevTch + 108)
#define ActPasThrForCtrUsr	(ActUnfSevTch + 109)
#define ActPasThrForCtrTch	(ActUnfSevTch + 110)
#define ActPasThrForInsUsr	(ActUnfSevTch + 111)
#define ActPasThrForInsTch	(ActUnfSevTch + 112)
#define ActPasThrForGenUsr	(ActUnfSevTch + 113)
#define ActPasThrForGenTch	(ActUnfSevTch + 114)
#define ActPasThrForSWAUsr	(ActUnfSevTch + 115)
#define ActPasThrForSWATch	(ActUnfSevTch + 116)
#define ActDelPstForCrsUsr	(ActUnfSevTch + 117)
#define ActDelPstForCrsTch	(ActUnfSevTch + 118)
#define ActDelPstForDegUsr	(ActUnfSevTch + 119)
#define ActDelPstForDegTch	(ActUnfSevTch + 120)
#define ActDelPstForCtrUsr	(ActUnfSevTch + 121)
#define ActDelPstForCtrTch	(ActUnfSevTch + 122)
#define ActDelPstForInsUsr	(ActUnfSevTch + 123)
#define ActDelPstForInsTch	(ActUnfSevTch + 124)
#define ActDelPstForGenUsr	(ActUnfSevTch + 125)
#define ActDelPstForGenTch	(ActUnfSevTch + 126)
#define ActDelPstForSWAUsr	(ActUnfSevTch + 127)
#define ActDelPstForSWATch	(ActUnfSevTch + 128)
#define ActEnbPstForCrsUsr	(ActUnfSevTch + 129)
#define ActEnbPstForCrsTch	(ActUnfSevTch + 130)
#define ActEnbPstForDegUsr	(ActUnfSevTch + 131)
#define ActEnbPstForDegTch	(ActUnfSevTch + 132)
#define ActEnbPstForCtrUsr	(ActUnfSevTch + 133)
#define ActEnbPstForCtrTch	(ActUnfSevTch + 134)
#define ActEnbPstForInsUsr	(ActUnfSevTch + 135)
#define ActEnbPstForInsTch	(ActUnfSevTch + 136)
#define ActEnbPstForGenUsr	(ActUnfSevTch + 137)
#define ActEnbPstForGenTch	(ActUnfSevTch + 138)
#define ActEnbPstForSWAUsr	(ActUnfSevTch + 139)
#define ActEnbPstForSWATch	(ActUnfSevTch + 140)
#define ActDisPstForCrsUsr	(ActUnfSevTch + 141)
#define ActDisPstForCrsTch	(ActUnfSevTch + 142)
#define ActDisPstForDegUsr	(ActUnfSevTch + 143)
#define ActDisPstForDegTch	(ActUnfSevTch + 144)
#define ActDisPstForCtrUsr	(ActUnfSevTch + 145)
#define ActDisPstForCtrTch	(ActUnfSevTch + 146)
#define ActDisPstForInsUsr	(ActUnfSevTch + 147)
#define ActDisPstForInsTch	(ActUnfSevTch + 148)
#define ActDisPstForGenUsr	(ActUnfSevTch + 149)
#define ActDisPstForGenTch	(ActUnfSevTch + 150)
#define ActDisPstForSWAUsr	(ActUnfSevTch + 151)
#define ActDisPstForSWATch	(ActUnfSevTch + 152)

#define ActCht			(ActUnfSevTch + 153)

#define ActRcvMsgUsr		(ActUnfSevTch + 154)
#define ActReqDelAllSntMsg	(ActUnfSevTch + 155)
#define ActReqDelAllRcvMsg	(ActUnfSevTch + 156)
#define ActDelAllSntMsg		(ActUnfSevTch + 157)
#define ActDelAllRcvMsg		(ActUnfSevTch + 158)
#define ActDelSntMsg		(ActUnfSevTch + 159)
#define ActDelRcvMsg		(ActUnfSevTch + 160)
#define ActExpSntMsg		(ActUnfSevTch + 161)
#define ActExpRcvMsg		(ActUnfSevTch + 162)
#define ActConSntMsg		(ActUnfSevTch + 163)
#define ActConRcvMsg		(ActUnfSevTch + 164)
#define ActLstBanUsr		(ActUnfSevTch + 165)
#define ActBanUsrMsg		(ActUnfSevTch + 166)
#define ActUnbUsrMsg		(ActUnfSevTch + 167)
#define ActUnbUsrLst		(ActUnfSevTch + 168)

#define ActMaiUsr		(ActUnfSevTch + 169)

/*****************************************************************************/
/****************************** Statistics tab *******************************/
/*****************************************************************************/
// Actions in menu
#define ActReqUseGbl		(ActMaiUsr +  1)
#define ActSeePhoDeg		(ActMaiUsr +  2)
#define ActReqStaCrs		(ActMaiUsr +  3)
#define ActReqAccGbl		(ActMaiUsr +  4)
#define ActReqMyUsgRep		(ActMaiUsr +  5)
#define ActMFUAct		(ActMaiUsr +  6)

// Secondary actions
#define ActSeeUseGbl		(ActMaiUsr +  7)
#define ActPrnPhoDeg		(ActMaiUsr +  8)
#define ActCalPhoDeg		(ActMaiUsr +  9)
#define ActSeeAccGbl		(ActMaiUsr + 10)
#define ActReqAccCrs		(ActMaiUsr + 11)
#define ActSeeAccCrs		(ActMaiUsr + 12)
#define ActSeeAllStaCrs		(ActMaiUsr + 13)

#define ActLstClk		(ActMaiUsr + 14)

#define ActSeeMyUsgRep		(ActMaiUsr + 15)

/*****************************************************************************/
/******************************** Profile tab ********************************/
/*****************************************************************************/
// Actions in menu
#define ActFrmRolSes		(ActSeeMyUsgRep +  1)
#define ActMyCrs		(ActSeeMyUsgRep +  2)
#define ActSeeMyTT		(ActSeeMyUsgRep +  3)
#define ActSeeMyAgd		(ActSeeMyUsgRep +  4)
#define ActFrmMyAcc		(ActSeeMyUsgRep +  5)
#define ActReqEdiRecSha		(ActSeeMyUsgRep +  6)
#define ActReqEdiSet		(ActSeeMyUsgRep +  7)
// Secondary actions
#define ActChgMyRol		(ActSeeMyUsgRep +  8)
#define ActFrmNewEvtMyAgd	(ActSeeMyUsgRep +  9)
#define ActEdiOneEvtMyAgd	(ActSeeMyUsgRep + 10)
#define ActNewEvtMyAgd		(ActSeeMyUsgRep + 11)
#define ActChgEvtMyAgd		(ActSeeMyUsgRep + 12)
#define ActReqRemEvtMyAgd	(ActSeeMyUsgRep + 13)
#define ActRemEvtMyAgd		(ActSeeMyUsgRep + 14)
#define ActHidEvtMyAgd		(ActSeeMyUsgRep + 15)
#define ActShoEvtMyAgd		(ActSeeMyUsgRep + 16)
#define ActPrvEvtMyAgd		(ActSeeMyUsgRep + 17)
#define ActPubEvtMyAgd		(ActSeeMyUsgRep + 18)
#define ActPrnAgdQR		(ActSeeMyUsgRep + 19)

#define ActChkUsrAcc		(ActSeeMyUsgRep + 20)
#define ActCreUsrAcc		(ActSeeMyUsgRep + 21)
#define ActRemMyID		(ActSeeMyUsgRep + 22)
#define ActChgMyID		(ActSeeMyUsgRep + 23)
#define ActRemMyNck		(ActSeeMyUsgRep + 24)
#define ActChgMyNck		(ActSeeMyUsgRep + 25)
#define ActRemMyMai		(ActSeeMyUsgRep + 26)
#define ActChgMyMai		(ActSeeMyUsgRep + 27)
#define ActCnfMai		(ActSeeMyUsgRep + 28)
#define ActChgMyPwd		(ActSeeMyUsgRep + 29)
#define ActReqRemMyAcc		(ActSeeMyUsgRep + 30)
#define ActRemMyAcc		(ActSeeMyUsgRep + 31)

#define ActChgMyData		(ActSeeMyUsgRep + 32)

#define ActReqMyPho		(ActSeeMyUsgRep + 33)
#define ActDetMyPho		(ActSeeMyUsgRep + 34)
#define ActUpdMyPho		(ActSeeMyUsgRep + 35)
#define ActReqRemMyPho		(ActSeeMyUsgRep + 36)
#define ActRemMyPho		(ActSeeMyUsgRep + 37)

#define ActChgCtyMyIns		(ActSeeMyUsgRep + 38)
#define ActChgMyIns		(ActSeeMyUsgRep + 39)
#define ActChgMyCtr		(ActSeeMyUsgRep + 40)
#define ActChgMyDpt		(ActSeeMyUsgRep + 41)
#define ActChgMyOff		(ActSeeMyUsgRep + 42)
#define ActChgMyOffPho		(ActSeeMyUsgRep + 43)

#define ActReqEdiMyNet		(ActSeeMyUsgRep + 44)
#define ActChgMyNet		(ActSeeMyUsgRep + 45)

#define ActChgThe		(ActSeeMyUsgRep + 46)
#define ActReqChgLan		(ActSeeMyUsgRep + 47)
#define ActChgLan		(ActSeeMyUsgRep + 48)
#define ActChg1stDay		(ActSeeMyUsgRep + 49)
#define ActChgDatFmt		(ActSeeMyUsgRep + 50)
#define ActChgCol		(ActSeeMyUsgRep + 51)
#define ActHidLftCol		(ActSeeMyUsgRep + 52)
#define ActHidRgtCol		(ActSeeMyUsgRep + 53)
#define ActShoLftCol		(ActSeeMyUsgRep + 54)
#define ActShoRgtCol		(ActSeeMyUsgRep + 55)
#define ActChgIco		(ActSeeMyUsgRep + 56)
#define ActChgMnu		(ActSeeMyUsgRep + 57)
#define ActChgPriPho		(ActSeeMyUsgRep + 58)
#define ActChgBasPriPrf		(ActSeeMyUsgRep + 59)
#define ActChgExtPriPrf		(ActSeeMyUsgRep + 60)
#define ActChgCooPrf		(ActSeeMyUsgRep + 61)
#define ActChgNtfPrf		(ActSeeMyUsgRep + 62)

#define ActPrnUsrQR		(ActSeeMyUsgRep + 63)

#define ActPrnMyTT		(ActSeeMyUsgRep + 64)
#define ActEdiTut		(ActSeeMyUsgRep + 65)
#define ActChgTut		(ActSeeMyUsgRep + 66)
#define ActChgMyTT1stDay	(ActSeeMyUsgRep + 67)

/*****************************************************************************/
/******************************** Public types *******************************/
/*****************************************************************************/

struct Act_Tabs
  {
   char *Icon;
  };

struct Act_Actions
  {
   long ActCod;	// Unique, time-persistent numerical code for the action
   signed int IndexInMenu;
   Tab_Tab_t Tab;
   Act_Action_t SuperAction;
   unsigned PermissionCrsIfIBelong;
   unsigned PermissionCrsIfIDontBelong;
   unsigned PermissionDeg;
   unsigned PermissionCtr;
   unsigned PermissionIns;
   unsigned PermissionCty;
   unsigned PermissionSys;
   Act_Content_t ContentType;
   Act_BrowserTab_t BrowserTab;
   void (*FunctionPriori) ();
   void (*FunctionPosteriori) ();
   const char *Icon;
  };

/*****************************************************************************/
/***************************** Public prototypes *****************************/
/*****************************************************************************/

Act_Action_t Act_GetActionFromActCod (long ActCod);
long Act_GetActCod (Act_Action_t Action);
signed int Act_GetIndexInMenu (Act_Action_t Action);
Tab_Tab_t Act_GetTab (Act_Action_t Action);
Act_Action_t Act_GetSuperAction (Act_Action_t Action);
bool Act_CheckIfIHavePermissionToExecuteAction (Act_Action_t Action);
Act_Content_t Act_GetContentType (Act_Action_t Action);
Act_BrowserTab_t Act_GetBrowserTab (Act_Action_t Action);
void (*Act_GetFunctionPriori (Act_Action_t Action)) (void);
void (*Act_GetFunctionPosteriori (Act_Action_t Action)) (void);
const char *Act_GetIcon (Act_Action_t Action);

const char *Act_GetTitleAction (Act_Action_t Action);
const char *Act_GetSubtitleAction (Act_Action_t Action);
char *Act_GetActionTextFromDB (long ActCod,
                               char ActTxt[Act_MAX_BYTES_ACTION_TXT + 1]);

void Act_AdjustActionWhenNoUsrLogged (void);
void Act_AdjustCurrentAction (void);

#endif
