///////////////////////////////////////////////////////////////////////////////////////////////
//		Funções																				//
/////////////////////////////////////////////////////////////////////////////////////////////

/////////////
// Select //
///////////
dmSelect = {
	init: function(){
		var primeiro = 0;
		$("select.select").each(function(){
			var html =  '<div id="' + $(this).attr("id") + '" class="' + $(this).attr("class") + '" style="' + $(this).attr("style") + '">';
				html += '	<div class="ativo"></div>';
				html += '	<input id="' + $(this).attr("id") + '_select" name="' + $(this).attr("name") + '" type="hidden" value="" />';
				html += '	<div class="options">';
				for(i=0;i<$("option",this).length;i++){
					html += '	<a href="javascript:void(0);" title="' + $("option:eq(" + i + ")",this).text() + '" rel="' + $("option:eq(" + i + ")",this).attr("value") + '">' + $("option:eq(" + i + ")",this).text() + '</a>';
				}
				html += '	</div>';
				html += '</div>';

			$(this).replaceWith(html);
			$("option",this).each(function(i){
				primeiro = this.selected ? i : primeiro;
			});
		});
		$("div.select").css("visibility","visible").each(function(){
			var altura = $("a",this).length;
				altura = altura > 5 ? 5 : altura;
			$(".options",this).css({height:(altura * parseInt($("a:first",this).outerHeight())) + "px", visibility:"visible", display:"none"});
			dmSelect.change(this,primeiro);
		})
		$("div.select .ativo").unbind().click(function(){
			$("div.select").css("z-index","1");
			$(this).parents(".select:eq(0)").css("z-index","2");
			$(this).siblings(".options").slideDown('fast',function(){
				$("html").bind('click',dmSelect.fecha);
			});
		});
		$("div.select").each(function(){
			$("a",this).each(function(i){
				$(this).unbind().click(function(){
					dmSelect.change($(this).parents("div.select:eq(0)"),i);
				});
			});
		});
	},

	change: function(obj,option){
		$("a.optionAtivo",obj).removeClass("optionAtivo");
		$("a:eq(" + option + ")",obj).addClass("optionAtivo");
		var texto = $("a:eq(" + option + ")",obj).text();
		var valor = $("a:eq(" + option + ")",obj).attr("rel");
		$(".ativo",obj).html(texto);
		$("input",obj).val(valor);
		dmSelect.fecha();
	},
	
	fecha: function(){
		$("div.select .options:visible").slideUp('fast');
		$("html").unbind('click',dmSelect.fecha);
	}
}

////////////////////////////
// Aplica Zebra em tabela /
//////////////////////////
function aplicaZebra(tabela) {
    trs = $("tbody", tabela).is("tbody") ? $("tbody tr:not(.hide)", tabela) : $("tr:not(.hide)", tabela);
    $(trs).filter(":even").addClass("zebra").filter(".trInd").addClass("trIndZebra");
    $(trs).filter(":odd").removeClass("zebra").removeClass("trIndZebra");

}

//////////////////////
// Select Dinâmico //
////////////////////
function selectDinamico() {
    $("select.selectDinamico").unbind().click(function() {
        if (!$(this).hasClass("carregado")) {
            var este = this;
            $(este).append('<option value="" class="carregandoDados">Carregando...</option>');
            ajax({
                arquivo: "geral",
                acao: "selecaoDinamica",
                querystring: "tabela=" + $(this).attr("name"),
                tipoDados: "json",
                aoConcluir: function(retorno) {
                    $(".carregandoDados", este).remove();
                    if (typeof (retorno) != "string") {
                        $.each(retorno, function(chave, valor) {
                            $(este).append('<option value="' + valor.value + '">' + valor.label + '</option>');
                            $("option:last", este)[0].atribs = valor;
                        });
                    } else {
                        $(este).append('<option value="">Nenhum registro localizado!</option>');
                    }
                    $(este).addClass("carregado");
                    if (typeof (ajaxCallBack.usuarios) == "function") ajaxCallBack.usuarios();
                }
            });
        }
    });
}

