$(function () { // start of document ready:

    if ($(".export-print-box")[0]) {
        let _api_key = $.trim($('#api_key').html());
        let _user_key = $.trim($('#user_key').html());
        let _packagename = $.trim($('#packagename').html());
        let sendData = {
            api_key: _api_key,
            user_key: _user_key,
            url: mpPanelBaseUrl,
            packagename: _packagename
        }

        $.ajax({

            type: "POST",
            url: "https://my.approcket.ir/api/get-user-export-reqs",
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded'
            },
            data: sendData,
            cache: false,
            timeout: 25000,
            success: function (returndata) {

                $('#exports-loading').hide();
                if (returndata['status'] == true) {
                    let result = returndata['result'];
                    let resultver = returndata['version'];
                    let resultlog = returndata['changelog'];
                    $('#export-print-box').html(result);
                    $('#majoris_app_version').html(resultver);
                    $("#app_changelog_data .logbox").html(resultlog);
                    $("#full_version_data").show();
                    do_after_export_list_loaded();

                } else {
                    notyf.error(returndata['message']);
                }

            },
            error: function (xhr, status, error) {
                let returnError = JSON.parse(xhr.responseText);
                notyf.error(returnError.message);
            }

        });

    }


    $("#app_ver_log").click(function () {
        let log = $("#app_changelog_data").html();
        Swal.fire({
            title: "گزارش تغییرات اپ",
            html: log,
            showClass: {
                popup: 'animated fadeInUp faster'
            },
            hideClass: {
                popup: 'animated fadeOutDown faster'
            }
        });
    });



    $('#app-name-help').click(function () {

        let fdata = '<div class="helps-container">';
        fdata += '<img src="' + mpPanelBaseUrl + '/core/_dist/img/exp-help/app_name_help.jpg">';
        fdata += '<div>نام اپلیکیشن که در لانچر گوشی بعد از نصب نمایش داده خواهد شد را در این بخش وارد کنید</div>';
        fdata += '</div>';

        Swal.fire({
            title: "نام اپلیکیشن",
            html: fdata,
            confirmButtonText: 'اوکی',
            showClass: {
                popup: 'animated fadeInUp faster'
            },
            hideClass: {
                popup: 'animated fadeOutDown faster'
            }
        });

    });

    $('#app-icon-help').click(function () {

        let fdata = '<div class="helps-container">';
        fdata += '<img src="' + mpPanelBaseUrl + '/core/_dist/img/exp-help/app_icon_help.jpg">';
        fdata += '<div style="margin-bottom:5px" class="infobox">';
        fdata += '<i class="la la-exclamation-triangle"></i>';
        fdata += '<span>شما میتوانید با کمک <a target="_blank" href="https://aparat.com/v/og8OT">این آموزش ویدیویی</a> آیکون اپلیکیشن خود را طراحی و آماده کنید.</span></div>';
        fdata += '<div style="margin-bottom:40px" class="infobox"><i class="la la-exclamation-triangle"></i>';
        fdata += '<span>برای اطلاعات بیشتر در مورد آیکون (نمادک) برنامه<a target="_blank" href="' + BaseUrl + '/academy/icon-design-rules"> اینجا </a>کلیک کنید</span></div>';
        fdata += '';
        fdata += 'در صورتی که در حال ایجاد یک دمو یا تست برنامه هستید میتوانید تیک آیکون تستی را بزنید و در خروجی های نهایی خود در آینده اقدام به طراحی آیکون بکنید';
        fdata += '</div>';


        Swal.fire({
            title: "آیکون اپلیکیشن",
            html: fdata,
            confirmButtonText: 'اوکی',
            showClass: {
                popup: 'animated fadeInUp faster'
            },
            hideClass: {
                popup: 'animated fadeOutDown faster'
            }
        });

    });


    $('#app-version-help').click(function () {

        let fdata = '<div class="helps-container">';
        fdata += 'در صورتی که در حال ایجاد اولین نسخه از اپ خود هستید نام نمایشی را 1.0 وارد کرده و ورژن کد را عدد 1 قرار دهید';
        fdata += '<br><br>';
        fdata += 'ورژن کد برنامه که نیاز است در هر انتشار بروزرسانی در مارکت ها عددی بزرگتر از انتشار قبلی باشد. برای کسب اطلاعات بیشتر در مورد ورژن کد و ورژن نیم به <a target="_blank" href="https://www.aparat.com/v/ske1Q">این ویدیوی آموزشی</a> مراجعه کنید.';
        fdata += '</div>';


        Swal.fire({
            title: "ورژن های اپلیکیشن",
            html: fdata,
            confirmButtonText: 'اوکی',
            showClass: {
                popup: 'animated fadeInUp faster'
            },
            hideClass: {
                popup: 'animated fadeOutDown faster'
            }
        });

    });


    $('#app-notif-help').click(function () {

        let fdata = '<div class="helps-container">';
        fdata += 'در صورتی که تمایل دارید برای کاربران خود نوتیفیکیشن ارسال کنید این گزینه را فعال نمایید.';
        fdata += '<br><br>';
        fdata += '<span>در صورتی که نمیدانید پوش نوتیفیکیشن چیست برای اطلاعات بیشتر به <a target="_blank" href="' + BaseUrl + '/blog/push-notification"> این مطلب </a>مراجعه کنید</span>';
        fdata += '<br>';
        fdata += '</div>';

        Swal.fire({
            title: "پوش نوتیفیکیشن اپلیکیشن",
            html: fdata,
            confirmButtonText: 'اوکی',
            showClass: {
                popup: 'animated fadeInUp faster'
            },
            hideClass: {
                popup: 'animated fadeOutDown faster'
            }
        });

    });


    $('#app-targetmarket-help').click(function () {

        let fdata = '<div class="helps-container">';
        fdata += 'در این قسمت مشخص میکنید این خروجی برای کدام مارکت است';
        fdata += '<br><br>';
        fdata += 'هر اپلیکیشن میتواند تا 4 نوع خروجی داشته باشد، برای هر مارکتی که میخواهید اپ خود را منتشر کنید یک خروجی جدید لازم است بگیرید، یعنی یک مرتبه یک خروجی با تارگت کافه بازار بگیرید و مجدد درخواست یک خروجی جدید بدهید برای مایکت و به همین ترتیب برای سایر حالت ها';
        fdata += '</div>';

        Swal.fire({
            title: "مارکت هدف یک خروجی چیست",
            html: fdata,
            confirmButtonText: 'اوکی',
            showClass: {
                popup: 'animated fadeInUp faster'
            },
            hideClass: {
                popup: 'animated fadeOutDown faster'
            }
        });

    });


    $('#app-permission-help').click(function () {

        let fdata = '<div class="helps-container">';
        fdata += 'اگر خروجی را برای کافه بازار تنظیم کرده اید و نیاز به درون پرداخت بازار دارید تیک پرمیشن مربوطه را بزنید همچنین معادل اینکار را برای مایکت نیز انجام دهید';
        fdata += '</div>';

        Swal.fire({
            title: "دسترسی های برنامه",
            html: fdata,
            confirmButtonText: 'اوکی',
            showClass: {
                popup: 'animated fadeInUp faster'
            },
            hideClass: {
                popup: 'animated fadeOutDown faster'
            }
        });

    });


    $('#app-key-help').click(function () {

        let fdata = '<div class="helps-container">';
        fdata += '<span>اگر نمیدانید کلید امضا چیست <a target="blank" href="' + BaseUrl + '/academy/jks-introduction">این آموزش</a> را مشاهده نمایید و درصورتی که تا کنون فایل کلید امضای خود را تولید نکرده برای نحوه تولید کلید خود به <a target="_blank" href="' + BaseUrl + '/academy/jks-build-tutorial">این آموزش</a> مراجعه کنید</span>';
        fdata += '<br><br>';
        fdata += 'در صورتی که از کلید شخصی خود برای امضای برنامه های خود استفاده میکنید لازم است بدانید اپ راکت کلید امضای شخصی شما رو بروی سرور خود نگهداری نمیکند و فقط در بازه زمانی محدودی برای تولید خروجی مورد استفاده قرار میگیرد سپس از سرور اپ راکت حذف خواهد شد';
        fdata += '<br><br>';
        fdata += 'در صورت استفاده از کلید شخصی خود در وارد کردن اطلاعات رمز و نام alias و رمز دوم بسیار دقت کنید چرا که در صورت اشتباه بودن تولید خروجی موفق نخواهد بود';
        fdata += '</div>';

        Swal.fire({
            title: "کلید امضای برنامه",
            html: fdata,
            confirmButtonText: 'اوکی',
            showClass: {
                popup: 'animated fadeInUp faster'
            },
            hideClass: {
                popup: 'animated fadeOutDown faster'
            }
        });

    });


    $('#ic-switcher[type=checkbox]').change(function () {
        if (this.checked) {
            $('#upload-ic-text').css('font-weight', '600');
            $('#test-ic-text').css('font-weight', '400');
            $('#icon-test-container').css('display', 'none');
            $('#icon-upload-container').css('display', 'block');
        } else {
            $('#upload-ic-text').css('font-weight', '400');
            $('#test-ic-text').css('font-weight', '600');
            $('#icon-test-container').css('display', 'block');
            $('#icon-upload-container').css('display', 'none');
        }
    });


    $('#ed-ic-switcher[type=checkbox]').change(function () {
        if (this.checked) {
            $('#upload-ic-text').css('font-weight', '600');
            $('#test-ic-text').css('font-weight', '400');
            $('.ed-test-icon').css('display', 'none');
            $('.ed-upload-icon').css('display', 'block');
        } else {
            $('#upload-ic-text').css('font-weight', '400');
            $('#test-ic-text').css('font-weight', '600');
            $('.ed-test-icon').css('display', 'block');
            $('.ed-upload-icon').css('display', 'none');
        }
    });


    $('#key-switcher[type=checkbox]').change(
        function () {
            if (this.checked) {
                $('#private-key-text').css('font-weight', '500');
                $('#majoris-key-text').css('font-weight', '400');
                $('#majoris-key-container').css('display', 'none');
                $('#private-key-container').css('display', 'block');
            } else {
                $('#private-key-text').css('font-weight', '400');
                $('#majoris-key-text').css('font-weight', '500');
                $('#majoris-key-container').css('display', 'block');
                $('#private-key-container').css('display', 'none');
            }
        });


    $('input#send_notif[type=checkbox]').change(
        function () {
            if (this.checked) {
                $('.select_nots_box').show("slide");
            } else {
                $('.select_nots_box').hide("slide");
            }
        });


    $('input#change_font[type=checkbox]').change(
        function () {
            if (this.checked) {
                $('.select_fonts_box').show("slide");
            } else {
                $('.select_fonts_box').hide("slide");
            }
        });


    $('input#najva[type=checkbox]').change(
        function () {
            if (this.checked) {
                $('.najva_box').show("slide");
            } else {
                $('.najva_box').hide("slide");
            }
        });


    $('input#pushpole[type=checkbox]').change(
        function () {
            if (this.checked) {
                $('.pushpole_box').show("slide");
            } else {
                $('.pushpole_box').hide("slide");
            }
        });


    $('input#market_cafebazaar[type=checkbox]').change(
        function () {
            if (this.checked) {
                $('.bazarinapp_box').show("slide");
            } else {
                $('.bazarinapp_box').hide("slide");
            }
        });

    $('input#market_myket[type=checkbox]').change(
        function () {
            if (this.checked) {
                $('.myketinapp_box').show("slide");
            } else {
                $('.myketinapp_box').hide("slide");
            }
        });


    $('#show_advanced_box').click(function () {
        if ($('#advanced_box').is(":visible")) {
            $('#advanced_box').hide("slide");
            $('#show_advanced_box').text("مشاهده تنظیمات پیشرفته‌تر");
        } else {
            $('#advanced_box').show("slide");
            $('#show_advanced_box').text("مخفی کردن تنظیمات پیشرفته‌تر");
        }
    });
    

    // Legacy Icon
    $("#icon-dropzone").dropzone({
        url: mpPanelBaseUrl + "/general-file-uploader",
        paramName: "file",
        params: {
            'folder':'export-files',
            'file_name_switcher':'1'
        },
        acceptedFiles: ".png",
        maxFilesize: 2, // MB
        maxFiles: 1,
        thumbnail: function (file) {
            if (file.width != 512 || file.height != 512) {
                file.rejectDimensions();
            } else {
                file.acceptDimensions();
            }
        },
        accept: function (file, done) {
            file.rejectDimensions = function () {
                done("png image must be 512 x 512 px");
            };
            file.acceptDimensions = done;
        },
        success: function (file, response) {
            this.removeAllFiles();
            $('#icon-dropzone').hide();
            $('#preview_icon').show();
            $('input#app_icon').val(response);
            $("#preview_icon").attr("src", response);
            $("#delete_icon").show();
        },
    });
    $('#delete_icon').click(function () {
        $('#icon-dropzone').show();
        $('#preview_icon').hide();
        $('input#app_icon').val('');
        $("#preview_icon").attr("src", '');
        $("#delete_icon").hide();
    });


    // Adaptive Icon Background
    $("#iconback-dropzone").dropzone({
        url: mpPanelBaseUrl + "/general-file-uploader",
        paramName: "file",
        params: {
            'folder':'export-files',
            'file_name_switcher':'1'
        },
        acceptedFiles: ".png",
        maxFilesize: 2, // MB
        maxFiles: 1,
        thumbnail: function (file) {
            if (file.width != 1024 || file.height != 1024) {
                file.rejectDimensions();
            } else {
                file.acceptDimensions();
            }
        },
        accept: function (file, done) {
            file.rejectDimensions = function () {
                done("png image must be 1024 x 1024px");
            };
            file.acceptDimensions = done;
        },
        success: function (file, response) {
            this.removeAllFiles();
            $('#iconback-dropzone').hide();
            $('#preview_iconback').show();
            $('input#app_icon_back').val(response);
            $("#preview_iconback").attr("src", response);
            $("#delete_iconback").show();
        },
    });
    $('#delete_iconback').click(function () {
        $('#iconback-dropzone').show();
        $('#preview_iconback').hide();
        $('input#app_icon_back').val('');
        $("#preview_iconback").attr("src", '');
        $("#delete_iconback").hide();
    });


    // Adaptive Icon Foreground
    $("#iconfront-dropzone").dropzone({
        url: mpPanelBaseUrl + "/general-file-uploader",
        paramName: "file",
        params: {
            'folder':'export-files',
            'file_name_switcher':'1'
        },
        acceptedFiles: ".png",
        maxFilesize: 2, // MB
        maxFiles: 1,
        thumbnail: function (file) {
            if (file.width != 1024 || file.height != 1024) {
                file.rejectDimensions();
            } else {
                file.acceptDimensions();
            }
        },
        accept: function (file, done) {
            file.rejectDimensions = function () {
                done("png image must be 1024 x 1024px");
            };
            file.acceptDimensions = done;
        },
        success: function (file, response) {
            this.removeAllFiles();
            $('#iconfront-dropzone').hide();
            $('#preview_iconfront').show();
            $('input#app_icon_front').val(response);
            $("#preview_iconfront").attr("src", response);
            $("#delete_iconfront").show();
        },
    });
    $('#delete_iconfront').click(function () {
        $('#iconfront-dropzone').show();
        $('#preview_iconfront').hide();
        $('input#app_icon_front').val('');
        $("#preview_iconfront").attr("src", '');
        $("#delete_iconfront").hide();
    });


    //TEST icon selector
    $('.test-icon-p-item').click(function () {
        $('.test-icon-p-item').removeClass('ticp-selected');
        $(this).addClass('ticp-selected');
        let imgnum = $(this).attr('data-num');
        $('#current-test-icon').attr('data-selected',imgnum);
        let imgurl = mpPanelBaseUrl + "/core/_dist/img/test-icons/test_icon" + imgnum + "_legacy.png";
        $('#current-test-icon').attr('src',imgurl);
    });


    // ED Legacy Icon UPLOADER (Export Dialog)
    $("#icon-ed-dropzone").dropzone({
        url: mpPanelBaseUrl + "/general-file-uploader",
        paramName: "file",
        params: {
            'folder':'export-files',
            'file_name_switcher':'1'
        },
        acceptedFiles: ".png",
        maxFilesize: 2, // MB
        maxFiles: 1,
        thumbnail: function (file) {
            if (file.width != 512 || file.height != 512) {
                file.rejectDimensions();
            } else {
                file.acceptDimensions();
            }
        },
        accept: function (file, done) {
            file.rejectDimensions = function () {
                done("png image must be 512 x 512 px");
            };
            file.acceptDimensions = done;
        },
        success: function (file, response) {
            this.removeAllFiles();
            $('#icon-ed-dropzone').hide();
            $('.ed-divider').hide();
            $('.ed-test-icon').hide();
            $('.ed-toggle-container').hide();
            $('#preview_ed_icon').show();
            $('input#app_icon').val(response);
            $('#upload_head').html("آیکون انتخابی شما");
            $("#preview_ed_icon").attr("src", response);
            $("#delete_ed_icon").show();
        },
        error: function(file, errorMessage, xhr) {
            this.removeAllFiles();
            let mess = "لطفا از درست بودن فرمت و اندازه فایل مطمئن شوید";
            notyf.error(errorMessage + "<br>" + mess);
        }
    });
    $('#delete_ed_icon').click(function () {
        $('#icon-ed-dropzone').show();
        $('.ed-divider').show();
        $('#preview_ed_icon').hide();
        $('input#app_icon').val('');
        $('#upload_head').html("بارگذاری آیکون");
        $("#preview_ed_icon").attr("src", '');
        $('.ed-toggle-container').show();
        $("#delete_ed_icon").hide();
    });


    $('#ed-fast-export-btn').click(function(){
        let app_name = $('#app_name').val();
        let app_icon = $('#app_icon').val();
        let version_name = $('#version_name').val();
        let version_code = $('#version_code').val();
        let panel_version = $('#panel_version').val();
    
        let build_type = "apk";
        let app_icon_back = "";
        let app_icon_front = "";
        let send_notif = 0;
        let pushpole = 0;
        let najva = 0;
        let pushpole_token = "";
        let najva_token = "";
        let najva_website_id = "";
        let change_font = 0;
        let font_regular = "";
        let font_bold = "";
        let target_market = "privatee";
        let bazaar_permission = 0;
        let myket_permission = 0;
        let location_permission = 0;
        let key_switcher = 0;
        let install_apk_permission = 0;
        let jks_url = "";
        let jks = "majoris_key.jks";
        let jks_pass = "";
        let jks_alias = "";
        let jks_alias_pass = "";
        let fcm = 0;
        let fcm_json = "";
    
        let ic_switcher = 0;
        if ($('#ed-ic-switcher').is(":checked")) {
            ic_switcher = 1; //ON means upload
        }
    
        let test_icon_number = $('#current-test-icon').attr('data-selected');
    
        let _api_key = $.trim($('#api_key').html());
        let _user_key = $.trim($('#user_key').html());
        let _packagename = $.trim($('#packagename').html());
    
        $.ajax({
            type: "POST",
            url: MyBaseUrl + "/api/add-user-export",
            data: {
                api_key               : _api_key,
                user_key              : _user_key,
                packagename           : _packagename,
                app_name              : app_name,
                app_icon              : app_icon,
                app_icon_back         : app_icon_back,
                app_icon_front        : app_icon_front,
                version_name          : version_name,
                version_code          : version_code,
                send_notif            : send_notif,
                pushpole              : pushpole,
                najva                 : najva,
                pushpole_token        : pushpole_token,
                najva_token           : najva_token,
                najva_website_id      : najva_website_id,
                fcm                   : fcm,
                fcm_json              : fcm_json,
                change_font           : change_font,
                font_regular          : font_regular,
                font_bold             : font_bold,
                target_market         : target_market,
                bazaar_permission     : bazaar_permission,
                myket_permission      : myket_permission,
                location_permission   : location_permission,
                install_apk_permission: install_apk_permission,
                build_type            : build_type,
                jks_url               : jks_url,
                jks                   : jks,
                jks_pass              : jks_pass,
                jks_alias             : jks_alias,
                jks_alias_pass        : jks_alias_pass,
                ic_switcher           : ic_switcher,
                test_icon_number      : test_icon_number,
                key_switcher          : key_switcher,
                panel_version         : panel_version,
            },
            cache: false,
    
            success: function (returndata) {
    
                if (returndata['status'] == true) {
                    $('#ed-fast-export-btn').hide();
                    $('#fast-export-done').click();
                } else {
                    notyf.error(returndata['message']);
                }
    
            },
            error: function (xhr, status, error) {
                let returnError = JSON.parse(xhr.responseText);
                notyf.error(returnError.message);
            }
    
        });
    });

    
    //dropzone super file handler
    //this dropzone script will handle every kind of file and input
    if ($(".super_file_dropzone").length != 0) {

        $('.super_file_dropzone').each(function (i, obj) { //loop through all classes in page

            let dropzoneElement = $(this);
            let allowedFormats = dropzoneElement.parent().find('.super_file_accepted_formats').text();
            let deleteBtn = dropzoneElement.parent().find('.super_file_delete');
            let previewSpan = dropzoneElement.parent().find('.super_file_preview');
            let urlInput = dropzoneElement.parent().find('.super_file_input');

            dropzoneElement.dropzone({
                url: mpPanelBaseUrl + "/general-file-uploader",
                paramName: "file",
                params: {
                    'folder':'export-files',
                    'file_name_switcher':'1'
                },
                maxFilesize: 2, // MB
                maxFiles: 1,
                acceptedFiles: allowedFormats,
                success: function (file, response) {

                    this.removeAllFiles();
                    dropzoneElement.hide();
                    deleteBtn.show();
                    previewSpan.text(file.name);
                    urlInput.val(response);

                },
            });

        });

        $('.super_file_delete').click(function () {

            let deleteBtn = $(this);
            let urlInput = deleteBtn.parent().find('.super_file_input');
            let previewSpan = deleteBtn.parent().find('.super_file_preview');
            let dropzoneElement = deleteBtn.parent().find('.super_file_dropzone');

            dropzoneElement.show();
            previewSpan.text('');
            urlInput.val('');
            deleteBtn.hide();

        });

    }


    $("form#generate-export").submit(function (event) {

        event.preventDefault();

        let order_id = $('#order_id').val();

        let app_name = $('#app_name').val();
        let app_icon = $('#app_icon').val();
        let app_icon_back = $('#app_icon_back').val();
        let app_icon_front = $('#app_icon_front').val();
        let version_name = $('#version_name').val();
        let version_code = $('#version_code').val();
        let build_type = $('#build_type').val();
        let panel_version = $('#panel_version').val();

        let send_notif = 0;
        let fcm = 0;
        if ($('#send_notif').is(":checked")) {
            send_notif = 1;
            fcm = 1;
        }
        let pushpole = 0;
        if ($('#pushpole').is(":checked")) {
            pushpole = 1;
        }
        let najva = 0;
        if ($('#najva').is(":checked")) {
            najva = 1;
        }

        let pushpole_token = $('#pushpole_token').val();
        let najva_token = $('#najva_token').val();
        let najva_website_id = $('#najva_website_id').val();
        let fcm_json = $('#google_services_json').val();

        let change_font = 0;
        if ($('#change_font').is(":checked")) {
            change_font = 1;
        }

        let font_regular = $('#font_regular').val();
        let font_bold = $('#font_bold').val();

        let target_market = $('#target_market').val();

        let bazaar_permission = 0;
        if ($('#bazaar_permission').is(":checked")) {
            bazaar_permission = 1;
        }

        let myket_permission = 0;
        if ($('#myket_permission').is(":checked")) {
            myket_permission = 1;
        }

        let location_permission = 0;
        if ($('#location_permission').is(":checked")) {
            location_permission = 1;
        }

        let ic_switcher = 0;
        if ($('#ic-switcher').is(":checked")) {
            ic_switcher = 1; //ON means upload
        }

        let test_icon_number = $('#current-test-icon').attr('data-selected');

        let key_switcher = 0;
        if ($('#key-switcher').is(":checked")) {
            key_switcher = 1; //ON means private
        }

        let install_apk_permission = 0;
        if ($('#install_apk_permission').is(":checked")) {
            install_apk_permission = 1;
        }

        let jks_url = $('#jks_url').val();

        let jks = "";
        if(key_switcher == 1){
            jks = jks_url.split('/').pop()
        }else{
            jks = "majoris_key.jks";
        }

        let jks_pass = $('#jks_pass').val();
        let jks_alias = $('#jks_alias').val();
        let jks_alias_pass = $('#jks_alias_pass').val();

        let _api_key = $.trim($('#api_key').html());
        let _user_key = $.trim($('#user_key').html());
        let _packagename = $.trim($('#packagename').html());

        $.ajax({
            type: "POST",
            url: MyBaseUrl + "/api/add-user-export",
            data: {
                api_key               : _api_key,
                user_key              : _user_key,
                packagename           : _packagename,
                app_name              : app_name,
                app_icon              : app_icon,
                app_icon_back         : app_icon_back,
                app_icon_front        : app_icon_front,
                version_name          : version_name,
                version_code          : version_code,
                send_notif            : send_notif,
                pushpole              : pushpole,
                najva                 : najva,
                pushpole_token        : pushpole_token,
                najva_token           : najva_token,
                najva_website_id      : najva_website_id,
                fcm                   : fcm,
                fcm_json              : fcm_json,
                change_font           : change_font,
                font_regular          : font_regular,
                font_bold             : font_bold,
                target_market         : target_market,
                bazaar_permission     : bazaar_permission,
                myket_permission      : myket_permission,
                location_permission   : location_permission,
                install_apk_permission: install_apk_permission,
                build_type            : build_type,
                jks_url               : jks_url,
                jks                   : jks,
                jks_pass              : jks_pass,
                jks_alias             : jks_alias,
                jks_alias_pass        : jks_alias_pass,
                ic_switcher           : ic_switcher,
                test_icon_number      : test_icon_number,
                key_switcher          : key_switcher,
                panel_version         : panel_version,
            },
            cache: false,

            success: function (returndata) {

                if (returndata['status'] == true) {
                    $('#add_export_btn').hide();
                    notyf.success("درخواست شما با موفقیت در صف قرار گرفت");
                    setTimeout(function () {
                        window.location.href = mpPanelBaseUrl + "/export/list";
                    }, 1500);
                } else {
                    notyf.error(returndata['message']);
                }

            },
            error: function (xhr, status, error) {
                let returnError = JSON.parse(xhr.responseText);
                notyf.error(returnError.message);
            }

        });


    });


}); //end of jqury doc ready


