/***** INICIALES *****/
let dropdownlist_click = [false,false];
let d = new Date();
d = d.toISOString();
let date = d.split('-');
let year = date[0];
$('#ddlMeses ul li[data-id="' + parseInt(date[1]) + '"]').addClass('active');
$('#ddlMeses').data('id', parseInt(date[1]));
$('#btnMeses').children('label').text($('#ddlMeses ul li[data-id="' + parseInt(date[1]) + '"]').text());
$('#ddlAnios ul li[data-id="' + date[0] + '"]').addClass('active');
$('#ddlAnios').data('id', date[0]);
$('#btnAnios').children('label').text($('#ddlAnios ul li[data-id="' + date[0] + '"]').text());
cargaEventos();

/***** DROPDOWNLIST ******/
$('#btnMeses').click({elem: 'Meses'},clickDropdownList);
$('#btnMeses').blur({elem: 'Meses', index: 0},blurDropdownList);
$('#ddlMeses ul li').mousedown({index: 0},mousedownDropdownList);
$('#ddlMeses ul li').mouseup({elem: 'Meses', index: 0},mouseupDropdownList);
$('#ddlMeses ul li').click(function() {
    $(this).parent().parent().data('id',$(this).data('id'));
    $(this).parent().siblings('button').children('label').text($(this).text());
    $(this).siblings('.active').removeClass('active');
    $(this).addClass('active');
    $(this).parent().parent().removeClass('show');
    cargaEventos();
});
$('#btnAnios').click({elem: 'Anios'},clickDropdownList);
$('#btnAnios').blur({elem: 'Anios', index: 1},blurDropdownList);
$('#ddlAnios ul li').mousedown({index: 1},mousedownDropdownList);
$('#ddlAnios ul li').mouseup({elem: 'Anios', index: 1},mouseupDropdownList);
$('#ddlAnios ul li').click(function() {
    $(this).parent().parent().data('id',$(this).data('id'));
    $(this).parent().siblings('button').children('label').text($(this).text());
    $(this).siblings('.active').removeClass('active');
    $(this).addClass('active');
    $(this).parent().parent().removeClass('show');
    cargaEventos();
});

function cargaEventos(){ //obtiene los eventos segun el mes y el año
    $.ajax({
        url: 'action/eventos_action.php',
        type: 'POST',
        dataType: 'json',
        data: {tipo: 1, year: $('#ddlAnios').data('id'), month: $('#ddlMeses').data('id')},
        success: function(result){
            if(result['error']!= '' &&  result['error'] !== undefined){
                $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
                $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-cancelar');
                $('.msg1').text('¡Error!');
                $('.msg2').html(result['error']);
                $('#eventos').html('');
                $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
                $('#modalAviso').modal('show');
            } else {
                $('#eventos').html(result['html']);
                $('.collapse').on('shown.bs.collapse', function () { 
                    $(this).siblings().find('.fa-circle-info').addClass('view');
                    /*$(this).siblings().find('.btn-azul2').children('span:first-of-type').removeClass('fa-eye').addClass('fa-eye-slash');
                    $(this).siblings().find('.btn-azul2').children('span:last-of-type').text('Ocultar Detalle');
                    $(this).siblings().find('.btn-azul2').blur();*/
                    
                });
                $('.collapse').on('hidden.bs.collapse', function () {
                    $(this).siblings().find('.fa-circle-info').removeClass('view');
                    /*$(this).siblings().find('.btn-azul2').children('span:first-of-type').removeClass('fa-eye-slash').addClass('fa-eye');
                    $(this).siblings().find('.btn-azul2').children('span:last-of-type').text('Ver Detalle');
                    $(this).siblings().find('.btn-azul2').blur();*/
                });
            }
        },
        error: function(jqXHR, textStatus, errorThrown){
            $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
            $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-importante');
            $('.msg1').text('¡Lo sentimos!');
            $('.msg2').text('Se presentó un error inesperado al momento de cargar los eventos');
            $('#eventos').html('');
            $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
            $('#modalAviso').modal('show');
        }
    });
}

