
function UpdateNotesChange() {
	var S = document.getElementById('NotesList');
	if(S) {
		var ID = S.options[S.selectedIndex].value;
		ajaxQuery('GET', 'http://teridal.com/ajax.php?q=UpdateNotes&ID=' + ID, ajaxUpdateNotesHandler);
	}
	return false;
}
function ajaxUpdateNotesHandler(xmlHttp) {
	var E = document.getElementById('UpdateNotes');
	GetResponseText(E, xmlHttp);
}
function NewsPostsChange(Skip) {
	ajaxQuery('GET', 'http://teridal.com/ajax.php?q=NewsPosts&Skip=' + Skip, ajaxNewsPostsHandler);
	return false;
}
function ajaxNewsPostsHandler(xmlHttp) {
	var E = document.getElementById('NewsPosts');
	GetResponseText(E, xmlHttp);
}
function ForumPostsChange(TopicID, Skip) {
	ajaxQuery('GET', 'http://teridal.com/ajax.php?q=ForumPosts&TopicID=' + TopicID + '&Skip=' + Skip, ajaxForumPostsHandler);
	return false;
}
function ForumTopicsChange(CatID, Skip) {
	ajaxQuery('GET', 'http://teridal.com/ajax.php?q=ForumTopics&CatID=' + CatID + '&Skip=' + Skip, ajaxForumPostsHandler);
	return false;
}
function ajaxForumPostsHandler(xmlHttp) {
	var E = document.getElementById('ForumPosts');
	GetResponseText(E, xmlHttp);
}

function ToggleUpdateNotesInterface() { TogglePostInterface('ToggleUpdateNotesInterface', 'EditUpdateNotes', 'New', 'ID=0'); }
function ToggleNewsPostInterface() { TogglePostInterface('ToggleNewsPostInterface', 'EditNewsPost', 'New', 'ID=0'); }
function ToggleForumPostInterface(Info, CatID, ID, Edit) { TogglePostInterface('ToggleForumPostInterface', 'EditForumPost', Info, 'ID=' + ID + '&TopicID=0&CatID=' + CatID+ '&Edit=' + Edit); }

function EditUpdateNotes(ID, Submit) {
	var Interface = document.getElementById('PostInterface');
	var Button = document.getElementById('ToggleUpdateNotesInterface');
	if(Submit) {
		ajaxFormSubmit('UpdateNotesForm', 'WriteUpdateNotes', ajaxPostInterfaceHandler);
		ajaxQuery('GET', 'http://teridal.com/ajax.php?q=UpdateNotes&ID=' + ID, ajaxUpdateNotesHandler);
		if(Button) { Button.value = 'New'; }
	} else {
		if(Button.value == 'New') {
			Button.value = 'Close';
			Interface.className = 'UnderInfo';
		}
		ajaxQuery('GET', 'http://teridal.com/ajax.php?q=EditUpdateNotes&ID=' + ID, ajaxPostInterfaceHandler);
	}
}
function EditNewsPost(ID, Submit) {
	var Interface = document.getElementById('PostInterface');
	var Button = document.getElementById('ToggleNewsPostInterface');
	if(Submit) {
		ajaxFormSubmit('NewsPostForm', 'WriteNewsPost', ajaxPostInterfaceHandler);
		ajaxQuery('GET', 'http://teridal.com/ajax.php?q=NewsPosts&Skip=0', ajaxNewsPostsHandler);
		if(Button) { Button.value = 'New'; }
	} else {
		if(Button.value == 'New') {
			Button.value = 'Close';
			Interface.className = 'UnderInfo';
		}
		ajaxQuery('GET', 'http://teridal.com/ajax.php?q=EditNewsPost&ID=' + ID, ajaxPostInterfaceHandler);
	}
}
function EditForumPost(TopicID, CatID, ID, Submit) {
	var Interface = document.getElementById('PostInterface');
	var Button = document.getElementById('ToggleForumPostInterface');
	if(Submit) {
		ajaxFormSubmit('ForumPostForm', 'WriteForumPost', ajaxPostInterfaceHandler);
		if(ID) {
			var T = TopicID;
			if(!T) { T = ID; }
			ajaxQuery('GET', 'http://teridal.com/ajax.php?q=ForumPosts&TopicID=' + T + '&Skip=0', ajaxForumPostsHandler);
			if(Button) { Button.value = 'Reply'; }
		} else {
			ajaxQuery('GET', 'http://teridal.com/ajax.php?q=ForumTopics&CatID=' + CatID + '&Skip=0', ajaxForumPostsHandler);
			if(Button) { Button.value = 'New Topic'; }
		}
	} else {
		if(Button.value == 'Reply') {
			Button.value = 'Close';
			Interface.className = 'UnderInfo';
		}
		ajaxQuery('GET', 'http://teridal.com/ajax.php?q=EditForumPost&CatID=' + CatID + '&TopicID=' + TopicID + '&ID=' + ID + '&Edit=1', ajaxPostInterfaceHandler);
	}
}
function TogglePostInterface(B, Command, ButtonTitle, Extra) {
	var Interface = document.getElementById('PostInterface');
	var Button = document.getElementById(B);
	if(Button.value == 'Close') {
		Button.value = ButtonTitle;
		Interface.className = 'UnderInfoHidden';
	} else {
		Button.value = 'Close';
		Interface.className = 'UnderInfo';
		ajaxQuery('GET', 'http://teridal.com/ajax.php?q=' + Command + '&' + Extra, ajaxPostInterfaceHandler);
	}
}
function ajaxPostInterfaceHandler(xmlHttp) {
	var E = document.getElementById('PostInterface');
	GetResponseText(E, xmlHttp);
}

