var board_threads = new Array(); 		

function board_post_save(thread_id, post_id)
{
	var textarea_text = document.getElementById("board_post_edit_text_" + thread_id);
	if (textarea_text.value == "") return;
	new Ajax.Request(self + "/process/_board_post_edit/do_save",
	{
		method: 'post',
		parameters: 
		{
			"ajax": 1,
			"thread_id": thread_id,
			"post_id": post_id,
			"text": textarea_text.value
		},
		onSuccess: function(transport)
		{
			var response = transport.responseText;
			if (response != "1")
			{
				alert(response);
				return;
			}
			board_new_posts(thread_id);
		}
	});	
	textarea_text.clear();
}

function board_new_posts(thread_id)
{
	var board_thread_timer = window.setTimeout("board_new_posts(" + thread_id + ")", 10000);	
	if (board_threads[thread_id]["ajax_updates"] != "1") return;
	new Ajax.Request(self + "/process/_board_thread/ajax.new_posts",
	{
		method: 'get',
		parameters: 
		{
			"thread_id": thread_id,
			"last_post_id": board_threads[thread_id]["last_post_id"]
		},
		onSuccess: function(transport)
		{
			var json = transport.responseText.evalJSON();			
			var posts = json["posts"];
			var post_html_template = json["post_html_template"];
			var div_thread = document.getElementById("thread_" + thread_id);
			for (i = 0; i < posts.length; i++)
			{
				var post = posts[i];
				if (document.getElementById("post_" + post.id)) continue;
				var post_html = post_html_template;
				post_html = str_replace("$id", post.id, post_html);				
				post_html = str_replace("$user_username", post.user_username, post_html);				
				post_html = str_replace("$datetime", post.datetime, post_html);								
				post_html = str_replace("$text", base64_decode(post.text), post_html);												
				if (board_post_order == "asc")	div_thread.innerHTML = div_thread.innerHTML + post_html;
				else							div_thread.innerHTML = post_html + div_thread.innerHTML;
				document.getElementById("post_" + post.id).style.display = "none";
				document.getElementById("post_" + post.id).appear();
				new Effect.Highlight(document.getElementById("post_" + post.id), { startcolor: '#700100', endcolor: '#120d0d', queue: 'end' });				
				board_threads[thread_id]['last_post_id'] = post.id;				
			}			
		}
	});		
}

function board_delete_post(post_id)
{
	new Ajax.Request(self + "/process/_board_thread/ajax.post_delete",
	{
		method: 'get',
		parameters: 
		{
			"post_id": post_id
		},
		onSuccess: function(transport)
		{
			var response = transport.responseText;
			if (response == "1")
			{
				var div_post = document.getElementById("post_" + post_id);
				var div_post_parent = div_post.parentNode;
				new Effect.Fade(div_post, { duration: 1.0 });
				var board_delete_timer = window.setTimeout("div_post_parent.removeChild(div_post)", 1000);
			}
			else
				alert("Der Beitrag konnte nicht gelöscht werden.");			
		}
	});	
}

function str_replace(search, replace, subject)
{
	return subject.split(search).join(replace);
}
