HOME


Mini Shell 1.0
DIR:/usr/local/cwpsrv/var/services/users/mefccpc/cwp_theme/original/js/modules/
Upload File :
Current File : //usr/local/cwpsrv/var/services/users/mefccpc/cwp_theme/original/js/modules/email_importer.js.twig
console.log();
let importer = {};
Dropzone.options.importerDropZone = {
    init: function () {
        this.on("removedfile", function (file) {
            $('.for-csv').fadeOut('fast');
            $('.step2-next-btn').prop('disabled', true);
        });
    },
    paramName: "importer-file", // The name that will be used to transfer the file
    maxFilesize: 2, // MB
    acceptedFiles: '.csv,.xls',
    maxFiles: 1,
    addRemoveLinks: true,
    dictInvalidFileType: '{{langmod.LABIMP41}}',
    dictMaxFilesExceeded: '{{langmod.LABIMP42}}',
    dictDefaultMessage: '<span>{{langmod.LABIMP43}} <span class="dropzone-mutted">({{langmod.LABIMP44}})</span></span>',
    success: function (file, response) {
        if (response.result !== undefined && response.result === 'success') {
            if (file.type === 'text/csv') {
                $('.for-csv').fadeIn('fast');
            } else {
                $('.for-csv').fadeOut('fast');
            }
            console.log(response);
            importer.identifier = response.identifier;
            // $('#_file_identifier').val(response.identifier);
            // importer.identifier = response.identifier;
            // $('#_file_identifier').val('response.identifier');
            $('.step2-next-btn').prop('disabled', false);
        } else {
            let message_error = '{{langmod.LABIMP45}}';
            if (response.hasOwnProperty('code')) {
                if (response.code == 2) {
                    message_error = '{{langmod.LABCLAM59}}';
                } else if (response.code == 1) {
                    message_error = '{{langmod.LABIMP46}}';
                }
            }
            noti_bubble(message_error, '{{langmod.LABIMP47}}', 'error', false, false, '5000', true);
            this.removeAllFiles(true);
        }
    }
};
let step2_buttons = '';
let step3_buttons = '';
let last_step_buttons = '';
let uchip = null;