/***** INSCRIPCIONES ******/
$('#modalConfirmar').on('show.bs.modal', function(event){//boton inscripcion/desinscripcion
    let button = $(event.relatedTarget);
    $('#btnConfirmar').data('insignia',$(button).data('insignia'));
    $('#btnConfirmar').data('shortname',$(button).data('shortname'));
    //let evento = $(button).parent().parent().parent().siblings('.tituloEvento').children();
    let evento = $(button).parent().siblings('div:not(.calendario)').children('.tituloEvento').children('span');
    if(button.data('tipo')==1){//inscribirse
        $("#modalConfirmar").find('.modal-body').html('¿Estás seguro de querer inscribirte a <span class="text-azul1">' + $(evento[1]).text() + '</span>?');
        $("#btnConfirmar").data("tipo", 2);
    }else{//desinscribirse
        $("#modalConfirmar").find('.modal-body').html('¿Estás seguro de querer desinscribirte a <span class="text-azul1">' + $(evento[1]).text() + '</span>?');
        $("#btnConfirmar").data("tipo", 3);
    }
});
$('#btnConfirmar').click(function(){//confirmar accion inscribir/desinscribir
    $('#modalConfirmar').modal('hide');
    let tipo = $(this).data('tipo');
    let evento = $("#modalConfirmar").find('.modal-body').children('span').text();
    $.ajax({
        url: 'action/eventos_action.php',
        type: 'POST',
        dataType: 'json',
        data: {tipo: tipo, insignia: $(this).data('insignia'), shortname: $(this).data('shortname')},
        success: function(result){
            if(result['error']!= '' &&  result['error'] !== undefined){
                $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
                $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-cancelar');
                $('.msg1').text('¡Error!');
                $('.msg2').html(result['error'] + '<span class="text-azul1">' + evento + '</span>');
                $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
            } else {
                $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-success');
                $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-aceptar');
                $('.msg1').text(result['msg']);
                $('.msg2').html(result['ok'] + '<span class="text-azul1">' + evento + '</span>');
                $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-success');  
                cargaEventos();
            }            
            $('#modalAviso').modal('show');
        },
        error: function(jqXHR, textStatus, errorThrown){
            $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
            $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-importante');
            $('.msg1').text('¡Lo sentimos!');
            if (tipo = 2)
                $('.msg2').text('Se presentó un error inesperado al momento de inscribirte al evento');
            else
                $('.msg2').text('Se presentó un error inesperado al momento de desinscribirte del evento');
            $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
            $('#modalAviso').modal('show');
        }
    });
});

