var ForumAjax = true;

function GetReplies(direction) {
	if (ForumAjax === false || threadid  < 1 || offset < 0) { return false; }
	ForumAjax = false;
	hide('fillform');
	show('loadingReplies');
	var data = 'threadid=' + threadid + '&offset=';
	if (direction == 'back') {
		if (offset > 9) offset = offset - 9;
		else offset = 0;
		data = data + (offset);
	} else {
		data = data + nextOffset;
	}
	new AJAXRequest('POST','ajax_getreplies.php',data,processForumReplies);
	return false;
}

function GoToPage(extreme) {
	if (ForumAjax === false || threadid  < 1 || offset < 0) { return false; }
	ForumAjax = false;
	hide('fillform');
	show('loadingReplies');
	var data = 'threadid=' + threadid + '&offset=';
	if (extreme == 'last') data = data + (parseInt(pages)-1)*9;
	else data = data + '0';
	new AJAXRequest('POST','ajax_getreplies.php',data,processForumReplies);
	return false;
}

function processForumReplies(myAJAX) {
	var msg;
	if (myAJAX.readyState == 4) {
		if (myAJAX.status == 200) {
			var response = myAJAX.responseText;
			if (myAJAX.responseText.length > 0) {
				msg = myAJAX.responseText.split("<StartPosts>");
				document.getElementById('msgcontainer').innerHTML = msg[1];
				work = msg[0].split("\n");
				if (work[0] == 'true') show('nextlink');
				else hide('nextlink');
				if (work[1] == 'true') show('backlink');
				else hide('backlink');
				currPage = work[2];
				if (currPage == pages) hide('lastpage');
				else {
					if (pages > 2) show('lastpage');
				}
				document.getElementById('pagenum').innerHTML = 'Page ' + currPage + ' of ' + pages;
				offset = parseInt(work[3]);
				nextOffset = parseInt(work[3]) + 9;
			} else {
				alert('An invalid response was received from the server. Try again later.');
			}
		} else {
			alert('An error occured. Try again later. HTTP Error code: ' + myAJAX.status);
		}
		hide('loadingReplies');
		window.setTimeout('ForumAjax = true;','150');
		if (ReplyWait === true) {
			show('fillform');
			ReplyWait = false;
			window.setTimeout("window.location = '#reply'",200);
		}
	}
	postdesignAdapter();
}
var ReplyWait = false;
function ReplyTopic() {
	if (pages > 1) {
		ReplyWait = true;
		GoToPage('last');
	} else {
		show('fillform');
		window.setTimeout("window.location = '#reply'",200);
		postdesignAdapter();
	}
	return false;
}

function SubmitReply() {
	var msg = tinyMCE.get('replymsg').getContent();
	data = 'threadid=' + threadid + '&title=' + encode(document.getElementById('replytitle').value) + '&msg=' + encode(msg);
	hide('fillform');
	window.location = '#loading';
	show('loadingReplies');
	postdesignAdapter();
	forumAjax = false;
	new AJAXRequest('POST','ajax_submitreply.php',data,processForumAdd);
}

function processForumAdd(myAJAX) {
	var msg;
	if (myAJAX.readyState == 4) {
		if (myAJAX.status == 200) {
			var response = myAJAX.responseText;
			if (myAJAX.responseText.length > 0) {
				msg = myAJAX.responseText.split("<StartReply>");
				if (msg[0] == 'fail') {
					alert(msg[1]);
				} else {
					document.getElementById('msgcontainer').innerHTML = document.getElementById('msgcontainer').innerHTML + (msg[1]);
					tinyMCE.get('replymsg').setContent('');
					document.getElementById('replytitle').value = '';
					addbuggy();
				}
			} else {
				alert('An invalid response was received from the server. Try again later.');
			}
		} else {
			alert('An error occured. Try again later. HTTP Error code: ' + myAJAX.status);
		}
		hide('loadingReplies');
		window.setTimeout('ForumAjax = true;','150');
	}
	postdesignAdapter();
}

function addbuggy() {
	var d = document.getElementById('msgcontainer');
	var olddiv = document.getElementById('buggyDIV');
	d.removeChild(olddiv);
	document.getElementById('msgcontainer').innerHTML = document.getElementById('msgcontainer').innerHTML + '<div id="buggyDIV">&nbsp;<!-- silly Internet Explorer highlight bug --></div>';
}

function SubmitTopic() {
	if (document.getElementById('threadtitle').value.length < 2) {
		alert('Enter a larger discussion title.');
		return false;
	}
	if (tinyMCE.get('threadmsg').getContent().length < 5) {
		alert('Enter a larger message.');
		return false;
	}
	return true;
}