$(document).ready(function () {
    {% if mod.isie == 1 %}
    uchip = new $.Uchip();
    {% else %}
    uchip = new Uchip();
    {% endif %}
    importer.first_row = false;
    importer.promote = false;
    importer.alias_append = false; 
    $('.for-csv').fadeOut('fast');
    // console.log('step2_buttons', step2_buttons);
    step2_buttons = $('#_step_2_buttons').html();
    step3_buttons = $('#_step_3_buttons').html();
    last_step_buttons = $('#_step_4_buttons').html();
    $('#_promote_domain_selector_').select2();
    $('#_promote_domain_selector_').on('select2:select', function (e) {
        var data = e.params.data;
        importer.promote_to = data.id;
        if (data.id != '') {
            $('#select2-_promote_domain_selector_-container').addClass('val-selected');
        } else {
            $('#select2-_promote_domain_selector_-container').removeClass('val-selected');
        }
    });
    // console.log('step2_buttons', step2_buttons);
    $('[data-toggle="tooltip"]').tooltip();
});
function changeFirstCol(elem) {
    if ($(elem).is(':checked')) {
        importer.first_row = $(elem).val() === "yes";
    }
}
function changeAppendAlias(elem) {
    if ($(elem).is(':checked')) {
        importer.alias_append = $(elem).val() === "yes";
    }
}
function promoteCheck(elem) {
    if ($(elem).is(':checked')) {
        importer.promote = $(elem).val() === "yes";
        $('#_promote_domain_selector_wrapper').slideUp('fast');
    }
    if (importer.promote === true) {
        $('#_promote_domain_selector_wrapper').slideDown('fast');
    }
}
function browseFile() {
    $('#importer-drop-zone').trigger('click');
}
function changeDelimiter(elem) {
    let other_delimiter = $('#_other_delimiter');
    if ($(elem).val() === '*') {
        other_delimiter.removeClass('error');
        other_delimiter.fadeIn('fast');
        other_delimiter.focus();
    } else {
        other_delimiter.fadeOut('fast');
    }
}
function gtoStep1() {
    let active_elem = $('.importer-step-ibox.active-step');
    let title = $('#_step_title_container');
    title.fadeOut('fast');
    $('#_fr_ch_no').prop('checked', true);
    $('#_promote_no').prop('checked', true);
    $('#_promote_domain_selector_wrapper').hide();
    $('#_sel_delim_column').val(',');
    $('#_promote_domain_selector_').val('');
    $('#_promote_domain_selector_').select2().trigger('change');
    Dropzone.forElement("#importer-drop-zone").removeAllFiles(true);
    $(active_elem).slideUp('fast', function () {
        $('.importer-main-flex').removeClass('step-extended');
        let httml_title = '<h4>{{langmod.LABIMP2}}: <span class="text-mutted">{{langmod.LABIMP3}}</span></h4>';
        title.html(httml_title);
        title.fadeIn('fast');
        $('.step-footer').fadeOut('fast');
        $('#_how_to_use').slideDown('fast');
        $('.importer-step1').slideDown('fast', function () {
            active_elem.removeClass('active-step');
            $('.importer-step1').addClass('active-step');
        });
    });
}
function gtoStep2(type) {
    let other_delimiter = $('#_other_delimiter');
    importer.type = type === undefined ? importer.type : type;
    // $('#_fr_ch_no').prop('checked', true);
    // $('#_promote_no').prop('checked', true);
    $('#_importer_type_file').text(type === 'accounts' ? 'accounts' : 'forwarders');
    let active_elem = $('.importer-step-ibox.active-step');
    let title = $('#_step_title_container');
    title.fadeOut('fast');
    $('#_how_to_use').slideUp('fast');
    other_delimiter.removeClass('error');
    other_delimiter.hide();
    $('.btn-import-pass').hide();
    $('#_importer_gen_pass_').val('no');
    other_delimiter.val('');
    // $('#_promote_domain_selector_wrapper').hide();
    $('#_promote_domain_selector_wrapper').removeClass('error-field');
    // $('#_sel_delim_column').val(',');
    // $('#_promote_domain_selector_').val('');
    // $('#_promote_domain_selector_').select2().trigger('change');
    $(active_elem).slideUp('fast', function () {
        $('.importer-main-flex').addClass('step-extended');
        $('.step-footer-content').html(step2_buttons);
        if (importer.type === 'accounts') {
            $('.just-account').show();
            $('.just-aliases').hide()
        } else {
            $('.just-account').hide();
            $('.just-aliases').show();
        }
        $('.step-footer').fadeIn('fast');
        //Dropzone.forElement("#importer-drop-zone").removeAllFiles(true);
        //RENIICIARCIALAR DROPZONE
        let httml_title = '<h4>{{langmod.LABIMP48}}: <span class="text-mutted">{{langmod.LABIMP49}}</span></h4>' +
            '<div>' + step2_buttons + '</div>';
        title.html(httml_title);
        if (Dropzone.forElement("#importer-drop-zone").getAcceptedFiles().length > 0) {
            $('.step2-next-btn').prop('disabled', false);
        }
        title.fadeIn('fast');
        $('.importer-step2').slideDown('fast', function () {
            active_elem.removeClass('active-step');
            $('.importer-step2').addClass('active-step');
        });
    });
}
function validStep2() {
    let sel_elem = $('#_sel_delim_column');
    let other_delim = $('#_other_delimiter');
    let valid = true;
    if (sel_elem.is(':visible') && sel_elem.val() === '*' && other_delim.val() === '') {
        other_delim.addClass('error');
        other_delim.focus();
        valid = false;
    } else {
        other_delim.removeClass('error');
    }
    if (importer.promote === true && (importer.promote_to === undefined || importer.promote_to === '')) {
        $('#_promote_domain_selector_wrapper').addClass('error-field');
        valid = false;
    } else {
        $('#_promote_domain_selector_wrapper').removeClass('error-field');
    }
    if (!valid) {
        noti_bubble('{{langmod.LABIMP50}}', '{{langmod.LABIMP47}}', 'error', false, false, '5000', true);
        return false;
    }
    importer.genpass = false;
    let autopass_value = $('#_importer_gen_pass_').val();
    if (autopass_value !== 'no') {
        importer.genpass = {
            occurence: autopass_value,
            length: $('#_importer_pass_length_').val(),
            type: $('#_importer_pass_type').val(),
        }
    }
    return true;
}
function gtoStep3() {
    let sel_elem = $('#_sel_delim_column');
    let other_delim = $('#_other_delimiter');
    if (!validStep2()) {
        return
    }
    if (sel_elem.is(':visible') && sel_elem.val() === '*' && other_delim.val() === '') {
        noti_bubble('{{langmod.LABIMP51}}', '{{langmod.LABIMP47}}', 'error', false, false, '5000', true);
        other_delim.addClass('error');
        other_delim.focus();
        return false;
    }
    importer.delim = sel_elem.is(':visible') && sel_elem.val() === '*' ? other_delim.val() : sel_elem.val();
    let active_elem = $('.importer-step-ibox.active-step');
    let title = $('#_step_title_container');
    title.fadeOut('fast');
    $('.step-footer-content').html(step3_buttons);
    $('#_screen_step_3').hide();
    $('#_loader_step_3').show();
    $(active_elem).slideUp('fast', function () {
        analizeFile();
        let httml_title = '<h4>{{langmod.LABIMP52}}: <span class="text-mutted">{{langmod.LABIMP53}}</span></h4>' +
            '<div>' + step3_buttons + '</div>';
        title.html(httml_title);
        title.fadeIn('fast');
        $('.importer-step3').slideDown('fast', function () {
            active_elem.removeClass('active-step');
            $('.importer-step3').addClass('active-step');
        });
    });
}
function lastStep(result) {
    noti_bubble('{{langmod.LABIMP54}}', '{{langmod.LABIMP55}}', 'success', false, false, '5500', true);
    $('.step-footer-content').html(last_step_buttons);
    $('#_step_title_container').html('<h4>{{langmod.LABIMP56}} <span class="text-mutted">{{langmod.LABIMP57}}</span></h4>' +
        '<div>' + last_step_buttons + '</div>');
    uchip.slideToggle('#_screen_step_3', '#_loader_step_3', function () {
        renderLastStep(result);
    });
}
function importResultParser(rescode) {
    let reasons = [
        '{{langmod.LABIMP58}}',
        '{{langmod.LABIMP59}}',
    ];
    let html = '<span class="label label-success"><i class="fa fa-check"></i> {{langmod.LABIMP60}}</span>';
    if (rescode != 0) {
        let reason = reasons[rescode - 1] !== undefined ? reasons[rescode - 1] : '{{langmod.LABIMP61}}';
        html = '<span class="label label-danger">' +
            '<i class="fa fa-exclamation-triangle" aria-hidden="true"></i> ' +
            reason +
            '</span>';
    }
    return html;
}
function downloadLog() {
    window.location.href = "?module=email_importer&acc=downloadlog";
}
function renderLastStep(result) {
    let html_records = '';
    if (importer.type === 'accounts') {
        result.added.forEach(function (record) {
            html_records += '<div class="row importer-result-item">' +
                '<div class="col-md-5">' +
                '<span>' + record.account + '</span>' +
                '</div>' +
                '<div class="col-md-4">' +
                '<span>' + (record.password === undefined ? '' : record.password) + '</span>' +
                '</div>' +
                '<div class="col-md-3 importer-result-store">' +
                importResultParser(record.code) +
                '</div>' +
                '</div>';
        });
    } else {
        result.added.forEach(function (record) {
            html_records += '<div class="row importer-result-item">' +
                '<div class="col-md-5">' +
                '<span>' + record.account + '</span>' +
                '</div>' +
                '<div class="col-md-4">' +
                '<span>' + record.redirects + '</span>' +
                '</div>' +
                '<div class="col-md-3 importer-result-store">' +
                importResultParser(record.code) +
                '</div>' +
                '</div>';
        });
    }
    let html = '<div class="container-fluid">' +
        '<div class="row">' +
        '<div class="col-md-12">' +
        '<h4 class="title-result-last-step">{{langmod.LABIMP62}}</h4>' +
        (result.auto_generated === true ?
            '<div class="alert alert-warning">' +
            '{{langmod.LABIMP63}}' +
            '</div >'
            :
            ''
        ) +
        '</div>' +
        '</div>' +
        '<div style="padding:0px 15px;"><div class="row importer-result-row">' +
        '<div class="col-md-5">' + (importer.type === 'accounts' ? '{{langmod.LABIMP64}}' : '{{langmod.LABIMP65}}') + '</div>' +
        '<div class="col-md-4">' + (importer.type === 'accounts' ? '{{langmod.LABIMP66}}' : '{{langmod.LABIMP67}}') + '</div>' +
        '<div class="col-md-3 importer-result-store">Result</div>' +
        '</div>' +
        html_records +
        '</div></div>';
    $('#_screen_step_3').html(html);
}

