

var DemoWarning = '';


// defines for sections
var SECTION_LOGIN = 0;
var SECTION_MAIL = 1;
var SECTION_SETTINGS = 2;
var SECTION_CONTACTS = 3;
var SECTION_CALENDAR = 4;

// defines for screens
var SCREEN_LOGIN = 0;
var SCREEN_MESSAGES_LIST_VIEW = 1;
var SCREEN_MESSAGES_LIST = 2;
var SCREEN_VIEW_MESSAGE = 3;
var SCREEN_NEW_MESSAGE = 4;
var SCREEN_USER_SETTINGS = 5;
	var PART_COMMON_SETTINGS = 0;
	var PART_ACCOUNT_PROPERTIES = 1;
	var PART_FILTERS = 2;
	var PART_SIGNATURE = 3;
	var PART_AUTORESPONDER = 4;
	var PART_MANAGE_FOLDERS = 5;
	var PART_CONTACTS_SETTINGS = 6;
	var PART_CALENDAR_SETTINGS = 7;
var SCREEN_CONTACTS = 6;
	var PART_CONTACTS = 0;
	var PART_NEW_CONTACT = 1;
	var PART_VIEW_CONTACT = 2;
	var PART_EDIT_CONTACT = 3;
	var PART_NEW_GROUP = 4;
	var PART_VIEW_GROUP = 5;
	var PART_IMPORT_CONTACT = 6;
var SCREEN_CALENDAR = 7;

var Sections = Array();
Sections[SECTION_LOGIN] = {Scripts: [], Screens: Array()};
Sections[SECTION_MAIL] = {Scripts: [], Screens: Array()};
Sections[SECTION_MAIL].Screens[SCREEN_MESSAGES_LIST_VIEW] = 'screen = new CMessagesListViewScreen(SkinName);';
Sections[SECTION_MAIL].Screens[SCREEN_MESSAGES_LIST] = 'screen = new CMessagesListScreen(SkinName);';
Sections[SECTION_MAIL].Screens[SCREEN_VIEW_MESSAGE] = 'screen = new CViewMessageScreen(SkinName);';
Sections[SECTION_MAIL].Screens[SCREEN_NEW_MESSAGE] = 'screen = new CNewMessageScreen(SkinName);';
//Sections[SECTION_SETTINGS] = {Scripts: ['screen.user-settings.js', 'screen.common-settings.js', 'screen.accounts-settings.js', 'screen.account-properties.js', 'screen.contacts-settings.js'], Screens: Array()}
Sections[SECTION_SETTINGS] = {Scripts: [], Screens: Array()};
Sections[SECTION_SETTINGS].Screens[SCREEN_USER_SETTINGS] = 'screen = new CUserSettingsScreen(SkinName);';
//Sections[SECTION_CONTACTS] = {Scripts: ['screen.contacts.js', 'screen.view-contact.js'], Screens: Array()}
Sections[SECTION_CONTACTS] = {Scripts: [], Screens: Array()};
Sections[SECTION_CONTACTS].Screens[SCREEN_CONTACTS] = 'screen = new CContactsScreen(SkinName);';
Sections[SECTION_CALENDAR] = {Scripts: [], Screens: Array()};
Sections[SECTION_CALENDAR].Screens[SCREEN_CALENDAR] = 'screen = new CCalendarScreen(SkinName);';

var Screens = Array();
Screens[SCREEN_LOGIN] = {SectionId: SECTION_LOGIN, PreRender: true, ShowHandler: ''};
Screens[SCREEN_MESSAGES_LIST_VIEW] = {SectionId: SECTION_MAIL, PreRender: true, ShowHandler: ''};
Screens[SCREEN_MESSAGES_LIST] = {SectionId: SECTION_MAIL, PreRender: false, ShowHandler: ''};
Screens[SCREEN_VIEW_MESSAGE] = {SectionId: SECTION_MAIL, PreRender: false, ShowHandler: ''};
Screens[SCREEN_NEW_MESSAGE] = {SectionId: SECTION_MAIL, PreRender: true, ShowHandler: ''};
Screens[SCREEN_USER_SETTINGS] = {SectionId: SECTION_SETTINGS, PreRender: true, ShowHandler: ''};
Screens[SCREEN_CONTACTS] = {SectionId: SECTION_CONTACTS, PreRender: true, ShowHandler: ''};
Screens[SCREEN_CALENDAR] = {SectionId: SECTION_CALENDAR, PreRender: true, ShowHandler: ''};

