#ifndef GLOBALCONSTANTS_H
#define GLOBALCONSTANTS_H


#define NMRX_CE_CONTACT_WHERE "BNMR_TABLE_1 =35 AND BNMR_TABLE_2=22 AND BNMR_TYPE=0"
#define NMRX_CE_CONTACT_WHERE_AS_K2 "K2.BNMR_TABLE_1 =35 AND K2.BNMR_TABLE_2=22 AND K2.BNMR_TYPE=0"
#define NMRX_CE_PROJECT_WHERE "BNMR_TABLE_1 =35 AND BNMR_TABLE_2=42 AND BNMR_TYPE=0"
#define NMRX_CE_PROJECT_WHERE_AS_K1 "K1.BNMR_TABLE_1 =35 AND K1.BNMR_TABLE_2=42 AND K1.BNMR_TYPE=0"
#define NMRX_CE_CONTACT_PERSON_WHERE "BNMR_TABLE_1 =35 AND (BNMR_TABLE_2=22 OR BNMR_TABLE_2=10) AND BNMR_TYPE=0"
#define NMRX_CE_RESOURCE_WHERE "BNMR_TABLE_1 =35 AND BNMR_TABLE_2=70 AND BNMR_TYPE=0"

class GlobalConstants 
{

public:

	enum CommunicationEntityTypes
	{
		CE_TYPE_VOICE_CALL=0,
		CE_TYPE_DOCUMENT=1,
		CE_TYPE_EMAIL=2,
		CE_TYPE_SMS=3,
		CE_TYPE_CALENDAR_EVENT_PART=4
	};

	enum TaskTypes	//BTKS_SYSTEM_TYPE
	{
		TASK_TYPE_NO_TYPE=0,
		TASK_TYPE_SCHEDULED_DOC=1,
		TASK_TYPE_SCHEDULED_VOICE_CALL=2,
		TASK_TYPE_SCHEDULED_EMAIL=3,
		TASK_TYPE_SCHEDULED_CALENDAR=4
	};


	enum TaskStatus //BTKS_SYSTEM_STATUS	
	{
		TASK_STATUS_NO_STATUS=0,
		TASK_STATUS_SCHEDULED=1,
		TASK_STATUS_IN_WORK=2,
		TASK_STATUS_COMPLETED=3,
		TASK_STATUS_CANCELLED=4
	};


	enum DocumentTypes //BDMD_DOC_TYPE
	{
		DOC_TYPE_LOCAL_FILE_REFERENCE=0,
		DOC_TYPE_URL=1,
		DOC_TYPE_PHYSICAL=2,
		DOC_TYPE_NOTE=3,
		DOC_TYPE_INTERNET_FILE=4
	};

	enum AppTypes //BDMA_APPLICATION_TYPE
	{
		APP_TYPE_FILE=0,
		APP_TYPE_URL=1
	};
	
	enum ContactLinkRoles //CELC_LINK_ROLE_ID-> maps to NMRX_BNMR_SYSTEM_ROLE
	{
		CONTACT_LINK_ROLE_FROM=1,
		CONTACT_LINK_ROLE_TO=2,
		CONTACT_LINK_ROLE_CC=3,
		CONTACT_LINK_ROLE_BCC=4,
		CONTACT_LINK_ROLE_DOC_OWNER=22,
		CONTACT_LINK_ROLE_VOICE_CALL_TASK_OWNER=23,
		CONTACT_LINK_ROLE_EMAIL_TASK_OWNER=24,
		CONTACT_LINK_ROLE_DOC_TASK_OWNER=25
	};

	enum EmailTypes //BDMA_APPLICATION_TYPE
	{
		EMAIL_TYPE_PLAIN_TEXT=0,
		EMAIL_TYPE_HTML=1
	};

	enum NMRX_RelationTypes 
	{
		NMRX_TYPE_ASSIGN=0,
		NMRX_TYPE_COUPLE=1
	};

	enum CalendarInviteStatus
	{
		STATUS_CAL_INVITE_NONE=0,
		STATUS_CAL_INVITE_CONFIRMED,
		STATUS_CAL_INVITE_REJECTED,
		STATUS_CAL_INVITE_ANSWERED,
	};

	enum CalendarEventType
	{
		TYPE_CAL_FIXED=0,
		TYPE_CAL_PRELIMINARY,
		TYPE_CAL_OVER,
		TYPE_CAL_CANCELLED,
	};

	enum CalendarSelectionEntityType
	{
		TYPE_CAL_USER_SELECT=0,
		TYPE_CAL_PROJECT_SELECT,
		TYPE_CAL_CONTACT_SELECT,
		TYPE_CAL_RESOURCE_SELECT,
	};
};

#endif // GLOBALCONSTANTS_H
