var x_instanceTracker			= new Array();
var x_section					= new Array();
var x_lastText					= new Array();
var inlineEdit_maxLen			= 100;

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// SCRIPT TO HANDLE AJAX INLINE TEXT FIELD.  ASSUMES THAT ajaxCommon.js WAS INCLUDED ON THE CALLING PAGE PRIOR
// TO CALLING THIS FILE.
// J.C. MARSELLA - JASPER CONSULTING - 2008
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function inlineEdit_do(section,instanceNum) {
x_section[instanceNum]			= section;
var editControlID				= 'inlineEdit_editControl_' + instanceNum;
var saveControlID				= 'inlineEdit_saveControl_' + instanceNum;
var editFieldID					= 'inlineEdit_editField_' + instanceNum;
var editControl					= document.getElementById(editControlID);
var saveControl					= document.getElementById(saveControlID);
var editField					= document.getElementById(editFieldID);

	if (!editControl || !saveControl || !editField) {
	return;
	}
	
var inUse						= (x_instanceTracker[instanceNum] && x_instanceTracker[instanceNum] == '1') ? true : false;
	
	if (!inUse) {
	x_instanceTracker[instanceNum]	= '1';
	x_lastText[instanceNum]		= editField.innerHTML;
	editField.innerHTML			= "<textarea rows='5' cols='25' id='inlineEdit_textArea_" + instanceNum + "' class='inlineEdit' wrap='virtual' onKeyPress='return inlineEdit_onKeyPress(event,this)'>" + x_lastText[instanceNum] + "</textarea>";
	editControl.style.display	= 'none';
	saveControl.style.display 	= 'block';
	var textArea				= document.getElementById(("inlineEdit_textArea_"+instanceNum));
		if (textArea) {
		textArea.focus();
		}
	}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function inlineEdit_trysave(instanceNum) {
var inUse						= (x_instanceTracker[instanceNum] && x_instanceTracker[instanceNum] == '1') ? true : false;
	if (!inUse) {
	return;
	}
var textArea					= document.getElementById(("inlineEdit_textArea_"+instanceNum));
var newText						= textArea.value;
	
	if (newText.length > inlineEdit_maxLen) {
	var c						= newText.length - inlineEdit_maxLen;
	var p						= (c == 1) ? "" : "s";
	alert('Your message is too long.  Please remove at least '+c+' character'+p+' and try again.');
	return;
	}
	
newText							= inlineEdit_ghostText(newText);
	
inlineEdit_save(instanceNum,newText);
inlineEdit_setText(instanceNum,newText);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function inlineEdit_ghostText(str) {
	if (!str) {
	return '';
	}
var result						= '';
var i							= 0;
var c							= 0;
	for (i=0; i<str.length; i++) {
	c							= str.charAt(i);
		if (c == '>') {
		result					+= "&gt;";
		} else if (c == '<') {
		result					+= "&lt;";
		} else {
		result					+= c;
		}
	}
return result;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function inlineEdit_cancel(instanceNum) {
var inUse						= (x_instanceTracker[instanceNum] && x_instanceTracker[instanceNum] == '1') ? true : false;
	if (!inUse) {
	return;
	}
inlineEdit_setText(instanceNum,x_lastText[instanceNum]);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function inlineEdit_onKeyPress(e,obj) {
if (!e) e = window.event;

	// IF WE ARE TOO LONG, DISALLOW ANY FURTHER INPUT
	if (obj && (obj.value.length >= inlineEdit_maxLen)) {
		// ALLOW BACKSPACE IN FIREFOX
		if (e.keyCode != 8) {
		return false;
		}
	}
return true;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function inlineEdit_save(instanceNum,text) {
var section						= x_section[instanceNum];
var params						= "section="+section+"&text="+encodeURIComponent(text);
handlePostComplete				= 'inlineEdit_handlePostComplete';
postAjaxContent('/clientServer/',params);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function inlineEdit_handlePostComplete(success,xmlHTTP) {
// FOR NOW WE IGNORE THIS
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function inlineEdit_setText(instanceNum, text) {
var editControlID				= 'inlineEdit_editControl_' + instanceNum;
var saveControlID				= 'inlineEdit_saveControl_' + instanceNum;
var editFieldID					= 'inlineEdit_editField_' + instanceNum;
var editControl					= document.getElementById(editControlID);
var saveControl					= document.getElementById(saveControlID);
var editField					= document.getElementById(editFieldID);
editField.innerHTML				= UserProtectField(text,14);
editControl.style.display		= 'block';
saveControl.style.display 		= 'none';
x_instanceTracker[instanceNum]	= '0';
}
