$(function () {


    jalaliDatepicker.startWatch({
        minDate: "attr",
        maxDate: "attr"
    });
    //modify buttons style
    $.fn.editableform.buttons =
        '<button type="submit" class="btn btn-success editable-submit btn-sm waves-effect waves-light"><i class="mdi mdi-check"></i></button>' +
        '<button type="button" class="btn btn-danger editable-cancel btn-sm waves-effect waves-light"><i class="mdi mdi-close"></i></button>';


    $("#datatable").on("click", '[id="edit_account_password"]', function() {
        let id = $(this).attr('data-id');
        let name = $(this).attr('data-name');

        $(".edit-account-pass-modal").removeClass("d-none");
        $(".edit-account-modal").addClass("d-none");
        $(".add-account-modal").addClass("d-none");
        $("#update-account-password-id").val(id);
        $("#update-account-password").val("");
        $("#update-account-repassword").val("");
        $(".modal-title").text(" ویرایش رمز عبور "+name);
        $('#modal').modal('show');

    });

    $("#datatable").on("click", '[id="edit_account"]', function() {
        $(".edit-account-pass-modal").addClass("d-none");
        $(".edit-account-modal").removeClass("d-none");
        $(".add-account-modal").addClass("d-none");
        let id = $(this).attr('data-id');

        $("#loading").show();
        $.post("api/show_account.php",
            {
                account: id
            },
            function (data, status) {
                $("#loading").hide();
                if (data["ok"] == true) {

                    $(".modal-title").text(" ویرایش اکانت ");
                    $('#modal').modal('show');
                    $(".edit-account-modal").html(data["output"]);
                }else{
                    switch(data["error_code"]){
                        case 100:
                            alertify
                                .error("لطفا مجددا وارد شوید");
                            break;
                        case 101:
                            alertify
                                .error("نقص اطلاعات");
                            break;
                        case 102:
                            alertify
                                .error("شما مجاز به ویرایش نیستید");
                            break;
                        default:
                            alertify
                                .error(" خطای ویرایش اطلاعات" + data["error_code"]);
                            break;
                    }
                    $('#modal').modal('hide');

                }
            }, "json");
    });



});
function update_account(){
    let username = $("#update-account-username").val();
    let apps = $("#update-account-apps").val();
    let id = $("#update-account-id").val();

    $.post("api/update_account.php",
        {
            id : id,
            apps: apps,
            username: username
        },
        function (data, status) {
            $("#add_account_loading").addClass("d-none");
            $('#modal').modal('hide');
            if (data["ok"] == true) {
                alertify
                    .success("اطلاعات با موفقیت ویرایش شد");
                $("#username_"+id).text(username);

            } else {
                switch (data["error_code"]) {
                    case 100:
                        alertify
                            .error("لطفا مجددا وارد شوید");
                        break;
                    case 101:
                    case 102:
                        alertify
                            .error("نقص اطلاعات");
                        break;
                    case 103:
                        alertify
                            .error("اطلاعات قبلا ثبت شده اند");
                        break;
                    case 104:
                        alertify
                            .error("شما مجاز به ویرایش نیستید");
                        break;
                    default:
                        alertify
                            .error(" خطای ویرایش اطلاعات" + data["error_code"]);
                        break;
                }

            }
        }, "json");
}

function update_account_password(){
    let password = $("#update-account-password").val();
    let repassword = $("#update-account-repassword").val();
    let id = $("#update-account-password-id").val();

    if(password.length < 8){
        alertify.error("حداقل تعداد کارکتر مجاز رمز عبور 8 کاراکتر است");
        return false;
    }

    if(password !== repassword){
        alertify.error("رمز عبور ها تطابق ندارند");
        return false;
    }
    $.post("api/update_account_password.php",
        {
            id : id,
            password: password,
        },
        function (data, status) {
            $("#add_account_loading").addClass("d-none");
            $('#modal').modal('hide');
            if (data["ok"] == true) {
                alertify
                    .success("رمز عبور با موفقیت ویرایش شد");


            } else {
                switch (data["error_code"]) {
                    case 100:
                        alertify
                            .error("لطفا مجددا وارد شوید");
                        break;
                    case 101:
                    case 102:
                        alertify
                            .error("نقص اطلاعات");
                        break;
                    case 103:
                        alertify
                            .error("رمز عبور قبلا ثبت شده اند");
                        break;
                    case 104:
                        alertify
                            .error("شما مجاز به ویرایش نیستید");
                        break;
                    default:
                        alertify
                            .error(" خطای ویرایش اطلاعات" + data["error_code"]);
                        break;
                }

            }
        }, "json");
}

function show_add_account_modal() {
    $(".edit-account-pass-modal").addClass("d-none");
    $(".edit-account-modal").addClass("d-none");
    $(".add-account-modal").removeClass("d-none");
    $("#add-account-username").val("");
    $("#add-account-password").val("");
    $("#add-account-apps").val("");
    $(".modal-title").text(" افزودن اکانت ");
    $('#modal').modal('show');
    $(".js-select2").select2({ dropdownParent: ".modal-body" });
}


function add_account() {
    $("#add_account_loading").removeClass("d-none");

    let username = $("#add-account-username").val();
    let password = $("#add-account-password").val();
    let apps = $("#add-account-apps").val();

    if(password.length < 8){
        alertify.error("حداقل تعداد کارکتر مجاز رمز عبور 8 کاراکتر است");
        return false;
    }
    $.post("api/add_account.php",
        {
            apps: apps,
            username: username,
            password: password
        },
        function (data, status) {
            $("#add_account_loading").addClass("d-none");
            $('#modal').modal('hide');
            if (data["ok"] == true) {
                alertify
                    .success("اطلاعات با موفقیت ثبت شد");
                $('#datatable').append(data["output"]);


            } else {
                switch (data["error_code"]) {
                    case 99:
                    case 100:
                        alertify
                            .error("لطفا مجددا وارد شوید");
                        break;
                    case 101:
                    case 102:
                        alertify
                            .error("نقص اطلاعات");
                        break;
                    case 103:
                        alertify
                            .error("اطلاعات قبلا ثبت شده اند");
                        break;
                    case 104:
                        alertify
                            .error("شما مجاز به ثبت نیستید");
                        break;
                    default:
                        alertify
                            .error(" خطای ثبت اطلاعات" + data["error_code"]);
                        break;
                }

            }
        }, "json");
}
