var BEITRAEGE_CONFIRM_DELETION = "Möchtest du diesen Beitrag wirklich löschen?";
var BEITRAEGE_EDITOR_TEXT_MODE = "Text-Modus";
var BEITRAEGE_EDITOR_MODE_CHANGE = "Bist du sicher, dass du in den %s wechseln möchtest?";
var BEITRAEGE_EDITOR_TEXT_MISSING = "Du hast vergessen einen Text einzugeben!";
var BEITRAEGE_EDITOR_TITLE_MISSING = "Bitte gib deinem Beitrag auch eine aussagekräftige Überschrift!";
var BEITRAEGE_EDITOR_CATEGORY_MISSING = "Bitte gib auch an in welcher Kategorie dein Beitrag veröffentlicht werden soll.";

var beitrag_rtedit = null;
var beitrag_rttoolbar = null;
var beitrag_edit_form_name = "edit-form";
var beitrag_is_checkForm_disabled = false;

function beitrag_initEditor(edit_form_name, textarea_id, beitrag_preview_button_id, mode_switch_button_id, rteditor_css_file, is_abstract_editable) {
	beitrag_edit_form_name = edit_form_name;

	RTEDIT_ENABLED = (getCookieVar("RTEDIT_ENABLED") == "0" ? 0 : 1);

	/*var div = document.createElement("div");
	with(div) {
		setAttribute("id", "beitrag-edit-smilies");
		className = "beitrag-edit-smilies";
	}
	insertIconList(div, rtedit_icons, 10, null, textarea_id);
	*/

	if (hasRichtextEditorSupport()) {
		var buttons =
			["undo", "redo","--","createlink","-","insertimage","-","insertunorderedlist","--","insertcode","-","removecode","--","showsource","-\n",
			"bold","italic","underline","-","justifyleft","justifycenter","justifyright","-","fontsize","-","forecolor"];
		beitrag_rtedit = insertRichtextEditor(textarea_id, 520, 400, 60, buttons, rteditor_css_file);
		if (beitrag_rtedit != null) {
			beitrag_rtedit.show();
			//var toolbar = getElement(beitrag_rtedit.id+"-toolbar");
			//toolbar.appendChild(div);
		}
		if (is_abstract_editable) {
			var abstract_edit = insertRichtextEditor(textarea_id+"_abstract", 400, 120, 60, buttons, rteditor_css_file);
			if (abstract_edit != null) {
				abstract_edit.show();
			}
		}
	}
	if (beitrag_rtedit == null) {
		if (RTEDIT_ENABLED == true) {
			setCookieVar("RTEDIT_ENABLED", "0");
		}
		var buttons =
			["undo","redo","--","createlink","-","insertimage","-","insertunorderedlist","--","insertcode","--","quotehtml","unquotehtml","clearhtml","-\n",
			"bold","italic","underline","-","justifyleft","justifycenter","justifyright","-","fontsize","-","forecolor"];
		beitrag_rttoolbar = insertRichtextToolbar(textarea_id, 520, 60, buttons);
		if (is_abstract_editable) {
			var abstract_rttoolbar = insertRichtextToolbar(textarea_id+"_abstract", 400, 60, buttons);
		}
		//var textarea = getElement(textarea_id);
		//textarea.parentNode.insertBefore(div, textarea);
	}

	var modeSwitchButton = getElement(mode_switch_button_id);
	if (modeSwitchButton) {
		modeSwitchButton.disabled = false;
		if (beitrag_rtedit != null) {
			modeSwitchButton.value = BEITRAEGE_EDITOR_TEXT_MODE+"...";
			modeSwitchButton.onclick = new Function("return beitrag_switchMode(BEITRAEGE_EDITOR_TEXT_MODE);");
		} else if (hasRichtextEditorSupport(true) == false) {
			modeSwitchButton.onclick = new Function("alert(rtedit_lang['browser-incompatibility']); return false;");
		}
	}
}

function beitrag_confirmDeletion(deletion_url)
{
	if (window.confirm(BEITRAEGE_CONFIRM_DELETION)) {
		var form = document.createElement("form");
		document.documentElement.appendChild(form);
		with(form) {
			method = "post";
			action = deletion_url;
			submit();
		}
		document.documentElement.removeChild(form);
	}
}

function forum_showPreview()
{
	forum_is_checkForm_disabled = false;
	return true;
}
function beitrag_switchMode(mode)
{
	if (confirm(BEITRAEGE_EDITOR_MODE_CHANGE.replace(/\%s/, mode))) {
		setCookieVar("RTEDIT_ENABLED", (beitrag_rtedit == null ? "1" : "0"));
		beitrag_is_checkForm_disabled = true;
		return true;
	}
	return false;
}
function beitrag_checkForm(form)
{
	updateRichtextFields(form);
	if (beitrag_is_checkForm_disabled == true) {
		return true;
	}
	if (form[beitrag_edit_form_name+"[content_type_id]"].value == "") {
		alert(BEITRAEGE_EDITOR_CATEGORY_MISSING);
		return false;
	} else if (form[beitrag_edit_form_name+"[richtext]"].value.replace(/[\s]*([^\s]*)[\s]*/g, "$1").length < 2) {
		alert(BEITRAEGE_EDITOR_TEXT_MISSING);
		return false;
	} else if (form[beitrag_edit_form_name+"[title]"]
	&& form[beitrag_edit_form_name+"[title]"].value.replace(/[\s]*([^\s]*)[\s]*/g, "$1").length < 2) {
		alert(BEITRAEGE_EDITOR_TITLE_MISSING);
		return false;
	} else {
		return true;
	}
}
