//ProgressNote
ext.duxiu.ProgressNote=function(A){ext.duxiu.ProgressNote.superclass.constructor.call(this,A)};Ext.extend(ext.duxiu.ProgressNote,Ext.ProgressBar,{wait:function(A,B){if(!this.proxy){this.proxy=A.createProxy({cls:"dx-wait-proxy"},A,true);this.proxy.setOpacity(0.5);this.proxy.setVisibilityMode(2);this.render(A);this.getEl().center(this.proxy)}else{this.proxy.show();this.show()}this.updateText(B);ext.duxiu.ProgressNote.superclass.wait.call(this)},hide:function(){this.reset();ext.duxiu.ProgressNote.superclass.hide.call(this);this.proxy.hide()}})

//PanelHeader
ext.duxiu.PanelHeader=function(){return{init:function(A){A.on("render",function(B){var C=B.tbar.first();C.select("table").addClass("right");C.insertFirst({tag:"label",id:"dx-number-note"})})}}}

//OtherInfo
ext.duxiu.OtherInfo=function(A){return{init:function(B){var C={uid:Config.ownerUId};B.on("render",function(G){new ext.duxiu.SearchPanel({renderTo:G.body,searchCallback:A.searchCallback});function F(J,N,L,I,O,M,K,P,Q){return{rurl:K,rtitle:P,countUrl:L||false,countText:I||"({0})",ttitle:J,murl:M,dataUrl:N,params:C,renderTo:G.body,getUrl:O,hasRight:Q||Config.isOwner}}var H=[new ext.duxiu.OtherInfoPanel(F(Config.isOwner?"我的专题馆":"馆长的专题馆","/a/rf.action","/a/rfc.action",false,function(I){return"http://zt.duxiu.com/c/rep?rpid="+I.id},"http://zt.duxiu.com/authorzt.jsp?uid="+Config.ownerUId,"http://zt.duxiu.com/ztduxiu/creatrep.jsp","[创建]")),new ext.duxiu.OtherInfoPanel(F("最新收藏","/a/fv.action",false,false,function(I){return["javascript:Docs.open('_",I.path,"','",I.id,"')"].join("")},"","javascript:Docs.showall()","[全部收藏]",true)),new ext.duxiu.OtherInfoPanel(F(Config.isOwner?"我的好友":"馆长的好友","/a/ff.action","/a/ffc.action",false,function(I){return"/a/ls.action?uid="+I.id},"/a/fdl.action?uid="+Config.ownerUId,"/a/fdlist.action","[管理]")),new ext.duxiu.OtherInfoPanel(F("最近访客","/a/lv.action","/a/lvc.action","({0}人次)",function(I){return"/a/ls.action?uid="+I.id}))];var E="dx-other-info-tag-press";function D(I){Ext.each(H,function(J){if(I!=J){J.hide();J.title.removeClass(E)}})}H[A.openIndex].show();Ext.each(H,function(I){I.on("clickOnTitle",function(J){J.show();D(J)})})})}}};ext.duxiu.OtherInfoPanel=Ext.extend(Ext.Component,{autoLoad:false,updatetpl:function(){var A=this;return new Ext.XTemplate('<tpl for="list">','<li class="dx-other-info-url">','<tpl if="d===true">','<span class="right"><a href="{parent.murl}" target=_blank>[更多]</a></span>',"</tpl>",'<img src="/applet/s.gif" class="{icon}"/>','<a href="{[this.l(values)]}">{title}</a><span>{info}</span>',"</li>","</tpl>",{l:function(B){return A.getUrl(B)}})},initComponent:function(){ext.duxiu.OtherInfoPanel.superclass.initComponent.call(this);this.addEvents({"clickOnTitle":true})},onRender:function(C,A){var B="dx-other-info";if(!this.template){this.template=new Ext.XTemplate('<ul class="font12 ',B,'-ul">','<li class="',B,'-tag">','<tpl if="hasRight">','<span class="right"><a href="{rurl}">{rtitle}</a></span>',"</tpl>",'<img src="/applet/s.gif" width="12px" height="12px" class="',B,'"/>','<span class="',B,'-title"> {ttitle} <label></label></span>',"</li>","</ul>")}if(A){this.el=this.template.append(A,this,true)}else{this.el=this.template.append(C,this,true)}var D=this.el.select("li:first-child");this.countEl=this.el.query("label")[0];this.loadCount();D.on("click",this.onClickTitle,this);D.on("mouseover",function(){D.addClass(B+"-tag-over")});D.on("mouseout",function(){D.removeClass(B+"-tag-over")});this.title=D;if(!this.tpl){this.tpl=this.updatetpl()}if(this.list){this.tpl.append(this.el,this)}if(this.autoLoad&&!this.list){this.show()}},isUpdate:false,updateAjax:function(){var A=this;if(!A.isUpdate){A.isUpdate=true;if(!A.listDom){A.listDom=Ext.DomHelper.append(A.el,{tag:"div",children:[{tag:"img",src:"/resources/images/default/tree/loading.gif"}]},true);A.listDom.enableDisplayMode("block")}Ext.Ajax.request({url:A.dataUrl,params:A.params,success:function(B,C){A.list=Ext.decode(B.responseText);A.tpl.overwrite(A.listDom,A)},failure:function(){A.isUpdate=false;failAjax()}})}},loadCount:function(){var A=this;if(A.countUrl){Ext.Ajax.request({url:A.countUrl,params:A.params,success:function(B,C){if(Ext.toInt(B.responseText,0)>0){A.countEl.innerHTML=String.format(A.countText,B.responseText)}},failure:failAjax})}},isVisible:function(){return this.isUpdate&&this.listDom.isVisible()},show:function(){this.title.addClass("dx-other-info-tag-press");if(!this.isUpdate){this.updateAjax()}else{if(!this.listDom.isVisible()){this.listDom.show()}}},hide:function(){if(this.isVisible()){this.listDom.hide()}},onClickTitle:function(A){this.fireEvent("clickOnTitle",this,A)}});ext.duxiu.SearchPanel=function(A){Ext.applyIf(A,{layout:"column",layoutConfig:{columns:2},defaults:{border:false},border:false,items:[{width:110,header:false,height:22,items:[{width:110,xtype:"combo",store:this.store,displayField:"sw",typeAhead:true,mode:"local",id:"search-bar",triggerAction:"all",emptyText:"输入检索词",selectOnFocus:true,tpl:'<tpl for="."><div class="x-combo-list-item"><span class="grn10 right">{count}个收藏</span>{sw}</div></tpl>'}]},{width:40,items:[{width:40,xtype:"button",id:"search-btn",text:" 搜 ",scope:this}]}]});if(Ext.isIE6){Ext.applyIf(A,{width:165})}ext.duxiu.SearchPanel.superclass.constructor.call(this,A);var B=Ext.getCmp("search-btn");var C=Ext.getCmp("search-bar");B.on("click",function(D){var E=C.getValue();if(E&&E.trim()!=""){this.search(E.filter())}},this);C.on("specialkey",function(D,E){if(E.getKey()==13){B.fireEvent("click",B)}},this)};Ext.extend(ext.duxiu.SearchPanel,Ext.Panel,{store:new Ext.data.SimpleStore({fields:["sw","count"]}),search:function(B){if(B.length<2){Ext.MessageBox.alert("提示","检索词过短。");return }var A=this.store;A.each(function(C){if(C.get("sw")==B){A.remove(C)}});A.sort("sw","asc");favAjax.getSearchIds(B,function(C,D){A.add([new Ext.data.Record({sw:B,count:D.length})]);if(D.length==100){Ext.MessageBox.alert("提示","检索词结果过多，仅显示前100条。")}this.searchCallback(C,D)},this)}})

