403Webshell
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 :  C:/Program Files (x86)/Mail Enable/Bin/NETWebMail/Mondo/lang/sys/Forms/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Program Files (x86)/Mail Enable/Bin/NETWebMail/Mondo/lang/sys/Forms//Advanced.aspx
<%@ 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 = "&nbsp;&nbsp;&nbsp;";   // 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">&nbsp;</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>

Youez - 2016 - github.com/yon3zu
LinuXploit