$(function () {
    // Fecha o tooltip do mapa //
    $(".btn-close-tooltip").on("click", function () {
        $(".box-tooltip").fadeOut("fast");
    });
    /////////////////////////////

    // Efeitos do menu lateral //
    $(".btn-sidebar-menu").on("click", function () {
        if ($(this).next().next().is(":hidden")) {
            $(".content-sidebar-menu").fadeOut("fast");
            $(this).next().next().fadeIn("fast");
        } else {
            $(".content-sidebar-menu").fadeOut("fast");
        }
    });
    /////////////////////////////

    // Fecha a caixa de menu lateral //
    $(".content-sidebar-menu .btn-close").on("click", function () {
        $(".content-sidebar-menu").fadeOut("fast");
    });
    ///////////////////////////////////

    // Fecha a modal //
    $("[class^=flex-modal-] .btn-close").on("click", function () {
        $("[class^=flex-modal-]").fadeOut("fast");
    });
    ///////////////////

    // Abre e fecha a modal de acordo com as opções (válido - invalido) //
    $(".box-options #validar").on("click", function () {
        $(this).closest("[class^=flex-modal]").removeClass().addClass("flex-modal-large");
        $("[class^=flex-modal] #justificativaInvalidacao").attr("disabled", "disabled");
    });

    $(".box-options #invalidar").on("click", function () {
        $(this).closest("[class^=flex-modal]").removeClass().addClass("flex-modal-small");
        $("[class^=flex-modal] #justificativaInvalidacao").removeAttr("disabled");
    });

    $(".box-options #abonar").on("click", function () {
        $("[class^=flex-modal] #justificativa").removeAttr("disabled");
    });

    $(".box-options #penalizar").on("click", function () {
        $("[class^=flex-modal] #justificativa").attr("disabled", "disabled");
    });
    //////////////////////////////////////////////////////////////////////

    // Abre e fecha o menu de usuário logado //
    $(".list-account button").toggle(
        function () {
            $(".list-account button").addClass("active-btn-list");
            $(".list-account ul").fadeIn("fast");
        }, function () {
            $(".list-account button").removeClass("active-btn-list");
            $(".list-account ul").fadeOut("fast");
        }
    );
    ///////////////////////////////////////////

    // Ajusta o mapa de acordo com a altura do footer caso o footer esteja presente na página //
    if ($("footer")) {
        var h = $("footer").outerHeight();

        $("#mapa").css({ "bottom": +h + "px" });
    }
    ////////////////////////////////////////////////////////////////////////////////////////////

    // Oculta ou mostra o footer //
    $(".grid-footer-title").toggle(
		function () {
		    $("footer").css({ "top": "auto", "height": "auto" });
		    $(".wrap-grid").hide();
		    $(".sidebar, #mapa").css({ "bottom": "20px" });
		}, function () {
		    $(".wrap-grid").show();

		    // Ajusta a barra lateral de acordo com a altura da grid
		    var h = $("footer").outerHeight();
		    $(".sidebar, #mapa").css({ "bottom": +h + "px" });
		}
	);
    //////////////////////////////

    // Redimensiona o footer //
    $(".main-footer").resizable({
        alsoResize: ".grid-footer, .slick-viewport, .wrap-grid, #myGrid",
        animate: false,
        minHeight: 171,
        handles: "n",
        stop: function (event, ui) {
            grid.resizeCanvas();

            var h = $("footer").outerHeight();
            $(".sidebar, #mapa").css({ "bottom": +h + "px" });
        }
    });
    ///////////////////////////

    // Mostra ou oculta as listas em segundo-nível //
    $(document).on('click', '.accordion-lista .btn-accordion', function (e) {
        if ($(this).next().is(":visible")) {
            $(".lista-accordion").slideUp();
            $(".btn-accordion").removeClass("minus-list").addClass("plus-list");
        } else {
            $(".lista-accordion").slideUp();
            $(this).next().slideDown();
            $(".btn-accordion").removeClass("minus-list").addClass("plus-list");
            $(this).removeClass("plus-list").addClass("minus-list");
        }
    });
    /////////////////////////////////////////////////
});