
 var teCache = '';

 function teCut()
 {
	var input = document.editor.text;

	if( document.selection )
	{
		var Selection = document.selection.createRange().text;

		if( Selection.length > 0)
		{
			document.selection.createRange().text = '';
		} else
		  {
			input.focus();

			var range   = document.selection.createRange();
			var subText = range.text;
			range.text  = '';

			if( Selection.length == 0 )
			{
				range.move('character', 0);
			} else
			  {
				range.moveStart('character', 0);
			  }

			range.select();
		  }
	} else
	  {
		if( window.getSelection )
		{
			var selLength = input.textLength;
			var selStart  = input.selectionStart;
			var selEnd    = input.selectionEnd;

			if(selEnd == 1 || selEnd == 2 )
			{
				selEnd = selLength;
			}

			var string1   = (input.value).substring(0,selStart);
			var string2   = (input.value).substring(selStart, selEnd)
			var string3   = (input.value).substring(selEnd, selLength);
			var Selection = string2;
			input.value   = string1 + '' + string3;
		}
	  }

	teCache = Selection;
	document.editor.text.focus();
 }


 function tePaste()
 {
	var input = document.editor.text;

	if( teCache != '' )
	{
		if( document.selection )
		{
			var Selection = document.selection.createRange().text;

			if( Selection.length > 0)
			{
				document.selection.createRange().text = teCache;
			} else
			  {
				input.focus();

				var range   = document.selection.createRange();
				var subText = range.text;
				range.text  = teCache;

				if( teCache.length == 0 )
				{
					range.move('character', 0);
				} else
				  {
					range.moveStart('character', 0);
				  }

				range.select();
			  }
		} else
		  {
			if( window.getSelection )
			{
				var selLength = input.textLength;
				var selStart  = input.selectionStart;
				var selEnd    = input.selectionEnd;

				if(selEnd == 1 || selEnd == 2 )
				{
					selEnd = selLength;
				}

				var string1   = (input.value).substring(0,selStart);
				var string2   = (input.value).substring(selStart, selEnd)
				var string3   = (input.value).substring(selEnd, selLength);
				var Selection = string2;
				input.value   = string1 + teCache + string3;
			} else
			  {
				input.value = input.value + teCache;
			  }
		  }
	}

	document.editor.text.focus();
 }


 function teCopy()
 {
	var input = document.editor.text;

	if( document.selection )
	{
		var Selection = document.selection.createRange().text;
	} else
	  {
		if( window.getSelection )
		{
			var selLength = input.textLength;
			var selStart  = input.selectionStart;
			var selEnd    = input.selectionEnd;

			if(selEnd == 1 || selEnd == 2 )
			{
				selEnd = selLength;
			}

			var string1   = (input.value).substring(0,selStart);
			var string2   = (input.value).substring(selStart, selEnd)
			var string3   = (input.value).substring(selEnd, selLength);
			var Selection = string2;
		}
	  }

	teCache = Selection;
	document.editor.text.focus();
 }


 function editorBar(name)
 {
	var changeName = "editor_" + name;
	var changeObject = document.getElementById(changeName);

	changeObject.style.borderColor = "#ffffff #808080 #808080 #ffffff";
 }

 function editorBarOut(name)
 {
	var changeName = "editor_" + name;
	var changeObject = document.getElementById(changeName);

	changeObject.style.borderColor = "#ECE9D8 #ECE9D8 #ECE9D8 #ECE9D8";
 }


 function mehrSmilies()
 {
	params2 = ('width=550,height=500,left=0,top=0,scrollbars=1,resizable=1');
	F2      = open('../../includes/mehrsmilies.php', 'ExtraSmilies', params2);
 }


 function hinweis(theText)
 {
	document.editor.formHinweis.value = theText;
 }


 function storeCaret(textEl)
 {
	if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
 }


 function addcode(hrc)
 {
	if ( document.editor.text.createTextRange && document.editor.text.caretPos )
	{
		var caretPos  = document.editor.text.caretPos;
		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? hrc + ' ' : hrc;
	} else
	  {
		document.editor.text.value += hrc;
	  }

	document.editor.text.focus();
 }


 function promtCodeSingle(start, end)
 {
	var input = document.editor.text;

	var showedText;
	switch(start)
	{
		case "[b]":
		showedText = "Geben Sie bitte den Text ein, der fett dargestellt werden soll.";
			break;
		case "[u]":
		showedText = "Geben Sie bitte den Text ein, der unterstrichen dargestellt werden soll.";
			break;
		case "[i]":
		showedText = "Geben Sie bitte den Text ein, der kursiv dargestellt werden soll.";
			break;
		case "[center]":
		showedText = "Geben Sie bitte den Text ein, der zentriert dargestellt werden soll.";
			break;
		case "[img]":
		showedText = "Geben Sie bitte die url des Bildes ein";
			break;
		default:
		showedText = "Geben Sie bitte den Text ein.";
	}

	if( document.selection )
	{
		var Selection = document.selection.createRange().text;

		if( Selection.length > 0)
		{
			var newText = prompt(showedText, Selection);
			if( newText != null && newText != "" )
			{
				document.selection.createRange().text = start + Selection + end;
			}
		} else
		  {
			input.focus();

			var range   = document.selection.createRange();
			var subText = range.text;

			var newText = prompt(showedText, subText);

			if( newText != null && newText != "" )
			{
				range.text  = start + newText + end;

				if( newText.length == 0 )
				{
					range.move('character', -end.length);
				} else
				  {
					range.moveStart('character', start.length + newText.length + end.length);
				  }
			}

			range.select();
		  }
	} else
	  {
		if( window.getSelection )
		{
			var selLength = input.textLength;
			var selStart  = input.selectionStart;
			var selEnd    = input.selectionEnd;

			if(selEnd == 1 || selEnd == 2 )
			{
				selEnd = selLength;
			}

			var string1   = (input.value).substring(0,selStart);
			var string2   = (input.value).substring(selStart, selEnd)
			var string3   = (input.value).substring(selEnd, selLength);

			var Selection = string2;

			var newText = prompt(showedText, Selection);
			if( newText != null && newText != "" )
			{
				input.value   = string1 + start + newText + end + string3;
			}
		} else
		  {
			input.value = input.value + start + end;
		  }
	  }
 }


 function promtCodeMulti(start, end)
 {
	var input = document.editor.text;

	var showedText;
	switch(start)
	{
		case "[link]":
		showedText1 = "Geben Sie bitte einen Linknamen ein (optional).";
		showedText2 = "Geben Sie bitte die url des Links ein.";
		preText     = "http://";
			break;
		case "[mail]":
		showedText1 = "Geben Sie bitte einen Linknamen ein (optional).";
		showedText2 = "Geben Sie bitte die Emailadresse ein.";
		preText     = "";
			break;
		default:
		showedText1 = "Geben Sie bitte den Namen ein.";
		showedText2 = "Geben Sie bitte die url ein.";
		preText     = "";
	}

	if( document.selection )
	{
		var Selection = document.selection.createRange().text;

		if( Selection.length > 0)
		{
			var newText = prompt(showedText1, Selection);
			var newLink = prompt(showedText2, preText);
			if( newLink != null && newLink != "" && newLink != "http://" )
			{
				if( newText == "" )
				{
					newText = newLink;
				}

				if( start == "[link]" )
				{
					document.selection.createRange().text = '[link=' + newLink + ']' + newText + end;
				} else
				  {
					document.selection.createRange().text = '[mail=' + newLink + ']' + newText + end;
				  }
			}
		} else
		  {
			input.focus();

			var range   = document.selection.createRange();
			var subText = range.text;

			var newText = prompt(showedText1, subText);
			var newLink = prompt(showedText2, preText);
			if( newLink != null && newLink != "" && newLink != "http://" )
			{
				if( newText == "" )
				{
					newText = newLink;
				}

				if( start == "[link]" )
				{
					range.text = '[link=' + newLink + ']' + newText + end;

					if( newText.length == 0 )
					{
						range.move('character', -end.length);
					} else
					  {
						range.moveStart('character', start.length + newText.length + end.length);
					  }
				} else
				  {

					range.text = '[mail=' + newLink + ']' + newText + end;

					if( newText.length == 0 )
					{
						range.move('character', -end.length);
					} else
					  {
						range.moveStart('character', start.length + newText.length + end.length);
					  }
				  }
			}

			range.select();
		  }
	} else
	  {
		if( window.getSelection )
		{
			var selLength = input.textLength;
			var selStart  = input.selectionStart;
			var selEnd    = input.selectionEnd;

			if(selEnd == 1 || selEnd == 2 )
			{
				selEnd = selLength;
			}

			var string1   = (input.value).substring(0,selStart);
			var string2   = (input.value).substring(selStart, selEnd)
			var string3   = (input.value).substring(selEnd, selLength);

			var Selection = string2;

			var newText = prompt(showedText1, Selection);
			var newLink = prompt(showedText2, preText);
			if( newLink != null && newLink != "" && newLink != "http://" )
			{
				if( newText == "" )
				{
					newText = newLink;
				}

				if( start == "[link]" )
				{
					input.value = string1 + '[link=' + newLink + ']' + newText + end + string3;
				} else
				  {
					input.value = string1 + '[mail=' + newLink + ']' + newText + end + string3;
				  }
			}
		} else
		  {
			if( start == "[link]" )
			{
				input.value = input.value + '[link=]' + end;
			} else
			  {
				input.value = input.value + '[mail=]' + end;
			  }
		  }
	  }
 }


 function promtCodeFont(start, end)
 {
	var input = document.editor.text;

	var showedText;
	switch(start)
	{
		case "[size]":
		showedText1 = "Geben Sie den Text ein.";
		showedText2 = "Geben Sie bitte die Schriftgröße ein (0-7).";
		preText     = "";
			break;
		case "[color]":
		showedText1 = "Geben Sie den Text ein.";
		showedText2 = "Geben Sie bitte die Schriftfarbe ein (z.B. red, blue, green, yellow).";
		preText     = "";
			break;
		default:
		showedText1 = "Geben Sie den Text ein.";
		showedText2 = "Geben Sie bitte die Schriftgröße ein (0-7).";
		preText     = "";
	}

	if( document.selection )
	{
		var Selection = document.selection.createRange().text;

		if( Selection.length > 0)
		{
			var newText = prompt(showedText1, Selection);
			var newLink = prompt(showedText2, preText);
			if( newLink != null && newLink != "" && newLink != "http://" )
			{
				if( newText == "" )
				{
					newText = newLink;
				}

				if( start == "[size]" )
				{
					document.selection.createRange().text = '[size=' + newLink + ']' + newText + end;
				} else
				  {
					document.selection.createRange().text = '[color=' + newLink + ']' + newText + end;
				  }
			}
		} else
		  {
			input.focus();

			var range   = document.selection.createRange();
			var subText = range.text;

			var newText = prompt(showedText1, subText);
			var newLink = prompt(showedText2, preText);
			if( newLink != null && newLink != "" && newLink != "http://" )
			{
				if( newText == "" )
				{
					newText = newLink;
				}

				if( start == "[size]" )
				{
					range.text = '[size=' + newLink + ']' + newText + end;

					if( newText.length == 0 )
					{
						range.move('character', -end.length);
					} else
					  {
						range.moveStart('character', start.length + newText.length + end.length);
					  }
				} else
				  {

					range.text = '[color=' + newLink + ']' + newText + end;

					if( newText.length == 0 )
					{
						range.move('character', -end.length);
					} else
					  {
						range.moveStart('character', start.length + newText.length + end.length);
					  }
				  }
			}

			range.select();
		  }
	} else
	  {
		if( window.getSelection )
		{
			var selLength = input.textLength;
			var selStart  = input.selectionStart;
			var selEnd    = input.selectionEnd;

			if(selEnd == 1 || selEnd == 2 )
			{
				selEnd = selLength;
			}

			var string1   = (input.value).substring(0,selStart);
			var string2   = (input.value).substring(selStart, selEnd)
			var string3   = (input.value).substring(selEnd, selLength);

			var Selection = string2;

			var newText = prompt(showedText1, Selection);
			var newLink = prompt(showedText2, preText);
			if( newLink != null && newLink != "" && newLink != "http://" )
			{
				if( newText == "" )
				{
					newText = newLink;
				}

				if( start == "[size]" )
				{
					input.value = string1 + '[size=' + newLink + ']' + newText + end + string3;
				} else
				  {
					input.value = string1 + '[color=' + newLink + ']' + newText + end + string3;
				  }
			}
		} else
		  {
			if( start == "[link]" )
			{
				input.value = input.value + '[size=]' + end;
			} else
			  {
				input.value = input.value + '[color=]' + end;
			  }
		  }
	  }
 }


 function promtExtraCode(extraCode)
 {
	if( extraCode == '' )
	{
		return;
	}

	var input = document.editor.text;

	var parts = extraCode.split(",");

	var start = parts[0];
	var end   = parts[1];

	var showedText = "Gib bitte den Text ein.";

	if( document.selection )
	{
		var Selection = document.selection.createRange().text;

		if( Selection.length > 0)
		{
			var newText = prompt(showedText, Selection);
			if( newText != null && newText != "" )
			{
				document.selection.createRange().text = start + Selection + end;
			}
		} else
		  {
			input.focus();

			var range   = document.selection.createRange();
			var subText = range.text;

			var newText = prompt(showedText, subText);

			if( newText != null && newText != "" )
			{
				range.text  = start + newText + end;

				if( newText.length == 0 )
				{
					range.move('character', -end.length);
				} else
				  {
					range.moveStart('character', start.length + newText.length + end.length);
				  }
			}

			range.select();
		  }
	} else
	  {
		if( window.getSelection )
		{
			var selLength = input.textLength;
			var selStart  = input.selectionStart;
			var selEnd    = input.selectionEnd;

			if(selEnd == 1 || selEnd == 2 )
			{
				selEnd = selLength;
			}

			var string1   = (input.value).substring(0,selStart);
			var string2   = (input.value).substring(selStart, selEnd)
			var string3   = (input.value).substring(selEnd, selLength);

			var Selection = string2;

			var newText = prompt(showedText, Selection);
			if( newText != null && newText != "" )
			{
				input.value   = string1 + start + newText + end + string3;
			}
		} else
		  {
			input.value = input.value + start + end;
		  }
	  }
 }


