$(document).ready(function () {
    $('.select2').select2();

    $('.js-data-table').DataTable();

    var allEditors = document.querySelectorAll('.ckeditor');
    for (var i = 0; i < allEditors.length; ++i) {
        ClassicEditor.create(allEditors[i], {
            toolbar: {
                items: [
                    'heading',
                    '|',
                    'bold',
                    'italic',
                    'link',
                    'bulletedList',
                    'numberedList',
                    /*'imageUpload',*/
                    'blockQuote',
                    'undo',
                    'redo'
                ]
            },
            /*image: {
                toolbar: [
                    'imageStyle:full',
                    'imageStyle:side',
                    '|',
                    'imageTextAlternative'
                ]
            },*/
            language: 'ru'
        });
    }
});

$(function () {
    $('[data-toggle="tooltip"]').tooltip()
});

/* Делаем запрос и заполняем форму данными */
function getAjaxRequestSetForm(id, url, form, csrf) {
    $.ajax({
        type: "post",
        data: { id : id, csrf : csrf },
        url: url,
        success: function (data) {
            if (!data['error']) {
                setFormData(data['data'], form);
            } else {
                alert(data['message']);
            }
        },
        error: function () {
            console.log('Ошибка ответа от сервера!');
            alert('Ошибка ответа от сервера!');
        }
    });
}

/* Заполняем форму данными */
function setFormData(data, form) {
    /*console.log(data, form);*/
    $("#myTabContent").children().removeClass("active in");
    $("#myTab").children().removeClass("active");
    $("#tab-update").css("display", "block").addClass("active");
    $("#update").addClass("active in");

    /* Для пользователя */
    if (data['date']) {
        data['date'] = timeConverter(data['date']);
    }
    if (data['last_password_reset']) {
        data['last_password_reset'] = timeConverter(data['last_password_reset']);
    }

    if (data['groups']) {
        $(form + " select[name='groups']").val(data['groups']).attr("checked", "checked");
    }

    if (data['reset_password']) {
        $(form + " select[name='reset_password']").val(data['reset_password']).attr("checked", "checked");
    }

    if (data['notification_auth_to_email']) {
        $(form + " select[name='notification_auth_to_email']").val(data['notification_auth_to_email']).attr("checked", "checked");
    }

    if (data['authorization_link']) {
        $(form + " select[name='authorization_link']").val(data['authorization_link']).attr("checked", "checked");
    }

    if (data['type_refer_system_id']) {
        $(form + " select[name='type_refer_system_id']").val(data['type_refer_system_id']).attr("checked", "checked");
    }
    /* /. Для пользователя */

    $.each(data, function(key, value) {
        $(form + " input[name='" + key + "']").val(value);
    });

    /* ссылка для изменения пароля */
    if (data['login']) {
        $('#change_password_link').attr('href', '?page=password&login=' + data['login']);
    }
}

function timeConverter(UNIX_timestamp){
    var a = new Date(UNIX_timestamp * 1000);
    var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
    var year = a.getFullYear();
    var month = a.getMonth();
    var date = a.getDate();
    var hour = a.getHours();
    var min = a.getMinutes();
    var sec = a.getSeconds();
    if (month < 10) {
        month = '0' + month;
    }
    if (date < 10) {
        date = '0' + date;
    }
    if (hour < 10) {
        hour = '0' + hour;
    }
    if (min < 10) {
        min = '0' + min;
    }
    var time = year + '-' + month + '-' + date + 'T' + hour + ':' + min;
    return time;
}

