//---------------------
// EasyHTML Javascript
//---------------------


// Browser checken

var imageTag = false;
var theSelection = false;

var clientPC = navigator.userAgent.toLowerCase();
var clientVer = parseInt(navigator.appVersion);

var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1)
                && (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1)
                && (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));
var is_moz = 0;

var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
var is_mac = (clientPC.indexOf("mac")!=-1);



// Helpline Texte

help_0  = "Text in fett: ''Text''";
help_3  = "Text in kursiv: '''Text'''";
help_6  = "Unterstrichener Text: ''''Text''''";
help_9  = "Schriftfarbe: [color=red]Text[/color] oder [color=#FF0000]Text[/color]";
help_12 = "Schriftgröße: [size=15]Text[/size]";
help_15 = "Zentrierter Text: [c]Text[/c]";
help_18 = "Rechtsbündiger Text: [r]Text[/r]";
help_21 = "Hyperlink einfügen: [url=http://adresse]Name des Links[/url], öffnet sich in einem neuen Fenster";
help_24 = "Internen Hyperlink einfügen: [url=?content=dateiname]Name des Links[/url], öffnet sich im selben Fenster";
help_27 = "Bild einfügen: [img]dateiname[/img] oder [img]http://adresse[/img]";
help_30 = "Linksbündiges Bild im Textfluss: [limg]dateiname[/limg] oder [limg]http://adresse[/limg]";
help_33 = "Rechtsbündiges Bild im Textfluss: [rimg]dateiname[/limg] oder [rimg]http://adresse[/rimg]";
help_36 = "Eingerückter Text: [>>]Text[/>>]";
help_39 = "Aufzählung: [*]Stichpunkt[/*]";
help_s  = "Smiley einfügen";
help_u  = "Bilder hochladen und in den Text einfügen";



// EasyHTML Tags

easyhtml_code = new Array();
easyhtml_tags = new Array(
	'\'\'', '\'\'', 'FetterText',
	'\'\'\'', '\'\'\'', 'KursiverText',
	'\'\'\'\'', '\'\'\'\'', 'UnterstrichenerText',
	'[color=red]', '[/color]', 'FarbigerText',
	'[size=15]', '[/size]', 'VeränderteSchriftgröße',
	'[c]', '[/c]', 'ZentrierterText',
	'[r]', '[/r]', 'RechtsbündigerText',
	'[url=http://AdresseDesLinks]', '[/url]', 'NameDesLinks',
	'[url=?content=InternerDateiname]', '[/url]', 'NameDesLinks',
	'[img]', '[/img]', 'DateinameDesBilds',
	'[rimg]', '[/rimg]', 'DateinameDesBilds',
	'[limg]', '[/limg]', 'DateinameDesBilds',
	'[>>]', '[/>>]', 'EingerückterText',
	'[*]', '[/*]', 'Stichpunkt'
);
imageTag = false;



// Beschreibung im Formelement "helpline" anzeigen

function show_help (help) {
	document.post.helpline.value = eval("help_" + help);
}



// Smiley einfügen

function insert_smiley(text)
{
	var txtarea = document.post.body;
	text = ' ' + text + ' ';
	if (txtarea.createTextRange && txtarea.caretPos) {
		var caretPos = txtarea.caretPos;
		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
		txtarea.focus();
	}
	else {
		txtarea.value  += text;
		txtarea.focus();
	}
}



// EasyHTML-Tag einfügen

function format_text(bbnumber) {
	var txtarea = document.post.body;

	txtarea.focus();
	donotinsert = false;
	theSelection = false;
	bblast = 0;

	// Tags vor und nach markierten Text setzen
	if ((clientVer >= 4) && is_ie && is_win)
	{
		theSelection = document.selection.createRange().text;
		if (theSelection) {
			document.selection.createRange().text = easyhtml_tags[bbnumber] + theSelection + easyhtml_tags[bbnumber+1];
			txtarea.focus();
			theSelection = '';
			return;
		}
	}
	else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0))
	{
		mozWrap(txtarea, easyhtml_tags[bbnumber], easyhtml_tags[bbnumber+1]);
		return;
	}

	// "offnendes Tag + Beschreibung + schließendes Tag" ans Textende setzen
	txtarea.value += easyhtml_tags[bbnumber] + easyhtml_tags[bbnumber+2] + easyhtml_tags[bbnumber+1];
	txtarea.focus();

	storeCaret(txtarea);
}

function mozWrap(txtarea, open, close)  // Quelle: http://www.massless.org/mozedit/
{
	var selLength = txtarea.textLength;
	var selStart = txtarea.selectionStart;
	var selEnd = txtarea.selectionEnd;
	if (selEnd == 1 || selEnd == 2)
		selEnd = selLength;

	var s1 = (txtarea.value).substring(0,selStart);
	var s2 = (txtarea.value).substring(selStart, selEnd)
	var s3 = (txtarea.value).substring(selEnd, selLength);
	txtarea.value = s1 + open + s2 + close + s3;
	return;
}

function storeCaret(textEl)  // Quelle: http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130
{
	if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
}




//---------------------
// Dropdown - Jumpmenu
//---------------------


function changeDir () {
	var selection = document.forms[0].folder;
	var dir = selection.options[selection.selectedIndex].value;
	var rootfolder = document.forms[0].rootfolder.value;
	var filter = document.forms[0].filter.value;
	var insert_mode = document.forms[0].insert_mode.value;
	var targetfield = document.forms[0].targetfield.value;
	var select_mode = document.forms[0].select_mode.value;
	var return_url = document.forms[0].return_url.value;

	window.location.href = '?content=image-browser&folder=' + dir + '&root=' + rootfolder + '&filter=' + filter + 
	'&insert=' + insert_mode + '&target=' + targetfield + '&select=' + select_mode + '&return=' + return_url;

//	window.location.href = '?content=image-browser&folder=' + dir + '&insert=' + insert_mode + '&target=' + form_target;
}




//-----------------------------------
// Ein- und Ausblenden von Elementen
//-----------------------------------

function einausblenden(id) {
  var item = document.getElementById(id);
  
  if (item.style.display)
  value = '';
  else
  value = 'none';
  
  item.style.display = value;
}

function einblenden(id) {
  var item = document.getElementById(id);
  item.style.display = '';
}

function ausblenden(id) {
  var item = document.getElementById(id);
  item.style.display = 'none';
}

