$.fn.textarea = function(options){

	var defaults = {  
		file:null
	};

	var options = $.extend(defaults, options);
	var editor;

	return this.each(function(){
		obj = $(this);
		$('#btnShowTextArea').show().bind('click',onShowEditorClicked);
  }); 

	function onShowEditorClicked(){
		$('#content_container').addClass('loaders');
		$('#txtbody').hide();
		$('#btnShowTextArea').hide();
		$("#txtarea1_form").bind('submit',onEditorFormSubmit);
		
		editor = CKEDITOR.replace('txtContent',{
		on:{
			'instanceReady': function(evt) {
			CKEDITOR.instances.txtContent.focus();
		}
      }
    });
		CKFinder.SetupCKEditor(editor);
		CKEDITOR.plugins.registered['save']={
           init : function( editor ){
              var command = editor.addCommand( 'save', 
                 {
                    modes : { wysiwyg:1, source:1 },
                    exec : function( editor ) {
						$('#content_container').removeClass('loaders');
						$("form#txtarea1_form").submit();
                    }
                 }
              );
              editor.ui.addButton( 'Save',{label : 'Save and Close',command : 'save'});
           }
        }
		
	}
	
	function onEditorFormSubmit(){
		$('#dbstatus').html('saving...').show();
		var userText = editor.getData();
		$.post("ajax/update_content.php",{
			txtarea:userText,
			page:options.file
		},function(data){
			$('#dbstatus').html('saved!').show();
			data = cleanUpForEditor(data);
			$('#txtbody').html(data).show();
			$('#btnCloseTextArea').hide(); 
			$('#dbstatus').html('').hide(); 
			editor.destroy();
			$('#btnShowTextArea').show();
		});
		return false;
	}
};