/***** EVIDENCIAS ******/
$('#addArchivo').customFile({
    allowed: ['pdf', 'zip', 'rar'],
    maxFiles: 1,
    maxKBperFile: 1024 * 10,
    filePicker : '<div class="text-center text-azul1 display-6 mb-2">Arrastra aquí tu PDF, ZIP o RAR</div><div class="text-azul2 display-7 mb-2">o da click para agregarlo</div><div class="text-secondary mb-2">(El archivo debe pesar máximo 10MB)</div><span class="display-6 text-mainColor ing-carga-archivo"></span>',
    addContainerAfter : $('#addArchivo'),
    messages : {
        errorType : 'No son permitidos ese tipo de archivos',
        errorFileKB: 'El archivo excede los 10MB'
    },
    popup: {
        active: false,
        autoclose : false
    },
    callbacks : {
        beforeRead : function(file){
            $('#divArchivo').children('div.cif-file-picker').hide();
            $('.carga').show();
        },
        onError : function(file,msg){
            let lista = '';
            for (let cont = 0; cont < msg.length; cont++){
                lista += '<li>' + msg[cont] + '</li>';
            }
            $('#divArchivo').before(`<div class="alert alert-danger alert-dismissible w-100 fade show" role="alert">
                <div class="d-flex flex-column">
                    <div class="fw-bold">¡Error!</div>
                    <div>El archivo que intentaste cargar es:<span class="ms-1">` + file.name + `</span></div>
                    <ul class="error">` + lista + `</ul>
                </div>
                <button type="button" class="close" data-dismiss="alert" aria-label="Close" onclick="$('#divArchivo').children('.cif-file-picker.cif-pkr-archivo').show();"><span aria-hidden="true" class="ing-cancelar"></span></button>
            </div>`);
            $('#divArchivo').children('.cif-file-container.cif-container-all-type').hide();
        },
        beforeRemove : function(item){
            $('#divArchivo').children('.cif-file-picker.cif-pkr-archivo').show();
            $('#divArchivo').children('.cif-file-container.cif-container-all-type').hide();
        },
        onComplete : function(app){
            $('.carga').hide();
            $('#divArchivo').children('.cif-file-picker.cif-pkr-archivo').hide();
            $('#divArchivo').children('.cif-file-picker.cif-pkr-archivo').removeClass('is-invalid');
            if ($('.alert').length == 0)
                $('#divArchivo').children('.cif-file-container.cif-container-all-type').show();
        }
    }
});
$('#modalSubirArchivo').on('show.bs.modal', function(event){//boton de subir evidencia
    $('.cif-close').click();
    $('#divArchivo').children('.cif-file-picker.cif-pkr-archivo').removeClass('is-invalid');
    let button = $(event.relatedTarget);
    $('#msgDetalle').html($(button).children('input').val());
    $('#btnOkArchivo').data('insignia',button.data('insignia'));
    $('#btnOkArchivo').data('shortname',button.data('shortname'));
});
$('#btnOkArchivo').click(function(){ //confirmar carga de archivo
    if ($('#divArchivo').children('.cif-file-container.cif-container-all-type').children('div.cif-file-row').length > 0) {
        $('#divArchivo').children('.cif-file-picker.cif-pkr-archivo').removeClass('is-invalid');
        let datos = $.customFile.serialize('#formArchivo');
        datos.append('insignia', $(this).data('insignia'));
        datos.append('shortname', $(this).data('shortname'));
        datos.append('tipo', 4);
        $.ajax({
            url: 'action/eventos_action.php',
            type: 'POST', 
            contentType: false,
            cache: false,
            processData:false,
            data: datos,
            success: function(result) {
                 if (result.startsWith('{')){
                    result = JSON.parse(result);
                    if(result['error']!= '' &&  result['error'] !== undefined){
                        $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
                        $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-cancelar');
                        $('.msg1').text('¡Error!');
                        $('.msg2').html(result['error']);
                        $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-danger');
                    } else {                    
                        cargaEventos();
                        $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-success');
                        $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-aceptar');
                        $('.msg1').text('¡Felicidades!');
                        $('.msg2').html(result['ok']);
                        $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-success');
                    }
                } else {
                    $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
                    $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-importante');
                    $('.msg1').text('¡Lo sentimos!');
                    $('.msg2').text('Ocurrió un error inesperado al momento de subir la evidencia');
                    $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');                
                }
                $('#modalSubirArchivo').modal('hide');
                $('#modalAviso').modal('show');
            },
            error: function(jqXHR, textStatus, errorThrown ){
                $('.iconAviso').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
                $('.iconAviso').children('i').removeClass('ing-aceptar ing-cancelar ing-importante').addClass('ing-importante');
                $('.msg1').text('¡Lo sentimos!');
                $('.msg2').text('Se presentó un error inesperado al momento de cargar la evidencia');
                $('.rounded-pill').removeClass('bg-success bg-warning bg-danger').addClass('bg-warning');
                $('#modalAviso').modal('show');
                $('#modalSubirArchivo').modal('hide');
            }
        });
    } else {
        $('#divArchivo').children('.cif-file-picker.cif-pkr-archivo').addClass('is-invalid');
    }
});