//FlashHandlerMgr
ext.FlashHandlerMgr=function(){var A=new Ext.util.MixedCollection();return{register:function(C,B){A.add(C,B)},get:function(B){return A.get(B)}}}()

//FUploadCore
ext.duxiu.FUploadCore=function(A){Ext.apply(this,A);if(!this.fl){this.fl=(typeof swfobject!="undefined")?swfobject.getObjectById(A.key):(Ext.isIE?window[A.key]:document[A.key])}this.addEvents({"select":true,"open":true,"canel":true,"progress":true,"complete":true,"error":true});ext.FlashHandlerMgr.register(A.key,this)};Ext.extend(ext.duxiu.FUploadCore,Ext.util.Observable,{init:function(){this.fl.init({key:this.key,url:this.url,multiMode:this.multiMode,filter:this.filter,text:this.text})},reset:function(A){this.fl.init(A)},getSaveConfig:function(A){return"sp=temp&sn=temp._"+new Date().getTime()},browse:function(){this.init();this.fl.browse()},upload:function(){this.fl.upload()},cancel:function(){this.fl.cancel()},setDisable:function(A){this.fl.setDisable(A)},getCompletePercent:function(){return Math.round(this.bl/this.bt*100)},getUploadSpeedKB:function(){return Math.round(this.bl/(new Date().getTime()-this.bgt)*100)/100},getRemainTime:function(){return Math.round((this.bt-this.bl)/(this.getUploadSpeedKB()*1000))},getRemainTimeHMS:function(){var C=this.getRemainTime();var A=Math.floor(C/60);var B=Math.floor(A/60);A-=B*60;C=C-B*3600-A*60;return[B,A,C]},validate:function(A){return true},onSelect:function(A){this.fireEvent("select",A)},onOpen:function(A){this.bgt=new Date().getTime();this.fireEvent("open",A)},onCancel:function(A){this.fireEvent("canel",A)},onProgress:function(B,A){this.bl=B;this.bt=A;this.fireEvent("progress",B,A)},onComplete:function(A,B){this.bgt=-1;this.fireEvent("complete",A,B)},onError:function(A,B){this.bgt=-1;this.fireEvent("error",A,B)}})

//UploadExtend
ext.duxiu.UploadExtend=Ext.extend(ext.duxiu.FUploadCore,{key:"fupload",url:"/a/fup.action",maxFileLength:6*1024*1024,deniedExt:[".jsp",".com",".exe",".asp",".aspx",".dll",".bat",".js",".vb"],allowedExt:[],invalidExtText1:"{0}-文件格式只允许 {1}",invalidExtText2:"{0}-文件格式不允许 {1}",invalidSize:"{0}-文件超过：{1}M",root:"userfile",validate:function(B){var A=this.checkAllowExt(B.type);if(!A){this.fireEvent("error",B,String.format(this.invalidExtText1,B.name,this.allowedExt))}var D=this.checkDenyExt(B.type);if(!D){this.fireEvent("error",B,String.format(this.invalidExtText2,B.name,this.deniedExt))}var C=this.checkSize(B.size);if(!C){this.fireEvent("error",B,String.format(this.invalidSize,B.name,Ext.toInt(this.maxFileLength/1024/1024,0)))}return A&&D&&C},getSaveConfig:function(B){var A=this.root+"/"+new Date().format("Y-m-d");return Ext.urlEncode({sp:A,sn:new Date().getTime()+B.type})},checkSize:function(A){return(A>0&&A<this.maxFileLength)?true:false},checkAllowExt:function(D){var B=this.allowedExt;if(B.length==0){return true}D=D.toLowerCase();for(var C=0,A=B.length;C<A;C++){if(D==B[C]){return true}}return false},checkDenyExt:function(D){var B=this.deniedExt;if(B.length==0){return true}D=D.toLowerCase();for(var C=0,A=B.length;C<A;C++){if(D==B[C]){return false}}return true}});ext.duxiu.ImageUpload=Ext.extend(ext.duxiu.UploadExtend,{getSaveConfig:function(B){var C=300*1024;var A=this.root+"/"+new Date().format("Y-m-d");return Ext.urlEncode({sp:A,sn:new Date().getTime()+B.type,compress:B.size>C&&B.type.toLowerCase()!=".gif"})}})