function do_after_export_list_loaded() {

    if ($(".server-accept-date")[0]) {

        function getExportStatus(_id) {

            let _api_key = $.trim($('#api_key').html());
            let _user_key = $.trim($('#user_key').html());
            let _packagename = $.trim($('#packagename').html());

            $.ajax({

                type: "POST",
                url: MyBaseUrl + "/api/get-single-export-req",
                data: {
                    api_key    : _api_key,
                    user_key   : _user_key,
                    packagename: _packagename,
                    id         : _id,
                },
                cache: false,
                success: function (returndata) {

                    if (returndata['status'] == true) {
                        let jdata = returndata['result'];
                        if (jdata['job_status'] == 2 || jdata['job_status'] == 1) {
                            document.location.reload();
                        } else {
                            setTimeout(function () {
                                getExportStatus(_id)
                            }, 30000);
                        }
    
                    }

                },
                error: function (e) {

                }

            });
        }

        function export_update() {
            let currentDate = new Date().getTime();
            let serverAcceptDate = Number($('.server-accept-date').html());

            //https://stackoverflow.com/a/13242834/4565796
            currentDate = Math.floor(currentDate / 1000);

            let remaning = currentDate - serverAcceptDate;

            //total progressing time in minutes:
            //let TOTAL_TIME = 8; // minutes (for online build mode)
            let TOTAL_TIME = 16; // minutes (for offline build mode)

            let total_in_sec =  TOTAL_TIME * 60;
            let percent = Number(((remaning / total_in_sec) * 100).toFixed(0));

            if (percent > 100) percent = 100;
            $('.progress-bar-inner').css('width', (percent + '%'));
            $('.percent-number').html(percent);

            if (percent >= 100) {

                let qid = $('.server-accept-date').parent().find('.queue_item_id').html();
                $(".super-mini-loading").show();
                getExportStatus(qid);

            } else {
                setTimeout(export_update, 6000);
            }
        }
        export_update();


    }

    if ($(".first-in-queue")[0]) {

        function getExportStatus2(_id) {

            let _api_key = $.trim($('#api_key').html());
            let _user_key = $.trim($('#user_key').html());
            let _packagename = $.trim($('#packagename').html());

            $.ajax({

                type: "POST",
                url: MyBaseUrl + "/api/get-single-export-req",
                data: {
                    api_key    : _api_key,
                    user_key   : _user_key,
                    packagename: _packagename,
                    id         : _id,
                },
                cache: false,
                success: function (returndata) {

                    if (returndata['status'] == true) {
                        let jdata = returndata['result'];
                        if (jdata['job_status'] == 4) {
                            document.location.reload();
                        } else {
                            setTimeout(function () {
                                getExportStatus2(_id)
                            }, 15000);
                        }
                    }

                },
                error: function (e) {

                }

            });
        }

        let qid = $('.first-in-queue').parent().find('.queue_item_id').html();
        setTimeout(function () {
            getExportStatus2(qid)
        }, 10000);

    }

    $('.see_error_log').click(function () {

        let data = $(this).data("log");
        // let fdata = '<textarea rows="22" style="white-space: nowrap;border:none;border-radius:5px;font-family:monospace;line-height:15px;font-size: 13px;">';
        // fdata += data;
        // fdata += '</textarea>';

        const keystorePatterns = [
            "Failed to read key",
            "No key with alias",
            "Keystore was tampered with",
            "password was incorrect"
        ];

        let keystoreMatch = keystorePatterns.some(p => data.includes(p));
        let analysis = "";

        if (keystoreMatch) {
            analysis = `
                <div class="box-error-analyze">
                    🔒 <b>تحلیل خطا:</b> به نظر می‌رسد مشکل از فایل امضای JKS باشد. دلایل ممکن:
                    <ul>
                        <li>رمز عبور نادرست</li>
                        <li>نام مستعار (alias) اشتباه</li>
                        <li>فایل keystore خراب یا ناقص است</li>
                    </ul>
                    لطفاً فایل امضای ساخته شده خود را بررسی کرده و دوباره تلاش کنید.
                </div>
            `;
        }

        let fdata = analysis +
        '<textarea rows="22" style="white-space: nowrap;border:none;width:100%;border-radius:5px;font-family:monospace;line-height:15px;font-size:13px;">' +
        data +
        '</textarea>';


        Swal.fire({
            title: "گزارش خطا",
            html: fdata,
            confirmButtonText: 'بازگشت',
            showClass: {
                popup: 'animated fadeInUp faster'
            },
            hideClass: {
                popup: 'animated fadeOutDown faster'
            }
        });


    });
}