URL Encoding. URLs can only be sent over the Internet using the ASCII character-set. Since URLs often contain characters outside the ASCII set, the URL has to be converted into a valid ASCII format. URL encoding replaces unsafe ASCII characters with a "%" followed by two hexadecimal digits.

var URLEncode = function (c) {
    var o = '';
    var x = 0;
    c = c.toString();
    var r = /(^[a-zA-Z0-9_.]*)/;
    while (x < c.length) {
        var m = r.exec(c.substr(x));
        if (m !== null && m.length > 1 && m[1] !== '') {
            o += m[1];
            x += m[1].length;
        }
        else {
            if (c[x] == ' ') {
                o += '+';
            }
            else {
                var d = c.charCodeAt(x);
                var h = d.toString(16);
                o += '%' + (h.length < 2 ? '0' : '') + h.toUpperCase();
            }
            x += 1;
        }
    }
    return o;
};