//ContentPanel
ext.duxiu.ScollTask=function(E){var C;var B=false;function D(){C=new Date().getTime();B=true}E.body.on({"resize":D,"scroll":D,scope:this});var A={run:function(){if(B&&new Date().getTime()-C>500){E.openFavInView();B=false}},interval:500};return{start:function(){var F=new Ext.util.TaskRunner();F.start(A)},doTaskOnce:function(F){if(!F){F=1000}setTimeout(D,1000)}}};ext.duxiu.ContentPanel=function(B){var A="dx-fav-bulk-opr dx-fav-bulk-opr-";var C=[{iconCls:A+"display",tooltipType:"title",id:"dx-display",tooltip:this.display_text,handler:function(D,E){this.displayHandler(D)},enableToggle:true,scope:this},"-",{iconCls:A+"selet",tooltipType:"title",id:"dx-select-all",tooltip:this.select_all_text,handler:function(D,E){this.selectHandler(D)},enableToggle:true,scope:this}];if(B.editable){C.push("-",{iconCls:A+"move",id:"dx-move-all",tooltipType:"title",tooltip:this.move_all_text},{iconCls:A+"del",id:"dx-del-all",tooltipType:"title",tooltip:this.del_all_text,handler:function(){this.delHandler()},scope:this},{iconCls:A+"add",id:"dx-add-all",tooltipType:"title",tooltip:this.add_all_text,handler:function(){this.addHandler()},scope:this},"-",{iconCls:A+"new",tooltipType:"title",id:"dx-fav-new",tooltip:this.new_text,handler:function(){Docs.edit_panel.expand(false)}})}else{C.push("-",{iconCls:A+"add",id:"dx-add-all",tooltipType:"title",tooltip:this.add_all_text,handler:function(){this.addHandler()},scope:this})}Ext.applyIf(B,{plugins:new ext.duxiu.PanelHeader(),tbar:C});ext.duxiu.ContentPanel.superclass.constructor.call(this,B)};Ext.extend(ext.duxiu.ContentPanel,Ext.Panel,{formatBulkDel:"删除所选中的{0}个收藏",display_text:"全屏",select_all_text:"全选 (Alt + Q)",move_all_text:"批量操作：移动 (拖拽至分类)",del_all_text:"批量操作：删除 (Alt + Del)",new_text:"新建 (Alt+N)",add_all_text:"批量操作：收藏 (Alt + W)",total:0,initComponent:function(){ext.duxiu.ContentPanel.superclass.initComponent.call(this);this.favItems=new Ext.util.MixedCollection();this.favItems.on("add",function(A,C,B){if(B=="header"){return true}if(C.animate){this.resetTitleNum(1);C.scrollToView();C.animate=false}},this);this.favItems.on("remove",function(A,C,B){if(B=="header"){return true}this.resetTitleNum(-1)},this)},addItems:function(B,A){this.total=len=B.length;if(len>0){this.favheader=new ext.duxiu.FavHeader({fids:B,cp:this,selectNode:A,autoOpen:true,baseTop:this.itemsBaseTop,renderTo:this.body})}},removeItemKey:function(A){this.removeItem(this.favItems.key(A))},removeItem:function(A){this.favItems.remove(A);A.el.highlight("ffff9c",{duration:0.35,remove:true,callback:function(){Docs.task.doTaskOnce()}})},createItem:function(E){var B="dx-fav-opr-";if(!this.op){this.op=op=[];for(var C=0,A=E.oprs.length;C<A;C++){switch(E.oprs[C]){case ("edit"):op.push({iconCls:B+"edit",handler:function(F,G){Ext.getCmp("content-edit-panel").openEditFav(F)},scope:this,tip:"编辑"});break;case ("move"):op.push({iconCls:B+"move",isDD:true,scope:this,tip:"移动 (拖拽)"});break;case ("del"):op.push({iconCls:B+"del",handler:function(F,G){Ext.Msg.confirm("删除","删除该收藏。",function(H){if(H=="yes"){var I=Docs.p();I.wait(Ext.getBody(),"提交申请……");favAjax.delFavs(F.cataid,F.fid,function(J){if(Ext.toInt(J,-1)>0){this.removeItemKey("fav-"+F.fid);this.resetIndex(F.index)}I.hide()},this)}},this)},scope:this,tip:"删除"});break;case ("add"):op.push({iconCls:B+"add",handler:function(G,H){var F={url:G.url,title:G.title,memo:G.content};favAjax.addFavs([F])},tip:"收藏"})}}}Ext.applyIf(E,{isUpdate:false,baseTop:this.itemsBaseTop,renderTo:this.body,animate:false,operations:this.op,dip:this.getMaxDip()+1});var D=new ext.duxiu.FavItem(E);return E.animate?this.favItems.insert(0,"fav-"+E.fid,D):this.favItems.add("fav-"+E.fid,D)},clear:function(){this.body.update("");this.favItems.clear()},openFavInView:function(){var B=this.body.getHeight();var D=false;var A=function(E){if(E.isInView(B)){if(!E.isUpdate){E.updateAjax()}D=true}else{if(D){throw new Error()}}};try{this.favItems.each(A);A(this.favheader)}catch(C){}},resetIndex:function(A){this.favItems.each(function(C,B){if(B>=A){C.setIndex(B)}})},resetTitleNum:function(A){if(!this.num_note){this.num_note=Ext.get("dx-number-note")}this.total+=A;this.num_note.update(String.format(this.formatTitle,this.total))},getTree:function(){return this.tree?this.tree:(this.tree=Ext.getCmp("dx-fav-tree"))},initDD:function(B){var A=Ext.get("dx-move-all");Ext.dd.Registry.register(A.dom,{item:this,handles:Ext.query("button",A.dom),isHandle:true});new ext.duxiu.BulkFavDragZone(A,B);new ext.duxiu.FavDragZone(this.body,B);this.sortDZ=new ext.duxiu.FavDropZone(this.body);Ext.dd.ScrollManager.register(this.body)},getSelectedItems:function(){return this.favItems.filterBy(function(B,A){return(B.isUpdate&&B.check.checked)?true:false})},delHandler:function(){var A=this.getSelectedItems();if(A.getCount()>0){Ext.Msg.confirm("删除",String.format(this.formatBulkDel,A.getCount()),function(B){if(B=="yes"){var C=[];A.each(function(E,D){C.push(E.fid)});favAjax.delFavs(A.first().cataid,C.join(","),function(D){if(Ext.toInt(D,-1)>0){Ext.each(C,function(F,E){this.removeItemKey("fav-"+F)},this);this.resetIndex(0)}},this)}},this)}},addHandler:function(){var A=this.getSelectedItems();if(A.getCount()>0){var B=[];A.each(function(D,C){B.push({url:D.url,title:D.title,memo:D.content})});favAjax.addFavs(B)}},selectHandler:function(A){this.favItems.each(function(C,B){if(C.isUpdate){if(A.pressed){C.select()}else{C.unselect()}}})},displayHandler:function(A){if(A.pressed){Ext.getCmp("div_tree").collapse(false);Ext.getCmp("other_info").collapse(false)}else{Ext.getCmp("div_tree").expand(false);Ext.getCmp("other_info").expand(false)}},getMaxDip:function(){return this.favItems.getCount()>0?this.favItems.get(0).dip:0}});ext.duxiu.ContentPanel.prototype.getData=function(){return this.getSelectedItems()};Ext.reg("content-panel",ext.duxiu.ContentPanel);ext.duxiu.Fav=Ext.extend(Ext.Component,{onRender:function(B,A){this.ownerCt=Ext.get(B);if(!this.animate){this.el=eItemTpl.waittpl.append(B,this,true)}else{this.el=eItemTpl.waittpl.insertFirst(B,this,true)}},updateAjax:Ext.abstractFn,getTop:function(){return this.el.getTop()-this.baseTop},isInView:function(A){var B=this.getTop();return(B>=0&&B<A)?true:false},highlight:function(){this.getEl().highlight()}});eItemTpl=function(){var A=false;return{waittpl:new Ext.XTemplate('<div class="dx-fav-item" id="{fid}"><div class="dx-fav-wait">等待……</div></div>'),updatetpl:new Ext.XTemplate('<div class="dx-fav-header">','<span class="right">',"<ul>",'<tpl for="operations">','<li title="{tip}"><img src="/applet/s.gif" class="dx-fav-opr {iconCls}"/></li>',"</tpl>","</ul>","</span>",'<span class="dx-fav-index">{index+1}.</span><span class="dx-fav-check"><input type="checkbox" value="{fid}"/></span>','<span class="dx-fav-title">','<tpl if="Ext.isEmpty(url)==false">','<a href="{url}" target="_blank"><b>{[this.toHl(values.title)]}</b></a>',"</tpl>",'<tpl if="Ext.isEmpty(url)">',"<b>{[this.toHl(values.title)]}</b>","</tpl>","</span>",'<span class="dx-fav-time">{ud}</span>',"</div>",'<div class="dx-fav-body">{[Ext.isIE?values.content:this.toHl(values.content)]}</div>',{toHl:function(B){return A?A.exe(B):B}}),setHighlighter:function(B){A=B},getHighLighter:function(){return A}}}();ext.duxiu.FavHeader=Ext.extend(ext.duxiu.Fav,{fids:[],cp:false,selectNode:false,autoOpen:false,spliceLen:150,onRender:function(B,A){if(this.fids.length>this.spliceLen){ext.duxiu.FavHeader.superclass.onRender.call(this,B,A)}if(this.autoOpen){this.open()}},open:function(){var B=this.cp;var C=this.selectNode;var A=B.favItems.getCount();Ext.each(this.fids.splice(0,this.spliceLen),function(D,E){B.favItems.add("fav-"+D,B.createItem({index:A+E,fid:D,cataid:(!C||C.id<0)?0:C.id,oprs:B.editable?["move","edit","del","add"]:["add"]}));if(this.el){B.body.dom.appendChild(this.el.dom)}},this);Docs.task.doTaskOnce(0)},updateAjax:function(){if(this.fids.length>0){this.open();this.cp.resetIndex()}else{if(this.el){this.destroy()}}}});ext.duxiu.FavItem=Ext.extend(ext.duxiu.Fav,{constructor:function(){ext.duxiu.FavItem.superclass.constructor.apply(this,arguments);this.addEvents(["select","unselect"]);this.on("select",function(){this.el.addClass("dx-fav-select-item")},this);this.on("unselect",function(){this.el.removeClass("dx-fav-select-item")},this)},updateAjax:function(){favAjax.getFavContent(this.fid,function(A){this.update(A);if(this.updateOverLight){this.highlight()}},this)},update:function(D){function A(F){var E=eItemTpl.getHighLighter();if(E&&E.exeDom){E.exeDom(F)}}Ext.apply(this,D,{url:"",title:"",content:""});eItemTpl.updatetpl.overwrite(this.el,this);A(this.el.last().dom);this.isUpdate=true;function C(E,F){return E+'[class="dx-fav-'+F+'"]'}this.check=Ext.query('input[type="checkbox"]',this.el.dom)[0];Ext.get(this.check).on("click",function(){if(this.check.checked){this.fireEvent("select",this)}else{this.fireEvent("unselect",this)}},this);if(Ext.getCmp("dx-select-all").pressed){this.select()}if(!this.seeable){this.hide()}else{this.show()}this.index_span=Ext.query('span[class="dx-fav-index"]',this.el.dom)[0];var B=Ext.query("li",this.el.child("div/span/ul").dom);Ext.each(B,function(E,I){var G=Ext.get(E);var J=this.operations[I];G.on("click",function(K,L){if(J.handler){Ext.callback(J.handler,J.scope?J.scope:this,[this,L])}},this);if(J.isDD){var H=this;var F=H.el.query("div");F.push(E.firstChild);Ext.dd.Registry.register(H.el.dom,{item:{getData:function(){return H}},handles:F,isHandle:false})}},this)},setIndex:function(A){this.index=A;if(this.isUpdate){Ext.fly(this.index_span).update((A+1)+".")}},scrollToView:function(){var A=this.ownerCt;if(!A.isScrollable()){this.highlight()}else{var B=this.getTop()-32;A.scroll(B>0?"b":"t",Math.abs(B),{duration:0.5,callback:function(){this.highlight()},scope:this})}},highlight:function(){if(this.isUpdate){ext.duxiu.FavItem.superclass.highlight.call(this)}else{this.updateOverLight=true}},hide:function(){this.el.addClass("dx-fav-hidden-item")},show:function(){this.el.removeClass("dx-fav-hidden-item")},select:function(){this.check.checked=true;this.fireEvent("select",this)},unselect:function(){this.check.checked=false;this.fireEvent("unselect",this)}})
//EditFormPanel
ext.duxiu.EditFormPanel=function(A){this.p=this.progress=new ext.duxiu.ProgressNote({width:100});Ext.applyIf(A,{fid:0,defaults:{border:false,defaults:{border:false}},items:[{layout:"column",bodyStyle:"padding:5px",items:[{width:290,layout:"form",labelWidth:30,items:[{width:250,fieldLabel:"标题",xtype:"textfield",id:"edit-fav-title",selectOnFocus:true,value:"我的收藏"}]},{width:100,bodyStyle:"padding:5px",items:[{id:"edit-fav-check",xtype:"checkbox",boxLabel:"隐藏"}]}]},{bodyStyle:"padding:5px",items:[{layout:"form",labelWidth:30,items:[{fieldLabel:"链接",xtype:"textfield",id:"edit-fav-url",vtype:"url",width:350}]}]},{xtype:"fckeditor",id:"edit-fav-content",autoShow:true,Name:"dxeditor",Width:"100%",ToolbarSet:libconf.de?"mylib":"mylib_basic",BasePath:"../fckeditor/",fckConfig:{CustomConfigurationsPath:"/n/editor_cfg.js"}}],buttons:[{text:"保存 (Alt+S)",handler:function(){this.saveHandler()},scope:this},{text:"取消 (Esc)",handler:function(){this.canelHandler()},scope:this}]});ext.duxiu.EditFormPanel.superclass.constructor.call(this,A);this.on("collapse",function(B){this.reset();this.getConPanel().openFavInView();this.item=null},this);this.on("beforeexpand",function(B){return B.getTree().getSelectedNode().id>=0||(this.item||false)},this);this.on("expand",function(C){Ext.getCmp("edit-fav-title").focus();if(C.fid==0){var B=C.getTree().getSelectedNode();C.setTitleEdit(B.id==0?"默认分类":B.text)}})};Ext.extend(ext.duxiu.EditFormPanel,Ext.Panel,{afterRender:function(){ext.duxiu.EditFormPanel.superclass.afterRender.apply(this,arguments);var A=Ext.getCmp("edit-fav-content");this.on("resize",function(){var C=this.body.getBox();var B=C.height-120;A.setHeight(B<210?210:B)},this)},formatTitle:"新建  [分类：{0}]",getData:function(){var A="edit-fav-";return{fid:(this.target&&this.target.fid)?this.target.fid:0,url:Ext.getCmp(A+"url").getValue(),title:Ext.getCmp(A+"title").getValue(),content:Ext.getCmp(A+"content").getValue(),seeable:!Ext.getCmp(A+"check").getValue()}},setData:function(C){Ext.applyIf(C,{fid:0,url:"",title:"我的收藏",content:"<p>&nbsp;</p>",seeable:true});this.target=C;var B="edit-fav-";Ext.getCmp(B+"url").setValue(this.target.url);Ext.getCmp(B+"title").setValue(this.target.title);try{Ext.getCmp(B+"content").setValue(this.target.content)}catch(A){}Ext.getCmp(B+"check").setValue(!this.target.seeable)},reset:function(){this.setData({})},addfav:function(B,C){var A=Ext.apply({"bean.cataid":C.id},this.getBean(B));this.p.wait(this.getEl(),"提交内容...");favAjax.addFav(A,function(E){if(Ext.toInt(E,-1)>0){this.p.hide();this.collapse(false);var D=this.getConPanel().createItem({fid:E,isUpdate:true,animate:true,oprs:["edit","move","del"],cataid:C.id});B.fid=E;B.ud=new Date().format("Y-m-d H:i:s");D.update(B);this.getConPanel().resetIndex(0)}},this)},editfav:function(B){var A=Ext.apply({"bean.favid":B.fid},this.getBean(B));this.p.wait(this.getEl(),"提交内容...");favAjax.editFav(A,function(C){if(Ext.toInt(C,-1)>0){this.p.hide();if(this.item){this.item.update(B);this.item.highlight()}this.collapse(false)}},this)},getBean:function(A){return{"bean.url":A.url,"bean.userid":Config.curUId,"bean.title":A.title,"bean.memo":A.content,"bean.seeable":A.seeable?1:0}},openEditFav:function(A){this.item=A;A.highlight();this.expand(false);this.setData({fid:A.fid,title:A.title,url:A.url,content:A.content,seeable:A.seeable});this.setTitle("编辑")},getConPanel:function(){return this.cnp?this.cnp:this.cnp=Ext.getCmp("content-panel")},getTree:function(){return this.tree?this.tree:this.tree=Ext.getCmp("dx-fav-tree")},setTitleEdit:function(A){this.setTitle(String.format(this.formatTitle,A))},saveHandler:function(){var A=this.getData();if(Ext.isEmpty(A.title)){Ext.MessageBox.alert("提示","请输入标题。");return }var B=Docs.tree.getSelectedNode();(!A.fid||A.fid==0)?this.addfav(A,B):this.editfav(A)},canelHandler:function(){this.collapse(false)}});Ext.reg("content-edit-panel",ext.duxiu.EditFormPanel)
//FavAjax
favPoster=function(){var A=Ext.DomHelper.append(document.body,{tag:"form",action:"/a/f.action",method:"post",target:"_blank"});A.style.display="none";add=function(C,B){Ext.DomHelper.append(A,{tag:"input",type:"hidden",name:C}).value=B};return{addItem:function(D){if(!this.k){this.k=0}var C="f["+(this.k++)+"]";for(var B in D){add([C+"."+B],D[B])}},open:function(){A.submit();Ext.get(A).remove()}}};favAjax=ext.duxiu.FavAjax=function(){var time=new Date().getTime();function ajax(params,callback,doCache){Ext.Ajax.disableCaching=doCache?false:true;if(doCache){Ext.apply(params,{dd:time})}Ext.Ajax.request({url:"/a/fv.action",params:params,method:doCache?"GET":"POST",success:function(rep,o){if(callback){callback(rep,o)}},failure:failAjax});Ext.Ajax.disableCaching=true}return{getFavIds:function(cid,callback){ajax({uid:Config.ownerUId,cataid:cid,od:"getfids"},function(r,o){if(callback){callback(eval(r.responseText))}},true)},getAllIds:function(callback){ajax({uid:Config.ownerUId,od:"getall"},function(r,o){if(callback){callback(eval(r.responseText))}},true)},getSearchIds:function(sw,callback,scope){ajax({uid:Config.ownerUId,sw:sw,od:"search"},function(r,o){if(callback){callback.call(scope,sw,eval(r.responseText))}},true)},getFavContent:function(fid,callback,scope){ajax({fid:fid,od:"getcontent"},function(r,o){if(callback){Ext.callback(callback,scope,[Ext.decode(r.responseText)])}},true)},addFav:function(bean,callback,scope){this.clearCache();bean.od="addfav";ajax(bean,function(r,o){if(callback){Ext.callback(callback,scope,[r.responseText])}})},addFavs:function(arr){var poster=new favPoster();Ext.each(arr,function(o){poster.addItem(o)});poster.open()},sortFavs:function(listAction,callback,scope){this.clearCache();Ext.Ajax.request({url:"/a/sf.action",params:listAction,success:function(r,o){if(callback){Ext.callback(callback,scope,[r.responseText])}},failure:failAjax})},list:function(){return{addItem:function(item){if(!this.k){this.k=0}var fk="f["+(this.k++)+"]";this[fk+".title"]=item.title;this[fk+".url"]=item.url;this[fk+".memo"]=item.content},addSortItem:function(item,max){if(!this.j){this.j=0}var fk="f["+this.j+"]";this[fk+".disporder"]=item.dip=max-this.j;this[fk+".favid"]=item.fid;this.j++}}},editFav:function(bean,callback,scope){this.clearCache();bean.od="editfav";ajax(bean,function(r,o){if(callback){Ext.callback(callback,scope,[r.responseText])}})},delFavs:function(cataid,fids,callback,scope){this.clearCache();ajax({uid:Config.ownerUId,fid:fids,cataid:cataid,od:"delfavs"},function(r,o){if(callback){Ext.callback(callback,scope,[r.responseText])}})},classFavs:function(params,callback,scope){this.clearCache();params.od="classfavs";ajax(params,function(r,o){if(callback){Ext.callback(callback,scope,[r.responseText])}})},clearCache:function(){time=new Date().getTime()}}}()

