﻿var selectedTab=0;
var tabSortBy=-1;
var tabSortDirection=-1;
var tabStartAt=0;

var historyType="tabs";

var preventTabSaving=true;

function renderTabs() {
	var i;
	var tablist=document.getElementById("tablist");
	for(i=0;i<tabdata.length;i++) {
		var count=0;
		var type=tabdata[i][0];
		if(type>=100 && type<110) {
			count=tabdata[i][2];
		} else if(type<100) {
			count=tabdata[i][2].length;
		}
		var tabtext;
		if(count>0) {
			tabtext=tabdata[i][1]+" ("+count+")";
		} else {
			tabtext=tabdata[i][1];
		}
		var element_li=document.createElement("li");
		var element_div_l=document.createElement("div");
		element_div_l.className="tab_l";
		var element_div_m=document.createElement("div");
		element_div_m.className="tab_m";
		var element_div_r=document.createElement("div");
		element_div_r.className="tab_r";
		var element_a=document.createElement("a");		
		var element_strong=document.createElement("strong");
		element_a.href="javascript:displayTab("+i+",-1,-1,0);";
		element_a.appendChild(document.createTextNode(tabtext));
		element_strong.appendChild(document.createTextNode(tabtext));
		element_div_m.appendChild(element_a);
		element_div_m.appendChild(element_strong);	
		element_li.appendChild(element_div_l);
		element_li.appendChild(element_div_m);
		element_li.appendChild(element_div_r);
		tablist.appendChild(element_li);
	}
}

