function setfocus (text){
	if(typeof(text.createTextRange) != 'undefined'){
		text.caretPos = document.selection.createRange().duplicate();
	}
}

function replace (text, textarea){
	if (textarea.createTextRange && textarea.caretPos){
		var caretPos = textarea.caretPos;

		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
		caretPos.select();
	}else if(textarea.selectionStart){
		var begin = textarea.value.substr(0, textarea.selectionStart);
		var end = textarea.value.substr(textarea.selectionEnd);
		textarea.value = begin + text + end;
		if (textarea.setSelectionRange){
			textarea.focus();
			textarea.setSelectionRange(begin.length + text.length, begin.length + text.length);
		}
	}else{
		textarea.value += text;
		textarea.focus(textarea.value.length - 1);
	}
}

function doublereplace (text1, text2, textarea){
	if(textarea.createTextRange && textarea.caretPos){
		var caretPos = textarea.caretPos;
		if(caretPos.text){
			caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text1 + caretPos.text + text2 + ' ' : text1 + caretPos.text + text2;
			caretPos.select();
		}else{
			eingabe(text1,text2,textarea);
		}
	}else if(textarea.selectionEnd){
		var begin = textarea.value.substr(0, textarea.selectionStart);
		var selection = textarea.value.substr(textarea.selectionStart, textarea.selectionEnd - textarea.selectionStart);
		var end = textarea.value.substr(textarea.selectionEnd);

		if(selection){
			textarea.value = begin + text1 + selection + text2 + end;
			if(textarea.setSelectionRange){
				var newCursorPos = begin.length + text1.length + selection.length + text2.length;
				textarea.focus();
				textarea.setSelectionRange(newCursorPos, newCursorPos);
			}
		}else{
			eingabe(text1,text2,textarea);
		}
	}else{
		eingabe(text1,text2,textarea);
	}
}

