function OpenNewNewsBox()
{
	LockScreen();
	OpenBox('NewNewsBox');
	document.getElementById('FlashDiv').style.display = 'none';
}
function CloseNewNewsBox()
{
	CloseBox('NewNewsBox');
	UnlockScreen();
	document.getElementById('FlashDiv').style.display = 'block';
}
function OpenEditNewsBox()
{
	LockScreen();
	OpenBox('EditNewsBox');
	document.getElementById('FlashDiv').style.display = 'none';
}
function CloseEditNewsBox()
{
	UnlockScreen();
	CloseBox('EditNewsBox');
	document.getElementById('FlashDiv').style.display = 'block';
}
function SubmitNewNews(FormID)
{
	// Get the data from the form //
	var NewsTitle = document.getElementById('NewNewsTitle').value;
	var NewsDesc = document.getElementById('NewNewsDesc').value;
	var NewsLink = document.getElementById('NewNewsLink').value;
	var NewsPublic = (document.getElementById('NewNewsPublic').checked == true ? 1 : 0);

	// Save the data for the post method //
	var Data = "Action=Insert";
	Data += "&NewsTitle=" + encodeURIComponent(NewsTitle);
	Data += "&NewsDesc=" + encodeURIComponent(NewsDesc);
	Data += "&NewsLink=" + encodeURIComponent(NewsLink);
	Data += "&NewsPublic=" + encodeURIComponent(NewsPublic);

	// Set the post method //
	var Method = "POST";

	// URL to send the request to //
	var URL = "NewsXML.php";

	// Send the request //
	AjaxRequest(Method, URL, Data, NewNewsCallback);

	// Return false to stop the form from submiting //
	return false;
}

function NewNewsCallback(AjaxObject)
{
	if(AjaxObject.getResponseHeader('Content-Type') != 'text/xml')
		document.location = 'index.php';

	var XMLDocument = AjaxObject.responseXML;

	if(XMLDocument.getElementsByTagName('InsertedID').length < 1)
		document.location = 'index.php';

	// Refresh list //
	GetNews();

	// Close the Box //
	CloseNewNewsBox();
}
function SubmitEditNews()
{
	// Get the data from the form //
	var NewsTitle = document.getElementById('EditNewsTitle').value;
	var NewsDesc = document.getElementById('EditNewsDesc').value;
	var NewsLink = document.getElementById('EditNewsLink').value;
	var NewsPublic = (document.getElementById('EditNewsPublic').checked == true ? 1 : 0);
	var NewsID = document.getElementById('EditNewsID').value;

	// Save the data for the post method //
	var Data = "Action=Edit";
	Data += "&NewsID=" + NewsID;
	Data += "&NewsTitle=" + encodeURIComponent(NewsTitle);
	Data += "&NewsDesc=" + encodeURIComponent(NewsDesc);
	Data += "&NewsLink=" + encodeURIComponent(NewsLink);
	Data += "&NewsPublic=" + encodeURIComponent(NewsPublic);

	// Set the post method //
	var Method = "POST";

	// URL to send the request to //
	var URL = "NewsXML.php";

	// Send the request //
	AjaxRequest(Method, URL, Data, UpdateNewsCallback);

	// Return false to stop the form from submiting //
	return false;

}
function UpdateNewsCallback(AjaxObject)
{
	if(AjaxObject.getResponseHeader('Content-Type') != 'text/xml')
		document.location = 'index.php';

	var XMLDocument = AjaxObject.responseXML;

	// Refresh list //
	GetNews();

	// Close the Box //
	CloseEditNewsBox();
}
function ShowLoadingDiv()
{
	document.getElementById('NewsLoadingDiv').style.display = 'block';
}
function HideLoadingDiv()
{
	document.getElementById('NewsLoadingDiv').style.display = 'none';
}
function GetNews()
{
	var Method = "GET";
	var URL = "NewsXML.php?Action=Get";

	AjaxRequest(Method, URL, null, GetNewsCallback);
}
function GetNewsCallback(AjaxObject)
{
	if(AjaxObject.getResponseHeader('Content-Type') == 'text/xml')
	{
		var XMLDocument = AjaxObject.responseXML;

		// Get the news articles div //
		var NewsArticles = document.getElementById('NewsArticles');

		// Get the news articles parent //
		var Parent = NewsArticles.parentNode;

		// Remove the News Articles //
		Parent.removeChild(NewsArticles);

		// Create a new div //
		var NewsArticles = document.createElement('div');

		// Set the ID //
		NewsArticles.id = 'NewsArticles';

		// Get the XML Articles //
		var Articles = XMLDocument.getElementsByTagName('Article');

		// Make sure we have articles to show //
		if(Articles.length > 0)
		{
			var Admin = XMLDocument.getElementsByTagName('Admin')[0].firstChild.data;
			var LoggedInUID;

			try { LoggedInUID = XMLDocument.getElementsByTagName('LoggedIn')[0].firstChild.data; }
			catch(e) { LoggedInUID = 0; }

			for(var i = 0; i < Articles.length; i++)
			{
				var ID			= Articles[i].getAttribute('ID');
				var TimeStamp	= Articles[i].getAttribute('TimeStamp');
				var Desc;
				var Title;
				var Link;
				var UserFirstName;
				var UserLastName;
				var UserID;

				try { Title = Articles[i].getElementsByTagName("Title")[0].firstChild.data; }
				catch(e) { Title = ""; }

				try { Desc = Articles[i].getElementsByTagName("Desc")[0].firstChild.data; }
				catch(e) { Desc = ""; }

				try { Link = Articles[i].getElementsByTagName("Link")[0].firstChild.data; }
				catch(e) { Link = ""; }

				var User = Articles[i].getElementsByTagName("User");

				if(User.length > 0)
				{
					UserID = User[0].getAttribute("ID");

					try { UserFirstName = User[0].getElementsByTagName("FirstName")[0].firstChild.data; }
					catch(e) { UserFirstName = ""; }

					try { UserLastName = User[0].getElementsByTagName("LastName")[0].firstChild.data; }
					catch(e) { UserLastName = ""; }
				}
				else
				{
					UserFirstName = "";
					UserLastName = "";
					UserID = 0;
				}

				// Create a new div //
				var Div = document.createElement('div');

				// Create a new anchor tag //
				var A = document.createElement('a');

				// Set the class to title //
				Div.className = "Title";

				// Create a new text node //
				var Text = document.createTextNode(Title);

				// Add the text to the link //
				A.appendChild(Text);

				// Add the links href //
				A.href = Link;

				// Append the link to the div //
				Div.appendChild(A);

				// Add the title to the news Articles div //
				NewsArticles.appendChild(Div);

				// Check to see if we want to show the admin features //
				if(Admin > 0)
				{
					Div = document.createElement('div');
					Div.className = "AdminLinks";
					A = document.createElement('a');
					A.href = "javascript: DeleteNews(" + ID + ");";
					var Img = document.createElement('img');
					Img.src = "images/Delete.png";
					Img.alt = "Delete";
					Img.border = 0;
					A.appendChild(Img);
					Div.appendChild(A);

					A = document.createElement('a');
					A.href = "javascript: EditNews(" + ID + ");";
					Img = document.createElement('img');
					Img.src = "images/Edit.png";
					Img.alt = "Edit";
					Img.border = 0;
					A.appendChild(Img);
					Div.appendChild(A);

					NewsArticles.appendChild(Div);
				}
				Div = document.createElement('div');
				Div.className = "Clear";
				NewsArticles.appendChild(Div);

				// Create a new div //
				Div = document.createElement('div');

				// Set the class to title //
				Div.className = "Desc";

				// Create a new text node //
				Text = document.createTextNode(Desc);

				// Add the text to the link //
				Div.appendChild(Text);

				// Add the title to the news Articles div //
				NewsArticles.appendChild(Div);

				// Create a new div //
				Div = document.createElement('div');

				// Set the class to title //
				Div.className = "AddedInfo";

				var String = "Added " + TimeStamp;
				if(LoggedInUID > 0)
					String += " by " + UserFirstName + " " + UserLastName;

				// Create a new text node //
				Text = document.createTextNode(String);

				// Add the text to the link //
				Div.appendChild(Text);

				// Add the title to the news Articles div //
				NewsArticles.appendChild(Div);

				// Create the hr //
				var HR = document.createElement('hr');

				NewsArticles.appendChild(HR);
			}
		}

		// Add the News Article div to its parent //
		Parent.appendChild(NewsArticles);
	}
}

