/*
********************************
Inline Editing Script for Scholastic, by Alex Mezheritsky

-- Text field/textarea must be initially hidden
-- Link has to call inline_edit(header/para id, textfield/textarea id, link id)
-- Textfield/area must have onblur event call inline_save(header/para id, textfield/textarea id, link id)
-- Textfield/area can call onkeypress inline_check("event" (without quotes), header/para id, textfield/textarea id, link id)    (this does nothing currently but could save the text if a certain key/combo is pressed)

Example of HTML :
<h3 id="header_div">Westward Expansion</h3><input id="editing" type="text" style="display:none; font-size: 14pt; font-weight: bold;" onkeypress="inline_check(event, 'header_div', 'editing', 'h3linky');" onblur="inline_save('header_div', 'editing', 'h3linky');">
<br><a id="h3linky" href="javascript:inline_edit('header_div', 'editing', 'h3linky');">Edit</a>

********************************
*/

var inline_edit_original = "";
var inline_edit_label = "";
var inline_edit_add_comment = "";
var inline_edit_save = "";
var inline_edit_edit = "";
var inline_edit_rename = "";

function inline_edit_setup()
{
	if(document.getElementById)
	{
		if(document.getElementById("inline_edit_add_comment"))
			inline_edit_add_comment = document.getElementById("inline_edit_add_comment").innerHTML;
		if(document.getElementById("inline_edit_save"))
			inline_edit_save = document.getElementById("inline_edit_save").innerHTML;
		if(document.getElementById("inline_edit_edit"))
			inline_edit_edit = document.getElementById("inline_edit_edit").innerHTML;
		if(document.getElementById("inline_edit_rename"))
			inline_edit_rename = document.getElementById("inline_edit_rename").innerHTML;
	}
}

function inline_edit(source, editing, but, saver)
{
	inline_edit_setup();
	var link = document.getElementById(but);
	var header = document.getElementById(source);
	var editor = document.getElementById(editing);
	inline_edit_original = header.innerHTML;
	link.innerHTML = inline_edit_save;
	editor.value = header.innerHTML;
	header.style.display="none";
	editor.style.display="";
	editor.focus();
	if(!editor.attached)
	{
		if(editor.attachEvent)
		{
			editor.attachEvent("onblur", function () { saver(source, editing, but); });
			editor.attachEvent("onkeypress", function (event) { inline_check(event, source, editing, but); });
		}
		else if(editor.addEventListener)
		{
			editor.addEventListener("blur", function () { saver(source, editing, but); }, false);
			editor.addEventListener("keypress", function (event) { inline_check(event, source, editing, but); }, false);
		}
		else
		{
			editor.onblur = saver(source, editing, but);
			editor.onkeypress = inline_check(event, source, editing, but);
		} 
		editor.attached = true;
	}
}

function inline_save(source, editing, but)
{
	var link = document.getElementById(but);
	var header = document.getElementById(source);
	var editor = document.getElementById(editing);
	//header.innerHTML = editor.value;
	setInnerText(header.id, editor.value);
	editor.style.display="none";
	header.style.display="";
}

function inline_check(e, source, editing, but)
{
	var editor = document.getElementById(editing);
	var keynum = 0;
	if(window.event) // IE
	{
		keynum = e.keyCode;
	}
	else if(e.which) // Netscape/Firefox/Opera
	{
		keynum = e.which;
	}
	// shift + enter saves
	//if(keynum==13 && (e.shiftKey || e.shiftLeft))
	// enter key saves, per bug 3129
	if(keynum==13)
		editor.blur();
}

function inline_revert(source, editing, but)
{
	var link = document.getElementById(but);
	var header = document.getElementById(source);
	var editor = document.getElementById(editing);
	header.innerHTML = inline_edit_original;
	editor.style.display="none";
	header.style.display="";
}