function makeRemoteFFF() {
	remote = window.open("/fanfic3_inc/freischalter_aktiv.php","remotewin2","width=250,height=250,resizable");
	if (remote.opener == null) remote.opener = window;
	remote.opener.name = "opener";
}

function openFrame(fanfic, kapitel) {
	$("#adminframe").attr("src", "/fanfic3_inc/zuordnungs-frame.php?id=" + fanfic + "&kapitel=" + kapitel);
	var pos = $('#zufr_' + fanfic + '_' + kapitel).position();
	$('#adminframe').css({ "left": (pos.left)+"px", "top": (pos.top+20)+"px", "width": "410px", "height": "310px", "visibility": "visible" });
	activeAdmin = fanfic;
}
function closeFrame(i) {
	$('#adminframe').css({ "left": "0px", "top": "0px", "visibility": "hidden" });
	activeAdmin = 0;
}
function clickAdmin(fanfic, kapitel) {
	if (activeAdmin == fanfic) closeFrame();
	else openFrame(fanfic, kapitel);
}

	
function searchbox_recalc_link_h() {
	if ($("#searchbox_typ_serie").prop("checked")) return ($("#searchbox_serie").val() != "");
	if ($("#searchbox_typ_unterthema").prop("checked")) return ($("#searchbox_unterthema").val() != "");
	if ($("#searchbox_typ_charakter").prop("checked")) return ($("#searchbox_charakter").val() != "");
	if ($("#searchbox_typ_genre").prop("checked")) return ($("#searchbox_genre").val() != "");
	if ($("#searchbox_typ_autor").prop("checked")) return ($("#searchbox_autor").val() != "");
	if ($("#searchbox_typ_username").prop("checked")) return ($("#searchbox_username").val() != "");
	if ($("#searchbox_typ_sprache").prop("checked")) return ($("#searchbox_sprache").val() != "");
	if ($("#searchbox_typ_tags").prop("checked")) return ($("#searchbox_tags").val() != "");
	if ($("#searchbox_typ_fortschritt_status").prop("checked")) return ($("#searchbox_fortschritt_status").val() != "");
	if ($("#searchbox_typ_ffname").prop("checked")) return ($("#searchbox_ffname").val().length > 2);
	if ($("#searchbox_typ_favoriten").prop("checked")) return true;
	if ($("#searchbox_typ_woerter").prop("checked") && ($("#searchbox_woerter_min").val() > 0 || $("#searchbox_woerter_max").val() > 0)) return true;
	return false;
}

function searchbox_recalc_link() {
	if (searchbox_recalc_link_h()) {
		var url = "";
		var modi = "";
		if ($("#searchbox_modus0").prop("checked")) modi = "-";
		if ($("#searchbox_typ_serie").prop("checked")) url = "serie/" + modi + $("#searchbox_serie").val() + "/";
		if ($("#searchbox_typ_unterthema").prop("checked")) url = "unterthema/" + modi + $("#searchbox_unterthema").val() + "/";
		if ($("#searchbox_typ_charakter").prop("checked")) url = "charakter/" + modi + $("#searchbox_charakter").val() + "/";
		if ($("#searchbox_typ_genre").prop("checked")) url = "genre/" + modi + $("#searchbox_genre").val() + "/";
		if ($("#searchbox_typ_autor").prop("checked")) url = "autor/" + modi + $("#searchbox_autor").val() + "/";
		if ($("#searchbox_typ_username").prop("checked")) url = "username/" + modi + encodeURI($("#searchbox_username").val()) + "/";
		if ($("#searchbox_typ_sprache").prop("checked")) url = "sprache/" + modi + $("#searchbox_sprache").val() + "/";
		if ($("#searchbox_typ_tags").prop("checked")) url = "tags/" + modi + $("#searchbox_tags").val() + "/";
		if ($("#searchbox_typ_fortschritt_status").prop("checked")) url = "fortschritt_status/" + modi + $("#searchbox_fortschritt_status").val() + "/";
		if ($("#searchbox_typ_ffname").prop("checked")) url = "ffname/" + modi + $("#searchbox_ffname").val() + "/";
		if ($("#searchbox_typ_favoriten").prop("checked")) url = "favoriten/" + animexx_user_id + "/";
		if ($("#searchbox_typ_woerter").prop("checked")) {
			url = "woerter/";
			if ($("#searchbox_woerter_min").val() > 0) url += $("#searchbox_woerter_min").val() + "-";
			else url += "0-";
			if ($("#searchbox_woerter_max").val() > 0) url += $("#searchbox_woerter_max").val();
			else url += "0";
		}
		$("#searchbox_form").attr("action", ff_such_base + url);
		$("#searchbox_submit").prop("disabled", false);
	} else $("#searchbox_submit").prop("disabled", true);
}

