/* +url parser */
function parseQueryString(queryString){
	var result = {};
	if (queryString == undefined) queryString = location.search ? location.search : '';
	if (queryString.charAt(0) == '?') queryString = queryString.substring(1);
	queryString = queryString.split('#')[0];
	queryString = queryString.replace('+', ' ');
	var queryComponents = queryString.split(/[&;]/g);
	for (var i = 0; i < queryComponents.length; i++){
		var keyValuePair = queryComponents[i].split('=');
		var key = decodeURIComponent(keyValuePair[0]);
		var value = decodeURIComponent(keyValuePair[1]);
		if (!result[key]) result[key] = [];
		result[key].push((keyValuePair.length == 1) ? '' : value);
	}
	return result;
}
/* end url parser */

