/*
	Descrição: Efeitos e funcionalidades dos elementos "inputs"
    Autor: Adriano Angélico
	Data: 02/10/2015
	Versão: 1.0
*/

function RegistrarInputs() {
    // radio & checkbox
    //$("label").on("click", function () {
    //    if ($(":first-child", this).hasClass("radio")) {
    //        var name = $(":first-child", this).attr("name");

    //        $("label .radio[name='" + name + "']").removeClass("radio-checked").addClass("radio-unchecked");
    //        $(":first-child", this).addClass("radio-checked");
    //    }

    //    if ($(":first-child", this).hasClass("checkbox")) {
    //        if ($(":first-child", this).hasClass("checkbox-unchecked")) {
    //            $(":first-child", this).removeClass("checkbox-unchecked").addClass("checkbox-checked");
    //        } else {
    //            $(":first-child", this).removeClass("checkbox-checked").addClass("checkbox-unchecked");
    //        }
    //    }
    //});

    // select
    $("body").on("click", function () {
        $(".sel-list").hide();
    });

    $(".select").on("click", function (evt) {
        evt.stopPropagation();
    });

    $(".select .sel-val").on("click", function () {
        if ($(this).next().is(":hidden")) {
            $(".select").css({ "z-index": "1" });
            $(this).parent().css({ "z-index": "8000" });
            $(".sel-arrow-up").removeClass("sel-arrow-up").addClass("sel-arrow-down");
            $(".sel-list").hide();
            $(this).next().show();
            $(this).closest(".efeito-acc").css({ "overflow": "inherit" });
            $(".sel-arrow-down", this).removeClass("sel-arrow-down").addClass("sel-arrow-up");
        } else {
            $(this).next().hide();
            $(".sel-arrow-up", this).removeClass("sel-arrow-up").addClass("sel-arrow-down");
        }
    });

    $(".sel-list li").on("click", function () {
        if ($(this).hasClass("optgroup")) {
            return false;
        } else {
            var vlr = $(this).text();

            $(".sel-list").hide();
            $(this).closest(".select").find(".txt-val").text(vlr);
            $(".sel-arrow-up").removeClass().addClass("sel-arrow-down");

            if ($(this).closest(".select").find(".txt-val").text() !== "Selecione") {
                $(this).closest(".select").find(".txt-val").removeClass("txt-default");
            } else {
                $(this).closest(".select").find(".txt-val").addClass("txt-default");
            }
        }
    });

    // megaselect
    $(".select .sel-val-megaselect").on("click", function () {
        if ($(this).next().is(":hidden")) {
            $(".select .sel-val, .select .sel-val-megaselect").next().hide();
            $(".sel-arrow-up").removeClass("sel-arrow-up").addClass("sel-arrow-down");
            $(".sel-val-megaselect").css({ "background": "#fff" });
            $(this).next().show();
            $(this).closest(".efeito-acc").css({ "overflow": "inherit" });
            $(".sel-arrow-down", this).removeClass("sel-arrow-down").addClass("sel-arrow-up");
            $(this).css({ "background": "#eee" });
        } else {
            $(this).next().hide();
            $(".sel-arrow-up", this).removeClass("sel-arrow-up").addClass("sel-arrow-down");
            $(".sel-val-megaselect").css({ "background": "#fff" });
        }
    });

    $(".list-megaselect li ul").on("click", function (e) {
        if ($(this).hasClass("sub-list-megaselect-disabled")) {
            return false;
        } else {
            $(this).toggleClass("dropped-item");
        }
    });

    // ordenar listas - muda o ícone de ordenação das listas
    $(".order-by").on("click", function () {
        if ($(this).hasClass("icon-down")) {
            $(this).removeClass("icon-down").addClass("icon-up");
        } else {
            $(this).removeClass("icon-up").addClass("icon-down");
        }
    });

    $(".codigos").on("click", function () {
        if ($(this).parent().parent().parent().hasClass("dropped-item")) {
            return false;
        }
    });

    // mostra a mensagem de alerta quando há um erro no momento de transferir as linhas entre as tabelas
    // obs: esse código é apenas para visualização
    $(".transfer-to-right").on("click", function () {
        $(".alert-megaselect").hide();
        $(this).parent().next().next(".alert-megaselect").html("<span class='icon-warning'></span> Informe o campo <strong>identificador!</strong></span>").slideDown().css({ "display": "inline-block", "margin-left": "0" });

        var cmp = $(this).parents(".megaselect").find(".list-megaselect .dropped-item .codigos");

        if (cmp.val() == "") {
            cmp.eq(0).addClass("cmp-erro");
        }
    });

    $(".transfer-to-left").on("click", function () {
        $(".alert-megaselect").hide();
        $(this).parent().next().next(".alert-megaselect").html("<span class='icon-warning'></span> Selecione uma <strong>linha</strong></span>!").slideDown().css({ "display": "inline-block", "margin-left": "400px" });
    });

    $(".select.disabled, .select.disabled .sel-val").off("click");

    // switch button
    $(".switch-button").closest("label").on("click", function () {
        $(this).children(".switch-button").click();
    });

    $(".switch-button").toggle(
        function () {
            $(this).removeClass("switch-button-off").addClass("switch-button-on");
        }, function () {
            $(this).removeClass("switch-button-on").addClass("switch-button-off");
        }
    );
};

function RegistraClickLi()
{
    $(".sel-list li").off("click");
    $(".sel-list li").on("click", function () {
        if ($(this).hasClass("optgroup")) {
            return false;
        } else {
            var vlr = $(this).text();

            $(".sel-list").hide();
            $(this).closest(".select").find(".txt-val").text(vlr);
            $(".sel-arrow-up").removeClass().addClass("sel-arrow-down");

            if ($(this).closest(".select").find(".txt-val").text() !== "Selecione") {
                $(this).closest(".select").find(".txt-val").removeClass("txt-default");
            } else {
                $(this).closest(".select").find(".txt-val").addClass("txt-default");
            }
        }
    });
}