function GetResponseText(Obj, xmlHttp) {
	if(Obj) {
		if(xmlHttp.readyState == 4) {
			Obj.style.height = 'auto';
			Obj.innerHTML = xmlHttp.responseText;
		} else {
			var Height;
			if(Obj.offsetHeight) { Height = Obj.offsetHeight; }
			else if(Obj.style.pixelHeight) { Height = Obj.style.pixelHeight; }
			var Width;
			if(Obj.offsetWidth) { Width = Obj.offsetWidth; }
			else if(Obj.style.pixelWidth) { Height = Obj.style.pixelWidth; }
			Obj.innerHTML = '<div id="AjaxLoadingBox"><center>Loading...</center></div>';
			Obj.style.height = Height + 'px';
			var E = document.getElementById('AjaxLoadingBox');
			E.style.height = Height + 'px';
		}
	}
}

function getXmlHttp() {
	var xmlHttp = null;
	try {	// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	} catch (e) {	// Internet Explorer
		try {
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
			}
		}
	}
	return xmlHttp;
}

function ajaxQuery(method, target, handler) {
	var xmlHttp = getXmlHttp();
	if(xmlHttp) {
		xmlHttp.onreadystatechange = function() {
			handler(xmlHttp);
		}
		xmlHttp.open(method, target, true);
		xmlHttp.send(null);
		return true;
	} else {
		return false;
	}
}

function ajaxFormSubmit(FormID, Q, ReturnHandler) {
	var Form = document.getElementById(FormID);
	if(Form) {
		var QueryString = '?q=' + Q;
		for(var X = 0; X < Form.length; ++X) {
			QueryString += '&';
			if(Form.elements[X].type == "checkbox" || Form.elements[X].type == "radio") {
				if(Form.elements[X].checked) {
					QueryString += encodeURIComponent(Form.elements[X].id) + '=1';
				} else {
					QueryString += encodeURIComponent(Form.elements[X].id) + '=0';
				}
			} else {
				QueryString += encodeURIComponent(Form.elements[X].name) + '=' + encodeURIComponent(Form.elements[X].value);
			}
		}
		Form.reset();
		ajaxQuery('GET', 'http://teridal.com/ajax.php' + QueryString, ReturnHandler);
		return false;
	}
	return true;
}
