var editableContentVisible = false;

var onLoadEditableContent = function() {
	makeMoveable('popupeditableContent');
}

registerOnLoad(onLoadEditableContent);

function highlightContent(name, mode)
{
	var c = new getObj('editable_' + name + '_content');
	if (c.ready) {	
		if (mode) {
			c.style.border = "1px dashed red";
		}
		else {
			c.style.border = "1px solid transparent";
		}
	}
}

function editableContentSave(id)
{
	var c = new getObj('editableContentTextArea');
	var h = new getObj('editableContentHeaderInput');
	if (c.ready) {
		var func = editableContentSaved;
		var inst;
		if ((inst = tinyMCE.getInstanceById('editableContentTextArea'))) {
			var html = inst.getHTML();
		}
		else {
			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 = "content.save";
		myRPC(cmd,rid,func,atts);
	}
}

function editableContentSaved(atts, values)
{
	editableContentToggle();
	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 + '_contentContainer');
					if (rc.ready) {
						rc.obj.innerHTML = html;
					}
					var rh = new getObj('editable_' + id + '_contentHeader');
					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 editableContentToggleID(id)
{
	editableContentToggle();
	var pc = new getObj('popupeditableContentBody');
	var rc = new getObj('editable_' + id + '_contentContainer');
	var rh = new getObj('editable_' + id + '_contentHeader');
	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(/\&amp\;/g,"&amp;amp;");
			
			var headerValue = header;
			
			/*
			header = header.replace(/\</g, "&lt;");
			header = header.replace(/\>/g, "&gt;");
			*/
			header = "" +
			"\n<input class=\"text\" type=\"text\" name=\"header\" value=\"" + header + "\" id=\"editableContentHeaderInput\" />";
		}
		else {
			headerValue = '';
			header = "" +
			"\n<input class=\"text\" type=\"text\" name=\"header\" value=\"\" id=\"editableContentHeaderInput\" />";
		}
		html = html.replace(/\&lt\;/g,"&amp;lt;");
		html = html.replace(/\&gt\;/g,"&amp;gt;");
		html = html.replace(/\&amp\;/g,"&amp;amp;");
		/*
		html = html.replace(/\</g, "&lt;");
		html = html.replace(/\>/g, "&gt;");
		*/
		
		ta = new getObj('editableContentTextArea');
		if (ta.ready) {
			
			ta.obj.innerHTML = html;
			tinyMCE.updateContent('editableContentTextArea');
			ih = new getObj('editableContentHeaderInput');
			if (ih.ready) {
				ih.obj.value = headerValue
			}
			
			sb = new getObj('editableContentSubmit');
			if (sb.ready) {
				sb.obj.onclick = function() {
					editableContentSave(id);
				}
			}
		}
		else {
			pc.obj.innerHTML = "" +
			header +
			"\n<textarea id=\"editableContentTextArea\">" +
			html +
			"\n</textarea>" +
			"\n<input class=\"button\" type=\"button\" name=\"Submit\" value=\"Submit\" onclick=\"editableContentSave(" + id + ");\" id=\"editableContentSubmit\" />";
		}
	}
}

function editableContentToggle()
{
	var popup = new getObj('popupeditableContentContainer');
	if (popup.ready) {
		if (editableContentVisible) {
			popup.style.display = "none";
			editableContentVisible = false;
		}
		else {
			popup.style.display = "block";
			editableContentVisible = true;
		}
	}
}