<script>
    $("#city").select2();
    $("#category").select2();
</script>
<script>

    var DuplicateFound;
    function clear_fields() {
        $("#add_account_form")[0].reset();
        $(".error").text('');
        $("#city").select2();
        $("#category").select2();
    }

    var other_account_table = $("#cities_table").DataTable({
        processing: true,
        serverSide: true,
        ajax: "{{ route('other_account_index') }}",
        columns: [{
            name: "DT_RowIndex",
            data: "DT_RowIndex"
        },
            {
                name: "name",
                data: "name"
            },
            {
                name: "cnic",
                data: "cnic"
            },
            {
                name: "mobile",
                data: "mobile"
            },
            {
                name: "city",
                data: "city"
            }, {
                name: "category",
                data: "category"
            },{
                name: "type",
                data: "type"
            },
            {
                name: "action",
                data: "action",
                orderable: false,
            },
        ]
    });

    $(document).on('keyup', '#account_name', function(event)
    {	
        // CheckDuplicateRef($(this).val());

        $('.NameAlreadyExists').css('display', 'none');
        setTimeout(() => 
            CheckDuplicateRef($(this).val())
        , 5000);
    });

    $("#account_name").on('click', function (e) 
    {
        $(this).val('').css('color', 'black').attr('placeholder', 'برائے مہربانی اکاؤنٹ کا نام درج کریں');
    });

    function CheckDuplicateRef(ClientName)
    {

        var csrfToken = $('#csrf_token').val();

        $.ajax({
            url: "{{ route('CheckDuplicateAccount') }}",
            type:"POST",
            data: 
            {
                _token: csrfToken,
                ClientName: ClientName
            },
            dataType: "json",
            success:function(result)
            {
                // console.log(result.count);
                // return false;

                if(result.count !== 0)
                {
                    // alert('Account Name Already Exists, Please Add New One');
                    $('.NameAlreadyExists').css('display', 'block');
                      
                    // $('.NameAlreadyExists').text('اکاؤنٹ کا نام پہلے سے موجود ہے، براہ کرم نیا شامل کریں');
                    $('.NameAlreadyExists').html('اکاؤنٹ کا نام <strong>' + ClientName + '</strong> پہلے سے موجود ہے، براہ کرم نیا شامل کریں');                    DuplicateFound = true;
                    $('#account_name').val('');
                    return false;
                }
            },
            error: function(xhr, status, error) 
            {
                console.error("AJAX Error: " + status + ": " + error);
            }
        });	
        

    }
 

    $("#add_account_form").on('submit', function (e) 
    {
        e.preventDefault();
 

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

        if(account_name == "")
		{
			$('#account_name').focus();
			$('#account_name').val('برائے مہربانی اکاؤنٹ کا نام درج کریں');
			$('#account_name').css('color', 'red');
			$('#account_name').attr('data-Error', '1');
            return false;
		}

      

        $.ajax({
            url: "{{ route('other_account_store') }}",
            type: "POST",
            contentType: false,
            processData: false,
            data: new FormData(this),
            beforeSend: function () {
                $("#submit_btn").text('پراسسنگ۔۔۔۔۔');
                $("#submit_btn").prop('disabled', true);
            },
            success: function (data) 
            {

                $("#submit_btn").text('محفوظ');
                $("#submit_btn").prop('disabled', false);
                // console.log('respnpse:');
                // console.log(data);
                // return false;
                if (data.success) 
                {
                    other_account_table.ajax.reload();
                    clear_fields();
                    alertify.success("Account Added Successfully!");

                } else {
                    alertify.error("Something Went Wrong!");
                }
            },
            error: function (error) {
                $("#submit_btn").text('محفوظ');
                $("#submit_btn").prop('disabled', false);
                if ('errors' in error.responseJSON) {
                    $(".error").text('');
                    $.each(error.responseJSON.errors, (index, value) => {
                        $("#" + index + "_error").text(value[0]);
                    });
                }
            }
        });
    });
    $(document).on('click', '.edit_other_account', function () 
    {
        var edit_id = $(this).data('id');
      
        var url = "{{ route('other_account_edit', ':id') }}";
        url = url.replace(':id', edit_id);
    
        $.ajax({
            url: url,
            type: "GET",
            // datatype: 'json',
            success: function (resonpse) 
            {
                
                // console.log(resonpse);
                // return false;
                
                $("#editBrokerData").html(resonpse);
                $("#editBrokerModal").modal('toggle');
                setTimeout(() => {
                    $(document).find("#u_city").select2();
                }, 300);
            }
        });
    });
    $(document).on('submit', "#update_otherAccount_form", function (e) 
    {
        e.preventDefault();

        $.ajax({
            url: "{{ route('other_account_update') }}",
            type: "POST",
            contentType: false,
            processData: false,
            data: new FormData(this),
            beforeSend: function () 
            {
                $("#update_btn").text('پراسسنگ۔۔۔۔۔');
                $("#update_btn").prop('disabled', true);
            },
            success: function (data) 
            {
                $("#update_btn").text('اپ ڈیٹ');
                $("#update_btn").prop('disabled', false);

                if (data.success) 
                {
                    other_account_table.ajax.reload();
                    $("#editBrokerModal").modal('hide');
                    alertify.success("Broker Updated Successfully!");

                } else {
                    alertify.error("Something Went Wrong!");
                }
            },
            error: function (error) {
                $("#update_btn").text('اپ ڈیٹ');
                $("#update_btn").prop('disabled', false);
                if ('errors' in error.responseJSON) {
                    $(".u_error").text('');
                    $.each(error.responseJSON.errors, (index, value) => {
                        $("#u_" + index + "_error").text(value[0]);
                    });
                }
            }
        });
    });
    $(document).on('click', '.delete_other_account', function () 
    {
        var del_id = $(this).data('id');
        var url = "{{ route('other_account_delete', ':id') }}";
        url = url.replace(':id', del_id);

        if (confirm('کیا آپ اس اکاؤنٹ کو حذف کرنا چاہتے ہیں؟')) 
        {
            $.ajax({
                url: url,
                type: "GET",
                datatype: 'json',
                success: function (response) 
                {
                    // var response = JSON.parse(response);
                    console.log(response);
                    
                    if (response.success) 
                    {
                        other_account_table.ajax.reload();
                        alertify.success("Account Deleted Successfully!");
                    } else {
                        alertify.error("Something Went Wrong!");
                    }
                }
            });
        } else {
            return false;
        }
    });
</script>
