function NewsEditor()
{
	var self = this;

	this.newsId = 0;
	this.newsMessageBait = null;
	this.newsMessage = null;
	this.index = 0;

	//-----------------------------------------[ setNewsId ]
	this.setNewsId = function(newsId)
	{
		this.newsId = newsId;
		return;
	}

	//-----------------------------------------[ setMessageField ]
	this.setBaitField = function(newsId)
	{
		this.newsMessageBait = document.getElementById("newMessageBaitEdit_"+newsId+"_Text");
		return;
	}

	//-----------------------------------------[ setMessageField ]
	this.setMessageField = function(newsId)
	{
		this.newsMessage = document.getElementById("newMessageEdit_"+newsId+"_Text");
		return;
	}

	//-----------------------------------------[ setIndex ]
	this.setIndex = function(i)
	{
		this.index = Number(i);
		return;
	}

	//-----------------------------------------[ fitCells ]
	this.fitCells = function()
	{
		
		if(this.index > 0) {
			document.getElementById("news_cell_"+this.index).colSpan = "1";
			switch(this.index) {
				case 1:
					document.getElementById("news_cell_2").style.display = "table-cell";
					break;
				case 2:
					document.getElementById("news_cell_1").style.display = "table-cell";
					break;
				case 3:
					document.getElementById("news_cell_4").style.display = "table-cell";
					break;
				case 4:
					document.getElementById("news_cell_3").style.display = "table-cell";
					break;
			}
		}
		return;
	}

	//-----------------------------------------[ setMode ]
	this.setMode = function(newMode)
	{
		this.mode = newMode;

		switch(this.mode)
		{
			case 1:
				document.getElementById("newMessageNormal_"+this.newsId).style.display = "block";
				document.getElementById("newMessageEdit_"+this.newsId).style.display = "none";
				break;
			case 2:
				document.getElementById("newMessageNormal_"+this.newsId).style.display = "none";
				document.getElementById("newMessageEdit_"+this.newsId).style.display = "block";
				break;
		}
		return;
	}

	//-----------------------------------------[ saveNews ]
	this.saveNews = function()
	{
		var ajaxRequest = new AjaxRequest();
		var sendData = "action=EDIT&newsId="+this.newsId+"&newsMessage="+this.newsMessage.value+"&newsMessageBait="+this.newsMessageBait.value;
		var XMLResponse;
		var i;
		var Error;
		var newMessage;

		ajaxRequest.openPost("admin/news.php?ajax=1", sendData, false);
		try {
			XMLResponse = parseXML(ajaxRequest.response);
		} catch(e) {
			XMLResponse = parseXML(ajaxRequest.reqHandler.response);
		}

		for(i=0; i<XMLResponse.childNodes.length; i++)
		{
			if(XMLResponse.childNodes[i].nodeType != 1) {
				continue;
			}

			if(XMLResponse.childNodes[i].nodeName == "Error") {
				Error = XMLResponse.childNodes[i].childNodes[0].nodeValue
			}
/*
			if(XMLResponse.childNodes[i].nodeName == "NewMessage") {
				newBait = XMLResponse.childNodes[i].childNodes[0].nodeValue;
				newBait = str_replace("&lt;", "<", newBait);
				newBait = str_replace("&gt;", ">", newBait);
				newBait = str_replace("java script", "javascript", newBait);
			}
*/
			if(XMLResponse.childNodes[i].nodeName == "NewMessage") {
				newMessage = XMLResponse.childNodes[i].childNodes[0].nodeValue;
				newMessage = str_replace("&lt;", "<", newMessage);
				newMessage = str_replace("&gt;", ">", newMessage);
				newMessage = str_replace("java script", "javascript", newMessage);
			}
		}


		if(Error == "0") {
			this.fitCells();
			this.setMode(1);
			document.getElementById("newMessageNormal_"+this.newsId).innerHTML = newMessage;
		} else {
			alert("Fehler, die News konnten nicht bearbeitet werden!\n\nError: "+Error);
		}

		window.location.hash = "#"+this.newsId;
		window.location="#"+this.newsId;
		return;
	}

	//-----------------------------------------[ deleteNews ]
	this.deleteNews = function()
	{
		var ajaxRequest = new AjaxRequest();
		var sendData = "action=DELETE&newsId="+this.newsId;

		ajaxRequest.openPost("admin/news.php?ajax=1", sendData, false);
		try {
			if(ajaxRequest.response == "1<br><Error>0</Error>") {
				alert("Die News wurden erfolgreich gelöscht!");
			}
		} catch(e) {
			if(ajaxRequest.reqHandler.response == "1<br><Error>0</Error>") {
				alert("Die News wurden erfolgreich gelöscht!");
			}
		}

		var news = document.getElementById("News_"+this.newsId);
		var parent = document.getElementById("News_"+this.newsId).parentNode;

		if(news.nextSibling.tagName == "BR") {
			var linebreak = news.nextSibling;
		} else {
			var linebreak = news.nextSibling.nextSibling;
		}

		parent.removeChild(news);
		parent.removeChild(linebreak);

		return;
	}

	//-----------------------------------------[ abort ]
	this.abort = function()
	{
		this.fitCells();
		this.setMode(1);

		window.location.hash = "#"+this.newsId;
		window.location="#"+this.newsId;
		return;
	}

	//-----------------------------------------[ complete ]
	this.complete = function()
	{
		return;
	}
}
