
/**
 * Constructor for creating an object that has the query string
 * parameters as instance fields.
 *
 * This constructor will not work with NN3, IE3 or earlier.
 *
 * For example the following will set foo equal to "bar", foz equal to ""
 * and fop equal to "default fop".
 *
 * assert(document.URL == "http://example.com/index.html?foz=&foo=bar");
 * var PARAMETERS = new Parameters(document.URL);
 * var foo = "foo" in PARAMETERS ? PARAMETERS.foo : "default foo";
 * var foz = "foz" in PARAMETERS ? PARAMETERS.foz : "default foz";
 * var fop = "foy" in PARAMETERS ? PARAMETERS.fop : "default fop";
 */
function Parameters(URL) {

    var indexOf = URL.indexOf("?");

    if (indexOf != -1) {

        var parameters = URL.substring(indexOf + 1).split("&");

        var i, n, parameter;

        for (i = 0, n = parameters.length; i < n; i++) {
            parameter = parameters[i].split("=");
            if (parameter.length > 1) {
                this[parameter[0]] = parameter[1];
            }
        }
    }
}
