var PostingYoutube = {
    timeout_id : 0,
    ts: '',
    prontus_id: '',
    urlStatus: '/prontus/cpan/youtube_post/get_status.php',

    // -----------------------------------------------
    init: function(ts, prontus_id) {
        PostingYoutube.ts = ts;
        PostingYoutube.prontus_id = prontus_id;

        $('#CHK_publicaYoutube').bind('change', function() {
            if($(this).filter(':checked').is(':checked')) {
                if ($('#id_value_youtube').val() != '') {
                    showModalAlert({
                        title: 'Este artículo ya fue publicado en YouTube.',
                        type: 'yellow',
                        msg: "Este artículo ya había sido publicado a YouTube. ¿Estás seguro de volver a publicar?"
                    });
                }
            } else {
                // pass.
            }
        });

        PostingYoutube.getStatus();
    },

    // -----------------------------------------------
    getStatus: function() {
        if(PostingYoutube.ts === '') {
            return;
        }
        $.ajax({
            type: 'GET',
            url: PostingYoutube.urlStatus,
            data: {
                _ts: PostingYoutube.ts,
                _prontus_id: PostingYoutube.prontus_id
            },
            dataType: 'json',
            success: function(json) {
                var video_state = json.video_state;

                if (video_state) {
                    $('.datos-youtube').show();
                    if (video_state == 'pending') {
                        $('#youtube_upload_status').html(PostingYoutube.cambiaComillas('Pendiente'));
                    } else if (video_state != 'no upload') {
                        $('#youtube_upload_status').html(PostingYoutube.cambiaComillas(video_state));
                    }
                }

                var video_id = json.video_id;
                if (!video_id && video_state != 'pending') {
                    // console.log('[youtube] El archivo xml de estado no existe u ocurrió un error.');
                    $('#CHK_publicaYoutube').removeAttr('checked');
                    return;
                }

                if (video_state == 'pending') {
                    $('#datosYoutube, #checkaYoutube').hide();
                }

                if (video_id.length > 0) {
                    $('.datos-youtube').show();
                    $('#CHK_publicaYoutube').removeAttr('checked');

                    if (video_state == 'ready') {
                        $('#id_value_youtube_label').html('<a href="'+PostingYoutube.cambiaComillas(video_id)+'" target="_blank">'+PostingYoutube.cambiaComillas(video_id)+'</a>');
                        $('#id_value_youtube').val(PostingYoutube.cambiaComillas(video_id));
                        $('#youtube_upload_status').html('Proceso Terminado');
                        clearTimeout(PostingYoutube.timeout_id);
                        return;
                    } else if (video_state == 'uploading') {
                        video_state = 'Cargando el video a YouTube.'; // embellecemos el texto mostrado.
                        $('#datosYoutube, #checkaYoutube').hide();
                        $('#id_value_youtube_label').html(PostingYoutube.cambiaComillas(video_id));
                    }

                    $('#youtube_upload_status').html(PostingYoutube.cambiaComillas(video_state));
                }

                PostingYoutube.timeout_id = setTimeout(PostingYoutube.getStatus, 5000);
            },
            error: function(jqXHR, textStatus, errorThrown) {
                clearTimeout(PostingYoutube.timeout_id);
            }
        });
    },

    // -----------------------------------------------
    cambiaComillas: function(texto) {
        texto = texto.replace(/"/ig,      "&ldquo;");
        texto = texto.replace(/&quot;/ig, "&ldquo;");
        texto = texto.replace(/'/ig,      "\xB4");
        texto = texto.replace(/&#39;/ig,  "\xB4");
        return texto;
    },

    // -----------------------------------------------
    validaCampos: function(idDiv) {
        var validator = new Validador('_mainFidForm','one','#FDF8C1');

        if($('#CHK_publicaYoutube').is(':checked')) {
            validator.addconstraint('youtube_titular','obligatorio','','El titular es obligatorio para compartir video a YouTube');
            validator.addconstraint('youtube_bajada','obligatorio','','La descripción es obligatoria para compartir video a YouTube.');
            validator.addconstraint('youtube_tags','obligatorio','','Debes indicar, por lo menos, un tag para el video.');
            validator.addconstraint('cmb_youtube_categoria','obligatorio','','Debes seleccionar una categoría.');
        }
        if (validator.validar()) {
            return true;
        } else {
            showModalAlert({
                title: 'Error',
                type: 'red',
                msg: "Error de validación al enviar a YouTube."
            });
            return false;
        }
        return false;
    },

    // -----------------------------------------------
    copiaDatos: function(id_from, id_cpy) {
        $('#'+id_cpy).val( $('#'+id_from).val() );
    }
};
