function QueryString()
{
this.getQueryStringParameter = function(inString, inParameterName)
	{
        var theProperties;
		var i;
		var theEqualsOffset;
        var theQSPTokenOffset;
        var theQueryStirng;
        var theParameterName;

        if (inString === undefined || inString === null || inString == "")
			return (null);

        theQSPTokenOffset = inString.indexOf("?");
        if (theQSPTokenOffset > 0)
			theQueryStirng = inString.substr(theQSPTokenOffset + 1);
        else
            theQueryStirng = inString;

        theProperties = theQueryStirng.split("&");
		for (i = 0; i < theProperties.length; i++)
		{
			if (theProperties[i] == "")
				continue;
			theEqualsOffset = theQueryStirng.indexOf("=");
			if (theEqualsOffset > 0)
			{
				theParameterName = decodeURIComponent(theProperties[i].substr(0,theEqualsOffset));
                if (theParameterName == inParameterName)
                {
                    var theDecodedValue = decodeURIComponent(theProperties[i].substr(theEqualsOffset + 1));
                    // return theDecodedValue;
                    //HACK: this must be fixed:
                     return theDecodedValue.replace(/\+/g,' ');
                }
                }
		}
		return (null)
	};

}