var PostingTwitter = {
    timeout_id : 0,
    ts: '',
    prontus_id: '',
    logStatus: '',
    urlPost: '/cgi-cpn/social_networks/twitter_posting.cgi',

    init: function(ts, prontus_id) {
        let fechac = ts.substr(0, 8);
        PostingTwitter.ts = ts;
        PostingTwitter.prontus_id = prontus_id;
        PostingTwitter.logStatus = "/" + prontus_id + "/cpan/procs/twitter_post/"+ PostingTwitter.ts + "/log.json";

        $('#post_twitter').bind('click', function() {
            if (PostingTwitter.validaCampos()) {
                PostingTwitter.post();
            }
        });
        // mostramos mensajes previos.
        PostingTwitter.getStatus();
    },
    
    post: function() {
        if (PostingTwitter.ts === '') {
            return false;
        }

        $.ajax({
            type: 'POST',
            url: PostingTwitter.urlPost,
            data: {
                _ts: PostingTwitter.ts,
                _prontus_id: PostingTwitter.prontus_id,
                titular: $('#titularTwitter').val(),
                usar_imagen: $('#twitter_usar_img').prop('checked')
            },
            dataType: 'json',
            success: function(response) {
                PostingTwitter.timeout_id = setTimeout(PostingTwitter.getStatus, 2000);
                $('#datosEnvioTwitter').show();
            },
            error: function(jqXHR, textStatus, errorThrown) {
                $('#datosEnvioTwitter').show();
                $('twitterResponseText').html('Ocurrió un error: ' + textStatus + "<br>" + errorThrown);
            }
        });
    },

    getStatus: function() {
        if (PostingTwitter.ts === '') {
            return;
        }
        $('#datosEnvioTwitter').show();
        $.ajax({
            type: 'GET',
            url: PostingTwitter.logStatus,
            dataType: 'json',
            success: function(response) {
                if (response.status == 0) {
                    response.msg = 'Ocurrió un error: ' + response.msg;
                }
                $('#twitterResponseText').html(response.msg);
                if (response.time) {
                    $('#twitterTimeText').html(response.time);
                }
                clearTimeout(PostingTwitter.timeout_id);
            },
            error: function(jqXHR, textStatus, errorThrown) {
                $('#twitterResponseText').html(textStatus + "<br>\n" + errorThrown);
                clearTimeout(PostingTwitter.timeout_id);
            }
        });
    },

    validaCampos: function() {
        var validator = new Validador('_mainFidForm','one','#FDF8C1');
        validator.addconstraint('titularTwitter','obligatorio','','El titular es obligatorio para publicar a Twitter.');

        if (validator.validar()) {
            return true;
        } else {
            showModalAlert({
                title: 'Error',
                type: 'red',
                msg: "Error de validación al enviar a Twitter."
            });
            return false;
        }
        return false;
    },

    // conteo de caracteres restantes.
    updateCount: function () {
        var cs = $("#titularTwitter").val().length;
        if ($("#usarImagenTwitter").prop('checked')) {
            cs += 23;
        }
        $('#totalTwitterChars').text(cs);
    }
};