// defines data types
var TYPE_BASE = 22; // includes SETTINGS_LIST, ACCOUNTS_LIST, FOLDERS_LIST, MESSAGES_LIST
var TYPE_MESSAGES_BODIES = 23; // includes MESSAGE for messages with size<=75K in last MESSAGES_LIST
var TYPE_SETTINGS_LIST = 0;
var TYPE_UPDATE = 1;
var TYPE_ACCOUNTS_LIST = 2;
var TYPE_FOLDERS_LIST = 3;
var TYPE_MESSAGES_LIST = 4;
var TYPE_MESSAGES_OPERATION = 5;
var TYPE_MESSAGE = 6;
var TYPE_USER_SETTINGS = 7;
var TYPE_ACCOUNT_PROPERTIES = 8;
var TYPE_FILTERS = 9;
var TYPE_FILTER_PROPERTIES = 10;
var TYPE_X_SPAM = 11;
var TYPE_CONTACTS_SETTINGS = 12;
var TYPE_SIGNATURE = 13;
var TYPE_AUTORESPONDER = 14;
var TYPE_FOLDERS = 15;
var TYPE_CONTACTS = 16;
var TYPE_CONTACT = 17;
var TYPE_GROUPS = 18;
var TYPE_GROUP = 19;
var TYPE_SPELLCHECK = 20;

//defines for folder types
var FOLDER_TYPE_DEFAULT = 0;
var FOLDER_TYPE_INBOX = 1;
var FOLDER_TYPE_SENT = 2;
var FOLDER_TYPE_DRAFTS = 3;
var FOLDER_TYPE_TRASH = 4;
var FOLDER_TYPE_SPAM = 5;
var FOLDER_TYPE_QUARANTINE = 6;
var FOLDER_TYPE_DEFAULT_SYNC = 20;
var FOLDER_TYPE_INBOX_SYNC = 21;
var FOLDER_TYPE_SENT_SYNC = 22;
var FOLDER_TYPE_DRAFTS_SYNC = 23;
var FOLDER_TYPE_TRASH_SYNC = 24;
var FOLDER_TYPE_SPAM_SYNC = 25;
var FOLDER_TYPE_QUARANTINE_SYNC = 26;

var FolderDescriptions = [];
FolderDescriptions[FOLDER_TYPE_DEFAULT] = {x: 0, y: 2};
FolderDescriptions[FOLDER_TYPE_DEFAULT_SYNC] = {x: 1, y: 2};
FolderDescriptions[FOLDER_TYPE_DRAFTS] = {x: 2, y: 2, langField: 'FolderDrafts'};
FolderDescriptions[FOLDER_TYPE_DRAFTS_SYNC] = {x: 3, y: 2, langField: 'FolderDrafts'};
FolderDescriptions[FOLDER_TYPE_INBOX] = {x: 4, y: 2, langField: 'FolderInbox'};
FolderDescriptions[FOLDER_TYPE_INBOX_SYNC] = {x: 5, y: 2, langField: 'FolderInbox'};
FolderDescriptions[FOLDER_TYPE_SENT] = {x: 6, y: 2, langField: 'FolderSentItems'};
FolderDescriptions[FOLDER_TYPE_SENT_SYNC] = {x: 7, y: 2, langField: 'FolderSentItems'};
FolderDescriptions[FOLDER_TYPE_TRASH] = {x: 8, y: 2, langField: 'FolderTrash'};
FolderDescriptions[FOLDER_TYPE_TRASH_SYNC] = {x: 9, y: 2, langField: 'FolderTrash'};
FolderDescriptions[FOLDER_TYPE_SPAM] = {x: 10, y: 2, langField: 'FolderSpam'};
FolderDescriptions[FOLDER_TYPE_SPAM_SYNC] = {x: 11, y: 2, langField: 'FolderSpam'};
FolderDescriptions[FOLDER_TYPE_QUARANTINE] = {x: 0, y: 2, langField: 'FolderQuarantine'};
FolderDescriptions[FOLDER_TYPE_QUARANTINE_SYNC] = {x: 1, y: 2, langField: 'FolderQuarantine'};

//defines for sync type
var SYNC_TYPE_NO = 0;
var SYNC_TYPE_NEW_HEADERS = 1;
var SYNC_TYPE_ALL_HEADERS = 2;
var SYNC_TYPE_NEW_MSGS = 3;
var SYNC_TYPE_ALL_MSGS = 4;
var SYNC_TYPE_DIRECT_MODE = 5;

