var EditorID = "EditorFenster";
var Ausgabe = "ausgabe";
var Vorschau = "vorschau";

function doEditor ( id, value )
{
	EditorID = "EditorFenster" + id;
	Ausgabe = "ausgabe" + id;
	Vorschau = "vorschau" + id;
	//----------------------------------
	value = reUmbruch( value );
	var Ret = "";
	Ret += "<input type=\"hidden\" id=\"" + Ausgabe + "\" name=\"" + id + "\">\r\n";

	Ret += "<textarea class=\"editor\" id=\"" + EditorID + "\" cols=\"150\" rows=\"20\" style=\"height:200px; overflow:visible;\" onkeyup=\"vorschau()\">";
	Ret += value;
	Ret += "</textarea>\r\n";
	Ret += "<br>\r\n";
	Ret += "<table width=\"920\" border=\"1\" cellpadding=\"0\" cellspacing=\"0\">\r\n";
	Ret += "<tr>";
    Ret += "<td class=\"TabContentHead\" style=\"padding-left:4px;\">";
	Ret += "Vorschau";
	Ret += "</td>";
	Ret += "<tr>";
    Ret += "<td class=\"TabContentBody\" style=\"padding:4px;\">";
	Ret += "<div id=\"" + Vorschau + "\"><div>";
	Ret += "</td>";
	Ret += "</tr>";
	Ret += "</table>";

	var n = document.getElementById( id );
	n.innerHTML = Ret;
	vorschau();
}

function vorschau()
{
	var mytext = document.getElementById( EditorID ).value;
	mytext = umbruch (mytext);
	var arr = mytext.split("");
	var VorschauText = ""
	var klammerAuf = 0;
	for ( var i=0; i < arr.length; i++ )
	{
		if ( arr[i].search("<") > -1 )
		{
			klammerAuf = 1;
		}
		if ( arr[i].search(">") > -1 )
		{
			klammerAuf = 0;
		}
		if ( klammerAuf == 0 )
		{
			if ( arr[i] == "\"" )
			{
				VorschauText += "&Prime;";
			}
			else if ( arr[i] == "'" )
			{
				VorschauText += "&prime;";
			}
			else
			{
				VorschauText += arr[i];
			}
		}
		else
		{
			VorschauText += arr[i];
		}
	}
	var AusgabeText = VorschauText.replace( /\"/g, "\\\"");
	document.getElementById( Vorschau ).innerHTML = VorschauText;
	document.getElementById( Ausgabe ).value = AusgabeText;
}

function umbruch( eingabe )
{
	var ret = eingabe;
	var pattern = "\r\n";
	if ( navigator.appName == "Netscape" )
	{
		pattern = "\n"
	}
	var len = pattern.length;
	while ( ret.search(pattern) > -1 )
	{
		var pos = ret.search(pattern);
		var vor = ret.substring (0, pos);
		var nach = ret.substring (pos+len);
		ret = vor + "<br>" + nach;
	}
	return ret;
}

function reUmbruch( eingabe )
{
	var ret = eingabe;
	var pattern = "<br>";
	while ( ret.search(pattern) > -1 )
	{
		var pos = ret.search(pattern);
		var vor = ret.substring (0, pos);
		var nach = ret.substring (pos+4);
		ret = vor + "\r\n" + nach;
	}
	return ret;
}


function doBold ()
{
	doAppend ( "<b>", "</b>" );
	vorschau();
}

function doItalic ()
{
	doAppend ( "<i>", "</i>" );
	vorschau();
}

function doAusrichtung ( Ausrichtung )
{
	doRemoveAusrichtung();
	doAppend ( "<div style='text-align:" + Ausrichtung + ";' >", "</div>" );
	vorschau();
}

function doSup ()
{
	doAppend ( "<sup>", "</sup>" );
	vorschau();
}

function doSub ()
{
	doAppend ( "<sub>", "</sub>" );
	vorschau();
}

function doNormal ()
{
	doAppend ( "<span class='norm' >", "</span>" );
	vorschau();
}

function doHeadline ( art )
{
	doAppend ( "<" + art + ">", "</" + art + ">" );
	vorschau();
}