function eingabe (bbcode, bbcode2, textarea2){
	if(bbcode == "[b]" && bbcode2 == "[/b]"){
                txt=prompt("Text der Fett sein soll.","Text");
                if(txt!=null){
			AddTxt = bbcode + txt + bbcode2;
			replace(AddTxt,textarea2);
                }
	}else if(bbcode == "[i]" && bbcode2 == "[/i]"){
                txt=prompt("Text der kursiv sein soll.","Text");
                if(txt!=null){
			AddTxt = bbcode + txt + bbcode2;
			replace(AddTxt,textarea2);
                }
	}else if(bbcode == "[center]" && bbcode2 == "[/center]"){
                txt=prompt("Text, der zentriert werden soll.","Text");
                if(txt!=null){
			AddTxt = bbcode + txt + bbcode2;
			replace(AddTxt,textarea2);
                }
	}else if(bbcode == "[left]" && bbcode2 == "[/left]"){
                txt=prompt("Text, der LINKS dargestellt werden soll.","Text");
                if(txt!=null){
			AddTxt = bbcode + txt + bbcode2;
			replace(AddTxt,textarea2);
                }
	}else if(bbcode == "[right]" && bbcode2 == "[/right]"){
                txt=prompt("Text, der RECHTS dargestellt werden soll.","Text");
                if(txt!=null){
			AddTxt = bbcode + txt + bbcode2;
			replace(AddTxt,textarea2);
                }
	}else if(bbcode == "[s]" && bbcode2 == "[/s]"){
                txt=prompt("Text, der durchgestrichen werden soll.","Text");
                if(txt!=null){
			AddTxt = bbcode + txt + bbcode2;
			replace(AddTxt,textarea2);
                }
	}else if(bbcode == "[sub]" && bbcode2 == "[/sub]"){
                txt=prompt("Text, der runtergestellt werden soll.","Text");
                if(txt!=null){
			AddTxt = bbcode + txt + bbcode2;
			replace(AddTxt,textarea2);
                }
	}else if(bbcode == "[sup]" && bbcode2 == "[/sup]"){
                txt=prompt("Text, der hochgestellt werden soll.","Text");
                if(txt!=null){
			AddTxt = bbcode + txt + bbcode2;
			replace(AddTxt,textarea2);
                }
	}else if(bbcode == "[td]" && bbcode2 == "[/td]"){
		AddTxt = bbcode + bbcode2;
		replace(AddTxt,textarea2);
	}else if(bbcode == "[tr]" && bbcode2 == "[/tr]"){
		AddTxt = bbcode + bbcode2;
		replace(AddTxt,textarea2);
	}else if(bbcode == "[table]" && bbcode2 == "[/table]"){
		AddTxt = bbcode + bbcode2;
		replace(AddTxt,textarea2);
	}else if(bbcode == "[tt]" && bbcode2 == "[/tt]"){
                txt=prompt("Text, der als Schreibmachinentext dargestellt werden soll.","Text");
                if(txt!=null){
			AddTxt = bbcode + txt + bbcode2;
			replace(AddTxt,textarea2);
                }
	}else if(bbcode == "[ftp]" && bbcode2 == "[/ftp]"){
                txt=prompt("Bitte gebe den FTP-Link ein.","Text");
                if(txt!=null){
			AddTxt = bbcode + txt + bbcode2;
			replace(AddTxt,textarea2);
                }
	}else if(bbcode == "[u]" && bbcode2 == "[/u]"){
                txt=prompt("Text, der unterstrichen werden soll.","Text");
                if(txt!=null){
			AddTxt = bbcode + txt + bbcode2;
			replace(AddTxt,textarea2);
                }
	}else if(bbcode == "[email]" && bbcode2 == "[/email]"){
                txt2=prompt("Welcher Name soll anstatt der E-Mailadresse angezeigt werden?\nWird dieses Feld freigelassen, so wird die E-Mailadresse angezeigt.","");
                if (txt2!=null) {
                        txt=prompt("Bitte geben Sie die E-Mailadresse ein.","name@domain.de");
                        if (txt!=null) {
                                if (txt2=="") {
                                        AddTxt="[email]"+txt+"[/email]";

                                } else {
                                        AddTxt="[email="+txt+"]"+txt2+"[/email]";
                                }
				replace(AddTxt,textarea2);
                        }
                }
	}else if(bbcode == "[size]" && bbcode2 == "[/size]"){
                txt=prompt("Text, der unterstrichen werden soll.","Text");
                if(txt!=null){
			AddTxt = bbcode + txt + bbcode2;
			replace(AddTxt,textarea2);
                }
	}else if(bbcode == "[quote]" && bbcode2 == "[/quote]"){
                txt=prompt("Text aus einem anderen Posting, der zitiert werden soll.","Text");
                if(txt!=null){
			AddTxt = bbcode + txt + bbcode2;
			replace(AddTxt,textarea2);
                }
	}else if(bbcode == "[move]" && bbcode2 == "[/move]"){
                txt=prompt("Text, der von rechts nach links laufen soll.","Text");
                if(txt!=null){
			AddTxt = bbcode + txt + bbcode2;
			replace(AddTxt,textarea2);
                }
	}else if(bbcode == "[pre]" && bbcode2 == "[/pre]"){
                txt=prompt("Text, der unverändert dargestellt werden soll.","Text");
                if(txt!=null){
			AddTxt = bbcode + txt + bbcode2;
			replace(AddTxt,textarea2);
                }
	}else if(bbcode == "[shadow=blue,255,400]" && bbcode2 == "[/shadow]"){
                txt2=prompt("Welche farbe,dicke,breite soll Shadow haben ?","blue,255,400");
                if (txt2!=null) {
                        txt=prompt("Bitte geben Sie den Text ein, der SHADOW dargestellt werden soll.","Text");
                        if (txt!=null) {
                                if (txt2=="") {
                                        AddTxt="[SHADOW=blue,255,400]"+txt+"[/SHADOW]";
					replace(AddTxt,textarea2);
                                } else {
                                        AddTxt="[SHADOW="+txt2+"]"+txt+"[/SHADOW]";
					replace(AddTxt,textarea2);
                                }
                        }
                }
	}else if(bbcode == "[glow=red,2,400]" && bbcode2 == "[/glow]"){
                txt2=prompt("Welche farbe,dicke,breite soll Glow haben ?","red,2,400");
                if (txt2!=null) {
                        txt=prompt("Bitte geben Sie den Text ein, der GLOWED dargestellt werden soll.","Text");
                        if (txt!=null) {
                                if (txt2=="") {
                                        AddTxt="[glow=red,2,400]"+txt+"[/glow]";
					replace(AddTxt,textarea2);
                                } else {
                                        AddTxt="[glow="+txt2+"]"+txt+"[/glow]";
					replace(AddTxt,textarea2);
                                }
                        }
                }
	}else if(bbcode == "[url]" && bbcode2 == "[/url]"){
                txt2=prompt("Welchen Namen soll der Link erhalten?\nWird dieses Feld freigelassen, so wird die URL angezeigt.","");
                if (txt2!=null) {
                        txt=prompt("Bitte geben Sie die Link-URL ein.","http://");
                        if (txt!=null) {
                                if (txt2=="") {
                                        AddTxt="[url]"+txt+"[/url]";
					replace(AddTxt,textarea2);
                                } else {
                                        AddTxt="[url="+txt+"]"+txt2+"[/url]";
					replace(AddTxt,textarea2);
                                }
                        }
                }
	}else if(bbcode == "[img]" && bbcode2 == "[/img]"){
                txt=prompt("Bitte geben Sie die URL der Grafik ein.","Text");
                if(txt!=null){
			AddTxt = bbcode + txt + bbcode2;
			replace(AddTxt,textarea2);
                }
	}else if(bbcode == "[code]" && bbcode2 == "[/code]"){
                txt=prompt("Text, der als Programmcode dargestellt werden soll.","Text");
                if(txt!=null){
			AddTxt = bbcode + txt + bbcode2;
			replace(AddTxt,textarea2);
                }
	}else if(bbcode == "[flash=200,200]" && bbcode2 == "[/flash]"){
                txt2=prompt("Flash Tag\n [flash=200,200]http://...[/flash]","200,200");
                if (txt2!=null) {
                        txt=prompt("Bitte geben Sie die URL zum FlashVideo ein, der dargestellt werden soll.","http://");
                        if (txt!=null) {
				AddTxt="[flash="+txt2+"]"+txt+"[/flash]";
				replace(AddTxt,textarea2);
                        }
                }
	}else if(bbcode == "[list][*]" && bbcode2 == "[/*][/list]"){
                txt=prompt("Art der Liste\n ('A' für alphabetisch, '1' für nummeriert) Frei lassen für normale Bullets","");
                while ((txt!="") && (txt!="A") && (txt!="a") && (txt!="1") && (txt!=null)) {
                        txt=prompt("FEHLER!\nZulässige Werte sind 'A', '1' und nix eintragen","");
                }
                if (txt!=null) {
                        if (txt=="") {
                                AddTxt="[list]\r";
                        } else {
                                AddTxt="[list="+txt+"]\r";
                        }
                        txt="1";
                        while ((txt!="") && (txt!=null)) {
                                txt=prompt("Listeneintrag:\nFeld leer lassen, um die Liste zu beenden.","");
                                if (txt!="") {
                                        AddTxt+="[*]"+txt+"\r";
                                }
                        }
                        AddTxt+="[/list]";
			replace(AddTxt,textarea2);
                }
	}else if(bbcode == "[sound]" && bbcode2 == "[/sound]"){
                txt=prompt("URL, der als Sound ausgegeben werden soll.\n(z.B.: WAV, MP3 oder OGG)","Text");
                if(txt!=null){
			AddTxt = bbcode + txt + bbcode2;
			replace(AddTxt,textarea2);
                }
	}else if(bbcode2 == "[/size]"){
                txt=prompt("Text der in der ausgewählten Größe dargestellt werden soll:","Text");
                if (txt!=null) {
                        AddTxt= bbcode + txt + bbcode2;
			replace(AddTxt,textarea2);
                }
	}else if(bbcode2 == "[/font]"){
                txt=prompt("Text der in der ausgewählten Schriftart dargestellt werden soll:","Text");
                if (txt!=null) {
                        AddTxt= bbcode + txt + bbcode2;
			replace(AddTxt,textarea2);
                }
	}else if(bbcode2 == "[/color]"){
                txt=prompt("Text der farbig sein soll:","Text");
                if (txt!=null) {
                        AddTxt= bbcode + txt + bbcode2;
			replace(AddTxt,textarea2);
                }
	}else{
		textarea2.value += bbcode + bbcodde2;
		textarea2.focus(textarea2.value.length - 1);
	}
}
