
function ebEdit(id) {
	hideElement(id+'_value');
	//showElement(id+'_edit');
	$(id+'_edit').style.display='inline';
}

function ebEnter(e, id, post_url,param_name) {
	if ( e.key().string == 'KEY_ENTER' )
		ebSave ( id, post_url, param_name );
}

function ebCancel(id) {
	hideElement(id+'_edit');
	//showElement(id+'_value');
	$(id+'_value').style.display='inline';
}

function ebSave(id,post_url,param_name,xml_val,escape_xml) {
	elem=$(id+'_input');
	var val;
	var callback;
	if (elem.type == 'select-one') {
		val=elem.options[elem.selectedIndex].value;
		callback=function(ret) {
			selUpdated(ret,id,elem.selectedIndex);
		}
	} else {
		val=elem.value;
		callback=function(ret) {
			ebUpdated(ret,id,val,xml_val,escape_xml);
		}
	}
	
	
	var keys=[param_name];
	var vals=[val];
	loadPostJSONDoc( post_url, keys, vals, true,callback, flashErrBack );
	
}

function afterUpdate(id,ret) {
	hideElement(id+'_edit');
	//showElement(id+'_value');
	$(id+'_value').style.display='inline';
	if ( ret.flash ) {
		flashBack(ret);
	}
}

function ebUpdated(ret,id,val,xml_val,escape_xml) {
	var newval=val;
	if ( xml_val && escape_xml ) {
		newval=val.replace ( /</g ,'&lt;' ).replace( /\n/g , '<br />' );
	}
	$(id+'_display').innerHTML=newval;
	afterUpdate(id,ret);
}

function selUpdated(ret,id,idx) {
	var t=$(id+'_input').options[idx].text;
	$(id+'_display').innerHTML=t;
	afterUpdate(id,ret);
}