function renderAnalysis(analysis) {
    $('.step-3-btn-back').prop('disabled', false);
    if (analysis.toadd !== undefined && analysis.toadd.length > 0) {
        $('.step-3-btn').prop('disabled', false);
    }
    let qty = analysis.toadd.length;
    if (importer.type != 'accounts'){
        qty = analysis.toadd.filter(function(item){
            return item.append !== true;
        });
    }
    let quota_message = '';
    if (analysis.available < 1 && qty > 0) {
        quota_message = '<div class="alert alert-danger">' +
            (importer.type == "accounts" ? '{{langmod.LABIMP107}}' : '{{langmod.LABIMP110}}') +
            '</div>';
    } else if (qty > analysis.available) {
        quota_message = '<div class="alert alert-warning">' +
            '{{langmod.LABIMP74}} ' + (importer.type == "accounts" ? '{{langmod.LABIMP69}}' : '{{langmod.LABIMP70}}') + ' {{langmod.LABIMP75}} ' + analysis.available + ' {{langmod.LABIMP76}}' +
            '</div>';
    }
    console.log('importer.type', importer.type);
    let html = '<div class="container-fluid">' +
        '<div class="row">' +
        '<div class="col-md-12">' +
        '<h4 class="step-3-title">{{langmod.LABIMP68}} ' + (importer.type == "accounts" ? '{{langmod.LABIMP69}}' : '{{langmod.LABIMP70}}') + '</h4>' +
        '</div>' +
        '</div>' +
        '<div class="row" style="margin-bottom:1.5rem">' +
        '<div class="col-md-4">' +
        '<span class="result-title">{{langmod.LABIMP71}}:</span>' +
        '<span class="result-value">' + analysis.readed + '</span>' +
        '</div>' +
        '<div class="col-md-4">' +
        '<span class="result-title">{{langmod.LABIMP72}}:</span>' +
        '<span class="result-value">' + analysis.toadd.length + '</span>' +
        '</div>' +
        '<div class="col-md-4">' +
        '<span class="result-title">{{langmod.LABIMP73}}:</span>' +
        '<span class="result-value">' + analysis.rejecteds.length + '</span>' +
        '</div>' +
        '</div>' +
        quota_message +
        '<div class="row">' +
        '<div class="col-md-12">' +
        '<div class="tabs-container" id="_importer_results_tabs_">' +
        '<ul class="nav nav-tabs" role="tablist">' +
        '<li><a class="nav-link' + (analysis.toadd.length > 0 ? ' active' : '') + '" data-toggle="tab" href="#tab-1"> {{langmod.LABIMP77}} ' +
        '<span class="badge badge-primary">' + analysis.toadd.length + '</span>' +
        '</a></li>' +
        '<li><a class="nav-link' + (analysis.toadd.length === 0 ? ' active' : '') + '" data-toggle="tab" href="#tab-2">{{langmod.LABIMP78}} ' +
        '<span class="badge badge-warning">' + analysis.rejecteds.length + '</span>' +
        '</a></li>' +
        '</ul>' +
        '<div class="tab-content">' +
        '<div role="tabpanel" id="tab-1" class="tab-pane' + (analysis.toadd.length > 0 ? ' active' : '') + '">' +
        '<div class="panel-body">' +
        renderAcceptedList(analysis.toadd) +
        '</div>' +
        '</div>' +
        '<div role="tabpanel" id="tab-2" class="tab-pane' + (analysis.toadd.length === 0 ? ' active' : '') + '">' +
        '<div class="panel-body">' +
        renderRejectedList(analysis.rejecteds) +
        '</div>' +
        '</div>' +
        '</div>' +
        '</div>' +
        '</div>' +
        '</div>' +
        '</div>';
    $('#_screen_step_3').html(html);
    $('#_importer_results_tabs_ li a').click(function (e) {
        $('#_importer_results_tabs_ li a.active').removeClass('active')
        $(this).addClass('active')
    })
    uchip.slideToggle('#_screen_step_3', '#_loader_step_3');
}
function accountRejectedReason(code) {
    let codes = [
        '{{langmod.LABIMP79}}',
        '{{langmod.LABIMP80}}',
        '{{langmod.LABIMP81}}',
        '{{langmod.LABIMP82}}',
        '{{langmod.LABIMP83}}',
        '{{langmod.LABIMP84}}',
        '{{langmod.LABIMP85}}',
        '{{langmod.LABIMP86}}',
        '{{langmod.LABIMP87}}',
    ];
    return codes[code - 1] !== undefined ? codes[code - 1] : '{{langmod.LABIMP61}}';
}
function aliasRejectedReason(code) {
    let codes = [
        '{{langmod.LABIMP79}}',
        '{{langmod.LABIMP88}}',
        '{{langmod.LABIMP81}}',
        '{{langmod.LABIMP89}}',
        '{{langmod.LABIMP90}}',
        '{{langmod.LABIMP87}}',
    ];
    return codes[code - 1] !== undefined ? codes[code - 1] : '{{langmod.LABIMP61}}';
}
function renderRejectedList(rejected) {
    let html_records = '';
    if (rejected.length === 0) {
        return '<div class="container-fluid"><div class="row"><div class="col-md-12 empty-result">' +
            '<h4>{{langmod.LABIMP91}}</h4>' +
            '</div></div></div>';
    }
    if (importer.type === 'accounts') {
        rejected.forEach(function (record) {
            html_records += '<div class="row importer-result-item">' +
                '<div class="col-md-1">' +
                '<span>' + record.line + '</span>' +
                '</div>' +
                '<div class="col-md-6">' +
                '<span>' + record.account + '</span>' +
                '</div>' +
                '<div class="col-md-5">' +
                '<span class="label label-danger"><i class="fa fa-exclamation-circle" aria-hidden="true"></i> ' + accountRejectedReason(record.reason) + '</span>' +
                '</div>' +
                '</div>';
        });
    } else {
        rejected.forEach(function (record) {
            html_records += '<div class="row importer-result-item">' +
                '<div class="col-md-1">' +
                '<span>' + record.line + '</span>' +
                '</div>' +
                '<div class="col-md-5">' +
                '<span>' + record.account + '</span>' +
                '</div>' +
                '<div class="col-md-6">' +
                '<span class="label label-danger"><i class="fa fa-exclamation-circle" aria-hidden="true"></i> ' + aliasRejectedReason(record.reason) + '</span>' +
                '</div>' +
                '</div>';
        });
    }
    let html = '<div class="container-fluid">' +
        '<div class="row importer-result-row">' +
        (importer.type === 'accounts' ?
            '<div class="col-md-1">' +
            '<span>{{langmod.LABIMP92}}</span>' +
            '</div>' +
            '<div class="col-md-6">' +
            '<span>{{langmod.LABIMP93}}</span>' +
            '</div>' +
            '<div class="col-md-5">' +
            '<span>{{langmod.LABIMP94}}</span>' +
            '</div>'
            :
            '<div class="col-md-1">' +
            '<span>{{langmod.LABIMP92}}</span>' +
            '</div>' +
            '<div class="col-md-5">' +
            '<span>{{langmod.LABIMP95}}</span>' +
            '</div>' +
            '<div class="col-md-6">' +
            '<span>{{langmod.LABIMP94}}</span>' +
            '</div>'
        ) +
        '</div>' +
        html_records +
        '</div>';
    return html;
}
function proccessFile() {
    uchip.handleButton('.step-3-btn-back', 'fa-chevron-left');
    uchip.handleButton('.step-3-btn', 'fa-cogs');
    $('#_step_3_title').html('{{langmod.LABIMP96}}');
    uchip.slideToggle('#_loader_step_3', '#_screen_step_3', function () {
        let importer_json = encodeURIComponent(JSON.stringify(importer));
        uchip.call('module=email_importer&acc=proccessfile', {
            data: 'importer=' + importer_json,
            callback: function (response) {
                if (response.hasOwnProperty('result') && response.result === 'success') {
                    lastStep(response.analysis);
                } else {
                    let message_error = '{{langmod.LABIMP97}}';
                    if (response.hasOwnProperty('code')) {
                        if (response.code == 2) {
                            message_error = '{{langmod.LABIMP46}}';
                        } else if (response.code == 1) {
                            message_error = '{{langmod.LABIMP98}}';
                        }
                    }
                    noti_bubble(message_error, '{{langmod.LABIMP47}}', 'error', false, false, '4000', true);
                    uchip.handleButton('.step-3-btn-back', 'fa-chevron-left', true);
                    uchip.handleButton('.step-3-btn', 'fa-cogs', true);
                    uchip.slideToggle('#_screen_step_3', '#_loader_step_3');
                }
            }
        });
    });
}
function renderAcceptedList(toadd) {
    let html_records = '';
    if (toadd.length === 0) {
        return '<div class="container-fluid"><div class="row"><div class="col-md-12 empty-result">' +
            '<h4>{{langmod.LABIMP99}}</h4>' +
            '</div></div></div>';
    }
    if (importer.type === 'accounts') {
        toadd.forEach(function (record) {
            html_records += '<div class="row importer-result-item">' +
                '<div class="col-md-1">' +
                '<span>' + record.line + '</span>' +
                '</div>' +
                '<div class="col-md-5">' +
                '<span>' + record.account + '</span>' +
                '</div>' +
                '<div class="col-md-4">' +
                (record.password === 'CWP_AUTOGEN' ? '<span class="label label-success"><i class="fa fa-key"></i> {{langmod.LABIMP100}}</span>' : '<span>' + record.password + '</span>') +
                '</div>' +
                '<div class="col-md-2">' +
                '<span>' + record.quota + '</span>' +
                '</div>' +
                '</div>';
        });
    } else {
        toadd.forEach(function (record) {
            html_records += '<div class="row importer-result-item">' +
                '<div class="col-md-1">' +
                '<span>' + record.line + '</span>' +
                '</div>' +
                '<div class="col-md-5">' +
                '<span>' + record.account + '</span>' +
                '</div>' +
                '<div class="col-md-6">' +
                '<span>' + record.redirects + 
                    (record.hasOwnProperty('append') && record.append == true ?
                    ' <span class="label label-success"><i class="fa fa-plus-circle" aria-hidden="true"></i> Existing record, add redirect.</span>'
                    :
                        '') 
                +'</span>' +
                '</div>' +
                '</div>';
        });
    }
    let html = '<div class="container-fluid">' +
        '<div class="row importer-result-row">' +
        (importer.type === 'accounts' ?
            '<div class="col-md-1">' +
            '<span>{{langmod.LABIMP92}}</span>' +
            '</div>' +
            '<div class="col-md-5">' +
            '<span>{{langmod.LABIMP93}}</span>' +
            '</div>' +
            '<div class="col-md-4">' +
            '<span>{{langmod.LABIMP101}}</span>' +
            '</div>' +
            '<div class="col-md-2">' +
            '<span>{{langmod.LABIMP102}}</span>' +
            '</div>'
            :
            '<div class="col-md-1">' +
            '<span>{{langmod.LABIMP92}}</span>' +
            '</div>' +
            '<div class="col-md-5">' +
            '<span>{{langmod.LABIMP95}}</span>' +
            '</div>' +
            '<div class="col-md-6">' +
            '<span>{{langmod.LABIMP67}}</span>' +
            '</div>'
        ) +
        '</div>' +
        html_records +
        '</div>';
    return html;
}
function analizeFile() {
    let importer_json = encodeURIComponent(JSON.stringify(importer));
    uchip.call('module=email_importer&acc=analizefile', {
        data: 'importer=' + importer_json,
        callback: function (response) {
            if (response.hasOwnProperty('result') && response.result === 'success') {
                renderAnalysis(response.analysis);
            } else {
                let message_error = '{{langmod.LABIMP104}}';
                if (response.hasOwnProperty('code')) {
                    if (response.code == 2) {
                        message_error = '{{langmod.LABIMP46}}';
                    } else if (response.code == 1) {
                        message_error = '{{langmod.LABIMP105}}';
                    }
                }
                noti_bubble(message_error, '{{langmod.LABIMP47}}', 'error', false, false, '4000', true);
                gtoStep2(importer.type)
            }
        }
    });
}
function autoPassCheck(elem) {
    let val_checked = $(elem).val();
    if (val_checked !== "no") {
        $('.btn-import-pass').fadeIn('fast');
    } else {
        $('.btn-import-pass').fadeOut('fast');
    }
}

function openPGOPT(type, second) {
    let divelem = type;
    if ($(divelem).is(':visible')) {
        $(divelem).slideUp('fast');
    } else {
        $(divelem).slideDown('fast');
        hideOnClickOutside(divelem, second);
    }
}
function hideOnClickOutside(selector, second) {
    let forhide = true;
    if (second === undefined) {
        second = '.show_options_button';
        forhide = true;
    }
    function outsideClickListener(event) {
        $target = $(event.target);
        if (!$target.closest(selector).length && !$target.closest(second).length && $(selector).is(':visible')) {
            $(selector).slideUp('fast');
            removeClickListener();
        }
    }
    $('.btn-close-pass').unbind('click');
    $('.btn-close-pass').click(function () {
        $(selector).slideUp('fast');
        removeClickListener();
    });

    function removeClickListener() {
        document.removeEventListener('click', outsideClickListener)
    }
    document.addEventListener('click', outsideClickListener)
}