function doLink ()
{
	var url = document.getElementById("url").value;
	var target = "";
	if ( url )
	{
		if ( url.substring(0, 7) == "mailto:" )
		{}
		else if ( url == "Anfahrt Berlin" )
			url = "javascript:GotoPage(16);";
		else if ( url == "Anfahrt Würzburg" )
			url = "javascript:GotoPage(17);";
		else if ( url == "Dokumentation" )
			url = "javascript:GotoPage(10);";
		else if ( url == "Impressum" )
			url = "javascript:GotoPage(18);";
		else if ( url == "Installation" )
			url = "javascript:GotoPage(8);";			
		else if ( url == "Kunden-Support" )
			url = "javascript:GotoPage(7);";
		else if ( url == "MeetUs" )
			url = "javascript:GotoPage(20);";
		else if ( url == "Mitarbeiter" )
			url = "javascript:GotoPage(12);";
		else if ( url == "Module" )
			url = "javascript:GotoPage(2);";
		else if ( url == "Partner" )
			url = "javascript:GotoPage(13);";
		else if ( url == "Startseite" )
			url = "javascript:GotoPage(0);";
		else if ( url == "Stellenangebote" )
			url = "javascript:GotoPage(15);";
		else if ( url == "Technische Daten" )
			url = "javascript:GotoPage(19);";
		else if ( url == "Testen" )
			url = "javascript:GotoPage(6);";
		else if ( url == "Vision" )
			url = "javascript:GotoPage(11);";
		else if ( url == "Workflow Agenturen" )
			url = "javascript:GotoPage(4);";
		else if ( url == "Workflow Sprachendienste" )
			url = "javascript:GotoPage(23);";
		else if ( url == "TeamEdition" )
			url = "javascript:GotoEdition(1);";
		else if ( url == "CorporateEdition" )
			url = "javascript:GotoEdition(2);";
		else if ( url == "EnterpriseEdition" )
			url = "javascript:GotoEdition(3);";
		else
		{
			url = url.replace( "http://", "");
			url = "http://" + url;
			target = "target='blank'";
		}
		doAppend ( " <a href='" + url + "' " + target + "> ", " </a> " );
	}
	vorschau();
}

function doListe ()
{
	var X = document.getElementById( EditorID );
	if( document.selection )
	{ 
		var range = document.selection.createRange(); 
		var stored_range = range.duplicate(); 
		stored_range.moveToElementText( X ); 
		stored_range.setEndPoint( 'EndToEnd', range ); 
		X.selectionStart = stored_range.text.length - range.text.length; 
		X.selectionEnd = X.selectionStart + range.text.length; 
	}
	if ( X.selectionStart < X.selectionEnd )
	{
		var TextVorne = X.value.substring( 0, X.selectionStart);
		var TextHinten = X.value.substring(X.selectionEnd);
		var markierterText = X.value.substring(X.selectionStart, X.selectionEnd);
		var pattern = "\r\n";
		if ( navigator.appName == "Netscape" )
		{
			pattern = "\n"
		}
		var len = pattern.length;
		while ( markierterText.search(pattern) > -1 )
		{
			var pos = markierterText.search(pattern);
			var vor = markierterText.substring (0, pos);
			var nach = markierterText.substring (pos+len);
			markierterText = vor + "</li> <li>" + nach;
		}
		markierterText = " <ul> <li> " + markierterText + " </li> </ul> ";
		X.value = TextVorne + markierterText + TextHinten;
	}
	vorschau();
}

function doNummernListe ()
{
	var X = document.getElementById( EditorID );
	if( document.selection )
	{ 
		var range = document.selection.createRange(); 
		var stored_range = range.duplicate(); 
		stored_range.moveToElementText( X ); 
		stored_range.setEndPoint( 'EndToEnd', range ); 
		X.selectionStart = stored_range.text.length - range.text.length; 
		X.selectionEnd = X.selectionStart + range.text.length; 
	}
	if ( X.selectionStart < X.selectionEnd )
	{
		var TextVorne = X.value.substring( 0, X.selectionStart);
		var TextHinten = X.value.substring(X.selectionEnd);
		var markierterText = X.value.substring(X.selectionStart, X.selectionEnd);
		var pattern = "\r\n";
		if ( navigator.appName == "Netscape" )
		{
			pattern = "\n"
		}
		var len = pattern.length;
		while ( markierterText.search(pattern) > -1 )
		{
			var pos = markierterText.search(pattern);
			var vor = markierterText.substring (0, pos);
			var nach = markierterText.substring (pos+len);
			markierterText = vor + " </font> </li> <li> <font color='#383838' > " + nach;
		}
		markierterText = " <ol> <li> <font color='#383838' > " + markierterText + " </font> </li> </ol> ";
		X.value = TextVorne + markierterText + TextHinten;
	}
	vorschau();
}

function doBild ()
{
	bild = document.getElementById("bild").value;
	start = bild.lastIndexOf("/") + 1;
	ende = bild.lastIndexOf(".");
	bildunterschrift = bild.substring( start, ende );
	if ( bild )
	{
		doAustausch( " <span style='float:right; font-size:9px; padding-left:8px;' > <img src='" + bild + "' > <br>" + bildunterschrift + " </span> " );
	}
	vorschau();
}