//TreeLoader
ext.duxiu.TreeLoader=function(A){ext.duxiu.TreeLoader.superclass.constructor.call(this,A)};Ext.extend(ext.duxiu.TreeLoader,Ext.tree.TreeLoader,{createNode:function(attr){if(this.baseAttrs){Ext.applyIf(attr,this.baseAttrs)}if(this.applyLoader!==false){attr.loader=this}if(typeof attr.uiProvider=="string"){attr.uiProvider=this.uiProviders[attr.uiProvider]||eval(attr.uiProvider)}if(attr.leaf){attr.leaf=false;return new Ext.tree.TreeNode(attr)}else{return new Ext.tree.AsyncTreeNode(attr)}}})

//TreeDDZone
ext.duxiu.FavDragZone=function(B,A,C){this.tree=A;ext.duxiu.FavDragZone.superclass.constructor.call(this,B,C)};Ext.extend(ext.duxiu.FavDragZone,Ext.dd.DragZone,{dragFormat:"<b>{0}.{1}</b>",ddGroup:"TreeDD",isAloneOpr:true,onBeforeDrag:function(A,B){this.tree.dropZone.appendOnly=true;return B.getTarget().className.indexOf("-opr-move")>0},onInitDrag:function(A,C){var B=this.dragData.item.getData();this.proxy.update(String.format(this.dragFormat,B.index+1,B.title?B.title:" "));this.onStartDrag(A,C)},onValidDrop:function(A,B,C){if(this.dragData&&this.dragData.node){this.dragData.node.ui.highlight();this.classFav(this.dragData)}else{this.sortFav(this.dragData)}this.hideProxy()},onInvalidDrop:function(A,B,C){ext.duxiu.FavDragZone.superclass.onInvalidDrop.call(this,A,B,C)},classFav:function(A){var B=this.formatParams(A.item.getData(),A.node);if(B){favAjax.classFavs(B,function(C){if(Ext.toInt(C,-1)>0){Ext.each(B.fid.split(","),function(E,D){this.removeItemKey("fav-"+E)},this);this.resetIndex(0)}},Docs.content_panel)}delete A.node},sortFav:function(B){function A(){var D=B.de.n.ddel.id;var E=B.item.getData().fid;if(D!=E){var C=this.favItems.itemAt(0).dip;var H=this.favItems.removeKey("fav-"+E);this.resetTitleNum(1);var G=this.favItems.key("fav-"+D);if(H.el){if(B.de.point=="above"){this.favItems.insertBefore("fav-"+E,H,G);H.el=H.el.insertBefore(G.el)}else{if(B.de.point=="below"){this.favItems.insertAfter("fav-"+E,H,G);H.el=H.el.insertAfter(G.el)}}}var F=favAjax.list();this.favItems.each(function(I){F.addSortItem(I,C);I},this);favAjax.sortFavs(F,function(){H.el.highlight();this.resetIndex(0)},this)}}A.call(Docs.content_panel)},formatParams:function(B,A){return{uid:Config.curUId,cataid:B.cataid,ocataid:A.id,fid:B.fid,minIndex:B.index}}});ext.duxiu.BulkFavDragZone=Ext.extend(ext.duxiu.FavDragZone,{dragFormat:"<b>您选择了{0}个收藏</b>",isAloneOpr:false,onInitDrag:function(A,C){var B=this.dragData.item.getData();this.proxy.update(String.format(this.dragFormat,B.getCount()));this.onStartDrag(A,C)},formatParams:function(B,A){if(B.getCount()>0){A.ui.highlight();var C=[];B.each(function(E,D){C.push(E.fid)});return{uid:Config.curUId,cataid:B.first().cataid,ocataid:A.id,fid:C.join(",")}}else{return null}}});ext.duxiu.TreeDropZone=function(A,B){ext.duxiu.TreeDropZone.superclass.constructor.call(this,A,B)};Ext.extend(ext.duxiu.TreeDropZone,Ext.tree.TreeDropZone,{onNodeDrop:function(D,A,C,B){if(D&&B.item&&D.node){B.node=D.node;return true}return ext.duxiu.TreeDropZone.superclass.onNodeDrop.call(this,D,A,C,B)},getDropPoint:function(E,D,I){var J=D.node;if(J.isRoot){return J.allowChildren!==false?"append":false}var B=D.ddel;var K=Ext.lib.Dom.getY(B),G=K+B.offsetHeight;var F=Ext.lib.Event.getPageY(E);var H=J.allowChildren===false;if(this.appendOnly||J.parentNode.allowChildren===false){return H?false:"append"}var C=false;if(!this.allowParentInsert){C=J.hasChildNodes()&&J.isExpanded()}var A=(G-K)/(H?2:3);if(F>=K&&F<(K+A)){return"above"}else{if(!C&&(H||F>=G-A&&F<=G)){return"below"}else{return"append"}}}});ext.duxiu.TreeDragZone=Ext.extend(Ext.tree.TreeDragZone,{onBeforeDrag:function(A,B){this.tree.dropZone.appendOnly=false;return ext.duxiu.TreeDragZone.superclass.onBeforeDrag.call(this,A,B)}})

