| Server IP : 209.209.40.120 / Your IP : 216.73.217.112 Web Server : Microsoft-IIS/10.0 System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586 User : NEWWWW$ ( 0) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /Program Files (x86)/Mail Enable/Bin/NETWebMail/Mondo/lang/sys/Forms/ |
Upload File : |
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Advanced.aspx.vb" Inherits="MailEnable.Clients.WebMail.Advanced" %>
<%@ Register TagPrefix="uc1" TagName="uscStyleHeader" Src="../../Controls/uscStyleHeader.ascx" %>
<%@ Register TagPrefix="uc2" TagName="uscPageBorder_Start" Src="../../Controls/uscPageBorder_Start.ascx" %>
<%@ Register TagPrefix="uc3" TagName="uscPageBorder_End" Src="../../Controls/uscPageBorder_End.ascx" %>
<%@ Register TagPrefix="uc1" TagName="ScriptsInclude" Src="../../Controls/ScriptsInclude.ascx" %>
<%@ Register TagPrefix="uc2" TagName="uscLanguageTokenMondo" Src="../../Controls/uscLanguageToken.ascx" %>
<uc2:uscLanguageTokenMondo id="uscToken" runat="server"></uc2:uscLanguageTokenMondo>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title><%=uscToken.GetText("[ME_TXT-Advanced]")%></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<uc1:uscStyleHeader id="UscStyleHeader1" runat="server"></uc1:uscStyleHeader>
<uc1:ScriptsInclude id="ScriptsInclude" runat="server"></uc1:ScriptsInclude>
<script type="text/javascript">
getTopAppWindow().ShowPageLoad();
var gBrowserType = GetBrowserType();
var MailboxFiltersTable = null;
var MailboxFilters = new Array();
var EditingFilter = null;
var CommittedFilter = null;
var gImportStatusPollInterval = 30000;
var POPAccountsTable = null;
var POPAccounts = new Array();
var EditingAccountID = null;
var CommittedAccount = null;
var SyncMLDevicesTable = null;
var EASDevicesTable = null;
function GetAsURL(target) {
var s = '';
for (var k in target) {
if (target.hasOwnProperty(k)) {
if (s.length > 0) {
s += '&';
}
s += k + '=' + encodeURIComponent(target[k]);
}
}
return s;
}
function doInlineImport(params) {
try {
var oResult = {};
var sResult = '';
getTopAppWindow().LIBAjax_InlineRequest("IMPORT-FOLDER", GetAsURL(params), oResult);
getTopAppWindow().HideWait();
if (oResult.responseXML) {
var BaseNode = oResult.responseXML.getElementsByTagName("BASEELEMENT")[0];
if (BaseNode) {
sResult = GetXMLValue(BaseNode.getElementsByTagName('RETURNVALUE')[0]);
}
if (sResult != '1') {
oImportDialog.Show();
try {
alert('Error: ' + GetXMLValue(BaseNode.getElementsByTagName('ERROR_DESCRIPTION')[0]));
} catch (ex) {
alert('Failed to import. Please check values.');
}
}
else {
alert('Import Completed.');
}
}
} catch (ex) { alert('Import Failed:' + ex.message); }
}
function doQueueImport(params) {
try {
var oResult = {};
var sResult = '';
getTopAppWindow().LIBAjax_InlineRequest("QUEUE-MIGRATION", GetAsURL(params), oResult);
getTopAppWindow().HideWait();
if (oResult.responseXML) {
var BaseNode = oResult.responseXML.getElementsByTagName("BASEELEMENT")[0];
if (BaseNode) {
sResult = GetXMLValue(BaseNode.getElementsByTagName('RETURNVALUE')[0]);
}
if (sResult != '1') {
try {
alert('Error: ' + GetXMLValue(BaseNode.getElementsByTagName('ERROR_DESCRIPTION')[0]));
} catch (ex) {
alert('Failed to import. Please check values.');
}
}
else {
reportImportStatus(gImportStatusPollInterval);
}
}
} catch (ex) { alert('Import Failed:' + ex.message); }
}
function doDeQueueImport() {
var oResult = {};
var sResult = '';
getTopAppWindow().LIBAjax_InlineRequest("DEQUEUE-MIGRATION", '', oResult);
if (oResult.responseXML) {
var BaseNode = oResult.responseXML.getElementsByTagName("BASEELEMENT")[0];
if (BaseNode) {
sResult = GetXMLValue(BaseNode.getElementsByTagName('RETURNVALUE')[0]);
if (sResult != '1') {
alert('Failed to Cancel Import.');
}
}
}
reportImportStatus(gImportStatusPollInterval);
}
function Import(params) {
//doInlineImport(params)
doQueueImport(params);
}
function getImportParams(params) {
var bIMAP = ($("#chkIMAP").is(":checked"));
var bCalDAV = ($("#chkCalDAV").is(":checked"));
var bCardDAV = ($("#chkCardDAV").is(":checked"));
var sProtocols = '';
var arrProtocols = [];
arrProtocols.push();
if (bCardDAV) {
params['AddressBookServerAddress'] = $("#txtCardDAVURL").val();
arrProtocols.push('CardDAV');
params['Source'] = params['AddressBookServerAddress'];
}
if (bCalDAV) {
params['CalendarServerAddress'] = $("#txtCalDAVURL").val();
arrProtocols.push('CalDAV');
params['Source'] = params['CalendarServerAddress'];
}
if (bIMAP) {
params['ServerAddress'] = $("#txtServerAddress").val();
params['Port'] = $("#txtPort").val();
params['UseSSL'] = $("#chkUseSSL").is(":checked");
arrProtocols.push('IMAP');
}
params['Protocol'] = arrProtocols.join(',');
params['SourceUserName'] = $("#txtUserName").val();
params['SourcePassword'] = $("#txtPassword").val();
}
function getImportStatus() {
var oResult = {};
var params = {};
getTopAppWindow().LIBAjax_InlineRequest('QUERY-MIGRATION', GetAsURL(params), oResult);
if (oResult.responseXML) {
var BaseNode = oResult.responseXML.getElementsByTagName("BASEELEMENT")[0];
if (BaseNode) {
params['Result'] = GetXMLValue(BaseNode.getElementsByTagName('RETURNVALUE')[0]);
params['Status'] = GetXMLValue(BaseNode.getElementsByTagName('STATUS')[0]);
params['Exists'] = GetXMLValue(BaseNode.getElementsByTagName('EXISTS')[0]);
params['Progress'] = GetXMLValue(BaseNode.getElementsByTagName('PROGRESS')[0]);;
params['HasFailureMessage'] = GetXMLValue(BaseNode.getElementsByTagName('HASFAILURE')[0]);
if (params['HasFailureMessage'] == '1') {
params['FailureMessage'] = GetXMLValue(BaseNode.getElementsByTagName('FAILUREMESSAGE')[0]);
}
params['RemoteServerAddress'] = GetXMLValue(BaseNode.getElementsByTagName('REMOTESERVERADDRESS')[0]);
params['Port'] = GetXMLValue(BaseNode.getElementsByTagName('PORT')[0]);
params['UseSSL'] = GetXMLValue(BaseNode.getElementsByTagName('USESSL')[0]);
params['RemoteAddressBookServerAddress'] = GetXMLValue(BaseNode.getElementsByTagName('REMOTEADDRESSBOOKSERVERADDRESS')[0]);
params['RemoteCalendarServerAddress'] = GetXMLValue(BaseNode.getElementsByTagName('REMOTECALENDARSERVERADDRESS')[0]);
}
else {
params['Result'] = '0'; //Failure
}
}
return params;
}
function reportImportStatus(PollInterval) {
var params = getImportStatus();
var sStatus = "";
if (params['Result'] == '1') {
$("#dvImportStatus").hide();
$("#tblImportSettings").show();
$("#dvDeQueueImport").hide();
if (params['Status'] == 'Queued') {
$("#dvImportStatusDescription").text(t_('[ME_TXT-ImportStatusAbort]'));
$("#dvImportStatus").show();
$("#tblImportSettings").hide();
$("#dvDeQueueImport").show();
if (PollInterval) {
setTimeout(function () { reportImportStatus(PollInterval); }, PollInterval);
}
} else if (params['Status'] == 'InProgress') {
sStatus = t_('[ME_TXT-MigrationStatusCaption]') + ' (' + params['Progress'] + ' ' + t_('[ME_TXT-PercentComplete]') + ').';
if (params['HasFailureMessage'] == '1') {
sStatus += " A failure occurred: " + params['FailureMessage'];
$("#dvImportStatusDescription").text(sStatus);
$("#dvImportStatus").show();
$("#tblImportSettings").show();
$("#dvDeQueueImport").show();
}
else {
$("#dvImportStatus").show();
$("#tblImportSettings").hide();
$("#dvDeQueueImport").show();
if (PollInterval) {
setTimeout(function () { reportImportStatus(PollInterval); }, PollInterval);
}
}
$("#dvImportStatusDescription").text(sStatus);
}
}
}
function doImport() {
var params = {};
getImportParams(params);
var bIMAP = $("#chkIMAP").is(":checked");
var bCalDAV = $("#chkCalDAV").is(":checked");
var bCardDAV = $("#chkCardDAV").is(":checked");
var bValid = true;
var IsDemoAccount = getTopAppWindow().GetOption('IsDemoAccount');
if (IsDemoAccount)
{
alert(t_('[ME_TXT-NotEnabledForDemoAccount]'));
bValid = False;
}
if (!bIMAP && !bCalDAV && !bCardDAV) {
alert(t_('[ME_TXT-InvalidData]'));
bValid = False;
}
if (bValid && params['UserName'] == '') {
alert(t_('[ME_TXT-Youmustenterausername]'));
bValid = false;
}
if (bValid && params['Password'] == '') {
alert(t_('[ME_TXT-Youmustenterapassword]'));
bValid = false;
}
if (bValid && ((bCalDAV) && !validateURL(params['CalendarServerAddress']))) {
alert(t_('[ME_TXT-DAVURLInvalid]'));
bValid = false;
}
if (bValid && ((bCardDAV) && !validateURL(params['AddressBookServerAddress']))) {
alert(t_('[ME_TXT-DAVURLInvalid]'));
bValid = false;
}
if (bValid) {
var r = confirm(t_("[ME_TXT-ConfirmRemoteImport]"));
if (r == true) {
getTopAppWindow().ShowWait(t_("[ME_TXT-Pleasewait]") + "...");
//issue the import after two seconds, so that the UI updates.
setTimeout(function () { Import(params); }, 2000);
}
}
}
function ProcessXMLResult(responseXML)
{
//alert('ProcessXMLResult: ' + DOMDocumentToString(responseXML));
var BaseNode = responseXML.getElementsByTagName("BASEELEMENT")[0];
if (BaseNode == null)
{
alert(t_('[ME_TXT-Serverfailure]'));
return false;
}
var oSchema = BaseNode.attributes.getNamedItem('SCHEMA');
var oMethod = BaseNode.attributes.getNamedItem('METHOD');
var sSchema;
var sMethod;
var ResultSuccess = true;
if (oSchema)
{
sSchema = GetXMLValue(oSchema);
}
if (oMethod)
{
sMethod = GetXMLValue(oMethod);
}
if (sMethod == 'LIST-MBX-FILTERS')
{
ProcessListMailboxFilters(BaseNode)
}
else if (sMethod == 'ADD-MBX-FILTER')
{
ProcessAddMailboxFilter(BaseNode)
}
else if (sMethod == 'EDIT-MBX-FILTER')
{
ProcessEditMailboxFilter(BaseNode)
}
else if (sMethod == 'DELETE-MBX-FILTER')
{
ProcessDeleteMailboxFilter(BaseNode)
}
else if (sMethod == 'LIST-POP-ACCOUNTS')
{
ProcessListPOPAccounts(BaseNode)
}
else if (sMethod == 'ADD-POP-ACCOUNT')
{
ProcessAddPOPAccount(BaseNode)
}
else if (sMethod == 'EDIT-POP-ACCOUNT')
{
ProcessEditPOPAccount(BaseNode)
}
else if (sMethod == 'DELETE-POP-ACCOUNT')
{
ProcessDeletePOPAccount(BaseNode)
}
else if (sMethod == 'LIST-SYNCMLDEVICES')
{
ProcessListDevices(SyncMLDevicesTable, BaseNode, ClearSyncMLDevice)
}
else if (sMethod == 'LIST-EASDEVICES')
{
ProcessListDevices(EASDevicesTable, BaseNode, ClearEASDevice)
}
else if (sMethod == 'REMOVE-EASCACHE')
{
ProcessRemoveDevice(EASDevicesTable, BaseNode)
}
else if (sMethod == 'REMOVE-SYNCMLCACHE')
{
ProcessRemoveDevice(SyncMLDevicesTable,BaseNode)
}
else if (sMethod == 'LIST-FOLDERS')
{
ProcessFoldersList(BaseNode);
// if (gPublicFoldersEnabled) {
// LIBAjax_ServerRequest('LIST-FOLDERS', 'Page=1&Folder=\\Public&Children=1', false);
// }
}
return ResultSuccess;
}
function ProcessListDevices(DevicesTable, BaseNode, fnAction)
{
var Success = GetXMLValue(BaseNode.getElementsByTagName('RETURNVALUE')[0]) == '1';
if (Success)
{
var oItemList = BaseNode.getElementsByTagName('ITEM');
var lLength = oItemList.length;
var Index = 0;
for (Index = 0; Index < lLength; Index++)
{
var oItemNode = oItemList[Index];
if (oItemNode)
{
var oItemValue;
oItemValue = oItemNode.getElementsByTagName('DEVICE')[0];
var sResource = GetXMLValue(oItemValue);
oItemValue = oItemNode.getElementsByTagName('DISPLAY')[0];
var sDisplay = GetXMLValue(oItemValue);
if (sDisplay == '')
{
sDisplay = sResource;
}
oItemValue = oItemNode.getElementsByTagName('DESCRIPTION')[0];
var sDescription = GetXMLValue(oItemValue);
var oDevices = document.getElementById('Devices');
AddSyncMLDeviceToList(DevicesTable,sResource, sDisplay, fnAction);
}
}
}
}
function ProcessRemoveDevice(DevicesTable, BaseNode)
{
var Success = GetXMLValue(BaseNode.getElementsByTagName('RETURNVALUE')[0]) == '1';
if (Success)
{
DevicesTable.RemoveSelectedRow();
}
}
function ProcessListPOPAccounts(BaseNode)
{
var Success = GetXMLValue(BaseNode.getElementsByTagName('RETURNVALUE')[0]) == '1';
if (Success)
{
var AccountNodes = BaseNode.getElementsByTagName('ACCOUNT');
for (var iAccountNode = 0; iAccountNode < AccountNodes.length; iAccountNode++)
{
var AccountNode = AccountNodes[iAccountNode];
var Server = GetXMLValue(AccountNode.getElementsByTagName('SERVER')[0]);
var Port = GetXMLValue(AccountNode.getElementsByTagName('PORT')[0]);
var Username = GetXMLValue(AccountNode.getElementsByTagName('USERNAME')[0]);
var Password = GetXMLValue(AccountNode.getElementsByTagName('PASSWORD')[0]);
var APOP = GetXMLValue(AccountNode.getElementsByTagName('APOP')[0]) == '1';
var Leave = GetXMLValue(AccountNode.getElementsByTagName('LEAVE')[0]) == '1';
var Enabled = GetXMLValue(AccountNode.getElementsByTagName('STATUS')[0]) == '1';
var AccountKey = Username + '@' + Server + ':' + Port;
POPAccounts[AccountKey] =
{
AccountKey: AccountKey,
Server: Server,
Port: Port,
Username: Username,
Password: Password,
APOP: APOP,
Leave: Leave,
Enabled: Enabled
};
AddPOPAccountToList(AccountKey, Server);
}
}
else
{
var ErrorMessageNodes = BaseNode.getElementsByTagName('ERRORMESSAGE');
if (ErrorMessageNodes.length > 0)
{
var ErrorMessage = GetXMLValue(ErrorMessageNodes[0]);
// Feedback, but in the case of the initial list, don't zoom to it
Feedback('POPRetrieval', ErrorMessage, false);
}
}
}
function ProcessAddPOPAccount(BaseNode)
{
var Success = GetXMLValue(BaseNode.getElementsByTagName('RETURNVALUE')[0]) == '1';
if (Success)
{
POPAccounts[CommittedAccount.AccountKey] = CommittedAccount;
AddPOPAccountToList(CommittedAccount.AccountKey, CommittedAccount.Server);
HidePOPAccountProperties();
}
else
{
var ErrorMessageNodes = BaseNode.getElementsByTagName('ERRORMESSAGE');
if (ErrorMessageNodes.length > 0)
{
var ErrorMessage = GetXMLValue(ErrorMessageNodes[0]);
Feedback('POPRetrievalProperties', ErrorMessage);
}
}
}
function ProcessEditPOPAccount(BaseNode)
{
var Success = GetXMLValue(BaseNode.getElementsByTagName('RETURNVALUE')[0]) == '1';
if (Success)
{
delete POPAccounts[EditingAccountID];
EditingAccountID = null;
POPAccounts[CommittedAccount.AccountKey] = CommittedAccount;
POPAccountsTable.RemoveSelectedRow();
AddPOPAccountToList(CommittedAccount.AccountKey, CommittedAccount.Server);
HidePOPAccountProperties();
}
else
{
var ErrorMessageNodes = BaseNode.getElementsByTagName('ERRORMESSAGE');
if (ErrorMessageNodes.length > 0)
{
var ErrorMessage = GetXMLValue(ErrorMessageNodes[0]);
Feedback('POPRetrievalProperties', ErrorMessage);
}
}
}
function ProcessDeletePOPAccount(BaseNode)
{
var Success = GetXMLValue(BaseNode.getElementsByTagName('RETURNVALUE')[0]) == '1';
if (Success)
{
POPAccountsTable.RemoveSelectedRow();
}
else
{
var ErrorMessageNodes = BaseNode.getElementsByTagName('ERRORMESSAGE');
if (ErrorMessageNodes.length > 0)
{
var ErrorMessage = GetXMLValue(ErrorMessageNodes[0]);
Feedback('POPRetrieval', ErrorMessage);
}
}
}
function ProcessListMailboxFilters(BaseNode)
{
var Success = GetXMLValue(BaseNode.getElementsByTagName('RETURNVALUE')[0]) == '1';
if (Success)
{
var Filters = BaseNode.getElementsByTagName('FILTER');
for (var iFilter = 0; iFilter < Filters.length; iFilter++)
{
var FilterNode = Filters[iFilter];
var _FilterID = GetXMLValue(FilterNode.attributes.getNamedItem('ID'));
var MessageFromNode = FilterNode.getElementsByTagName('MESSAGEFROM')[0];
var MessageToNode = FilterNode.getElementsByTagName('MESSAGETO')[0];
var MessageCCNode = FilterNode.getElementsByTagName('MESSAGECC')[0];
var MessageToOrCCNode = FilterNode.getElementsByTagName('MESSAGETOORCC')[0];
var MessageAttachmentsNode = FilterNode.getElementsByTagName('MESSAGEATTACHMENTS')[0];
var MessageSubjectContainsNode = FilterNode.getElementsByTagName('MESSAGESUBJECT')[0];
var MessageContainsNode = FilterNode.getElementsByTagName('MESSAGECONTAINS')[0];
var FilterActions = new Array();
var ActionNodes = FilterNode.getElementsByTagName('ACTION');
for (var iActionNode = 0; iActionNode < ActionNodes.length; iActionNode++)
{
var ActionNode = ActionNodes[iActionNode];
var ActionType = GetXMLValue(ActionNode.attributes.getNamedItem('TYPE'));
var ActionFolder = '';
var ActionFolderNodes = ActionNode.getElementsByTagName('FOLDER');
var ActionFolder_Name = '';
if (ActionFolderNodes.length >= 1) {
ActionFolder = GetXMLValue(ActionFolderNodes[0]);
var ActionFolderNodes_Name = ActionNode.getElementsByTagName('FOLDER_NAME');
if (ActionFolderNodes_Name.length >= 1) {
ActionFolder_Name = GetXMLValue(ActionFolderNodes_Name[0]);
}
}
else {
ActionFolder = GetXMLValue(ActionNode);
}
FilterActions[iActionNode] =
{
Type: ActionType.toLowerCase(),
Folder: ActionFolder,
Folder_Name: ActionFolder_Name
};
}
MailboxFilters[_FilterID] =
{
FilterID: _FilterID,
Description: GetXMLValue(FilterNode.getElementsByTagName('DESCRIPTION')[0]),
DefaultOperator: GetXMLValue(FilterNode.getElementsByTagName('DEFAULTOPERATOR')[0]),
MessageFromStatus: GetXMLValue(MessageFromNode.attributes.getNamedItem('STATUS')) == '1',
MessageFrom: GetXMLValue(MessageFromNode),
MessageToStatus: GetXMLValue(MessageToNode.attributes.getNamedItem('STATUS')) == '1',
MessageTo: GetXMLValue(MessageToNode),
MessageCCStatus: GetXMLValue(MessageCCNode.attributes.getNamedItem('STATUS')) == '1',
MessageCC: GetXMLValue(MessageCCNode),
MessageToOrCCStatus: GetXMLValue(MessageToOrCCNode.attributes.getNamedItem('STATUS')) == '1',
MessageToOrCC: GetXMLValue(MessageToOrCCNode),
MessageAttachmentsStatus: GetXMLValue(MessageAttachmentsNode.attributes.getNamedItem('STATUS')) == '1',
MessageAttachments: GetXMLValue(MessageAttachmentsNode),
MessageSubjectContainsStatus: GetXMLValue(MessageSubjectContainsNode.attributes.getNamedItem('STATUS')) == '1',
MessageSubjectContains: GetXMLValue(MessageSubjectContainsNode),
MessageContainsStatus: GetXMLValue(MessageContainsNode.attributes.getNamedItem('STATUS')) == '1',
MessageContains: GetXMLValue(MessageContainsNode),
Actions: FilterActions
};
AddMailboxFilterToList(MailboxFilters[_FilterID].FilterID, MailboxFilters[_FilterID].Description);
}
var LimitReached = GetXMLValue(BaseNode.getElementsByTagName('LIMITREACHED')[0]) == '1';
if (LimitReached)
{
Feedback('MailboxFiltering', t_('[ME_TXT-YouHaveReachedTheMaxNumberOfFiltersEnabled...]'));
}
}
else
{
var ErrorMessageNodes = BaseNode.getElementsByTagName('ERRORMESSAGE');
if (ErrorMessageNodes.length > 0)
{
var ErrorMessage = GetXMLValue(ErrorMessageNodes[0]);
// Feedback, but in the case of the initial list, don't zoom to it
Feedback('MailboxFiltering', ErrorMessage, false);
}
}
}
function ProcessAddMailboxFilter(BaseNode)
{
var Success = GetXMLValue(BaseNode.getElementsByTagName('RETURNVALUE')[0]) == '1';
if (Success)
{
var FilterID = GetXMLValue(BaseNode.getElementsByTagName('FILTERID')[0]);
var Description = GetXMLValue(BaseNode.getElementsByTagName('DESCRIPTION')[0]);
MailboxFilters[FilterID] = CommittedFilter;
MailboxFilters[FilterID].FilterID = FilterID;
AddMailboxFilterToList(FilterID, Description);
HideMailboxFilterDetails();
}
else
{
var ErrorMessageNodes = BaseNode.getElementsByTagName('ERRORMESSAGE');
if (ErrorMessageNodes.length > 0)
{
var ErrorMessage = GetXMLValue(ErrorMessageNodes[0]);
Feedback('MailboxFilteringProperties', ErrorMessage);
}
}
}
function ProcessEditMailboxFilter(BaseNode)
{
var Success = GetXMLValue(BaseNode.getElementsByTagName('RETURNVALUE')[0]) == '1';
if (Success)
{
var FilterID = GetXMLValue(BaseNode.getElementsByTagName('FILTERID')[0]);
var Description = GetXMLValue(BaseNode.getElementsByTagName('DESCRIPTION')[0]);
MailboxFilters[FilterID] = CommittedFilter;
MailboxFilters[FilterID].FilterID = FilterID;
MailboxFiltersTable.RemoveRow(FilterID);
AddMailboxFilterToList(FilterID, Description);
HideMailboxFilterDetails();
}
else
{
var ErrorMessageNodes = BaseNode.getElementsByTagName('ERRORMESSAGE');
if (ErrorMessageNodes.length > 0)
{
var ErrorMessage = GetXMLValue(ErrorMessageNodes[0]);
Feedback('MailboxFilteringProperties', ErrorMessage);
}
}
}
function ProcessDeleteMailboxFilter(BaseNode)
{
var Success = GetXMLValue(BaseNode.getElementsByTagName('RETURNVALUE')[0]) == '1';
if (Success)
{
var FilterID = GetXMLValue(BaseNode.getElementsByTagName('FILTERID')[0]);
MailboxFiltersTable.RemoveRow(FilterID);
}
else
{
var ErrorMessageNodes = BaseNode.getElementsByTagName('ERRORMESSAGE');
if (ErrorMessageNodes.length > 0)
{
var ErrorMessage = GetXMLValue(ErrorMessageNodes[0]);
Feedback('MailboxFiltering', ErrorMessage);
}
}
}
function LoadSpamFilterSettings(Category)
{
var Action = document.getElementById(Category + 'Action');
var ActionDirectory = document.getElementById(Category + 'ActionDirectoryList');
var ActionPrefix = document.getElementById(Category + 'ActionPrefixText');
Action.value = getTopAppWindow().GetOption('MailBox-SpamFilteringAction-' + Category);
var ParameterValue = getTopAppWindow().GetOption('MailBox-SpamFilteringData-' + Category);
if (Action.value == 'prefix-subject')
{
ActionPrefix.value = ParameterValue;
}
else
{
if (ParameterValue)
{
ParameterValue = ParameterValue.replace(/^\s+|\s+$/g, '');
ActionDirectory.value = ParameterValue;
}
}
}
function SaveSpamFilterSettings(Category)
{
var Action = document.getElementById(Category + 'Action');
var ActionDirectory = document.getElementById(Category + 'ActionDirectoryList');
var ActionPrefix = document.getElementById(Category + 'ActionPrefixText');
getTopAppWindow().SetOption('MailBox-SpamFilteringAction-' + Category, Action.value, true, 0, 1);
var ParameterValue = '';
if (Action.value == 'prefix-subject')
{
ParameterValue = ActionPrefix.value;
}
else
{
ParameterValue = ActionDirectory.value;
}
getTopAppWindow().SetOption('MailBox-SpamFilteringData-' + Category, ParameterValue, true, 0, 1);
}
function ListMailboxFilters()
{
MailboxFiltersTable.Clear();
MailboxFilters = new Array();
return LIBAjax_ServerRequest('LIST-MBX-FILTERS', '', false);
}
function GetMailboxFilterDetails(FilterID)
{
var FilterDescription = document.getElementById("FilterDescription");
var MessageFromStatus = document.getElementById("MessageFromStatus");
var MessageToStatus = document.getElementById("MessageToStatus");
var MessageCCStatus = document.getElementById("MessageCCStatus");
var MessageToOrCCStatus = document.getElementById("MessageToOrCCStatus");
var MessageAttachmentsStatus = document.getElementById("MessageAttachmentsStatus");
var MessageSubjectContainsStatus = document.getElementById("MessageSubjectContainsStatus");
var MessageContainsStatus = document.getElementById("MessageContainsStatus");
var MessageFrom = document.getElementById("MessageFrom");
var MessageTo = document.getElementById("MessageTo");
var MessageCC = document.getElementById("MessageCC");
var MessageToOrCC = document.getElementById("MessageToOrCC");
var MessageAttachments = document.getElementById("MessageAttachments");
var MessageSubjectContains = document.getElementById("MessageSubjectContains");
var MessageContains = document.getElementById("MessageContains");
var MailboxFilterAction = document.getElementById("MailboxFilterAction");
var MailboxFilterActionTargetDirectory = document.getElementById("MailboxFilterActionTargetDirectory");
var MailboxFilterActionForwardAddress = document.getElementById("MailboxFilterActionForwardAddress");
var MailboxFilterActionHeader = document.getElementById("MailboxFilterActionHeader");
var MailboxFilterActionHeaderValue = document.getElementById("MailboxFilterActionHeaderValue");
var MailboxFilterActionPrefix = document.getElementById("MailboxFilterActionPrefix");
var DefaultOperator = document.getElementById("DefaultOperator");
var FilterActions = new Array();
var ActionFolder = '';
switch (MailboxFilterAction.value) {
case 'move':
case 'copy':
ActionFolder = MailboxFilterActionTargetDirectory.value;
break;
case 'forward_to_address':
ActionFolder = MailboxFilterActionForwardAddress.value;
break;
case 'add_header':
ActionFolder = MailboxFilterActionHeader.value + '|' + MailboxFilterActionHeaderValue.value;
break;
case 'add_subject_prefix':
ActionFolder = MailboxFilterActionPrefix.value;
break;
}
FilterActions[0] =
{
Type: MailboxFilterAction.value,
Folder: ActionFolder
};
var Filter =
{
FilterID: FilterID,
Description: FilterDescription.value,
DefaultOperator:DefaultOperator.checked,
MessageFromStatus: MessageFromStatus.checked,
MessageFrom: MessageFrom.value,
MessageToStatus: MessageToStatus.checked,
MessageTo: MessageTo.value,
MessageCCStatus: MessageCCStatus.checked,
MessageCC: MessageCC.value,
MessageToOrCCStatus: MessageToOrCCStatus.checked,
MessageToOrCC: MessageToOrCC.value,
MessageAttachmentsStatus: MessageAttachmentsStatus.checked,
MessageAttachments: MessageAttachments.value,
MessageSubjectContainsStatus: MessageSubjectContainsStatus.checked,
MessageSubjectContains: MessageSubjectContains.value,
MessageContainsStatus: MessageContainsStatus.checked,
MessageContains: MessageContains.value,
Actions: FilterActions
};
return Filter;
}
function GetMailboxFilterDetailsDataString(Filter)
{
var Data = '';
if (Filter.FilterID)
{
Data = 'FilterID=' + encodeURIComponent(Filter.FilterID) + '&';
}
Data += 'Description=' + encodeURIComponent(Filter.Description);
Data += '&MessageFromStatus=' + (Filter.MessageFromStatus ? '1' : '0');
Data += '&MessageToStatus=' + (Filter.MessageToStatus ? '1' : '0');
Data += '&MessageCCStatus=' + (Filter.MessageCCStatus ? '1' : '0');
Data += '&MessageToOrCCStatus=' + (Filter.MessageToOrCCStatus ? '1' : '0');
Data += '&MessageAttachmentsStatus=' + (Filter.MessageAttachmentsStatus ? '1' : '0');
Data += '&MessageSubjectContainsStatus=' + (Filter.MessageSubjectContainsStatus ? '1' : '0');
Data += '&MessageContainsStatus=' + (Filter.MessageContainsStatus ? '1' : '0');
Data += '&MessageFrom=' + encodeURIComponent(Filter.MessageFrom);
Data += '&MessageTo=' + encodeURIComponent(Filter.MessageTo);
Data += '&MessageCC=' + encodeURIComponent(Filter.MessageCC);
Data += '&MessageToOrCC=' + encodeURIComponent(Filter.MessageToOrCC);
Data += '&MessageAttachments=' + encodeURIComponent(Filter.MessageAttachments);
Data += '&MessageSubjectContains=' + encodeURIComponent(Filter.MessageSubjectContains);
Data += '&MessageContains=' + encodeURIComponent(Filter.MessageContains);
Data += '&DefaultOperator=' + encodeURIComponent(Filter.DefaultOperator);
var Action = '';
var Folder = '';
if (Filter.Actions.length > 0)
{
Action = Filter.Actions[0].Type;
Folder = Filter.Actions[0].Folder;
}
Data += '&Action=' + encodeURIComponent(Action);
Data += '&Folder=' + encodeURIComponent(Folder);
return Data;
}
function MailboxFilterDetailsValidityCheck()
{
var FilterDescription = document.getElementById("FilterDescription");
var Valid = true;
if (FilterDescription.value == '')
{
Feedback('MailboxFilteringProperties', t_('[ME_TXT-YouMustSpecifyAFilterDescription.]'));
Valid = false;
}
return Valid;
}
function ClearMailboxFilterDetails() {
$('#FilterDescription, #MessageFrom, #MessageTo, #MessageCC, #MessageToOrCC, #MessageSubjectContains, #MessageContains, #MailboxFilterAction, #MailboxFilterActionTargetDirectory, #MailboxFilterActionForwardAddress, #MailboxFilterActionHeader, #MailboxFilterActionHeaderValue, #MailboxFilterActionPrefix').val('');
$('#MessageFromStatus, #MessageToStatus, #MessageCCStatus, #MessageToOrCCStatus, #MessageAttachmentsStatus, #MessageSubjectContainsStatus, #MessageContainsStatus').prop('checked', false);
$('#MessageAttachments').val('*.386,*.ade,*.adp,*.adt,*.bas,*.bat,*.cmd,*.com,*.crt,*.dot,*.exe,*.hta,*.inf,*.ini,*.ins,*.isp,*.js,*.jse,*.msi,*.msp,*.ov,*.pcd,*.pif,*.reg,*.scr,*.sct,*.shs,*.sys,*.vb,*.vbe,*.vbs,*.wsc,*.wsf');
SetMailboxFilterActionTargetDirectoryStatus();
}
function SetMailboxFilterDetails(FilterID)
{
var FilterDescription = document.getElementById("FilterDescription");
var MessageFromStatus = document.getElementById("MessageFromStatus");
var MessageToStatus = document.getElementById("MessageToStatus");
var MessageCCStatus = document.getElementById("MessageCCStatus");
var MessageToOrCCStatus = document.getElementById("MessageToOrCCStatus");
var MessageAttachmentsStatus = document.getElementById("MessageAttachmentsStatus");
var MessageSubjectContainsStatus = document.getElementById("MessageSubjectContainsStatus");
var MessageContainsStatus = document.getElementById("MessageContainsStatus");
var MessageFrom = document.getElementById("MessageFrom");
var MessageTo = document.getElementById("MessageTo");
var MessageCC = document.getElementById("MessageCC");
var MessageToOrCC = document.getElementById("MessageToOrCC");
var MessageAttachments = document.getElementById("MessageAttachments");
var MessageSubjectContains = document.getElementById("MessageSubjectContains");
var MessageContains = document.getElementById("MessageContains");
var MailboxFilterAction = document.getElementById("MailboxFilterAction");
var MailboxFilterActionTargetDirectory = document.getElementById("MailboxFilterActionTargetDirectory");
var MailboxFilterActionForwardAddress = document.getElementById("MailboxFilterActionForwardAddress");
var MailboxFilterActionHeader = document.getElementById("MailboxFilterActionHeader");
var MailboxFilterActionHeaderValue = document.getElementById("MailboxFilterActionHeaderValue");
var MailboxFilterActionPrefix = document.getElementById("MailboxFilterActionPrefix");
var DefaultOperator= document.getElementById("DefaultOperator");
var Filter = MailboxFilters[FilterID];
FilterDescription.value = Filter.Description;
MessageFromStatus.checked = Filter.MessageFromStatus;
MessageToStatus.checked = Filter.MessageToStatus;
MessageCCStatus.checked = Filter.MessageCCStatus;
MessageToOrCCStatus.checked = Filter.MessageToOrCCStatus;
MessageAttachmentsStatus.checked = Filter.MessageAttachmentsStatus;
MessageSubjectContainsStatus.checked = Filter.MessageSubjectContainsStatus;
MessageContainsStatus.checked = Filter.MessageContainsStatus;
MessageFrom.value = Filter.MessageFrom;
MessageTo.value = Filter.MessageTo;
MessageCC.value = Filter.MessageCC;
MessageToOrCC.value = Filter.MessageToOrCC;
MessageAttachments.value = Filter.MessageAttachments;
MessageSubjectContains.value = Filter.MessageSubjectContains;
MessageContains.value = Filter.MessageContains;
DefaultOperator.checked = Filter.DefaultOperator;
if (Filter.Actions.length > 0)
{
MailboxFilterAction.value = Filter.Actions[0].Type;
switch (Filter.Actions[0].Type) {
case 'move':
case 'copy':
if (GetIndexOfListItemByValue(MailboxFilterActionTargetDirectory, Filter.Actions[0].Folder) == -1) {
// folder name doesn't exist in the dropdown Directory list; so we'll add it.
AddItemToList(MailboxFilterActionTargetDirectory, Filter.Actions[0].Folder, Filter.Actions[0].Folder_Name, true);
}
MailboxFilterActionTargetDirectory.value = Filter.Actions[0].Folder;
break;
case 'forward_to_address':
MailboxFilterActionForwardAddress.value = Filter.Actions[0].Folder;
break;
case 'add_header':
if (Filter.Actions[0].Folder) {
var res = Filter.Actions[0].Folder.split('|');
MailboxFilterActionHeader.value = res[0];
MailboxFilterActionHeaderValue.value = res[1];
}
break;
case 'add_subject_prefix':
MailboxFilterActionPrefix.value = Filter.Actions[0].Folder;
break;
default:
break;
}
}
if (Filter.Actions.length > 1)
{
// The following comment taken from the code behind that manipulates the filters:
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// We have a problem here because the MMC allows you to do multiple actions, but webmail only allows a single.
// So, we really only want to allow them to edit it if they have only one.
// This is a problem though since it is ambiguous because in actual fact the webmail should allow them to have a list of actions to choose from.
// For now though we will just overwrite their setting.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// so I guess in this case, we will show an error feedback, and if the user clicks
// the OK button, we will have to detect this condition there also, and do nothing
Feedback('MailboxFilteringProperties', t_('[ME_TXT-FiltersWithMultipleActionsNotSupported]'));
}
SetMailboxFilterActionTargetDirectoryStatus();
}
function SetMailboxFilterActionTargetDirectoryStatus() {
$('#filtergap, #MailboxFilterActionTargetDirectoryOption, #MailboxFilterActionForward, #MailboxFilterActionAddHeader, #MailboxFilterActionAddHeaderValue, #MailboxFilterActionPrefixSubject').css('display', 'none');
switch ($('#MailboxFilterAction').val()) {
case 'move':
case 'copy':
$('#MailboxFilterActionTargetDirectoryOption').css('display','');
break;
case 'forward_to_address':
$('#MailboxFilterActionForward').css('display', '');
break;
case 'add_header':
$('#MailboxFilterActionAddHeader').css('display', '');
$('#MailboxFilterActionAddHeaderValue').css('display', '');
break;
case 'add_subject_prefix':
$('#MailboxFilterActionPrefixSubject').css('display', '');
break;
default:
$('#filtergap').css('display', '');
break;
}
}
function RemoveMailboxFilter(FilterID)
{
return LIBAjax_ServerRequest('DELETE-MBX-FILTER', 'FilterID=' + FilterID, false);
}
function EditMailboxFilter(FilterID)
{
ShowMailboxFilterDetails(FilterID);
}
function AddMailboxFilterToList(FilterID, Description)
{
var CellTexts = new Array();
CellTexts.push(Description);
CellTexts.push(t_('[ME_TXT-Remove]'));
CellTexts.push(t_('[ME_TXT-Edit]'));
var CellCallbacks = new Array();
CellCallbacks.push(null);
CellCallbacks.push(RemoveMailboxFilter);
CellCallbacks.push(EditMailboxFilter);
MailboxFiltersTable.AddRow(FilterID, CellTexts, CellCallbacks);
}
function CommitMailboxFilterDetails()
{
if (EditingFilter && MailboxFilters[EditingFilter].Actions.length > 1)
{
// Cannot edit a filter with multiple actions
getTopAppWindow().ShowAlert(t_('[ME_TXT-Error]'), t_('[ME_TXT-FiltersWithMultipleActionsNotSupported]'), true);
}
else
{
if (MailboxFilterDetailsValidityCheck())
{
CommittedFilter = GetMailboxFilterDetails(EditingFilter);
var MailboxFilterDetails = GetMailboxFilterDetailsDataString(CommittedFilter);
var Command = 'ADD-MBX-FILTER';
if (EditingFilter)
{
Command = 'EDIT-MBX-FILTER';
}
return LIBAjax_ServerRequest(Command, MailboxFilterDetails, false);
}
}
}
function ShowHidePropertiesSection(ListSectionID, PropertiesSectionID, Show)
{
var ListSection = document.getElementById(ListSectionID);
var PropertiesSection = document.getElementById(PropertiesSectionID);
ListSection.style.display = (Show ? 'none' : '');
PropertiesSection.style.display = (Show ? '' : 'none');
}
function ShowHideMailboxFilterDetails(Show)
{
ShowHidePropertiesSection('MailboxFilteringList', 'MailboxFilteringPropertiesDiv', Show);
}
function ShowMailboxFilterDetails(FilterID)
{
ClearMailboxFilterDetails();
if (FilterID)
{
SetMailboxFilterDetails(FilterID);
}
EditingFilter = FilterID;
ShowHideMailboxFilterDetails(true);
}
function HideMailboxFilterDetails()
{
ShowHideMailboxFilterDetails(false);
ClearFeedback('MailboxFilteringProperties');
}
function POPAccountDetailsValidityCheck()
{
var POPAccountServer = document.getElementById('POPAccountServer');
var POPAccountPort = document.getElementById('POPAccountPort');
var POPAccountUsername = document.getElementById('POPAccountUsername');
var POPAccountPassword = document.getElementById('POPAccountPassword');
var POPAccountAPOP = document.getElementById('POPAccountAPOP');
var POPAccountLeave = document.getElementById('POPAccountLeave');
var POPAccountEnabled = document.getElementById('POPAccountEnabled');
var Valid = true;
var InvalidDataMessage = '';
if (POPAccountServer.value == '')
{
InvalidDataMessage = t_('[ME_TXT-YoumustenteramailservernameorIPaddress]');
Valid = false;
}
else if (POPAccountPort.value == '')
{
InvalidDataMessage = t_('[ME_TXT-Youmustenteraportnumber]');
Valid = false;
}
else if (isNaN(POPAccountPort.value))
{
InvalidDataMessage = t_('[ME_TXT-Theportmustbeanumber]');
Valid = false;
}
else if (POPAccountUsername.value == '')
{
InvalidDataMessage = t_('[ME_TXT-Youmustenterausername]');
Valid = false;
}
else if (POPAccountPassword.value == '')
{
InvalidDataMessage = t_('[ME_TXT-Youmustenterapassword]');
Valid = false;
}
if (!Valid)
{
Feedback('POPRetrievalProperties', InvalidDataMessage);
}
return Valid;
}
function GetPOPAccountDetails(AccountID)
{
var POPAccountServer = document.getElementById('POPAccountServer');
var POPAccountPort = document.getElementById('POPAccountPort');
var POPAccountUsername = document.getElementById('POPAccountUsername');
var POPAccountPassword = document.getElementById('POPAccountPassword');
var POPAccountAPOP = document.getElementById('POPAccountAPOP');
var POPAccountLeave = document.getElementById('POPAccountLeave');
var POPAccountEnabled = document.getElementById('POPAccountEnabled');
var Account =
{
AccountKey: POPAccountUsername.value + '@' + POPAccountServer.value + ':' + POPAccountPort.value,
Server: POPAccountServer.value,
Port: POPAccountPort.value,
Username: POPAccountUsername.value,
Password: POPAccountPassword.value,
APOP: POPAccountAPOP.checked,
Leave: POPAccountLeave.checked,
Enabled: POPAccountEnabled.checked
};
return Account;
}
function GetPOPAccountDetailsDataString(Account, OriginalServer, OriginalPort, OriginalUsername)
{
var Data = 'Server=' + encodeURIComponent(Account.Server);
Data += '&Port=' + encodeURIComponent(Account.Port);
Data += '&POPUsername=' + encodeURIComponent(Account.Username);
Data += '&POPPassword=' + encodeURIComponent(Account.Password);
Data += '&APOP=' + (Account.APOP ? '1' : '0');
Data += '&Leave=' + (Account.Leave ? '1' : '0');
Data += '&Enabled=' + (Account.Enabled ? '1' : '0');
if (OriginalServer != null && OriginalPort != null && OriginalUsername != null)
{
Data += '&OriginalServer=' + OriginalServer;
Data += '&OriginalPort=' + OriginalPort;
Data += '&OriginalUsername=' + OriginalUsername;
}
return Data;
}
function RemovePOPAccount(AccountKey)
{
var Account = POPAccounts[AccountKey];
var Data = 'Server=' + encodeURIComponent(Account.Server);
Data += '&Port=' + encodeURIComponent(Account.Port);
Data += '&POPUsername=' + encodeURIComponent(Account.Username);
return LIBAjax_ServerRequest('DELETE-POP-ACCOUNT', Data, false);
}
function EditPOPAccount(AccountKey)
{
ShowPOPAccountProperties(AccountKey);
}
function AddPOPAccountToList(AccountKey, Server)
{
var CellTexts = new Array();
CellTexts.push(Server);
CellTexts.push(t_('[ME_TXT-Remove]'));
CellTexts.push(t_('[ME_TXT-Edit]'));
var CellCallbacks = new Array();
CellCallbacks.push(null);
CellCallbacks.push(RemovePOPAccount);
CellCallbacks.push(EditPOPAccount);
POPAccountsTable.AddRow(AccountKey, CellTexts, CellCallbacks);
}
function CommitPOPAccountProperties()
{
if (POPAccountDetailsValidityCheck())
{
var OriginalServer = null;
var OriginalPort = null;
var OriginalUsername = null;
if (EditingAccountID)
{
var OriginalAccount = POPAccounts[EditingAccountID];
OriginalServer = OriginalAccount.Server;
OriginalPort = OriginalAccount.Port;
OriginalUsername = OriginalAccount.Username;
}
CommittedAccount = GetPOPAccountDetails(EditingAccountID);
var AccountDetails = GetPOPAccountDetailsDataString(CommittedAccount, OriginalServer, OriginalPort, OriginalUsername);
var Command = 'ADD-POP-ACCOUNT';
if (EditingAccountID)
{
Command = 'EDIT-POP-ACCOUNT';
}
return LIBAjax_ServerRequest(Command, AccountDetails, false);
}
}
function ClearPOPAccountProperties()
{
$('#POPAccountServer, #POPAccountPort, #POPAccountUsername, #POPAccountPassword').val('');
$('#POPAccountAPOP, #POPAccountLeave, #POPAccountEnabled').prop('checked', false);
}
function SetPOPAccountProperties(AccountID)
{
var POPAccountServer = document.getElementById('POPAccountServer');
var POPAccountPort = document.getElementById('POPAccountPort');
var POPAccountUsername = document.getElementById('POPAccountUsername');
var POPAccountPassword = document.getElementById('POPAccountPassword');
var POPAccountAPOP = document.getElementById('POPAccountAPOP');
var POPAccountLeave = document.getElementById('POPAccountLeave');
var POPAccountEnabled = document.getElementById('POPAccountEnabled');
var Account = POPAccounts[AccountID];
POPAccountServer.value = Account.Server;
POPAccountPort.value = Account.Port;
POPAccountUsername.value = Account.Username;
POPAccountPassword.value = Account.Password;
POPAccountAPOP.checked = Account.APOP;
POPAccountLeave.checked = Account.Leave;
POPAccountEnabled.checked = Account.Enabled;
}
function ShowHidePOPAccountProperties(Show)
{
ShowHidePropertiesSection('POPRetrievalList', 'POPRetrievalPropertiesDiv', Show);
}
function ShowPOPAccountProperties(AccountID)
{
ClearPOPAccountProperties();
if (AccountID)
{
SetPOPAccountProperties(AccountID);
}
EditingAccountID = AccountID;
ShowHidePOPAccountProperties(true);
}
function HidePOPAccountProperties()
{
ShowHidePOPAccountProperties(false);
ClearFeedback('POPRetrievalProperties');
}
function ListPOPAccounts()
{
POPAccountsTable.Clear();
POPAccounts = new Array();
return LIBAjax_ServerRequest('LIST-POP-ACCOUNTS', '', false);
}
function ClearSyncMLDevice(DeviceID)
{
var sConfirmMsg = t_("[ME_TXT-AboutToDeleteSyncMLCacheDataForDeviceID]") + ": " + DeviceID + "\n" + t_("[ME_TXT-ThisMayCauseDuplicatedItemsUponNextSync]") + ". " + t_("[ME_TXT-Proceed]") + "?";
getTopAppWindow().oConfirmation.Confirm(t_("[ME_TXT-ConfirmDeleteSyncMLCache]"), sConfirmMsg, function() { return LIBAjax_ServerRequest('REMOVE-SYNCMLCACHE', 'DeviceID=' + encodeURIComponent(DeviceID), false); });
}
function ClearEASDevice(DeviceID)
{
var sConfirmMsg = t_("[ME_TXT-AboutToDeleteSyncMLCacheDataForDeviceID]") + ": " + DeviceID + "\n" + t_("[ME_TXT-ThisMayCauseDuplicatedItemsUponNextSync]") + ". " + t_("[ME_TXT-Proceed]") + "?";
getTopAppWindow().oConfirmation.Confirm(t_("[ME_TXT-ConfirmDeleteSyncMLCache]"), sConfirmMsg, function () { return LIBAjax_ServerRequest('REMOVE-EASCACHE', 'DeviceID=' + encodeURIComponent(DeviceID), false); });
}
function AddSyncMLDeviceToList(DevicesTable, DeviceID, DisplayName,fnClearAction)
{
var CellTexts = new Array();
CellTexts.push(DisplayName);
CellTexts.push(t_('[ME_TXT-ClearCache]'));
var CellCallbacks = new Array();
CellCallbacks.push(null);
CellCallbacks.push(fnClearAction);
DevicesTable.AddRow(DeviceID, CellTexts, CellCallbacks);
}
function ListSyncMLDevices()
{
SyncMLDevicesTable.Clear();
return LIBAjax_ServerRequest('LIST-SYNCMLDEVICES', '', false);
}
function ListEASDevices()
{
if (EASDevicesTable) {
EASDevicesTable.Clear();
return LIBAjax_ServerRequest('LIST-EASDEVICES', '', false);
}
}
function LoadProperties()
{
var SpamFilteringEnabled = document.getElementById('SpamFilteringEnabled');
SpamFilteringEnabled.checked = getTopAppWindow().GetOption('MailBox-SpamFilteringStatus') == '1';
LoadSpamFilterSettings('Low');
LoadSpamFilterSettings('Medium');
LoadSpamFilterSettings('High');
SetSpamFilteringControlsStatus()
var EnableCustomMailboxFiltering = document.getElementById('EnableCustomMailboxFiltering');
if (EnableCustomMailboxFiltering) {
EnableCustomMailboxFiltering.checked = getTopAppWindow().GetOption('MailBox-MailboxRulesStatus');
}
var EnableDeliverToBulk = document.getElementById('EnableDeliverToBulk');
if (EnableDeliverToBulk) {
EnableDeliverToBulk.checked = getTopAppWindow().GetOption('DeliverToBulk');
}
ListMailboxFilters();
ListPOPAccounts();
ListSyncMLDevices();
ListEASDevices();
var UseDesktopWebMail = document.getElementById('UseDesktopWebMail');
UseDesktopWebMail.checked = getTopAppWindow().GetOption('UseDesktopWebMail');
// set visibility of some sections based on user agent
if (GetBrowserScrollMode() == 2) // is iPad/iPhone
{
// minimise Mailbox Filtering panel
//OptionPanelMinimise("MailboxFilteringFrameHeader");
// minimise POP Retrieval panel
OptionPanelMinimise("POPRetrievalAccountsFrameHeader");
// minimise SyncML Devices panel
//OptionPanelMinimise("SyncMLDevicesFrameHeader");
}
}
function Save()
{
var SpamFilteringEnabled = document.getElementById('SpamFilteringEnabled');
var UseDesktopWebMail = document.getElementById('UseDesktopWebMail');
getTopAppWindow().SetOption('MailBox-SpamFilteringStatus', SpamFilteringEnabled.checked, true, 1, 1);
SaveSpamFilterSettings('Low');
SaveSpamFilterSettings('Medium');
SaveSpamFilterSettings('High');
var EnableCustomMailboxFiltering = document.getElementById('EnableCustomMailboxFiltering');
if (EnableCustomMailboxFiltering) {
getTopAppWindow().SetOption('MailBox-MailboxRulesStatus', EnableCustomMailboxFiltering.checked, true, 1, 1);
}
var EnableDeliverToBulk = document.getElementById('EnableDeliverToBulk');
if (EnableDeliverToBulk) {
getTopAppWindow().SetOption('DeliverToBulk', EnableDeliverToBulk.checked, true, 1, 1);
}
getTopAppWindow().SetOption('UseDesktopWebMail', UseDesktopWebMail.checked, true, 1, 1);
getTopAppWindow().SubmitStoredBulkOptionSettings();
getTopAppWindow().frames['frmOptions'].OnSaveSuccess();
}
function SetSpamFilteringControlsStatus()
{
var SpamFilteringEnabled = document.getElementById('SpamFilteringEnabled');
var LowAction = document.getElementById('LowAction');
var MediumAction = document.getElementById('MediumAction');
var HighAction = document.getElementById('HighAction');
var LowActionDirectoryList = document.getElementById('LowActionDirectoryList');
var MediumActionDirectoryList = document.getElementById('MediumActionDirectoryList');
var HighActionDirectoryList = document.getElementById('HighActionDirectoryList');
var LowActionPrefixText = document.getElementById('LowActionPrefixText');
var MediumActionPrefixText = document.getElementById('MediumActionPrefixText');
var HighActionPrefixText = document.getElementById('HighActionPrefixText');
LowAction.disabled = !SpamFilteringEnabled.checked;
MediumAction.disabled = !SpamFilteringEnabled.checked;
HighAction.disabled = !SpamFilteringEnabled.checked;
LowActionDirectoryList.disabled = !SpamFilteringEnabled.checked;
MediumActionDirectoryList.disabled = !SpamFilteringEnabled.checked;
HighActionDirectoryList.disabled = !SpamFilteringEnabled.checked;
LowActionPrefixText.disabled = !SpamFilteringEnabled.checked;
MediumActionPrefixText.disabled = !SpamFilteringEnabled.checked;
HighActionPrefixText.disabled = !SpamFilteringEnabled.checked;
SetActionParameterStatus('Low');
SetActionParameterStatus('Medium');
SetActionParameterStatus('High');
if (SpamFilteringEnabled.checked)
{
$('.spamFilteringStatus').removeClass('disabled');
}else{
$('.spamFilteringStatus').addClass('disabled');
}
}
function SetActionParameterStatus(Category)
{
var Action = document.getElementById(Category + 'Action');
var ActionDirectory = document.getElementById(Category + 'ActionDirectory');
var ActionPrefix = document.getElementById(Category + 'ActionPrefix');
var RequiredParameter = null;
if (Action.value == 'move' || Action.value == 'copy')
{
RequiredParameter = ActionDirectory;
}
else if (Action.value == 'prefix-subject')
{
RequiredParameter = ActionPrefix;
}
ActionDirectory.style.display = (RequiredParameter == ActionDirectory ? '' : 'none');
ActionPrefix.style.display = (RequiredParameter == ActionPrefix ? '' : 'none');
}
function IndentLabel(Label, IndentLevel)
{
var indentStr = "";
if (!IsIE(getTopAppWindow().gBrowserType) || IsIE9())
{
indentStr = " "; // non-IE flavoured browsers or IE9
}
else
{
indentStr = " "; // IE browsers (8 and below)
}
while (IndentLevel > 0)
{
Label = indentStr + Label;
IndentLevel--;
}
return Label;
}
function GetIndentLevel(RelativeFolderPath)
{
// count the number of backslashes
var count = 0;
if (!RelativeFolderPath)
return 0;
for (var i=0; i < RelativeFolderPath.length; i++)
{
if (RelativeFolderPath.charAt(i) == '\\')
{
count++;
}
}
if (count > 0)
return count - 1; // since there's always a "\" in front of each path
else
return 0;
}
function ProcessFoldersList(BaseNode)
{
var NumFolders = BaseNode.childNodes.length;
var FolderIndex = 0; ;
var FolderName, RelativeFolderPath;
var indentLevel = 0;
for (FolderIndex = 0; FolderIndex < NumFolders; FolderIndex++)
{
var FolderNode = BaseNode.childNodes[FolderIndex];
if (FolderNode.nodeType == ELEMENT_NODE_TYPE)
{
FolderName = GetXMLValue(FolderNode.getElementsByTagName("FOLDER_NAME")[0]);
RelativeFolderPath = GetXMLValue(FolderNode.getElementsByTagName("PHYSICAL_RELATIVE_FOLDER_PATH")[0]);
indentLevel = GetIndentLevel(RelativeFolderPath);
FolderName = IndentLabel(FolderName, indentLevel);
if (!RelativeFolderPath.match(/^(\\Contacts|\\Calendar|\\Tasks)$/i))
{
// add the folder normally if it's not a root special folder (i.e. Contacts, Calendar or Tasks)
AddItemToList(document.getElementById('LowActionDirectoryList'), RelativeFolderPath, FolderName);
AddItemToList(document.getElementById('MediumActionDirectoryList'), RelativeFolderPath, FolderName);
AddItemToList(document.getElementById('HighActionDirectoryList'), RelativeFolderPath, FolderName);
AddItemToList(document.getElementById('MailboxFilterActionTargetDirectory'), RelativeFolderPath, FolderName);
}
else
{
// add the root special folder but make it disabled
AddItemToList(document.getElementById('LowActionDirectoryList'), RelativeFolderPath, FolderName, false, true);
AddItemToList(document.getElementById('MediumActionDirectoryList'), RelativeFolderPath, FolderName, false, true);
AddItemToList(document.getElementById('HighActionDirectoryList'), RelativeFolderPath, FolderName, false, true);
AddItemToList(document.getElementById('MailboxFilterActionTargetDirectory'), RelativeFolderPath, FolderName, false, true);
}
}
}
}
function PopulateFoldersList(List)
{
var Folders = getTopAppWindow().GetFolders();
for (var key in Folders)
{
var FolderName = Folders[key].FolderName;
var IsRoot = Folders[key].RelativeFolderPath == '';
var IsPublicFolder = /^<Root-Public>/.test(key);
var IsFileRootFolder = /^\$FILEROOT/.test(key);
if (!IsRoot && !IsPublicFolder && !IsFileRootFolder && FolderName != 'Calendar' && FolderName != 'Contacts' && FolderName != 'Tasks')
{
AddItemToList(List, Folders[key].RelativeFolderPath, FolderName);
}
}
}
function CheckOptionStatus(ElementID, Enabled)
{
var item=document.getElementById(ElementID);
if (item) {
item.style.display = Enabled ? '' : 'none';
}
}
function CheckOptionsEnabledStatus()
{
CheckOptionStatus('SpamRulesSection', getTopAppWindow().GetOptionValue('SpamFiltering'));
CheckOptionStatus('MailboxFilteringList', getTopAppWindow().GetOptionValue('Filtering'));
CheckOptionStatus('POPRetrievalList', getTopAppWindow().GetOptionValue('POP Retrieval'));
CheckOptionStatus('SyncMLDevicesSection', getTopAppWindow().GetOptionValue('SyncML Enabled'));
CheckOptionStatus('ActiveSyncDevicesSection', getTopAppWindow().GetOptionValue('ActiveSync Enabled'));
CheckOptionStatus('DeviceDetectionSection', getTopAppWindow().GetOptionValue('UseDesktopWebMail'));
}
function OnOptionsRetrieved()
{
/*
PopulateFoldersList(document.getElementById('LowActionDirectoryList'));
PopulateFoldersList(document.getElementById('MediumActionDirectoryList'));
PopulateFoldersList(document.getElementById('HighActionDirectoryList'));
PopulateFoldersList(document.getElementById('MailboxFilterActionTargetDirectory'));
*/
CheckOptionsEnabledStatus();
LoadProperties();
}
function PageLoad()
{
var MailboxFiltersTableLocation = document.getElementById('MailboxFiltersTableLocation');
MailboxFiltersTable = new DataTable(MailboxFiltersTableLocation);
MailboxFiltersTable.CreateShell();
MailboxFiltersTable.AddColumn(t_('[ME_TXT-FilterDescription]'), 'dataTable_noWidth');
MailboxFiltersTable.AddColumn(null, 'dataTable_access');
MailboxFiltersTable.AddColumn(null, 'dataTable_action');
var POPAccountsTableLocation = document.getElementById('POPAccountsTableLocation');
POPAccountsTable = new DataTable(POPAccountsTableLocation);
POPAccountsTable.CreateShell();
POPAccountsTable.AddColumn(t_('[ME_TXT-MailServer]'), 'dataTable_noWidth');
POPAccountsTable.AddColumn(null, 'dataTable_access');
POPAccountsTable.AddColumn(null, 'dataTable_action');
var SyncMLDevicesTableLocation = document.getElementById('SyncMLDevicesTableLocation');
SyncMLDevicesTable = new DataTable(SyncMLDevicesTableLocation);
SyncMLDevicesTable.CreateShell();
SyncMLDevicesTable.AddColumn(t_('[ME_TXT-SyncMLDevices]'), 'dataTable_noWidth');
SyncMLDevicesTable.AddColumn(null, 'dataTable_access');
//do EAS table
var EASDevicesTableLocation = document.getElementById('ActiveSyncDevicesTableLocation');
if (EASDevicesTableLocation)
{
EASDevicesTable = new DataTable(EASDevicesTableLocation);
EASDevicesTable.CreateShell();
EASDevicesTable.AddColumn(t_('[ME_TXT-EASDevices]'), 'dataTable_noWidth');
EASDevicesTable.AddColumn(null, 'dataTable_access');
}
// list all the mailbox folders
LIBAjax_ServerRequest('LIST-FOLDERS', 'Page=1&Children=1', false);
getTopAppWindow().RegisterOptionsRetrievedCallback(OnOptionsRetrieved);
$('.level0_shell').css({ visibility: 'visible' });
getTopAppWindow().HidePageLoad();
getTopAppWindow().RepositionLevel0();
ScrollTo();
}
$(document).ready(function () {
window.onload = PageLoad;
$("#chkCalDAV").on('change', function () {
$("#trCalDAV").toggle();
});
$("#chkCardDAV").on('change', function () {
$("#trCardDAV").toggle();
});
$("#chkIMAP").on('change', function () {
$("#trIMAPServer").toggle();
$("#trIMAPPort").toggle();
$("#trIMAPSSL").toggle();
});
reportImportStatus(gImportStatusPollInterval);
});
function ScrollTo() {
if (window.location.hash != '') {
$(document).scrollTop($("#_" + window.location.hash.substring(1)).offset().top);
}
}
</script>
<!--[if IE 6]>
<style type="text/css">
.options_spamLevel_table {margin:0;}
</style>
<![endif]-->
<!--[if lte IE 7]>
<style type="text/css">
.bttn_right {float:left;}
.dataTable_form_head input {padding:0px;margin:0px;height:10px}
.dataTable_form .textfield {float:right;width:320px;overflow:hidden;}
</style>
<![endif]-->
<!--[if lte IE 8]>
<style type="text/css">
body {height:auto !important;}
</style>
<![endif]-->
<!--[if IE 9]>
<style type="text/css">
.optionsPanel_top_title {padding:3px 0px 0px 7px;}
</style>
<![endif]-->
<%If MailEnable.Administration.modConfig.GetProductVersion() < 11 Then %>
<style type="text/css">
#DefaultOperator_label {display:none}
#DefaultOperator {display:none}
</style>
<%End If%>
</head>
<body class="options_background" onhashchange="ScrollTo();" onload="PageLoad();" style="-ms-scroll-chaining:none;">
<div class="level0_shell options">
<div id="options_shell_js">
<div class="options_shell_inner">
<!-- Spam Filtering -->
<a id="_SpamRules"></a>
<div id="SpamRulesSection">
<uc2:uscPageBorder_Start ID="SpamFilteringFrameHeader" runat="server" HasHelp="True" HelpTopic="Spam_Rules"></uc2:uscPageBorder_Start>
<div class="optionsPanel_body_shell">
<table class="options_form_table_fixed" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="options_table_checkbox"><input id="SpamFilteringEnabled" onclick="SetSpamFilteringControlsStatus();" class="checkbox" type="checkbox" value=""/></td>
<td><h2><label for="SpamFilteringEnabled"><%=uscToken.GetText("[ME_TXT-EnableMailboxSpamFiltering]")%></label></h2></td>
</tr>
</table>
<!-- SpamLevel Table -->
<table class="options_spamLevel_table" border="0" cellspacing="0" cellpadding="0" style="border-collapse:inherit;">
<tr>
<td class="options_spamLevel_table_td">
<table class="options_spamLevel_head_table" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="options_spamLevel_head_table_left"><div class="options_spamLevel_low"></div></td>
<td><h2><%=uscToken.GetText("[ME_TXT-LowRiskSpamMessages]")%></h2></td>
</tr>
</table>
</td>
<td class="options_spamLevel_table_td">
<table class="options_spamLevel_head_table" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="options_spamLevel_head_table_left"><div class="options_spamLevel_mid"></div></td>
<td><h2><%=uscToken.GetText("[ME_TXT-ModerateRiskSpamMessages]")%></h2></td>
</tr>
</table>
</td>
<td class="options_spamLevel_table_td">
<table class="options_spamLevel_head_table" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="options_spamLevel_head_table_left"><div class="options_spamLevel_hi"></div></td>
<td><h2><%=uscToken.GetText("[ME_TXT-HighRiskSpamMessages]")%></h2></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<%=uscToken.GetText("[ME_TXT-MessagesthathavesomecharacteristicsofSpam]")%>.<br /><br />
<%=uscToken.GetText("[ME_TXT-TypicallytheseareMessagesthatfailatleastoneSpamtest]")%>.
</td>
<td>
<%=uscToken.GetText("[ME_TXT-MessagesthatarelikelytobeSpam]")%>.<br /><br />
<%=uscToken.GetText("[ME_TXT-TypicallythesearemessagesthatsignificantlyfailSpamtests]")%>.
</td>
<td>
<%=uscToken.GetText("[ME_TXT-MessagesthatareverylikelytobeSpam]")%>.<br /><br />
<%=uscToken.GetText("[ME_TXT-TypicallythesearemessagesthatseverelyfailSpamtests]")%>.
</td>
</tr>
<tr>
<td class="spamFilteringStatus">
<h3><%=uscToken.GetText("[ME_TXT-ActiontoPerform]")%>:</h3>
<select id="LowAction" onchange="SetActionParameterStatus('Low');">
<option selected value=""><%=uscToken.GetText("[ME_TXT-NoAction]")%></option>
<option value="delete"><%=uscToken.GetText("[ME_TXT-DeletetheMessage]")%></option>
<option value="move"><%=uscToken.GetText("[ME_TXT-MoveMessagetoFolder]")%>...</option>
<option value="copy"><%=uscToken.GetText("[ME_TXT-CopyMessagetoFolder]")%>...</option>
<option value="junk"><%=uscToken.GetText("[ME_TXT-MoveMessagetoJunkMailFolder]")%></option>
<option value="prefix-subject"><%=uscToken.GetText("[ME_TXT-AddPrefixtoSubject]")%>...</option>
</select>
<div id="LowActionDirectory">
<h3><%=uscToken.GetText("[ME_TXT-Directory]")%>:</h3>
<select id="LowActionDirectoryList"></select>
</div>
<div id="LowActionPrefix">
<h3><%=uscToken.GetText("[ME_TXT-Prefix]")%>:</h3>
<input id="LowActionPrefixText" class="textfield" type="text"></input>
</div>
</td>
<td class="spamFilteringStatus">
<h3><%=uscToken.GetText("[ME_TXT-ActiontoPerform]")%>:</h3>
<select id="MediumAction" onchange="SetActionParameterStatus('Medium');">
<option selected value=""><%=uscToken.GetText("[ME_TXT-NoAction]")%></option>
<option value="delete"><%=uscToken.GetText("[ME_TXT-DeletetheMessage]")%></option>
<option value="move"><%=uscToken.GetText("[ME_TXT-MoveMessagetoFolder]")%>...</option>
<option value="copy"><%=uscToken.GetText("[ME_TXT-CopyMessagetoFolder]")%>...</option>
<option value="junk"><%=uscToken.GetText("[ME_TXT-MoveMessagetoJunkMailFolder]")%></option>
<option value="prefix-subject"><%=uscToken.GetText("[ME_TXT-AddPrefixtoSubject]")%>...</option>
</select>
<div id="MediumActionDirectory">
<h3><%=uscToken.GetText("[ME_TXT-Directory]")%>:</h3>
<select id="MediumActionDirectoryList"></select>
</div>
<div id="MediumActionPrefix">
<h3><%=uscToken.GetText("[ME_TXT-Prefix]")%>:</h3>
<input id="MediumActionPrefixText" class="textfield" type="text"></input>
</div>
</td>
<td class="spamFilteringStatus">
<h3><%=uscToken.GetText("[ME_TXT-ActiontoPerform]")%>:</h3>
<select id="HighAction" onchange="SetActionParameterStatus('High');">
<option selected value=""><%=uscToken.GetText("[ME_TXT-NoAction]")%></option>
<option value="delete"><%=uscToken.GetText("[ME_TXT-DeletetheMessage]")%></option>
<option value="move"><%=uscToken.GetText("[ME_TXT-MoveMessagetoFolder]")%>...</option>
<option value="copy"><%=uscToken.GetText("[ME_TXT-CopyMessagetoFolder]")%>...</option>
<option value="junk"><%=uscToken.GetText("[ME_TXT-MoveMessagetoJunkMailFolder]")%></option>
<option value="prefix-subject"><%=uscToken.GetText("[ME_TXT-AddPrefixtoSubject]")%>...</option>
</select>
<div id="HighActionDirectory">
<h3><%=uscToken.GetText("[ME_TXT-Directory]")%>:</h3>
<select id="HighActionDirectoryList"></select>
</div>
<div id="HighActionPrefix">
<h3><%=uscToken.GetText("[ME_TXT-Prefix]")%>:</h3>
<input id="HighActionPrefixText" class="textfield" type="text"></input>
</div>
</td>
</tr>
</table>
</div><!-- optionsPanel_body_shell -->
<uc3:uscPageBorder_End ID="SpamFilteringFrameFooter" runat="server"></uc3:uscPageBorder_End>
</div>
<!-- Mailbox Filtering -->
<a id="_MailboxFiltering"></a>
<div id="MailboxFilteringList">
<uc2:uscPageBorder_Start ID="MailboxFilteringFrameHeader" runat="server" HasHelp="True" HelpTopic="Filtering"></uc2:uscPageBorder_Start>
<div class="optionsPanel_body_shell">
<!-- Feedback -->
<div id="MailboxFilteringFeedback" class="options_feedback" style="display: none;"></div>
<table class="options_form_table_fixed" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="options_table_checkbox"><input id="EnableCustomMailboxFiltering" class="checkbox" type="checkbox" value=""/></td>
<td><h2><label for="EnableCustomMailboxFiltering"><%=uscToken.GetText("[ME_TXT-EnableCustomMailboxFiltering]")%></label></h2></td>
</tr>
</table>
<table class="options_form_table" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<div class="options_form_description">
<%=uscToken.GetText("[ME_TXT-MessageFilteringAllowsYouTo...]")%>
</div>
</td>
</tr>
<tr>
<td><div class="options_form_gap"></div></td>
</tr>
<tr>
<td>
<div class="dataTable2_shell" id="MailboxFiltersTableLocation">
</div><!-- dataTable2_shell -->
</td>
</tr>
<tr>
<td><div class="options_form_gap"></div></td>
</tr>
<tr>
<td>
<div class="bttn_float_left" onclick="ShowMailboxFilterDetails();">
<div class="bttn_left" onselectstart="return false;"><div class="bttn_icon_add"></div><div class="bttn_txt"><%=uscToken.GetText("[ME_TXT-NewFilter]")%></div></div>
<div class="bttn_right"></div>
</div>
</td>
</tr>
</table>
<%If DeliverToBulkEnabled() Then %>
<!-- Start Bulk E-Mail -->
<table class="options_form_table_fixed" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="options_table_checkbox"><input id="EnableDeliverToBulk" class="checkbox" type="checkbox" value=""/></td>
<td><h2><label for="EnableDeliverToBulk">Deliver Bulk and List messages to Bulk E-Mail Folder</label></h2></td>
</tr>
</table><!-- End Bulk E-Mail -->
<%End If %>
</div><!-- optionsPanel_body_shell -->
<uc3:uscPageBorder_End ID="MailboxFilteringFrameFooter" runat="server"></uc3:uscPageBorder_End>
</div>
<!-- Mailbox Filtering: Properties -->
<a id="_MailboxFilteringProperties"></a>
<div id="MailboxFilteringPropertiesDiv" style="display: none;">
<uc2:uscPageBorder_Start ID="MailboxFilteringPropertiesFrameHeader" runat="server"></uc2:uscPageBorder_Start>
<div class="optionsPanel_body_shell">
<!-- Feedback -->
<div id="MailboxFilteringPropertiesFeedback" class="options_feedback" style="display: none;"></div>
<table class="options_form_table" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2">
<div class="options_form_description">
<%=uscToken.GetText("[ME_TXT-MessageFilteringAllowsYouTo...]")%>
</div>
</td>
</tr>
<tr>
<td colspan="2"><div class="options_form_gap"></div></td>
</tr>
</table>
<table class="options_form_table" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="options_form_table_label"><div class="options_form_label"><h2><%=uscToken.GetText("[ME_TXT-FilterDescription]")%>:</h2></div></td>
<td><input id="FilterDescription" class="textfield" type="text"/></td>
</tr>
<tr>
<td colspan="2"><div class="options_form_gap"></div></td>
</tr>
</table>
<table class="options_form_table" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<div class="dataTable_form_shell">
<table class="dataTable_form" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="dataTable_form_minWidth dataTable_form_head" colspan="2"><div class="options_form_label"><%=uscToken.GetText("[ME_TXT-FilteringCriteria]")%></div></td>
<td class="dataTable_form_head"><div class="options_form_label"><%=uscToken.GetText("[ME_TXT-CriteriaData]")%></div></td>
</tr>
<tr>
<td class="dataTable_form_checkbox"><input id="MessageFromStatus" type="checkbox" value=""/></td>
<td class="dataTable_form_minWidth"><div class="options_form_label"><label for="MessageFromStatus"><%=uscToken.GetText("[ME_TXT-MessageFrom]")%>:</label></div></td>
<td><input id="MessageFrom" class="textfield" type="text"/></td>
</tr>
<tr>
<td class="dataTable_form_checkbox"><input id="MessageToStatus" type="checkbox" value="" /></td>
<td class="dataTable_form_minWidth"><div class="options_form_label"><label for="MessageToStatus"><%=uscToken.GetText("[ME_TXT-MessageTo]")%>:</label></div></td>
<td><input id="MessageTo" class="textfield" type="text" /></td>
</tr>
<tr>
<td class="dataTable_form_checkbox"><input id="MessageCCStatus" type="checkbox" value="" /></td>
<td class="dataTable_form_minWidth"><div class="options_form_label"><label for="MessageCCStatus"><%=uscToken.GetText("[ME_TXT-MessageCc]")%>:</label></div></td>
<td><input id="MessageCC" class="textfield" type="text" /></td>
</tr>
<tr>
<td class="dataTable_form_checkbox"><input id="MessageToOrCCStatus" type="checkbox" value="" /></td>
<td class="dataTable_form_minWidth"><div class="options_form_label"><label for="MessageToOrCCStatus"><%=uscToken.GetText("[ME_TXT-MessageToOrCc]")%>:</label></div></td>
<td><input id="MessageToOrCC" class="textfield" type="text" /></td>
</tr>
<tr>
<td class="dataTable_form_checkbox"><input id="MessageAttachmentsStatus" type="checkbox" value=""/></td>
<td class="dataTable_form_minWidth"><div class="options_form_label"><label for="MessageAttachmentsStatus"><%=uscToken.GetText("[ME_TXT-Attachments]")%>:</label></div></td>
<td><input id="MessageAttachments" class="textfield" type="text"/></td>
</tr>
<tr>
<td class="dataTable_form_checkbox"><input id="MessageSubjectContainsStatus" type="checkbox" value="" /></td>
<td class="dataTable_form_minWidth"><div class="options_form_label"><label for="MessageSubjectContainsStatus"><%=uscToken.GetText("[ME_TXT-MessageSubjectContains]")%>:</label></div></td>
<td><input id="MessageSubjectContains" class="textfield" type="text" /></td>
</tr>
<tr>
<td class="dataTable_form_checkbox"><input id="MessageContainsStatus" type="checkbox" value="" /></td>
<td class="dataTable_form_minWidth"><div class="options_form_label"><label for="MessageContainsStatus"><%=uscToken.GetText("[ME_TXT-MessageContains]")%>:</label></div></td>
<td><input id="MessageContains" class="textfield" type="text" /></td>
</tr>
<tr>
<td colspan="3" style="height:25px"></td>
</tr>
<tr>
<td class="dataTable_form_minWidth"><input id="DefaultOperator" type="checkbox" value="" /></td>
<td class="dataTable_form_minWidth"><div class="options_form_label" id="DefaultOperator_label"><label for="DefaultOperator"><%=uscToken.GetText("[ME_TXT-DefaultOperator]")%></label></div></td>
<td>
<div class="options_form_description">
<%=uscToken.GetText("[ME_TXT-YouCanUseAsterixesAsWildCards...]")%>
</div>
</td>
</tr>
</table>
</div><!-- dataTable_form_shell -->
<div class="options_form_gap"></div>
<div class="options_form_description">
<%=uscToken.GetText("[ME_TXT-WhenTheAboveConditionsAreMet...]")%>:
</div>
<div class="options_form_gap"></div>
<table class="options_form_table" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="options_form_table_label"><div class="options_form_label"><h2><%=uscToken.GetText("[ME_TXT-FilterAction]")%>:</h2></div></td>
<td style="width:100%">
<select id="MailboxFilterAction" onclick="SetMailboxFilterActionTargetDirectoryStatus();">
<option selected value=""><%=uscToken.GetText("[ME_TXT-NoAction]")%></option>
<option value="delete"><%=uscToken.GetText("[ME_TXT-DeletetheMessage]")%></option>
<option value="move"><%=uscToken.GetText("[ME_TXT-MoveMessagetoFolder]")%>...</option>
<option value="copy"><%=uscToken.GetText("[ME_TXT-CopyMessagetoFolder]")%>...</option>
<option value="junk"><%=uscToken.GetText("[ME_TXT-MoveMessagetoJunkMailFolder]")%></option>
<option value="quarantine"><%=uscToken.GetText("[ME_TXT-MoveMessageToQuarantineFolder]")%></option>
<option value="forward_to_address"><%=uscToken.GetText("[ME_TXT-ForwardToAddress]")%></option>
<option value="add_header"><%=uscToken.GetText("[ME_TXT-AddMessageHeader]")%></option>
<option value="add_subject_prefix"><%=uscToken.GetText("[ME_TXT-AddPrefixtoSubject]")%></option>
</select>
</td>
</tr>
<tr id="filtergap" style="visibility:hidden">
<td class="options_form_table_label"><div class="options_form_label"> </div></td>
<td style="width:100%"><input id="a" /></td>
</tr>
<tr id="MailboxFilterActionTargetDirectoryOption">
<td class="options_form_table_label"><div class="options_form_label"><h2><%=uscToken.GetText("[ME_TXT-Directory]")%>:</h2></div></td>
<td style="width:100%"><select id="MailboxFilterActionTargetDirectory"></select></td>
</tr>
<tr id="MailboxFilterActionForward">
<td class="options_form_table_label"><div class="options_form_label"><h2><%=uscToken.GetText("[ME_TXT-ForwardToAddress]")%>:</h2></div></td>
<td style="width:100%"><input id="MailboxFilterActionForwardAddress" class="textfield" type="text" /></td>
</tr>
<tr id="MailboxFilterActionAddHeader">
<td class="options_form_table_label"><div class="options_form_label"><h2><%=uscToken.GetText("[ME_TXT-HeaderItem]")%>:</h2></div></td>
<td style="width:100%"><input id="MailboxFilterActionHeader" class="textfield" type="text" /></td>
</tr>
<tr id="MailboxFilterActionAddHeaderValue">
<td class="options_form_table_label"><div class="options_form_label"><h2><%=uscToken.GetText("[ME_TXT-HeaderValue]")%>:</h2></div></td>
<td style="width:100%"><input id="MailboxFilterActionHeaderValue" class="textfield" type="text" /></td>
</tr>
<tr id="MailboxFilterActionPrefixSubject">
<td class="options_form_table_label"><div class="options_form_label"><h2><%=uscToken.GetText("[ME_TXT-AddPrefixtoSubject]")%>:</h2></div></td>
<td style="width:100%"><input id="MailboxFilterActionPrefix" class="textfield" type="text" /></td>
</tr>
</table>
<!-- Footer Bttns -->
<div class="popupWin_foot_bttns short">
<div class="bttn_float_right" onclick="HideMailboxFilterDetails();">
<div class="bttn_left" onselectstart="return false;"><div class="compose_bttn_okCancel"><%=uscToken.GetText("[ME_TXT-Cancel]")%></div></div>
<div class="bttn_right"></div>
</div>
<div class="bttn_float_right" onclick="CommitMailboxFilterDetails();">
<div class="bttn_left" onselectstart="return false;"><div class="compose_bttn_okCancel"><%=uscToken.GetText("[ME_TXT-Save]")%></div></div>
<div class="bttn_right"></div>
</div>
</div><!-- popupWin_foot_bttns -->
</td>
</tr>
</table>
</div><!-- optionsPanel_body_shell -->
<uc3:uscPageBorder_End ID="MailboxFilteringPropertiesFrameFooter" runat="server"></uc3:uscPageBorder_End>
</div>
<!-- POP Retrieval: Accounts -->
<a id="_POPRetrieval"></a>
<div id="POPRetrievalList">
<uc2:uscPageBorder_Start ID="POPRetrievalAccountsFrameHeader" runat="server" HasHelp="True" HelpTopic="POP_Retrieval"></uc2:uscPageBorder_Start>
<div class="optionsPanel_body_shell">
<!-- Feedback -->
<div id="POPRetrievalFeedback" class="options_feedback" style="display: none;"></div>
<table class="options_form_table" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<div class="options_form_description">
<%=uscToken.GetText("[ME_TXT-POPRetrievalCaption]")%>
</div>
</td>
</tr>
<tr>
<td><div class="options_form_gap"></div></td>
</tr>
<tr>
<td>
<div class="dataTable2_shell" id="POPAccountsTableLocation">
</div><!-- dataTable2_shell -->
</td>
</tr>
<tr>
<td><div class="options_form_gap"></div></td>
</tr>
<tr>
<td>
<div class="bttn_float_left" onclick="ShowPOPAccountProperties();">
<div class="bttn_left" onselectstart="return false;">
<div class="bttn_icon_add"></div>
<div class="bttn_txt"><%=uscToken.GetText("[ME_TXT-AddAccount]")%></div>
</div>
<div class="bttn_right"></div>
</div>
</td>
</tr>
</table>
</div><!-- optionsPanel_body_shell -->
<uc3:uscPageBorder_End ID="POPRetrievalAccountsFrameFooter" runat="server"></uc3:uscPageBorder_End>
</div>
<!-- POP Retrieval - Properties -->
<a id="_POPRetrievalProperties"></a>
<div id="POPRetrievalPropertiesDiv" style="display: none;">
<uc2:uscPageBorder_Start ID="POPRetrievalPropertiesFrameHeader" runat="server"></uc2:uscPageBorder_Start>
<div class="optionsPanel_body_shell">
<!-- Feedback -->
<div id="POPRetrievalPropertiesFeedback" class="options_feedback" style="display: none;"></div>
<table class="options_form_table" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="options_form_table_label"><div class="options_form_label"><%=uscToken.GetText("[ME_TXT-MailServer]")%>:</div></td>
<td><input id="POPAccountServer" class="textfield" type="text" value=""/></td>
</tr>
<tr>
<td class="options_form_table_label"><div class="options_form_label"><%=uscToken.GetText("[ME_TXT-Port]")%>:</div></td>
<td><input id="POPAccountPort" class="textfield" type="text" value="110"/></td>
</tr>
<tr>
<td class="options_form_table_label"><div class="options_form_label"><%=uscToken.GetText("[ME_TXT-Username]")%>:</div></td>
<td><input id="POPAccountUsername" class="textfield" type="text" value="username"/></td>
</tr>
<tr>
<td class="options_form_table_label"><div class="options_form_label"><%=uscToken.GetText("[ME_TXT-Password]")%>:</div></td>
<td><input id="POPAccountPassword" class="textfield" type="password" value=""/></td>
</tr>
</table>
<br />
<table class="options_form_table_fixed" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="options_table_checkbox"><input id="POPAccountAPOP" class="checkbox" type="checkbox" value=""/></td>
<td><label for="POPAccountAPOP"><%=uscToken.GetText("[ME_TXT-APOPAuthentication]")%></label></td>
</tr>
<tr>
<td class="options_table_checkbox"><input id="POPAccountLeave" class="checkbox" type="checkbox" value=""/></td>
<td><label for="POPAccountLeave"><%=uscToken.GetText("[ME_TXT-Downloadnewmessagesonly(leavingmessagesonremoteserver)]")%></label></td>
</tr>
<tr>
<td class="options_table_checkbox"><input id="POPAccountEnabled" class="checkbox" type="checkbox" value=""/></td>
<td><label for="POPAccountEnabled"><%=uscToken.GetText("[ME_TXT-AccountEnabled]")%></label></td>
</tr>
</table>
<!-- Footer Bttns -->
<div class="popupWin_foot_bttns">
<div class="bttn_float_right" onclick="HidePOPAccountProperties();">
<div class="bttn_left" onselectstart="return false;"><div class="compose_bttn_okCancel"><%=uscToken.GetText("[ME_TXT-Cancel]")%></div></div>
<div class="bttn_right"></div>
</div>
<div class="bttn_float_right" onclick="CommitPOPAccountProperties();">
<div class="bttn_left" onselectstart="return false;"><div class="compose_bttn_okCancel"><%=uscToken.GetText("[ME_TXT-OK]")%></div></div>
<div class="bttn_right"></div>
</div>
</div><!-- popupWin_foot_bttns -->
</div><!-- optionsPanel_body_shell -->
<uc3:uscPageBorder_End ID="POPRetrievalPropertiesFrameFooter" runat="server"></uc3:uscPageBorder_End>
</div>
<!-- SyncML Devices -->
<a id="_SyncMLDevices"></a>
<div id="SyncMLDevicesSection">
<uc2:uscPageBorder_Start ID="SyncMLDevicesFrameHeader" runat="server"></uc2:uscPageBorder_Start>
<div class="optionsPanel_body_shell">
<table class="options_form_table" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<div class="options_form_description">
<%=uscToken.GetText("[ME_TXT-DeviceListCaption]")%>
</div>
</td>
</tr>
<tr>
<td><div class="options_form_gap"></div></td>
</tr>
<tr>
<td>
<div class="dataTable2_shell" id="SyncMLDevicesTableLocation">
</div><!-- dataTable2_shell -->
</td>
</tr>
</table>
</div><!-- optionsPanel_body_shell -->
<uc3:uscPageBorder_End ID="SyncMLDevicesFrameFooter" runat="server"></uc3:uscPageBorder_End>
</div>
<%If ShowEASManagement() Then %>
<!-- EAS Devices -->
<a id="_ActiveSyncDevices"></a>
<div id="ActiveSyncDevicesSection">
<uc2:uscPageBorder_Start ID="ActiveSyncDevicesFrameHeader" runat="server"></uc2:uscPageBorder_Start>
<div class="optionsPanel_body_shell">
<table class="options_form_table" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<div class="options_form_description">
<%=uscToken.GetText("[ME_TXT-DeviceListCaption]")%>
</div>
</td>
</tr>
<tr>
<td><div class="options_form_gap"></div></td>
</tr>
<tr>
<td>
<div class="dataTable2_shell" id="ActiveSyncDevicesTableLocation">
</div><!-- dataTable2_shell -->
</td>
</tr>
</table>
</div><!-- optionsPanel_body_shell -->
<uc3:uscPageBorder_End ID="ActiveSyncDevicesFrameFooter" runat="server"></uc3:uscPageBorder_End>
</div>
<%End If %>
<!-- Device Detection -->
<a id="_DeviceDetection"></a>
<div id="DeviceDetectionSection">
<uc2:uscPageBorder_Start ID="DeviceDetectionFrameHeader" runat="server"></uc2:uscPageBorder_Start>
<div class="optionsPanel_body_shell">
<table class="options_form_table_fixed" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="options_table_checkbox"><input id="UseDesktopWebMail" class="checkbox" name="deleted_msg" type="checkbox" value=""/></td>
<td><label for="UseDesktopWebMail"><%=uscToken.GetText("[ME_TXT-UseDesktopWebMail]")%></label></td>
</tr>
</table>
</div><!-- optionsPanel_body_shell -->
<uc3:uscPageBorder_End ID="DeviceDetectionFrameFooter" runat="server"></uc3:uscPageBorder_End>
</div>
<!-- Import -->
<div id="ImportSection" <%=IIf(AllowImport(),""," style=""display:none""")%>>
<a id="_Import"></a>
<uc2:uscPageBorder_Start ID="ImportFrameHeader" runat="server"></uc2:uscPageBorder_Start>
<div class="optionsPanel_body_shell">
<div id="dvMigrationCaption"><%=uscToken.GetText("[ME_TXT-MigrationCaption]")%></div><br />
<div id="dvImportStatus" style="display:none">
<div id="dvImportStatusDescription"></div><br />
<input id="dvDeQueueImport" type="button" value='<%=uscToken.GetText("[ME_TXT-Remove]")%>' style="display:none;float:right;height:22px;width:100px;margin-left:2px;cursor:pointer;" onclick="doDeQueueImport();" />
</div>
<table id="tblImportSettings" class="options_form_table" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="options_form_table_label"><div class="options_form_label"><%=uscToken.GetText("[ME_TXT-Username]")%>:</div></td>
<td><input id="txtUserName" class="textfield" type="text" value="<%=Session.Item("AUTH_USERNAME")%>@<%=Session.Item("AUTH_ACCOUNT")%>"/></td>
</tr>
<tr>
<td class="options_form_table_label"><div class="options_form_label"><%=uscToken.GetText("[ME_TXT-Password]")%>:</div></td>
<td><input id="txtPassword" class="textfield" type="password" value=""/></td>
</tr>
<tr><td><table><tr><td><input id="chkCardDAV" type="checkbox"/></td><td><b><label for="chkCardDAV"><%=uscToken.GetText("[ME_TXT-Contacts]")%></label></b></td></tr></table></td></tr>
<tr id="trCardDAV" style="display:none">
<td class="options_form_table_label" style="padding-left: 20px;"><div class="options_form_label"><%=uscToken.GetText("[ME_TXT-CardDAVURL]")%>:</div></td>
<td><input id="txtCardDAVURL" class="textfield" type="text" value="<%=defaultCardDAVURL%>"/></td>
</tr>
<tr><td><table><tr><td><input id="chkCalDAV" type="checkbox"/></td><td><b><label for="chkCalDAV"><%=uscToken.GetText("[ME_TXT-Calendar]")%></label></b></td></tr></table></td></tr>
<tr id="trCalDAV" style="display:none">
<td class="options_form_table_label" style="padding-left: 20px;"><div class="options_form_label"><%=uscToken.GetText("[ME_TXT-CalDAVURL]")%>:</div></td>
<td><input id="txtCalDAVURL" type="text" class="textfield" value="<%=defaultCalDAVURL%>"/></td>
</tr>
<tr><td><table><tr><td><input id="chkIMAP" type="checkbox"/></td><td><b><label for="chkIMAP"><%=uscToken.GetText("[ME_TXT-Messages]")%></label></b></td></tr></table></td></tr>
<tr id="trIMAPServer" style="display:none"><td class="options_form_table_label" style="padding-left: 20px;"><div class="options_form_label"><%=uscToken.GetText("[ME_TXT-Server]")%>:</div></td><td><input id="txtServerAddress" type="text" class="textfield" value="<%=defaultCalDAVURL%>"/></td></tr>
<tr id="trIMAPPort" style="display:none"><td class="options_form_table_label" style="padding-left: 20px;"><div class="options_form_label"><%=uscToken.GetText("[ME_TXT-Port]")%>:</div></td><td><input id="txtPort" type="text" style="width:300px" value="<%=defaultIMAPPort%>"/></td></tr>
<tr id="trIMAPSSL" style="display:none"><td class="options_form_table_label" style="padding-left: 20px;"><div class="options_form_label"><label for="chkUseSSL"><%=uscToken.GetText("[ME_TXT-UseSSL]")%>:</label></div></td><td><input id="chkUseSSL" type="checkbox" style="width:300px" <%=IIf(String.IsNUllOrEmpty(defaultIMAPSSL) OrElse defaultIMAPSSL="0","","checked=""checked""")%>/></td></tr>
<tr><td class="options_form_table_label" colspan="2" align="right"><br /><input id="btnImportCardDAV" type="button" value='<%=uscToken.GetText("[ME_TXT-Import]")%>' style="float:right;height:22px;width:100px;margin-left:2px;cursor:pointer;" onclick="doImport();" /></td></tr>
</table>
</div><!-- optionsPanel_body_shell -->
<uc3:uscPageBorder_End ID="ImportFrameFooter" runat="server"></uc3:uscPageBorder_End>
</div>
</div> <!-- options_shell_inner -->
</div> <!-- options_shell_js -->
</div><!-- level0_shell -->
</body>
</html>