//Consultas "popup", mesmas características visuais dos F4s, mas de uma forma diferente, somente para visualização
rw.consultasPopup = (function ($, rw) {
    var _DIV = "#wkpopup" //constante
    var _BLACK = ".wkblack" //constante
    var _CLASSE_CSS = "wkconsultaPopUp" //constante  

    function cria(url, idTabelaConsulta, idBotaoOk) {
        var consultaPopup = {}
        var _url = url       
        var _idTabelaFiltro = idTabelaConsulta.replace('#', '#filtro_')         

        if($(_BLACK).length == 0)
            $(document.body).append('<div class="wkblack"></div>')

        if($(_DIV).length == 0)
            $(document.body).append('<div id="wkpopup" class="wkpopup">')
        
        consultaPopup.getDiv = function () {
            return _DIV
        }

        consultaPopup.getBlack = function () {
            return _BLACK
        }

        consultaPopup.getClasseCss = function () {
            return _CLASSE_CSS
        }

        consultaPopup.getUrl = function () {
            if(_url == "")
                rw.msg.alerta("")

            return _url
        }

        consultaPopup.getIdTabelaConsulta = function () {
            if(idTabelaConsulta == "")
                rw.msg.alerta("")

            return idTabelaConsulta
        }

        consultaPopup.getIdTabelaFiltro = function () {
            if(_idTabelaFiltro == "")
                rw.msg.alerta("")

            return _idTabelaFiltro
        }

        consultaPopup.configuraFade = function(consulta, largura, altura) {
            $(_DIV + " table").hide()
            $(consulta.idTabela).show()                                    

            $(_BLACK).css({"width": $(window).width(), "height": $(document).height()})
            $(_BLACK).fadeTo(1000, .6)
            $(_DIV).css("width", largura)
            $(_DIV).css("height", altura)
            $(_DIV).css("top", $(window).height() / 2 - $(_DIV).height() / 2)
            $(_DIV).css("left", $(window).width() / 2 - $(_DIV).width() / 2)
            $(_DIV).fadeIn(rw.FADE())            

            $(_BLACK).click(
                function () {           
                    $(_BLACK + ", " + _DIV).fadeOut(rw.FADE())
                    $(idBotaoOk).show()
                    rw.tabelas.limpa(_idTabelaFiltro)                         
                    rw.tabelas.limpa(idTabelaConsulta)
                }
            )

            $(document.body).keydown(
                function (event) {
                    if(event.keyCode == 27) { // ESC
                        $(_BLACK + ", " + _DIV).fadeOut(rw.FADE())
                        $(idBotaoOk).show()
                        rw.tabelas.limpa(_idTabelaFiltro)                         
                        rw.tabelas.limpa(idTabelaConsulta)
                    }
                }
            )            
        }        

        consultaPopup.onOk = function(consulta, fnConsisteDados, largura, altura) {   
            return function() {         
                var ok = true

                if(fnConsisteDados)
                    ok = fnConsisteDados()

                if(ok) {
                    $(idBotaoOk).hide()
                    consultaPopup.configuraFade(consulta, largura, altura)
                    consulta.limpa()
                }
            }
        }

        return consultaPopup
    }    

    return {
        cria: cria        
    }
} ($, rw))

rw.consultasPopup.lancamentos = (function ($, rw) {
    function cria(idBotaoOk, fnConsisteDados) {
        var popup = rw.consultasPopup.cria("../api/cn/consulta-lancamentoEditor.asp", "#tabelaLancamento", idBotaoOk)
        var montaDados = rw.cn.lancamentos.montaDados()
        var insere = rw.cn.lancamentos.inserePopup(popup.getIdTabelaConsulta(), popup.getIdTabelaFiltro())
        var consulta = rw.consultas.cria(popup.getIdTabelaConsulta(), popup.getUrl(), insere, montaDados)          
        $(idBotaoOk).click(popup.onOk(consulta, fnConsisteDados, "80%", "80%"))
        rw.tabelas.criaHeader(popup.getDiv(), popup.getClasseCss(), popup.getIdTabelaFiltro(), null, consulta, 'Conta', 'Data Inicial', 'Data Final')
        rw.tabelas.criaHeader(popup.getDiv(), popup.getClasseCss(), popup.getIdTabelaConsulta(), null, consulta, 'Chave', 'Data', 'Débito', 'Crédito', 'Valor', 'Histórico')
    }

    return {
        cria: cria
    }
} ($, rw))

rw.consultasPopup.acompanhamentosMensais = (function ($, rw) {
    function cria(idBotaoOk, fnConsisteDados) {
        var popup = rw.consultasPopup.cria("../api/cn/consulta-acompanhamentomensal.asp", "#tabelaAcompanhamento", idBotaoOk)
        var montaDados = rw.cn.acompanhamentosMensais.montaDados()
        var insere = rw.cn.acompanhamentosMensais.inserePopup(popup.getIdTabelaConsulta(), popup.getIdTabelaFiltro())
        var consulta = rw.consultas.cria(popup.getIdTabelaConsulta(), popup.getUrl(), insere, montaDados)          
        $(idBotaoOk).click(popup.onOk(consulta, fnConsisteDados, "600", "420"))
        rw.tabelas.criaHeader(popup.getDiv(), popup.getClasseCss(), popup.getIdTabelaFiltro(), null, consulta, 'Conta', 'Data Inicial', 'Data Final', 'Diário', 'Saldo Anterior')
        rw.tabelas.criaHeader(popup.getDiv(), popup.getClasseCss(), popup.getIdTabelaConsulta(), null, consulta, 'Créditos', 'Débitos', 'Saldo Atual', 'Data')        
    }

    return {
        cria: cria
    }
} ($, rw))

rw.consultasPopup.saldosContabeis = (function ($, rw) {
    function cria(idBotaoOk, fnConsisteDados) {
        var popup = rw.consultasPopup.cria("../api/cn/consulta-saldocontabil.asp", "#tabelaSaldoContabil", idBotaoOk)
        var montaDados = rw.cn.saldos.montaDados()
        var insere = rw.cn.saldos.inserePopup(popup.getIdTabelaConsulta(), popup.getIdTabelaFiltro())
        var consulta = rw.consultas.cria(popup.getIdTabelaConsulta(), popup.getUrl(), insere, montaDados)          
        $(idBotaoOk).click(popup.onOk(consulta, fnConsisteDados, "600", "150"))
        rw.tabelas.criaHeader(popup.getDiv(), popup.getClasseCss(), popup.getIdTabelaFiltro(), null, consulta, 'Conta', 'Data Inicial', 'Data Final')
        rw.tabelas.criaHeader(popup.getDiv(), popup.getClasseCss(), popup.getIdTabelaConsulta(), null, consulta, 'Saldo Anterior', 'Débitos', 'Créditos', 'Saldo Atual')        
    }

    return {
        cria: cria
    }
} ($, rw))