Another simple, minimal Javascript snippet - how to read URL parameters.

var PARAMETERS = {};
PARAMETERS.load = function() {
    PARAMETERS.map = {};
    window.location.search.substring(1).replace(/([^&=]+)([=]([^&]*))?(&|$)/g,function(s,k,q,v){
        if (undefined === PARAMETERS.map[k]) {
            PARAMETERS.map[k] = [];
        }
        PARAMETERS.map[k].push(decodeURIComponent(v));
    });
    for (var k in PARAMETERS.map) {
        var a = PARAMETERS.map[k];
        PARAMETERS.map[k] = ((1 == a.length) ? a[0] : a);
    }
};
PARAMETERS.load();

That’s all. Value for the parameter “who” is found at PARAMETERS.map.who already decoded. Repeated parameters are turned into an array, i.e.: “?a=1&a=2&a=3” becomes [1,2,3].

Try it out on the test page. Code can be found in base.js.