/*for demo*/
var DemoWarning = 'This feature is disabled for this demo account because this one is shared between all the users. If you wish to test this feature, please logout and then log in your own e-mail account using "advanced login" option.';
/*end for demo*/
/*for pack
var DemoWarning = '';
end for pack*/

var LEFT = 'left';
var RIGHT = 'right';
if (window.RTL) {
	LEFT = 'right';
	RIGHT = 'left';
}

var HideFromInput = false;

var UsePrefetch = true;
var preFetchData = null;
var preFetchFolder = null;
var preFetchMsgLimit = 5;
var preFetchStartFlag = false;
var preFetchCache = {};

// 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 PART_MANAGE_FOLDERS_TYPE = 8;
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 = [];
Sections[SECTION_LOGIN] = {Scripts: [], Screens: []};
Sections[SECTION_MAIL] = {Scripts: [], Screens: []};
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: []}
Sections[SECTION_SETTINGS] = {Scripts: [], Screens: []};
Sections[SECTION_SETTINGS].Screens[SCREEN_USER_SETTINGS] = 'screen = new CUserSettingsScreen(SkinName);';
//Sections[SECTION_CONTACTS] = {Scripts: ['screen.contacts.js', 'screen.view-contact.js'], Screens: []}
Sections[SECTION_CONTACTS] = {Scripts: [], Screens: []};
Sections[SECTION_CONTACTS].Screens[SCREEN_CONTACTS] = 'screen = new CContactsScreen(SkinName);';
Sections[SECTION_CALENDAR] = {Scripts: [], Screens: []};
Sections[SECTION_CALENDAR].Screens[SCREEN_CALENDAR] = 'screen = new CCalendarScreen(SkinName);';

var Screens = [];
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_ACCOUNT_BASE = 0; // includes FOLDERS_LIST, MESSAGES_LIST
var TYPE_ACCOUNT_PROPERTIES = 1;
var TYPE_ACCOUNTS_LIST = 2;
var TYPE_AUTORESPONDER = 3;
var TYPE_BASE = 4; // includes SETTINGS_LIST, ACCOUNTS_LIST, FOLDERS_LIST, MESSAGES_LIST
var TYPE_CONTACT = 5;
var TYPE_CONTACTS = 6;
var TYPE_CONTACTS_SETTINGS = 7;
var TYPE_FILTER_PROPERTIES = 8;
var TYPE_FILTERS = 9;
var TYPE_FOLDERS_BASE = 10; // includes MESSAGES_LISTs for 1 page in several folders
var TYPE_FOLDERS_LIST = 11;
var TYPE_GROUP = 12;
var TYPE_GROUPS = 13;
var TYPE_MESSAGE = 14;
var TYPE_MESSAGES_BODIES = 15; // includes MESSAGE for messages with size<=75K in last MESSAGES_LIST
var TYPE_MESSAGES_LIST = 16;
var TYPE_MESSAGES_OPERATION = 17;
var TYPE_SETTINGS_LIST = 18;
var TYPE_SIGNATURE = 19;
var TYPE_SPELLCHECK = 20;
var TYPE_UPDATE = 21;
var TYPE_USER_SETTINGS = 22;

//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 = [];
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: 'wm_inbox_lines_attachment',
	SortField: SORT_FIELD_ATTACH,
	SortIconPlace: 1,
	Align: 'center', 
	Width: 20,
	MinWidth: 20,
	IsResize: false
};
InboxHeaders[IH_FLAGGED] =
{
	DisplayField: 'Flagged',
	LangField: '',
	Picture: 'wm_inbox_lines_flag',
	SortField: SORT_FIELD_FLAG,
	SortIconPlace: 1,
	Align: 'center', 
	Width: 20,
	MinWidth: 20,
	IsResize: false
};
/*rtl*/
InboxHeaders[IH_FROM] =
{
	DisplayField: 'FromAddr',
	LangField: 'From',
	Picture: '',
	SortField: SORT_FIELD_FROM,
	SortIconPlace: 2,
	Align: window.LEFT, 
	Width: 150,
	MinWidth: 100,
	IsResize: true
};
InboxHeaders[IH_TO] =
{
	DisplayField: 'ToAddr',
	LangField: 'To',
	Picture: '',
	SortField: SORT_FIELD_TO,
	SortIconPlace: 2,
	Align: window.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: window.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;
var TOOLBAR_IMPORTANCE = 35;

//third line in mail.png
var TOOLBAR_MARK_UNREAD = 36;
var TOOLBAR_FLAG = 37;
var TOOLBAR_UNFLAG = 38;
var TOOLBAR_MARK_ALL_READ = 39;
var TOOLBAR_MARK_ALL_UNREAD = 40;

var TOOLBAR_EMPTY_SPAM = 41;

var OperationTypes = [];
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';
OperationTypes[TOOLBAR_EMPTY_SPAM] = 'clear_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 = [];
$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 = [];
$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 = [];
$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 = [];
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: 'wm_inbox_lines_group',
	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: window.LEFT, 
	Width: 150,
	MinWidth: 100,
	IsResize: true
};
ContactsHeaders[CH_EMAIL] =
{
	DisplayField: 'Email',
	LangField: 'Email',
	Picture: '',
	SortField: SORT_FIELD_EMAIL,
	SortIconPlace: 2,
	Align: window.LEFT,
	Width: 150,
	MinWidth: 100,
	IsResize: true
};

var PRIMARY_HOME_EMAIL = 0;
var PRIMARY_BUSS_EMAIL = 1;
var PRIMARY_OTHER_EMAIL = 2;

var GET_FOLDERS_NOT_CHANGE_ACCT = -1;
var GET_FOLDERS_NOT_SYNC = 0;
var GET_FOLDERS_SYNC_MESSAGES = 1;
var GET_FOLDERS_SYNC_FOLDERS = 2;

if (typeof window.JSFileLoaded != 'undefined') {
	JSFileLoaded();
}