function displayTab(tabid, sortBy, sortDirection, startAt) {
	setActiveTab(tabid);
	var i,k;
	var listbody=document.getElementById("listbody");
	var listcontent=document.getElementById("listcontent");
	var listtype=tabdata[tabid][0];
	var listdata=tabdata[tabid][2];
	var totalcount=0;
	if(listtype<100) {
		totalcount=listdata.length;
	} else if(listtype<110) {
		totalcount=listdata;
	}
	var displaycount=totalcount-startAt;
	if(displaycount>50) displaycount=50;
	if(listcontent!=null) {
		listbody.removeChild(listcontent);
	}
	
	if(listtype==23 || listtype==60) { if(sortBy==-1) sortBy=1; if(sortDirection==-1) sortDirection=0; }
	if(listtype==1) { if(sortBy==-1) sortBy=1; if(sortDirection==-1) sortDirection=0; }
	if(listtype==2 || listtype==3 || listtype==11 || listtype==20) { if(sortBy==-1) sortBy=1; if(sortDirection==-1) sortDirection=0; }
	if(listtype==4 || listtype==8 || listtype==21 || listtype==24) { if(sortBy==-1) sortBy=6; if(sortDirection==-1) sortDirection=0; }
	if(listtype==9 || listtype==13 || listtype==7 || listtype==91 || listtype==94 || listtype==93) { if(sortBy==-1) sortBy=5; if(sortDirection==-1) sortDirection=1; }
	if(listtype==5  || listtype==10 || listtype==12 || listtype==22 || listtype==35 || listtype==36 || listtype==51 || listtype==52 || listtype==62) { if(sortBy==-1) sortBy=1; if(sortDirection==-1) sortDirection=0; }
	if(listtype==6 || listtype==14 || listtype==15 || listtype==16) { if(sortBy==-1) sortBy=7; if(sortDirection==-1) sortDirection=1; }
	if(listtype==30 || listtype==31 || listtype==32 || listtype==33 || listtype==34) { if(sortBy==-1) sortBy=8; if(sortDirection==-1) sortDirection=1; }
	if(listtype==17 || listtype==18 || listtype==19) { if(sortBy==-1) sortBy=4; if(sortDirection==-1) sortDirection=1; }
	if(listtype==38 || listtype==90) { if(sortBy==-1) sortBy=1; if(sortDirection==-1) sortDirection=0; }
	if(listtype==50 || listtype==53 || listtype==54) { if(sortBy==-1) sortBy=9; if(sortDirection==-1) sortDirection=1; }
	if(listtype==37) { if(sortBy==-1) sortBy=1; if(sortDirection==-1) sortDirection=0; }
	if(listtype==63) { if(sortBy==-1) sortBy=9; if(sortDirection==-1) sortDirection=1; }
	if(listtype==70) { if(sortBy==-1) sortBy=8; if(sortDirection==-1) sortDirection=0; }
	if(listtype==71) { if(sortBy==-1) sortBy=9; if(sortDirection==-1) sortDirection=1; }
	if(listtype==80) { if(sortBy==-1) sortBy=10; if(sortDirection==-1) sortDirection=1; }
	if(listtype==81) { if(sortBy==-1) sortBy=9; if(sortDirection==-1) sortDirection=1; }
	if(listtype==82) { if(sortBy==-1) sortBy=13; if(sortDirection==-1) sortDirection=1; }
	if(listtype==83) { if(sortBy==-1) sortBy=9; if(sortDirection==-1) sortDirection=1; }
	if(listtype==84) { if(sortBy==-1) sortBy=8; if(sortDirection==-1) sortDirection=1; }
	if(listtype==85) { if(sortBy==-1) sortBy=5; if(sortDirection==-1) sortDirection=1; }
	if(listtype==86) { if(sortBy==-1) sortBy=7; if(sortDirection==-1) sortDirection=1; }
	if(listtype==87) { if(sortBy==-1) sortBy=3; if(sortDirection==-1) sortDirection=1; }
	if(listtype==88) { if(sortBy==-1) sortBy=10; if(sortDirection==-1) sortDirection=1; }
	if(listtype==92) { if(sortBy==-1) sortBy=7; if(sortDirection==-1) sortDirection=1; }
	if(listtype==64 || listtype==65 || listtype==66 || listtype==67 || listtype==68 || listtype==69) { if(sortBy==-1) sortBy=5; if(sortDirection==-1) sortDirection=1; }
	if(listtype==95) { if(sortBy==-1) sortBy=1; if(sortDirection==-1) sortDirection=1; }
	
	var nextsorting=(sortDirection+1)%2;
	
	if(listtype==23 || listtype==60 || listtype==84) { // wird gelehrt von
		if(sortBy==1) sortListLex(listdata, 1, sortDirection);
		if(sortBy==4) sortListNum(listdata, 4, sortDirection);
		if(sortBy==6) sortListLex(listdata, 6, sortDirection);
		if(sortBy==7) sortListLex(listdata, 7, sortDirection);
		if(sortBy==9) sortListNum(listdata, 9, sortDirection);
		listcontent=getListContentTable();
		var listcontent_thead=document.createElement("thead");
		var listcontent_tr=document.createElement("tr");
		listcontent_tr.appendChild(getListContentHeader(true, (listtype!=84)?"35%":"30%", "javascript:displayTab("+tabid+",1,"+((sortBy==1)?nextsorting:0)+","+startAt+");", "Name", (sortBy==1)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",4,"+((sortBy==4)?nextsorting:0)+","+startAt+");", "Stufe", (sortBy==4)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "40%", "javascript:displayTab("+tabid+",6,"+((sortBy==6)?nextsorting:0)+","+startAt+");", "Aufenthaltsort", (sortBy==6)?sortDirection:-1));		
		listcontent_tr.appendChild(getListContentHeader(false, "15%", "javascript:displayTab("+tabid+",7,"+((sortBy==7)?nextsorting:0)+","+startAt+");", "Kategorie", (sortBy==7)?sortDirection:-1));
		if(listtype==84) {
			listcontent_tr.appendChild(getListContentHeader(false, "5%", "javascript:displayTab("+tabid+",9,"+((sortBy==9)?nextsorting:0)+","+startAt+");", "Score", (sortBy==9)?sortDirection:-1));	
		}
		listcontent_thead.appendChild(listcontent_tr);
		listcontent.appendChild(listcontent_thead);
		var listcontent_tbody=document.createElement("tbody");
		listcontent_tbody.className="listbody";
		for(i=0;i<displaycount;i++) {
			var currentline=listdata[i+startAt];
			listcontent_tr=document.createElement("tr");
			listcontent_tr.onclick=new Function("document.location.href='npc?id="+currentline[0]+"'");
			listcontent_tr.className="clickable";
			var listcontent_tr_name_link=document.createElement("a");
			listcontent_tr_name_link.className="bold";
			listcontent_tr_name_link.href="npc?id="+currentline[0];
			listcontent_tr_name_link.appendChild(document.createTextNode(currentline[1]));
			var listcontent_tr_name=getListTableElement("left", listcontent_tr_name_link);
			if(currentline[3]!=null) addTooltip(listcontent_tr_name, currentline[3]);
			if(currentline[2]!=null) {
				var listcontent_tr_name_subtitle=document.createElement("span");
				listcontent_tr_name_subtitle.className="smalltext block";
				listcontent_tr_name_subtitle.appendChild(document.createTextNode(currentline[2]));
				listcontent_tr_name.appendChild(listcontent_tr_name_subtitle);
			}
			var listcontent_tr_level=getListTableElement("center", document.createTextNode(formatMobLevelString(currentline[4], currentline[5])));
			var listcontent_tr_location=getListTableElement("center", null);
			for(k=0;k<currentline[6].length;k++) {
				if(k>0 && currentline[6][k].length==2)	listcontent_tr_location.appendChild(document.createTextNode(", "));
				if(currentline[6][k].length==2) {
					var listcontent_tr_location_a=document.createElement("a");
					listcontent_tr_location_a.href="zone?id="+currentline[6][k][0];
					listcontent_tr_location_a.appendChild(document.createTextNode(currentline[6][k][1]));
					listcontent_tr_location.appendChild(listcontent_tr_location_a);
				} else {
					listcontent_tr_location.appendChild(document.createTextNode(" ("+currentline[6][k][0]+" weitere)"));
				}
			}
			var listcontent_tr_category=getListTableElement("center", null);
			getLinkElement(currentline[7], "npcs?category="+currentline[8], listcontent_tr_category);
			var listcontent_tr_score=null;
			if(currentline[9]!=null) listcontent_tr_score=getListTableElement("center", document.createTextNode(formatScore(currentline[9])));
			appendMultipleChilds(listcontent_tr, [listcontent_tr_name, listcontent_tr_level, listcontent_tr_location, listcontent_tr_category, listcontent_tr_score]);
			listcontent_tbody.appendChild(listcontent_tr);
		}
		listcontent.appendChild(listcontent_tbody);
		listcontent.id="listcontent";
		listbody.appendChild(listcontent);
	}
	
	if(listtype==1) { // Wird verkauft von
		if(sortBy==1) sortListLex(listdata, 1, sortDirection);
		if(sortBy==4) sortListNum(listdata, 4, sortDirection);
		if(sortBy==6) sortListLex(listdata, 6, sortDirection);
		if(sortBy==8) sortListNum(listdata, 8, sortDirection);
		if(sortBy==9) sortListMoney(listdata, 9, sortDirection);
		listcontent=getListContentTable();
		var listcontent_thead=document.createElement("thead");
		var listcontent_tr=document.createElement("tr");
		listcontent_tr.appendChild(getListContentHeader(true, "25%", "javascript:displayTab("+tabid+",1,"+((sortBy==1)?nextsorting:0)+","+startAt+");", "Name", (sortBy==1)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",4,"+((sortBy==4)?nextsorting:0)+","+startAt+");", "Stufe", (sortBy==4)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "20%", "javascript:displayTab("+tabid+",6,"+((sortBy==6)?nextsorting:0)+","+startAt+");", "Aufenthaltsort", (sortBy==6)?sortDirection:-1));		
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",7,"+((sortBy==7)?nextsorting:0)+","+startAt+");", "Vorrat", (sortBy==7)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",8,"+((sortBy==8)?nextsorting:0)+","+startAt+");", "Menge", (sortBy==8)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "25%", "javascript:displayTab("+tabid+",9,"+((sortBy==9)?nextsorting:0)+","+startAt+");", "Preis", (sortBy==9)?sortDirection:-1));
		listcontent_thead.appendChild(listcontent_tr);
		listcontent.appendChild(listcontent_thead);
		var listcontent_tbody=document.createElement("tbody");
		listcontent_tbody.className="listbody";
		for(i=0;i<displaycount;i++) {
			var currentline=listdata[i+startAt];
			listcontent_tr=document.createElement("tr");
			listcontent_tr.onclick=new Function("document.location.href='npc?id="+currentline[0]+"'");
			listcontent_tr.className="clickable";
			var listcontent_tr_name_link=document.createElement("a");
			listcontent_tr_name_link.className="bold";
			listcontent_tr_name_link.href="npc?id="+currentline[0];
			listcontent_tr_name_link.appendChild(document.createTextNode(currentline[1]));
			var listcontent_tr_name=getListTableElement("left", listcontent_tr_name_link);
			if(currentline[3]!=null) addTooltip(listcontent_tr_name, currentline[3]);
			if(currentline[2]!=null) {
				var listcontent_tr_name_subtitle=document.createElement("span");
				listcontent_tr_name_subtitle.className="smalltext block";
				listcontent_tr_name_subtitle.appendChild(document.createTextNode(currentline[2]));
				listcontent_tr_name.appendChild(listcontent_tr_name_subtitle);
			}
			var listcontent_tr_level=getListTableElement("center", document.createTextNode(formatMobLevelString(currentline[4], currentline[5])));
			var listcontent_tr_location=getListTableElement("center", null);
			for(k=0;k<currentline[6].length;k++) {
				if(k>0 && currentline[6][k].length==2)	listcontent_tr_location.appendChild(document.createTextNode(", "));
				if(currentline[6][k].length==2) {
					var listcontent_tr_location_a=document.createElement("a");
					listcontent_tr_location_a.href="zone?id="+currentline[6][k][0];
					listcontent_tr_location_a.appendChild(document.createTextNode(currentline[6][k][1]));
					listcontent_tr_location.appendChild(listcontent_tr_location_a);
				} else {
					listcontent_tr_location.appendChild(document.createTextNode(" ("+currentline[6][k][0]+" weitere)"));
				}
			}
			var listcontent_tr_limited=getListTableElement("center", document.createTextNode(currentline[7]==true?"begrenzt":""));
			var listcontent_tr_quantity=getListTableElement("center", document.createTextNode(currentline[8]));
			var listcontent_tr_price=getListTableElement("center", null);
			addPrice(listcontent_tr_price, currentline[9]);
			appendMultipleChilds(listcontent_tr, [listcontent_tr_name, listcontent_tr_level, listcontent_tr_location, listcontent_tr_limited, listcontent_tr_quantity, listcontent_tr_price]);
			listcontent_tbody.appendChild(listcontent_tr);
		}
		listcontent.appendChild(listcontent_tbody);
		listcontent.id="listcontent";
		listbody.appendChild(listcontent);
	}
	
	if(listtype==2 || listtype==3 || listtype==11 || listtype==20 || listtype==82) { // Reagenz für, Erzeugt durch, Lehrt, Ähnliche Zauber
		if(sortBy==1) sortListLex(listdata, 1, sortDirection);
		if(sortBy==7) sortListListLength(listdata, 7, sortDirection);
		if(sortBy==10) sortListLex(listdata, 10, sortDirection);
		if(sortBy==12) sortListNum(listdata, 12, sortDirection);
		if(sortBy==13) sortListNum(listdata, 13, sortDirection);
		listcontent=getListContentTable();
		var listcontent_thead=document.createElement("thead");
		var listcontent_tr=document.createElement("tr");
		listcontent_tr.appendChild(getListContentHeader(true, (listtype!=82)?"45%":"40%", "javascript:displayTab("+tabid+",1,"+((sortBy==1)?nextsorting:0)+","+startAt+");", "Name", (sortBy==1)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "30%", "javascript:displayTab("+tabid+",7,"+((sortBy==7)?nextsorting:0)+","+startAt+");", "Reagenzien", (sortBy==7)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "15%", "javascript:displayTab("+tabid+",10,"+((sortBy==10)?nextsorting:0)+","+startAt+");", "Kategorie", (sortBy==10)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",12,"+((sortBy==12)?nextsorting:0)+","+startAt+");", "Fertigkeit", (sortBy==12)?sortDirection:-1));	
		if(listtype==82) {
			listcontent_tr.appendChild(getListContentHeader(false, "5%", "javascript:displayTab("+tabid+",13,"+((sortBy==13)?nextsorting:0)+","+startAt+");", "Score", (sortBy==13)?sortDirection:-1));
		}
		listcontent_thead.appendChild(listcontent_tr);
		listcontent.appendChild(listcontent_thead);
		var listcontent_tbody=document.createElement("tbody");
		listcontent_tbody.className="listbody";
		for(i=0;i<displaycount;i++) {
			var currentline=listdata[i+startAt];			
			listcontent_tr=document.createElement("tr");
			listcontent_tr.onclick=new Function("document.location.href='spell?id="+currentline[0]+"'");
			listcontent_tr.className="clickable";			
			var listcontent_tr_name_link=document.createElement("a");
			listcontent_tr_name_link.href="spell?id="+currentline[0];
			listcontent_tr_name_link.className="q"+currentline[4];
			if(listcontent_tr_name_link.className=="q1") listcontent_tr_name_link.className="q1b";
			var listcontent_tr_name_icon=getItemIcon(currentline[2], "spell?id="+currentline[0], currentline[5], currentline[6], currentline[7], "medium");
			listcontent_tr_name_link.appendChild(document.createTextNode(currentline[1]));
			addTooltip(listcontent_tr_name_link, currentline[5]);
			var listcontent_tr_name_text_span=document.createElement("span");
			listcontent_tr_name_text_span.className="listelement_iconname_text_table";
			listcontent_tr_name_text_span.appendChild(listcontent_tr_name_link);
			if(currentline[3]!="") {
				var listcontent_tr_name_subtext=document.createElement("span");
				listcontent_tr_name_subtext.className="listelement_iconname_subtext";
				listcontent_tr_name_subtext.appendChild(document.createTextNode(currentline[3]));
				listcontent_tr_name_text_span.appendChild(document.createElement("br"));
				listcontent_tr_name_text_span.appendChild(listcontent_tr_name_subtext);
			}
			var listcontent_tr_name_table=document.createElement("table");
			var listcontent_tr_name_table_tbody=document.createElement("tbody");
			listcontent_tr_name_table.appendChild(listcontent_tr_name_table_tbody);
			listcontent_tr_name_table.cellPadding=0;
			listcontent_tr_name_table.cellSpacing=0;
			listcontent_tr_name_table_tr=document.createElement("tr");
			listcontent_tr_name_table_tbody.appendChild(listcontent_tr_name_table_tr);
			listcontent_tr_name_table_tr_td=document.createElement("td");
			listcontent_tr_name_table_tr_td.width=44;
			listcontent_tr_name_table_tr_td.appendChild(listcontent_tr_name_icon);
			listcontent_tr_name_table_tr.appendChild(listcontent_tr_name_table_tr_td);
			listcontent_tr_name_table_tr_td=document.createElement("td");
			listcontent_tr_name_table_tr_td.align="left";
			listcontent_tr_name_table_tr_td.vAlign="middle";
			listcontent_tr_name_table_tr_td.appendChild(listcontent_tr_name_text_span);
			listcontent_tr_name_table_tr.appendChild(listcontent_tr_name_table_tr_td);			
			var listcontent_tr_name=getListTableElement("left", listcontent_tr_name_table);
			var listcontent_tr_reagents;
			if(browserIsOpera) { // we have to wrap the icon divs in a table if we are on opera because otherwise the renderer will render flawed icons
				var listcontent_tr_reagents_table=document.createElement("table");
				listcontent_tr_reagents_table.cellPadding=2;
				listcontent_tr_reagents_table.cellSpacing=2;
				var listcontent_tr_reagents_tbody=document.createElement("tbody");
				var listcontent_tr_reagents_tr=document.createElement("tr");
				for(k=0;k<currentline[8].length;k++) {
					var reagentdata=currentline[8][k];
					var listcontent_tr_reagents_td=document.createElement("td");
					listcontent_tr_reagents_td.appendChild(getItemIcon(reagentdata[1], "item?id="+reagentdata[0], reagentdata[2], reagentdata[3], reagentdata[3], "small"));
					listcontent_tr_reagents_tr.appendChild(listcontent_tr_reagents_td);
				}
				listcontent_tr_reagents_tbody.appendChild(listcontent_tr_reagents_tr);
				listcontent_tr_reagents_table.appendChild(listcontent_tr_reagents_tbody);
				listcontent_tr_reagents=getListTableElement("left", listcontent_tr_reagents_table);
			} else {
				var listcontent_tr_reagents_div=document.createElement("div");
				for(k=0;k<currentline[8].length;k++) {
					var reagentdata=currentline[8][k];
					listcontent_tr_reagents_div.appendChild(getItemIcon(reagentdata[1], "item?id="+reagentdata[0], reagentdata[2], reagentdata[3], reagentdata[3], "small"));
				}
				listcontent_tr_reagents=getListTableElement("left", listcontent_tr_reagents_div);
			}
			var listcontent_tr_category=getListTableElement("center", null);
			var listcontent_tr_category_a=document.createElement("a");
			listcontent_tr_category_a.href="spells?category="+currentline[9];
			listcontent_tr_category_a.appendChild(document.createTextNode(currentline[10]));
			listcontent_tr_category.appendChild(listcontent_tr_category_a);
			var listcontent_tr_skill_div=document.createElement("div");
			if(currentline[12]>0) {
				var listcontent_tr_skill_div_level=document.createElement("div");
				listcontent_tr_skill_div_level.appendChild(document.createTextNode(currentline[12]));
				listcontent_tr_skill_div.appendChild(listcontent_tr_skill_div_level);
			}
			var listcontent_tr_skill_div_skill=document.createElement("div");
			listcontent_tr_skill_div_skill.className="smalltext";
			listcontent_tr_skill_div_skill.appendChild(document.createTextNode(currentline[11]));
			listcontent_tr_skill_div.appendChild(listcontent_tr_skill_div_skill);			
			var listcontent_tr_skill=getListTableElement("center", listcontent_tr_skill_div);
			var listcontent_tr_score=null;
			if(currentline[13]!=null) listcontent_tr_score=getListTableElement("center", document.createTextNode(formatScore(currentline[13])));
			appendMultipleChilds(listcontent_tr, [listcontent_tr_name, listcontent_tr_reagents, listcontent_tr_category, listcontent_tr_skill, listcontent_tr_score]);
			listcontent_tbody.appendChild(listcontent_tr);
		}
		listcontent.appendChild(listcontent_tbody);
		listcontent.id="listcontent";
		listbody.appendChild(listcontent);
	}
	
	if(listtype==37) { // Lehrt (mit Preis)
		if(sortBy==1) sortListLex(listdata, 1, sortDirection);
		if(sortBy==7) sortListListLength(listdata, 7, sortDirection);
		if(sortBy==10) sortListLex(listdata, 10, sortDirection);
		if(sortBy==12) sortListNum(listdata, 12, sortDirection);
		if(sortBy==13) sortListNum(listdata, 13, sortDirection);
		listcontent=getListContentTable();
		var listcontent_thead=document.createElement("thead");
		var listcontent_tr=document.createElement("tr");
		listcontent_tr.appendChild(getListContentHeader(true, "35%", "javascript:displayTab("+tabid+",1,"+((sortBy==1)?nextsorting:0)+","+startAt+");", "Name", (sortBy==1)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "30%", "javascript:displayTab("+tabid+",7,"+((sortBy==7)?nextsorting:0)+","+startAt+");", "Reagenzien", (sortBy==7)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "13%", "javascript:displayTab("+tabid+",10,"+((sortBy==10)?nextsorting:0)+","+startAt+");", "Kategorie", (sortBy==10)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",12,"+((sortBy==12)?nextsorting:0)+","+startAt+");", "Fertigkeit", (sortBy==12)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "12%", "javascript:displayTab("+tabid+",13,"+((sortBy==13)?nextsorting:0)+","+startAt+");", "Kosten", (sortBy==13)?sortDirection:-1));	
		listcontent_thead.appendChild(listcontent_tr);
		listcontent.appendChild(listcontent_thead);
		var listcontent_tbody=document.createElement("tbody");
		listcontent_tbody.className="listbody";
		for(i=0;i<displaycount;i++) {
			var currentline=listdata[i+startAt];
			listcontent_tr=document.createElement("tr");
			listcontent_tr.onclick=new Function("document.location.href='spell?id="+currentline[0]+"'");
			listcontent_tr.className="clickable";
			var listcontent_tr_name_link=document.createElement("a");
			listcontent_tr_name_link.href="spell?id="+currentline[0];
			listcontent_tr_name_link.className="q"+currentline[4];
			if(listcontent_tr_name_link.className=="q1") listcontent_tr_name_link.className="q1b";
			var listcontent_tr_name_icon=getItemIcon(currentline[2], "spell?id="+currentline[0], currentline[5], currentline[6], currentline[7], "medium");
			listcontent_tr_name_link.appendChild(document.createTextNode(currentline[1]));
			addTooltip(listcontent_tr_name_link, currentline[5]);
			var listcontent_tr_name_text_span=document.createElement("span");
			listcontent_tr_name_text_span.className="listelement_iconname_text_table";
			listcontent_tr_name_text_span.appendChild(listcontent_tr_name_link);
			if(currentline[3]!="") {
				var listcontent_tr_name_subtext=document.createElement("span");
				listcontent_tr_name_subtext.className="listelement_iconname_subtext";
				listcontent_tr_name_subtext.appendChild(document.createTextNode(currentline[3]));
				listcontent_tr_name_text_span.appendChild(document.createElement("br"));
				listcontent_tr_name_text_span.appendChild(listcontent_tr_name_subtext);
			}
			var listcontent_tr_name_table=document.createElement("table");
			var listcontent_tr_name_table_tbody=document.createElement("tbody");
			listcontent_tr_name_table.appendChild(listcontent_tr_name_table_tbody);
			listcontent_tr_name_table.cellPadding=0;
			listcontent_tr_name_table.cellSpacing=0;
			listcontent_tr_name_table_tr=document.createElement("tr");
			listcontent_tr_name_table_tbody.appendChild(listcontent_tr_name_table_tr);
			listcontent_tr_name_table_tr_td=document.createElement("td");
			listcontent_tr_name_table_tr_td.width=44;
			listcontent_tr_name_table_tr_td.appendChild(listcontent_tr_name_icon);
			listcontent_tr_name_table_tr.appendChild(listcontent_tr_name_table_tr_td);
			listcontent_tr_name_table_tr_td=document.createElement("td");
			listcontent_tr_name_table_tr_td.align="left";
			listcontent_tr_name_table_tr_td.vAlign="middle";
			listcontent_tr_name_table_tr_td.appendChild(listcontent_tr_name_text_span);
			listcontent_tr_name_table_tr.appendChild(listcontent_tr_name_table_tr_td);			
			var listcontent_tr_name=getListTableElement("left", listcontent_tr_name_table);
			var listcontent_tr_reagents;
			if(browserIsOpera) { // we have to wrap the icon divs in a table if we are on opera because otherwise the renderer will render flawed icons
				var listcontent_tr_reagents_table=document.createElement("table");
				listcontent_tr_reagents_table.cellPadding=2;
				listcontent_tr_reagents_table.cellSpacing=2;
				var listcontent_tr_reagents_tbody=document.createElement("tbody");
				var listcontent_tr_reagents_tr=document.createElement("tr");
				for(k=0;k<currentline[8].length;k++) {
					var reagentdata=currentline[8][k];
					var listcontent_tr_reagents_td=document.createElement("td");
					listcontent_tr_reagents_td.appendChild(getItemIcon(reagentdata[1], "item?id="+reagentdata[0], reagentdata[2], reagentdata[3], reagentdata[3], "small"));
					listcontent_tr_reagents_tr.appendChild(listcontent_tr_reagents_td);
				}
				listcontent_tr_reagents_tbody.appendChild(listcontent_tr_reagents_tr);
				listcontent_tr_reagents_table.appendChild(listcontent_tr_reagents_tbody);
				listcontent_tr_reagents=getListTableElement("left", listcontent_tr_reagents_table);
			} else {
				var listcontent_tr_reagents_div=document.createElement("div");
				for(k=0;k<currentline[8].length;k++) {
					var reagentdata=currentline[8][k];
					listcontent_tr_reagents_div.appendChild(getItemIcon(reagentdata[1], "item?id="+reagentdata[0], reagentdata[2], reagentdata[3], reagentdata[3], "small"));
				}
				listcontent_tr_reagents=getListTableElement("left", listcontent_tr_reagents_div);
			}
			var listcontent_tr_category=getListTableElement("center", null);
			var listcontent_tr_category_a=document.createElement("a");
			listcontent_tr_category_a.href="spells?category="+currentline[9];
			listcontent_tr_category_a.appendChild(document.createTextNode(currentline[10]));
			listcontent_tr_category.appendChild(listcontent_tr_category_a);
			var listcontent_tr_skill_div=document.createElement("div");
			if(currentline[12]>0) {
				var listcontent_tr_skill_div_level=document.createElement("div");
				listcontent_tr_skill_div_level.appendChild(document.createTextNode(currentline[12]));
				listcontent_tr_skill_div.appendChild(listcontent_tr_skill_div_level);
			}
			var listcontent_tr_skill_div_skill=document.createElement("div");
			listcontent_tr_skill_div_skill.className="smalltext";
			listcontent_tr_skill_div_skill.appendChild(document.createTextNode(currentline[11]));
			listcontent_tr_skill_div.appendChild(listcontent_tr_skill_div_skill);			
			var listcontent_tr_skill=getListTableElement("center", listcontent_tr_skill_div);
			var listcontent_tr_cost=getListTableElement("center", null);
			listcontent_tr_cost.className="bold";
			addMoney(listcontent_tr_cost, currentline[13]);
			appendMultipleChilds(listcontent_tr, [listcontent_tr_name, listcontent_tr_reagents, listcontent_tr_category, listcontent_tr_skill, listcontent_tr_cost]);
			listcontent_tbody.appendChild(listcontent_tr);
		}
		listcontent.appendChild(listcontent_tbody);
		listcontent.id="listcontent";
		listbody.appendChild(listcontent);
	}
	
	if(listtype==4 || listtype==8 || listtype==21 || listtype==80 || listtype==24) { // kann aufbewahrt werden in, kann enthalten, wird genutzt von, Suchergebnis Items, wird gelehrt von
		if(sortBy==1) sortListLex(listdata, 1, sortDirection);
		if(sortBy==6) sortListNum(listdata, 6, sortDirection);
		if(sortBy==7) sortListNum(listdata, 7, sortDirection);
		if(sortBy==8) sortListLex(listdata, 8, sortDirection);
		if(sortBy==10) sortListNum(listdata, 10, sortDirection);
		listcontent=getListContentTable();
		var listcontent_thead=document.createElement("thead");
		var listcontent_tr=document.createElement("tr");
		listcontent_tr.appendChild(getListContentHeader(true, (listtype!=80)?"50%":"40%", "javascript:displayTab("+tabid+",1,"+((sortBy==1)?nextsorting:0)+","+startAt+");", "Name", (sortBy==1)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "15%", "javascript:displayTab("+tabid+",6,"+((sortBy==6)?nextsorting:0)+","+startAt+");", "Itemlevel", (sortBy==6)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "15%", "javascript:displayTab("+tabid+",7,"+((sortBy==7)?nextsorting:0)+","+startAt+");", "Mindeststufe", (sortBy==7)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "20%", "javascript:displayTab("+tabid+",8,"+((sortBy==8)?nextsorting:0)+","+startAt+");", "Typ", (sortBy==8)?sortDirection:-1));
		if(listtype==80) {
			listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",10,"+((sortBy==10)?nextsorting:0)+","+startAt+");", "Score", (sortBy==10)?sortDirection:-1));
		}
		listcontent_thead.appendChild(listcontent_tr);
		listcontent.appendChild(listcontent_thead);
		var listcontent_tbody=document.createElement("tbody");
		listcontent_tbody.className="listbody";
		for(i=0;i<displaycount;i++) {
			var currentline=listdata[i+startAt];
			listcontent_tr=document.createElement("tr");
			listcontent_tr.onclick=new Function("document.location.href='item?id="+currentline[0]+"'");
			listcontent_tr.className="clickable";
			var listcontent_tr_name_div=document.createElement("div");
			listcontent_tr_name_div.className="bold";
			listcontent_tr_name_div.className="q"+currentline[3];
			if(listcontent_tr_name_div.className=="q1") listcontent_tr_name_div.className="q1b";
			listcontent_tr_name_div.style.fontWeight="bold";
			var listcontent_tr_name_link=document.createElement("a");
			listcontent_tr_name_link.href="item?id="+currentline[0];
			listcontent_tr_name_div.appendChild(getItemIcon(currentline[2], "item?id="+currentline[0], currentline[4], currentline[5], currentline[5], "medium"));
			listcontent_tr_name_link.appendChild(document.createTextNode(currentline[1]));
			addTooltip(listcontent_tr_name_link, currentline[4]);
			listcontent_tr_name_div.appendChild(listcontent_tr_name_link);
			var listcontent_tr_name=getListTableElement("left", listcontent_tr_name_div);
			var listcontent_tr_itemlevel=getListTableElement("center", document.createTextNode(currentline[6]));
			var listcontent_tr_playerlevel=getListTableElement("center", document.createTextNode(currentline[7]));
			var listcontent_tr_type=getListTableElement("center", null);
			getLinkElement(currentline[8], "items?category="+currentline[9], listcontent_tr_type);
			var listcontent_tr_score=null;
			if(listtype==80) listcontent_tr_score=getListTableElement("center", document.createTextNode(formatScore(currentline[10])));
			appendMultipleChilds(listcontent_tr, [listcontent_tr_name, listcontent_tr_itemlevel, listcontent_tr_playerlevel, listcontent_tr_type, listcontent_tr_score]);
			listcontent_tbody.appendChild(listcontent_tr);
		}
		listcontent.appendChild(listcontent_tbody);
		listcontent.id="listcontent";
		listbody.appendChild(listcontent);		
	}
	
	if(listtype==9 || listtype==13 || listtype==7 || listtype==91 || listtype==93 || listtype==94) { // enthält, kann enthalten sein in, entzaubert in, sondiert zu, sondiert aus
		if(sortBy==1) sortListLex(listdata, 1, sortDirection);
		if(sortBy==5) sortListNum(listdata, 5, sortDirection);
		if(sortBy==7) sortListNum(listdata, 7, sortDirection);
		if(sortBy==8) sortListNum(listdata, 8, sortDirection);
		if(sortBy==9) sortListLex(listdata, 9, sortDirection);
		listcontent=getListContentTable();
		var listcontent_thead=document.createElement("thead");
		var listcontent_tr=document.createElement("tr");
		listcontent_tr.appendChild(getListContentHeader(true, "40%", "javascript:displayTab("+tabid+",1,"+((sortBy==1)?nextsorting:0)+","+startAt+");", "Name", (sortBy==1)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "15%", "javascript:displayTab("+tabid+",7,"+((sortBy==7)?nextsorting:0)+","+startAt+");", "Itemlevel", (sortBy==7)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "15%", "javascript:displayTab("+tabid+",8,"+((sortBy==8)?nextsorting:0)+","+startAt+");", "Mindeststufe", (sortBy==8)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "20%", "javascript:displayTab("+tabid+",9,"+((sortBy==9)?nextsorting:0)+","+startAt+");", "Typ", (sortBy==9)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",5,"+((sortBy==5)?nextsorting:0)+","+startAt+");", "Chance", (sortBy==5)?sortDirection:-1));
		listcontent_thead.appendChild(listcontent_tr);
		listcontent.appendChild(listcontent_thead);
		var listcontent_tbody=document.createElement("tbody");
		listcontent_tbody.className="listbody";
		for(i=0;i<displaycount;i++) {
			var currentline=listdata[i+startAt];
			listcontent_tr=document.createElement("tr");
			listcontent_tr.onclick=new Function("document.location.href='item?id="+currentline[0]+"'");
			listcontent_tr.className="clickable";
			var listcontent_tr_name_link=document.createElement("a");
			listcontent_tr_name_link.href="item?id="+currentline[0];
			listcontent_tr_name_link.className="q"+currentline[3];
			if(listcontent_tr_name_link.className=="q1") listcontent_tr_name_link.className="q1b";
			var listcontent_tr_name_icon=getItemIcon(currentline[2], "item?id="+currentline[0], currentline[4], 1, 1, "medium");
			listcontent_tr_name_link.appendChild(document.createTextNode(currentline[1]));
			addTooltip(listcontent_tr_name_link, currentline[4]);
			var listcontent_tr_name_text_span=document.createElement("span");
			listcontent_tr_name_text_span.className="listelement_iconname_text_table";
			listcontent_tr_name_text_span.appendChild(listcontent_tr_name_link);
			var listcontent_tr_name_table=document.createElement("table");
			var listcontent_tr_name_table_tbody=document.createElement("tbody");
			listcontent_tr_name_table.appendChild(listcontent_tr_name_table_tbody);
			listcontent_tr_name_table.cellPadding=0;
			listcontent_tr_name_table.cellSpacing=0;
			listcontent_tr_name_table_tr=document.createElement("tr");
			listcontent_tr_name_table_tbody.appendChild(listcontent_tr_name_table_tr);
			listcontent_tr_name_table_tr_td=document.createElement("td");
			listcontent_tr_name_table_tr_td.width=44;
			listcontent_tr_name_table_tr_td.appendChild(listcontent_tr_name_icon);
			listcontent_tr_name_table_tr.appendChild(listcontent_tr_name_table_tr_td);
			listcontent_tr_name_table_tr_td=document.createElement("td");
			listcontent_tr_name_table_tr_td.align="left";
			listcontent_tr_name_table_tr_td.vAlign="middle";
			listcontent_tr_name_table_tr_td.appendChild(listcontent_tr_name_text_span);
			listcontent_tr_name_table_tr.appendChild(listcontent_tr_name_table_tr_td);			
			var listcontent_tr_name=getListTableElement("left", listcontent_tr_name_table);	
			var listcontent_tr_itemlevel=getListTableElement("center", document.createTextNode(currentline[7]));
			var listcontent_tr_playerlevel=getListTableElement("center", document.createTextNode(currentline[8]));
			var listcontent_tr_type=getListTableElement("center", document.createTextNode(currentline[9]));
			var listcontent_tr_chance=getListTableElement("center", document.createTextNode(currentline[5]+" %"));
			listcontent_tr_chance.appendChild(document.createElement("br"));
			var listcontent_tr_chance_span=document.createElement("span");
			listcontent_tr_chance_span.className="dropcount";
			listcontent_tr_chance_span.appendChild(document.createTextNode(currentline[6]));
			listcontent_tr_chance.appendChild(listcontent_tr_chance_span);
			appendMultipleChilds(listcontent_tr, [listcontent_tr_name, listcontent_tr_itemlevel, listcontent_tr_playerlevel, listcontent_tr_type, listcontent_tr_chance]);
			listcontent_tbody.appendChild(listcontent_tr);
		}
		listcontent.appendChild(listcontent_tbody);
		listcontent.id="listcontent";
		listbody.appendChild(listcontent);		
	}
	
	if(listtype==38 || listtype==90) { // verkauft (Item)
		if(sortBy==1) sortListLex(listdata, 1, sortDirection);
		if(sortBy==10) sortListMoney(listdata, 10, sortDirection);
		if(sortBy==6) sortListNum(listdata, 6, sortDirection);
		if(sortBy==7) sortListNum(listdata, 7, sortDirection);
		if(sortBy==8) sortListLex(listdata, 8, sortDirection);
		listcontent=getListContentTable();
		var listcontent_thead=document.createElement("thead");
		var listcontent_tr=document.createElement("tr");
		listcontent_tr.appendChild(getListContentHeader(true, "40%", "javascript:displayTab("+tabid+",1,"+((sortBy==1)?nextsorting:0)+","+startAt+");", "Name", (sortBy==1)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",6,"+((sortBy==6)?nextsorting:0)+","+startAt+");", "Itemlevel", (sortBy==6)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",7,"+((sortBy==7)?nextsorting:0)+","+startAt+");", "Mindeststufe", (sortBy==7)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "20%", "javascript:displayTab("+tabid+",8,"+((sortBy==8)?nextsorting:0)+","+startAt+");", "Typ", (sortBy==8)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "20%", "javascript:displayTab("+tabid+",10,"+((sortBy==10)?nextsorting:0)+","+startAt+");", "Preis", (sortBy==10)?sortDirection:-1));
		listcontent_thead.appendChild(listcontent_tr);
		listcontent.appendChild(listcontent_thead);
		var listcontent_tbody=document.createElement("tbody");
		listcontent_tbody.className="listbody";
		for(i=0;i<displaycount;i++) {
			var currentline=listdata[i+startAt];
			listcontent_tr=document.createElement("tr");
			listcontent_tr.onclick=new Function("document.location.href='item?id="+currentline[0]+"'");
			listcontent_tr.className="clickable";			
			var listcontent_tr_name_link=document.createElement("a");
			listcontent_tr_name_link.href="item?id="+currentline[0];
			listcontent_tr_name_link.className="q"+currentline[3];
			if(listcontent_tr_name_link.className=="q1") listcontent_tr_name_link.className="q1b";
			var listcontent_tr_name_icon=getItemIcon(currentline[2], "item?id="+currentline[0], currentline[4], currentline[5], currentline[5], "medium");
			listcontent_tr_name_link.appendChild(document.createTextNode(currentline[1]));
			addTooltip(listcontent_tr_name_link, currentline[4]);
			var listcontent_tr_name_text_span=document.createElement("span");
			listcontent_tr_name_text_span.className="listelement_iconname_text_table";
			listcontent_tr_name_text_span.appendChild(listcontent_tr_name_link);
			var listcontent_tr_name_table=document.createElement("table");
			var listcontent_tr_name_table_tbody=document.createElement("tbody");
			listcontent_tr_name_table.appendChild(listcontent_tr_name_table_tbody);
			listcontent_tr_name_table.cellPadding=0;
			listcontent_tr_name_table.cellSpacing=0;
			listcontent_tr_name_table_tr=document.createElement("tr");
			listcontent_tr_name_table_tbody.appendChild(listcontent_tr_name_table_tr);
			listcontent_tr_name_table_tr_td=document.createElement("td");
			listcontent_tr_name_table_tr_td.width=44;
			listcontent_tr_name_table_tr_td.appendChild(listcontent_tr_name_icon);
			listcontent_tr_name_table_tr.appendChild(listcontent_tr_name_table_tr_td);
			listcontent_tr_name_table_tr_td=document.createElement("td");
			listcontent_tr_name_table_tr_td.align="left";
			listcontent_tr_name_table_tr_td.vAlign="middle";
			listcontent_tr_name_table_tr_td.appendChild(listcontent_tr_name_text_span);
			listcontent_tr_name_table_tr.appendChild(listcontent_tr_name_table_tr_td);			
			var listcontent_tr_name=getListTableElement("left", listcontent_tr_name_table);	
			var listcontent_tr_itemlevel=getListTableElement("center", document.createTextNode(currentline[6]));
			var listcontent_tr_playerlevel=getListTableElement("center", document.createTextNode(currentline[7]));
			var listcontent_tr_type=getListTableElement("center", null);
			getLinkElement(currentline[8], "items?category="+currentline[9], listcontent_tr_type);
			var listcontent_tr_price=getListTableElement("center", null);
			addPrice(listcontent_tr_price, currentline[10]);
			appendMultipleChilds(listcontent_tr, [listcontent_tr_name, listcontent_tr_itemlevel, listcontent_tr_playerlevel, listcontent_tr_type, listcontent_tr_price]);
			listcontent_tbody.appendChild(listcontent_tr);
		}
		listcontent.appendChild(listcontent_tbody);
		listcontent.id="listcontent";
		listbody.appendChild(listcontent);		
	}
	
	if(listtype==5 || listtype==10 || listtype==12 || listtype==22 || listtype==35 || listtype==36 || listtype==51 || listtype==52 || listtype==62 || listtype==71 || listtype==83) { // Ziel von, Belohnung für, zur Verfügung gestellt für, startet, beendet (Quest)
		if(sortBy==1) sortListLex(listdata, 1, sortDirection);
		if(sortBy==3) sortListNum(listdata, 3, sortDirection);
		if(sortBy==5) sortListNum(listdata, 5, sortDirection);
		if(sortBy==8) sortListListLength(listdata, 8, sortDirection);
		if(sortBy==6) sortListLex(listdata, 6, sortDirection);
		if(sortBy==9) sortListNum(listdata, 9, sortDirection);
		listcontent=getListContentTable();
		var listcontent_thead=document.createElement("thead");
		var listcontent_tr=document.createElement("tr");
		listcontent_tr.appendChild(getListContentHeader(true, (listtype!=71 && listtype!=83)?"30%":"25%", "javascript:displayTab("+tabid+",1,"+((sortBy==1)?nextsorting:0)+","+startAt+");", "Name", (sortBy==1)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",3,"+((sortBy==3)?nextsorting:0)+","+startAt+");", "Stufe", (sortBy==3)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",5,"+((sortBy==5)?nextsorting:0)+","+startAt+");", "Fraktion", (sortBy==5)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "30%", "javascript:displayTab("+tabid+",8,"+((sortBy==8)?nextsorting:0)+","+startAt+");", "Belohnungen", (sortBy==8)?sortDirection:-1));
		if(listtype==71) {
			listcontent_tr.appendChild(getListContentHeader(false, "5%", "javascript:displayTab("+tabid+",9,"+((sortBy==8)?nextsorting:0)+","+startAt+");", "Ruf", (sortBy==8)?sortDirection:-1));
		}
		listcontent_tr.appendChild(getListContentHeader(false, "15%", "javascript:displayTab("+tabid+",6,"+((sortBy==6)?nextsorting:0)+","+startAt+");", "Kategorie", (sortBy==6)?sortDirection:-1));
		if(listtype==83) {
			listcontent_tr.appendChild(getListContentHeader(false, "5%", "javascript:displayTab("+tabid+",9,"+((sortBy==9)?nextsorting:0)+","+startAt+");", "Score", (sortBy==9)?sortDirection:-1));	
		}
		listcontent_thead.appendChild(listcontent_tr);
		listcontent.appendChild(listcontent_thead);
		var listcontent_tbody=document.createElement("tbody");
		listcontent_tbody.className="listbody";
		for(i=0;i<displaycount;i++) {
			var currentline=listdata[i+startAt];
			listcontent_tr=document.createElement("tr");
			listcontent_tr.onclick=new Function("document.location.href='quest?id="+currentline[0]+"'");
			listcontent_tr.className="clickable";
			var listcontent_tr_name_link=document.createElement("a");
			listcontent_tr_name_link.style.fontWeight="bold";
			listcontent_tr_name_link.href="quest?id="+currentline[0];
			listcontent_tr_name_link.appendChild(document.createTextNode(currentline[1]));
			addTooltip(listcontent_tr_name_link, currentline[2]);
			var listcontent_tr_level=getListTableElement("center", document.createTextNode(currentline[3]));
			var listcontent_tr_level_div=document.createElement("div");
			listcontent_tr_level_div.appendChild(document.createTextNode(currentline[4]));
			listcontent_tr_level_div.className="lilbitsmallertext";
			listcontent_tr_level.appendChild(listcontent_tr_level_div);
			var listcontent_tr_name=getListTableElement("left", listcontent_tr_name_link);
			var listcontent_tr_faction=getListTableElement("center", null);
			if((currentline[5]&1)!=0) {
				var listcontent_tr_faction_alliance=document.createElement("img");
				listcontent_tr_faction_alliance.src="images/faction_alliance.png";
				listcontent_tr_faction.appendChild(listcontent_tr_faction_alliance);
			}
			if((currentline[5]&2)!=0) {
				var listcontent_tr_faction_horde=document.createElement("img");
				listcontent_tr_faction_horde.src="images/faction_horde.png";
				listcontent_tr_faction.appendChild(listcontent_tr_faction_horde);
			}
			var listcontent_tr_rewards=getListTableElement("center", null);
			var listcontent_tr_rewards_content;
			var listcontent_tr_rewards_table=document.createElement("table");
			listcontent_tr_rewards_table.border=0;
			listcontent_tr_rewards_table.cellPadding=0;
			listcontent_tr_rewards_table.cellSpacing=0;
			var listcontent_tr_rewards_table_tbody=document.createElement("tbody");
			var listcontent_tr_rewards_table_tbody_tr=document.createElement("tr");
			if(currentline[8][0].length>0) {
				for(k=0;k<currentline[8][0].length;k++) {
					listcontent_tr_rewards_content=document.createElement("td");
					listcontent_tr_rewards_content_table=document.createElement("table");
					listcontent_tr_rewards_content_table.width=32;
					listcontent_tr_rewards_content_table.border=0;
					listcontent_tr_rewards_content_table.cellPadding=0;
					listcontent_tr_rewards_content_table.cellSpacing=0;
					listcontent_tr_rewards_content_table_tbody=document.createElement("tbody");
					listcontent_tr_rewards_content_table_tr=document.createElement("tr");
					listcontent_tr_rewards_content_table_td=document.createElement("td");
					listcontent_tr_rewards_content_table_td.align="left";
					addItemIcon(listcontent_tr_rewards_content_table_td, currentline[8][0][k][1], "item?id="+currentline[8][0][k][0], currentline[8][0][k][2], currentline[8][0][k][3], currentline[8][0][k][3], "small");
					listcontent_tr_rewards_content_table_tr.appendChild(listcontent_tr_rewards_content_table_td);
					listcontent_tr_rewards_content_table_tbody.appendChild(listcontent_tr_rewards_content_table_tr);
					listcontent_tr_rewards_content_table.appendChild(listcontent_tr_rewards_content_table_tbody);
					listcontent_tr_rewards_content.appendChild(listcontent_tr_rewards_content_table);
					listcontent_tr_rewards_table_tbody_tr.appendChild(listcontent_tr_rewards_content);
				}
			}
			if(currentline[8][1].length>0) {
				var pretext;
				if(currentline[8][0].length>0) pretext=document.createTextNode(" und eines von:");
				else pretext=document.createTextNode("eines von: ");
				listcontent_tr_rewards_content=document.createElement("td");
				listcontent_tr_rewards_content.appendChild(pretext);
				listcontent_tr_rewards_table_tbody_tr.appendChild(listcontent_tr_rewards_content);	

				for(k=0;k<currentline[8][1].length;k++) {
					listcontent_tr_rewards_content=document.createElement("td");
					listcontent_tr_rewards_content_table=document.createElement("table");
					listcontent_tr_rewards_content_table.width=32;
					listcontent_tr_rewards_content_table.border=0;
					listcontent_tr_rewards_content_table.cellPadding=0;
					listcontent_tr_rewards_content_table.cellSpacing=0;
					listcontent_tr_rewards_content_table_tbody=document.createElement("tbody");
					listcontent_tr_rewards_content_table_tr=document.createElement("tr");
					listcontent_tr_rewards_content_table_td=document.createElement("td");
					listcontent_tr_rewards_content_table_td.align="left";
					addItemIcon(listcontent_tr_rewards_content_table_td, currentline[8][1][k][1], "item?id="+currentline[8][1][k][0], currentline[8][1][k][2], currentline[8][1][k][3], currentline[8][1][k][3], "small");
					listcontent_tr_rewards_content_table_tr.appendChild(listcontent_tr_rewards_content_table_td);
					listcontent_tr_rewards_content_table_tbody.appendChild(listcontent_tr_rewards_content_table_tr);
					listcontent_tr_rewards_content_table.appendChild(listcontent_tr_rewards_content_table_tbody);
					listcontent_tr_rewards_content.appendChild(listcontent_tr_rewards_content_table);
					listcontent_tr_rewards_table_tbody_tr.appendChild(listcontent_tr_rewards_content);
				}
			}
			listcontent_tr_rewards_table_tbody.appendChild(listcontent_tr_rewards_table_tbody_tr);
			listcontent_tr_rewards_table.appendChild(listcontent_tr_rewards_table_tbody);
			listcontent_tr_rewards.appendChild(listcontent_tr_rewards_table);
 			var listcontent_tr_category=getListTableElement("center", null);
			getLinkElement(currentline[6], "quests?category="+currentline[7], listcontent_tr_category);
			var listcontent_tr_rep=null;
			if(listtype==71) {
				listcontent_tr_rep=getListTableElement("center", document.createTextNode(currentline[9]));
			}
			var listcontent_tr_score=null;
			if(listtype==83) {
				listcontent_tr_score=getListTableElement("center", document.createTextNode(formatScore(currentline[9])));	
			}
			appendMultipleChilds(listcontent_tr, [listcontent_tr_name, listcontent_tr_level, listcontent_tr_faction, listcontent_tr_rewards, listcontent_tr_rep, listcontent_tr_category, listcontent_tr_score]);
			listcontent_tbody.appendChild(listcontent_tr);
		}
		listcontent.appendChild(listcontent_tbody);
		listcontent.id="listcontent";
		listbody.appendChild(listcontent);		
	}
	
	if(listtype==6 || listtype==14 || listtype==15 || listtype==16) { // Erbeutet von
		if(sortBy==1) sortListLex(listdata, 1, sortDirection);
		if(sortBy==4) sortListNum(listdata, 4, sortDirection);
		if(sortBy==6) sortListLex(listdata, 6, sortDirection);
		if(sortBy==7) sortListNum(listdata, 7, sortDirection);
		listcontent=getListContentTable();
		var listcontent_thead=document.createElement("thead");
		var listcontent_tr=document.createElement("tr");
		listcontent_tr.appendChild(getListContentHeader(true, "50%", "javascript:displayTab("+tabid+",1,"+((sortBy==1)?nextsorting:0)+","+startAt+");", "Name", (sortBy==1)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",4,"+((sortBy==4)?nextsorting:0)+","+startAt+");", "Stufe", (sortBy==4)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "30%", "javascript:displayTab("+tabid+",6,"+((sortBy==6)?nextsorting:0)+","+startAt+");", "Aufenthaltsort", (sortBy==6)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",7,"+((sortBy==7)?nextsorting:0)+","+startAt+");", "Chance", (sortBy==7)?sortDirection:-1));
		listcontent_thead.appendChild(listcontent_tr);
		listcontent.appendChild(listcontent_thead);
		var listcontent_tbody=document.createElement("tbody");
		listcontent_tbody.className="listbody";
		for(i=0;i<displaycount;i++) {
			var currentline=listdata[i+startAt];
			listcontent_tr=document.createElement("tr");
			listcontent_tr.onclick=new Function("document.location.href='npc?id="+currentline[0]+"'");
			listcontent_tr.className="clickable";
			var listcontent_tr_name_link=document.createElement("a");
			listcontent_tr_name_link.className="bold";
			listcontent_tr_name_link.href="npc?id="+currentline[0];
			listcontent_tr_name_link.appendChild(document.createTextNode(currentline[1]));
			var listcontent_tr_name=getListTableElement("left", listcontent_tr_name_link);
			if(currentline[2]!=null) {
				var listcontent_tr_name_subtitle=document.createElement("span");
				listcontent_tr_name_subtitle.className="smalltext block";
				listcontent_tr_name_subtitle.appendChild(document.createTextNode(currentline[2]));
				listcontent_tr_name.appendChild(listcontent_tr_name_subtitle);
			}
			if(currentline[3]!=null) addTooltip(listcontent_tr_name, currentline[3]);
			var listcontent_tr_level=getListTableElement("center", document.createTextNode(formatMobLevelString(currentline[4], currentline[5])));
			var listcontent_tr_location=getListTableElement("center", null);
			for(k=0;k<currentline[6].length;k++) {
				if(k>0 && currentline[6][k].length==2)	listcontent_tr_location.appendChild(document.createTextNode(", "));
				if(currentline[6][k].length==2) {
					var listcontent_tr_location_a=document.createElement("a");
					listcontent_tr_location_a.href="zone?id="+currentline[6][k][0];
					listcontent_tr_location_a.appendChild(document.createTextNode(currentline[6][k][1]));
					listcontent_tr_location.appendChild(listcontent_tr_location_a);
				} else {
					listcontent_tr_location.appendChild(document.createTextNode(" ("+currentline[6][k][0]+" weitere)"));
				}
			}
			var listcontent_tr_chance=getListTableElement("center", document.createTextNode(currentline[7]+" %"));
			listcontent_tr_chance.appendChild(document.createElement("br"));
			var listcontent_tr_chance_span=document.createElement("span");
			listcontent_tr_chance_span.className="dropcount";
			listcontent_tr_chance_span.appendChild(document.createTextNode(currentline[8]));
			listcontent_tr_chance.appendChild(listcontent_tr_chance_span);
			appendMultipleChilds(listcontent_tr, [listcontent_tr_name, listcontent_tr_level, listcontent_tr_location, listcontent_tr_chance]);
			listcontent_tbody.appendChild(listcontent_tr);
		}
		listcontent.appendChild(listcontent_tbody);
		listcontent.id="listcontent";
		listbody.appendChild(listcontent);
	}
	
	if(listtype==30 || listtype==31 || listtype==32 || listtype==33 || listtype==34) { // Beute
		if(sortBy==1) sortListLex(listdata, 1, sortDirection);
		if(sortBy==5) sortListNum(listdata, 5, sortDirection);
		if(sortBy==6) sortListNum(listdata, 6, sortDirection);
		if(sortBy==7) sortListLex(listdata, 7, sortDirection);
		if(sortBy==8) sortListNum(listdata, 8, sortDirection);
		listcontent=getListContentTable();
		var listcontent_thead=document.createElement("thead");
		var listcontent_tr=document.createElement("tr");
		listcontent_tr.appendChild(getListContentHeader(true, "50%", "javascript:displayTab("+tabid+",1,"+((sortBy==1)?nextsorting:0)+","+startAt+");", "Name", (sortBy==1)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",5,"+((sortBy==5)?nextsorting:0)+","+startAt+");", "Itemlevel", (sortBy==5)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",6,"+((sortBy==6)?nextsorting:0)+","+startAt+");", "Mindeststufe", (sortBy==6)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "20%", "javascript:displayTab("+tabid+",7,"+((sortBy==7)?nextsorting:0)+","+startAt+");", "Typ", (sortBy==7)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",8,"+((sortBy==8)?nextsorting:0)+","+startAt+");", "Chance", (sortBy==8)?sortDirection:-1));
		listcontent_thead.appendChild(listcontent_tr);
		listcontent.appendChild(listcontent_thead);
		var listcontent_tbody=document.createElement("tbody");
		listcontent_tbody.className="listbody";
		for(i=0;i<displaycount;i++) {
			var currentline=listdata[i+startAt];
			listcontent_tr=document.createElement("tr");
			listcontent_tr.onclick=new Function("document.location.href='item?id="+currentline[0]+"'");
			listcontent_tr.className="clickable";
			var listcontent_tr_name_div=document.createElement("div");
			listcontent_tr_name_div.className="bold";
			listcontent_tr_name_div.className="q"+currentline[3];
			if(listcontent_tr_name_div.className=="q1") listcontent_tr_name_div.className="q1b";
			listcontent_tr_name_div.style.fontWeight="bold";
			var listcontent_tr_name_link=document.createElement("a");
			listcontent_tr_name_link.href="item?id="+currentline[0];
			listcontent_tr_name_div.appendChild(getItemIcon(currentline[2], "item?id="+currentline[0], currentline[4], 1, 1, "medium"));
			listcontent_tr_name_link.appendChild(document.createTextNode(currentline[1]));
			addTooltip(listcontent_tr_name_link, currentline[4]);
			listcontent_tr_name_div.appendChild(listcontent_tr_name_link);
			var listcontent_tr_name=getListTableElement("left", listcontent_tr_name_div);
			var listcontent_tr_itemlevel=getListTableElement("center", document.createTextNode(currentline[5]));
			var listcontent_tr_playerlevel=getListTableElement("center", document.createTextNode(currentline[6]));
			var listcontent_tr_type=getListTableElement("center", document.createTextNode(currentline[7]));
			var listcontent_tr_chance=getListTableElement("center", document.createTextNode(currentline[8]+" %"));
			listcontent_tr_chance.appendChild(document.createElement("br"));
			var listcontent_tr_chance_span=document.createElement("span");
			listcontent_tr_chance_span.className="dropcount";
			listcontent_tr_chance_span.appendChild(document.createTextNode(currentline[9]));
			listcontent_tr_chance.appendChild(listcontent_tr_chance_span);
			appendMultipleChilds(listcontent_tr, [listcontent_tr_name, listcontent_tr_itemlevel, listcontent_tr_playerlevel, listcontent_tr_type, listcontent_tr_chance]);
			listcontent_tbody.appendChild(listcontent_tr);
		}
		listcontent.appendChild(listcontent_tbody);
		listcontent.id="listcontent";
		listbody.appendChild(listcontent);		
	}
	
	if(listtype==64 || listtype==65 || listtype==66 || listtype==67 || listtype==68 || listtype==69) { // Zoneloot
		if(sortBy==1) sortListLex(listdata, 1, sortDirection);
		if(sortBy==5) sortListNum(listdata, 5, sortDirection);
		if(sortBy==6) sortListNum(listdata, 6, sortDirection);
		if(sortBy==7) sortListLex(listdata, 7, sortDirection);
		if(sortBy==8) sortListLex(listdata, 8, sortDirection);
		if(sortBy==9) sortListNum(listdata, 9, sortDirection);
		listcontent=getListContentTable();
		var listcontent_thead=document.createElement("thead");
		var listcontent_tr=document.createElement("tr");
		listcontent_tr.appendChild(getListContentHeader(true, "40%", "javascript:displayTab("+tabid+",1,"+((sortBy==1)?nextsorting:0)+","+startAt+");", "Name", (sortBy==1)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",5,"+((sortBy==5)?nextsorting:0)+","+startAt+");", "Itemlevel", (sortBy==5)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",6,"+((sortBy==6)?nextsorting:0)+","+startAt+");", "Mindeststufe", (sortBy==6)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "18%", "javascript:displayTab("+tabid+",7,"+((sortBy==7)?nextsorting:0)+","+startAt+");", "Quelle", (sortBy==7)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "12%", "javascript:displayTab("+tabid+",8,"+((sortBy==8)?nextsorting:0)+","+startAt+");", "Typ", (sortBy==8)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",9,"+((sortBy==9)?nextsorting:0)+","+startAt+");", "Chance", (sortBy==9)?sortDirection:-1));
		listcontent_thead.appendChild(listcontent_tr);
		listcontent.appendChild(listcontent_thead);
		var listcontent_tbody=document.createElement("tbody");
		listcontent_tbody.className="listbody";
		for(i=0;i<displaycount;i++) {
			var currentline=listdata[i+startAt];
			listcontent_tr=document.createElement("tr");
			listcontent_tr.onclick=new Function("document.location.href='item?id="+currentline[0]+"'");
			listcontent_tr.className="clickable";
			var listcontent_tr_name_div=document.createElement("div");
			listcontent_tr_name_div.className="bold";
			listcontent_tr_name_div.className="q"+currentline[3];
			if(listcontent_tr_name_div.className=="q1") listcontent_tr_name_div.className="q1b";
			listcontent_tr_name_div.style.fontWeight="bold";
			var listcontent_tr_name_link=document.createElement("a");
			listcontent_tr_name_link.href="item?id="+currentline[0];
			listcontent_tr_name_div.appendChild(getItemIcon(currentline[2], "item?id="+currentline[0], currentline[4], 1, 1, "medium"));
			listcontent_tr_name_link.appendChild(document.createTextNode(currentline[1]));
			addTooltip(listcontent_tr_name_link, currentline[4]);
			listcontent_tr_name_div.appendChild(listcontent_tr_name_link);
			var listcontent_tr_name=getListTableElement("left", listcontent_tr_name_div);
			var listcontent_tr_itemlevel=getListTableElement("center", document.createTextNode(currentline[5]));
			var listcontent_tr_playerlevel=getListTableElement("center", document.createTextNode(currentline[6]));
			
			var listcontent_tr_source=getListTableElement("center", null);	
			if(currentline[7][0]!='') {
				if(currentline[7][1]!='') getLinkElement(currentline[7][0], currentline[7][1], listcontent_tr_source);
				else listcontent_tr_source.appendChild(document.createTextNode(currentline[7][0]));
			}
			if(currentline[7][2]!='') {
				listcontent_tr_source.appendChild(document.createElement("br"));
				var listcontent_tr_span=document.createElement("span")
				listcontent_tr_span.className="smalltext";
				getLinkElement(currentline[7][2], currentline[7][3], listcontent_tr_span);
				listcontent_tr_source.appendChild(listcontent_tr_span);
			}			
			
			var listcontent_tr_type=getListTableElement("center", document.createTextNode(currentline[8]));
			var listcontent_tr_chance=getListTableElement("center", document.createTextNode(currentline[9]+" %"));
			listcontent_tr_chance.appendChild(document.createElement("br"));
			var listcontent_tr_chance_span=document.createElement("span");
			listcontent_tr_chance_span.className="dropcount";
			listcontent_tr_chance_span.appendChild(document.createTextNode(currentline[10]));
			listcontent_tr_chance.appendChild(listcontent_tr_chance_span);
			appendMultipleChilds(listcontent_tr, [listcontent_tr_name, listcontent_tr_itemlevel, listcontent_tr_playerlevel, listcontent_tr_source, listcontent_tr_type, listcontent_tr_chance]);
			listcontent_tbody.appendChild(listcontent_tr);
		}
		listcontent.appendChild(listcontent_tbody);
		listcontent.id="listcontent";
		listbody.appendChild(listcontent);		
	}
	
	if(listtype==17 || listtype==18 || listtype==19) { // Enthalten in (Objectloot)
		if(sortBy==1) sortListLex(listdata, 1, sortDirection);
		if(sortBy==3) sortListListLength(listdata, 3, sortDirection);
		if(sortBy==4) sortListLex(listdata, 4, sortDirection);
		if(sortBy==6) sortListNum(listdata, 6, sortDirection);
		listcontent=getListContentTable();
		var listcontent_thead=document.createElement("thead");
		var listcontent_tr=document.createElement("tr");
		listcontent_tr.appendChild(getListContentHeader(true, "30%", "javascript:displayTab("+tabid+",1,"+((sortBy==1)?nextsorting:0)+","+startAt+");", "Name", (sortBy==1)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "50%", "javascript:displayTab("+tabid+",3,"+((sortBy==3)?nextsorting:0)+","+startAt+");", "Zone", (sortBy==3)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",4,"+((sortBy==4)?nextsorting:0)+","+startAt+");", "Typ", (sortBy==4)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",6,"+((sortBy==6)?nextsorting:0)+","+startAt+");", "Chance", (sortBy==6)?sortDirection:-1));
		listcontent_thead.appendChild(listcontent_tr);
		listcontent.appendChild(listcontent_thead);
		var listcontent_tbody=document.createElement("tbody");
		listcontent_tbody.className="listbody";
		for(i=0;i<displaycount;i++) {
			var currentline=listdata[i+startAt];
			listcontent_tr=document.createElement("tr");
			listcontent_tr.onclick=new Function("document.location.href='object?id="+currentline[0]+"'");
			listcontent_tr.className="clickable";
			var listcontent_tr_name_link=document.createElement("a");
			listcontent_tr_name_link.className="bold";
			listcontent_tr_name_link.href="object?id="+currentline[0];
			listcontent_tr_name_link.appendChild(document.createTextNode(currentline[1]));
			var listcontent_tr_name=getListTableElement("left", listcontent_tr_name_link);
			if(currentline[2]!=null) addTooltip(listcontent_tr_name, currentline[2]);
			var listcontent_tr_location=getListTableElement("center", null);
			for(k=0;k<currentline[3].length;k++) {
				if(k>0 && currentline[3][k].length==2)	listcontent_tr_location.appendChild(document.createTextNode(", "));
				if(currentline[3][k].length==2) {
					var listcontent_tr_location_a=document.createElement("a");
					listcontent_tr_location_a.href="zone?id="+currentline[3][k][0];
					listcontent_tr_location_a.appendChild(document.createTextNode(currentline[3][k][1]));
					listcontent_tr_location.appendChild(listcontent_tr_location_a);
				} else {
					listcontent_tr_location.appendChild(document.createTextNode(" ("+currentline[3][k][0]+" weitere)"));
				}
			}
			var listcontent_tr_category=getListTableElement("center", null);
			getLinkElement(currentline[4], "objects?category="+currentline[5], listcontent_tr_category);
			var listcontent_tr_chance=getListTableElement("center", document.createTextNode(currentline[6]+" %"));
			listcontent_tr_chance.appendChild(document.createElement("br"));
			var listcontent_tr_chance_span=document.createElement("span");
			listcontent_tr_chance_span.className="dropcount";
			listcontent_tr_chance_span.appendChild(document.createTextNode(currentline[7]));
			listcontent_tr_chance.appendChild(listcontent_tr_chance_span);
			appendMultipleChilds(listcontent_tr, [listcontent_tr_name, listcontent_tr_location, listcontent_tr_category, listcontent_tr_chance]);
			listcontent_tbody.appendChild(listcontent_tr);
		}
		listcontent.appendChild(listcontent_tbody);
		listcontent.id="listcontent";
		listbody.appendChild(listcontent);
	}
	
	if(listtype==50 || listtype==53 || listtype==54) { // enthält (ObjectLoot)
		if(sortBy==1) sortListLex(listdata, 1, sortDirection);
		if(sortBy==5) sortListNum(listdata, 5, sortDirection);
		if(sortBy==6) sortListNum(listdata, 6, sortDirection);
		if(sortBy==7) sortListLex(listdata, 7, sortDirection);
		if(sortBy==9) sortListNum(listdata, 9, sortDirection);
		listcontent=getListContentTable();
		var listcontent_thead=document.createElement("thead");
		var listcontent_tr=document.createElement("tr");
		listcontent_tr.appendChild(getListContentHeader(true, "50%", "javascript:displayTab("+tabid+",1,"+((sortBy==1)?nextsorting:0)+","+startAt+");", "Name", (sortBy==1)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",5,"+((sortBy==5)?nextsorting:0)+","+startAt+");", "Itemlevel", (sortBy==5)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",6,"+((sortBy==6)?nextsorting:0)+","+startAt+");", "Mindeststufe", (sortBy==6)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "20%", "javascript:displayTab("+tabid+",7,"+((sortBy==7)?nextsorting:0)+","+startAt+");", "Typ", (sortBy==7)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",9,"+((sortBy==9)?nextsorting:0)+","+startAt+");", "Chance", (sortBy==9)?sortDirection:-1));
		listcontent_thead.appendChild(listcontent_tr);
		listcontent.appendChild(listcontent_thead);
		var listcontent_tbody=document.createElement("tbody");
		listcontent_tbody.className="listbody";
		for(i=0;i<displaycount;i++) {
			var currentline=listdata[i+startAt];
			listcontent_tr=document.createElement("tr");
			listcontent_tr.onclick=new Function("document.location.href='item?id="+currentline[0]+"'");
			listcontent_tr.className="clickable";
			var listcontent_tr_name_div=document.createElement("div");
			listcontent_tr_name_div.className="bold";
			listcontent_tr_name_div.className="q"+currentline[3];
			if(listcontent_tr_name_div.className=="q1") listcontent_tr_name_div.className="q1b";
			listcontent_tr_name_div.style.fontWeight="bold";
			var listcontent_tr_name_link=document.createElement("a");
			listcontent_tr_name_link.href="item?id="+currentline[0];
			listcontent_tr_name_div.appendChild(getItemIcon(currentline[2], "item?id="+currentline[0], currentline[4], 1, 1, "medium"));
			listcontent_tr_name_link.appendChild(document.createTextNode(currentline[1]));
			addTooltip(listcontent_tr_name_link, currentline[4]);
			listcontent_tr_name_div.appendChild(listcontent_tr_name_link);
			var listcontent_tr_name=getListTableElement("left", listcontent_tr_name_div);
			var listcontent_tr_itemlevel=getListTableElement("center", document.createTextNode(currentline[5]));
			var listcontent_tr_playerlevel=getListTableElement("center", document.createTextNode(currentline[6]));
			var listcontent_tr_type=getListTableElement("center", null);
			getLinkElement(currentline[7], "npcs?category="+currentline[8], listcontent_tr_type);
			var listcontent_tr_chance=getListTableElement("center", document.createTextNode(currentline[9]+" %"));
			listcontent_tr_chance.appendChild(document.createElement("br"));
			var listcontent_tr_chance_span=document.createElement("span");
			listcontent_tr_chance_span.className="dropcount";
			listcontent_tr_chance_span.appendChild(document.createTextNode(currentline[10]));
			listcontent_tr_chance.appendChild(listcontent_tr_chance_span);
			appendMultipleChilds(listcontent_tr, [listcontent_tr_name, listcontent_tr_itemlevel, listcontent_tr_playerlevel, listcontent_tr_type, listcontent_tr_chance]);
			listcontent_tbody.appendChild(listcontent_tr);
		}
		listcontent.appendChild(listcontent_tbody);
		listcontent.id="listcontent";
		listbody.appendChild(listcontent);		
	}
	
	if(listtype==61 || listtype==85) { // Object
		if(sortBy==1) sortListLex(listdata, 1, sortDirection);
		if(sortBy==2) sortListListLength(listdata, 2, sortDirection);
		if(sortBy==4) sortListLex(listdata, 4, sortDirection);
		if(sortBy==6) sortListNum(listdata, 6, sortDirection);
		listcontent=getListContentTable();
		var listcontent_thead=document.createElement("thead");
		var listcontent_tr=document.createElement("tr");
		listcontent_tr.appendChild(getListContentHeader(true, "30%", "javascript:displayTab("+tabid+",1,"+((sortBy==1)?nextsorting:0)+","+startAt+");", "Name", (sortBy==1)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, (listtype!=85)?"55%":"50%", "javascript:displayTab("+tabid+",2,"+((sortBy==2)?nextsorting:0)+","+startAt+");", "Zone", (sortBy==2)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "15%", "javascript:displayTab("+tabid+",4,"+((sortBy==4)?nextsorting:0)+","+startAt+");", "Typ", (sortBy==4)?sortDirection:-1));
		if(listtype==85) {
			listcontent_tr.appendChild(getListContentHeader(false, "5%", "javascript:displayTab("+tabid+",6,"+((sortBy==6)?nextsorting:0)+","+startAt+");", "Score", (sortBy==6)?sortDirection:-1));	
		}
		listcontent_thead.appendChild(listcontent_tr);
		listcontent.appendChild(listcontent_thead);
		var listcontent_tbody=document.createElement("tbody");
		listcontent_tbody.className="listbody";
		for(i=0;i<displaycount;i++) {
			var currentline=listdata[i+startAt];
			listcontent_tr=document.createElement("tr");
			listcontent_tr.onclick=new Function("document.location.href='object?id="+currentline[0]+"'");
			listcontent_tr.className="clickable";
			var listcontent_tr_name_link=document.createElement("a");
			listcontent_tr_name_link.className="bold";
			listcontent_tr_name_link.href="object?id="+currentline[0];
			listcontent_tr_name_link.appendChild(document.createTextNode(currentline[1]));
			var listcontent_tr_name=getListTableElement("left", listcontent_tr_name_link);
			if(currentline[2]!=null) addTooltip(listcontent_tr_name, currentline[2]);
			var listcontent_tr_location=getListTableElement("center", null);
			for(k=0;k<currentline[3].length;k++) {
				if(k>0 && currentline[3][k].length==2)	listcontent_tr_location.appendChild(document.createTextNode(", "));
				if(currentline[3][k].length==2) {
					var listcontent_tr_location_a=document.createElement("a");
					listcontent_tr_location_a.href="zone?id="+currentline[3][k][0];
					listcontent_tr_location_a.appendChild(document.createTextNode(currentline[3][k][1]));
					listcontent_tr_location.appendChild(listcontent_tr_location_a);
				} else {
					listcontent_tr_location.appendChild(document.createTextNode(" ("+currentline[3][k][0]+" weitere)"));
				}
			}
			var listcontent_tr_category=getListTableElement("center", null);
			getLinkElement(currentline[4], "objects?category="+currentline[5], listcontent_tr_category);
			var listcontent_tr_score=null;
			if(listtype==85) {
				listcontent_tr_score=getListTableElement("center", document.createTextNode(formatScore(currentline[6])));
			}
			appendMultipleChilds(listcontent_tr, [listcontent_tr_name, listcontent_tr_location, listcontent_tr_category, listcontent_tr_score]);
			listcontent_tbody.appendChild(listcontent_tr);
		}
		listcontent.appendChild(listcontent_tbody);
		listcontent.id="listcontent";
		listbody.appendChild(listcontent);
	}
	
	if(listtype==63) { // Zoneloot (fishing)
		if(sortBy==1) sortListLex(listdata, 1, sortDirection);
		if(sortBy==5) sortListNum(listdata, 5, sortDirection);
		if(sortBy==6) sortListNum(listdata, 6, sortDirection);
		if(sortBy==7) sortListLex(listdata, 7, sortDirection);
		if(sortBy==9) sortListNum(listdata, 9, sortDirection);
		listcontent=getListContentTable();
		var listcontent_thead=document.createElement("thead");
		var listcontent_tr=document.createElement("tr");
		listcontent_tr.appendChild(getListContentHeader(true, "50%", "javascript:displayTab("+tabid+",1,"+((sortBy==1)?nextsorting:0)+","+startAt+");", "Name", (sortBy==1)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",5,"+((sortBy==5)?nextsorting:0)+","+startAt+");", "Itemlevel", (sortBy==5)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",6,"+((sortBy==6)?nextsorting:0)+","+startAt+");", "Mindeststufe", (sortBy==6)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "20%", "javascript:displayTab("+tabid+",7,"+((sortBy==7)?nextsorting:0)+","+startAt+");", "Typ", (sortBy==7)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",9,"+((sortBy==9)?nextsorting:0)+","+startAt+");", "Chance", (sortBy==9)?sortDirection:-1));
		listcontent_thead.appendChild(listcontent_tr);
		listcontent.appendChild(listcontent_thead);
		var listcontent_tbody=document.createElement("tbody");
		listcontent_tbody.className="listbody";
		for(i=0;i<displaycount;i++) {
			var currentline=listdata[i+startAt];
			listcontent_tr=document.createElement("tr");
			listcontent_tr.onclick=new Function("document.location.href='item?id="+currentline[0]+"'");
			listcontent_tr.className="clickable";
			var listcontent_tr_name_div=document.createElement("div");
			listcontent_tr_name_div.className="bold";
			listcontent_tr_name_div.className="q"+currentline[3];
			if(listcontent_tr_name_div.className=="q1") listcontent_tr_name_div.className="q1b";
			listcontent_tr_name_div.style.fontWeight="bold";
			var listcontent_tr_name_link=document.createElement("a");
			listcontent_tr_name_link.href="item?id="+currentline[0];
			listcontent_tr_name_div.appendChild(getItemIcon(currentline[2], "item?id="+currentline[0], currentline[4], 1, 1, "medium"));
			listcontent_tr_name_link.appendChild(document.createTextNode(currentline[1]));
			addTooltip(listcontent_tr_name_link, currentline[4]);
			listcontent_tr_name_div.appendChild(listcontent_tr_name_link);
			var listcontent_tr_name=getListTableElement("left", listcontent_tr_name_div);
			var listcontent_tr_itemlevel=getListTableElement("center", document.createTextNode(currentline[5]));
			var listcontent_tr_playerlevel=getListTableElement("center", document.createTextNode(currentline[6]));
			var listcontent_tr_type=getListTableElement("center", null);
			getLinkElement(currentline[7], "items?category="+currentline[8], listcontent_tr_type);
			var listcontent_tr_chance=getListTableElement("center", document.createTextNode(currentline[9]+" %"));
			listcontent_tr_chance.appendChild(document.createElement("br"));
			var listcontent_tr_chance_span=document.createElement("span");
			listcontent_tr_chance_span.className="dropcount";
			listcontent_tr_chance_span.appendChild(document.createTextNode(currentline[10]));
			listcontent_tr_chance.appendChild(listcontent_tr_chance_span);
			appendMultipleChilds(listcontent_tr, [listcontent_tr_name, listcontent_tr_itemlevel, listcontent_tr_playerlevel, listcontent_tr_type, listcontent_tr_chance]);
			listcontent_tbody.appendChild(listcontent_tr);
		}
		listcontent.appendChild(listcontent_tbody);
		listcontent.id="listcontent";
		listbody.appendChild(listcontent);		
	}
	
	if(listtype==70) { // Gegenstände (Fraktion)
		if(sortBy==1) sortListLex(listdata, 1, sortDirection);
		if(sortBy==6) sortListNum(listdata, 6, sortDirection);
		if(sortBy==7) sortListNum(listdata, 7, sortDirection);
		if(sortBy==8) sortListNum(listdata, 8, sortDirection);
		if(sortBy==9) sortListLex(listdata, 9, sortDirection);
		listcontent=getListContentTable();
		var listcontent_thead=document.createElement("thead");
		var listcontent_tr=document.createElement("tr");
		listcontent_tr.appendChild(getListContentHeader(true, "40%", "javascript:displayTab("+tabid+",1,"+((sortBy==1)?nextsorting:0)+","+startAt+");", "Name", (sortBy==1)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "15%", "javascript:displayTab("+tabid+",6,"+((sortBy==6)?nextsorting:0)+","+startAt+");", "Itemlevel", (sortBy==6)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "15%", "javascript:displayTab("+tabid+",7,"+((sortBy==7)?nextsorting:0)+","+startAt+");", "Mindeststufe", (sortBy==7)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",8,"+((sortBy==8)?nextsorting:0)+","+startAt+");", "Ruf", (sortBy==8)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "20%", "javascript:displayTab("+tabid+",9,"+((sortBy==9)?nextsorting:0)+","+startAt+");", "Typ", (sortBy==9)?sortDirection:-1));
		listcontent_thead.appendChild(listcontent_tr);
		listcontent.appendChild(listcontent_thead);
		var listcontent_tbody=document.createElement("tbody");
		listcontent_tbody.className="listbody";
		for(i=0;i<displaycount;i++) {
			var currentline=listdata[i+startAt];
			listcontent_tr=document.createElement("tr");
			listcontent_tr.onclick=new Function("document.location.href='item?id="+currentline[0]+"'");
			listcontent_tr.className="clickable";
			var listcontent_tr_name_div=document.createElement("div");
			listcontent_tr_name_div.className="bold";
			listcontent_tr_name_div.className="q"+currentline[3];
			if(listcontent_tr_name_div.className=="q1") listcontent_tr_name_div.className="q1b";
			listcontent_tr_name_div.style.fontWeight="bold";
			var listcontent_tr_name_link=document.createElement("a");
			listcontent_tr_name_link.href="item?id="+currentline[0];
			listcontent_tr_name_div.appendChild(getItemIcon(currentline[2], "item?id="+currentline[0], currentline[4], currentline[5], currentline[5], "medium"));
			listcontent_tr_name_link.appendChild(document.createTextNode(currentline[1]));
			addTooltip(listcontent_tr_name_link, currentline[4]);
			listcontent_tr_name_div.appendChild(listcontent_tr_name_link);
			var listcontent_tr_name=getListTableElement("left", listcontent_tr_name_div);
			var listcontent_tr_itemlevel=getListTableElement("center", document.createTextNode(currentline[6]));
			var listcontent_tr_playerlevel=getListTableElement("center", document.createTextNode(currentline[7]));
			var listcontent_tr_rep=getListTableElement("center", null);
			var reputation="";
			switch(currentline[8]) {
			case 0:
				reputation="Hasserfüllt"; break;
			case 1:
				reputation="Feindselig"; break;
			case 2:
				reputation="Unfreundlich"; break;
			case 3:
				reputation="Neutral"; break;
			case 4:
				reputation="Freundlich"; break;
			case 5:
				reputation="Wohlwollend"; break;
			case 6:
				reputation="Respektvoll"; break;
			case 7:
				reputation="Ehrfürchtig"; break;
			}
			listcontent_tr_rep.appendChild(document.createTextNode(reputation));
			var listcontent_tr_type=getListTableElement("center", null);
			getLinkElement(currentline[9], "items?category="+currentline[10], listcontent_tr_type);
			appendMultipleChilds(listcontent_tr, [listcontent_tr_name, listcontent_tr_itemlevel, listcontent_tr_playerlevel, listcontent_tr_rep, listcontent_tr_type]);
			listcontent_tbody.appendChild(listcontent_tr);
		}
		listcontent.appendChild(listcontent_tbody);
		listcontent.id="listcontent";
		listbody.appendChild(listcontent);
	}
	
	if(listtype==81) { // Suchergebnis Itemsets
		if(sortBy==1) sortListLex(listdata, 1, sortDirection);
		if(sortBy==3) sortListNum(listdata, 3, sortDirection);
		if(sortBy==5) sortListNum(listdata, 5, sortDirection);
		if(sortBy==6) sortListLex(listdata, 6, sortDirection);
		if(sortBy==7) sortListLex(listdata, 7, sortDirection);
		if(sortBy==9) sortListNum(listdata, 9, sortDirection);
		listcontent=getListContentTable();
		var listcontent_thead=document.createElement("thead");
		var listcontent_tr=document.createElement("tr");
		listcontent_tr.appendChild(getListContentHeader(true, "30%", "javascript:displayTab("+tabid+",1,"+((sortBy==1)?nextsorting:0)+","+startAt+");", "Name", (sortBy==1)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",3,"+((sortBy==3)?nextsorting:0)+","+startAt+");", "Itemlevel", (sortBy==3)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",5,"+((sortBy==5)?nextsorting:0)+","+startAt+");", "Setteile", (sortBy==5)?sortDirection:-1));		
		listcontent_tr.appendChild(getListContentHeader(false, "30%", "javascript:displayTab("+tabid+",6,"+((sortBy==6)?nextsorting:0)+","+startAt+");", "Klassen", (sortBy==6)?sortDirection:-1));	
		listcontent_tr.appendChild(getListContentHeader(false, "15%", "javascript:displayTab("+tabid+",7,"+((sortBy==7)?nextsorting:0)+","+startAt+");", "Kategorie", (sortBy==7)?sortDirection:-1));	
		listcontent_tr.appendChild(getListContentHeader(false, "5%", "javascript:displayTab("+tabid+",9,"+((sortBy==9)?nextsorting:0)+","+startAt+");", "Score", (sortBy==9)?sortDirection:-1));	
		listcontent_thead.appendChild(listcontent_tr);
		listcontent.appendChild(listcontent_thead);
		var listcontent_tbody=document.createElement("tbody");
		listcontent_tbody.className="listbody";
		for(i=0;i<displaycount;i++) {
			var currentline=listdata[i+startAt];
			listcontent_tr=document.createElement("tr");
			listcontent_tr.onclick=new Function("document.location.href='npc?id="+currentline[0]+"'");
			listcontent_tr.className="clickable";
			var listcontent_tr_name_link=document.createElement("a");
			listcontent_tr_name_link.className="bold";
			listcontent_tr_name_link.href="itemset?id="+currentline[0];
			listcontent_tr_name_link.appendChild(document.createTextNode(currentline[1]));
			var listcontent_tr_name=getListTableElement("left", listcontent_tr_name_link);
			if(currentline[2]!="") {
				var listcontent_tr_name_subtitle=document.createElement("span");
				listcontent_tr_name_subtitle.className="smalltext block";
				listcontent_tr_name_subtitle.appendChild(document.createTextNode(currentline[2]));
				listcontent_tr_name.appendChild(listcontent_tr_name_subtitle);
			}
			var listcontent_tr_level=getListTableElement("center", document.createTextNode(formatMobLevelString(currentline[3], currentline[4])));
			var listcontent_tr_parts=getListTableElement("center", document.createTextNode(currentline[5]));
			var listcontent_tr_classes=getListTableElement("center", document.createTextNode(currentline[6]));
			var listcontent_tr_category=getListTableElement("center", null);
			getLinkElement(currentline[7], "itemsets?category="+currentline[8], listcontent_tr_category);
			var listcontent_tr_score=getListTableElement("center", document.createTextNode(formatScore(currentline[9])));
			appendMultipleChilds(listcontent_tr, [listcontent_tr_name, listcontent_tr_level, listcontent_tr_parts, listcontent_tr_classes, listcontent_tr_category, listcontent_tr_score]);
			listcontent_tbody.appendChild(listcontent_tr);
		}
		listcontent.appendChild(listcontent_tbody);
		listcontent.id="listcontent";
		listbody.appendChild(listcontent);
	}
	
	if(listtype==86) { // Suchergebnis Zonen
		if(sortBy==1) sortListLex(listdata, 1, sortDirection);
		if(sortBy==2) sortListNum(listdata, 2, sortDirection);
		if(sortBy==4) sortListLex(listdata, 4, sortDirection);
		if(sortBy==5) sortListLex(listdata, 5, sortDirection);
		if(sortBy==7) sortListNum(listdata, 7, sortDirection);
		listcontent=getListContentTable();
		var listcontent_thead=document.createElement("thead");
		var listcontent_tr=document.createElement("tr");
		listcontent_tr.appendChild(getListContentHeader(true, "60%", "javascript:displayTab("+tabid+",1,"+((sortBy==1)?nextsorting:0)+","+startAt+");", "Name", (sortBy==1)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",2,"+((sortBy==2)?nextsorting:0)+","+startAt+");", "Stufe", (sortBy==2)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",4,"+((sortBy==4)?nextsorting:0)+","+startAt+");", "Territorium", (sortBy==4)?sortDirection:-1));		
		listcontent_tr.appendChild(getListContentHeader(false, "15%", "javascript:displayTab("+tabid+",5,"+((sortBy==5)?nextsorting:0)+","+startAt+");", "Kategorie", (sortBy==5)?sortDirection:-1));	
		listcontent_tr.appendChild(getListContentHeader(false, "5%", "javascript:displayTab("+tabid+",7,"+((sortBy==7)?nextsorting:0)+","+startAt+");", "Score", (sortBy==7)?sortDirection:-1));
		listcontent_thead.appendChild(listcontent_tr);
		listcontent.appendChild(listcontent_thead);
		var listcontent_tbody=document.createElement("tbody");
		listcontent_tbody.className="listbody";
		for(i=0;i<displaycount;i++) {
			var currentline=listdata[i+startAt];
			listcontent_tr=document.createElement("tr");
			listcontent_tr.onclick=new Function("document.location.href='zone?id="+currentline[0]+"'");
			listcontent_tr.className="clickable";
			var listcontent_tr_name_link=document.createElement("a");
			listcontent_tr_name_link.className="bold";
			listcontent_tr_name_link.href="zone?id="+currentline[0];
			listcontent_tr_name_link.appendChild(document.createTextNode(currentline[1]));
			var listcontent_tr_name=getListTableElement("left", listcontent_tr_name_link);
			var listcontent_tr_level=getListTableElement("center", document.createTextNode(formatMobLevelString(currentline[2], currentline[3])));
			var listcontent_tr_territory=getListTableElement("center", document.createTextNode(currentline[4]));
			var listcontent_tr_category=getListTableElement("center", null);
			getLinkElement(currentline[5], "zones?category="+currentline[6], listcontent_tr_category);
			var listcontent_tr_score=getListTableElement("center", document.createTextNode(formatScore(currentline[7])));
			appendMultipleChilds(listcontent_tr, [listcontent_tr_name, listcontent_tr_level, listcontent_tr_territory, listcontent_tr_category, listcontent_tr_score]);
			listcontent_tbody.appendChild(listcontent_tr);
		}
		listcontent.appendChild(listcontent_tbody);
		listcontent.id="listcontent";
		listbody.appendChild(listcontent);
	}
	
	if(listtype==87) { // Suchergebnis Fraktionen
		if(sortBy==1) sortListLex(listdata, 1, sortDirection);
		if(sortBy==2) sortListLex(listdata, 2, sortDirection);
		if(sortBy==3) sortListNum(listdata, 3, sortDirection);
		listcontent=getListContentTable();
		var listcontent_thead=document.createElement("thead");
		var listcontent_tr=document.createElement("tr");
		listcontent_tr.appendChild(getListContentHeader(true, "75%", "javascript:displayTab("+tabid+",1,"+((sortBy==1)?nextsorting:0)+","+startAt+");", "Name", (sortBy==1)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "20%", "javascript:displayTab("+tabid+",2,"+((sortBy==2)?nextsorting:0)+","+startAt+");", "Gruppe", (sortBy==2)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "5%", "javascript:displayTab("+tabid+",3,"+((sortBy==3)?nextsorting:0)+","+startAt+");", "Score", (sortBy==3)?sortDirection:-1));
		listcontent_thead.appendChild(listcontent_tr);
		listcontent.appendChild(listcontent_thead);
		var listcontent_tbody=document.createElement("tbody");
		listcontent_tbody.className="listbody";
		for(i=0;i<displaycount;i++) {
			var currentline=listdata[i+startAt];
			listcontent_tr=document.createElement("tr");
			listcontent_tr.onclick=new Function("document.location.href='faction?id="+currentline[0]+"'");
			listcontent_tr.className="clickable";
			var listcontent_tr_name_link=document.createElement("a");
			listcontent_tr_name_link.className="bold";
			listcontent_tr_name_link.href="faction?id="+currentline[0];
			listcontent_tr_name_link.appendChild(document.createTextNode(currentline[1]));
			var listcontent_tr_name=getListTableElement("left", listcontent_tr_name_link);
			var listcontent_tr_group=getListTableElement("center", document.createTextNode(currentline[2]));
			var listcontent_tr_score=getListTableElement("center", document.createTextNode(formatScore(currentline[3])));
			appendMultipleChilds(listcontent_tr, [listcontent_tr_name, listcontent_tr_group, listcontent_tr_score]);
			listcontent_tbody.appendChild(listcontent_tr);
		}
		listcontent.appendChild(listcontent_tbody);
		listcontent.id="listcontent";
		listbody.appendChild(listcontent);
	}
	
	if(listtype==88 || listtype==92) { // Suchergebnis Achievements, Achievements
		if(sortBy==1) sortListLex(listdata, 1, sortDirection);
		if(sortBy==5) sortListNum(listdata, 5, sortDirection);
		if(sortBy==6) sortListListLength(listdata, 6, sortDirection);
		if(sortBy==7) sortListNum(listdata, 7, sortDirection);
		if(sortBy==8) sortListLex(listdata, 8, sortDirection);
		if(sortBy==10) sortListNum(listdata, 10, sortDirection);
		listcontent=getListContentTable();
		var listcontent_thead=document.createElement("thead");
		var listcontent_tr=document.createElement("tr");
		listcontent_tr.appendChild(getListContentHeader(true, "50%", "javascript:displayTab("+tabid+",1,"+((sortBy==1)?nextsorting:0)+","+startAt+");", "Name", (sortBy==1)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "10%", "javascript:displayTab("+tabid+",5,"+((sortBy==5)?nextsorting:0)+","+startAt+");", "Fraktion", (sortBy==5)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "15%", "javascript:displayTab("+tabid+",6,"+((sortBy==6)?nextsorting:0)+","+startAt+");", "Zone", (sortBy==6)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "8%", "javascript:displayTab("+tabid+",7,"+((sortBy==7)?nextsorting:0)+","+startAt+");", "Punkte", (sortBy==7)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "12%", "javascript:displayTab("+tabid+",8,"+((sortBy==8)?nextsorting:0)+","+startAt+");", "Kategorie", (sortBy==8)?sortDirection:-1));
		if(listtype==88) {
			listcontent_tr.appendChild(getListContentHeader(false, "5%", "javascript:displayTab("+tabid+",10,"+((sortBy==10)?nextsorting:0)+","+startAt+");", "Score", (sortBy==10)?sortDirection:-1));
		}
		listcontent_thead.appendChild(listcontent_tr);
		listcontent.appendChild(listcontent_thead);
		var listcontent_tbody=document.createElement("tbody");
		listcontent_tbody.className="listbody";
		for(i=0;i<displaycount;i++) {
			var currentline=listdata[i+startAt];
			listcontent_tr=document.createElement("tr");
			listcontent_tr.onclick=new Function("document.location.href='achievement?id="+currentline[0]+"'");
			listcontent_tr.className="clickable";
			var listcontent_tr_name_link=document.createElement("a");
			listcontent_tr_name_link.href="achievement?id="+currentline[0];
			listcontent_tr_name_link.className="q1b";
			var listcontent_tr_name_icon=getItemIcon(currentline[3], "achievement?id="+currentline[0], currentline[4], 1, 1, "medium");
			listcontent_tr_name_link.appendChild(document.createTextNode(currentline[1]));
			var listcontent_tr_name_text_span=document.createElement("span");
			listcontent_tr_name_text_span.className="listelement_iconname_text_table";
			listcontent_tr_name_text_span.appendChild(listcontent_tr_name_link);
			if(currentline[2]!="") {
				var listcontent_tr_name_subtext=document.createElement("span");
				listcontent_tr_name_subtext.className="listelement_iconname_subtext";
				listcontent_tr_name_subtext.appendChild(document.createTextNode(currentline[2]));
				listcontent_tr_name_text_span.appendChild(document.createElement("br"));
				listcontent_tr_name_text_span.appendChild(listcontent_tr_name_subtext);
			}
			var listcontent_tr_name_table=document.createElement("table");
			var listcontent_tr_name_table_tbody=document.createElement("tbody");
			listcontent_tr_name_table.appendChild(listcontent_tr_name_table_tbody);
			listcontent_tr_name_table.cellPadding=0;
			listcontent_tr_name_table.cellSpacing=0;
			listcontent_tr_name_table_tr=document.createElement("tr");
			listcontent_tr_name_table_tbody.appendChild(listcontent_tr_name_table_tr);
			listcontent_tr_name_table_tr_td=document.createElement("td");
			listcontent_tr_name_table_tr_td.width=44;
			listcontent_tr_name_table_tr_td.appendChild(listcontent_tr_name_icon);
			listcontent_tr_name_table_tr.appendChild(listcontent_tr_name_table_tr_td);
			listcontent_tr_name_table_tr_td=document.createElement("td");
			listcontent_tr_name_table_tr_td.align="left";
			listcontent_tr_name_table_tr_td.vAlign="middle";
			listcontent_tr_name_table_tr_td.appendChild(listcontent_tr_name_text_span);
			listcontent_tr_name_table_tr.appendChild(listcontent_tr_name_table_tr_td);			
			var listcontent_tr_name=getListTableElement("left", listcontent_tr_name_table);
			var listcontent_tr_faction=getListTableElement("center", null);
			if((currentline[5]&1)!=0) {
				var listcontent_tr_faction_alliance=document.createElement("img");
				listcontent_tr_faction_alliance.src="images/faction_alliance.png";
				listcontent_tr_faction.appendChild(listcontent_tr_faction_alliance);
			}
			if((currentline[5]&2)!=0) {
				var listcontent_tr_faction_horde=document.createElement("img");
				listcontent_tr_faction_horde.src="images/faction_horde.png";
				listcontent_tr_faction.appendChild(listcontent_tr_faction_horde);
			}
			var listcontent_tr_location=getListTableElement("center", null);
			for(k=0;k<currentline[6].length;k++) {
				if(k>0 && currentline[6][k].length==2)	listcontent_tr_location.appendChild(document.createTextNode(", "));
				if(currentline[6][k].length==2) {
					var listcontent_tr_location_a=document.createElement("a");
					listcontent_tr_location_a.href="zone?id="+currentline[6][k][0];
					listcontent_tr_location_a.appendChild(document.createTextNode(currentline[6][k][1]));
					listcontent_tr_location.appendChild(listcontent_tr_location_a);
				} else {
					listcontent_tr_location.appendChild(document.createTextNode(" ("+currentline[6][k][0]+" weitere)"));
				}
			}
			var listcontent_tr_points=getListTableElement("center", document.createTextNode(currentline[7]));
			var listcontent_tr_category_link=document.createElement("a");
			listcontent_tr_category_link.href="achievements?category="+currentline[9];
			listcontent_tr_category_link.appendChild(document.createTextNode(currentline[8]));
			var listcontent_tr_category=getListTableElement("center", listcontent_tr_category_link);		
			var listcontent_tr_score=null;
			if(listtype==88) {
				listcontent_tr_score=getListTableElement("center", document.createTextNode(formatScore(currentline[10])));
			}
			appendMultipleChilds(listcontent_tr, [listcontent_tr_name, listcontent_tr_faction, listcontent_tr_location, listcontent_tr_points, listcontent_tr_category, listcontent_tr_score]);
			listcontent_tbody.appendChild(listcontent_tr);
		}
		listcontent.appendChild(listcontent_tbody);
		listcontent.id="listcontent";
		listbody.appendChild(listcontent);
	}
	
	if(listtype==95) { // Fähigkeiten
		if(sortBy==1) sortListLex(listdata, 1, sortDirection);
		if(sortBy==8) sortListListLength(listdata, 8, sortDirection);
		listcontent=getListContentTable();
		var listcontent_thead=document.createElement("thead");
		var listcontent_tr=document.createElement("tr");
		listcontent_tr.appendChild(getListContentHeader(true, "76%", "javascript:displayTab("+tabid+",1,"+((sortBy==1)?nextsorting:0)+","+startAt+");", "Name", (sortBy==1)?sortDirection:-1));
		listcontent_tr.appendChild(getListContentHeader(false, "24%", "javascript:displayTab("+tabid+",8,"+((sortBy==8)?nextsorting:0)+","+startAt+");", "Schwierigkeitsgrad", (sortBy==8)?sortDirection:-1));
		listcontent_thead.appendChild(listcontent_tr);
		listcontent.appendChild(listcontent_thead);
		var listcontent_tbody=document.createElement("tbody");
		listcontent_tbody.className="listbody";
		for(i=0;i<displaycount;i++) {
			var currentline=listdata[i+startAt];			
			listcontent_tr=document.createElement("tr");
			listcontent_tr.onclick=new Function("document.location.href='spell?id="+currentline[0]+"'");
			listcontent_tr.className="clickable";			
			var listcontent_tr_name_link=document.createElement("a");
			listcontent_tr_name_link.href="spell?id="+currentline[0];
			listcontent_tr_name_link.className="q"+currentline[4];
			if(listcontent_tr_name_link.className=="q1") listcontent_tr_name_link.className="q1b";
			var listcontent_tr_name_icon=getItemIcon(currentline[2], "spell?id="+currentline[0], currentline[5], currentline[6], currentline[7], "medium");
			listcontent_tr_name_link.appendChild(document.createTextNode(currentline[1]));
			addTooltip(listcontent_tr_name_link, currentline[5]);
			var listcontent_tr_name_text_span=document.createElement("span");
			listcontent_tr_name_text_span.className="listelement_iconname_text_table";
			listcontent_tr_name_text_span.appendChild(listcontent_tr_name_link);
			if(currentline[3]!="") {
				var listcontent_tr_name_subtext=document.createElement("span");
				listcontent_tr_name_subtext.className="listelement_iconname_subtext";
				listcontent_tr_name_subtext.appendChild(document.createTextNode(currentline[3]));
				listcontent_tr_name_text_span.appendChild(document.createElement("br"));
				listcontent_tr_name_text_span.appendChild(listcontent_tr_name_subtext);
			}
			var listcontent_tr_name_table=document.createElement("table");
			var listcontent_tr_name_table_tbody=document.createElement("tbody");
			listcontent_tr_name_table.appendChild(listcontent_tr_name_table_tbody);
			listcontent_tr_name_table.cellPadding=0;
			listcontent_tr_name_table.cellSpacing=0;
			listcontent_tr_name_table_tr=document.createElement("tr");
			listcontent_tr_name_table_tbody.appendChild(listcontent_tr_name_table_tr);
			listcontent_tr_name_table_tr_td=document.createElement("td");
			listcontent_tr_name_table_tr_td.width=44;
			listcontent_tr_name_table_tr_td.appendChild(listcontent_tr_name_icon);
			listcontent_tr_name_table_tr.appendChild(listcontent_tr_name_table_tr_td);
			listcontent_tr_name_table_tr_td=document.createElement("td");
			listcontent_tr_name_table_tr_td.align="left";
			listcontent_tr_name_table_tr_td.vAlign="middle";
			listcontent_tr_name_table_tr_td.appendChild(listcontent_tr_name_text_span);
			listcontent_tr_name_table_tr.appendChild(listcontent_tr_name_table_tr_td);			
			var listcontent_tr_name=getListTableElement("left", listcontent_tr_name_table);
			var listcontent_tr_difficulty;
			if(browserIsOpera) { // we have to wrap the icon divs in a table if we are on opera because otherwise the renderer will render flawed icons
				var listcontent_tr_difficulty_table=document.createElement("table");
				listcontent_tr_difficulty_table.cellPadding=2;
				listcontent_tr_difficulty_table.cellSpacing=2;
				var listcontent_tr_difficulty_tbody=document.createElement("tbody");
				var listcontent_tr_difficulty_tr=document.createElement("tr");
				for(k=0;k<currentline[8].length;k++) {
					var listcontent_tr_difficulty_td=document.createElement("td");
					listcontent_tr_difficulty_td.appendChild(getItemIcon("images/difficulty/"+currentline[8][k][0]+".jpg", null, currentline[8][k][1], 1, 1, "small"));
					listcontent_tr_difficulty_tr.appendChild(listcontent_tr_difficulty_td);
				}
				listcontent_tr_difficulty_tbody.appendChild(listcontent_tr_difficulty_tr);
				listcontent_tr_difficulty_table.appendChild(listcontent_tr_difficulty_tbody);
				listcontent_tr_difficulty=getListTableElement("left", listcontent_tr_difficulty_table);
			} else {
				var listcontent_tr_difficulty_div=document.createElement("div");
				for(k=0;k<currentline[8].length;k++) {
					listcontent_tr_difficulty_div.appendChild(getItemIcon("images/difficulty/"+currentline[8][k][0]+".jpg", null, currentline[8][k][1], 1, 1, "small"));
				}
				listcontent_tr_difficulty=getListTableElement("left", listcontent_tr_difficulty_div);
			}
			appendMultipleChilds(listcontent_tr, [listcontent_tr_name, listcontent_tr_difficulty]);
			listcontent_tbody.appendChild(listcontent_tr);
		}
		listcontent.appendChild(listcontent_tbody);
		listcontent.id="listcontent";
		listbody.appendChild(listcontent);
	}
	
	var doNotSaveTab=false;
	
	if(listtype==100) { // Kommentare
		commenttabid=tabid;
		if(commentdata==null) {
			displayLoadingScreen();
			postAJAXCommentRequest(identifier, identifiertype);
			doNotSaveTab=true;
		} else {
			var listheader=document.getElementById("listheader");
			var listfooter=document.getElementById("listfooter");
			removeAllChilds(listheader.firstChild.firstChild);
			removeAllChilds(listfooter.firstChild.firstChild);
			var plural=(commentdata.length==1)?"":"e";
			var headertext=commentdata.length+" Kommentar"+plural+" vorhanden";
			if(loggedinas==null) {
				headertext=headertext+" - ";
				listheader.firstChild.firstChild.appendChild(document.createTextNode(headertext));
				var listheader_a=document.createElement("a");
				listheader_a.href="login?dropsite="+getDropsite(identifiertype)+"%3Fid%3D"+identifier;
				listheader_a.appendChild(document.createTextNode("logge dich ein"));
				listheader.firstChild.firstChild.appendChild(listheader_a);
				listheader.firstChild.firstChild.appendChild(document.createTextNode(" und schreibe einen eigenen!"));
			} else {
				listheader.firstChild.firstChild.appendChild(document.createTextNode(headertext));
			}
			displayComments(listbody);
		}
	}
	
	if(listtype==101) { // Screenshots
		screenshottabid=tabid;
		if(screenshotdata==null) {
			displayLoadingScreen();
			postAJAXScreenshotRequest(identifier, identifiertype);
			doNotSaveTab=true;
		} else {
			var listheader=document.getElementById("listheader");
			var listfooter=document.getElementById("listfooter");
			removeAllChilds(listheader.firstChild.firstChild);
			removeAllChilds(listfooter.firstChild.firstChild);
			var plural=(screenshotdata.length==1)?"":"s";
			var headertext=screenshotdata.length+" Screenshot"+plural+" vorhanden";
			if(loggedinas==null) {
				headertext=headertext+" - ";
				listheader.firstChild.firstChild.appendChild(document.createTextNode(headertext));
				var listheader_a=document.createElement("a");
				listheader_a.href="login?dropsite="+getDropsite(identifiertype)+"%3Fid%3D"+identifier;
				listheader_a.appendChild(document.createTextNode("logge dich ein"));
				listheader.firstChild.firstChild.appendChild(listheader_a);
				listheader.firstChild.firstChild.appendChild(document.createTextNode(" und lade einen hoch!"));
			} else {
				listheader.firstChild.firstChild.appendChild(document.createTextNode(headertext));
			}
			displayScreenshots(listbody);
		}
	}
	
	if(listtype==110) { // Modelviewer
		modelviewertabid=tabid;
		var listheader=document.getElementById("listheader");
		var listfooter=document.getElementById("listfooter");
		removeAllChilds(listheader.firstChild.firstChild);
		removeAllChilds(listfooter.firstChild.firstChild);
		var modeloption=listdata;
		var helplink=document.createElement("a");
		helplink.href="static_help_modelviewer";
		helplink.target="_blank";
		helplink.appendChild(document.createTextNode("Was ist das?"));			
		listheader.firstChild.firstChild.appendChild(helplink);
		var typestring;
		if(identifiertype==1) typestring='item';
		if(identifiertype==3) typestring='itemset';
		if(identifiertype==4) typestring='npc';
		if(identifiertype==6) typestring='object';
		displayModelViewer(typestring, modeloption, identifier, listbody);
	}
	
	selectedTab=tabid;
	tabSortBy=-1;
	tabSortDirection=-1;
	tabStartAt=-1;
	
	if(listtype<100) {	
		tabSortBy=sortBy;
		tabSortDirection=sortDirection;
		tabStartAt=startAt;
		var listheader=document.getElementById("listheader");
		var listfooter=document.getElementById("listfooter");
		removeAllChilds(listheader.firstChild.firstChild);
		if(startAt>0) {
			var prev3=0;
			var prev3Element=document.createElement("a");
			prev3Element.href="javascript:displayTab("+tabid+","+sortBy+","+sortDirection+","+prev3+");";
			prev3Element.appendChild(document.createTextNode("|<"));
			listheader.firstChild.firstChild.appendChild(prev3Element);
			listheader.firstChild.firstChild.appendChild(document.createTextNode("\u00A0\u00A0"));
			if(startAt-50*5>=0) {
				var prev2=startAt-50*5;
				var prev2Element=document.createElement("a");
				prev2Element.href="javascript:displayTab("+tabid+","+sortBy+","+sortDirection+","+prev2+");";
				prev2Element.appendChild(document.createTextNode("<<"));
				listheader.firstChild.firstChild.appendChild(prev2Element);
				listheader.firstChild.firstChild.appendChild(document.createTextNode("\u00A0\u00A0"));
			}
			var prev1=startAt-50;
			var prev1Element=document.createElement("a");
			prev1Element.href="javascript:displayTab("+tabid+","+sortBy+","+sortDirection+","+prev1+");";
			prev1Element.appendChild(document.createTextNode("<"));
			listheader.firstChild.firstChild.appendChild(prev1Element);
			listheader.firstChild.firstChild.appendChild(document.createTextNode("\u00A0\u00A0"));
		}
		var pageinfo=(startAt+1)+" - "+(startAt+displaycount)+" von "+totalcount;
		listheader.firstChild.firstChild.appendChild(document.createTextNode(pageinfo));
		listheader.firstChild.firstChild.appendChild(document.createTextNode("\u00A0\u00A0"));
		if(startAt+50<totalcount) {
			var next1=startAt+50;
			var next1Element=document.createElement("a");
			next1Element.href="javascript:displayTab("+tabid+","+sortBy+","+sortDirection+","+next1+");";
			next1Element.appendChild(document.createTextNode(">"));
			listheader.firstChild.firstChild.appendChild(next1Element);
			listheader.firstChild.firstChild.appendChild(document.createTextNode("\u00A0\u00A0"));
			if(startAt+50*5<totalcount) {
				var next2=startAt+50*5;
				var next2Element=document.createElement("a");
				next2Element.href="javascript:displayTab("+tabid+","+sortBy+","+sortDirection+","+next2+");";
				next2Element.appendChild(document.createTextNode(">>"));
				listheader.firstChild.firstChild.appendChild(next2Element);
				listheader.firstChild.firstChild.appendChild(document.createTextNode("\u00A0\u00A0"));
			}
			var next3=totalcount-(totalcount%50);
			if(next3==totalcount) next3=next3-50;
			var next3Element=document.createElement("a");
			next3Element.href="javascript:displayTab("+tabid+","+sortBy+","+sortDirection+","+next3+");";
			next3Element.appendChild(document.createTextNode(">|"));
			listheader.firstChild.firstChild.appendChild(next3Element);
		}
		listfooter.firstChild.replaceChild(listheader.firstChild.firstChild.cloneNode(true), listfooter.firstChild.firstChild);
	}
		
	if(doNotSaveTab==false && preventTabSaving==false) saveTabSettingsToURL();
	if(doNotSaveTab==false) preventTabSaving=false;
	
	checkWindowSize();
}