function f_toggleAdult(kapitel) {
	$.get("/fanfic3_inc/ajax-freischalter.php?id=" + kapitel + "&toggle_frei_adult=1", function(text) {
		$("#ff_ad_span_" + kapitel).show();
		$("#ff_ad_img_" + kapitel).hide();
		if (text == "1") $("#ff_ad_" + kapitel).html("<font color='red'><b>Adult</b></font>");
		else $("#ff_ad_" + kapitel).html("<i>kein Adult</i>");
	});
	$("#ff_ad_span_" + kapitel).hide();
	$("#ff_ad_img_" + kapitel).show();
}

function open_empf_win (f_id) {
	var url = "/fanfic3_inc/frame_wer_empfohlen.php?id=" + f_id;
	var param = "toolbar=yes,location=no,status=yes,scrollbars=yes,resizable=yes,width=300,height=200";
	var remote = window.open(url, "remotewin_empf", param);
	if (remote.opener == null) remote.opener = window;
	remote.opener.name = "opener";
}

function open_empf_win2 (f_id) {
	var url = "/fanfic3_inc/frame_wer_empfohlen.php?id=" + f_id;
	open_iframe_dialog("empf_dialog", url, "Favoritenlisten", 420, 380);
}

function open_wett_win2 () {
	open_iframe_dialog("wett_dialog", "./wettbewerbe/", "Wettbewerbe", 420, 380);
}

function ff_addToFav(formname) {
	$.get("./?" + formname + "=1&" + animexx_absolutelink_sid, function(res) {
		if (res == "1") {
			$("#fav_add").hide();
			$("#fav_remove").show();
			$("#ben_art_setter").show();
		} else alert("Es ist ein Fehler aufgetreten: " + res);
	});
	return false;
}

function ff_removeFav(formname) {
	$.get("./?" + formname + "=-1&" + animexx_absolutelink_sid, function(res) {
		if (res == "-1") {
			$("#fav_add").show();
			$("#fav_remove").hide();
			$("#ben_art_setter").hide();
		} else alert("Es ist ein Fehler aufgetreten: " + res);
	});
	return false;
}

function ff_recommend(formname) {
	$.get("./?" + formname + "=1&" + animexx_absolutelink_sid, function(res) {
		if (res == "1") {
			$("#empfehlen_done").show();
			$("#empfehlen_add").hide();
		} else alert("Es ist ein Fehler aufgetreten: " + res);
	});
	return false;
}

