var editableNewsVisible = false;

var onLoadEditableNews = function() {
	makeMoveable('popupeditableNews');
}

registerOnLoad(onLoadEditableNews);

function moreNews(name, mode)
{
	var c = new getObj('editable_' + name + '_newsContainer');
	var a = new getObj('editable_' + name + '_newsMore');
	if (mode) {
		if (c.ready) {
			c.style.height = 'auto';
		}
		if (a.ready) {
			a.obj.innerHTML = 'Less';
			a.obj.onclick = function() {
				if (window.moreNews)
					moreNews(name, !mode);
				return false;
			}
		}
	}
	else {
		if (c.ready) {
			c.style.height = '8em';
		}
		if (a.ready) {
			a.obj.innerHTML = 'More';
			a.obj.onclick = function() {
				if (window.moreNews)
					moreNews(name, !mode);
				return false;
			}
		}
	}
}

function highlightNews(name, mode)
{
	var c = new getObj('editable_' + name + '_news');
	if (c.ready) {	
		if (mode) {
			c.style.border = "1px dashed red";
		}
		else {
			c.style.border = "1px solid transparent";
		}
	}
}

function editableNewsSave(id)
{
	var c = new getObj('editableNewsTextArea');
	var h = new getObj('editableNewsHeaderInput');
	if (c.ready) {
		var func = editableNewsSaved;
		var html = c.obj.value;
		if (h.ready) {
			var header = h.obj.value;
		}
		else {
			var header = "";
		}
		var atts = new Array();
		atts[0] = id
		atts[1] = html;
		atts[2] = header;
		html = html.replace(/\&lt\;/g,"&amp;lt;");
		html = html.replace(/\&gt\;/g,"&amp;gt;");
		html = html.replace(/\&/g,"&amp;");
		html = html.replace(/</g,"&lt;");
		html = html.replace(/>/g,"&gt;");
		var rid = new Array();
		rid[0] = header;
		rid[1] = html;
		rid[2] = id;
		var cmd = "news.save";
		myRPC(cmd,rid,func,atts);
	}
}

function editableNewsSaved(atts, values)
{
	editableNewsToggle();
	if (values.length == 1 && values[0].length >= 2) {
		var code = parseInt(values[0][0]);
		var msg = values[0][1];
		
		switch (code) {
			case 1: {
				if (atts.length >= 2) {
					if (atts.length == 3) {
						var header = atts[2];
					}
					else {
						var header = "";
					}
					var html = atts[1];
					var id = atts[0];
					var rc = new getObj('editable_' + id + '_newsContainer');
					if (rc.ready) {
						rc.obj.innerHTML = html;
					}
					var rh = new getObj('editable_' + id + '_newsHeader');
					if (rh.ready) {
						rh.obj.innerHTML = header;
					}
				}
			}
			case 2:
			case 3:
			case 4:
			case 5: {
				alert(msg);
				break;
			}
			default: {
				alert("Unknown Error");
			}
		}
		return;
	}
	else {
		alert("Invalid RPC Response");
		alert(values[0]);
		return;
	}
}

function editableNewsToggleID(id)
{
	editableNewsToggle();
	var pc = new getObj('popupeditableNewsBody');
	var rc = new getObj('editable_' + id + '_newsContainer');
	var rh = new getObj('editable_' + id + '_newsHeader');
	if (pc.ready && rc.ready) {
		var html = rc.obj.innerHTML;
		if (rh.ready) {
			header = rh.obj.innerHTML;
			header = header.replace(/\&lt\;/g,"&amp;lt;");
			header = header.replace(/\&gt\;/g,"&amp;gt;");
			/*
			header = header.replace(/\</g, "&lt;");
			header = header.replace(/\>/g, "&gt;");
			*/
			header = "" +
			"\n<input class=\"text\" type=\"text\" name=\"header\" value=\"" + header + "\" id=\"editableNewsHeaderInput\" />";
		}
		else {
			header = "" +
			"\n<input class=\"text\" type=\"text\" name=\"header\" value=\"\" id=\"editableNewsHeaderInput\" />";
		}
		html = html.replace(/\&lt\;/g,"&amp;lt;");
		html = html.replace(/\&gt\;/g,"&amp;gt;");
		/*
		html = html.replace(/\</g, "&lt;");
		html = html.replace(/\>/g, "&gt;");
		*/
		pc.obj.innerHTML = "" +
			header +
			"\n<textarea id=\"editableNewsTextArea\">" +
			html +
			"\n</textarea>" +
			"\n<input class=\"button\" type=\"button\" name=\"Submit\" value=\"Submit\" onclick=\"editableNewsSave(" + id + ");\" />";
	}
}

function editableNewsToggle()
{
	var popup = new getObj('popupeditableNewsContainer');
	if (popup.ready) {
		if (editableNewsVisible) {
			popup.style.display = "none";
			editableNewsVisible = false;
		}
		else {
			popup.style.display = "block";
			editableNewsVisible = true;
		}
	}
}