/**
 * A form to handle the image database, it allows to add new images or replace it
 **/
Htk.ImageEditor = new Class
({	
	Extends: Htk.Widget
	,Xml: 'js/htk/image-editor.xml'
	
	,initialize: function (props)
	{
		this.parent (props)
		this.builderInit (this.constructor.Xml);
		this.$('max-size').value = 10 /* MB */ * 1048576;
	}
	
	,onNameChange: function ()
	{
		this.signalEmit ('name-changed', this.$('name').value);
	}
	
	,onFormSubmit: function ()
	{
		this.$('submit').disabled = true;
		this.$('loader').style.visibility = 'visible';
	}
	
	,onIframeLoad: function ()
	{
		this.$('submit').disabled = false;
		this.$('loader').style.visibility = 'hidden';

		try {
			var responseText = this.$('iframe').contentDocument.body.textContent;
			var response = eval ('('+ responseText +')');

			if (response.data)
			{
				this.signalEmit ('file-uploaded', this.$('name').value);
				Htk.Toast.showMessage (_('ImageAdded'));
			}
			else
				Htk.Toast.showError (response.error.message +' ('+ response.error.code +')');
		}
		catch (e) {}
	}
	
	,setData: function (image, directory)
	{
		this.$('name').value = image;
		this.$('schema').value = directory;
	}
});

