jQuery.query = function(s) {
	var r = {};
	if (s) {
		var q = s.substring(s.indexOf('?') + 1); // remove everything up to the ?
		q = q.replace(/\&$/, ''); // remove the trailing &
		jQuery.each(q.split('&'), function() {
			var splitted = this.split('=');
			var key = splitted[0];
			var val = splitted[1];
			// convert numbers
			if (/^[0-9.]+$/.test(val)) val = parseFloat(val);
			// convert booleans
			if (val == 'true') val = true;
			if (val == 'false') val = false;
			// ignore empty values
			if (typeof val == 'number' || typeof val == 'boolean' || val.length > 0) r[key] = val;
		});
	}
	return r;
};
