jQuery.extend({
    base32Url:
    {
        encode: function(data)
        {

            var n = new Nibbler({
                dataBits: 8,
                codeBits: 5,
                keyString: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'
            })
            return n.encode(jQuery.utf8.encode(data));
        },

        decode: function(data)
        {
            var n = new Nibbler({
                dataBits: 8,
                codeBits: 5,
                keyString: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567',
                pad: '1'
            })
            return jQuery.utf8.decode(n.decode(data));
        }

    }

});

jQuery.extend({
    base32:
    {
        encode: function(data)
        {

            var n = new Nibbler({
                dataBits: 8,
                codeBits: 5,
                keyString: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567',
                pad: '='
            })
            return n.encode(jQuery.utf8.encode(data));
        },

        decode: function(data)
        {
            var n = new Nibbler({
                dataBits: 8,
                codeBits: 5,
                keyString: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567',
                pad: '='
            })
            return jQuery.utf8.decode(n.decode(data));
        }

    }

});
