/** ersetzt oder ergänzt einen Parameter in einem String im Format der URL-Parameter */
function setParameterValue(paramName, parameterValue, paramString) {
	var ls = paramString;
	if (ls == null || ls.length <= 3 || ls.indexOf("?") != 0) {
		ls = "?";
	}
	if (getParameterValue(paramName, ls) == null) {
		if (ls.length > 1) {
			ls += "&";
		}
		ls += paramName + "=" + parameterValue;
	} else {
		var positionAnfang = ls.indexOf(paramName+"=") + (paramName+"=").length;
		var inhalt = ls.slice(positionAnfang);
		if (inhalt.indexOf("&") > -1) {
			inhalt = inhalt.substring(0, inhalt.indexOf("&"));
		}
		var positionEnde = positionAnfang + inhalt.length;
		var vorInhalt = ls.substring(0, positionAnfang);
		var nachInhalt = ls.substring(positionEnde, ls.length);
		ls = vorInhalt + parameterValue + nachInhalt;
	}
	return ls;
}

/** extrahiert einen Parameterwert aus einem String im Format der URL-Parameter */
function getParameterValue(paramName, paramString) {
	var ls = paramString;
	if (ls != null && ls.length > ("?"+paramName+"=").length && ls.indexOf(paramName+"=") > 0) {
		var positionAnfang = ls.indexOf(paramName+"=") + (paramName+"=").length;
		var inhalt = ls.slice(positionAnfang);
		if (inhalt.indexOf("&") > -1) {
			inhalt = inhalt.substring(0, inhalt.indexOf("&"));
		}
		return inhalt;
	} else {
		return null;
	}
}