$(document).ready(function() {
    Shadowbox.init();

    $('#form .btn-send').click(function() {
        var local = $("#local").val();
        var asunto = $("#asunto").val();
        if ($("#mensaje").length > 0) {
            var mensaje = $("#mensaje").val();
        } else {
            var mensaje = "SISTEMA";
        }

        enviar(local, asunto, mensaje, 0);
    });

    $('#form .btn-cancel').click(function() {
        cancelar();
    });

    $('.it').click(function() {
        if ($('#form-rsp').length > 0) { //evitar seguir si esta abierto un formulario de envio
            return false;
        }
        var id = $(this).attr('rel');
        if (id) {
            Shadowbox.open({
                content: url_mensajeria + '/id/' + id,
                player: 'iframe',
                title: 'Mensajes'
            });
        }
    });

    $('span.dt .fa-mail-forward').click(function() {
        var obj = $(this).parent('span').parent('div');
        var id = obj.attr('rel');

        if ($('#form-rsp .btn-cancel').length > 0) {
            $('#form-rsp').remove();
        }

        if (id) {
            obj.after('<div id="form-rsp"> \
    <input type="hidden" value="' + obj.attr('local') + '" id="lc-rsp" /><br /> \
    <input type="hidden" value="' + id + '" id="id-rsp" /><br /> \
    <label>Asunto:</label> <input type="text" value="Re:' + obj.children('.sj').children('em').html() + '" id="sj-rsp" /><br /><br />\
    <label>Mensaje:</label> <textarea id="msj-rsp"></textarea><br />\
    <input type="button" value="Enviar" class="btn-send" />\
    <input type="button" value="Cancelar" class="btn-cancel" />\
</div>');
            call_function();
        }

        return false;
    });

    $('.rsp').on('mouseenter', function(e) {
        if ($('#form-rsp').length > 0) { //evitar seguir si esta abierto un formulario de envio
            return false;
        }
        $('.sb').hide();
        var id = $(this).attr('rel');
        if (id) {
            $('.sb' + id).fadeIn(700);
        }
        e.stopPropagation();
    }).on('mouseleave', function(e) {
        if ($('#form-rsp').length > 0) { //evitar seguir si esta abierto un formulario de envio
            return false;
        }
        $('.sb').hide();
        e.stopPropagation();
    });

    $("#fmCmd").validate({
        rules: {
            'comando[nombre]': {required: true, minlength: 2},
            'comando[tipo]': {required: true},
            'comando[comando]': {required: true}
        },
        messages: {
            'comando[nombre]': {required: "Ingrese un nombre", minlength: "El nombre debe tener al menos 2 caracteres"},
            'comando[tipo]': {required: "Ingrese tipo de comando"},
            'comando[comando]': {required: "Ingrese el comando"}
        }
    });

});

function enviar(local, asunto, mensaje, respuestaID) {

    if ((local || respuestaID) && asunto && mensaje) {
        $.ajax({
            url: url_mensajeria + '/action/enviar',
            data: {
                local: local,
                asunto: asunto,
                mensaje: mensaje,
                respuestaId: respuestaID
            },
            dataType: 'json',
            type: "post",
            beforeSend: function() {
                if (respuestaID) { //para el caso de respuestas
                    $("#form-rsp").hide();
                } else {
                    $("#form").hide();
                }
            },
            success: function(data) {
                if (data.return !== 'undefined' && data.return) {
                    if (respuestaID) { //para el caso de respuestas
                        $("#form-rsp").html("<p class=\"msg-ok\">El mensaje ha sido enviado</p>");
                        $("#form-rsp").show();
                        $("#form-rsp").delay(3000).hide(1000);
                        setTimeout(function() {
                            location.reload()
                        }, 3000);
                    } else { //para el caso de un nuevo mensaje
                        $("#local, #asunto, #mensaje").val("");
                        $("#form").after("<p class=\"msg-ok\">El mensaje ha sido enviado</p>");
                        cancelar();
                        $(".msg-ok").delay(5000).hide(1000);
                        setTimeout(function() {
                            location.reload()
                        }, 3000);
                    }
                } else {
                    if (respuestaID) { //para el caso de respuestas
                        $("#form-rsp").show();
                    } else {
                        $("#form").show();
                    }
                }
            }
        });
    } else {
        jAlertR("Faltan ingresar datos");
    }
    return false;
}

function escribir() {
    $('#msjs').hide();
    $('#form').show();
}
function cancelar() {
    $('#msjs').show();
    $('#form').hide();
}

function call_function() {

    $('#form-rsp .btn-send').click(function() {
        var local = $("#lc-rsp").val();
        var asunto = $("#sj-rsp").val();
        var mensaje = $("#msj-rsp").val();
        var respuestaID = $("#id-rsp").val();

        enviar(local, asunto, mensaje, respuestaID);
    });

    $('#form-rsp .btn-cancel').click(function() {
        $('#form-rsp').remove();
    });

}

function select_all() {
    $("#local option").each(function() {
        $(this).prop('selected', true);
    });
}

function unselect_all() {
    $("#local option").each(function() {
        $(this).prop('selected', false);
    });
}

function del_comando(id) {
    jConfirm('Está seguro de eliminar el comando?', 'Debo Retails', function(r) {
        if (r) {
            window.location = url_sitio + 'mensajeria_sistema/delete_comando/' + id;
        }
    });
}