var EventosDropbox = {
    init: function() {
        $('.add_dropbox').click(function () {
            Cfgedit.agregarDropboxCustomdir();
            return false;
        });
        $('.mostrar_secret').click(function () {
            var span = $(this).children('span');
            var input = $(this).siblings('input');

            if ($(span).hasClass('glyphicon-eye-open')) {
                $(span).removeClass('glyphicon-eye-open').addClass('glyphicon-eye-close');
                $(input).prop('type', 'text');
            } else {
                $(span).removeClass('glyphicon-eye-close').addClass('glyphicon-eye-open');
                $(input).prop('type', 'password');
            }

            return false;
        });

        $('#obtener_dropbox_authorization_code').click(function(e) {
            EventosDropbox.obtener_authorization_code(this);
            return false;
        });

        $('#obtener_dropbox_refresh_token').click(function(e) {
            EventosDropbox.obtener_refresh_token(this);
            return false;
        });

    },
    obtener_authorization_code: function(element) {
        $.get($(element).data('url'), function(data) {
            showModalAlert({
                title: 'Autorizar la aplicación Dropbox',
                type: 'blue',
                msg: data
            });
        });
    },
    // intenta obtener el refresh_token para la app dropbox
    obtener_refresh_token: function(element) {
        var url = $(element).data('url');
        var auth_code = $('#DROPBOX_AUTHORIZATION_CODE').val();
        $.getJSON(url, {auth_code: auth_code}, function(data) {
            if (data.status == 0) {
                showModalAlert({
                    title: 'Error',
                    type: 'red',
                    msg: data.msg || "No fue posible obtener el token solicitado."
                });
            } else {
                var results = data.msg.match(/refresh_token:(.+)$/);
                var refresh_token = '';
                if (results) {
                    refresh_token = results[1];
                } else {
                    showModalAlert({
                        title: 'Error',
                        type: 'red',
                        msg: "No fue posible obtener el token solicitado."
                    });
                }
                showModalAlert({
                    title: 'Éxito',
                    type: 'green',
                    msg: "Refresh Token obtenido correctamente."
                });
                $('#DROPBOX_REFRESH_TOKEN').val(refresh_token);
            }
        });
        return false;
    }
};

$(document).ready(function () {
    EventosDropbox.init();
});
