Vn.include ('node_modules/tinymce/tinymce.min');
Vn.define (function () {

Hedera.New = new Class
({
	Extends: Hedera.Form
	
	,editor: null

	,activate: function ()
	{
		this.$('model').mode = Db.Model.Mode.ON_DEMAND;
		this.$('model').setDefault ('user_id', 'news',
			new Sql.Function ({schema: 'account', name: 'userGetId'}));

		tinymce.init ({
			 mode : 'exact'
			,target: this.$('html-editor')
			,plugins: [
				 "advlist autolink lists link image charmap print preview hr"
				,"anchor pagebreak searchreplace wordcount visualblocks"
				,"visualchars code fullscreen insertdatetime media nonbreaking"
				,"save table contextmenu directionality emoticons template"
				,"paste textcolor"
			]
			,toolbar1:
				 "  print preview | link image media emoticons blockquote"
				+"| insertfile undo redo | bold italic"
				+"| alignleft aligncenter alignright alignjustify"
				+"| bullist numlist outdent indent"
				+"| styleselect | fontselect fontsizeselect"
				+"| forecolor backcolor"
			,image_advtab: true
			,init_instance_callback : this._onEditorInit.bind (this)
		});	
	}
	
	,deactivate: function ()
	{
		this.editor.destroy ();
	}
	
	,_onEditorInit: function (editor)
	{
		this.editor = editor;
		editor.getDoc ().body.style.fontSize = '1em';
		this.setEditorText ();
	}
	
	,setEditorText: function ()
	{
		if (!this.editor)
			return;
	
		var newHtml = this.$('iter').get ('text');
		
		if (!newHtml)
			newHtml = '';
		
		this.editor.setContent (newHtml);
	}

	,onStatusChange: function (form)
	{
		if (this.$('new-id').value == 0)
			form.insertRow ();
	}
	
	,onOperationsDone: function ()
	{
		Htk.Toast.showMessage (_('NewChangedSuccessfully'));
		this.onReturnClick ();
	}

	,onBodyChange: function ()
	{
		this.setEditorText ();
	}

	,onAcceptClick: function ()
	{
		this.$('iter').set ('text', this.editor.getContent ());
		this.$('iter').performOperations ();
	}
	
	,onReturnClick: function ()
	{
		this.hash.set ({'form': 'news/news'});
	}
});

});