/**
* Encapsulate the note entity type. See the note database table.
*/

var Note = {

	entityName: Entity.NOTE,

	/**
	* Collect the instance ID the entity type to which the note is being applied
	*/
	getData: function(context, entity) {
		var data = '';
		var instanceIDField = context + Service.SCOPE_SEPARATOR + 'instanceID';
		data = '&' + 'instanceID=' + $(instanceIDField).value;
		return data;
	},

	create: function(context){
	},

	edit: function(context, entityID){
	},

	view: function(context, entityID) {	
 	},
		
	closePanel: function(context) {
		if(dirty.getDirty(context) != undefined){
			var answer = false;
			var dirtyID = dirty.getDirty(context);
			if (dirtyID > 0) answer = Entity.cancel(context, this.entityName);
			else answer = Entity.closeEditor(context, this.entityName);
			if (!answer) return;
		}
		
		var target = context;
		$(target).setStyle({'display': 'none'});
		var target = context + Service.SCOPE_SEPARATOR + this.entityName;
		$(target).update('');
		var target = context + Service.SCOPE_SEPARATOR + Service.BUTTONS + Service.SCOPE_SEPARATOR + this.entityName;
		$(target).update('');
		var relatedEntityField = context + Service.SCOPE_SEPARATOR + 'entity';
		var relatedEntity = $(relatedEntityField).value;
		var relatedEntityIDField = context + Service.SCOPE_SEPARATOR + 'instanceID';
		var relatedEntityID = $(relatedEntityIDField).value;
  		var filter = new ListFilter(relatedEntity, relatedEntityID);
		Entity.refreshList(context, this.entityName, null, false, null, filter);

	},

	refreshPanel: function(context) {
		if(dirty.getDirty(context) != undefined){
			var answer = false;
			var dirtyID = dirty.getDirty(context);
			if (dirtyID > 0) answer = Entity.cancel(context, this.entityName);
			else answer = Entity.closeEditor(context, this.entityName);
			if (!answer) return;
		}
		var target = context + Service.SCOPE_SEPARATOR + this.entityName;
		$(target).update('');
		var target = context + Service.SCOPE_SEPARATOR + Service.BUTTONS + Service.SCOPE_SEPARATOR + this.entityName;
		$(target).update('');
		var relatedEntityField = context + Service.SCOPE_SEPARATOR + 'entity';
		var relatedEntity = $(relatedEntityField).value;
		var relatedEntityIDField = context + Service.SCOPE_SEPARATOR + 'instanceID';
		var relatedEntityID = $(relatedEntityIDField).value;
  		var filter = new ListFilter(relatedEntity, relatedEntityID);
		Entity.refreshList(context, this.entityName, null, false, null, filter);
	},
	
	closeEditor: function(context) {
		var target = context + Service.SCOPE_SEPARATOR + 'note';
		$(target).update('');
		Note.refreshPanel(context);
	},

	closeViewer: function(context) {
		var target = context + Service.SCOPE_SEPARATOR + 'note';
		$(target).update('');
	},
	
	validate: function(context){
		var message = '';
		return message;
	}

}
