if (typeof topicSettings != 'undefined') {
		var category_id  = topicSettings.catid;
		var thread_id = topicSettings.threadid;
		var thread_title = topicSettings.title;
		var thread_url = topicSettings.url;
		var last_page = topicSettings.lasturl;
		var BodyLoaded = 0;
		var max_posts = topicSettings.maxposts;
		var timestamp = topicSettings.timestamp;
}

var old_pid=0,old_text='',smilies_loaded_for='';
function addElem(xh,type,v)
{
	eval('myitem = ('+xh.responseText+')');
	var itemData = myitem[0];
	var newItem = document.createElement('div');
	if(type=='editpost'){
		var maindiv = $('editdiv_'+itemData.pid);
		newItem.innerHTML = printEditArea(itemData,v);
		maindiv.appendChild(newItem);
	}
	else if(type=='editpost2'){
		var maindiv = $('editdiv_'+itemData.pid);
		newItem.innerHTML = printEditedPost(itemData,v);
		maindiv.appendChild(newItem);
		if(itemData.irrelevant=='1'){
			toggleIrrelevant(itemData.pid,'ir');
		}
	}
}
function printEditArea(data, v){
	var output = data.formatting;
	if(v === true) {
		var onsubmit = 'saveEdit(\'p'+data.pid+'\', true)';
	}
	else {
		var onsubmit = 'saveEdit(\'p'+data.pid+'\', false)';
	}
	output += '<div id="divsmiliesedit" style="display:none;"></div>';
	output += '<form action="" name="editform" method="post" onsubmit="'+onsubmit+';return false;">';
	output += '<textarea class="editform" type="text" id="editarea" rows="15" cols="20">';
	output += data.text;
	output += '</textarea><br/><br/>';
	output += '<input type="button" class="submit" value="'+_("Cancel")+'" id="editCancel" onclick="cancelEdit();" />';
	output += '<input type="submit" class="submit" value="'+_("Save")+'" id="editSubmit" />';
	output += '</form>';
	return output;
}
function printEditedPost(data){
	var output = '';
	if(data.edit!=0){
		output += '<div class="postedit">'+data.edit+'</div>';
	}
	output += data.text;
	if(typeof(data.pthread) != 'undefined' && data.pthread!=''){
		output += data.pthread;
	}
	if(data.irrelevant=='1'){
		output='Irrelevanter Beitrag (<a href="#" onclick="toggleIrrelevant('+data.pid+',\'ir\');return false;" id="irLink'+data.pid+'">verbergen</a>):<br/><br/><div id="irPosting'+data.pid+'">'+output+'</div>';
	}
	return output;
}
function deletePost(pid, vernissage)
{
	globalFadeOut('p'+pid);
	Element.scrollTo('p'+pid);
	if(typeof(vernissage) != 'undefined' && vernissage === true)
	{
		var file = _f('comment');
		var h = $H({id:pid, mode:'remove'});
		var c = confirm('Möchtest du diesen Kommentar wirklich löschen?');
	}
	else
	{
		var file = _f('deletepost');
		var h = $H({pid:pid});
		var c = confirm(_("Do you really want to remove the post?"));
	}

  	if(c === true)
	{
		new Ajax.Request(
		file,
		{
			method:'post',
			parameters:h.toQueryString(),
			onSuccess:function(xh){
				var t=xh.responseText;
				if(isError(t)){
					printError(t);
					globalFadeIn('p'+pid);
				}
				else{
					globalFadeOff('p'+pid);
					setTimeout(function(){Element.remove('p'+pid);},500);
				}
				return false;
			}
		}
		);
	}
	else {
		globalFadeIn('p'+pid);
	}
	return false;
}
function cancelEdit()
{
	if(old_pid != 0)
	{
		var p=old_pid;
		$('pdiv_'+old_pid).innerHTML = old_text;
		Element.scrollTo('pdiv_'+old_pid);
		old_pid = 0;
		old_text = '';
		if($('p'+p).className=='relevant'){
			toggleIrrelevant(p,'ir');
		}
	}
	return false;
}
function editPost(post_id, vernissage)
{
	var pid = post_id.substring(1,post_id.length);
	Element.scrollTo('p'+pid);
	cancelEdit();
	if($(post_id).className=='irrelevant'){
		toggleIrrelevant(pid,'ir');
	}
	globalFadeOut(post_id);
	old_pid = pid;
	old_text = $('pdiv_'+pid).innerHTML;

	if(typeof(vernissage) != 'undefined' && vernissage === true) {
		var file = _f('comment');
		var h = $H({id:pid,mode:'edit'});
		var v = true;
	}
	else {
		var file = _f('editpost2');
		var h = $H({p_id:pid,type:'edit'});
		var v = false;
	}
  	new Ajax.Request(
		file,
		{
			method:'post',
			parameters:h.toQueryString(),
			onSuccess:function(xh){
				$('pdiv_'+pid).innerHTML = '<div id="editdiv_'+pid+'"></div>';
				if(isError(xh.responseText))
				{
					printError(xh.responseText);
					globalFadeIn(post_id);
					$('pdiv_'+pid).innerHTML = old_text;
				}
				else {
					addElem(xh,'editpost',v);
					globalFadeIn(post_id);
					Element.scrollTo('p'+pid);
					if ($E('sendbutton')) {
							$('sendbutton').writeAttribute('accesskey', '');
					}
					$('editSubmit').writeAttribute('accesskey', 's');
				}
			}
		}
	);
	return false;
}
function saveEdit(post_id, v)
{
	disableButton('editSubmit');
	disableButton('editCancel');
	globalFadeOut(post_id);
	var pid = post_id.substring(1,post_id.length);
	if($F('editarea')==""){alert(_("Please enter a text."));$('editarea').focus();globalFadeIn(post_id);enableButton('editCancel');enableButton('editSubmit');return false;}
	if(v === false) {
		var file = _f('editpost2');
		var h = $H({p_id:pid, text:$F('editarea'), type:'save'});
	}
	else {
		var file = _f('comment');
		var h = $H({id:pid, text:$F('editarea'), mode:'edit'});
	}
  	new Ajax.Request(
	  	file,
		{
			method:'post',
			parameters:h.toQueryString(),
			onSuccess:function(xh){
				$('editdiv_'+pid).innerHTML = '';
				if(isError(xh.responseText)){
					printError(xh.responseText);
					$('pdiv_'+pid).innerHTML = old_text;
					globalFadeIn(post_id);
					enableButton('editSubmit');
					enableButton('editCancel');
				}
				else {
					old_pid = 0;
					old_text = '';
					addElem(xh,'editpost2',v);
					globalFadeIn(post_id);

					if ($E('sendbutton')) {
							$('sendbutton').writeAttribute('accesskey', 's');
					}

					initClipboard();
                    styleTooltips();
				}
			}
		}
	);
	return false;
}
function bookmarkPost(post_id){
	var l=$('pbm'+post_id).firstChild;
	globalFadeOut(l);
	var file=_f('postoptions');
	new Ajax.Request(file,{
		method:'post',
		parameters:'p='+post_id+'&m=b',
		onSuccess:function(xh){
			var t=xh.responseText;
			if(isError(t)){
				printError(t);
				globalFadeIn(l);
			}
			else{
				$('pbm'+post_id).innerHTML=t;
				globalFadeIn(l);
				// Bookmarks zuruecksetzen
				lastbmlist='';
				if($('ExtendedBookmarks').style.display!='none'){
					Element.hide('ExtendedBookmarks');
					$('bmplusminus').firstChild.innerHTML=symbol_plus;
					$('bmplusminus').firstChild.title=_("Show list");
					showBookmarks();
				}
			}
		}
	});
	return false;
}
function topic_options(tid,id)
{
    var file=_f('topicoptions');
	new Ajax.Request(
		file,
		{
			method:'post',
			parameters:'tid='+tid+'&action='+id,
			onSuccess:function(xh){
				var newtext = xh.responseText;
				if(isError(newtext)){printError(newtext);return false;}
        		$(id).innerHTML = newtext + ' ';
        		if($(id).className=='') {
            		$(id).className='activefeature';
        		}
        		else {
            		$(id).className='';
        		}
			}
		}
	);
	return false;
}
function toggleSpoiler(alink) {
	var spoilArea=alink.parentNode.parentNode;
	if(spoilArea.className=='spoiler') {
		spoilArea.className='showspoiler';
		alink.innerHTML=_('Hide text');
	}else{
		spoilArea.className='spoiler';
		alink.innerHTML=_('Show text');
	}
	return false;
}
function setNewTags() {
	var tags = $F('new_topic_tags'),data;
	var topic_id=thread_id;
	var outputdiv=$('suggestedTags');
	outputdiv.innerHTML='';
	Element.hide('suggestedTags');
	if(tags.length>0)
	{
		tags = tags.replace(/\#/,'');
		Form.Element.clear('new_topic_tags');
		var divcontent = $('divmoretags').innerHTML;
		$('divmoretags').innerHTML = '';
		$('divmoretags').className = 'loading';
		var sideloader=setInterval("dotti($('divmoretags'))",100);
		var file = _f('addtags');
		var params = {tid:topic_id,new_tags:tags};
		var h = $H(params);
		new Ajax.Request(
		file,
		{
			method:'post',
			parameters:h.toQueryString(),
			onSuccess:function(xh){
				var resp = xh.responseText;
				if(resp=='error'){
					alert(_('No access!'));
				}
				else {
					eval('data=('+resp+')');
					var data=data[0];
					if(data.error!='') {
						alert(data.error);
					}
					$('ptags').innerHTML=data.tags;
					initDropMe();
				}
				clearInterval(sideloader);
				$('divmoretags').className = 'addTAGS';
				$('divmoretags').innerHTML = divcontent;
				$('new_topic_tags').focus();
			}
		});
	}
	return false;
}
function toggleTagform(){
	Element.toggle('divmoretags');
	if($('divmoretags').style.display=='none'){
		$('new_topic_tags').blur();
	}else{
		$('new_topic_tags').focus();
	}
	return false;
}
function deleteTag(tagid){if(!isNaN(tagid)){var topic_id=thread_id;new Ajax.Request(_f('deletetag'),{method:'get',parameters:'t='+tagid+'&tid='+topic_id,onSuccess:function(xh){if(xh.responseText=='OK'){Element.remove('tag'+tagid);}else{alert(_('No access!'));}}});}return false;}

function toggleIrrelevant(post_id,type){
if(isNaN(post_id)||post_id<=0){return false;}
Element.toggle(type+'Posting'+post_id);
var toggleLink=$(type+'Link'+post_id);
var post_div='p'+post_id;
if(toggleLink.innerHTML==_('Show text'))
{
	globalFadeIn(post_div);
	$('p'+post_id).className='relevant';
	toggleLink.innerHTML=_('Hide text');
}
else
{
	globalFadeOut(post_div);
	$('p'+post_id).className='irrelevant';
	toggleLink.innerHTML=_('Show text');
}
return false;
}
var anzTags=0;
var oldLiId=-1;
var lastInput='';
function getSuggestTags(){
	oldLiId=-1;
	var data='';
	var output='';
	var input=trim($F('new_topic_tags'));
	if(input!=''){
		var h=$H({newtags:input});
		var file=_f('tagsuggest2');
		new Ajax.Request(
		file,
		{
			method:'post',
			parameters:h.toQueryString(),
			onSuccess:function(xh){
				var resp=xh.responseText;
				if(isError(resp)){
					printError(resp);
				}else{
					eval('data='+resp);
					anzTags=data.length;
					if(anzTags>0){
						//output='<ul>';
						for(var i=0;i<data.length;i++){
							output+='<li id="liElem'+i+'" onmouseover="switchHlClass(this);" onmouseout="switchHlClass(this);">';
							output+=data[i];
							output+='</li>';
						}
						//output+='</ul>';
						$('suggestedTags').innerHTML=output;
						Element.show('suggestedTags');
					}else{
						$('suggestedTags').innerHTML='';
						Element.hide('suggestedTags');
					}
				}
			}
		});
	}else{
		$('suggestedTags').innerHTML='';
		Element.hide('suggestedTags');
	}
	return false;
}
function browseTags(taste){
	var newLiId;
	var outputdiv=$('suggestedTags');
	if(taste==13){ //enter
		oldLiId=-1;
		outputdiv.innerHTML='';
		Element.hide('suggestedTags');
		return false;
	}
	if(taste==40){ // runter
		if(oldLiId>=(anzTags-1)||oldLiId==-1){
			newLiId=0;
		}else if(oldLiId<anzTags){
			newLiId=oldLiId;
			newLiId++;
		}
	}
	else if(taste==38){ // rauf
		if(oldLiId<=0){
			newLiId=anzTags-1;
		}else{
			newLiId=oldLiId-1;
		}
	}
	if(document.getElementById('liElem'+oldLiId)){
		$('liElem'+oldLiId).className='';
	}
	$('liElem'+newLiId).className='hlTag';
	oldLiId=newLiId;
	$('new_topic_tags').value=$('liElem'+newLiId).firstChild.innerHTML;
}
function switchHlClass(elem){
	if(document.getElementById('liElem'+oldLiId)){
		$('liElem'+oldLiId).className='';
	}
	if(elem.className=='hlTag'){
		elem.className='';
	}else{
		elem.className='hlTag';
	}
	oldLiId=elem.id.substring(6);
}
function addSuggestTag(elem){
	var outputdiv=$('suggestedTags');
	$('new_topic_tags').value=trim(elem.innerHTML)+' ';
	outputdiv.innerHTML='';
	Element.hide('suggestedTags');
	oldLiId=-1;
	$('new_topic_tags').focus();
	return false;
}
function checkKey(evt){
	if((evt.keyCode==38||evt.keyCode==40||evt.keyCode==13)){
		if(evt.keyCode==13&&oldLiId==-1){
			setNewTags();
		}else{
			if(anzTags>0){
				browseTags(evt.keyCode);
			}
		}
	}
	else if(evt.keyCode==27){
		$('suggestedTags').innerHTML='';
		Element.hide('suggestedTags');
		oldLiId=-1;
		$('new_topic_tags').value='';
	}
	else{
		getSuggestTags();
	}
}
function openVerweise(linkelem){
	var div=linkelem.nextSibling;
	if(div.style.display=='none'){
		div.style.display='inline';
	}else{
		div.style.display='none';
	}
	var img=linkelem.firstChild;
	if(img.src==imgdir+'/plus2.gif'){
		img.src=imgdir+'/minus2.gif';
	}else{
		img.src=imgdir+'/plus2.gif';
	}
	return false;
}
function openImage(url)
{
	window.open(url);
	return false;
}
function iconAdd(name, v){
	if(typeof(v) != 'undefined') {
		var title=encodeURIComponent('supertopic.de - Vernissage - '+WorkTitle);
		document_uri = location.href;
	    hash_position = document_uri.indexOf("#");
	    if(hash_position > -1) {
	        document_uri = document_uri.substring(0, hash_position);
	    }
		var url=encodeURIComponent(document_uri);
	}
	else {
		var title=encodeURIComponent('supertopic.de - '+thread_title);
		var url=encodeURIComponent(thread_url);
	}
	switch(name){
		case'Oneview':
			window.open("http://beta.oneview.de:80/quickadd/neu/addBookmark.jsf?URL="+url+"&title="+title);
			break;
		case'Lycos iQ':
			window.open("http://iq.lycos.de/lili/my/add?url="+url);
			break;
		case'Del.icio.us':
			window.open("http://del.icio.us/post?url="+url+"&title="+title);
			break;
		case'Digg':
			window.open("http://digg.com/submit?phase=2&url="+url+"&title="+title);
			break;
		case'Mister Wong':
			window.open("http://www.mister-wong.de/index.php?action=addurl&bm_url="+url+"&bm_description="+title);
			break;
		case'Yahoo MyWeb':
			window.open("http://myweb2.search.yahoo.com/myresults/bookmarklet?u="+url+"&t="+title);
			break;
		case'YiGG':
			window.open("http://yigg.de/neu?exturl="+url+"&exttitle="+title);
			break;
		case'StumbleUpon':
			window.open("http://www.stumbleupon.com/submit?url="+url+"&title="+title);
			break;
		case'Webnews':
			window.open("http://www.webnews.de/einstellen?url="+url+"&title="+title);
			break;
		case'Blinklist':
			window.open("http://www.blinklist.com/index.php?Action=Blink/addblink.php&Url="+url+"&Title="+title);
			break;
		case'Furl':
			window.open("http://furl.net/storeIt.jsp?u="+url+"&t="+title);
			break;
		case'Reddit':
			window.open("http://reddit.com/submit?url="+url+"&title="+title);
			break;
		case'Spurl':
			window.open("http://www.spurl.net/spurl.php?v=3&title="+title+"&url="+url);
			break;
		case'Technorati':
			window.open("http://technorati.com/faves?add="+url);
			break;
	}
	return false;
}

function searchRelatedTopics(){
	$('divrl').innerHTML='';
	Element.addClassName('divrl','loading');
	rlload=setInterval("dotti($('divrl'))",100);
	var file=_f('related');
	new Ajax.Request(
	file,
	{
		method:'post',
		parameters:'tid='+thread_id,
		onSuccess:function(xh){
			clearInterval(rlload);
			Element.removeClassName('divrl','loading');
			var resp=xh.responseText;
			if(isError(resp)){
				printError(resp);
			}else{
				if(resp=='NO'){
					$('divrl').innerHTML='<li>keine Treffer</li>';
				}else{
					eval('var data=('+resp+')');
					var lines='';
					for(var i=0;i<data.length;i++){
						lines+=printRelatedLink(data[i]);
					}
					$('divrl').innerHTML=lines;
				}
				show_related=true;
			}
		}
	});
}
function printRelatedLink(item){
	var cssclass=(item.css=='')?'':' class="'+item.css+'"';
	return '<li><a href="'+item.url+'"'+cssclass+'>'+item.title+' </a></li>';
}

// Liveposts -- 2007-06-16

var firstCall=true;
var live_int=0;
var interval=10000;
var newItems=new Array();

function initLiveposts()
{
	if(firstCall===true){
		// sofortiger Aufruf
		loadLiveposts();
	}
	live_int=setInterval('loadLiveposts()',interval);
	firstCall=false;
}

function closeLiveposts(){
	if(live_int>0){
		clearInterval(live_int);
	}
}

function loadLiveposts()
{
	var file = _f('livepost');

	new Ajax.Request(
	file,
	{
		method:'post',
		parameters:'tid='+thread_id+'&time='+timestamp,
		onSuccess:function(xh){
			var t=xh.responseText;
			if(isError(t)){
				printError(t);
			}
			else{
				eval('var data = ' + t);
				if (data.length == 0) {
						return false;
				}
				var newItem;
				var t=data.shift();
				timestamp=t.timestamp;
				if(data.length>0){
					for(var i=0;i<data.length;i++){
						newItem = cE('div');
						newItem.id = 'p'+data[i].pid;
						newItem.isIrrelevant = data[i].irlink != '' ? true : false;
						newItem.innerHTML = printNewPost(data[i]);
						newItems.push(newItem);
					}
					_c = countStoredItems();
					$('livePostNotice').innerHTML='In der Zwischenzeit'+((_c==1)?' wurde <a href="#" onclick="return showStoredItems();">ein neuer Beitrag':' wurden <a href="#" onclick="return showStoredItems();">'+_c+' neue Beitr&auml;ge')+'</a> verfasst.';
					if($S('livePostNotice').display=='none'){
						$S('livePostNotice').opacity=0;
						Element.show('livePostNotice');
						globalFadeOn('livePostNotice');
					}
				}
			}
		}
	});
	return false;
}

function countStoredItems(){
	var cnt=0;
	for(i=0;i<newItems.length;i++){
		if(newItems[i].id.substr(0,2)!='hr'){
			cnt++;
		}
	}
	return cnt;
}

function showStoredItems(){
	var number=newItems.length;
	if(number>0){
		for(i=0;i<number;i++){
			if(i==0){
				jumptoId=newItems[i].id;
			}
			newItems[i].style.display = 'none';
			$('posts').appendChild(newItems[i]);
			$j('#' + newItems[i].id).fadeIn('fast');

			if(newItems[i].isIrrelevant === true) {
					$j('#' + newItems[i].id).addClass('irrelevant');
			}
		}
		$j.scrollTo('#' + jumptoId, 'normal');
		newItems.splice(0,number);
		$j('#livePostNotice').html('').fadeOut('fast');
	}

	// Dropme
	initDropMe();
    initClipboard();
    styleTooltips();

	return false;
}

function install(file, extName) {
		var params = new Array();
			params[extName] = {
				URL: file,
				IconURL: 'http://www.supertopic.de/files/rosarotebrille.png',
				toString: function () { return this.URL; }
			};
		InstallTrigger.install(params);
		return false;
	}

function initPrivate() {
		$j('#divtg a[@rel=add]').click(addMember);
		$j('#divtg a[@rel^=rem-]').click(removeMember);
}

function addMember() {
		removeError();
		if ($j('#addMemberForm').get() == 0) {
				$j('#divtg a[@rel=add]').after('<form id="addMemberForm" method="post" style="display:none"><input type="text" name="new" value="" class="addtagsform" /></form>').parent().find('form').fadeIn('fast').find('input').focus();
				$j('#addMemberForm').submit(function () {
						var $form = $j(this);
						removeError();
						$j.post(_f('topicoptions'), { action : 'add', tid : thread_id, members : $form.find('input').val() }, function (data) {
								if (data.error) {
										addError(data.error);
								}
								else if (data.length > 0) {
										var items = [];
										$j.each(data, function () {
												items.push('<li class="new" style="display:none;"><a href="#">' + this.name + ' </a><ul class="dropme"><li><a href="#" rel="rem-' + this.id + '">löschen</a></li></ul></li>');
										});
										$j('#divtg').prepend(items.join("\n")).find('li.new').fadeIn().highlightFade().removeClass('new');

										initPrivate();
										initDropMe();
										hideForm();
								}
						}, 'json');
						return false;
				});
		}
		else if($j('#addMemberForm').not(':hidden')) {
				hideForm();
		}
		return false;
}

function removeMember(event) {
		var $link = $j(event.element());
		removeError();
		var id = parseInt($link.attr('rel').substring(4));
		var name = $j.trim($link.parent().parent().prev().html());
		if (confirm('Möchtest du ' + name + ' wirklich die Leserechte entziehen?')) {
				$j.post(_f('topicoptions'), { action : 'remove', tid : thread_id, member : id }, function (data) {
						if (data.error) {
								addError(data.error);
						}
						else {
								$link.parent().parent().parent().highlightFade().fadeOut('normal', removeMe);
						}
				}, 'json');
		}
		return false;
}

function addError(msg) {
		var html = '<span class="error">' + msg + '</span>';
		$j('#divtg li:first').clone().html(html).hide().appendTo('#divtg').fadeIn('fast');
}

function removeError() {
		$j('#divtg').find('.error').parent().fadeOut('fast', removeMe);
}

function hideForm() {
		removeError();
		$j('#addMemberForm').reset().fadeOut('fast', removeMe);
}

addLoadEvent(initPrivate);