function yual_open() {
	$("#yual_opener").hide();
	$("#yual_vorschlag").show();
}
function yual_close() {
	$("#yual_opener").show();
	$("#yual_vorschlag").hide();
}




	function formatThemenRow(id, name, js) {
		return "<div><img src='/pics/list_remove.png' alt='" + str_loeschen + "' class='clickable' onClick=\"" + js + "\"> " + name + "</div>\n";
	}
	function formatCharakterRow(id, name, js) {
		return "<div><img src='/pics/list_remove.png' alt='" + str_loeschen + "' class='clickable' onClick=\"" + js + "\"> " + name + "</div>\n";
	}
	function formatUnterthemenRow(id, name, js) {
		return "<div><img src='/pics/list_remove.png' alt='" + str_loeschen + "' class='clickable' onClick=\"" + js + "\"> " + name + "</div>\n";
	}

	function rebuildCharakterListe() {
		var str = "";
		$.each(charakter_selected, function(){
			str += formatCharakterRow(this.id, this.name, "charakterRemove('" + this.id + "');");
		});
		$("#charakterliste").html(str);
		if (charakter_selected.length == 0) $("#charakter_keine").show();
		else $("#charakter_keine").hide();
	}
	
	function rebuildUnterthemenListe() {
		var str = "";
		$.each(unterthemen_selected, function(){
			str += formatUnterthemenRow(this.id, this.name, "unterthemaRemove('" + this.id + "');");
		});
		$("#unterthemen_liste").html(str);
		if (unterthemen_selected.length == 0) $("#unterthemen_kein").show();
		else $("#unterthemen_kein").hide();
	}

	function rebuildThemenListe() {
		var str = "";
		$.each(themen_selected, function(){
			var x = this.split("-");
			var name = "";
			if (x.length == 2){
				$.each(AIDBthemendaten[x[0]][2], function(){
					if (this[0] == x[1]) name = this[1];
				});
			} else{
				var pos = AIDBthemendaten[x[0]][1];
				name = AIDBthemennamen[pos][1];
			}
			str += formatThemenRow(this, name, "themaRemove('" + this + "');");
		});
		
		$("#themenliste").html(str);
		if (themen_selected.length == 0) {
			$("#themen_keine").show();
		} else {
			$("#themen_keine").hide();
		}
		set_eigene_serie();
	}
	function resetEigenButton() {
		if (themen_selected.length == 0) $("#keine_zuordnung").prop("disabled", false);
		else $("#keine_zuordnung").prop({"disabled": true, "checked": false });
	}
	function themaSelected(ev) {
		var el = ev.target;
		var thema = el.value;
		el.selectedIndex = 0;
		themaAdd(thema);
	}
	function themaAdd(thema) {
		if (thema == 0) return;
		
		var found = false;
		$.each(themen_selected, function(){ if (this == thema) found = true; });
		if (found == true) return;
		
		themen_selected.push(thema + "");
		rebuildThemenListe();
		resetEigenButton();
		var daten = AIDBthemendaten[thema];
		var name = AIDBthemennamen[daten[1]][1];
		var sid = "char_select_" + thema;
		
		var char = daten[3];
		var chars = {};
		var char_namen = new Array();
		if (char) $.each(char, function(){
			chars[this[1]] = this;
			char_namen.push(this[1]);
		});
		char_namen.sort();
		
		var str = "<option value=''>" + name + "</option><option value=''>-</option>";
		if (char) $.each(char_namen, function(){ s = chars[this]; str += "<option value='" + s[0] + "' data-chname='" + s[1] + "'>" + s[1] + "</option>\n"; });
		var char_select = $("<select id='" + sid + "' style='width: 140px;' size='1' data-thema='" + thema + "'>" + str + "</select>");
		char_select.bind("change", charakterSelected);
		
		if (!char || char.length == 0) char_select.prop("disabled", true);
		$("#char_select_holder").append(char_select);
		
		var ut = daten[2];
		var uts = {};
		var ut_namen = new Array();
		if (ut) $.each(ut, function(){
			uts[this[1]] = this;
			ut_namen.push(this[1]);
		});
		ut_namen.sort();

		var str = "<option value=''>" + name + "</option><option value=''>-</option>";
		if (ut) $.each(ut_namen, function(){ s = uts[this]; str += "<option value='" + s[0] + "' data-chname='" + s[1] + "'>" + s[1] + "</option>\n"; });
		var sid = "ut_select_" + thema;
		var ut_select = $("<select id='" + sid + "' style='width: 140px;' size='1' data-thema='" + thema + "'>" + str + "</select>");
		ut_select.bind("change", unterthemaSelected);
		if (!ut || ut.length == 0) ut_select.prop("disabled", true);
		$("#ut_select_holder").append(ut_select);
		
		if (themen_selected.length >= max_themen) $("select.thema_select").prop("disabled", true);
	}
	function themaRemove(id) {
		var t = new Array();
		$.each(themen_selected, function(){ if (this != id) t.push(this); });
		themen_selected = t;
		rebuildThemenListe();
		resetEigenButton();
		$("#char_select_" + id).remove();
		$("#ut_select_" + id).remove();
		$.each(charakter_selected, function(){ if (this.thema == id) charakterRemove(this.id); });
		$.each(unterthemen_selected, function(){ if (this.thema == id) unterthemaRemove(this.id); });
		if (themen_selected.length < max_themen) {
			$("select.thema_select").prop("disabled", false);
			set_eigene_serie();
		}
	}
	function charakterSelected(ev) {
		var el = ev.target;
		var charakter = el.value;
		var ind = $(el[el.selectedIndex]);
		el.selectedIndex = 0;
		charakterAdd(charakter, ind.data("chname"), $(el).data("thema"));
	}
	function charakterAdd(charakter, chname, thema) {
		if (charakter == 0) return;
		var found = false;
		$.each(charakter_selected, function(){ if (this.id == charakter) found = true; });
		if (found) true;

		charakter_selected.push({"id": charakter, "name": chname, "thema": thema});
		rebuildCharakterListe();
	}
	function charakterRemove(id) {
		var old = charakter_selected;
		charakter_selected = new Array();
		$.each(old, function(){ if (this.id != id) charakter_selected.push(this);});
		rebuildCharakterListe();
	}
	function unterthemaSelected(ev) {
		var el = ev.target;
		var ut = el.value;
		var ind = $(el[el.selectedIndex]);
		el.selectedIndex = 0;
		unterthemaAdd(ut, ind.data("chname"), $(el).data("thema"));
	}
	function unterthemaAdd(ut, chname, thema) {
		if (ut == 0) return;
		var found = false;
		$.each(unterthemen_selected, function(){ if (this.id == ut) found = true; });
		if (found) true;
		unterthemen_selected.push({"id": ut, "name": chname, "thema": thema});
		rebuildUnterthemenListe();
	}
	function unterthemaRemove(id) {
		var old = unterthemen_selected;
		unterthemen_selected = new Array();
		$.each(old, function(){ if (this.id != id) unterthemen_selected.push(this);});
		rebuildUnterthemenListe();
	}
	function set_eigene_serie() {
		console.log("set_eigene_serie");
		var nursachthemen = true;
		$.each(themen_selected, function(){
			var x = this.split("-");
			var sachthema = false;
			for (var i = 0; i < erlaubte_sachthemen_ids.length; i++) {
				for (var j = 0; j < AIDBthemendaten[x[0]][0].length; j++) {
					if (erlaubte_sachthemen_ids[i] == AIDBthemendaten[x[0]][0][j]) sachthema = true;
				}
			}
			if (!sachthema) nursachthemen = false;
		});
		$("#eigene_serie").prop("disabled", (themen_selected.length > 0 && !nursachthemen));
		if (themen_selected.length > 0 && !nursachthemen) $("#eigene_serie").prop("checked", false);
		eigene_serie_changed()
	}
	function eigene_serie_changed() {
		var checked = $("#eigene_serie").prop("checked");
		if (checked) {
			$("select.thema_select").each(function(){
				var sachthema = false;
				for (var i = 0; i < erlaubte_sachthemen.length; i++) if (erlaubte_sachthemen[i] == $(this).data("bereich_name")) sachthema = true;
				if (!sachthema) $(this).prop("disabled", true);
			});
		} else {
			if (themen_selected.length < max_themen) $("select.thema_select").prop("disabled", false);
		}
	}



function ff_check_proepi() {
	if ($('#ff_epilog li').length > 1 || $('#ff_prolog li').length > 1) {
		alert("<?=$SA['ein_pro_epilog']?>");
		return false;
	} else {
		return true;
	}
}
function rerender_none() {
	if ($('#ff_prolog li').length == 0) {
		$('#ff_prolog_non').show();
	} else {
		$('#ff_prolog_non').hide();
	}
	if ($('#ff_kapitel li').length == 0) {
		$('#ff_kapitel_non').show();
	} else {
		$('#ff_kapitel_non').hide();
	}
	if ($('#ff_epilog li').length == 0) {
		$('#ff_epilog_non').show();
	} else {
		$('#ff_epilog_non').hide();
	}
}