function setActiveTab(tabid) {
	var i;
	var tablist=document.getElementById("tablist");
	var start=0;
	if(tablist.childNodes[0]==null) return;
	if(tablist.childNodes[0].nodeName!="LI") start=1;
	for(i=start;i<tablist.childNodes.length;i++) {
		tablist.childNodes[i].className=null;
	}
	tablist.childNodes[tabid+start].className="chosentab";
}

function formatMobLevelString(minlevel, maxlevel) {
	if(minlevel==-1 || maxlevel==-1) return "Boss";
	if(minlevel==maxlevel) {
		return minlevel;
	} else {		
		return minlevel+" - "+maxlevel;
	}
}

var sortListCol=0;

function sortListLex(list, column, direction) {
	sortListCol=column;
	list.sort(lexicalListCompare);
	if(direction!=0) list.reverse();
}

function lexicalListCompare(a, b) {
	var s1,s2;
	if(typeof a[sortListCol]=="string") {
		s1=a[sortListCol].toLowerCase();
	} else {
		if(a.length>0) {
			if(typeof a[sortListCol][0]=="string") {
				s1=a[sortListCol][0].toLowerCase();
			} else if(typeof a[sortListCol][0][1]=="string") {
				s1=a[sortListCol][0][1].toLowerCase();
			} else s1="";
		}
	}
	if(typeof b[sortListCol]=="string") {
		s2=b[sortListCol].toLowerCase();
	} else {
		if(b.length>0) {
			if(typeof b[sortListCol][0]=="string") {
				s2=b[sortListCol][0].toLowerCase();
			} else if(typeof b[sortListCol][0][1]=="string") {
				s2=b[sortListCol][0][1].toLowerCase();
			} else s2="";
		}
	}
	var length=s1.length;
	if(s2.length<length) length=s2.length;
	var i;
	for(i=0;i<length;i++) {
		var c1=s1.charCodeAt(i);
		var c2=s2.charCodeAt(i);
		if(c1>c2) {
			return 1;
		} else {
			if(c2>c1) {
				return -1;
			}
		}
	}
	if(s1.length<s2.length) {
		return -1;
	} else {
		if(s2.length<s1.length) {
			return 1;
		} else {
			return 0;
		}
	}
}

function sortListNum(list, column, direction) {
	sortListCol=column;
	list.sort(numericalListCompare);
	if(direction!=0) list.reverse();
}

function numericalListCompare(a, b) {
	var n1=a[sortListCol];
	var n2=b[sortListCol];
	return n1-n2;	
}

function sortListListLength(list, column, direction) {
	sortListCol=column;
	list.sort(listLengthListCompare);
	if(direction!=0) list.reverse();
}

function listLengthListCompare(a, b) {
	var n1=a[sortListCol].length;
	var n2=b[sortListCol].length;
	return n1-n2;	
}

function sortListMoney(list, column, direction) {
	sortListCol=column;
	list.sort(listMoneyCompare);
	if(direction!=0) list.reverse();
}

function listMoneyCompare(a, b) {
	var n1=a[sortListCol][0][3];
	var n2=b[sortListCol][0][3];
	return n1-n2;
}

function formatScore(score) {
	return (Math.round(score*1000)/10)+"%";
}