//FavDropZone
if(Ext.dd.DropZone){ext.duxiu.FavDropZone=function(A,B){ext.duxiu.FavDropZone.superclass.constructor.call(this,A,B);this.lastInsertClass="dx-no-status"};Ext.extend(ext.duxiu.FavDropZone,Ext.dd.DropZone,{ddGroup:"TreeDD",isValidDropPoint:function(E,D,A,C,B){if(!E||!B){return false}if(A.isAloneOpr===true){return true}else{return false}},getDropPoint:function(F,H,C){var B=H.ddel;var D=Ext.lib.Dom.getY(B),A=D+B.offsetHeight;var G=Ext.lib.Event.getPageY(F);var E=(A-D)/2;if(G>=D&&G<(D+E)){return"above"}else{if(G>=A-E&&G<=A){return"below"}}},onNodeOver:function(H,A,G,D){var F=this.getDropPoint(G,H,A);var E=this.dropNotAllowed;if(this.isValidDropPoint(H,F,A,G,D)){if(F){var C=H.ddel;var B;if(F=="above"){E="x-tree-drop-ok-above";B="dx-fav-insert-above"}else{if(F=="below"){E="x-tree-drop-ok-below";B="dx-fav-insert-below"}}if(this.lastInsertClass!=B){Ext.fly(C).replaceClass(this.lastInsertClass,B);this.lastInsertClass=B}}}return E},onNodeOut:function(D,A,C,B){this.removeDropIndicators(D)},onNodeDrop:function(E,B,D,C){var A=this.getDropPoint(D,E,B);C.de={n:E,point:A,source:B,rawEvent:D};return B.isAloneOpr&&C.item.getData().el&&E.ddel},removeDropIndicators:function(B){if(B&&B.ddel){var A=B.ddel;Ext.fly(A).removeClass(["dx-fav-insert-below","dx-fav-insert-above"]);this.lastInsertClass="_noclass"}}})}