var SORT_FIELD_NOTHING = -1;
var SORT_FIELD_DATE = 0;
var SORT_FIELD_FROM = 2;
var SORT_FIELD_TO = 4;
var SORT_FIELD_SIZE = 6;
var SORT_FIELD_SUBJECT = 8;
var SORT_FIELD_ATTACH = 10;
var SORT_FIELD_FLAG = 12;
var SORT_ORDER_DESC = 0;
var SORT_ORDER_ASC = 1;

//defines for inbox headers
var IH_CHECK = 0;
var IH_ATTACHMENTS = 1;
var IH_FLAGGED = 2;
var IH_FROM = 3;
var IH_TO = 4;
var IH_DATE = 5;
var IH_SIZE = 6;
var IH_SUBJECT = 7;
var IH_CC = 8;
var IH_BCC = 9;
var IH_REPLY_TO = 10;

/*
sortIconPlace values:
	0 - left of content
	1 - instead of content
	2 - right of content
align values: 'left', 'center', 'right'
*/
var InboxHeaders = Array();
InboxHeaders[IH_CHECK] =
{
	DisplayField: 'Check',
	LangField: '',
	Picture: '',
	SortField: SORT_FIELD_NOTHING,
	SortIconPlace: 1,
	Align: 'center', 
	Width: 24,
	MinWidth: 24,
	IsResize: false
};
InboxHeaders[IH_ATTACHMENTS] =
{
	DisplayField: 'HasAttachments',
	LangField: '',
	Picture: 'menu/attachment.gif',
	SortField: SORT_FIELD_ATTACH,
	SortIconPlace: 1,
	Align: 'center', 
	Width: 20,
	MinWidth: 20,
	IsResize: false
};
InboxHeaders[IH_FLAGGED] =
{
	DisplayField: 'Flagged',
	LangField: '',
	Picture: 'menu/flag.gif',
	SortField: SORT_FIELD_FLAG,
	SortIconPlace: 1,
	Align: 'center', 
	Width: 20,
	MinWidth: 20,
	IsResize: false
};
InboxHeaders[IH_FROM] =
{
	DisplayField: 'FromAddr',
	LangField: 'From',
	Picture: '',
	SortField: SORT_FIELD_FROM,
	SortIconPlace: 2,
	Align: 'left', 
	Width: 150,
	MinWidth: 100,
	IsResize: true
};
InboxHeaders[IH_TO] =
{
	DisplayField: 'ToAddr',
	LangField: 'To',
	Picture: '',
	SortField: SORT_FIELD_TO,
	SortIconPlace: 2,
	Align: 'left', 
	Width: 150,
	MinWidth: 100,
	IsResize: true
};
InboxHeaders[IH_DATE] =
{
	DisplayField: 'Date',
	LangField: 'Date',
	Picture: '',
	SortField: SORT_FIELD_DATE,
	SortIconPlace: 2,
	Align: 'center', 
	Width: 140,
	MinWidth: 100,
	IsResize: true
};
InboxHeaders[IH_SIZE] =
{
	DisplayField: 'Size',
	LangField: 'Size',
	Picture: '',
	SortField: SORT_FIELD_SIZE,
	SortIconPlace: 2,
	Align: 'center', 
	Width: 50,
	MinWidth: 40,
	IsResize: true
};
InboxHeaders[IH_SUBJECT] =
{
	DisplayField: 'Subject',
	LangField: 'Subject',
	Picture: '',
	SortField: SORT_FIELD_SUBJECT,
	SortIconPlace: 2,
	Align: 'left', 
	Width: 150,
	MinWidth: 100,
	IsResize: true
};
InboxHeaders[IH_CC] =
{
	DisplayField: 'CCAddr',
	LangField: 'CC',
	Picture: '',
	SortField: SORT_FIELD_NOTHING,
	SortIconPlace: 2,
	Align: 'center', 
	Width: 100,
	MinWidth: 100,
	IsResize: false
};
InboxHeaders[IH_BCC] =
{
	DisplayField: 'BCCAddr',
	LangField: 'BCC',
	Picture: '',
	SortField: SORT_FIELD_NOTHING,
	SortIconPlace: 2,
	Align: 'center', 
	Width: 100,
	MinWidth: 100,
	IsResize: false
};
InboxHeaders[IH_REPLY_TO] =
{
	DisplayField: 'ReplyToAddr',
	LangField: 'ReplyTo',
	Picture: '',
	SortField: SORT_FIELD_NOTHING,
	SortIconPlace: 2,
	Align: 'center', 
	Width: 100,
	MinWidth: 100,
	IsResize: false
};

