;Ext.namespace("Ext.ux");Ext.ux.FormUserDocChooser=Ext.extend(Ext.form.TextField,{initComponent:function(){var a={};Ext.applyIf(this,a);Ext.ux.FormUserDocChooser.superclass.initComponent.call(this);this.on("render",this.createButton,this)},createButton:function(){var a="x-form-el-"+this.id;this.mbtn=new Ext.Button({text:this.btnBrowseFiles,renderTo:a});this.mbtn.on("click",this.showChooser,this)},showChooser:function(){this.userDBDocChooser=new Ext.ux.UserDBDocChooser({srcFieldId:this.id});this.userDocChooser=new Ext.ux.UserDocChooser({srcFieldId:this.id});var a=new Ext.TabPanel({deferredRender:false,autoWidth:true,autoHeight:true,activeTab:0,frame:false,resizable:false});if(!this.hideDocChooser){a.add(this.userDocChooser)}if(!this.hideDBDocChooser){a.add(this.userDBDocChooser)}this.win=new Ext.Window({width:600,title:this.winTitle,autoScroll:true,closeAction:"hide",buttons:[{text:this.btnSubmit,scope:this,handler:function(){this.win.hide()}},{text:this.btnCancel,scope:this,handler:function(){this.setValue("");this.win.hide()}}]});this.win.add(a);this.userDBDocChooser.doLayout();this.win.show();this.win.syncSize()},onRender:function(){Ext.ux.FormUserDocChooser.superclass.onRender.apply(this,arguments)}});Ext.reg("formuserdocchooser",Ext.ux.FormUserDocChooser);Ext.ux.UserDBDocChooser=Ext.extend(Ext.grid.GridPanel,{border:false,stateful:false,idName:"id",height:300,initComponent:function(){this.expander=new Ext.grid.RowExpander({tpl:new Ext.Template("<br><p><b>Full title:</b> {title}</p><br>","<p><b>Sub title:</b> {subtitle}</p><br>","<p><b>Summary:</b> {summary}</p>")});Ext.apply(this,{title:this.tabTitle,store:new Ext.data.JsonStore({url:'http://www.ciridd.org/index.php/common/datasrc/combo.json',root:"records",totalProperty:"totalCount",idProperty:"id",remoteSort:true,fields:["id","title","subtitle","summary","body","path","category","pub_date","doc_content_type"]}),columns:[this.expander,{header:this.gridHeader1,id:"001_title",dataIndex:"title",width:350,sortable:true,align:"left"},{header:this.gridHeader2,id:"002_subtitle",dataIndex:"subtitle",hidden:true,sortable:true,align:"left"},{header:this.gridHeader3,id:"103_summary",dataIndex:"summary",hidden:true,sortable:true,align:"left"},{header:this.gridHeader4,id:"007_category",dataIndex:"category",width:150,editable:false,sortable:true,align:"left"},{header:this.gridHeader5,id:"007_doc_content_type",dataIndex:"doc_content_type",width:100,editable:false,sortable:true,align:"left"},{header:this.gridHeader6,id:"006_path",dataIndex:"path",width:300,hidden:true,sortable:true,align:"left"},{header:this.gridHeader7,id:"004_body",dataIndex:"body",hidden:true,sortable:true,align:"left"},{header:this.gridHeader8,id:"003_pub_date",dataIndex:"pub_date",sortable:true,align:"center",width:100}],plugins:[this.expander],viewConfig:{forceFit:true}});this.on({rowClick:{fn:this.do_buttons,scope:this}});this.bbar=new Ext.PagingToolbar({store:this.store,displayInfo:true,pageSize:10});Ext.ux.UserDBDocChooser.superclass.initComponent.apply(this,arguments)},do_buttons:function(){var a=this.getSelectionModel().getSelected();if(a!=null){if(this.srcFieldId!=""){Ext.getCmp(this.srcFieldId).setValue(a.data.path)}this.pathsel=a.data.path;this.namesel=a.data.title;this.typesel=a.data.doc_content_type}},onRender:function(){Ext.ux.UserDBDocChooser.superclass.onRender.apply(this,arguments);this.store.load({params:{start:0,limit:10}})},afterRender:function(){Ext.ux.UserDBDocChooser.superclass.afterRender.apply(this,arguments)}});Ext.reg("userdbdocchooser",Ext.ux.UserDBDocChooser);Ext.ux.UserDocChooser=Ext.extend(Ext.Panel,{current_directory:"",initComponent:function(){var c={id:"udc",title:this.tabTitle,width:465,height:300,layout:"border",titleFieldId:"",srcFieldId:""};Ext.applyIf(this,c);Ext.ux.UserDocChooser.superclass.initComponent.call(this);this.grid=new Ext.ux.UserDocGrid({titleFieldId:this.titleFieldId,srcFieldId:this.srcFieldId,id:"udc_grid",is_admin:"false"});this.tree=new Ext.ux.UserDocTree({bindingGrid:this.grid,is_admin:"false"});var a=new Ext.Panel({width:175,height:300,region:"west",split:true,autoScroll:true});a.add(this.tree);var b=new Ext.Panel({width:400,height:300,region:"center",autoScroll:true});b.add(this.grid);this.add(a);this.add(b);this.grid.doLayout();this.doLayout()}});Ext.reg("userdocchooser",Ext.ux.UserDocChooser);Ext.ux.UserDocGrid=Ext.extend(Ext.grid.GridPanel,{current_directory:"",initComponent:function(){this.gridStore=new Ext.data.GroupingStore({url:'http://www.ciridd.org/index.php/common/datasrc/grid_data.json',method:"POST",autoLoad:true,sortInfo:{field:"name",direction:"ASC"},reader:new Ext.data.JsonReader({root:"data",totalProperty:"count"},[{name:"name"},{name:"size",type:"float"},{name:"type"},{name:"relative_path"},{name:"full_path"},{name:"web_path_thumb"},{name:"web_path"}])});this.xCm=new Ext.grid.ColumnModel([{header:this.gridHeader1,width:300,dataIndex:"name",sortable:true},{header:this.gridHeader2,width:100,dataIndex:"size",sortable:true,renderer:Ext.util.Format.fileSize}]);var a={border:false,autoWidth:true,autoHeight:true,layout:"fit",autoScroll:true,containerScroll:true,split:true,ds:this.gridStore,cm:this.xCm,tbar:new Ext.StatusBar({id:"status_bar",defaultText:"",defaultIconCls:"",statusAlign:"right",items:[{id:"upload_button",text:this.btnUpload,tooltip:this.btnUploadTip,iconCls:"upload_button",handler:this.do_upload,scope:this},{id:"delete_button",text:this.btnDelete,tooltip:this.btnDeleteTip,iconCls:"delete_button",disabled:true,handler:this.do_delete,scope:this}]}),view:new Ext.grid.GroupingView({emptyText:this.msgNoFiles,forceFit:true,showGroupName:false,enableNoGroups:true})};Ext.applyIf(this,a);Ext.ux.UserDocGrid.superclass.initComponent.call(this);this.on({rowClick:{fn:this.do_buttons,scope:this}})},renderThumb:function(){return'<img width="50" height="50" src="'+val+'">'},onRender:function(){Ext.ux.UserDocGrid.superclass.onRender.apply(this,arguments)},do_buttons:function(){this.ownerCt.ownerCt.pathsel="";this.ownerCt.ownerCt.namesel="";var a=this.getSelectionModel().getSelected();if(a!=null){Ext.getCmp("delete_button").enable();if(this.srcFieldId!=""){Ext.getCmp(this.srcFieldId).setValue(a.data.web_path)}if(this.titleFieldId!=""){Ext.getCmp(this.titleFieldId).setValue(a.data.name)}this.ownerCt.ownerCt.pathsel=a.data.web_path;this.ownerCt.ownerCt.namesel=a.data.name;this.ownerCt.ownerCt.typesel=a.data.type}else{Ext.getCmp("delete_button").disable()}},do_upload:function(){var a=new Ext.ux.UploadDialog.Dialog({title:this.winUploadTitle,url:'http://www.ciridd.org/index.php/common/datasrc/action.json',post_var_name:"upload",base_params:{action:"upload",resptype:"json",directory:this.current_directory,is_admin:"false"},minWidth:400,minHeight:200,width:400,height:350,reset_on_hide:false,allow_close_on_upload:true});a.show("upload_button");a.on("uploadsuccess",function(){this.gridStore.reload()},this);a.on("hide",function(){this.destroy(true)})},do_delete:function(){var a=this;Ext.MessageBox.confirm(this.titleDelConfirmation,this.msgDelConfirmation,function(c){if(c=="yes"){var d=a.getSelectionModel().getSelected();var b=new Ext.data.Connection().request({url:'http://www.ciridd.org/index.php/common/datasrc/action.json',method:"POST",params:{action:"delete",directory:a.current_directory,file:d.data.name,is_admin:"false"},success:function(g){var e=Ext.util.JSON.decode(g.responseText);if(e.success==true){a.gridStore.reload()}else{if(!e.deconnected){Ext.getCmp("status_bar").setStatus({text:e.message,iconCls:"save_warning_icon",clear:true})}else{var f=new Ext.ux.LoginBoxPopup({closable:true,autoWidth:400,autoHeight:true,modal:true,multiline:true});f.show();f.syncSize()}}},failure:function(f){var e=Ext.util.JSON.decode(f.responseText);Ext.getCmp("status_bar").setStatus({text:e.message,iconCls:"save_warning_icon",clear:true})}})}})},do_move:function(c){for(i=0;i<c.data.selections.length;i++){var b=c.data.selections[i];var a=new Ext.data.Connection().request({url:'http://www.ciridd.org/index.php/common/datasrc/action.json',method:"POST",params:{action:"move",directory:this.current_directory,file:b.data.name,new_directory:(c.target.attributes.url?c.target.attributes.url:""),is_admin:"false"},success:function(e){var d=Ext.util.JSON.decode(e.responseText);if(d.success==true){this.gridStore.reload()}else{Ext.getCmp("status_bar").setStatus({text:d.message,iconCls:"save_warning_icon",clear:true})}},failure:function(e){var d=Ext.util.JSON.decode(e.responseText);Ext.getCmp("status_bar").setStatus({text:d.message,iconCls:"save_warning_icon",clear:true})}})}},onResize:function(a,b){Ext.ux.UserDocGrid.superclass.onResize.call(this)}});Ext.reg("userdocgrid",Ext.ux.UserDocGrid);Ext.ux.UserDocTree=Ext.extend(Ext.tree.TreePanel,{current_directory:"",initComponent:function(){var a={id:"udc_tree",margins:"5 0 0 0",cmargins:"5 5 0 0",autoWidth:true,autoHeight:true,border:false,minSize:100,maxSize:250,animate:true,rootVisible:false,enableDD:false,containerScroll:true,context_menu:new Ext.menu.Menu({id:"context_menu",items:[{text:this.rClickItem1,iconCls:"new_directory_button",handler:this.do_new_directory,scope:this},{text:this.rClickItem2,iconCls:"rename_directory_button",handler:this.do_rename_directory,scope:this},{text:this.rClickItem3,iconCls:"delete_directory_button",handler:this.do_delete_directory,scope:this}]}),loader:new Ext.tree.TreeLoader({dataUrl:'http://www.ciridd.org/index.php/common/datasrc/tree_data.json'}),root:new Ext.tree.AsyncTreeNode({text:"My Files",draggable:false,id:"source",expanded:true})};Ext.applyIf(this,a);Ext.ux.UserDocTree.superclass.initComponent.call(this);new Ext.tree.TreeSorter(this,{folderSort:true});this.on({click:{fn:this.left_click,scope:this.bindingGrid},contextmenu:{fn:this.right_click,scope:this}})},left_click:function(a,b){this.current_directory=a.attributes.url;this.gridStore.load({params:{directory:this.current_directory,is_admin:"false"},callback:this.do_buttons,scope:this})},right_click:function(a,b){a.select();this.context_menu.node=a;this.context_menu.show(b.getTarget())},do_new_directory:function(){Ext.MessageBox.prompt(this.titleNewDirectory,this.msgNewDirectory,function(c,d){if(c=="ok"){var a=this;var b=new Ext.data.Connection().request({url:'http://www.ciridd.org/index.php/common/datasrc/action.json',method:"POST",params:{action:"new_directory",directory:this.context_menu.node.attributes.url,new_directory:d,is_admin:"false"},success:function(f){var e=Ext.util.JSON.decode(f.responseText);if(e.success==true){a.getRootNode().reload();a.getRootNode().expand()}else{Ext.getCmp("status_bar").setStatus({text:e.message,iconCls:"save_warning_icon",clear:true})}},failure:function(f){var e=Ext.util.JSON.decode(f.responseText);Ext.getCmp("status_bar").setStatus({text:e.message,iconCls:"save_warning_icon",clear:true})}})}},this)},do_rename_directory:function(){Ext.MessageBox.prompt(this.titleRenameDirectory,this.msgRenameDirectory,function(c,d){if(c=="ok"){var a=this;var b=new Ext.data.Connection().request({url:'http://www.ciridd.org/index.php/common/datasrc/action.json',method:"POST",params:{action:"rename_directory",directory:this.context_menu.node.attributes.url,new_name:d,is_admin:"false"},success:function(f){var e=Ext.util.JSON.decode(f.responseText);if(e.success==true){a.getRootNode().reload();a.getRootNode().expand()}else{Ext.getCmp("status_bar").setStatus({text:e.message,iconCls:"save_warning_icon",clear:true})}},failure:function(f){var e=Ext.util.JSON.decode(f.responseText);Ext.getCmp("status_bar").setStatus({text:e.message,iconCls:"save_warning_icon",clear:true})}})}},this)},do_delete_directory:function(){var a=this;Ext.MessageBox.confirm(this.titleDelConfirmation,this.msgDelConfirmation,function(d){if(d=="yes"){var b=this;var c=new Ext.data.Connection().request({url:'http://www.ciridd.org/index.php/common/datasrc/action.json',method:"POST",params:{action:"delete_directory",directory:this.context_menu.node.attributes.url,is_admin:"false"},success:function(f){var e=Ext.util.JSON.decode(f.responseText);if(e.success==true){b.getRootNode().reload();b.getRootNode().expand()}else{Ext.getCmp("status_bar").setStatus({text:e.message,iconCls:"save_warning_icon",clear:true})}},failure:function(f){var e=Ext.util.JSON.decode(f.responseText);Ext.getCmp("status_bar").setStatus({text:e.message,iconCls:"save_warning_icon",clear:true})}})}},this)}});Ext.reg("userdoctree",Ext.ux.UserDocTree);