function EditNews(ID)
{
	var URL = "NewsXML.php?Action=GetArticle&ArticleID=" + ID;

	var Method = "GET";

	AjaxRequest(Method, URL, null, EditNewsCallback);
}
function EditNewsCallback(AjaxObject)
{
	if(AjaxObject.getResponseHeader('Content-Type') != 'text/xml')
		document.location = 'index.php';

	var XMLDocument = AjaxObject.responseXML;

	if(XMLDocument.getElementsByTagName('Article').length < 0)
		document.location = 'index.php';

	var ArticleXML = XMLDocument.getElementsByTagName('Article')[0];

	var ArticleID = ArticleXML.getAttribute('id');
	var Title;
	var Desc;
	var Link;
	var Public;

	try { Title = ArticleXML.getElementsByTagName('Title')[0].firstChild.data; }
	catch(e) { Title = ""; }
	try { Desc = ArticleXML.getElementsByTagName('Desc')[0].firstChild.data; }
	catch(e) { Desc = ""; }
	try { Link = ArticleXML.getElementsByTagName('Link')[0].firstChild.data; }
	catch(e) { Link = ""; }
	try { Public = ArticleXML.getElementsByTagName('Public')[0].firstChild.data; }
	catch(e) { Public = "0"; }

	document.getElementById('EditNewsTitle').value = Title;
	document.getElementById('EditNewsDesc').value = Desc;
	document.getElementById('EditNewsLink').value = Link;
	document.getElementById('EditNewsPublic').checked = Public == 1 ? true : false;
	document.getElementById('EditNewsID').value = ArticleID;

	OpenEditNewsBox();
}
function DeleteNews(ID)
{
	var Method = "GET";
	var URL = "NewsXML.php?Action=Delete&NewsID=" + ID;

	AjaxRequest(Method, URL, null, DeleteNewsCallback);
}
function DeleteNewsCallback(AjaxObject)
{
	if(!AjaxObject.getResponseHeader('Content-Type'))
		document.location = 'index.php';
	else
		GetNews();
}