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

(function() {function a(j,k) {var l=[];if (!k)return j;else for (var m in k)l.push(m+'='+encodeURIComponent(k[m]));return j+(j.indexOf('?')!=-1?'&':'?')+l.join('&');};function b(j) {j+='';var k=j.charAt(0).toUpperCase();return k+j.substr(1);};function c(j) {var q=this;var k=q.getDialog(),l=k.getParentEditor();l._.filebrowserSe=q;var m=l.config['filebrowser'+b(k.getName())+'WindowWidth']||l.config.filebrowserWindowWidth||'80%',n=l.config['filebrowser'+b(k.getName())+'WindowHeight']||l.config.filebrowserWindowHeight||'70%',o=q.filebrowser.params||{};o.CKEditor=l.name;o.CKEditorFuncNum=l._.filebrowserFn;if (!o.langCode)o.langCode=l.langCode;var p=a(q.filebrowser.url,o);l.popup(p,m,n);};function d(j) {var m=this;var k=m.getDialog(),l=k.getParentEditor();l._.filebrowserSe=m;if (!k.getContentElement(m['for'][0],m['for'][1]).getInputElement().$.value)return false;if (!k.getContentElement(m['for'][0],m['for'][1]).getAction())return false;return true;};function e(j,k,l) {var m=l.params||{};m.CKEditor=j.name;m.CKEditorFuncNum=j._.filebrowserFn;if (!m.langCode)m.langCode=j.langCode;k.action=a(l.url,m);k.filebrowser=l;};function f(j,k,l,m) {var n,o;for (var p in m) {n=m[p];if (n.type=='hbox'||n.type=='vbox')f(j,k,l,n.children);if (!n.filebrowser)continue;if (typeof n.filebrowser=='string') {var q={action:n.type=='fileButton'?'QuickUpload':'Browse',target:n.filebrowser};n.filebrowser=q;}if (n.filebrowser.action=='Browse') {var r=n.filebrowser.url||j.config['filebrowser'+b(k)+'BrowseUrl']||j.config.filebrowserBrowseUrl;if (r) {n.onClick=c;n.filebrowser.url=r;n.hidden=false;}}else if (n.filebrowser.action=='QuickUpload'&&n['for']) {r=n.filebrowser.url||j.config['filebrowser'+b(k)+'UploadUrl']||j.config.filebrowserUploadUrl;if (r) {n.onClick=d;n.filebrowser.url=r;n.hidden=false;e(j,l.getContents(n['for'][0]).get(n['for'][1]),n.filebrowser);}}}};function g(j,k) {var l=k.getDialog(),m=k.filebrowser.target||null;j=j.replace(/#/g,'%23');if (m) {var n=m.split(':'),o=l.getContentElement(n[0],n[1]);if (o) {o.setValue(j);l.selectPage(n[0]);}}};function h(j,k,l) {if (l.indexOf(';')!==-1) {var m=l.split(';');for (var n=0;n<m.length;n++)if (h(j,k,m[n]))return true;return false;}return j.getContents(k).get(l).filebrowser&&j.getContents(k).get(l).filebrowser.url;};function i(j,k) {var o=this;var l=o._.filebrowserSe.getDialog(),m=o._.filebrowserSe['for'],n=o._.filebrowserSe.filebrowser.onSelect;if (m)l.getContentElement(m[0],m[1]).reset();if (n&&n.call(o._.filebrowserSe,j,k)===false)return;if (typeof k=='string'&&k)alert(k);if (j)g(j,o._.filebrowserSe);
};CKEDITOR.plugins.add('filebrowser',{init:function(j,k) {j._.filebrowserFn=CKEDITOR.tools.addFunction(i,j);CKEDITOR.on('dialogDefinition',function(l) {for (var m in l.data.definition.contents) {f(l.editor,l.data.name,l.data.definition,l.data.definition.contents[m].elements);if (l.data.definition.contents[m].hidden&&l.data.definition.contents[m].filebrowser)l.data.definition.contents[m].hidden=!h(l.data.definition,l.data.definition.contents[m].id,l.data.definition.contents[m].filebrowser);}});}});})();