//defines for parts of message type
var PART_MESSAGE_HEADERS = 0;
var PART_MESSAGE_HTML = 1;
var PART_MESSAGE_MODIFIED_PLAIN_TEXT = 2;
var PART_MESSAGE_REPLY_HTML = 3;
var PART_MESSAGE_REPLY_PLAIN = 4;
var PART_MESSAGE_FORWARD_HTML = 5;
var PART_MESSAGE_FORWARD_PLAIN = 6;
var PART_MESSAGE_FULL_HEADERS = 7;
var PART_MESSAGE_ATTACHMENTS = 8;
var PART_MESSAGE_UNMODIFIED_PLAIN_TEXT = 9;
 
// defines for toolbar items
var TOOLBAR_NEW_MESSAGE = 1;
var TOOLBAR_CHECK_MAIL = 2;
var TOOLBAR_RELOAD_FOLDERS = 3;
var TOOLBAR_REPLY = 4;
var TOOLBAR_REPLYALL = 5;
var TOOLBAR_FORWARD = 6;
var TOOLBAR_MARK_READ = 7;
var TOOLBAR_MOVE_TO_FOLDER = 8;
var TOOLBAR_DELETE = 9;
var TOOLBAR_UNDELETE = 10;
var TOOLBAR_PURGE = 11;
var TOOLBAR_EMPTY_TRASH = 12;
var TOOLBAR_IS_SPAM = 13;
var TOOLBAR_NOT_SPAM = 14;
var TOOLBAR_SEARCH = 15;
var TOOLBAR_BIG_SEARCH = 16;
var TOOLBAR_SEARCH_ARROW_DOWN = 17;
var TOOLBAR_SEARCH_ARROW_UP = 18;
var TOOLBAR_ARROW = 19;

//second line in mail.png
var TOOLBAR_BACK_TO_LIST = 20;
var TOOLBAR_SEND_MESSAGE = 21;
var TOOLBAR_SAVE_MESSAGE = 22;
var TOOLBAR_HIGH_IMPORTANCE = 23;
var TOOLBAR_LOW_IMPORTANCE = 24;
var TOOLBAR_NORMAL_IMPORTANCE = 25;
var TOOLBAR_PRINT_MESSAGE = 26;
var TOOLBAR_NEXT_ACTIVE = 27;
var TOOLBAR_NEXT_INACTIVE = 28;
var TOOLBAR_PREV_ACTIVE = 29;
var TOOLBAR_PREV_INACTIVE = 30;
var TOOLBAR_NEW_CONTACT = 31;
var TOOLBAR_NEW_GROUP = 32;
var TOOLBAR_ADD_CONTACTS_TO = 33;
var TOOLBAR_IMPORT_CONTACTS = 34;

//third line in mail.png
var TOOLBAR_MARK_UNREAD = 35;
var TOOLBAR_FLAG = 36;
var TOOLBAR_UNFLAG = 37;
var TOOLBAR_MARK_ALL_READ = 38;
var TOOLBAR_MARK_ALL_UNREAD = 39;

var OperationTypes = Array();
OperationTypes[TOOLBAR_DELETE] = 'delete';
OperationTypes[TOOLBAR_UNDELETE] = 'undelete';
OperationTypes[TOOLBAR_PURGE] = 'purge';
OperationTypes[TOOLBAR_MARK_READ] = 'mark_read';
OperationTypes[TOOLBAR_MARK_UNREAD] = 'mark_unread';
OperationTypes[TOOLBAR_FLAG] = 'flag';
OperationTypes[TOOLBAR_UNFLAG] = 'unflag';
OperationTypes[TOOLBAR_MARK_ALL_READ] = 'mark_all_read';
OperationTypes[TOOLBAR_MARK_ALL_UNREAD] = 'mark_all_unread';
OperationTypes[TOOLBAR_MOVE_TO_FOLDER] = 'move_to_folder';
OperationTypes[TOOLBAR_IS_SPAM] = 'spam';
OperationTypes[TOOLBAR_NOT_SPAM] = 'not_spam';

var REDRAW_NOTHING = 0;
var REDRAW_FOLDER = 1;
var REDRAW_HEADER = 2;
var REDRAW_PAGE = 3;

