// ****************************************************************************************************************************** // Classe que gerencia o envio de um e-mail // ****************************************************************************************************************************** function clEmail(pai, parametros) { for (var i in parametros) { this[i] = parametros[i]; } this.pai = pai; if (this.mostra) this.criaBox(); else this.envia(); } clEmail.prototype.criaBox = function() { var esteEmail = this; var alturaTela = Math.round(0.9 * tamanhoTela().altura); var div = this.divEmail = $("
").appendTo($(document.body)); div.dialog({ title: "envio de e-mail", autoOpen: false, width: '70%', height: alturaTela, minHeight: alturaTela, resizable: false, modal: true, closeOnEscape: false, zIndex: 10000000, buttons: [ { text: "enviar", click: function() { esteEmail.envia.call(esteEmail); } }, { text: "cancelar", click: function() { $(this).dialog("close"); } } ], close: function() { $(this).remove(); } }).dialog("open"); this.estrutura(); this.buscaDados(); }; clEmail.prototype.estrutura = function() { $( "
" + "
" + "
" ).appendTo(this.divEmail); $( "
" + ""+ ""+ "
" ).insertBefore(this.divEmail); }; clEmail.prototype.buscaDados = function() { var esteEmail = this; $("
" + "Montando o e-mail" + ". " + "por favor aguarde" + "...
").appendTo(this.divEmail.find("div.corpo")); new cnx.carrega(this.url + "&acao=mostra", function() { esteEmail.monta.call(esteEmail, this.resposta); }); }; clEmail.prototype.monta = function(dados) { var dados = jQuery.parseJSON(dados); this.divEmail.dialog("option", "title", dados.titulo); this.divEmail.find('div.remetente span').text(dados.remetente); var colocaLog = (dados.logEnvio.nome && dados.logEnvio.quando) ? true : false; if(dados.logEnvio.nome) { $('div.ultimoEnvio span.quem').text(dados.logEnvio.nome); $('div.ultimoEnvio span.quando').text(dados.logEnvio.quando); }else { $('div.ultimoEnvio').remove(); } var ulDest = this.divEmail.find('div.destinatario ul'); for (var i = 0, t = dados.dest.length; t--; i++) { $("
  • ").text(dados.dest[i]).appendTo(ulDest); } this.divEmail.find('div.corpo').html(dados.corpo); }; clEmail.prototype.envia = function() { var esteEmail = this; $("
    " + "Enviando o e-mail" + ". " + "por favor aguarde" + "...
    ").appendTo(this.divEmail.find("div.corpo").empty()); this.divEmail.dialog("option", "buttons", [ { text: 'fechar', click: function() { $(this).dialog("close"); } } ]); new cnx.carrega(this.url + "&acao=envia", function() { esteEmail.emailEnviado.call(esteEmail, this.resposta); }); }; clEmail.prototype.emailEnviado = function(dados) { var dados = jQuery.parseJSON(dados); this.divEmail.dialog("close"); if (dados.envio == "1") { var html = "
    " + "e-mail enviado" + "
    "; var colocaAviso = (this.pai.onde) ? this.pai.onde : this.pai.elementoBase; var divEnviado = $(html).appendTo($(colocaAviso)).slideDown(300); setTimeout(function() { divEnviado.fadeOut(function() { removeObj(this) }); }, 3000); } else { var html = "
    " + "houve um problema no envio do e-mail" + ":

    " + dados.erro + "

    "; var divEnviado = $(html).appendTo($(colocaAviso)).slideDown(300); divEnviado.find('a').on('click', function(e) { divEnviado.remove(); if (e.preventDefault) e.preventDefault(); else return false; }); } }; // ******************************************************************************************************************************* // *******************************************************************************************************************************