/*  SDI 3.0 Suporte a eMails, versão 2
    Implementação:      www.cebinet.com.br
    Desenvolvimento:    silviosa@sswin.com.br
    Setembro 2008   */

var sdi3eMail={

// propriedades
scriptPHP: 'sdi3/sistema/paginas/sdi3.email.v2/sdi3.email.v2.php',
dados:{},
gdados:{},
anexos:[],

// função de inicialização
iniciar: function(id){

    var t='';
    t+='<div id="sdiemail_v2_erros" class="sev2err"></div>';
    t+='<div id="sdiemail_v2_form" class="sev2">form</div>';
    $('#sdiemail_v2').html(t)

    $('#sdiemail_v2_form').html('Carregando ...');
    this.emailCarregar(id);

},

anexosDialogo: function(){

        $('#siteDialogos').dialog(
            { title: 'Anexo',
            modal: true, overlay: { opacity: 0.3, background: "black" },
            buttons: {
                "Anexar": function() {xxx(); },
                "Fechar":  function() { $(this).dialog("close"); }
                }
            }
        );

},

enviar: function(){
    $('#sdiemail_v2_erros').empty();
    // validação
    if(this.dados.props.rs[0].remetente_tipo=='L'){
        if(!$('#sev2RemetenteEmail').val()){
            $('#sev2RemetenteEmail').focus();
            window.alert('Informe o remetente da mensagem'); return null;
        }
    }
    if(this.dados.props.rs[0].destinatario_tipo=='L'){
        if(!$('#sev2DestinatarioEmail').val()){
            $('#sev2DestinatarioEmail').focus();
            window.alert('Informe o destinatário da mensagem'); return null;
        }
    }
    if(this.dados.props.rs[0].assunto_tipo=='L'){
        if(!$('#sev2Assunto').val()){
            $('#sev2Assunto').focus();
            window.alert('Informe o assunto da mensagem'); return null;
        }
    }

    // obter campos do formulário
    var p=new Object();
    p.id=this.dados.tabela.rs[0].elemento_id;
    if(this.dados.props.rs[0].remetente_tipo=='L'){ p.rm=$('#sev2RemetenteEmail').val(); this.gdados.remetente=p.rm; }
    if(this.dados.props.rs[0].destinatario_tipo=='L'){ p.ds=$('#sev2DestinatarioEmail').val(); this.gdados.destinatario=p.ds; }
    if(this.dados.props.rs[0].assunto_tipo=='L'){ p.su=$('#sev2Assunto').val(); this.gdados.assunto=p.su; }

    if(this.dados.props.rs[0].form_especifico_tipo=='N' ||
      (this.dados.props.rs[0].form_especifico_tipo=='S' && !this.dados.tabela.rs[0].conteudo) ) {
        p.mp=$('#sev2MensagemPadrao').val();
    }

    var cs=this.dados.tabela.rs[0].conteudo.split('~');
    for(ic=0; ic<cs.length; ic++){ p['sev'+ic]=$('#sev2fe'+ic).val(); }

    // enviar
    p.acao='envio';
    $.ajax({ url: this.scriptPHP, data: p, type: "POST", dataType: 'json',
        error: function(r, s, e){console.log(e); var m='Erro AJAX: '+(s?(s+' '):'')+(e?(e+' '):'')+"\n"+r.responseText; $('#sdiemail_v2_erros').append(m); },
        success: function(dados){
            var a='#sdiemail_v2_erros', r=dados.tabela.retCode, e=dados.tabela.erros; $(a).empty();
            if(r!='ok') { var t=''; for(ie=0; ie<e.length; ie++){ t+='<li>'+e[ie]+'</li>'; } $(a).append(t); return null; }
            sdi3eMail.enviarRetorno(dados);
        }
    });

},

enviarRetorno: function(){

    $('#sev2tbody, #sev2tfoot').empty();
    this.linhaCriar('Seu e-mail: ',this.gdados.remetente);
    this.linhaCriar('Destinatário: ',this.gdados.destinatario);
    this.linhaCriar('Assunto: ',this.gdados.assunto);
    $('#sdiemail_v2_erros').html(this.dados.props.rs[0].agradecimento);
    $('#sdiemail_v2_erros').css('color', 'black');
},

// geração do formulário
formCriar: function(dados){

    // criar a tabela
    var t='<table class="sev2"><tbody id="sev2tbody"></tbody><tfoot id="sev2tfoot"></tfoot></table>';
    $('#sdiemail_v2_form').html(t);

    // criar linhas do formulário
    this.linhaRemetenteCriar(dados);
    this.linhaDestinatarioCriar(dados);
    this.linhaAssuntoCriar(dados);
    this.linhasCorpoCriar(dados);
    this.linhaAnexoCriar(dados);
    this.linhaBotoesCriar();
    this.focoAtribuir(dados);

},

focoAtribuir: function(dados){
    var props=dados.props.rs[0];
    if(props.remetente_tipo=='L'){ $('#sev2RemetenteEmail').focus(); }
    else {
        if(props.destinatario_tipo=='L'){ $('#sev2DestinatarioEmail').focus(); }
        else {
            if(props.assunto_tipo=='L'){ $('#sev2Assunto').focus(); }
            else {
                if(props.form_especifico_tipo=='N'){ $('#sev2MensagemPadrao').focus(); }
            }
        }
    }
},

linhaCriar: function(titulo, conteudo){
    var t='';
    t+='<tr>';
    t+='<td class="sev2Rotulo">'+titulo+'</td>';
    t+='<td class="sev2Campo">'+conteudo+'</td>';
    t+='</tr>';
    $('#sev2tbody').append(t);
},

linhaAssuntoCriar: function(dados){
    var props=dados.props.rs[0]; var param=dados.param.rs[0];
    if(props.assunto_tipo=='F') { var t=props.assunto; this.gdados.assunto=t; }
    else { var t='<input id="sev2Assunto" type="text" class="sev2" style="width: 350px;">'; }
    this.linhaCriar('Assunto: ',t);
},

linhaAnexoCriar: function(dados){

    var props=dados.props.rs[0]; var param=dados.param.rs[0];
    if(props.permite_anexo=='S') {

        for(ia=0; ia<this.anexos.length; ai++){
            var t='';
            t+='<input id="sev2AnexoDel'+ia+'" type="chkeckbox" checked="true">&nbsp;';
            t+=this.anexos[ia];
            t+='<br>';
            this.linhaCriar('Anexo: ',t);
        }
        var t='';

        t+='<button id="sev2btnAnexo" class="sev2">Adicionar anexo</button>';
        this.linhaCriar('Anexo: ',t);
        $('#sev2btnAnexo').click(function(){ sdi3eMail.anexosDialogo(); })

        var t='<iframe frameborder="0" src="xxx.php"></iframe>'
        $('#siteDialogos').html(t);

    }

},

linhaBotoesCriar: function(){
    var t='';
    t+='<tr><td id="sev2LinBotoes" class="sev2LinBotoes" colspan="2">';
    t+='<button id="sev2Enviar" class="sev2">Enviar</button>';
    t+='</td></tr>';
    $('#sev2tfoot').append(t);
    $('#sev2Enviar').click(function(){ sdi3eMail.enviar(); })
},

linhaDestinatarioCriar: function(dados){
    var props=dados.props.rs[0]; var param=dados.param.rs[0];
    if(props.destinatario_tipo=='F') { var t=props.destinatario_nome; this.gdados.destinatario=t; }
    else if(props.destinatario_tipo=='P') { var t=param.sdimail_destinatario_nome; this.gdados.destinatario=t; }
    else { var t='<input id="sev2DestinatarioEmail" type="text" class="sev2" style="width: 350px;">'; }
    this.linhaCriar('Destinatário: ',t);
},

linhaRemetenteCriar: function(dados){
    var props=dados.props.rs[0]; var param=dados.param.rs[0];
    if(props.remetente_tipo=='F') { var t=props.remetente_nome; this.gdados.remetente=t; }
    else if(props.remetente_tipo=='P') { var t=param.sdimail_remetente_nome; this.gdados.remetente=t; }
    else { var t='<input id="sev2RemetenteEmail" type="text" class="sev2" style="width: 350px;">'; }
    this.linhaCriar('Seu e-mail: ',t);
},

linhasCorpoCriar: function(dados){

    // formulário padrão
    var props=dados.props.rs[0]; var elem=dados.tabela.rs[0];
    if(props.form_especifico_tipo=='N' ||
      (props.form_especifico_tipo=='S' && !elem.conteudo) ) {
        var t='<textarea id="sev2MensagemPadrao" class="sev2" style="width: 350px; height:150px;"></textarea>';
        this.linhaCriar('Mensagem: ',t);
        return null;
    }

    // formulário específico
    var cs=elem.conteudo.split('~');
    for(ic=0; ic<cs.length; ic++){
        var cpo=cs[ic].split(';');
        var tit=cpo[0]; var tpo=cpo[1]; var tam=cpo[2]; var lst=cpo[3];

        if(tpo=='T'){
            if(tam=='P') { var tpx=25; } else if(tam=='G') { var tpx=350; } else { var tpx=120; }
            var t='<input id="sev2fe'+ic+'" type="text" class="sev2" style="width: '+tpx+'px;">';
        } else if(tpo=='G'){
            if(tam=='P') { var tpx=80; } else if(tam=='G') { var tpx=300; } else { var tpx=150; }
            var t='<textarea id="sev2fe'+ic+'" class="sev2" style="width: 350px; height:'+tpx+'px;"></textarea>';
        } else {
            var t='<select id="sev2fe'+ic+'" class="sev2">';
            t+='<option value="">-- selecione --</option>';

            var itm=lst.split(',');
            for(ii=0; ii<itm.length; ii++) {
                t+='<option value="'+ii+'">'+itm[ii]+'</option>';
            }
            t+='</select>';
        }
        this.linhaCriar(tit+': ',t);
    }
},

// carregar o elemento SDI 3 com o email
emailCarregar: function(id){

    var p ={ "acao": 'form', "id": id };
    $.ajax({ url: this.scriptPHP, data: p, type: "POST", dataType: 'json',
        error: function(r, s, e){console.log(e); var m='Erro AJAX: '+(s?(s+' '):'')+(e?(e+' '):'')+"\n"+r.responseText; $('#sdiemail_v2_erros').append(m); },
        success: function(dados){
            var a='#sdiemail_v2_erros', r=dados.tabela.retCode, e=dados.tabela.erros; $(a).empty();
            if(r!='ok') { var t=''; for(ie=0; ie<e.length; ie++){ t+='<li>'+e[ie]+'</li>'; } $(a).append(t); return null; }
            sdi3eMail.dados=dados;
            sdi3eMail.formCriar(dados);
        }
    });

}

};