//TreePanel
ext.duxiu.TreeDragEditor=function(B){var A;var C;var F;B.on("startdrag",function(I,K,J){if(K.parentNode){A=K.parentNode}});B.on("enddrag",function(I,K,J){setTimeout(function(){if(K.parentNode){C=K.parentNode}G()},300)});function G(){if(!A||!C){A=C=null}else{if(A.id!=C.id){var I=[];D(A,I);D(C,I);F=I.join(",")}else{F=D(A,[]).join(",")}}E();A=C=F=null}function D(L,K){var I=L.childNodes;for(var J=0;J<I.length;J++){K[K.length]=H(I[J],L.id,I.length-J)}return K}function H(K,J,I){return"{'id':"+K.id+", 'od':"+I+" , 'gid':"+J+"}"}function E(){B.progress.wait(B.getEl(),"保存...");Ext.Ajax.request({url:"/s/morder",params:{"s":"["+F+"]"},method:"POST",disableCaching:true,success:function(I,J){B.progress.hide()},failure:failAjax})}};ext.duxiu.TreePanel=function(J){var P=this;ext.duxiu.TreePanel.superclass.constructor.call(this,J);function O(R,U,V,Q,T){var S={text:U,id:V,draggable:Q||false,qtip:T||"<b>"+U+"</b>",leaf:false};return R?new Ext.tree.AsyncTreeNode(S):new Ext.tree.TreeNode(S)}var E=O(true,"我的图书馆","0",false,"默认分类");this.setRootNode(E);this.render();var G=new Ext.menu.Menu({items:[{handler:H,text:"新建子分类"},{handler:I,text:"重命名"},{handler:M,text:"删除"}]});var C=G.items.get(1);var A=G.items.get(2);this.on("contextmenu",function(Q,R){if(J.enableDD){Q.select();Q.expand();if(Q.id==0){C.hide();A.hide()}else{C.show();A.show()}G.showAt(R.getXY())}});this.on("click",function(R,Q){L.completeEdit(false);R.expand(false,true);Ext.callback(this.clickhandler,this.scope,[R,Q])},this,{single:false,delay:100,forumId:4});new ext.duxiu.TreeDragEditor(this);var B=this.progress=new ext.duxiu.ProgressNote({id:"progress-bar",width:100});var L=new Ext.tree.TreeEditor(this,{allowBlank:false,blankText:"请输入一个分类",selectOnFocus:true});L.on("beforestartedit",function(R,S,Q){var S=R.editNode;if(!J.enableDD||!S||(S.id<1&&S.id>-3)){return false}});L.on("complete",function(S,R,Q){var T=S.editNode;if(T){if(T.id>0){K(T,T.parentNode,"rename")}else{if(T.id<=-3){K(T,T.parentNode,"add")}}}});var N=0;var D=-3;var F=this.getSelectionModel();function H(){var R=F.getSelectedNode();if(R&&R.id>=0){var Q=O(false,"新建分类"+(++N),D--,true);R.appendChild(Q);L.triggerEdit(Q)}}this.addChild=H;function I(){var Q=F.getSelectedNode();if(Q){L.triggerEdit(Q)}}function M(){var Q=F.getSelectedNode();if(Q&&Q.id>0){Ext.MessageBox.show({title:"删除",msg:"删除所选分类、所属收藏、所属子分类：",value:Q.attributes.od,width:300,icon:Ext.MessageBox.QUESTION,buttons:Ext.MessageBox.OKCANCEL,fn:function(R,S){if(R=="ok"){Q.attributes.od=S;K(Q,Q.parentNode,"del")}},animEl:Q.ui.getTextEl()})}else{if(Q&&Q.id<=-3){Q.remove()}}}function K(R,S,Q){B.wait(Ext.get("div_tree"),"更新...");Ext.Ajax.request({url:"/a/mc.action",params:{"od":Q,"mc.userid":Config.curUId,"mc.groupid":S?S.id:0,"mc.cataid":R.id,"mc.cataname":R.text},method:"POST",disableCaching:true,success:function(U,V){var T=Ext.toInt(U.responseText,-1);if(T<0){if(Q=="add"||Q=="rename"){alert("操作失败，可能存在同名分类。");L.triggerEdit(R)}else{Ext.MessageBox.alert("操作失败","操作失败，请重试。")}}else{if(Q=="add"){R.id=T;R.attributes["id"]=T}else{if(Q=="del"){R.remove()}}}B.hide()},failure:failAjax})}};Ext.extend(ext.duxiu.TreePanel,Ext.tree.TreePanel,{initEvents:function(){if((this.enableDD||this.enableDrop)&&!this.dropZone){this.dropZone=new ext.duxiu.TreeDropZone(this,this.dropConfig||{ddGroup:this.ddGroup||"TreeDD",appendOnly:this.ddAppendOnly===true})}if((this.enableDD||this.enableDrag)&&!this.dragZone){this.dragZone=new ext.duxiu.TreeDragZone(this,this.dragConfig||{ddGroup:this.ddGroup||"TreeDD",scroll:this.ddScroll})}ext.duxiu.TreePanel.superclass.initEvents.call(this)},getSelectedNode:function(){var A=this.getSelectionModel();return A.getSelectedNode()},expandPath:function(C){var B=this;var A=B.getNodeById(0);if(C){ext.duxiu.TreePanel.superclass.expandPath.call(this,C,"id",function(D,E){if(D){B.chickNode(E)}else{B.chickNode(A)}})}else{B.chickNode(A)}},chickNode:function(A){if(A){A.select();A.expand();Ext.callback(this.clickhandler,this.scope,[A])}}})

