/**
 * Konvertiert den Text in den reinen Text mit Platzhalter um
 * @return Konvertierter Text
 * @param {string} text Text der konvertiert werden soll
 * @param {array} allowedchars[optional] Erlaubte Zeichen werden nicht konvertiert
 * @param {boolean} url[optional] Anstatt dem Prozentzeichen wird ein Unterstrich verwendet, benoetigt in Ajax Abfragen
 */
function encodetext(text, allowedchars, url)
{
	if (allowedchars == null)
	{
		allowedchars = new Array();
	}
	if (url == null)
	{
		url = false
	}
	
	for (var i = 0; i < allowedchars.length; i++)
	{
		allowedchars[i] = String.charCodeAt(allowedchars[i]);
	}
	
	// Alle Sonderzeichen ersetzen
	var newtext = '';
	for (var i = 0; i < text.length; i++) 
	{
		var charcode = text.charCodeAt(i);

		var continueflag = false;
		for (var n = 0; n < allowedchars.length; n++)
		{
			if (charcode == allowedchars[n])
			{
				continueflag = true;
			}
		}
		
		if (!continueflag && ((charcode >= 48 && charcode <= 57) || (charcode >= 65 && charcode <= 90) || (charcode >= 97 && charcode <= 122))) 
		{
			newtext = newtext + text.substr(i, 1);
		}
		else 
		{
			if (url)
			{
				newtext = newtext + '_charcode[' + charcode + ']_';
			}
			else
			{
				newtext = newtext + '%charcode[' + charcode + ']%';
			}
		}
	}
	
	return newtext;
}

/**
 * Konvertiert den reinen Text in den Text mit Sonderzeichen
 * @param {string} text Text mit den Platzhaltern
 * @param {boolean} url[optional] Anstatt dem Prozentzeichen wird ein Unterstrich verwendet, benoetigt in Ajax Abfragen
 * @return Konvertierter Text
 */
function decodetext(text, url)
{
	if (url == null)
	{
		url = false
	}
	
	if (url)
	{
		var Searchstring = /_charcode\[(.*?)\]_/;
	}
	else
	{
		var Searchstring = /%charcode\[(.*?)\]%/;
	}
	
	while (found = Searchstring.exec(text))
	{
		text = text.replace(found[0], String.fromCharCode(found[1]));
	}	
	
	return text;
}
