/*
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/

(function() {CKEDITOR.config.jqueryOverrideVal=typeof CKEDITOR.config.jqueryOverrideVal=='undefined'?true:CKEDITOR.config.jqueryOverrideVal;var a=window.jQuery;if (typeof a=='undefined')return;a.extend(a.fn,{ckeditorGet:function() {var b=this.eq(0).data('ckeditorInstance');if (!b)throw 'CKEditor not yet initialized, use ckeditor() with callback.';return b;},ckeditor:function(b,c) {if (!a.isFunction(b)) {var d=c;c=b;b=d;}c=c||{};this.filter('textarea, div, p').each(function() {var e=a(this),f=e.data('ckeditorInstance'),g=e.data('_ckeditorInstanceLock'),h=this;if (f&&!g) {if (b)b.apply(f,[this]);}else if (!g) {if (c.autoUpdateElement||typeof c.autoUpdateElement=='undefined'&&CKEDITOR.config.autoUpdateElement)c.autoUpdateElementJquery=true;c.autoUpdateElement=false;e.data('_ckeditorInstanceLock',true);f=CKEDITOR.replace(h,c);e.data('ckeditorInstance',f);f.on('instanceReady',function(i) {var j=i.editor;setTimeout(function() {if (!j.element) {setTimeout(arguments.callee,100);return;}i.removeListener('instanceReady',this.callee);j.on('dataReady',function() {e.trigger('setData.ckeditor',[j]);});j.on('getData',function(l) {e.trigger('getData.ckeditor',[j,l.data]);},999);j.on('destroy',function() {e.trigger('destroy.ckeditor',[j]);});if (j.config.autoUpdateElementJquery&&e.is('textarea')&&e.parents('form').length) {var k=function() {e.ckeditor(function() {j.updateElement();});};e.parents('form').submit(k);e.parents('form').bind('form-pre-serialize',k);e.bind('destroy.ckeditor',function() {e.parents('form').unbind('submit',k);e.parents('form').unbind('form-pre-serialize',k);});}j.on('destroy',function() {e.data('ckeditorInstance',null);});e.data('_ckeditorInstanceLock',null);e.trigger('instanceReady.ckeditor',[j]);if (b)b.apply(j,[h]);},0);},null,null,9999);}else CKEDITOR.on('instanceReady',function(i) {var j=i.editor;setTimeout(function() {if (!j.element) {setTimeout(arguments.callee,100);return;}if (j.element.$==h)if (b)b.apply(j,[h]);},0);},null,null,9999);});return this;}});if (CKEDITOR.config.jqueryOverrideVal)a.fn.val=CKEDITOR.tools.override(a.fn.val,function(b) {return function(c,d) {var e=typeof c!='undefined',f;this.each(function() {var g=a(this),h=g.data('ckeditorInstance');if (!d&&g.is('textarea')&&h) {if (e)h.setData(c);else{f=h.getData();return null;}}else if (e)b.call(g,c);else{f=b.call(g);return null;}return true;});return e?this:f;};});})();
