function appoencode(data, talkline, myname) {
	var Fundstelle = -1;
	var tag = '';
	var append = '';
	var output = '<br /><span class="colDkWhite"><b>Vorschau: </b></span>';
	var openspan = false;	
	var check = '';
	var mesearch = 0;
	
	// Emote-Check
	check = data.substr(0,3);
	if(check == '/me') {
		data = data.replace('/me','`&'+myname+' `&');
		mesearch = 1;
	}
		
	check = data.substr(0,2);
	if(check == '/x') {
		data = data.replace('/x','`&');
		mesearch = 1 ;
	}
	else if(check == '/X') {
		data = data.replace('/X','`&');
		mesearch = 1 ;
	}
	else if(check == '::') {
		data = data.replace('::','`&'+myname+' `&');
		mesearch = 1 ;
	}
	
	check = data.substr(0,1);
	if(check == ':') {
		data = data.replace(':','`&'+myname+' `&');
		mesearch = 1;
	}
	
	// Der Rest
	if(mesearch == 0 && data.length != 0) {
		data = '`&'+myname+' `3'+talkline+': `3\"`#'+data+'`3\"';
	}
	
	while ((Fundstelle = data.search(/`/)) != -1) {
		tag = data.substr(Fundstelle+1, 1);
		append = data.substr(0,Fundstelle);
		append = append.replace(/</,'&lt;');
		append = append.replace(/>/,'&gt;');
		output = output+ append;
		if (data.length >= Fundstelle+2) data = data.substring(Fundstelle+2,data.length);
		else data = '';
		
		switch (tag) {
			case "0":
				if (openspan) output= output+"</span>";
				openspan = false;
				break;
			case "1":
				if (openspan) output= output+"</span>"; else openspan = true;
				output= output+"<span class='colDkBlue'>";
				break;
			case "2":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colDkGreen'>";
				break;
			case "3":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colDkCyan'>";
				break;
			case "4":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colDkRed'>";
				break;
			case "5":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colDkMagenta'>";
				break;
			case "6":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colDkYellow'>";
				break;
			case "7":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colDkWhite'>";
				break;
			case "8":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colLime'>";
				break;
			case "9":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colBlue'>";
				break;
			case "!":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colLtBlue'>";
				break;
			case "@":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colLtGreen'>";
				break;
			case "#":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colLtCyan'>";
				break;
			case "$":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colLtRed'>";
				break;
			case "%":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colLtMagenta'>";
				break;
			case "^":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colLtYellow'>";
				break;
			case "&":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colLtWhite'>";
				break;
			case "~":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colBlack'>";
				break;
			case "Q":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colDkOrange'>";
				break;
			case "q":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colOrange'>";
				break;
			case "r":
			    	if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colRose'>";
				break;
			case "V":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colBlueViolet'>";
				break;
			case "v":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='coliceviolet'>";
				break;
			case "g":
			   	if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colXLtGreen'>";
				break;
			case "T":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colDkBrown'>";
				break;
			case "t":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colLtBrown'>";
				break;
			case "K":
				if (openspan) output= output+"</span>"; else openspan=true;
			    	output= output+"<span class='colXDkCyan'>";
				break;
			case "f":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colGreen'>";
				break;
			case "F":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colXDkGreen'>";
				break;
			case "G":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colXGreen'>";
				break;
			case "k":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colXLtCyan'>";
				break;
			case "l":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colCyanBlue'>";
				break;
			case "L":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colXLtBlue'>";
				break;
			case "R":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colViolet'>";
				break;
			case "m":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colLtRdViolet'>";
				break;
			case "M":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colRdViolet'>";
				break;
			case "p":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colDkViolet'>";
				break;
			case "P":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colXDkRed'>";
				break;
			case "j":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colXDkOrange'>";
				break;
			case "J":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colLtOrange'>";
				break;
			case "s":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colXLtYellow'>";
				break;
			case "S":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colBrown'>";
				break;
			case "d":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colRust'>";
				break;
			case "D":
				if (openspan) output= output+"</span>"; else openspan=true;
				output= output+"<span class='colGray'>";
				break;
			case "`":
				output= output+"`";
				break;
			default:
				output= output+"`"+tag;
		}
	}
	output += data;
	if (openspan) output += '</span>';
	return output;
}
