function removeParameter(queryString, parameterName)
{
	// Add "=" to the parameter name (i.e. parameterName=value)
	var parameterName = '&' + parameterName + "=";

	if (queryString.length > 0)
	{
		// Find the beginning of the string
		begin = queryString.indexOf(parameterName);

		// If the parameter name is not found, skip it, otherwise return the value
		if (begin != -1)
		{
			// Add the length (integer) to the beginning
			begin += parameterName.length;

			// Multiple parameters are separated by the "&" sign
			end = queryString.indexOf ("&" , begin);

			if (end == -1)
			{
				end = queryString.length
			}

			// Return the string
			queryStringEnd = queryString.substring(end, queryString.length);
			queryStringStart = queryString.substring(0, queryString.indexOf(parameterName));

			return unescape(queryStringStart + queryStringEnd);
		}

		// Return "null" if no parameter has been found
		return queryString;
	}
}

function getParameter(queryString, parameterName)
{
	// Add "=" to the parameter name (i.e. parameterName=value)
	var parameterName = parameterName + "=";

	if (queryString.length > 0)
	{
		// Find the beginning of the string
		begin = queryString.indexOf ( parameterName );

		// If the parameter name is not found, skip it, otherwise return the value
		if (begin != -1)
		{
			// Add the length (integer) to the beginning
			begin += parameterName.length;

			// Multiple parameters are separated by the "&" sign
			end = queryString.indexOf ("&" , begin);

			if (end == -1)
			{
				end = queryString.length
			}

			// Return the string
			return unescape (queryString.substring(begin, end));
		}

		// Return "null" if no parameter has been found
		return "null";
	}
}

/**
*
*  UTF-8 data encode / decode
*  http://www.webtoolkit.info/
*
**/

var Utf8 = {

    // public method for url encoding
    encode : function (string) {
        string = string.replace(/\r\n/g,"\n");
        var utftext = "";

        for (var n = 0; n < string.length; n++) {

            var c = string.charCodeAt(n);

            if (c < 128) {
                utftext += String.fromCharCode(c);
            }
            else if((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128);
            }
            else {
                utftext += String.fromCharCode((c >> 12) | 224);
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                utftext += String.fromCharCode((c & 63) | 128);
            }

        }

        return utftext;
    },

    // public method for url decoding
    decode : function (utftext) {
        var string = "";
        var i = 0;
        var c = c1 = c2 = 0;

        while ( i < utftext.length ) {

            c = utftext.charCodeAt(i);

            if (c < 128) {
                string += String.fromCharCode(c);
                i++;
            }
            else if((c > 191) && (c < 224)) {
                c2 = utftext.charCodeAt(i+1);
                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
                i += 2;
            }
            else {
                c2 = utftext.charCodeAt(i+1);
                c3 = utftext.charCodeAt(i+2);
                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                i += 3;
            }

        }

        return string;
    }

}
