//////////////////////////////////////////////////////////////////////////////////
//
// $Id: querystring.js 358 2006-09-22 13:32:34Z paulegan $
//
// HTTP URL query string parser.
//
// paulegan@mail.com	2002-11-12
//


// RegExp to match query string name/value pairs:
var reString = "[?&]([^=]+)=([^&]+)";



// QueryString constructor: will use document.location if no URI string
// is specified.
//
function QueryString(str)
{
	if (!str) {
		str = document.location.toString();
	}

	this.values = [];

	var elements = str.match(new RegExp(reString,"g"));
	if (elements) {
		for (var e=0; e<elements.length; e++) {
			var pairs = elements[e].match(new RegExp(reString));
			if (pairs[1]) {
				this.values[decodeURIComponent(pairs[1])] = decodeURIComponent(pairs[2]);
			}
		}
	}

	return (this);
}


// QueryString.value(): returns the value of the named parameter
//
QueryString.prototype.value = function(name)
{
	return (this.values[name]);
}


// QueryString.names(): returns a list of parameter names.
//
QueryString.prototype.names = function()
{
	var names = [];
	for (var n in this.values) {
		names.push(n);
	}
	return (names);
}