var COOKIE_STORAGE_DAYS = 20;
var FOLDERS_TREES_INDENT = 8;
var AUTOSELECT_CHARSET = -1;
var X_ICON_SHIFT = 40;
var Y_ICON_SHIFT = 40;

var POP3_PROTOCOL = 0;
var IMAP4_PROTOCOL = 1;
var WMSERVER_PROTOCOL = 2;
var POP3_PORT = 110;
var IMAP4_PORT = 143;
var SMTP_PORT = 25;

var VIEW_MODE_WITH_PANE = 1;
var VIEW_MODE_SHOW_PICTURES = 2;

var $Title = Array();
$Title[SCREEN_LOGIN] = Lang.TitleLogin;
$Title[SCREEN_MESSAGES_LIST_VIEW] = Lang.TitleMessagesListView;
$Title[SCREEN_MESSAGES_LIST] = Lang.TitleMessagesList;
$Title[SCREEN_VIEW_MESSAGE] = Lang.TitleViewMessage;
$Title[SCREEN_NEW_MESSAGE] = Lang.TitleNewMessage;
$Title[SCREEN_USER_SETTINGS] = Lang.TitleSettings;
$Title[SCREEN_CONTACTS] = Lang.TitleContacts;
$Title[SCREEN_CALENDAR] = Lang.Calendar;
Lang.Title = $Title;

var $SyncTypes = Array();
$SyncTypes[SYNC_TYPE_NO] = Lang.SyncTypeNo;
$SyncTypes[SYNC_TYPE_NEW_HEADERS] = Lang.SyncTypeNewHeaders;
$SyncTypes[SYNC_TYPE_ALL_HEADERS] = Lang.SyncTypeAllHeaders;
$SyncTypes[SYNC_TYPE_NEW_MSGS] = Lang.SyncTypeNewMessages;
$SyncTypes[SYNC_TYPE_ALL_MSGS] = Lang.SyncTypeAllMessages;
$SyncTypes[SYNC_TYPE_DIRECT_MODE] = Lang.SyncTypeDirectMode;
Lang.SyncTypes = $SyncTypes;

var $Pop3InboxSyncTypes = Array();
$Pop3InboxSyncTypes[SYNC_TYPE_NEW_HEADERS] = Lang.Pop3SyncTypeEntireHeaders;
$Pop3InboxSyncTypes[SYNC_TYPE_NEW_MSGS] = Lang.Pop3SyncTypeEntireMessages;
$Pop3InboxSyncTypes[SYNC_TYPE_DIRECT_MODE] = Lang.Pop3SyncTypeDirectMode;
Lang.Pop3InboxSyncTypes = $Pop3InboxSyncTypes;

//defines for contacts headers
var CH_CHECK = 20;
var CH_GROUP = 21;
var CH_NAME = 22;
var CH_EMAIL = 23;

var SORT_FIELD_GROUP = 0;
var SORT_FIELD_NAME = 1;
var SORT_FIELD_EMAIL = 2;
var SORT_FIELD_USE_FREQ = 3;

var ContactsHeaders = Array();
ContactsHeaders[CH_CHECK] =
{
	DisplayField: 'Check',
	LangField: '',
	Picture: '',
	SortField: SORT_FIELD_NOTHING,
	SortIconPlace: 1,
	Align: 'center', 
	Width: 24,
	MinWidth: 24,
	IsResize: false
};
ContactsHeaders[CH_GROUP] =
{
	DisplayField: 'IsGroup',
	LangField: '',
	Picture: 'contacts/group.gif',
	SortField: SORT_FIELD_GROUP,
	SortIconPlace: 1,
	Align: 'center', 
	Width: 25,
	MinWidth: 25,
	IsResize: false
};
ContactsHeaders[CH_NAME] =
{
	DisplayField: 'Name',
	LangField: 'Name',
	Picture: '',
	SortField: SORT_FIELD_NAME,
	SortIconPlace: 2,
	Align: 'left', 
	Width: 150,
	MinWidth: 100,
	IsResize: true
};
ContactsHeaders[CH_EMAIL] =
{
	DisplayField: 'Email',
	LangField: 'Email',
	Picture: '',
	SortField: SORT_FIELD_EMAIL,
	SortIconPlace: 2,
	Align: 'left', 
	Width: 150,
	MinWidth: 100,
	IsResize: true
};

var PRIMARY_HOME_EMAIL = 0;
var PRIMARY_BUSS_EMAIL = 1;
var PRIMARY_OTHER_EMAIL = 2;