//HistoryHandler
ext.duxiu.HistoryHandler=function(A){Ext.apply(this,A,{cls:"dx-hidden-iframe",hhref:"/bgj/blank.html",callback:Ext.emptyFn,scope:this})};ext.duxiu.HistoryHandler.prototype={init:function(){this.el=Ext.DomHelper.append(document.body,{tag:"iframe",cls:this.cls,src:this.hhref+location.hash},true);Ext.isIE?this.initIE():this.initFF()},initIE:function(){this.el.on("load",function(){this.doIECallback()},this)},initFF:function(){var A=this;var B;Ext.TaskMgr.start({run:function(){if(B!=location.hash){B=location.hash;A.doFFCallback()}},interval:300})},doIECallback:function(){var A=this.el.dom.contentWindow;var B=new UrlHelper({location:A.location});A.document.title=document.title;if(B.getHash()!=""){location.replace("#"+B.getHash())}Ext.callback(this.callback,this.scope,[B.getHash(true),B.getSearch(true)])},doFFCallback:function(){var A=this.el.dom.contentWindow;A.document.title=document.title;var B=new UrlHelper({});Ext.callback(this.callback,this.scope,[B.getHash(true),B.getSearch(true)])},addHistory:function(B){var A=new UrlHelper({params:{d:new Date().getTime()},hashs:B,rootHref:this.hhref});this.el.dom.src=A.getUrl();if(A.getHash()!=""){location.replace("#"+A.getHash())}}}

//UrlHelper
UrlHelper=ext.duxiu.UrlHelper=function(A){Ext.apply(this,A,{location:location});var B=this.location;Ext.apply(this,A,{params:B.search?Ext.urlDecode(B.search.substr(1)):{},hashs:B.hash?Ext.urlDecode(B.hash.substr(1)):{},rootHref:B.pathname})};ext.duxiu.UrlHelper.prototype={applys:function(A,B){var C={};C[A]=B;Ext.apply(this.params,C)},applyh:function(A,B){var C={};C[A]=B;Ext.apply(this.hashs,C)},getUrl:function(){return[this.rootHref,"?",this.getSearch(),"#",this.getHash()].join("")},getSearch:function(A){return A?this.params:Ext.urlEncode(this.params)},getHash:function(A){return A?this.hashs:Ext.urlEncode(this.hashs)}}

//DXKeyMap
DXKeyMap=ext.duxiu.DXKeyMap=function(){return{init:function(){var A=[{key:"x",alt:true,fn:function(){Docs.tree.expandAll()}},{key:"q",alt:true,fn:function(){var B=Ext.getCmp("dx-select-all");B.toggle();Docs.content_panel.selectHandler(B)}}];if(Config.isOwner){A.push({key:"n",alt:true,fn:function(){Docs.edit_panel.expand()}},{key:46,alt:true,fn:function(){Docs.content_panel.delHandler()}})}else{A.push({key:"w",alt:true,fn:function(){Docs.content_panel.addHandler()}})}new Ext.KeyMap(Ext.getBody(),A).stopEvent=true;if(Config.isOwner){this.edit_panel_keys=[{key:"s",alt:true,fn:function(){Docs.edit_panel.saveHandler()}},{key:27,fn:function(){Docs.edit_panel.canelHandler()}}];new Ext.KeyMap(Docs.edit_panel.getEl(),this.edit_panel_keys).stopEvent=true}}}}()

//FCKeditor
Ext.ux.FCKeditor=Ext.extend(Ext.Component,{constructor:function(A){if(!A.editor){A.editor=new FCKeditor(A.Name,A.Width,A.Height,A.ToolbarSet,A.Value)}Ext.apply(A,A.editor);Ext.apply(A.Config,A.fckConfig);Ext.ux.FCKeditor.superclass.constructor.call(this,A);this.addEvents(["resize","toolSetChanged"])},onRender:function(B,A){if(!this.tpl){this.tpl=new Ext.XTemplate('<div class="x-window-mc">',this.CreateHtml(),"</div>")}if(A){this.el=this.tpl.insertBefore(A,this,true)}else{this.el=this.tpl.append(B,this,true)}if(this.ownerCt){this.ownerCt.doLayout.defer(100,this.ownerCt)}},getInnerEditor:function(){return Ext.ux.FCKeditorMgr.get(this.Name)},setToolbarSet:function(B){var A=this.getInnerEditor();if(A){this.Value=A.GetData()}this.ToolbarSet=B;this.el.dom.innerHTML=this.CreateHtml();this.fireEvent("toolSetChanged",this,B)},setSize:function(C,A){if(!this.rendered){return }var B=this.getEditorFrame();if(B){B.setSize(C.width,C.height,A)}this.Width=C.width;this.Height=C.height;this.fireEvent("resize",this)},getSize:function(){return this.el.getSize()},setHeight:function(B){if(!this.rendered){return }var A=this.getEditorFrame();if(A){A.setHeight(B)}this.Height=this.getHeight();this.fireEvent("resize",this)},getHeight:function(){return this.el.getHeight()},setWidth:function(A){if(!this.rendered){return }var B=this.getEditorFrame();if(B){B.setWidth(A)}this.Width=this.el.getWidth();this.fireEvent("resize",this)},getWidth:function(){return this.el.getWidth()},setValue:function(A){this.getInnerEditor().SetData(A)},getValue:function(){return this.getInnerEditor().GetData()},getEditorFrame:function(){if(!this.rendered){return null}var A=Ext.get(Ext.query("iframe",this.el.dom)[0]);return Ext.get(A)}});Ext.ux.FCKeditorMgr=(function(){var A=new Object();return{register:function(B,C){A[B]=C},remove:function(B){delete A[B]},get:function(B){return A[B]}}})();FCKeditor_OnComplete=typeof FCKeditor_OnComplete=="function"?FCKeditor_OnComplete.createSequence(function(A){Ext.ux.FCKeditorMgr.register(A.Name,A)},FCKeditor_OnComplete):function(A){Ext.ux.FCKeditorMgr.register(A.Name,A)};Ext.reg("fckeditor",Ext.ux.FCKeditor)

