
var FORUM_JUMP2PAGE_TEXT = "Bitte gib eine Seitenzahl zwischen 1 und %s ein, zu der du springen möchtest!";
var FORUM_COPY_POST_LINK_TEXT = "Hier kannst du den Link zu diesem Beitrag per Hand in die Zwischenablage kopieren:";
var FORUM_CONFIRM_POST_DELETION_TEXT = "Soll Beitrag %s wirklich gelöscht werden?";
var FORUM_EDITOR_TEXT_MODE = "Text-Modus";
var FORUM_EDITOR_NO_DESIGNMODE_PREVIEW = "Hinweis: Die Vorschau-Funktion wird im Design-Modus nicht benötigt.\nDu siehst den Beitrag hier bereits so, wie er auch später anzeigt wird.";
var FORUM_EDITOR_MODE_CHANGE = "Bist du sicher, dass du in den %s wechseln möchtest?";
var FORUM_EDITOR_TEXT_MISSING = "Bitte schreibe einen etwas längeren Beitrag!\nSogenannte \"Einzeiler\" werden in Foren nicht gerne gesehen.";
var FORUM_EDITOR_TITLE_MISSING = "Bitte gib dem neuen Thema auch einen Titel!";
var FORUM_EDITOR_CONFIRM_THREAD_MOVE_AND_REDIRECT = "Möchtest du das Thema wirklich in ein anderes Forum verschieben\nUND zu einer externen URL umleiten?";
var FORUM_EDITOR_CONFIRM_THREAD_REDIRECT = "Möchtest du das Thema wirklich zu einer externen URL umleiten?";
var FORUM_EDITOR_CONFIRM_THREAD_MOVE = "Möchtest du das Thema wirklich in ein anderes Forum verschieben?";

//var FORUM_JUMP2PAGE_TEXT = "Please enter a page number to jump to between 1 und %s!";
//var FORUM_COPY_POST_LINK_TEXT = "Here you can manually copy the link to this post to store it in your clipboard:";
//var FORUM_CONFIRM_POST_DELETION_TEXT = "Do you really want to delete post %s?";

var forum_rtedit = null;
var forum_rttoolbar = null;
var forum_edit_form_name = "edit-form";
var forum_modfunc_form_name = "mod-func";
var forum_is_checkForm_disabled = false;
var forum_allow_short_posts = false;

function forum_jump2page(page_link, default_page_index, page_count)
{
	var msg = FORUM_JUMP2PAGE_TEXT.replace(/\%s/, page_count);
	var page_no = window.prompt(msg, default_page_index);
	var page_index = parseInt(page_no) - 1;
	if (!isNaN(page_index)) {
		if (page_index < 0) {
			page_index = 0;
		} else if (page_index >= page_count) {
			page_index = -1;
		}
		window.location.href = page_link + page_index;
	}
}

function forum_copyPostLink(post_link)
{
	window.prompt(FORUM_COPY_POST_LINK_TEXT, window.location.protocol+"//"+window.location.host+post_link);
}

function forum_confirmPostDeletion(post_number, deletion_url)
{
	if (window.confirm(FORUM_CONFIRM_POST_DELETION_TEXT.replace(/\%s/, "#"+post_number))) {
		var form = document.createElement("form");
		document.documentElement.appendChild(form);
		with(form) {
			method = "post";
			action = deletion_url;
			submit();
		}
		document.documentElement.removeChild(form);
	}
}

function forum_initPostEditor(edit_form_name, modfunc_name, textarea_id, preview_button_id, switchMode_button_id, rteditor_css_file) {
	forum_edit_form_name = edit_form_name;
	forum_modfunc_form_name = modfunc_name;

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

  	if (hasRichtextEditorSupport()) {
  		forum_rtedit = insertRichtextEditor(textarea_id, 600, 300, 70, null, rteditor_css_file);
  		if (forum_rtedit != null) {
			forum_rtedit.show();
		}
  	}
  	if (forum_rtedit == null) {
  		if (RTEDIT_ENABLED == true) {
  			setCookieVar("RTEDIT_ENABLED", "0");
  		}
	  	forum_rttoolbar = insertRichtextToolbar(textarea_id, 600, 70, null);
  	}

  	insertIconList(getElement("post-edit-smilies"), rtedit_icons, 24, 3, textarea_id);

    var modeSwitchButton = getElement(switchMode_button_id);
    if (modeSwitchButton) {
	    modeSwitchButton.disabled = false;
		if (forum_rtedit != null) {
			var previewButton = getElement(preview_button_id);
			previewButton.onclick = new Function("alert(FORUM_EDITOR_NO_DESIGNMODE_PREVIEW); return false;");
			modeSwitchButton.value = FORUM_EDITOR_TEXT_MODE+"...";
			modeSwitchButton.onclick = new Function("return forum_switchMode(FORUM_EDITOR_TEXT_MODE);");
		} else if (hasRichtextEditorSupport(true) == false) {
			modeSwitchButton.onclick = new Function("alert(rtedit_lang['browser-incompatibility']); return false;");
		}
	}
	
}
function forum_showPreview()
{
	forum_is_checkForm_disabled = true;
	return true;
}
function forum_switchMode(mode)
{
	if (confirm(FORUM_EDITOR_MODE_CHANGE.replace(/\%s/, mode))) {
		setCookieVar("RTEDIT_ENABLED", (forum_rtedit == null ? "1" : "0"));
		forum_is_checkForm_disabled = true;
		return true;
	}
	return false;
}
function forum_checkForm(form)
{
	updateRichtextFields(form);
	if (forum_is_checkForm_disabled == true) {
		return true;
	}
	if (!forum_allow_short_posts && form[forum_edit_form_name+"[richtext]"].value.replace(/[\s]*([^\s]*)[\s]*/g, "$1").length < 40) {
		alert(FORUM_EDITOR_TEXT_MISSING);
		return false;
	} else if (form[forum_edit_form_name+"[title]"]
	&& form[forum_edit_form_name+"[title]"].value.replace(/[\s]*([^\s]*)[\s]*/g, "$1").length < 2) {
		alert(FORUM_EDITOR_TITLE_MISSING);
		return false;
	} else if (form[forum_modfunc_form_name+"[thread_redirect]"]
	&& form[forum_modfunc_form_name+"[thread_redirect]"].value == '1'
	&& (form[forum_modfunc_form_name+"[thread_move_to]"]
	&& form[forum_modfunc_form_name+"[thread_move_to]"].value != '')) {
		return confirm(FORUM_EDITOR_CONFIRM_THREAD_MOVE_AND_REDIRECT);
	} else if (form[forum_modfunc_form_name+"[thread_redirect]"]
	&& form[forum_modfunc_form_name+"[thread_redirect]"].value == '1') {
		return confirm(FORUM_EDITOR_CONFIRM_THREAD_REDIRECT);
	} else if (form[forum_modfunc_form_name+"[thread_move_to]"]
	&& form[forum_modfunc_form_name+"[thread_move_to]"].value != '') {
		return confirm(FORUM_EDITOR_CONFIRM_THREAD_MOVE);
	} else {
		return true;
	}
}
