$(function () {
    function q_makeAjaxRequest(url, method, data, callback) {
        $.ajax({
            type: method,
            url: url,
            data: data,
            success: function (data) {
                //console.log("Ваши данные : ", data);

                if (typeof(callback) === 'function') {
                    callback(data);
                    return false;
                }
                if (typeof(data) === "object" && !data.error && data.link) {
                    q_makeRequest(data.link, data.params, data.method);
                } else if (typeof(data) === "object" && data.error && data.message) {
                    q_error(data);
                } else if (typeof(data) === "object" && data.error === false && data.message) {
                    q_success(data);
                } else {
                    window.alert(data);
                }
            },
        });
    }
    window.q_makeAjaxRequest = q_makeAjaxRequest;
});

var arrayTableInvest = {
    'id' : 'ID',
    'summa' : 'Сумма',
    'login' : 'Login',
    'refer' : 'Рефер',
    'plan_name' : 'План',
    'date' : 'Дата создания',
    'system' : 'Система',
    'ip' : 'IP',
    'ip_refer' : 'IP Рефер',
    'status' : 'Статус',
    'delete' : 'Удалить'
};

var arrayTable = arrayTableInvest;
var table;
var template;
var status;
var recDelete; /* Удаленные записи */

function q_success(data) {
    if (data.data.show === "templates") {
        delete data.data.show;
        return getTemp(data);
    }

    if (data.data.show === "data") {
        delete data.data.show;
        form = data.data.form;
        delete data.data.form;
        return setFormData(data.data, form);
    }
}

function q_error(data) {
    //console.log('Ошибка',data);
}

function q_callback(data) {
    //console.log("Колбек");
}

$(document).ready(function() {
    /*Обработчик событий*/
    $(".loadRecords, .loadRecordsAll").on('click', function() {
        table = $(this).data('table');
        template =  $(this).data('template');
        status =  $(this).data('status');
        recDelete =  $(this).data('delete');
        loadRecords($(this).val());
    });
    $(".loadRecords").click();
});


$(document).ajaxStart(function() {
    $(".loadRecords, .loadRecordsAll").attr("disabled", "disabled");
});

$(document).ajaxStop(function() {
    $(".loadRecords, .loadRecordsAll").removeAttr("disabled");
});

/**
 * Запрос на загрузку записей
 */
function loadRecords(arg) {
    var lastId = $('#' + template + ' tr:last-child td:first-child').text();
    var id = lastId ? lastId : false;
    var tableName = table;
    //console.log("Функция loadRecords, Параметры: ", id, tableName);
    var data = {
        'id' : id * arg,
        'table_name' : tableName,
        'status' : status,
        'delete' : recDelete,
    };
    //console.log("Data", data);
    AjaxQuery('/ajax/adg/load_records.php', data);
}

/**
 * Запрос к шаблонам
 * @param data
 */
function getTemp(data) {
    data['fields'] = arrayTable;
    data['template'] = template;
    //console.log("Поля таблицы", data);
    AjaxQuery('/adg/templates/invest.php', data, showData);
}

/* Параметры Ajax -  запроса */
function AjaxQuery(url, data, callback) {
    callback = callback ? callback : false;
    q_makeAjaxRequest(
        url,
        'post',
        data,
        callback
    );
}

/**
 * Добавление записей в таблицу
 * @param data
 */
function showData(data) {
    //console.log("Функция: showData. Выводим данные а таблицу: ", template);
    $('#' + template).append(data);
}



$(document).ready(function () {
    hash = window.location.hash;
    if (hash) {
        tabFadeActive(hash);
    }

    /* Переключение между табами */
    $("#myTab li").on('click', function () {
        hash = $(this).children('a').attr('href');
        tabFadeActive(hash);
    });
});

/* Скрытие показ табов */
function tabFadeActive(hash) {
    $("#myTabContent").children().removeClass("in active");
    $("#myTab li").removeClass("active");
    $(hash).addClass("in active");
    $("#myTab li a[href='" + hash + "']").parent().addClass("active");
}