function doPfeil()
{
	doAustausch( " <img src='/pages/design/textpfeil.gif' > " );
	vorschau();
}

function doColor ( Farbe )
{
	doAppend ( " <font color='#" + Farbe + "' > ", " </font> " );
	vorschau();
}

function doAppend( aTag, eTag )
{
	if ( navigator.appName == "Microsoft Internet Explorer" )
	{
		var inz = document.forms['form1'].elements[ EditorID ];
	  	inz.focus();
	  	if(typeof document.selection != 'undefined') 
	  	{
	    	var range = document.selection.createRange();
		    var insText = range.text;
		    range.text = aTag + insText + eTag;
		    range = document.selection.createRange();
	    	range.select();
	  	}
	}
	else
	{
		var X = document.getElementById( EditorID );
		var TextVorne = X.value.substring( 0, X.selectionStart);
		var TextHinten = X.value.substring(X.selectionEnd);
		var markierterText = X.value.substring(X.selectionStart, X.selectionEnd);
		markierterText = aTag + markierterText + eTag;
		X.value = TextVorne + markierterText + TextHinten;
	}
}

function doAustausch( eingabe )
{
	if ( navigator.appName == "Microsoft Internet Explorer" )
	{
		var inz = document.forms['form1'].elements[ EditorID ];
	  	inz.focus();
	  	if(typeof document.selection != 'undefined') 
	  	{
	    	var range = document.selection.createRange();
		    var insText = range.text;
		    range.text = eingabe;
		    range = document.selection.createRange();
	    	range.select();
	  	}
	}
	else
	{
		var X = document.getElementById( EditorID );
		var TextVorne = X.value.substring( 0, X.selectionStart);
		var TextHinten = X.value.substring(X.selectionStart);
		X.value = TextVorne + eingabe + TextHinten;
	}
	vorschau();
}

function doRemove()
{
	if ( navigator.appName == "Microsoft Internet Explorer" )
	{
		var inz = document.forms['form1'].elements[ EditorID ];
	  	inz.focus();
	  	if(typeof document.selection != 'undefined') 
	  	{
	    	var range = document.selection.createRange();
		    var insText = range.text;
		    while ( insText.search(/<\/li><li>/g) != -1 )
			{	
				insText = insText.replace( /<\/li><li>/g, "\r\n");
			}
		    while ( insText.search(/<.*?>/g) != -1 )
			{	
				insText = insText.replace( /<.*?>/g, "" );
			}
		    range.text = insText;
		    range = document.selection.createRange();
	    	range.select();
	  	}
	}
	else
	{
		var X = document.getElementById( EditorID );
		var TextVorne = X.value.substring( 0, X.selectionStart);
		var TextHinten = X.value.substring(X.selectionEnd);
		var markierterText = X.value.substring(X.selectionStart, X.selectionEnd);
		while ( markierterText.search(/<\/li> <li>/g) != -1 )
		{	
			markierterText = markierterText.replace( /<\/li> <li>/g, "\r\n");
		}
		while ( markierterText.search(/<.*?>/g) != -1 )
		{	
			markierterText = markierterText.replace( /<.*?>/g, "" );
		}
		X.value = TextVorne + markierterText + TextHinten;
	}
	vorschau();
}

function doRemoveAusrichtung()
{
	if ( navigator.appName == "Microsoft Internet Explorer" )
	{
		var inz = document.forms['form1'].elements[ EditorID ];
	  	inz.focus();
	  	if(typeof document.selection != 'undefined') 
	  	{
	    	var range = document.selection.createRange();
		    var insText = range.text;
		    while ( insText.search(/<.{0,1}div.*?>/g) != -1 )
			{	
				insText = insText.replace( /<.{0,1}div.*?>/g, "" );
			}
		    range.text = insText;
		    range = document.selection.createRange();
	    	range.select();
	  	}
	}
	else
	{
		var X = document.getElementById( EditorID );
		var TextVorne = X.value.substring( 0, X.selectionStart);
		var TextHinten = X.value.substring(X.selectionEnd);
		var markierterText = X.value.substring(X.selectionStart, X.selectionEnd);
		while ( markierterText.search(/<.{0,1}div.*?>/g) != -1 )
		{	
			markierterText = markierterText.replace( /<.{0,1}div.*?>/g, "" );
		}
		X.value = TextVorne + markierterText + TextHinten;
	}
	vorschau();
}