//Docs
Docs=function(){var D=function(){return new Ext.XTemplate("<table>",'<tr><td class="tright">性别：</td><td>{sex}</td></tr>','<tr><td class="tright">出生日期：</td><td>{birth}</td></tr>','<tr><td class="tright">QQ：</td><td>{qq}</td></tr>','<tr><td class="tright">MSN：</td><td>{msn}</td></tr>','<tr><td class="tright">E-mail：</td><td>{email}</td></tr>','<tr><td class="tright">居住地：</td><td>{address}</td></tr>',"</table>")};function A(E){rtree.getRootNode().select();p.clear();p.addItems(E);p.resetTitleNum(0);if(Config.isOwner){ed.collapse();Ext.getCmp("dx-fav-new").setDisabled(true);Ext.getCmp("dx-tree-new").setDisabled(true);p.sortDZ.lock()}}function B(F,E){p.clear();eItemTpl.setHighlighter(false);p.addItems(E,rtree.getSelectedNode());p.resetTitleNum(0);if(Config.isOwner){ed.reset();ed.setTitleEdit(F.id==0?"默认分类":F.text);Ext.getCmp("dx-fav-new").setDisabled(false);Ext.getCmp("dx-tree-new").setDisabled(false);p.sortDZ.unlock()}C()}function C(){var F=new UrlHelper();var E=p.favItems.get("fav-"+F.getHash(true).fav);if(E){E.scrollToView()}}return{init:function(){Ext.QuickTips.init();this.tree_bar=[{iconCls:"dx-tree-open",tooltip:"打开全部分类 (Alt + X)",tooltipType:"title",handler:function(){Docs.tree.expandAll()}},{iconCls:"dx-tree-close",tooltip:"收起全部分类",tooltipType:"title",handler:function(){Docs.tree.collapseAll()}}];if(Config.isOwner){this.tree_bar.push("-");this.tree_bar.push({iconCls:"dx-tree-new",id:"dx-tree-new",tooltip:"新建分类",tooltipType:"title",handler:function(){Docs.tree.addChild()}})}this.layoutBody();this.updateTop();this.addPhotoAction();this.history=new ext.duxiu.HistoryHandler({callback:function(F){var E=rtree.getSelectedNode();if(E&&E.getPath()==F.cpath&&F.s==1){C()}else{this.tree.expandPath(F.cpath)}},scope:this});this.history.init();this.content_panel=p=Ext.getCmp("content-panel");this.task=new ext.duxiu.ScollTask(this.content_panel);this.tree=rtree=this.initTree();if(Config.isOwner){this.edit_panel=ed=Ext.getCmp("content-edit-panel");this.content_panel.initDD(this.tree)}DXKeyMap.init();this.task.start();if(!libconf.ds){this.initFloatTip()}},layoutBody:function(){this.view=new Ext.Viewport({layout:"border",defaults:{border:false},items:[{region:"north",contentEl:"top",split:false},{id:"div_tree",region:libconf.class_r?"east":"west",width:170,minSize:170,maxSize:400,collapseMode:"mini",border:true,tbar:this.tree_bar,scope:this,split:true},{id:"other_info",autoScroll:true,region:libconf.class_r?"west":"east",width:170,minSize:170,maxSize:400,border:true,collapseMode:"mini",plugins:new ext.duxiu.OtherInfo({searchCallback:function(E,F){eItemTpl.setHighlighter(new Ext.Highlighter(E.filter()));p.formatTitle="检索 "+E+" 共{0}条收藏";A(F)},openIndex:libconf.di?libconf.di:0}),split:true},{region:"center",layout:"border",id:"center-panel",split:false,items:this.initItems()}]})},initTree:function(){var F=new ext.duxiu.TreeLoader({dataUrl:"/s/mc",baseParams:{uid:Config.ownerUId}});var E=new ext.duxiu.TreePanel({el:"div_tree",id:"dx-fav-tree",animate:true,loader:F,enableDD:Config.isOwner,containerScroll:true,useArrows:libconf.dvs||false,autoScroll:true,pathSeparator:"_",clickhandler:function(H,G){document.title=Config.top_param.libName+" - MyLib";if(G){this.history.addHistory({cpath:H.getPath()})}else{favAjax.getFavIds(H.id,function(I){p.formatTitle=H.id!=0?"["+H.text+"]　有{0}条收藏":"[我的图书馆(默认分类)]　有{0}条收藏";B(H,I)})}},scope:this});return E},initItems:function(){var E=[{xtype:"content-panel",id:"content-panel",autoScroll:true,region:"center",editable:Config.isOwner,bodyStyle:"padding-top:5px",itemsBaseTop:80}];if(Config.isOwner){E.push({xtype:"content-edit-panel",id:"content-edit-panel",region:"south",split:true,height:400,minHeight:400,title:"新建",collapsible:true,collapsed:true,floatable:false,autoScroll:true,labelWidth:50,bodyStyle:"padding:15px",root:"/userfile/"+Config.curUId})}return E},initFloatTip:function(){Ext.get(p.body).on("click",function(F){var E;if(Ext.isIE){E=document.selection.createRange().text}else{E=document.getSelection()}if(E.length>0){if(this.tip){this.tip.destroy()}this.tip=new Ext.Tip({width:85,html:'<div><a target="_blank" href="http://qw.duxiu.com/getPage?sw='+encodeURIComponent(E)+'&ecode=utf-8">读秀知识搜索</a></div>'});this.tip.showAt(F.getXY())}else{if(this.tip){this.tip.hide()}}},this);Ext.getBody().on("click",function(F){var E;if(Ext.isIE){E=document.selection.createRange().text}else{E=document.getSelection()}if(E.length==0&&this.tip){this.tip.destroy()}},this)},updateTop:function(F){var E=new Ext.XTemplate('<div class="nav">','<div class="left nav-left">','　<a href="http://www.duxiu.com">读秀</a>　<font size="1">|</font>　<a href="http://'+location.host+'">我的图书馆</a>　<font size="1">|</font>　<a href="http://zt.duxiu.com/">专题图书馆</a>　<font size="1">|</font>　<a href="http://bbs.duxiu.com/cate/51.htm">文献互助</a>',"</div>",'<div class="right nav-right">','<tpl if="Config.curUId &gt; 0">','<a href="http://'+location.host+"/"+Ext.getCookie("uname")+'">进入'+Ext.getCookie("uname")+'的图书馆</a>　<font size="1">|</font>　<a href="/logout.jsp">退出</a>&nbsp;&nbsp;',"</tpl>",'<tpl if="Config.curUId <= 0">','<a href="/a/login.action">登录</a>　<font size="1">|</font>　<a href="/a/register.action">注册</a>&nbsp;&nbsp;',"</tpl>","</div>","</div>",'<div class="top-right" >','<table class="top-table font12" border="0" cellspacing="0" cellpadding="0">',"<tr>",'<td rowspan="2" width="60"><img src="{userphoto}" id="top-left" title="{ownerName}"/></td>','<td class="font16" title="{libName}"><b>{[this.getl(values.libName , 18)]}</b></td>','<td align="right" colspan="2" title="{libWord}">{[this.getl(values.libWord , 50)]}</td>',"</tr>","<tr>","<td>http://"+location.host+'/{ownerName}　<img src="/images/top-friend.gif" id="copy-http" title="复制网址"/></td>',"<td>",'<tpl if="Config.isOwner">','<a href="/a/receiveMsg.action">我的消息{[values.msgCount>0?"("+values.msgCount+")":""]}</a>','　<a href="/a/showUserInfo.action">个人设置</a>','　<a href="/a/edl.action">馆内设置</a>','　　<a href="http://bbs.duxiu.com/forum/107.htm">联系我们</a>','　<a href="/help/help.html">帮助</a>',"</tpl>",'<tpl if="Config.isOwner==false">','<a href="/a/sendMsg.action?touid_name={[encodeURIComponent(values.ownerName)]}" target=_blank>发送消息</a>','　<a href="#" id="addfrd"> 加为好友</a>','　　<a href="http://bbs.duxiu.com/forum/107.htm">联系我们</a>','　<a href="/help/help.html">帮助</a>',"</tpl>","</td>",'<td align="right">收藏总数：{number}　最后更新：{updatetime}</td>',"</tr>","</table>","</div>",{getl:function(H,G){return H.length>G?H.substring(0,G)+"...":H}});E.overwrite("top",Config.top_param);if(!Config.isOwner){Ext.get("addfrd").on("click",function(){if(Config.curUId<=0){window.location="/a/login.action";return }this.addfriend()},this)}Ext.get("copy-http").on("click",function(){Ext.copyToClipboard("http://"+location.host+"/"+Config.top_param.ownerName)},this)},addfriend:function(){this.p().wait(Ext.getBody(),"提交申请……");Ext.Ajax.request({url:"/a/addfd.action",params:{frdsIds:Config.ownerUId},success:function(E,F){if(Ext.toInt(E.responseText,-1)<0){Ext.MessageBox.alert("添加好友失败","该用户已加为好友。")}else{Ext.MessageBox.alert("提示","添加好友成功！")}this.p().hide()},scope:this,failure:failAjax})},p:function(){if(!this.pbar){this.pbar=new ext.duxiu.ProgressNote({width:100})}return this.pbar},addPhotoAction:function(){if(!this.owner_tpl){this.owner_tpl=D()}if(!this.tab){this.tab=this.owner_tpl.append(Ext.getDom("ownerinfo"),Config.ownerInfo)}var E=Ext.get("ownerinfo");E.enableDisplayMode("block");Ext.get("top-left").on({"mouseover":{fn:function(){E.show(true)}},"mouseout":{fn:function(){E.hide(true)}}})},open:function(F,E){this.history.addHistory({cpath:F,fav:E,s:1})},showall:function(){favAjax.getAllIds(function(E){p.formatTitle=E.length==5000?"全部收藏(按时间排序)":"本馆共有{0}条收藏。";A(E)})}}}();Ext.onReady(Docs.init,Docs,true)