var vm = null;

//View model de eventos
var vmEventos = null;

/* -- JQUERY -- */

$(document).ready(function () {

    relogio();
    resize();

    ajusteLarguraTiles();
    anime();
    eventoCliqueAutenticador();
    eventoCliqueFolder();
    eventoCliqueAba();

    //ao procurar usuarios
    $('#pesquisa_usuarios').keyup(function () {
        var valThis = $(this).val().toLowerCase();
        $('.result .item').each(function () {
            var text = $(this).children('.name').text().toLowerCase();
            var text2 = $(this).children('.name').children('span').text().toLowerCase();
            (text.indexOf(valThis) >= 0 || text2.indexOf(valThis) >= 0) ? $(this).show() : $(this).hide();
        });
    });

    /*
    //monta a árvore de grupos e aplicativos
    $('ol#bonsai').bonsai({
        expandAll: true,
        checkboxes: true, // depends on jquery.qubit plugin
        createCheckboxes: true // takes values from data-name and data-value, and data-name is inherited
    });
    //destaca os itens que são aplicativos
    $('.bonsai li:not(:has(ol))').addClass('app');
    */

    /*
    $('#grupos .grupo').click(function () {
        anime_aplicativos();
    });
    */

    //evento ao redimensionar tela
    $(window).resize(function () {
        resize();
    });
});

//função para redimensionar tudo necessario
function resize() {
    //verifica se está em full screen
    if ((window.fullScreen) || window.innerWidth == screen.width && window.innerHeight == screen.height) {
        $('#relogio').show();
    } else {
        $('#relogio').hide();
    }
}

function ajusteLarguraTiles() {
    var larguraPadrao = 110;
    $('.tab-content div:visible .tile:not(.ok)').each(function (index, value) {
        var n = Math.ceil($(this).outerWidth() / larguraPadrao);
        $(this).outerWidth(n * larguraPadrao + (n - 1) * 4);
        $(this).addClass('ok');
    });
}

function anime() {
    $('.tile').hide();
    var valor_atraso = 150;
    $('.tile').each(function (index, value) {
        $(this).delay(index * valor_atraso).fadeIn(1000);
    });
}

function addTab(idTab, nomeTab, icone) {//conteudo
    if (!$('a[href="#' + idTab + '"]').length) {
        //$('.nav-tabs').append('<li><a data-toggle="tab" role="tab" href="#' + idTab + '">' + icone.outerHtml() + ' ' + nomeTab + ' <button class="close" type="button">×</button></a></li>');
        $('.nav-tabs').append('<li><a data-toggle="tab" role="tab" href="#' + idTab + '"><span class=' + icone + '></span>' + nomeTab + ' <button class="close" type="button">×</button></a></li>');
        //$('.tab-content').append($('<div> ' + conteudo.outerHtml() + ' </div>').addClass('tab-pane').attr('id', idTab));
        $('.nav-tabs a[href="#' + idTab + '"]').tab('show');
        eventoCliqueCloseTab();
        eventoCliqueAba();
    }
}

function eventoCliqueAutenticador() {
    $('.tile.autenticador').click(function () {
        addTab('autenticador' + $(this).attr('id'), $(this).children('p').text(), $(this).children('span'));
    });
}

function eventoCliqueFolder() {
    $('.tile.folder').click(function () {
        addTab('folder' + $(this).attr('id'), $(this).children('p').text(), $(this).children('span'));
    });
}

function eventoCliqueCloseTab() {
    $('.nav-tabs li button.close').unbind('click');
    $('.nav-tabs li button.close').click(function () {
        var tabContentId = $(this).parent('a').attr("href");
        $(this).parent('a').parent('li').remove(); //remove li of tab
        $('.nav-tabs a:first').tab('show'); // Select first tab
        $(tabContentId).remove();
    });
}

function eventoCliqueAba() {
    $('a[data-toggle="tab"]').unbind('shown', cliqueAba)
    $('a[data-toggle="tab"]').on('shown', cliqueAba);
}

/*
function eventoDragableTiles() {

    $('.slide').sortable({
        items: "div[class*=app-]",
        opacity: 0.5
    });

    //$('.tile').draggable({
     //   connectToSortable: ".tab-pane",
     //   revert: "invalid"
    //});
}
*/

function cliqueAba() {
    ajusteLarguraTiles();
}

function openDialog(id, drag, modal, resize) {
    var divID = "#" + id;
    $(divID).dialog({
        closeText: "Fechar",
        draggable: drag,
        show: { effect: "fade", duration: 100 },
        hide: { effect: "fade", duration: 100 },
        modal: modal,
        resizable: resize
    });
}

function relogio() {
    var month_Names = ["janeiro", "fevereiro", "março", "abril", "maio", "junho", "julho", "agosto", "setembro", "outubro", "novembro", "dezembro"];
    var day_Names = ["domingo", "segunda-feira", "terça-feira", "quarta-feira", "quinta-feira", "sexta-feira", "sábado"]
    var new_Date = new Date();
    new_Date.setDate(new_Date.getDate());

    $('#relogio #data').html(day_Names[new_Date.getDay()] + ", " + new_Date.getDate() + ' de ' + month_Names[new_Date.getMonth()]);
    //+ ' ' + new_Date.getFullYear()

    setInterval(function () {
        //var seconds = new Date().getSeconds();
        var minutes = new Date().getMinutes();
        var hours = new Date().getHours();
        $("#relogio #hora span").html((hours < 10 ? "0" : "") + hours + ":" + (minutes < 10 ? "0" : "") + minutes);
        // + ":" + (seconds < 10 ? "0" : "") + seconds
    }, 1000);
}

function getAplicativoPorCodigo(codigoAplicativo) {

    if (vm) {

        var moduloAplicativos = vm.GetModulo("ListaAplicativosUsuarioViewModel");

        if (moduloAplicativos)
            moduloAplicativos.GetAplicativo(codigoAplicativo);
    }
}

function configuraTreeViewBonsai(elementId) {
    $(elementId).bonsai({
        expandAll: true,
        checkboxes: true
        //createCheckboxes: true
    });
}