////////////////////////
// Clientes clientes //
//////////////////////
function clientes_clientes() {

    // Adicionar
    $(".adicionarMultiplo").unbind().each(function() {
        if ($(this).hasClass("variacoes")) {
            var remove = function() {
                var este = this;
                if ($(this).parents("div.registroAberto").is("div")) {
                    ajax({
                        arquivo: "geral",
                        acao: "remover",
                        querystring: "tabela=de_para&id=" + $(this).siblings("input").val(),
                        aoConcluir: function(retorno) {
                            $(este).parent().remove();
                        }
                    });
                } else {
                    $(este).parent().remove();
                }
            }

            $(this).click(function() {
                if ($.trim($(this).siblings("input").val()) != "") {
                    var input = $(this).siblings("input");
                    var li = $('<li><strong>&raquo;</strong> ' + $(input).val() + ' <a href="javascript:void(0);" title="Remover" class="vmMiddle"><img src="imagens/ico-remover.gif" alt="Remover"/></a></li>');
                    var cont = parseInt($(input).attr("name").split("_").pop()) + 1;
                    $(input).attr({ id: "FCC_adicionarVariacao_" + cont, name: "adicionarVariacao_" + cont });
                    $(li).append('<input id="FCC_depara_' + cont + '" name="depara_' + cont + '" type="hidden" value="' + $(input).val() + '" />');
                    $("a", li).click(remove);

                    if ($(this).parents("div.registroAberto").is("div")) {
                        var este = this;
                        ajax({
                            arquivo: "painel",
                            acao: "alterarClienteCliente",
                            querystring: "relacao=de_para",
                            dados: {
                                id_clientes_clientes: $("input.id", $(this).parents("tr:first").prev()).val(),
                                valor: $(input).val()
                            },
                            tipoDados: "json",
                            metodo: "POST",
                            aoConcluir: function(retorno) {
                                if (retorno != "erro") {
                                    $("#FCC_depara_" + cont, li).val(retorno)
                                    $(este).parent().before(li);
                                } else {
                                    alert("Não foi possível gravar informação, por favor, tente novamente.");
                                }
                            }
                        });
                    } else {
                        $(this).parent().before(li);
                    }
                }
            });
            $("a:not(.adicionarMultiplo)", $(this).parents("ul:first")).click(remove);

        } else if ($(this).hasClass("usuarios")) {
            var este = this;
            este.adicionados = {};
            $(":hidden", $(this).parents("table:first")).each(function() {
                este.adicionados[$(this).val()] = true;
            });
            var table = $(this).parents("table:first");

            var remove = function() {
                este2 = this;
                var execRemove = function() {
                    if ($(este2).parents("#regrasFollowNet").is("div")) {
                        var nome = $.trim($("td:first", $(este2).parents("tr:first")).text());
                        var objTd = $("td:eq(4)", $(este2).parents("tr:eq(1)").prev());
                        if (objTd.length > 0)
                            $(objTd).html($(objTd).html().replace(eval("/(, )?" + nome + "/"), ""));
                        if ($.trim($(objTd).html()) == "," || $.trim($(objTd).html()) == "") $(objTd).html("-");
                    }
                    este.adicionados[$(este2).siblings(":hidden").val()] = false;
                    $(este2).parents("tr:first").remove();
                    if ($("tbody tr", table).length <= 2) $("tr.nenhumRegistro", table).show();
                    aplicaZebra(table);
                }

                if ($(this).parents("div.registroAberto").is("div")) {
                    var qs = $(this).parents("#regrasFollowNet").is("div")
                        ? "tabela=integracao_follownet_usuarios&id=" + $(this).attr("id_integracao_follownet_usuarios")
                        : "tabela=filtros&id=" + $(this).attr("id_filtros")
                    ;
                    ajax({
                        arquivo: "geral",
                        acao: "remover",
                        querystring: qs,
                        aoConcluir: function(retorno) {
                            execRemove();
                        }
                    });
                } else {
                    execRemove();
                }
            }

            $(this).click(function() {
                var select = $("select", $(this).parents("tr:first"));
                if ($(select).val() != "") {

                    if (typeof (this.adicionados) == "undefined") this.adicionados = {};

                    if (!this.adicionados[$(select).val()]) {
                        var atribs = $("option:selected", select)[0].atribs;
                        var adicionar = function() {
                            $("tr.nenhumRegistro", $(select).parents("table:first")).hide().css("display", "none").addClass("hide");
                            $(select).parents("tr:first").before($('<tr><td>' + atribs.label + '</td><td>' + atribs.email + '</td><td class="alignCenter"><a href="javascript:void(0);" title="Remover"><img src="imagens/ico-remover.gif" alt="Remover"/></a><input id="FCC_usuario_' + atribs.value + '" name="adicionar_usuario_' + atribs.value + '" type="hidden" value="' + atribs.value + '" /></td></tr>'));
                            $("a", $(select).parents("tr:first").prev()).click(remove);
                            este.adicionados[atribs.value] = true;
                            aplicaZebra(table);
                        }

                        if ($(this).parents("div.registroAberto").is("div")) {
                            var acao = $(select).parents("#regrasFollowNet").is("div")
                                ? "alterarRegrasFollownet"
                                : "alterarClienteCliente"
                            ;
                            var dados = { valor: atribs.value }
                            if ($(select).parents("#regrasFollowNet").is("div")) {
                                dados.id_integracao_follownet = $("input.id", $(este).parents("tr:eq(1)").prev()).val();
                            } else {
                                dados.id_clientes_clientes = $("input.id", $(este).parents("tr:eq(1)").prev()).val();
                            }
                            ajax({
                                arquivo: "painel",
                                acao: acao,
                                querystring: "relacao=usuarios",
                                dados: dados,
                                tipoDados: "json",
                                metodo: "POST",
                                aoConcluir: function(retorno) {
                                    if (retorno != "erro") {
                                        adicionar();
                                        $("a", $(select).parents("tr:first").prev()).attr($(select).parents("#regrasFollowNet").is("div") ? "id_integracao_follownet_usuarios" : "id_filtros", retorno);
                                        if ($(select).parents("#regrasFollowNet").is("div")) {
                                            var objTd = $("td:eq(4)", $(select).parents("tr:eq(1)").prev())
                                            if ($.trim($(objTd).text()) != "-") {
                                                $(objTd).append(", ");
                                            } else {
                                                $(objTd).html("");
                                            }
                                            $(objTd).append($("option:selected", select).html());
                                        }
                                    } else {
                                        alert("Não foi possível gravar informação, por favor, tente novamente.");
                                    }
                                }
                            });
                        } else {
                            adicionar();
                        }
                    } else {
                        alert("Usuário já adicionado!");
                    }
                }
            });
            $("a:not(.adicionarMultiplo)", $(this).parents("table:first")).click(remove);

        } else if ($(this).hasClass("grupo")) {
            var este = this;
            este.adicionados = {};
            $(":hidden", $(this).parents("table:first")).each(function() {
                este.adicionados[$(this).val()] = true;
            });
            var table = $(this).parents("table:first");

            var remove = function() {
                var este2 = this;
                var execRemove = function() {
                    if ($(este2).parents("#regrasFollowNet").is("div")) {
                        var nome = $.trim($("td:first", $(este2).parents("tr:first")).text());
                        var objTd = $("td:eq(3)", $(este2).parents("tr:eq(1)").prev());
                        if (objTd.length > 0)
                            $(objTd).html($(objTd).html().replace(eval("/(, )?" + nome.replace(/ \(.*/, "") + "/"), ""));
                        if ($.trim($(objTd).html()) == "," || $.trim($(objTd).html()) == "") $(objTd).html("-");
                        $(objTd).html($.trim($(objTd).html()).replace(/^, /, ""));
                    }
                    este.adicionados[$(este2).siblings(":hidden").val()] = false;
                    $(este2).parents("tr:first").remove();
                    if ($("tbody tr", table).length <= 2) $("tr.nenhumRegistro", table).show();
                    aplicaZebra(table);
                }

                if ($(this).parents("div.registroAberto").is("div")) {
                    var qs = $(this).parents("#regrasFollowNet").is("div")
                        ? "tabela=integracao_follownet_grupo_avisos&id=" + $(this).attr("id_integracao_follownet_grupo_avisos")
                        : "tabela=grupo_avisos_clientes_clientes&id=" + $(this).attr("id_grupo_avisos_clientes_clientes")
                    ;
                    ajax({
                        arquivo: "geral",
                        acao: "remover",
                        querystring: qs,
                        aoConcluir: function(retorno) {
                            execRemove();
                        }
                    });
                } else {
                    execRemove();
                }
            }

            $(this).click(function() {
                var select = $("select", $(this).parents("tr:first"))
                if ($(select).val() != "") {

                    if (typeof (this.adicionados) == "undefined") this.adicionados = {};

                    if (!this.adicionados[$(select).val()]) {
                        var atribs = $("option:selected", select)[0].atribs;
                        var adicionar = function() {
                            $("tr.nenhumRegistro", $(select).parents("table:first")).hide();
                            $(select).parents("tr:first").before($('<tr><td>' + atribs.label + '</td><td class="alignCenter"><a href="javascript:void(0);" title="Remover"><img src="imagens/ico-remover.gif" alt="Remover"/></a><input id="FCC_grupos_' + atribs.value + '" name="adicionar_grupo_' + atribs.value + '" type="hidden" value="' + atribs.value + '" /></td></tr>'));
                            $("a", $(select).parents("tr:first").prev()).click(remove);
                            este.adicionados[atribs.value] = true;
                            aplicaZebra(table);
                        }

                        if ($(this).parents("div.registroAberto").is("div")) {
                            var acao = $(select).parents("#regrasFollowNet").is("div")
                                ? "alterarRegrasFollownet"
                                : "alterarClienteCliente"
                            ;
                            var dados = { valor: atribs.value }
                            if ($(select).parents("#regrasFollowNet").is("div")) {
                                dados.id_integracao_follownet = $("input.id", $(este).parents("tr:eq(1)").prev()).val();
                            } else {
                                dados.id_clientes_clientes = $("input.id", $(este).parents("tr:eq(1)").prev()).val();
                            }
                            ajax({
                                arquivo: "painel",
                                acao: acao,
                                querystring: "relacao=grupos",
                                dados: dados,
                                tipoDados: "json",
                                metodo: "POST",
                                aoConcluir: function(retorno) {
                                    if (retorno != "erro") {
                                        adicionar();
                                        $("a", $(select).parents("tr:first").prev()).attr($(select).parents("#regrasFollowNet").is("div") ? "id_integracao_follownet_grupo_avisos" : "id_grupo_avisos_clientes_clientes", retorno);
                                        if ($(select).parents("#regrasFollowNet").is("div")) {
                                            var objTd = $("td:eq(3)", $(select).parents("tr:eq(1)").prev())
                                            if ($.trim($(objTd).text()) != "-") {
                                                $(objTd).append(", ");
                                            } else {
                                                $(objTd).html("");
                                            }
                                            $(objTd).append($("option:selected", select).html().replace(/ \(.*/, ""));
                                        }
                                    } else {
                                        alert("Não foi possível gravar informação, por favor, tente novamente.");
                                    }
                                }
                            });
                        } else {
                            adicionar();
                        }
                    } else {
                        alert("Grupo já adicionado!");
                    }
                }
            });
            $("a:not(.adicionarMultiplo)", $(this).parents("table:first")).click(remove);
        }
    });

    // Alterar nome após registro aberto
    var texto_inicial = "";
    $("#FCCA_nome_grupo").focus(function() {
        texto_inicial = $(this).val();
    }).blur(function() {
        texto_final = $(this).val();

        if (texto_final != texto_inicial) {
            var este = this;
            ajax({
                arquivo: "geral",
                acao: "alterarCampo",
                dados: {
                    tabela: "clientes_clientes",
                    campo: "nome",
                    id: $("tr.registroAberto input.id", $(this).parents("table:first")).val(),
                    valor: $(this).val(),
                    tipo: "string",
                    alteracao: "não"
                },
                metodo: "post",
                aoConcluir: function(retorno) {
                    switch (retorno) {
                        case "erro":
                            alert("Não foi possível atualizar a informação, por favor, tente novamente.");
                            break;
                        default:
                            $("tr.registroAberto td:first", $(este).parents("table:first")).html(texto_final);
                            break;
                    }
                }
            });
        }
    });

    // Adiciona a sujestão dos consignatários já consultados
    $(".variacaoSugestao").click(function() {
        var valor = $(this).siblings("select").val();
        $("input:text", $(this).parents("p:first").prev()).val(valor).siblings("a").click();
    });
}

////////////////////////////
// Integração Follow.Net //
//////////////////////////
function integracaoFollowNet() {
    $(".carregaAreaDeNegocio").unbind().change(function() {
        var select = $("select[name='area_de_negocio']", $(this).parents("form:first"));
        if ($(this).val() != "null" && $(this).val() != "0") {
            $(select).html('<option value="null">Carregando...</option>');
            ajax({
                arquivo: "painel",
                acao: "carregarAreaDeNegocio",
                dados: {
                    codcli: $(this).val()
                },
                metodo: "post",
                tipoDados: "json",
                aoConcluir: function(retorno) {
                    if (retorno == "nenhuma_encontrada") {
                        $(select).html('<option value="null">Nenhuma área de negócio localizada para este cliente!</option>');
                    } else {
                        $(select).html('<option value="null">Todas</option>');
                        $.each(retorno, function(chave, valor) {
                            $(select).append('<option value="' + chave + '">' + valor + '</option>');
                        });
                        $(select).append('<option value="0">Áreas de negócios não configuradas</option>');
                    }
                    if (typeof (ajaxCallBack.areaDeNegocio) == "function") ajaxCallBack.areaDeNegocio();
                }
            });
        } else {
            $(select).html('<option value="null">Nenhum cliente selecionado</option>');
        }
    });
}

////////////////////
// Ajax CallBack //
//////////////////
var ajaxCallBack = {}

///////////////////////////////////////////////////////////////////////////////////////////////
//		Eventos																				//
/////////////////////////////////////////////////////////////////////////////////////////////
jQuery(function($) {

    ////////////////////
    // Inicializações //
    ////////////////////
    dmSelect.init();
    selectDinamico();
    clientes_clientes();
    integracaoFollowNet();
    
    ////////////////
    // Variáveis //
    //////////////
    var id_clientes = parseInt($("#id_clientes").val());
    var id_centro_de_custo = parseInt($("#id_centro_de_custo").val());

    ////////////
    // Assine //
    ////////////
    // Tipo
    $("input[name='tipo_pessoa']").click(function() {
        var tipo = $(this).val();
        $("li.tipo_" + (tipo == "j" ? "f" : "j")).hide().children(":input").removeClass("validar");
        $("li.tipo_" + tipo).show().children(":input").addClass("validar");
    });

    // Como conheceu
    $("#FA_id_como_conheceu").change(function() {
        if ($("option:selected", this).hasClass("temQual")) {
            $("li.comoConheceuQual").show();
        } else {
            $("li.comoConheceuQual").hide();
        }

        if ($("option:selected", this).hasClass("outros")) {
            $("li.comoConheceuOutros").show();
        } else {
            $("li.comoConheceuOutros").hide();
        }
    }).change();

    // Lí e aceito
    $("#li_e_aceito").parents("form:eq(0)").submit(function() {
        if (validar.form("#" + $(this).attr("id"))) {
            if (!$("#li_e_aceito input:checkbox")[0].checked) {
                alert("É necessário aceitar o contrato para prosseguir.");
                return false;
            } else {
                return true;
            }
        } else {
            return false;
        }
    });

    //////////
    // Grid //
    //////////
    // Cadastro
    $(".grid form:not(.formFiltro):not(.formNaoCadastro)").submit(function() {
        var serializado = ''; //$(this).serialize();
        var dados_obj = $(this).serializeArray();
        if (!$(this).hasClass("formNaoCadastro")) {
            try {
                var valido = true;
                if ($(this).attr("id") == "form_numero") {
                    if ($("#FN_viatransp").val() == "4") {
                        valido = $.trim($("#FN_master").val()) != "";
                    } else {
                        valido = $.trim($("#FN_presencacarga").val()) != "";
                    }
                    if (!valido) alert("Número do processo inválido!");

                    if ((id_clientes == 34 || id_clientes == 58) && valido) {
                        if ($("#FN_refcliente").val() != "" && $("#FN_cliente_follownet").val() == "") valido = false;
                        if (!valido) alert("É necessário selecionar o cliente do processo!");
                    }
                }

                // Validação de clientes Follow.Net
                if ($("#FN_cliente_follownet").is("select") && valido) {
                    valido = $.trim($("#FN_cliente_follownet").val()) == "" ? true : $.trim($("#FN_refcliente").val()) != "";
                    if (!valido) alert("É necessário preencher a Ref. " + $("#FN_refcliente").siblings().text() + "!");
                }

                if (validar.form("#" + $(this).attr("id")) && valido) {
                    var self = this;
                    var msg = "";
                    var masterHouse = false;

                    executa = function() {
                        if ($("#importados").is(":visible")) {
                            $("#gruposAvisos").hide();
                            $("input:hidden[name='master'],input:hidden[name='house']").each(function() {
                                $(this).attr("disabled", "disabled");
                            });
                            $("input.habilitado:hidden[name='master']:eq(" + masterHouse + ")").removeAttr("disabled");
                            $("input.habilitado:hidden[name='house']:eq(" + masterHouse + ")").removeAttr("disabled");
                            $(".carregando,.true,.false", $("input.habilitado:hidden[name='master']:eq(" + masterHouse + ")").siblings("label")).remove();
                            $("input.habilitado:hidden[name='master']:eq(" + masterHouse + ")").siblings("label").append(' <strong class="carregando">Cadastrando...</strong>');
                        }

                        ajax({
                            arquivo: $(self).attr("action"),
                            acao: "cadastrar",
                            querystring: serializado,
                            //formulario: "#" + $(self).attr("id"),
                            metodo: "POST",
                            dados: dados_obj,
                            tipoDados: "json",
                            aoConcluir: function(dados) {
                                var msg = "";
                                if (typeof (dados) == "string") {
                                    switch (dados) {
                                        case "processoEncerrado":
                                            msg = "Este Processo já está cadastrado e o processo já está encerrado.";
                                            if (!$("#importados").is(":visible")) alert(msg);
                                            break;
                                        case "ja_exite":
                                            msg = "Este Processo já está cadastrado.";
                                            if (!$("#importados").is(":visible")) {
                                                if (confirm(msg + "\n\nGostaria de acrescentar estes avisos ao processo?")) {
                                                    ajax({
                                                        arquivo: "processos",
                                                        acao: "cadastrarApenasAvisos",
                                                        formulario: "#" + $(self).attr("id"),
                                                        tipoDados: "json",
                                                        aoConcluir: function(dados) {
                                                            if (typeof (dados) == "string") {
                                                                switch (dados) {
                                                                    case "processo_invalido":
                                                                        alert("Número de Master e/ou House inválido(s).");
                                                                        break;
                                                                }
                                                            } else {
                                                                alert("Os avisos foram adicionados ao processo " + dados.processo + ".");
                                                            }
                                                        }
                                                    });
                                                }
                                            }
                                            break;
                                        case "processo_invalido":
                                            msg = "Número de Master e/ou House inválido(s).";
                                            if (!$("#importados").is(":visible")) alert(msg);
                                            break;
                                        case "sem_saldo":
                                            msg = "Não há saldo suficiente para efetuar esta ação.\n\nPara continuar utilizando estes benefícios, contrate um novo plano em \"Planos Contratados\".";
                                            if (!$("#importados").is(":visible")) alert(msg);
                                            window.location.href = "planos-contratados.asp";
                                            break;
                                        case "fim_demonstracao":
                                            msg = "Seu período de demonstração acabou.\n\nPara continuar utilizando estes benefícios, contrate um novo plano em \"Planos Contratados\".";
                                            if (!$("#importados").is(":visible")) alert(msg);
                                            window.location.href = "planos-contratados.asp";
                                            break;
                                        case "usuario_ja_existe":
                                            alert("Este e-mail já está cadastrado.");
                                            break;
                                        case "nao_logado":
                                            alert("Por favor, faça novamente o login.");
                                            window.location.href = "login.asp";
                                            break;
                                        default:
                                            msg = "Falha ao acessar o arquivo remoto. Por favor tente novamente.";
                                            if (!$("#importados").is(":visible")) alert(msg);
                                            break;
                                    }
                                } else {
                                    var html = "";
                                    $.each(dados.tds, function(chave, valor) {
                                        html += '<td class="' + chave + (typeof (valor.classes) != "undefined" ? " " + valor.classes : "") + '"' + (typeof (valor.title) == "undefined" ? '' : ' title="' + valor.title + '"') + '>' + (typeof (valor.classes) != "undefined" ? (valor.classes.indexOf("alterarCheckbox") != -1 ? '<input type="checkbox" value="1"' + (eval(valor.valor) ? ' checked="checked"' : "") + ' />' : valor.valor) : valor.valor) + '</td>';
                                    });
                                    if (dados.remover != false) {
                                        html += '<td class="alignCenter"><a href="javascript:void(0);" title="Remover" class="remover"><img src="imagens/ico-remover.gif" alt="Remover" /></a></td>';
                                    }

                                    var tr = $("<tr></tr>");
                                    $(tr).html(html);
                                    if (!$("#corpo .boxDir tbody tr:first").hasClass("zebra")) $(tr).addClass("zebra")
                                    $("td:last", tr).append('<input class="id" type="hidden" value="' + dados.id + '" /><input class="tabela" type="hidden" value="' + dados.tabela + '" />');

                                    $("#corpo .boxDir tbody tr.nenhum_registro").remove();
                                    $("#corpo .boxDir tbody").prepend(tr);
                                    $(tr).addClass("registroAlterado");
                                    setTimeout(function() {
                                        $(tr).removeClass("registroAlterado");
                                    }, 5000);

                                    $("a.remover", $("#corpo .boxDir tbody tr:first")).click(removerLinha);
                                    $(".alterarCampo", $("#corpo .boxDir tbody tr:first")).click(alterarCampo);
                                    $(".alterarCheckbox input", $("#corpo .boxDir tbody tr:first")).click(alterarCheckbox);

                                    if (typeof (dados.msg_retorno) != "undefined") {
                                        if (typeof (dados.msg_retorno) == "string") {
                                            alert(dados.msg_retorno);
                                        } else {
                                            $.each(dados.msg_retorno, function(i) {
                                                alert(dados.msg_retorno[i]);
                                            });
                                        }
                                    }

                                    ajustaTabela();
                                }

                                if ($("#importados").is(":visible")) {
                                    msg = msg == "" ? "Ok!" : msg;
                                    msg = '<strong class="' + (msg == "Ok!" ? 'true' : 'false') + '"> - ' + msg + '</strong>';

                                    $(".carregando,.true,.false", $("input.habilitado:hidden[name='master']:eq(" + masterHouse + ")").siblings("label")).remove();
                                    $("input.habilitado:hidden[name='master']:eq(" + masterHouse + ")").siblings("label").append(msg);

                                    masterHouse++;
                                    masterHouse = ($("input.habilitado:hidden[name='master']").length) == masterHouse ? false : masterHouse;

                                    if (masterHouse != false) {
                                        executa();
                                    } else {
                                        $("#FN_master,#FN_house").removeAttr("disabled");
                                        $("#cancelarImportacao").attr("title", "Concluir Importação").html("<strong>Concluir Importação</strong>");
                                    }
                                }
                            }
                        });
                    }
                    if ($(this).attr("name") == "form_planos_contratados") {
                        if (confirm("Confirma contratação do plano: \"" + $("#FPC_id_plano option:selected").text() + "\"?")) {
                            executa();
                        }
                    } else if ($("#importados").is(":visible")) {
                        $("input[name='master_house']").each(function() {
                            if (this.checked) {
                                $(this).siblings(":hidden").removeClass("desabilitado").addClass("habilitado");
                            } else {
                                $(this).siblings(":hidden").addClass("desabilitado").removeClass("habilitado");
                            }
                        });
                        $(".carregando,.true,.false", $("input:hidden[name='master']").siblings("label")).remove();

                        if ($("input.habilitado:hidden[name='master']").length > 0) {
                            $("#FN_master,#FN_house").attr("disabled", "disabled");
                            masterHouse = 0;
                            executa();
                        }
                    } else {
                        executa();
                    }
                }
                return false;
            } catch (e) {
                l(e);
                return false;
            }
        }
    });

    // Remover
    function removerLinha() {
        if (confirm("Deseja remover este registro?")) {
            var pagina = window.location + "";
            pagina = pagina.split("/").pop().split("?")[0];
            var id = $(this).siblings(".id").val();
            var self = this;
            var tbody = $(this).parents("tbody:eq(0)");

            ajax({
                arquivo: "geral",
                acao: "remover",
                querystring: "pagina=" + pagina + "&id=" + id,
                aoConcluir: function(retorno) {
                    $(self).parents("tr:eq(0)").remove();
                    $(tbody).children().removeClass("zebra").each(function(i) {
                        if (i % 2 != 0) $(this).addClass("zebra");
                    });
                    alert("Registro removido com sucesso!");
                }
            });
        }
    }
    $(".grid .remover").click(removerLinha);

    // Alterar Campo
    function alterarCampo() {
        $(this).unbind('click', alterarCampo);
        //var tipo			= $(this).hasClass("senha") ? "password" : "text";
        var tipo = "text";
        var validacao = typeof ($(this).attr("title")) != "undefined" ? " validar" : "";
        var title = typeof ($(this).attr("title")) != "undefined" ? ' title="' + $(this).attr("title") + '"' : "";
        var textoInicial = $(this).text()
        var html = '<input id="alterandoCampo" type="' + tipo + '" value="' + textoInicial + '" class="campo' + validacao + '"' + title + ' />';

        if ($(this).hasClass("hawb")) html = html.replace(' value=', ' maxlength="30" value=');

        $(this).html(html);
        validar.init();
        $(this).children().focus().blur(function() {
            var self = this;
            if (validar.verificaCampo(this)) {
                var novoTexto = $(this).val();
                var campo = $.trim($(self).parent().attr("class").replace("alterarCampo", "").replace("string", "").replace("int", "").replace("data", ""));

                if (campo == "mawb" || campo == "hawb") {
                    novoTexto = novoTexto.replace(/[^a-zA-Z0-9]*/g, "");
                }

                if (textoInicial != novoTexto) {
                    var id = $("input.id", $(this).parents("tr:eq(0)")).val();
                    var tabela = $("input.tabela", $(this).parents("tr:eq(0)")).val();
                    var tipo = $(this).parent().hasClass("string") ? "string" : $(this).parent().hasClass("int") ? "int" : $(this).parent().hasClass("data") ? "data" : "";
                    ajax({
                        arquivo: "geral",
                        acao: "alterarCampo",
                        dados: {
                            tabela: tabela,
                            campo: campo,
                            id: id,
                            valor: $(this).val(),
                            tipo: tipo,
                            alteracao: $("td.alteracao", $(this).parents("tr:eq(0")).is(":visible") ? "sim" : "não"
                        },
                        metodo: "post",
                        aoConcluir: function(retorno) {
                            switch (retorno) {
                                case "erro":
                                    $(self).parent().click(alterarCampo).html(textoInicial);
                                    alert("Não foi possível atualizar a informação, por favor, tente novamente.");
                                    break;
                                case "avisoJaEnviado":
                                    $(self).parent().click(alterarCampo).html(textoInicial);
                                    alert("Não foi possível atualizar a informação pois este aviso já foi enviado.");
                                    break;
                                case "avisoJaExiste":
                                    $(self).parent().click(alterarCampo).html(textoInicial);
                                    alert("Não foi possível atualizar a informação pois já existe um aviso com estas definições.");
                                    break;
                                case "emailJaExiste":
                                    $(self).parent().click(alterarCampo).html(textoInicial);
                                    alert("Não foi possível atualizar a informação pois já existe um usuário cadastrado com este e-mail.");
                                    break;
                                case "semAutorizacao":
                                    $(self).parent().click(alterarCampo).html(textoInicial);
                                    alert("Não foi possível atualizar a informação pois este usuário não tem autorização para editar este tipo de aviso.");
                                    break;
                                default:
                                    $(self).parent().click(alterarCampo).html(novoTexto);
                                    if ($.trim(retorno) != "") {
                                        $("td.alteracao", $(self).parents("tr:eq(0)")).html(retorno);
                                    }
                                    break;
                            }
                        }
                    });
                } else {
                    $(self).parent().click(alterarCampo).html(textoInicial);
                }
            }
        });
    }
    $(".alterarCampo").click(alterarCampo);

    // Alterar Checkbox
    function alterarCheckbox() {
        var valor = this.checked ? "1" : "0";
        var id = $("input.id", $(this).parents("tr:eq(0)")).val();
        var tabela = $("input.tabela", $(this).parents("tr:eq(0)")).val();
        var campo = $.trim($(this).parent().attr("class").replace("alterarCheckbox", "").replace("alignCenter", ""));
        var self = this;

        ajax({
            arquivo: "geral",
            acao: "alterarCampo",
            dados: {
                tabela: tabela,
                campo: campo,
                id: id,
                valor: valor,
                tipo: "int",
                alteracao: $("td.alteracao", $(this).parents("tr:eq(0")).is(":visible") ? "sim" : "não"
            },
            metodo: "post",
            aoConcluir: function(retorno) {
                if ($.trim(retorno) != "") {
                    $("td.alteracao", $(self).parents("tr:eq(0)")).html(retorno);
                }
            }
        });
    }
    $(".alterarCheckbox input").click(alterarCheckbox);

    // Alterar Select
    function alterarSelect() {
        var valor = $(this).val();
        var id = $("input.id", $(this).parents("tr:eq(0)")).val();
        var tabela = $("input.tabela", $(this).parents("tr:eq(0)")).val();
        var campo = $.trim($(this).attr("class").replace("alterarSelect", "").replace("alignCenter", ""));
        var self = this;

        ajax({
            arquivo: "geral",
            acao: "alterarCampo",
            dados: {
                tabela: tabela,
                campo: campo,
                id: id,
                valor: valor,
                tipo: "int",
                alteracao: $("td.alteracao", $(this).parents("tr:eq(0")).is(":visible") ? "sim" : "não"
            },
            metodo: "post",
            aoConcluir: function(retorno) {
                if ($.trim(retorno) != "") {
                    $("td.alteracao", $(self).parents("tr:eq(0)")).html(retorno);
                }
            }
        });
    }
    $(".alterarSelect").change(alterarSelect);

    function alinhaRegistro(tr) {
        $(window).scrollTop(tr.offset().top);
    }

    function ajustaTabela() {
        $(".conteudo table:not(.semOver) tbody tr:not(.comEvento):not(.nenhum_registro)")
			.addClass("comEvento")
			.unbind()
			.hover(function() {
			    $(this).addClass("trOver");
			}, function() {
			    $(this).removeClass("trOver");
			})
			.click(function() {
			    if ($(this).parents("table:eq(0)").hasClass("abreRegistros")) {
			        var arquivo = window.location.href.split("/").pop().split("?")[0];
			        var id = $(".id", this).val();
			        var tabela = $(".tabela", this).val();
			        var colSpan = $("td", this).length;

			        if (!$(this).hasClass("registroAberto") && !$("span.alterarCampo > input", this).is("input")) {
			            $(".dados_completos", $(this).parent()).attr("src", "imagens/ico-dados-completos.gif");
			            $("tr.registroAberto", $(this).parent()).removeClass("registroAberto").next().remove();

			            var tr = $('<tr><td colspan="' + colSpan + '" class="registroAberto"><div class="registroAberto"><p class="carregando">Carregando...</p></div></td></tr>');
			            $(".dados_completos", this).attr("src", "imagens/ico-fechar-1.gif");
			            $(this).addClass("registroAberto").after(tr);
			            if (arquivo == "processos.asp") alinhaRegistro($(tr).prev());
			            ajax({
			                arquivo: arquivo,
			                acao: "abrir",
			                querystring: "id=" + id + "&tabela=" + tabela,
			                tipoDados: "json",
			                aoConcluir: function(dados) {
			                    $("div.registroAberto .carregando", tr).remove();
			                    switch (arquivo) {
			                        case "processos.asp":
			                            $.each(dados, function(chave, valor) {
			                                if (valor.registros != "nenhum_registro") {
			                                    var h2 = $("<h2>" + valor.titulo + "</h2>");
			                                    var dl = $("<dl></dl>");

			                                    if (chave == "avisos") {// Tabela
			                                        var table = $("<table></table>");
			                                        var linha = 0;

			                                        // Cabeçalho
			                                        $(table).append("<thead><tr></tr></thead>");
			                                        $.each(valor.registros, function(chave2, valor2) {
			                                            if (valor2 != "nenhum_registro") {
			                                                var imprime = (parseInt(chave2.split("_").pop()) == linha);
			                                                if (imprime) {
			                                                    $("thead tr", table).append('<td>' + valor2.nome + '</td>');
			                                                    if (typeof (valor2.css) != "undefined") {
			                                                        ("thead td:last", table)
			                                                    }
			                                                }
			                                                return imprime;
			                                            } else {
			                                                linha++;
			                                            }
			                                        });
			                                        linha = -1;

			                                        // Corpo
			                                        $(table).append('<tbody></tbody>');
			                                        $.each(valor.registros, function(chave2, valor2) {
			                                            if (valor2 != "nenhum_registro") {
			                                                if (parseInt(chave2.split("_").pop()) > linha) {
			                                                    linha++;
			                                                    $("tbody", table).append("<tr></tr>");
			                                                    if (linha % 2 != 0) $("tbody tr:last", table).addClass("zebra");
			                                                }
			                                                var td = $("<td></td>");
			                                                if (dados.dados_processo.pertence_usuario && dados.avisos.registros["enviado_" + linha].valor == "Não") {
			                                                    switch (chave2) {
			                                                        case "destino_" + linha:
			                                                            if (dados.avisos.registros["tipo_" + linha].valor == "E-mail") {
			                                                                $(td).append('<strong title="Destino{tipo:\'email\',min:1}" class="destino alterarCampo">' + valor2.valor + '</strong>');
			                                                            } else {
			                                                                $(td).append('<strong title="Destino{tipo:\'obrigatorio\',mascara:\'(99) 9999-9999\'}" class="destino alterarCampo">' + valor2.valor + '</strong>');
			                                                            }
			                                                            break;
			                                                        default:
			                                                            $(td).html(valor2.valor);
			                                                            break;
			                                                    }
			                                                } else {
			                                                    $(td).html(valor2.valor);
			                                                }
			                                                $("tbody tr:last", table).append(td);
			                                            } else {
			                                                linha++;
			                                            }
			                                        });

			                                        // Insere a tabela
			                                        $("div.registroAberto", tr).append(h2).append(table);

			                                        // Editar informações
			                                        if (dados.dados_processo.pertence_usuario) {
			                                            $("thead tr", table).append('<td class="alignCenter">Ação</td>');
			                                            $("tbody tr", table).each(function() {
			                                                $(this).append('<td class="alignCenter"></td>');
			                                                if ($("input[name='id']", this).is("input")) {
			                                                    $("td:last", this).append('<a class="remover" title="Remover" href="javascript:void(0);"><img alt="Remover" src="imagens/ico-remover.gif"/></a>');
			                                                }
			                                            });

			                                            // Remover
			                                            function aplicarAcoesEdicaoAvisos() {
			                                                $("a.remover", table).unbind().click(function() {
			                                                    if (confirm("Deseja realmente remover este registro?")) {
			                                                        var self = this;
			                                                        ajax({
			                                                            arquivo: arquivo,
			                                                            acao: "removerAviso",
			                                                            querystring: "id=" + $(".id", $(this).parents("tr:first")).val(),
			                                                            aoConcluir: function(retorno) {
			                                                                if (retorno == "ok") {
			                                                                    $(self).parents("tr:first").remove();
			                                                                    aplicaZebra(table);
			                                                                } else if (retorno == "avisoJaEnviado") {
			                                                                    alert("Não foi possível remover este aviso pois este aviso já foi enviado.");
			                                                                } else if (retorno == "avisoNaoEncontrado") {
			                                                                    alert("Aviso não localizado.");
			                                                                } else {
			                                                                    alert("Não foi possível remover este aviso.");
			                                                                }
			                                                            }
			                                                        });
			                                                    }
			                                                });

			                                                // Alterar
			                                                $(".alterarCampo", table).unbind().click(alterarCampo);
			                                                $("select.alteraAvisosCampos", table).unbind().change(function() {
			                                                    var self = this;
			                                                    ajax({
			                                                        arquivo: "geral",
			                                                        acao: "alterarCampo",
			                                                        dados: {
			                                                            tabela: "avisos",
			                                                            campo: "id_avisos_campos",
			                                                            id: $(".id", $(this).parents("tr:first")).val(),
			                                                            valor: $(this).val(),
			                                                            tipo: "int",
			                                                            alteracao: "não"
			                                                        },
			                                                        metodo: "post",
			                                                        aoConcluir: function(retorno) {
			                                                            if (retorno == "avisoJaEnviado") {
			                                                                alert("Não foi possível atualizar a informação pois este aviso já foi enviado.");
			                                                            } else if (retorno == "avisoJaExiste") {
			                                                                alert("Não foi possível atualizar a informação pois já existe um aviso com estas definições.");
			                                                            } else if (retorno == "semAutorizacao") {
			                                                                alert("Não foi possível atualizar a informação pois este usuário não tem autorização para editar este tipo de aviso.");
			                                                            } else {
			                                                                $("option", self).each(function() {
			                                                                    if (this.selected) {
			                                                                        $(this).attr("selected", "selected");
			                                                                    } else {
			                                                                        $(this).removeAttr("selected");
			                                                                    }
			                                                                });
			                                                            }
			                                                        }
			                                                    });
			                                                });
			                                            }
			                                            aplicarAcoesEdicaoAvisos();

			                                            // Cadastrar
			                                            if ($("input.cadastrar", table).is("input")) {
			                                                $("td:last", table).remove();
			                                                $("td:last", table).remove();
			                                                $("td:last", table).attr({ colspan: "3" }).css("text-align", "center");

			                                                validar.init();

			                                                // Muda o tipo
			                                                $(".tipo", table).change(function() {
			                                                    $(".email,.sms", table).attr({ disabled: "disabled", readonly: "readonly" }).hide();
			                                                    $($(this).val() == "1" ? ".email" : ".sms", table).show().removeAttr("disabled").removeAttr("readonly");
			                                                });

			                                                // Submit
			                                                $(".cadastrar", table).click(function() {
			                                                    if (validar.verificaCampos($("input[name='destino']:visible", table))) {
			                                                        var self = this;
			                                                        var dados = {
			                                                            destino: $("input[name='destino']:visible", table).val(),
			                                                            tipo: $(".tipo option:selected", table).text(),
			                                                            campo: $(".novo_campo option:selected", table).text()
			                                                        }
			                                                        ajax({
			                                                            arquivo: "processos",
			                                                            acao: "cadastrarAviso",
			                                                            dados: {
			                                                                destino: $("input[name='destino']:visible", table).val(),
			                                                                tipo: $(".tipo", table).val(),
			                                                                campo: $(".novo_campo", table).val(),
			                                                                processo: $("tr.registroAberto .id", $(this).parents(".abreRegistros")).val()
			                                                            },
			                                                            metodo: "post",
			                                                            aoConcluir: function(retorno) {
			                                                                if (retorno.indexOf("ok") > -1) {

			                                                                    var destino = $(".tipo", table).val() == "1" ? '<strong title="Destino{tipo:\'email\',min:1}" class="destino alterarCampo">' + dados.destino + '</strong>' : '<strong title="Destino{tipo:\'obrigatorio\',mascara:\'(99) 9999-9999\'}" class="destino alterarCampo">' + dados.destino + '</strong>';
			                                                                    $("tbody tr:last", table).before('<tr' + ($("tbody tr:last", table).hasClass("zebra") ? ' class="zebra"' : '') + '><td>' + destino + '</td><td>' + dados.tipo + '</td><td class="incluirCampoAqui"></td><td><span>Não</span></td><td><input type="hidden" value="' + (retorno.split("|")[1]) + '" class="id" name="id" id="id_' + (retorno.split("|")[1]) + '"/><input type="hidden" value="avisos" class="tabela" name="tabela" id="tabela_' + (retorno.split("|")[1]) + '"/></td><td class="alignCenter"><a href="javascript:void(0);" title="Remover" class="remover"><img src="imagens/ico-remover.gif" alt="Remover"/></a></td></tr>');
			                                                                    var novoCampo = $(".novo_campo", table).clone().removeAttr("class").removeAttr("id").removeAttr("name").addClass("alteraAvisosCampos");
			                                                                    $("option", novoCampo).each(function() {
			                                                                        this.selected = $(this).attr("value") == $(".novo_campo", table).val();
			                                                                    });
			                                                                    $(".incluirCampoAqui").append(novoCampo).removeClass("incluirCampoAqui");

			                                                                    if ($("tbody tr:last", table).hasClass("zebra")) {
			                                                                        $("tbody tr:last", table).removeClass("zebra");
			                                                                    } else {
			                                                                        $("tbody tr:last", table).addClass("zebra");
			                                                                    }

			                                                                    aplicarAcoesEdicaoAvisos();
			                                                                } else if (retorno == "avisoJaExiste") {
			                                                                    alert("Não foi possível cadastrar este aviso pois já existe um aviso com estas definições.");
			                                                                } else if (retorno == "campoJaPreenchido") {
			                                                                    alert("Não foi possível cadastrar este aviso pois este campo já foi atualizado no processo.");
			                                                                } else if (retorno == "processoEncerrado") {
			                                                                    alert("Não foi possível cadastrar este aviso pois este processo já foi encerrado.");
			                                                                } else if (retorno == "naoAutorizado") {
			                                                                    alert("Não foi possível cadastrar este aviso pois este usuário não tem permissão para cadastrar este tipo de aviso.");
			                                                                } else {
			                                                                    alert("Não foi possível cadastrar este aviso.");
			                                                                }
			                                                            }
			                                                        });
			                                                    }
			                                                });
			                                            }
			                                        }
			                                    } else {// Lista DL
			                                        var status01 = false;

			                                        // Botão de stop e play
			                                        if (valor.pertence_usuario && !valor.processoEncerrado) {
			                                            var palavra = valor.ativo ? "Desa" : "A";
			                                            $("div.registroAberto", tr).append('<a href="javascript:void(0);" title="' + palavra + 'tivar processo" class="ativar_processo"><span>' + palavra + 'tivar processo</span> <img src="imagens/ico-' + (valor.ativo ? "stop" : "play") + '.gif" alt="' + palavra + 'tivar processo" /></a>');
			                                            $("a.ativar_processo")[0].ativo = valor.ativo;
			                                            $("a.ativar_processo").click(function() {
			                                                this.ativo = !this.ativo;
			                                                var ativo = this.ativo;
			                                                var palavra = ativo ? "Desa" : "A";
			                                                $(this)
			                                                .attr("title", palavra + "tivar processo")
			                                                .children("span").html(palavra + "tivar processo")
			                                                .siblings("img").attr({ alt: palavra + "tivar processo", src: "imagens/ico-" + (ativo ? "stop" : "play") + ".gif" });
			                                                ajax({
			                                                    arquivo: "processos",
			                                                    acao: "ativar_processo",
			                                                    dados: {
			                                                        id: $(".id", $(this).parents("tr:first").prev()).val()
			                                                    },
			                                                    metodo: "post",
			                                                    aoConcluir: function(retorno) {
			                                                        alert("Atenção!\n\n" + (!ativo ? "Este processo não será mais consultado pelo MantraNet, será movido para a aba de Processos Finalizado e todos avisos não enviados serão excluídos." : "Este processo voltará a ser consultado e retornará a aba de Processos Ativos."));
			                                                    }
			                                                });
			                                            });
			                                        }

			                                        // Monta a lista
			                                        $.each(valor.registros, function(chave2, valor2) {
			                                            if ((typeof (valor.registros.status) != "undefined" && valor.pertence_usuario) || (window.location.href.indexOf("nao_encontrados") != -1)) {
			                                                if (valor.registros.status.valor2 == "01") {
			                                                    status01 = true;
			                                                    if (chave2 == "mawb") {
			                                                        valor2.valor = '<input id="FA01_mawb" name="mawb" type="text" size="30" value="' + valor2.valor + '" class="campo validar" title="Master{tipo:\'obrigatorio\',mascara:\'***-****.****\'}" />';
			                                                    } else if (chave2 == "hawb") {
			                                                        valor2.valor = '<input id="FA01_hawb" name="hawb" type="text" size="30" value="' + valor2.valor + '" class="campo validar" title="House{max:200}" />';
			                                                    }
			                                                }
			                                            }
			                                            $(dl).append('<dt>' + valor2.nome + ':</dt><dd>' + ($.trim(valor2.valor) == "" ? "&nbsp;" : $.trim(valor2.valor)) + '</dd>');
			                                        });

			                                        if (status01) dl = $('<form id="form_alterar_01" name="form_alterar_01" class="form" method="post" action="javascript:void(0);"></form>').append(dl).append('<input type="submit" value="Alterar" class="botao" name="alterar" id="FA01_alterar"/>');
			                                        $("div.registroAberto", tr).append(h2).append(dl);
			                                        if (status01) {
			                                            validar.init();
			                                            $("#FA01_alterar").click(function() {
			                                                var self = this;
			                                                if (validar.form("#form_alterar_01")) {
			                                                    ajax({
			                                                        arquivo: "processos",
			                                                        acao: "alterar",
			                                                        querystring: "id=" + $(".id", $(this).parents("tr:first").prev()).val(),
			                                                        tipoDados: "json",
			                                                        formulario: "#form_alterar_01",
			                                                        aoConcluir: function(retorno) {
			                                                            switch (retorno) {
			                                                                case "ok":
			                                                                    alert("Processo alterado com sucesso!");
			                                                                    var tr = $(self).parents("tr:first").prev();
			                                                                    $("td:eq(1)", tr)
			                                                                .html('<span class="processoOk">Em processamento...</span>')
			                                                                .next().html($("#FA01_mawb").val())
			                                                                .next().html($("#FA01_hawb").val());
			                                                                    $(tr).click();
			                                                                    break;
			                                                                case "ja_foi_encontrado":
			                                                                    if (confirm("Não foi possivel realizar esta alteração!\n\nEste processo já foi localizado no mantra e atualizado, gostaria de atualizar a página?"))
			                                                                        window.location.href = window.location.href;
			                                                                    break;
			                                                                case "ja_existe":
			                                                                    alert("Este Master/House já está cadastrado.");
			                                                                    break;
			                                                                case "nao_localizado":
			                                                                    alert("Processo não localizado!");
			                                                                    window.location.href = window.location.href;
			                                                                    break;
			                                                                case "nao_pertence":
			                                                                    alert("Este processo só pode ser alterado pelo usuário que o cadastrou.");
			                                                                    $(self).parents("tr:first").prev().click();
			                                                                    break;
			                                                                default:
			                                                                    alert("Não foi possível realizar esta alteração.\n\nPor favor, tente novamente.")
			                                                                    break;
			                                                            }
			                                                        }
			                                                    });
			                                                }
			                                            });
			                                        }
			                                    }

			                                    // Carrega Telas
			                                    if (chave.indexOf("telas_") > -1) {
			                                        $(".carregarTela").each(function() {
			                                            var self = this;
			                                            var id_processos = $(this).val().split("|")[0];
			                                            var tela = $(this).val().split("|")[1];
			                                            var tela_tipo = $(this).val().split("|")[2];
			                                            ajax({
			                                                arquivo: "processos",
			                                                acao: "abrirTela",
			                                                querystring: "id_processos=" + id_processos + "&tela=" + tela + "&tipo=" + tela_tipo,
			                                                aoConcluir: function(retorno) {
			                                                    $(self).parents("dd:eq(0)").addClass("exibeTela").html(retorno).prev().addClass("exibeTela");
			                                                },
			                                                aoFalhar: function() {
			                                                    $(self).parents("dd:eq(0)").prev().remove(); //.addClass("exibeTela").html("Erro ao carregar a tela. Por favor, tente novamente mais tarde.").prev().addClass("exibeTela");
			                                                    $(self).parents("dd:eq(0)").remove();
			                                                }
			                                            });
			                                        });
			                                        $(".aplicarTela").each(function() {
			                                            $(this).parents("dd:eq(0)").addClass("exibeTela").prev().addClass("exibeTela");
			                                        });
			                                    }

			                                    $(".blank").unbind().click(function() {
			                                        window.open($(this).attr("href"));
			                                        return false;
			                                    });
			                                }

			                                alinhaRegistro($(tr).prev());
			                            });
			                            break;

			                        case "painel.asp":
			                            switch (tabela) {
			                                case "grupo_avisos":
			                                    l(dados);
			                                    if (typeof (dados) != "string") {
			                                        var form = $('<form id="form_grupos_avisos_alterar" name="form_grupos_avisos_alterar" action="painel.asp" method="post" class="form formNaoCadastro maisEmenos"></form>');

			                                        // Dados do grupo
			                                        $(form).append('<h2>Dados do Grupo</h2><input id="FGAA_id" name="id" type="hidden" value="' + dados.id + '" /><fieldset></fieldset>').children(":last").append('<ul><li class="form2"><label for"FGAA_nome_grupo">Nome do grupo:</label></li></ul>');
			                                        $("li:last", form).append('<input id="FGAA_nome_grupo" name="nome_grupo" maxlength="255" class="campo validar" title="Nome do grupo{tipo:\'obrigatorio\'}" value="' + dados.nome + '" />');
			                                        $("ul:last", form).append('<li><h3>Usuários que terão acesso a este grupo:</h3></li>');
			                                        if (typeof (dados.usuarios) != "string") {
			                                            $("li:last", form).append('<table cellspacing="0"></table>');
			                                            $("table", form).append($("#form_grupos_avisos thead").clone()).append('<tbody></tbody>');
			                                            var classe = ' class="zebra"';
			                                            $.each(dados.usuarios, function(chave, valor) {
			                                                var html = '<tr' + classe + '>';
			                                                html += '    <td><label for="FGAA_' + chave + '_1">' + valor.nome + '</label></td>';
			                                                var nivel = null;
			                                                for (i = 0; i < 4; i++) {
			                                                    html += '    <td class="alignCenter"><input id="FGAA_usuarios_nivel_' + valor.id + (nivel == null ? '' : '_' + nivel) + '" name="usuarios_nivel_' + valor.id + '" type="radio" value="' + (nivel == null ? '' : nivel) + '"' + (valor.nivel == nivel ? ' checked="checked"' : '') + ' /></td>';
			                                                    nivel = nivel == null ? 0 : nivel + 1;
			                                                }
			                                                html += '</tr>';
			                                                $("tbody", form).append(html);
			                                                classe = classe == '' ? ' class="zebra"' : '';
			                                            });
			                                            $("li:last", form).append('<p>* Usuários que poderão alterar as configurações do grupo de avisos.</p>');
			                                        } else {
			                                            $("li:last", form).append('Nenhum usuário localizado!');
			                                        }

			                                        // Configurações do grupo
			                                        $(form).append('<h2>Configuração do grupo</h2>');
			                                        var cont = 1;
			                                        $.each(dados.configuracao, function(chave, valor) {
			                                            $(form).append('<fieldset class="fieldset2 campos_avisos"><ul class="esq width270"></ul></fieldset>');
			                                            if (valor.email != null) $("ul:last", form).append('<li><label for="FGAA_email_avisos_' + cont + '" class="width54">Email:</label><input id="FGAA_email_avisos_' + cont + '" name="email_avisos_' + cont + '" type="text" maxlength="150" class="campo validar width186" title="Email{tipo:\'email\'}" value="' + valor.email + '" /></li>');
			                                            if (valor.celular != null) $("ul:last", form).append('<li><label for="FGA_sms_avisos_' + cont + '" class="width54">SMS:</label><input id="FGA_sms_avisos_' + cont + '" name="sms_avisos_' + cont + '" type="text" maxlength="150" class="campo width186 validar" title="SMS{mascara:\'(99) 9999-9999\'}" value="' + valor.celular + '" /></li>');

			                                            $("fieldset:last", form).append('<ul class="dir"></ul>');
			                                            if (typeof (valor.campos) != "string") {
			                                                $.each(valor.campos, function(chave2, valor2) {
			                                                    $("ul:last", form).append('<li><input id="FGAA_' + valor2.campo + '_' + cont + '" name="' + valor2.campo + '_' + cont + '" type="checkbox" value="sim"' + (valor2.marcado ? ' checked="checked"' : '') + ' /><label for="FGAA_' + valor2.campo + '_' + cont + '">' + valor2.nome + '</label></li>');
			                                                });
			                                            } else {
			                                                $("ul:last", form).append('<li>Nenhum campo cadastrado!</li>');
			                                            }

			                                            cont++;
			                                        });

			                                        // Mais e menos
			                                        $(form).append('<a href="javascript:void(0);" title="Mais" class="mais">Mais</a><a href="javascript:void(0);" title="Menos" class="menos">Menos</a>');

			                                        // Botão submit
			                                        $(form).append('<fieldset><ul><li class="semLabel"><input id="FGAA_enviar_grupos_avisos" name="enviar_grupos_avisos" type="submit" class="botao" value="Atualizar" /></li></ul></fieldset>');

			                                        // Insere o formulário
			                                        $("div.registroAberto", tr).append(form);
			                                        redimencioarPorClasse();
			                                        validar.init();
			                                        maisEmenos();
			                                        carregaTooltip();

			                                        // Submit
			                                        $("#form_grupos_avisos_alterar").submit(function() {
			                                            ajax({
			                                                arquivo: "painel",
			                                                formulario: "#form_grupos_avisos_alterar",
			                                                acao: "alterarGrupo",
			                                                aoConcluir: function(retorno) {
			                                                    if ($.trim(retorno) == "ok") {
			                                                        alert("Grupo atualizado com sucesso!");
			                                                        $("tr.registroAberto").click();
			                                                    }
			                                                }
			                                            });
			                                            return false;
			                                        });
			                                    } else {
			                                        alert("Este grupo não foi localizado.");
			                                        $("tr.registroAberto").click();
			                                    }
			                                    break;

			                                case "clientes_clientes":
			                                    if (typeof (dados) != "string") {
			                                        var form = $('<form id="form_clientes_clientes_alterar" name="form_clientes_clientes_alterar" action="painel.asp" method="post" class="form formNaoCadastro"></form>');

			                                        // Dados do cliente
			                                        $(form).append('<h2>Dados do Cliente:</h2><input id="FCCA_id" name="id" type="hidden" value="' + dados.id + '" /><fieldset></fieldset>').children(":last").append('<ul><li class="form2"><label for"FCCA_nome_cliente_cliente">Nome do cliente:</label></li></ul>');
			                                        $("li:last", form).append('<input id="FCCA_nome_grupo" name="nome_cliente_cliente" type="text" maxlength="255" class="campo validar" title="Nome do cliente{tipo:\'obrigatorio\'}" value="' + dados.nome + '" />');

			                                        // De para
			                                        $("ul:last", form).append('<li><h2>Variações do nome:</h2></li>');
			                                        $("li:last", form).append('<ul class="variacoes"></ul>');
			                                        var html = "";

			                                        if (typeof (dados.de_para) != "string") {
			                                            $.each(dados.de_para, function(chave, valor) {
			                                                html += '<li>';
			                                                html += '    <strong>»</strong> ' + valor.cod_cl + ' <a class="vmMiddle" title="Remover" href="javascript:void(0);"><img alt="Remover" src="imagens/ico-remover.gif"/></a>';
			                                                html += '    <input type="hidden" value="' + valor.id + '" />';
			                                                html += '</li>';
			                                            });
			                                        }

			                                        html += '<li>';
			                                        html += '    <input type="text" maxlength="255" class="campo" name="adicionarVariacao_0" id="FCC_adicionarVariacao_0"/>';
			                                        html += '    <a class="adicionarMultiplo variacoes" title="Adicionar" href="javascript:void(0);"><img alt="Adicionar" src="imagens/ico-adicionar.gif"/></a>';
			                                        html += '</li>';
			                                        $("ul:last", form).append(html);

			                                        // Usuários
			                                        $("ul:not(.variacoes):last", form).append('<li><h2>Usuários relacionados a este cliente:</h2></li>');
			                                        $("ul:not(.variacoes):last li:last", form).append('<table cellspacing="0"></table>');
			                                        $("table:last", form).append($("#form_clientes_clientes thead:eq(0)").clone()).append('<tbody></tbody>');
			                                        var classe = ' class="zebra"';
			                                        var html = "";

			                                        if (typeof (dados.usuarios) != "string") {
			                                            $.each(dados.usuarios, function(chave, valor) {
			                                                html += '<tr' + classe + '>';
			                                                html += '    <td>' + valor.nome + '</td>';
			                                                html += '    <td>' + valor.email + '</td>';
			                                                html += '    <td class="alignCenter"><a class="confirmRemover" title="Remover" href="javascript:void(0);" id_filtros="' + valor.id_filtros + '"><img alt="Remover" src="imagens/ico-remover.gif"/></a><input type="hidden" value="' + valor.id + '" /></td>';
			                                                html += '</tr>';
			                                                classe = classe == '' ? ' class="zebra"' : '';
			                                            });
			                                        } else {
			                                            classe = classe == '' ? '' : ' class="zebra nenhumRegistro"';
			                                            html += '<tr' + classe + '>';
			                                            html += '    <td class="nenhumRegistro" colspan="3">Nenhum usuário cadastrado!</td>';
			                                            html += '</tr>';
			                                            classe = classe == '' ? ' class="zebra"' : '';
			                                        }

			                                        html += '<tr' + classe + '>';
			                                        html += '    <td colspan="2"><select class="selectDinamico" name="usuarios"><option value="">Adicionar usuario</option></select></td>';
			                                        html += '    <td class="alignCenter"><a class="adicionarMultiplo usuarios" title="Adicionar" href="javascript:void(0);"><img alt="Adicionar" src="imagens/ico-adicionar.gif"/></a></td>';
			                                        html += '</tr>';
			                                        $("tbody:last", form).append(html);

			                                        // Grupos
			                                        $("ul:not(.variacoes):last", form).append('<li><h2>Grupos de avisos relacionados a este cliente:</h2></li>');
			                                        $("ul:not(.variacoes):last li:last", form).append('<table cellspacing="0"></table>');
			                                        $("table:last", form).append($("#form_clientes_clientes thead:eq(1)").clone()).append('<tbody></tbody>');
			                                        var classe = ' class="zebra"';
			                                        var html = "";
			                                        if (typeof (dados.grupos) != "string") {
			                                            $.each(dados.grupos, function(chave, valor) {
			                                                html += '<tr' + classe + '>';
			                                                html += '    <td><label for="FGAA_' + chave + '_1">' + valor.nome + '</label></td>';
			                                                html += '    <td class="alignCenter"><a class="confirmRemover" title="Remover" href="javascript:void(0);" id_grupo_avisos_clientes_clientes="' + valor.id_grupo_avisos_clientes_clientes + '"><img alt="Remover" src="imagens/ico-remover.gif"/></a><input type="hidden" value="' + valor.id + '" /></td>';
			                                                html += '</tr>';
			                                                classe = classe == '' ? ' class="zebra"' : '';
			                                            });
			                                        } else {
			                                            classe = classe == '' ? '' : ' class="zebra nenhumRegistro"';
			                                            html += '<tr' + classe + '>';
			                                            html += '    <td class="nenhumRegistro" colspan="3">Nenhum grupo cadastrado!</td>';
			                                            html += '</tr>';
			                                            classe = classe == '' ? ' class="zebra"' : '';
			                                        }
			                                        html += '<tr' + classe + '>';
			                                        html += '    <td><select class="selectDinamico" name="grupo_avisos"><option value="">Adicionar grupo</option></select></td>';
			                                        html += '    <td class="alignCenter"><a class="adicionarMultiplo grupo" title="Adicionar" href="javascript:void(0);"><img alt="Adicionar" src="imagens/ico-adicionar.gif"/></a></td>';
			                                        html += '</tr>';
			                                        $("tbody:last", form).append(html);

			                                        // Insere o formulário
			                                        $("div.registroAberto", tr).append(form);
			                                        redimencioarPorClasse();
			                                        validar.init();
			                                        selectDinamico();

			                                        // Inicializa eventos
			                                        clientes_clientes();
			                                    } else {
			                                        alert("Este cliente não foi localizado.");
			                                        $("tr.registroAberto").click();
			                                    }
			                                    break;

			                                case "fncliente":
			                                    if (typeof (dados) != "string") {
			                                        var form = $("#form_regras_follownet").clone().attr({ id: "form_regras_follownet_alterar", name: "form_regras_follownet_alterar" });

			                                        // Configura o formulário
			                                        $("#FRF_enviar_regras_follownet", form).parent().remove();
			                                        $(":input", form).each(function() {
			                                            $(this).attr("id", $(this).attr("id").replace("FRF_", "FRFA_"));
			                                        });
			                                        $("label", form).each(function() {
			                                            $(this).attr("for", $(this).attr("for").replace("FRF_", "FRFA_"));
			                                        });

			                                        // Cliente
			                                        $("#FRFA_cliente option", form).each(function(c, v) {
			                                            this.selected = dados.cliente == parseInt($(this).attr("value"));
			                                        });

			                                        // Filial
			                                        $("#FRFA_filial option", form).each(function(c, v) {
			                                            this.selected = dados.filial == parseInt($(this).attr("value"));
			                                        });

			                                        // Módulo
			                                        $("#FRFA_modulo option", form).each(function(c, v) {
			                                            this.selected = dados.modulo == parseInt($(this).attr("value"));
			                                        });

			                                        // Centros de Custo
			                                        $("input[name='centro_de_custo']", form).each(function(c, v) {
			                                            var este = this;
			                                            if (dados.centro_de_custo != "nenhum_centro_de_custo") {
			                                                $.each(dados.centro_de_custo, function(c, v) {
			                                                    if (este.checked = v == parseInt($(este).attr("value")))
			                                                        return false;
			                                                });
			                                            } else {
			                                                este.checked = false;
			                                            }
			                                        });

			                                        // Exceção
			                                        $("#FRFA_excecao", form)[0].checked = dados.excecao;
			                                        $("#FRFA_excecao", form).siblings("label")[0].checked = dados.excecao;

			                                        // Insere o formulário
			                                        $("div.registroAberto", tr).append(form);

			                                        // Usuários
			                                        $("#form_regras_follownet_alterar table:eq(0) tbody tr:not(:last):not(.nenhumRegistro)").remove();
			                                        var classe = ' class="zebra"';
			                                        var html = "";
			                                        if (typeof (dados.usuarios) != "string") {
			                                            $("#form_regras_follownet_alterar table:eq(0) tbody tr.nenhumRegistro").addClass("hide");
			                                            $.each(dados.usuarios, function(chave, valor) {
			                                                html += '<tr' + classe + '>';
			                                                html += '    <td>' + valor.nome + '</td>';
			                                                html += '    <td>' + valor.email + '</td>';
			                                                html += '    <td class="alignCenter"><a class="confirmRemover" title="Remover" href="javascript:void(0);" id_integracao_follownet_usuarios="' + valor.id_integracao_follownet_usuarios + '"><img alt="Remover" src="imagens/ico-remover.gif"/></a><input type="hidden" value="' + valor.id + '" /></td>';
			                                                html += '</tr>';
			                                                classe = classe == '' ? ' class="zebra"' : '';
			                                            });
			                                            $("#form_regras_follownet_alterar table:eq(0) tbody").prepend(html);
			                                        } else {
			                                            $("#form_regras_follownet_alterar table:eq(0) tbody tr.nenhumRegistro").removeClass("hide");
			                                        }

			                                        // Grupos de avisos
			                                        $("#form_regras_follownet_alterar table:eq(1) tbody tr:not(:last):not(.nenhumRegistro)").remove();
			                                        classe = ' class="zebra"';
			                                        html = "";
			                                        if (typeof (dados.grupos) != "string") {
			                                            $("#form_regras_follownet_alterar table:eq(1) tbody tr.nenhumRegistro").addClass("hide");
			                                            $.each(dados.grupos, function(chave, valor) {
			                                                html += '<tr' + classe + '>';
			                                                html += '    <td><label for="FGAA_' + chave + '_1">' + valor.nome + '</label></td>';
			                                                html += '    <td class="alignCenter"><a class="confirmRemover" title="Remover" href="javascript:void(0);" id_integracao_follownet_grupo_avisos="' + valor.id_integracao_follownet_grupo_avisos + '"><img alt="Remover" src="imagens/ico-remover.gif"/></a><input type="hidden" value="' + valor.id + '" /></td>';
			                                                html += '</tr>';
			                                                classe = classe == '' ? ' class="zebra"' : '';
			                                            });
			                                            $("#form_regras_follownet_alterar table:eq(1) tbody").prepend(html);
			                                        } else {
			                                            $("#form_regras_follownet_alterar table:eq(1) tbody tr.nenhumRegistro").removeClass("hide");
			                                        }

			                                        // Aplica eventos
			                                        redimencioarPorClasse();
			                                        validar.init();
			                                        selectDinamico();

			                                        // Inicializa eventos
			                                        integracaoFollowNet();
			                                        clientes_clientes();

			                                        // Área de Negócio
			                                        ajaxCallBack.areaDeNegocio = function() {
			                                            $("#FRFA_area_de_negocio option", form).each(function(c, v) {
			                                                this.selected = dados.area_de_negocio == parseInt($(this).attr("value"));
			                                            });
			                                            ajaxCallBack.areaDeNegocio = null;
			                                        }
			                                        $("#FRFA_cliente").change();

			                                        // Eventos de alteração
			                                        $("#form_regras_follownet_alterar li.form2 :input").change(function() {
			                                            var este = this;
			                                            var campo = $(this).attr("name");
			                                            var valor = $(this).is(":checkbox") ? this.checked ? "1" : "0" : $(this).val();
			                                            var dadosAlteracao = {
			                                                campo: campo,
			                                                valor: valor,
			                                                id: $(".id", $("#form_regras_follownet_alterar").parents("tr:first").prev()).val()
			                                            }

			                                            if (campo == "centro_de_custo") {
			                                                dadosAlteracao.id_centro_de_custo = $(this).attr("value");
			                                                var textoRetorno = $("label[for='" + $(this).attr("id") + "']:first").text();
			                                            }

			                                            ajax({
			                                                arquivo: "painel",
			                                                acao: "alterarRegraFollownet",
			                                                dados: dadosAlteracao,
			                                                metodo: "POST",
			                                                tipoDados: "json",
			                                                aoConcluir: function(retorno) {
			                                                    if (campo == "centro_de_custo") {
			                                                        var nome = textoRetorno;
			                                                        var objTd = $("td:eq(" + retorno.td + ")", $(este).parents("tr:first").prev());
			                                                        if (valor == "0") {
			                                                            if (objTd.length > 0)
			                                                                $(objTd).html($(objTd).html().replace(eval("/(, )?" + nome + "/"), ""));
			                                                            if ($.trim($(objTd).html()) == "," || $.trim($(objTd).html()) == "") $(objTd).html("-");
			                                                        } else {
			                                                            if ($.trim($(objTd).text()) != "-") {
			                                                                $(objTd).append(", ");
			                                                            } else {
			                                                                $(objTd).html("");
			                                                            }
			                                                            $(objTd).append(nome);
			                                                        }
			                                                    } else {
			                                                        if (typeof (retorno) != "string") {
			                                                            $("td:eq(" + retorno.td + ")", $("#form_regras_follownet_alterar").parents("tr:first").prev()).html(retorno.texto);
			                                                            if (retorno.td == 0) $("td:eq(1)", $("#form_regras_follownet_alterar").parents("tr:first").prev()).html('Todas');
			                                                        } else {
			                                                            alert("Não foi possível atualizar a informação. Tente novamente.");
			                                                        }
			                                                    }
			                                                }
			                                            });
			                                        });
			                                    } else {
			                                        alert("Este cliente não foi localizado.");
			                                        $("tr.registroAberto").click();
			                                    }
			                                    break;
			                            }

			                            break;
			                    }
			                    $("div.registroAberto", tr).append('<p class="fecharRegistro"><a href="javascript:void(0);" title="Fechar Registro">Fechar Registro</a></p>');
			                    $("p.fecharRegistro a").click(function() {
			                        var trAlinhar = $(tr).prev();
			                        $(tr).prev().click();
			                        if (arquivo == "processos.asp") alinhaRegistro(trAlinhar);
			                    });
			                }
			            });
			        } else {
			            var tr = $("tr.registroAberto", $(this).parent());
			            $(".dados_completos", $(this).parent()).attr("src", "imagens/ico-dados-completos.gif");
			            $(tr).removeClass("registroAberto").addClass("registroAlterado").next().remove();
			            setTimeout(function() {
			                $(tr).removeClass("registroAlterado");
			            }, 2000);
			        }
			    }
			});
    }
    ajustaTabela();

    /////////////////
    // Buscar CEP //
    ///////////////
    $(".buscarCep").blur(function() {
        var cep = $.trim($(this).val().replace("-", ""));
        var self = this;
        if (cep.length == 8) {
            ajax({
                arquivo: "cep",
                acao: "buscar",
                metodo: "POST",
                dados: "cep=" + cep,
                tipoDados: "json",
                aoConcluir: function(dados) {
                    if (typeof (dados) == "string") {
                        validar.nome = "CEP";
                        validar.msg = "é um CEP inválido.";
                        validar.obj = self;
                        validar.exibeMsg();
                    } else {
                        $(".cepEndereco").val(dados.endereco);
                        $(".cepBairro").val(dados.bairro);
                        $(".cepCidade").val(dados.cidade);
                        $(".cepEstado option").each(function() {
                            this.selected = $(this).hasClass($.trim(dados.estado));
                        });
                    }
                }
            });
        }
    });

    ///////////////
    // Abre Rel //
    /////////////
    $("a.abreRel").click(function() {
        var alvo = $(this).attr("rel");
        if ($(alvo).is(":visible")) {
            $(alvo).slideUp('fast');
        } else {
            $(alvo).slideDown('fast');
        }
    });

    ////////////////
    // Processos //
    //////////////
    function maisEmenos() {
        // Mais
        $(".maisEmenos > .mais").unbind().click(function() {
            var novo = $(this).parent().children(".fieldset2:last").clone();
            var cont = parseInt($(":input", $(this).prev()).eq(0).attr("id").split("_").pop()) + 1;

            $(novo).attr("class", $(novo).attr("class").replace(/idGrupo[^ ]+/g, ""));
            $(".remover", novo).remove();
            $(":input", novo).each(function() {
                var idOrig = $(this).attr("id");
                if (idOrig != "") {
                    var siglaForm = idOrig.split("_")[0];
                    var name = $(this).attr("name").split("_");
                    var fora = name.pop();

                    name = name.join("_") + "_" + cont;

                    if ($(this).is(":text")) {
                        validar.campos[siglaForm + "_" + name] = validar.campos[idOrig];
                        if (typeof (validar.campos[siglaForm + "_" + name].mascara) != "undefined") {
                            $(this).mask(validar.campos[siglaForm + "_" + name].mascara);
                        }
                    }

                    $(this).attr({ name: name, id: siglaForm + "_" + name }).siblings("label").attr("for", siglaForm + "_" + name);
                }
            }).not(".desabilitado").removeClass("readonly").removeAttr("disabled").removeAttr("readonly");

            $(this).before(novo);
            $(this).next().show();
        });

        // Menos
        $(".maisEmenos > .menos").unbind().click(function() {
            if ($(this).siblings(".fieldset2").length > 1) {
                $(this).prev().prev().remove();
                if ($(this).siblings(".fieldset2").length <= 1) $(this).hide();
            } else {
                $(this).hide();
            }
        }).each(function() {
            if ($(this).siblings(".fieldset2").length <= 1) $(this).hide();
        });
    }
    maisEmenos();

    // Importar
    $("#form_numero a.importar").click(function() {
        var form = $(this).parents("form:eq(0)");
        $("#tipoArquivo").html("");

        if ($(this).text() == "Importar arquivo") {
            $("fieldset.importar :input").removeAttr("disabled");

            $(form).children(":not(.importar)").hide();
            $("fieldset.importar").show()

        } else {
            $("fieldset.importar :input").attr("disabled", "disabled");

            $(form).children(":not(.importar)").show();
            $("fieldset.importar").hide()
        }

        $("#FN_arquivo").unbind().change(function() {
            var ext = this.value.split(".").pop().toLowerCase().replace(" ", "");
            var permitidos = /^(csv|txt|xls)$/;

            $("#tipoArquivo").html('<strong class="' + permitidos.test(ext) + '">' + ext.toUpperCase() + '</strong>')

            if (!permitidos.test(ext)) {
                $(this).addClass("invalido");
                alert("Atenção!\n\nO tipo de arquivo \"" + $("#tipoArquivo").text() + "\" não é permitido.\n\nOs tipos de arquivo permitido são: TXT, CSV e XLS.");
            } else {
                $(this).removeClass("invalido");
            }
        });

        $("fieldset.importar a.carregarProcessos").unbind().click(function() {
            var valido = true;
            var msg = "";
            if ($("#FN_arquivo").hasClass("invalido")) {
                valido = false;
                msg = "Atenção!\n\nO tipo de arquivo \"" + $("#tipoArquivo").text() + "\" não é permitido.\n\nOs tipos de arquivo permitido são: TXT, CSV e XLS.";
            }

            if (valido) {
                bloqueia({
                    bgColor: "url(imagens/blank.gif)",
                    cursor: "wait",
                    animate: false
                });
                $(form).append('<p id="carregandoImportacao" class="carregando">Carregando...</p>');

                $("#iframeUpload").remove();
                $("body").append($('<iframe id="iframeUpload" name="iframeUpload"></iframe>'));
                $("#iframeUpload").load(function() {
                    var retorno = eval($("#iframeUpload").contents().find("body").html().replace(/(\n|\r|\t|\v)*/g, ""));
                    bloqueia({
                        evento: "fim",
                        animate: false
                    });
                    $("#carregandoImportacao").remove();

                    if (retorno.length > 0) {
                        var importados = '<ul id="importados" class="checkboxs">';
                        for (i = 0; i < retorno.length; i++) {
                            if (typeof (retorno[i]) == "object") {
                                importados += '<li><input id="FN_master_house_' + i + '" name="master_house" type="checkbox" checked="checked" /> '
                                importados += '<label for="FN_master_house_' + i + '">Master: <strong>' + retorno[i].mawb + '</strong>, '
                                importados += 'House: <strong>' + retorno[i].hawb + '</strong></label>';
                                importados += '<input id="FN_master_' + i + '" name="master" type="hidden" value="' + retorno[i].mawb + '" />';
                                importados += '<input id="FN_house_' + i + '" name="house" type="hidden" value="' + retorno[i].hawb + '" />';
                                importados += '</li>';
                            } else if (typeof (retorno[i]) == "string") {
                                switch (retorno[i]) {
                                    case "ext_invalida":
                                        importados += '<li class="false"><label>Extenção do arquivo inválida.</label></li>';
                                        break;
                                    case "mh_invalido":
                                        importados += '<li class="false"><label>Master e/ou House inválido(s) ou não indentificado(s) na linha <strong>' + (i + 1) + '</strong>.</label></li>';
                                        break;
                                    case "linha_em_branco":
                                        importados += '<li class="false"><label>Linha <strong>' + (i + 1) + '</strong> está em branco.</label></li>';
                                        break;
                                }
                            }
                        }
                        importados += '</ul><a href="javascript:void(0);" title="Cancelar Importação" id="cancelarImportacao">Cancelar Importação</a>';
                    } else {
                        importados = '<p>Nenhum processo localizado no arquivo importado.</p><p><a href="javascript:void(0);" title="Cancelar Importação" id="cancelarImportacao">Cancelar Importação</a></p>';
                    }

                    $(form).children("fieldset:first").children(":first").hide().parent().append(importados);

                    $("#form_numero a.importar:visible:last").click();

                    $("#cancelarImportacao").click(function() {
                        $(form).children("fieldset:first").children(":hidden:first").show().siblings(":not(div)").remove();
                        $("#gruposAvisos").show();
                        $(form).resetForm();
                        $(".fieldset2", form).not(":first").remove();
                        $(".maisEmenos .menos").click();
                        $(".fieldset2 .remover", form).remove();
                    });

                    if (retorno.length == 0) {
                        if (confirm("Atenção!\n\nNenhum processo localizado no arquivo importado.\n\nDeseja fazer uma nova importação?")) {
                            $("#cancelarImportacao").click();
                            $("#botaoImportar").click();
                        } else {
                            $("#cancelarImportacao").click();
                        }
                    }
                }).click(function() { $(this).remove(); $("#bloqueio").remove(); });

                if ($.browser.msie) {
                    form[0].encoding = "multipart/form-data";
                    $(form).removeAttr("enctype");
                } else {
                    $(form).attr({ enctype: "multipart/form-data" });
                }
                $(form)
					.attr({
					    action: "biblioteca/ajax/processos.asp?acao=importar",
					    target: "iframeUpload"
					})
					.addClass("formNaoCadastro")
					.submit()
				;
            } else {
                alert(msg);
            }
            $(form).attr({ action: "processos.asp" }).removeAttr("enctype").removeClass("formNaoCadastro");
            if ($.browser.msie) form[0].encoding = null;
        });
    });

    // Grupos de avisos
    $(".processos .boxEsq h1 a").click(function() {
        if ($("#gruposAvisos ul li").length == 0) {
            $("#gruposAvisos ul").html('<li><p class="carregando">Carregando grupos, por favor aguarde...</p></li>');
            ajax({
                arquivo: "processos",
                acao: "carregaGrupos",
                carregando: 0,
                aoConcluir: function(dados) {
                    $("#gruposAvisos ul").html(dados);
                    aplicaEventos();
                }
            });
            if (id_clientes == 0 || (id_clientes == 58 && id_centro_de_custo == 1)) alert("Atenção!\n\nLembre-se de informar a referência DHL e selecionar o cliente do processo conforme determinação do departamento de desembaraço.");
        }
    });
    function aplicaEventos() {
        $("#gruposAvisos input").click(function() {
            var checado = this.checked;
            var objClicado = this;
            $("fieldset.idGrupo" + $(this).val()).each(function() {
                if ($("#form_numero .fieldset2").length > 1) {
                    $(this).remove();
                } else {
                    $(this).attr("class", "fieldset2");
                    $(".remover", this).remove();
                    $(":input", this).each(function() {
                        if ($(this).is(":checkbox")) {
                            this.checked = false;
                        } else {
                            $(this).val("");
                        }
                    }).not(".desabilitado").removeClass("readonly").removeAttr("disabled").removeAttr("readonly");
                }
            });
            if (checado) {
                ajax({
                    arquivo: "processos",
                    acao: "CarregaDadosGrupo",
                    querystring: "grupo=" + $(this).val() + "&nome=" + $(this).siblings("label:first").text(),
                    tipoDados: "json",
                    aoConcluir: function(obj) {
                        if (obj == null) {
                            alert("Nenhum e-mail/sms de destino localizado neste grupo!");
                            objClicado.checked = false;
                        } else {
                            $.each(obj.destinos, function(chave, valor) {
                                $("#form_numero .mais").click();
                                if ($("#form_numero .fieldset2").length == 2) {
                                    if ($("input[name*='email_']", $("#form_numero .fieldset2:first")).val() == "" && $("input[name*='sms_']", $("#form_numero .fieldset2:first")).val() == "") {
                                        $("#form_numero .fieldset2:first").remove();
                                    }
                                }
                                $("#form_numero .fieldset2:last").attr("class", "fieldset2").addClass("idGrupo" + obj.id).each(function() {
                                    var self = this;
                                    $("input[name*='email_']", this).val(valor.email);
                                    $("input[name*='sms_']", this).val(valor.celular);
                                    $.each(valor.campos, function(chave2, valor2) {
                                        $("input[name*='" + chave2 + "_']", self).each(function() {
                                            var n = $(this).attr("name").split("_").pop();
                                            if ($(this).attr("name") == chave2 + "_" + n) this.checked = valor2;
                                        });
                                    });
                                    $("ul.esq", self).append('<li class="remover"><label style="width:54px;">Grupo:</label> <span class="campo" style="width:186px;text-align:left;"><strong>' + obj.nome + '</strong></span></li>');
                                    var num = $("input:first", this).attr("id").split("_").pop();
                                    $("ul.esq li.remover", this).append('<input id="FN_grupo_' + num + '" name="grupo_' + num + '" type="hidden" value="' + obj.id + '" />');
                                    if (obj.nivel == 0) {
                                        $("input:not(:hidden)", this).addClass("readonly").attr({ disabled: "disabled", readonly: "readonly" });
                                    }
                                });
                            });
                        }
                    }
                });
            }
            if ($("#form_numero .fieldset2").length == 1) $("#form_numero .menos").hide();
        });
    }

    ////////////
    // Login //
    //////////
    if ($("#form_login").is(":visible")) {
        $("#FL_email").focus();
    }

    ////////////
    // Popup //
    //////////
    $(".popup").click(function() {
        window.open($(this).attr("href"), 'popup', 'width=500,height=425');
        return false;
    });
    $(".abrirGrid").click(function() {
        window.open($(this).attr("href"), 'popup', 'width=1024,height=768,resizable=1');
        return false;
    });

    ///////////////////////////////
    // Confirmação para remover //
    /////////////////////////////
    $(".confirmRemover").click(function() {
        if (confirm("Deseja realmente remover este registro?")) {
            $(this).parents().unbind();
            return true;
        } else {
            return false;
        }
    });

    ///////////////
    // Mensagem //
    /////////////
    $("#msg .fecharMsg").click(function() {
        $("#msg").animate({ height: 0, paddingTop: 0, paddingBottom: 0, marginBottom: 0, opacity: 0 }, 'normal', function() {
            $(this).remove();
        });
    });

    //////////////
    // Tooltip //
    ////////////
    function carregaTooltip() {
        $("a.abreTooltip").each(function() {
            $(this).unbind().hover(function() {
                if ($(this).siblings(".tooltip").hasClass("hide")) $(this).siblings(".tooltip").css("opacity", "0").removeClass("hide");
                $(this).siblings(".tooltip").stop().fadeTo("fast", 1);
            }, function() {
                $(this).siblings(".tooltip").stop().fadeTo("fast", 0, function() {
                    $(this).addClass("hide");
                });
            });
        });
    }
    carregaTooltip();

    //////////////////////
    // Grupo de Avisos //
    ////////////////////
    $("#cadastrar_grupo_avisos").submit(function() {
        if (validar.form("#cadastrar_grupo_avisos")) {
            var tudoOk = false;
            $(".campos_avisos input:text").each(function() {
                tudoOk = $(this).val().length > 0;
                return !tudoOk;
            });
            if (tudoOk) {
                $(".campos_avisos input:checkbox").each(function() {
                    tudoOk = this.checked;
                    return !tudoOk;
                });
            }
            if (!tudoOk) {
                alert("É necessário configurar no mínimo 1 destino.");
                $(".campos_avisos input:text:first").focus;
            }
            return tudoOk;
        } else {
            return false;
        }
    });

    ///////////////////////////
    // Registros por página //
    /////////////////////////
    $(".registrosPorPagina").change(function() {
        var url = window.location.href.replace(/(\&||\?)?registrosPorPagina=[0-9]*/, "").replace(/\&[\&]+||\?\&/g, "");
        url = url.indexOf("?") > -1 ? url + "&" : url + "?";
        window.location.href = url + "registrosPorPagina=" + $(this).val();
    });

    ///////////
    // Menu //
    /////////
    $("#menu ul.menu >li").hover(function() { $(this).children("ul").show(); }, function() { $(this).children("ul").hide(); });

    //////////////////////////
    // Condições de Avisos //
    ////////////////////////
    if ($("#corpo").hasClass("processos") || $("#corpo").hasClass("painel")) {
        // Tabelas de descricao
        var desc_tabelas = {};
        desc_tabelas["desc_urf"] = eval("[" + $("#desc_urf").val() + "]")[0];
        desc_tabelas["desc_recinto"] = eval("[" + $("#desc_recinto").val() + "]")[0];
        desc_tabelas["desc_avarias"] = eval("[" + $("#desc_avarias").val() + "]")[0];
        desc_tabelas["desc_embalagem"] = eval("[" + $("#desc_embalagem").val() + "]")[0];
        $("#desc_urf, #desc_recinto, #desc_avarias, #desc_embalagem").remove();

        // Monta o filtro
        var fCampos = {
            40: {
                nome: "Status",
                campo: "status",
                tipo: "select",
                select: {
                    01: "Documento não encontrado",
                    02: "Consulta para esse processo temporariamente indisponivel no mantra",
                    03: "Documento consultado com sucesso",
                    04: "Em processamento"
                }
            },
            3: {
                nome: "Master",
                campo: "mawb",
                tipo: "contendo"
            },
            4: {
                nome: "House",
                campo: "hawb",
                tipo: "contendo"
            },
            indisponibilidade: {
                nome: "Indisponibilidade",
                campo: "indisponibilidade",
                tipo: "select",
                select: {
                    com_ind: "Com indisponibilidade",
                    sem_ind: "Sem indisponibilidade"
                }
            },
            consignatario: {
                nome: "Consignatário",
                campo: "consignatario",
                tipo: "contendo"
            },
            local_embarque: {
                nome: "Local de embarque",
                campo: "local_embarque",
                tipo: "contendo"
            },
            destino: {
                nome: "Destino",
                campo: "destino",
                tipo: "contendo"
            },
            moeda: {
                nome: "Moeda",
                campo: "moeda",
                tipo: "contendo"
            },
            termo: {
                nome: "Termo",
                campo: "termo",
                tipo: "contendo",
                validacao: "{mascara:'99999999-9'}"
            },
            urf_entrada: {
                nome: "URF de entrada",
                campo: "urf_entrada",
                tipo: "select",
                select: desc_tabelas["desc_urf"]
            },
            urf_despacho: {
                nome: "URF de despacho",
                campo: "urf_despacho",
                tipo: "select",
                select: desc_tabelas["desc_urf"]
            },
            armazenamento: {
                nome: "Recinto",
                campo: "armazenamento",
                tipo: "select",
                select: desc_tabelas["desc_recinto"]
            },
            chegada_prevista: {
                nome: "Chegada prevista",
                campo: "chegada_prevista",
                tipo: "data"
            },
            chegada: {
                nome: "Data de chegada",
                campo: "chegada",
                tipo: "data"
            },
            arm: {
                nome: "ARM",
                campo: "arm",
                tipo: "contendo"
            },
            registrado: {
                nome: "Data termo registrado",
                campo: "registrado",
                tipo: "data"
            },
            encerrado: {
                nome: "Data termo encerrado",
                campo: "encerrado",
                tipo: "data"
            },
            avalizado: {
                nome: "Data termo avalizado",
                campo: "avalizado",
                tipo: "data"
            },
            visado: {
                nome: "Data termo visado",
                campo: "visado",
                tipo: "data"
            },
            dta_vinculada: {
                nome: "Data DTA vinculada",
                campo: "dta_vinculada",
                tipo: "data"
            },
            di_vinculada: {
                nome: "Data DI vinculada",
                campo: "di_vinculada",
                tipo: "data"
            },
            dta_concedida: {
                nome: "Data DTA concedida",
                campo: "dta_concedida",
                tipo: "data"
            },
            dta_carregada: {
                nome: "Data DTA carregada",
                campo: "dta_carregada",
                tipo: "data"
            },
            dta_entregue: {
                nome: "Data DTA entregue",
                campo: "dta_entregue",
                tipo: "data"
            },
            di_entregue: {
                nome: "Data DI entregue",
                campo: "di_entregue",
                tipo: "data"
            },
            di_das: {
                nome: "DI/DAS",
                campo: "di_das",
                tipo: "contendo",
                validacao: "{mascara:'99/9999999-9'}"
            },
            di_registrado: {
                nome: "Data DI registrado",
                campo: "di_registrado",
                tipo: "data"
            },
            dta_desembaracada: {
                nome: "Data DTA desembaraçada",
                campo: "dta_desembaracada",
                tipo: "data"
            },
            di_desembaracada: {
                nome: "Data DI desembaraçada",
                campo: "di_desembaracada",
                tipo: "data"
            },
            dta: {
                nome: "DTA",
                campo: "dta",
                tipo: "contendo"
            },
            dta_registrado: {
                nome: "DTA registrado",
                campo: "dta_registrado",
                tipo: "data"
            },
            tipo_tratamento: {
                nome: "Tipo de tratamento",
                campo: "tipo_tratamento",
                tipo: "int"
            }
        }

        // Preparação do filtro
        $(".filtros").live('change', function() {
            var divPai = $(this).parents(".condicoes:first");
            $(".complemento, .complemento2", divPai).remove();
            if ($(this).val() != "") {
                var numero = $("input:first", $(this).parents("fieldset:first")).attr("id").split("_").pop();
                switch (fCampos[$(this).val()].tipo) {
                    case "contendo": case "int":
                        $(this).parent().after('<p class="complemento"><label>Contendo:</label> <input id="FN_contendo_' + numero + '" name="contendo_' + numero + '" type="text" class="campo contendo" size="30" /></p>');
                        if (typeof (fCampos[$(this).val()].validacao) == "string") {
                            $(this).parent().next().children("input").addClass("validar").attr("title", $(this).parent().next().children("label").text() + fCampos[$(this).val()].validacao.replace("}", ",min:1}"));
                        } else {
                            $(this).parent().next().children("input").addClass("validar").attr("title", $(this).parent().next().children("label").text() + "{tipo:'obrigatorio'}");
                        }
                        validar.init();
                        break;
                    case "data":
                        $(this).parent().after('<p class="complemento"><label>Contendo:</label> <select id="FN_contendo_' + numero + '" name="contendo_' + numero + '" class="contendo"><option value="preenchidos">Preenchidos</option><option value="nao_preenchidos">Não preenchidos</option><option value="igual_a">Igual a</option><option value="entre">Entre</option></select></p>');
                        break;
                    case "select":
                        $(this).parent().after('<p class="complemento"><label>Contendo:</label></p>');
                        var select = $('<select id="FN_contendo_' + numero + '" name="contendo_' + numero + '"></select>');
                        $.each(fCampos[$(this).val()].select, function(chave, valor) {
                            $(select).append('<option value="' + chave + '">' + (typeof (valor) == "string" ? valor : valor.descricao.length > 40 ? chave + ' - ' + valor.descricao.substring(0, 40) + "..." : chave + ' - ' + valor.descricao) + '</option>');
                        });
                        $(this).parent().next().append(select);
                        break;
                }
            }
        });

        $(".contendo").live('change', function() {
            $(".complemento2", $(this).parents("div:first")).remove();
            var numero = $("input:first", $(this).parents("fieldset:first")).attr("id").split("_").pop();
            switch ($(this).val()) {
                case "igual_a":
                    $(this).parent().after('<p class="complemento2"><label>Igual a:</label> <input id="FN_contendo2_' + numero + '" name="contendo2_' + numero + '" type="text" class="campo validar" title="Igual a{mascara:\'99/99/9999\'}" size="15" /></p>');
                    break;
                case "entre":
                    $(this).parent().after('<p class="complemento2"><label>Entre:</label> <input id="FN_contendo2_' + numero + '" name="contendo2_' + numero + '" type="text" class="campo validar" title="Entre{mascara:\'99/99/9999\'}" size="15" /><span> e </span><input id="FN_contendo3_' + numero + '" name="contendo3_' + numero + '" type="text" class="campo validar" title="E{mascara:\'99/99/9999\'}" size="15" /></p>');
                    break;
            }
            validar.init();
        });

        // Adicionar filtro
        $(".condicoes .mais").live('click', function() {
            var objPai = $(this).parents(".condicoes");

            if ($.trim($("select:eq(0)", objPai).val()) != "") {
                $("div.filtros p.nenhumFiltro", objPai).addClass("hide");

                // Texto
                var texto = "";
                var numero = null;
                var contendo2 = false;
                var contendo3 = false;
                $("div:eq(1) div:eq(0) p", objPai).each(function(chave, valor) {
                    numero = $("input:first", $(this).parents("fieldset:first")).attr("id").split("_").pop();
                    $(this).children().each(function() {
                        if ($(this).is("label"))
                            texto += $(this).text();
                        else if ($(this).is("select"))
                            texto += ' <strong>"' + $("option:selected", this).text() + '"</strong>. <input id="FN_ff_' + $(this).attr("name").replace(/\_[0-9]+$/g, "") + "_" + numero + '" name="ff_' + $(this).attr("name").replace(/\_[0-9]+$/g, "") + "_" + numero + '" type="hidden" value="' + $(this).val() + '" />';
                        else if ($(this).is("input"))
                            texto += ' <strong>"' + $(this).val() + '"</strong>. <input id="FN_ff_' + $(this).attr("name").replace(/\_[0-9]+$/g, "") + "_" + numero + '" name="ff_' + $(this).attr("name").replace(/\_[0-9]+$/g, "") + "_" + numero + '" type="hidden" value="' + $(this).val() + '" />';
                        else
                            texto += " " + $(this).text() + " ";

                        if ($(this).is(":input")) {
                            if ($(this).attr("name").indexOf("contendo2_") != -1 && !contendo2) contendo2 = true;
                            if ($(this).attr("name").indexOf("contendo3_") != -1 && !contendo3) contendo3 = true;
                        }
                    });
                });
                if (!contendo2) texto += '<input id="FN_ff_contendo2_' + numero + '" name="ff_contendo2_' + numero + '" type="hidden" value="" />';
                if (!contendo3) texto += '<input id="FN_ff_contendo3_' + numero + '" name="ff_contendo3_' + numero + '" type="hidden" value="" />';
                $("div:last", objPai).append('<p>' + texto + ' <a href="javascript:void(0);" title="Remover filtro" class="removerFiltro"><img src="imagens/ico-remover.gif" alt="Remover filtro" /></a></p>').show();
            }
        });

        // Remover Filtro
        $("a.removerFiltro").live('click', function() {
            if ($(this).parent().siblings(":visible").length == 0) $(this).parent().siblings(".hide").removeClass("hide");
            $(this).parent().remove();
        });
    }

    ////////////////////////////////////
    // Cadastro de Presença de Carga //
    //////////////////////////////////
    $("#FN_viatransp").change(function() {
        $(this).parent().siblings().hide();
        $(".viatransp" + $(this).val(), $(this).parent().parent()).show();
        $(".fieldset2 ul.dir li", $(this).parents("form:first")).hide();
        $(".fieldset2 ul.dir li.viatransp" + $(this).val(), $(this).parents("form:first")).show();
    });

    //////////////
    // Filtrar //
    ////////////
    $("#form_filtro_faturamento").submit(function() {
        var de = $("#FFF_de").val().split("/");
        var ate = $("#FFF_ate").val().split("/");
        var valido = true;
        var data = null;

        if (de != "") {
            data = new Date(de[1] + "/" + de[0] + "/" + de[2]);
            valido = (parseInt(de[0], 10) == data.getDate()) && ((parseInt(de[1], 10) - 1) == data.getMonth()) && (parseInt(de[2], 10) == data.getFullYear());
        }
        if (ate != "" && valido) {
            data = new Date(ate[1] + "/" + ate[0] + "/" + ate[2]);
            valido = (parseInt(ate[0], 10) == data.getDate()) && ((parseInt(ate[1], 10) - 1) == data.getMonth()) && (parseInt(ate[2], 10) == data.getFullYear());
        }

        if (!valido) alert("Data inválida!");

        return valido;
    });

    //////////
    // DHL //
    ////////
    if (id_clientes == 34 || id_clientes == 58) {
        $("#FN_refcliente").addClass("validar").attr("title", $("#FN_refcliente").addClass("validar").attr("title") + "{tipo:'int'}");
        validar.init();
    }
});