/**
 * Longana 1.0-alpha6
 * 
 * Copyright 2009 Bob Obringer
 */

// longana-core
Ext.override(Ext.form.TextField,{applyEmptyText:function(){if(this.rendered&&this.emptyText&&this.getRawValue().length<1&&!this.hasFocus){this.setRawValue(this.emptyText);this.el.addClass(this.emptyClass);}}});Ext.form.TriggerField.override({afterRender:function(){Ext.form.TriggerField.superclass.afterRender.call(this);var y;if(Ext.isIE&&!this.hideTrigger&&this.el.getY()!=(y=this.trigger.getY())){this.el.position();this.el.setY(y);}}});Ext.override(Ext.form.Checkbox,{getValue:function(){if(this.rendered){return this.el.dom.checked;}return this.checked;},setValue:function(v){var checked=this.checked;this.checked=(v===true||v==='true'||v=='1'||String(v).toLowerCase()=='on');if(this.rendered){this.el.dom.checked=this.checked;this.el.dom.defaultChecked=this.checked;this.wrap[this.checked?'addClass':'removeClass'](this.checkedCls);}if(checked!=this.checked){this.fireEvent("check",this,this.checked);if(this.handler){this.handler.call(this.scope||this,this,this.checked);}}}});Ext.override(Ext.grid.GridView,{layout:function(){if(!this.mainBody){return;}var g=this.grid;var c=g.getGridEl();var csize=c.getSize(true);var vw=csize.width;if(vw<20||csize.height<20){return;}if(g.autoHeight){this.scroller.dom.style.overflow='visible';this.scroller.dom.style.position='static';}else{this.el.setSize(csize.width,csize.height);var hdHeight=this.mainHd.getHeight();var vh=csize.height-(hdHeight);this.scroller.setSize(vw,vh);if(this.innerHd){this.innerHd.style.width=(vw)+'px';}}if(this.forceFit){if(this.lastViewWidth!=vw){this.fitColumns(false,false);this.lastViewWidth=vw;}}else{this.autoExpand();this.syncHeaderScroll();}this.onLayout(vw,vh);}});Ext.lib.Ajax.serializeForm=function(form){if(typeof form=='string'){form=(document.getElementById(form)||document.forms[form]);}var el,name,val,disabled,data='',hasSubmit=false;for(var i=0;i<form.elements.length;i++){el=form.elements[i];disabled=form.elements[i].disabled;name=form.elements[i].name;val=form.elements[i].value;val=Longana.form.submitFormatter(val);if(!disabled&&name){switch(el.type){case'select-one':case'select-multiple':for(var j=0;j<el.options.length;j++){if(el.options[j].selected){if(Ext.isIE){data+=encodeURIComponent(name)+'='+encodeURIComponent(el.options[j].attributes['value'].specified?el.options[j].value:el.options[j].text)+'&';}else{data+=encodeURIComponent(name)+'='+encodeURIComponent(el.options[j].hasAttribute('value')?el.options[j].value:el.options[j].text)+'&';}}}break;case'radio':if(el.checked){data+=encodeURIComponent(name)+'='+encodeURIComponent(val)+'&';}break;case'checkbox':data+=encodeURIComponent(name)+'='+(el.checked?encodeURIComponent(val):'')+'&';break;case'file':case undefined:case'reset':case'button':break;case'submit':if(hasSubmit===false){data+=encodeURIComponent(name)+'='+encodeURIComponent(val)+'&';hasSubmit=true;}break;default:data+=encodeURIComponent(name)+'='+encodeURIComponent(val)+'&';break;}}}data=data.substr(0,data.length-1);return data;};Ext.override(Ext.layout.FormLayout,{renderItem:function(c,position,target){if(c&&!c.rendered&&c.isFormField&&c.inputType!='hidden'){var args=[c.id,c.fieldLabel,c.labelStyle||this.labelStyle||'',this.elementStyle||'',typeof c.labelSeparator=='undefined'?this.labelSeparator:c.labelSeparator,(c.itemCls||this.container.itemCls||'')+(c.hideLabel?' x-hide-label':''),c.clearCls||'x-form-clear-left'];if(typeof position=='number'){position=target.dom.childNodes[position]||null;}if(position){c.formItem=this.fieldTpl.insertBefore(position,args,true);}else{c.formItem=this.fieldTpl.append(target,args,true);}c.actionMode='formItem';c.render('x-form-el-'+c.id);c.container=c.formItem;c.actionMode='container';}else{Ext.layout.FormLayout.superclass.renderItem.apply(this,arguments);}}});Ext.override(Ext.form.TriggerField,{actionMode:'wrap',onShow:Ext.form.TriggerField.superclass.onShow,onHide:Ext.form.TriggerField.superclass.onHide});Ext.tree.ColumnTree=Ext.extend(Ext.tree.TreePanel,{lines:false,borderWidth:Ext.isBorderBox?0:2,cls:'x-column-tree',onRender:function(){Ext.tree.ColumnTree.superclass.onRender.apply(this,arguments);this.headers=this.body.createChild({cls:'x-tree-headers'},this.innerCt.dom);var cols=this.columns,c;var totalWidth=0;for(var i=0,len=cols.length;i<len;i++){c=cols[i];totalWidth+=c.width;this.headers.createChild({cls:'x-tree-hd '+(c.cls?c.cls+'-hd':''),cn:{cls:'x-tree-hd-text',html:c.header},style:'width:'+(c.width-this.borderWidth)+'px;'});}this.headers.createChild({cls:'x-clear'});this.headers.setWidth(totalWidth);this.innerCt.setWidth(totalWidth);}});Ext.tree.ColumnNodeUI=Ext.extend(Ext.tree.TreeNodeUI,{focus:Ext.emptyFn,renderElements:function(n,a,targetNode,bulkRender){this.indentMarkup=n.parentNode?n.parentNode.ui.getChildIndent():'';var t=n.getOwnerTree();var cols=t.columns;var bw=t.borderWidth;var c=cols[0];var buf=['<li class="x-tree-node"><div ext:tree-node-id="',n.id,'" class="x-tree-node-el x-tree-node-leaf ',a.cls,'">','<div class="x-tree-col" style="width:',c.width-bw,'px;">','<span class="x-tree-node-indent">',this.indentMarkup,"</span>",'<img src="',this.emptyIcon,'" class="x-tree-ec-icon x-tree-elbow">','<img src="',a.icon||this.emptyIcon,'" class="x-tree-node-icon',(a.icon?" x-tree-node-inline-icon":""),(a.iconCls?" "+a.iconCls:""),'" unselectable="on">','<a hidefocus="on" class="x-tree-node-anchor" href="',a.href?a.href:"#",'" tabIndex="1" ',a.hrefTarget?' target="'+a.hrefTarget+'"':"",'>','<span unselectable="on">',n.text||(c.renderer?c.renderer(a[c.dataIndex],n,a):a[c.dataIndex]),"</span></a>","</div>"];for(var i=1,len=cols.length;i<len;i++){c=cols[i];buf.push('<div class="x-tree-col ',(c.cls?c.cls:''),'" style="width:',c.width-bw,'px;">','<div class="x-tree-col-text">',(c.renderer?c.renderer(a[c.dataIndex],n,a):a[c.dataIndex]),"</div>","</div>");}buf.push('<div class="x-clear"></div></div>','<ul class="x-tree-node-ct" style="display:none;"></ul>',"</li>");if(bulkRender!==true&&n.nextSibling&&n.nextSibling.ui.getEl()){this.wrap=Ext.DomHelper.insertHtml("beforeBegin",n.nextSibling.ui.getEl(),buf.join(""));}else{this.wrap=Ext.DomHelper.insertHtml("beforeEnd",targetNode,buf.join(""));}this.elNode=this.wrap.childNodes[0];this.ctNode=this.wrap.childNodes[1];var cs=this.elNode.firstChild.childNodes;this.indentNode=cs[0];this.ecNode=cs[1];this.iconNode=cs[2];this.anchor=cs[3];this.textNode=cs[3].firstChild;}});
Longana={version:"1.0-alpha6"};(
function(){if(typeof Ext=="undefined"||Ext.version.split("-")[0]<2){alert("Longana Could Not Load:  Ext 2.2 or higher is not loaded");return;}var jsPath;var scripts=Ext.DomQuery.select("script");var lv="longana-"+Longana.version;for(var i=0;i<scripts.length;i++){var script=scripts[i];if(script.src&&script.src.match(lv)){jsPath=script.src.split(lv)[0];if(jsPath.match(document.location.host)){jsPath=jsPath.split(document.location.host)[1];}jsPath+=lv+"/";i=scripts.length;}}Ext.BLANK_IMAGE_URL=jsPath+"resources/images/blank.gif";var ags=location.search.substring(1,location.search.length).replace(/\+/g,' ').split("&");var qs={};for(var q=1;q<ags.length;q++){var pair=ags[q].split("=");qs[pair[0]]=pair[1];}Ext.apply(Longana,{getJSPath:function(){return jsPath;},iconPath:"/icons/",path:"/longana/longana.nsf",proPath:"/longana/longana-pro.nsf",command:ags[0],qs:qs,decode:function(st){return Ext.decode(st.replace(/([\x00-\x1f])/g," "));}});})();Ext.ns("Longana.view","Longana.form","Longana.number");Longana.number={punctuate:function(val,sep,decpoint){if(val.length<4){return val;}sep=sep||",";decpoint=decpoint||".";var num=val.toString();var a=num.split(decpoint);var x=a[0];var y=a[1];var z="";if(typeof(x)!="undefined"){for(i=x.length-1;i>=0;i--){z+=x.charAt(i);}z=z.replace(/(\d{3})/g,"$1"+sep);if(z.slice(-sep.length)==sep){z=z.slice(0,-sep.length);}x="";for(i=z.length-1;i>=0;i--){x+=z.charAt(i);}if(typeof(y)!="undefined"&&y.length>0){x+=decpoint+y;}}return x;}};
Longana.Session=function(){var c={};return{init:function(config){Ext.apply(c,config);Longana.Session.isInitialized=true;},getUserName:function(action){if(!action||action===""){return c.userName;}var comps=c.userName.split("/");switch(action.toLowerCase()){case"cn":return comps[0].replace(/CN=/i,"");}},getRoles:function(){return c.userRoles;},hasRole:function(){for(var i=0;i<arguments.length;i++){if(c.userRoles.indexOf(arguments[i])>-1){return true;}}return false;},getDBPath:function(){var p=location.pathname.toString();if(p.match(/.nsf/i)){var i=p.toLowerCase().lastIndexOf('.nsf');return p.substring(0,i+4);}else if(String(_doClick).match(/"(.*)\?OpenDatabase/i)){return String(_doClick).match(/"(.*)\?OpenDatabase/i)[1];}else if(String(_doClick).match(/"(.*)\?ReadForm/i)){return String(_doClick).match(/"(.*)\?ReadForm/i)[1];}}};}();Ext.onReady(
function(){if(!Longana.Session.isInitialized){var msg=["Longana Session has not been initalized.\n\nBe sure to include the session subform from Longana.nsf\n","in each of your forms that use the Longana framework."].join("");throw{message:msg};}});


// view
Longana.view.ViewPanel=function(config){config.layout="fit";Ext.applyIf(config,{layout:"fit",pageSize:100,dbPath:Longana.Session.getDBPath(),remoteSort:true,title:config.viewName,tbar:[]});this.addEvents({"rowdblclick":true,"rowclick":true,"beforecategorychange":true,"categorychange":true,"designload":true,"beforeload":true,"load":true,"keywordsearch":true,"sort":true});Longana.view.ViewPanel.superclass.constructor.call(this,config);};Ext.extend(Longana.view.ViewPanel,Ext.Panel,{hideTbar:function(){if(this.rendered){this.tbar.setVisibilityMode(Ext.Element.DISPLAY);this.tbar.hide();this.syncSize();}},showTbar:function(){this.tbar.setVisibilityMode(Ext.Element.DISPLAY);this.tbar.show();this.syncSize();},afterRender:function(){Longana.view.ViewPanel.superclass.afterRender.apply(this);this.design=new Longana.view.Design(Ext.apply(this.initialConfig,{listeners:{scope:this,designload:function(design){this.processViewDesign(design);this.fireEvent("designload",this,design);}}}));},processViewDesign:function(design){if(design.categoryCount>1){alert("Longana currently does not support views with more then one level of categorization");return;}if(this.design.categoryCount>0&&!this.restrictToCategory){this.categoryCombo=this.createCategoryCombo(design.columns[0]);}this.addToolbarItems();this.createDataStore(!this.categoryCombo);this.createViewBody();this.add(this.viewBody);this.doLayout();if(this.useKeyNav){var opt=this.useKeyNav;var targ;if(typeof opt=="boolean"){targ=this.getEl();}else{targ=opt;}var paging=this.viewBody.getBottomToolbar();var nav=new Ext.KeyNav(targ,{scope:this,pageDown:function(){if((this.store.lastOptions.params.start+this.pageSize)>this.store.getTotalCount()){return;}this.store.load({params:{start:this.store.lastOptions.params.start+this.pageSize}});},pageUp:function(){if(this.store.lastOptions.params.start==1){return;}this.store.load({params:{start:this.store.lastOptions.params.start-this.pageSize}});},home:function(){this.store.load({params:{start:1}});},end:function(){var total=this.store.getTotalCount();var extra=total%this.pageSize;var lastStart=extra?(total-extra):total-this.pageSize;this.store.load({params:{start:lastStart+1}});}});}var pars={start:1};if(design.categoryCount===0||this.restrictToCategory){if(this.startKey){pars.startKey=this.startKey;pars.untilKey=(this.untilKey)?this.untilKey:this.startKey+"~~";}this.store.load({params:pars});}else if(this.defaultCategory){this.store.baseParams.restrictToCategory=this.defaultCategory;this.store.load({params:pars});}},createDataStore:function(){this.baseParams={outputformat:"JSON",count:(this.startKey)?-1:this.pageSize};if(this.restrictToCategory){this.baseParams.restrictToCategory=this.restrictToCategory;}this.proxy=new Ext.data.HttpProxy({url:this.dbPath+"/"+this.viewName+"?ReadViewEntries",method:'GET'});this.reader=new Longana.view.Reader(this.design);this.store=new Longana.view.Store(this,{baseParams:this.baseParams,proxy:this.proxy,reader:this.reader});},createViewBody:function(){if(this.template){this.viewBody=new Longana.view.Template(this);}else{this.viewBody=new Longana.view.Grid(this);}if(this.parentLayout){}},createCategoryCombo:function(col){var id=this.id+"-catcombo-"+col.index;var syncComboSize=function(recs){var c=Ext.getCmp(id);var tm=Ext.util.TextMetrics.createInstance(c.getEl());var longest=tm.getWidth(col.title);Ext.each(recs,function(rec){var txt=rec.get("text")+((this.showCategoryTotals)?(rec.get("children")+"()"):"");longest=Math.max(longest,tm.getWidth(txt));});(function(){var w=(longest+35)*1.2;c.setWidth(w);if(c.list){c.list.setWidth(w);c.innerList.setWidth(w);}}).defer(10);};var tpl=['<tpl for="."><div class="x-combo-list-item">{text}'];if(this.showCategoryTotals){tpl.push(" <span style='color:#888; font-style:italic'>({children})</span>");}tpl.push('</div></tpl>');var sort=null;if(this.dateCategory){sort={field:"date",direction:(this.dateCategory.sortOrder||"ASC")};}if(col.index===0){var params={outputFormat:"JSON",count:"-1",collapseView:"true"};var proxy=new Ext.data.HttpProxy({url:this.dbPath+"/"+this.viewName+"?ReadViewEntries",method:'GET'});var ccs=new Ext.data.Store({autoLoad:true,sortInfo:sort,reader:new Longana.view.CategoryReader(this),proxy:proxy,baseParams:params,listeners:{scope:this,load:function(ds,recs){var c=Ext.getCmp(id);if(c.rendered){syncComboSize(recs);}else{c.on("afterrender",function(){syncComboSize(recs);},this);}if(this.defaultCategory===true){this.categoryCombo.setValue(recs[0].get("category"));this.categoryCombo.fireEvent("select",this.categoryCombo,recs[0]);}this.currentCategory=this.categoryCombo.getValue();}}});return new Ext.form.ComboBox({columnDesign:col,emptyText:col.titleText,triggerAction:"all",editable:false,store:ccs,value:(this.defaultCategory===true)?"":this.defaultCategory,tpl:new Ext.XTemplate(tpl.join("")),displayField:"text",id:id,listeners:{scope:this,select:function(cb,rec){var cat=rec.get("category");var oldCat=this.currentCategory;if(this.fireEvent("beforecategorychange",this,cat,oldCat)===false){return;}this.store.baseParams.restrictToCategory=cat;this.store.load({params:{start:1},scope:this,callback:function(recs){this.currentCategory=cat;this.fireEvent("categorychange",this,cat,oldCat,recs);}});}}});}},loadLastKeyword:function(){Ext.Ajax.request({url:this.dbPath+"/"+this.viewName+"?ReadViewEntries",method:"GET",params:{outputformat:"JSON",start:this.store.getTotalCount(),count:1},scope:this,success:function(r){var col=(this.keywordColumn)?this.keywordColumn:0;var ed=Ext.decode(r.responseText).viewentry[0].entrydata[col];var textList="";if(ed.text){textList=ed.text[0].toLowerCase();}else if(ed.textlist){if(typeof ed.textlist.text[0]=="object"){textList=ed.textlist.text[0]["0"].toLowerCase();}else{textList=ed.textlist.text[0].toLowerCase();}}this.lastKeyword=textList;}});},addToolbarItems:function(){var tb;if(this.parentLayout&&!this.useOwnToolbar){tb=this.parentLayout.getTopToolbar();}else{tb=this.getTopToolbar();}if(this.toolbarItems){Ext.each(this.toolbarItems,function(item){item.show();},this);return;}if(this.categoryCombo){tb.add((tb.items.getCount()>0)?"-":false,this.categoryCombo);}if(this.actions){tb.add((tb.items.getCount()>0)?"-":false);if(!Ext.isArray(this.actions)){this.actions=[this.actions];}Ext.each(this.actions,function(action){tb.add(action);},this);}if(this.groupingView&&!this.groupingView.hideTools){var expobj={iconCls:"view-btn-expand",scope:this,handler:function(){this.expandGroupings();}};var colobj={iconCls:"view-btn-collapse",scope:this,handler:function(){this.collapseGroupings();}};if(!this.groupingView.hideToolText){expobj.text="Expand";colobj.text="Collapse";}tb.add((tb.items.getCount()>0)?"-":false,expobj,colobj);}if((this.design.categoryCount===0||this.restrictToCategory)&&this.keywordSearch){if(this.keywordSearch===true){this.keywordSearch={};}this.keywordSearchBox=new Longana.view.KeywordSearchField({view:this});tb.add("->",this.keywordSearchBox);}var ttb=this.getTopToolbar();if(ttb.items.getCount()===0){this.hideTbar();}else{this.showTbar();}this.toolbarItems=[];tb.items.each(function(item){if(!this.parentLayout||item.id!=this.parentLayout.getId()+"-view-menu"){if(!item.hidden){this.toolbarItems.push(item);}}},this);},updateSortOrder:function(grid){this.body.mask("Saving New Sort Order","x-mask-loading");var so=(this.enableDragDrop===true)?"SortOrder":this.enableDragDrop;var unids=[];this.viewBody.getStore().each(function(rec){unids.push(rec.id.substring(0,32));});Ext.Ajax.request({url:Longana.proPath+"/agtViewUpdateSortOrder?OpenAgent",scope:this,params:{db:this.dbPath||Longana.Session.getDBPath(),field:so,unids:unids.join(",")},success:function(){this.body.unmask();this.fireEvent("sort");}});},reload:function(callback,scope){if(this.rendered&&this.store){this.store.reload({callback:callback,scope:scope||window});}},getSelectedDocuments:function(){var unids=[];var sel=this.viewBody.getSelectionModel().getSelections();Ext.each(sel,function(r){var u=r.id.substring(0,32);if(unids.indexOf(u)==-1){unids.push(u);}});return unids;},updateDocuments:function(conf){var unids=this.getSelectedDocuments();if(unids.length===0){Ext.MessageBox.show({title:"No Documents Selected",icon:Ext.MessageBox.WARNING,buttons:Ext.MessageBox.OK,msg:"You must select at least one document to update."});return;}var updates=conf.fields||conf;var action=conf.action||"replaceItemValue";this.getEl().mask("Updating Selected Documents","x-mask-loading");var updateParams=[];for(i in updates){updateParams.push(i+"~"+updates[i]);}Ext.Ajax.request({url:Longana.proPath+"/agtViewUpdateDocuments?OpenAgent",params:{unids:unids,dbPath:this.dbPath.replace(/\//,""),viewName:this.viewName,action:action,updates:updateParams},scope:this,success:function(){this.getEl().unmask();if(conf.view){if(typeof conf.view=="string"){conf.view=Ext.getCmp(conf.view);}conf.view.reload();}else{this.reload();}}});},deleteSelectedDocuments:function(config){var docs=this.getSelectedDocuments();if(docs.length===0){Ext.MessageBox.show({icon:Ext.MessageBox.ERROR,title:"No Documents Selected",msg:"You must select at least one document to delete.",width:400,buttons:Ext.MessageBox.OK});return;}config=(config||{});config=Ext.applyIf(config,{confirm:true,mask:true,reload:true});var del=function(){var url=Longana.proPath+"/agtDeleteDocuments?OpenAgent";if(config.mask){this.body.mask("Deleting Selected Documents","x-mask-loading");}Ext.Ajax.request({url:url,scope:this,params:{db:this.dbPath,unids:docs.join(',')},success:function(){if(config.mask){this.body.unmask();}if(config.reload){this.reload();}if(config.callback){config.callback.apply(config.scope||window);}},failure:function(){if(config.mask){this.body.unmask();}Ext.MessageBox.show({icon:Ext.MessageBox.ERROR,title:"Error",msg:"Longana Pro could not be found.<br />The selected documents were not successfully deleted.",width:400,buttons:Ext.MessageBox.OK});}});};if(!config.confirm){del.call(this);}else{Ext.MessageBox.confirm(config.title?config.title:'Delete Selected Documents?',config.msg?config.msg:'Are you sure you want delete the selected documents?',function(r){if(r=="yes"){del.call(this);}else{if(config.callback){config.callback.apply(config.scope||window);}}},this);}},setCategory:function(cat){if(this.store){this.store.baseParams.restrictToCategory=cat;this.store.load({params:{start:1}});}else{this.restrictToCategory=cat;}},setRange:function(sk,uk){if(!this.store){this.startKey=sk;this.untilKey=(uk)?uk:sk+"~~";return;}var params={start:1,count:-1,startkey:sk};if(!this.lastKeyword||this.lastKeyword.indexOf(v.toLowerCase())===0){if(uk){params.untilkey=uk;}else{params.untilkey=sk+"~";}}this.store.load({params:params});},expandGroupings:function(){this.viewBody.getView().expandAllGroups();},collapseGroupings:function(){this.viewBody.getView().collapseAllGroups();}});Ext.reg("longana-viewpanel",Longana.view.ViewPanel);Longana.view.KeywordSearchField=Ext.extend(Ext.form.TwinTriggerField,{initComponent:function(){var ks=this.view.keywordSearch;var et=ks.emptyText||"Search";if(ks.minLength){et+=" (min. "+ks.minLength+" chars)";}this.emptyText=et;this.hideTrigger2=ks.hideUselessTrigger;this.width=(ks.fieldWidth)?ks.fieldWidth:140;Longana.view.KeywordSearchField.superclass.initComponent.call(this);this.on('keyup',function(f,e){if(ks.hideUselessTrigger){var v=f.getValue();if(v.length===0||(ks.minLength&&v.length<ks.minLength)){this.triggers[1].hide();}else{this.triggers[1].show();}}if(ks.searchOnKeyPress){this.search(f,e);}else{if(e.getKey()==e.ENTER){this.onTrigger2Click();}}},this);},enableKeyEvents:true,trigger1Class:'x-form-clear-trigger',trigger2Class:'x-form-search-trigger',hideTrigger1:true,onTrigger1Click:function(){if(this.view.keywordSearch.hideUselessTrigger){this.triggers[1].hide();}this.setValue("");this.search(this,false);this.focus();},onTrigger2Click:function(){this.search(this,false);this.focus();},search:function(f,e){if(e){var k=e.getKey();if(!((k>=65&&k<=90)||k==13||k==32||k==46||k==8)){return;}}var v=f.getValue();var view=this.view;var ks=view.keywordSearch;if(v.length===0||(ks.minLength&&v.length<ks.minLength)){if(!ks.isActive){return;}ks.isActive=false;this.triggers[0].hide();view.store.baseParams.count=view.pageSize;view.store.load({params:{start:this.viewPosition}});return;}if(!ks.isActive){this.viewPosition=view.store.lastOptions.params.start;}ks.isActive=true;this.triggers[0].show();view.store.baseParams.count=-1;view.store.load({params:{startkey:v,untilkey:(view.lastKeyword.indexOf(v.toLowerCase())===0)?null:(v+"~~")},scope:this,callback:function(r,opts,success){this.view.fireEvent("keywordsearch",r,opts,success);}});}});Ext.ns("Longana.view");Longana.view.Utils={formatFieldName:function(v){return v.replace(/\$/g,"_S_");}};Longana.fieldName=Longana.view.Utils.formatFieldName;
Longana.view.Template=function(view){this.longanaView=view;Longana.view.Template.superclass.constructor.call(this);};Ext.extend(Longana.view.Template,Ext.Panel,{header:false,border:false,initComponent:function(){var view=this.longanaView;this.bbar=(view.hidePaging)?null:new Longana.view.PagingToolbar({view:view});this.autoHeight=(!this.longanaView.fixScrollHeight)?true:false;var template=view.template;var cleanTemplate=[];var m=template.match(/\{\d+\}/g);if(m){for(var q=0;q<m.length;q++){var n=m[q].match(/\d+/);template=template.replace(m[q],"{"+view.design.columns[n].name+"}");}}var mbrack=template.match(/\[\d+\]/g);if(mbrack){for(var r=0;r<mbrack.length;r++){var nbrack=mbrack[r].match(/\d+/);template=template.replace(mbrack[r],view.design.columns[nbrack].name);}}if(view.templateTop){cleanTemplate.push(view.templateTop);}cleanTemplate.push('<tpl for=".">');if(!view.hideTemplateRows){cleanTemplate.push('<div class="viewrows">');}template=template.replace(/\<tpl/,"~~<tpl").replace(/tpl\>/,"tpl>~~");var parts=template.split("~~");Ext.each(parts,function(part){cleanTemplate.push(part);});if(!view.hideTemplateRows){cleanTemplate.push('</div>');}cleanTemplate.push("</tpl>");if(view.templateBottom){cleanTemplate.push(view.templateBottom);}var tpl=new Ext.XTemplate(cleanTemplate);this.items=[new Ext.DataView({store:view.store,itemSelector:"viewrows",autoWidth:true,autoHeight:(view.fixScrollHeight)?false:true,style:"overflow-x:hidden; overflow-y:auto",emptyText:(view.emptyText!==null)?view.emptyText:"<div style='padding:5px'>No Documents Found</div>",tpl:tpl,border:false,id:view.id+"-dataview"})];if(view.fixScrollHeight){this.on("resize",function(p,w,h){Ext.getCmp(view.id+"-dataview").setHeight(p.getInnerHeight());},this);}Longana.view.Template.superclass.initComponent.call(this);}});Ext.reg("longana-viewtemplate",Longana.view.Template);
Longana.view.ViewCardPanel=function(config){config.layout="card";config.activeItem=0;config.layoutConfig={deferredRender:true};Longana.view.ViewCardPanel.superclass.constructor.call(this,config);};Ext.extend(Longana.view.ViewCardPanel,Ext.Panel,{initComponent:function(){var items=this.items;this.items=[];var tbar={text:"Loading Views...",iconCls:"view-cards-menu",id:this.id+"-view-menu"};var tbitems=[];Ext.each(items,function(item){if(!item.isMenuItem&&typeof item!="string"&&!item.getXType){item.xtype=item.xtype||"longana-viewpanel";}item.parentLayout=this;item.border=false;item.id=item.id||Ext.id();item.menuIcon=item.menuIcon||Longana.getJSPath()+"resources/images/application_view_detail.png";if(item.header!==false){item.header=false;}if((item.xtype&&(item.xtype.match(/panel/)||item.xtype.match(/grid/)))||(item.getXTypes&&item.getXTypes().match(/panel/))){this.items.push(item);if(!item.hideMenuItem){tbitems.push({text:item.title||item.viewName,icon:item.menuIcon,scope:this,handler:function(){this.setActivePanel(item);}});}}else{tbitems.push(item);}},this);tbar.menu=tbitems;this.tbar=[tbar];Longana.view.ViewCardPanel.superclass.initComponent.apply(this);},afterRender:function(){Longana.view.ViewCardPanel.superclass.afterRender.apply(this);Ext.getCmp(this.id+"-view-menu").setText("<span style='font-weight:bold'>"+this.items.first().initialConfig.title+"</span>");var btn=Ext.getCmp(this.id+"-view-menu").getEl().child("button");btn.setStyle({backgroundImage:"url('"+this.items.first().initialConfig.menuIcon+"')"});},setActivePanel:function(item){var view=Ext.getCmp((typeof item=="string")?item:item.id);if(view.id==this.getLayout().activeItem.getId()){return;}Ext.getCmp(this.id+"-view-menu").setText("<span style='font-weight:bold'>"+view.title+"</span>");var btn=Ext.getCmp(this.id+"-view-menu").getEl().child("button");btn.setStyle({backgroundImage:"url('"+view.menuIcon+"')"});this.getTopToolbar().items.each(function(tbitem){if(tbitem.id!=this.getId()+"-view-menu"){tbitem.hide();}},this);if(view.rendered){if(view.getXType()=="longana-viewpanel"&&!view.useOwnToolbar){view.addToolbarItems();}}this.getLayout().setActiveItem(view.id);},getActivePanel:function(){return this.getLayout().activeItem;}});Ext.reg("longana-viewcardpanel",Longana.view.ViewCardPanel);
Longana.view.CategoryReader=function(view){this.design=view.design;this.view=view;fields=[{name:"position"},{name:"noteid"},{name:"children"},{name:"descendants"},{name:"siblings"},{name:"category"},{name:"date"}];var recordDesign=Ext.data.Record.create(fields);Longana.view.CategoryReader.superclass.constructor.call(this,{},recordDesign);};Ext.extend(Longana.view.CategoryReader,Ext.data.JsonReader,{read:function(r){var data=Longana.decode(r.responseText);return this.readRecords(data);},readRecords:function(data){var formatter=new Longana.view.Formatter(this.design);this.jsonData=data;var Record=this.recordType;var fields=Record.prototype.fields;var totalRecords=data["@rangeentries"]||data["@toplevelentries"];if(!totalRecords||totalRecords=="0"){return{success:false,records:[],totalRecords:totalRecords};}var root=data.viewentry;var success=true;var records=[];Ext.each(root,function(rec){var values={};var id=rec["@noteid"];values.position=rec["@position"];values.noteid=rec["@noteid"];values.children=rec["@children"];values.descendants=rec["@descendants"];values.siblings=rec["@siblings"];if(this.view.dateCategory){var d=Date.parseDate(rec.entrydata[0].text["0"],this.view.dateCategory.viewFormat);values.date=d;values.category=rec.entrydata[0].text["0"];values.text=d.format(this.view.dateCategory.displayFormat);}else if(rec.entrydata[0].text["0"]===""){values.text="(Not Categorized)";values.category="\\";}else{values.text=formatter.formatColumn(rec.entrydata[0]);values.category=values.text;}records.push(new Record(values,id));},this);return{success:success,records:records,totalRecords:totalRecords};}});
Longana.view.Design=function(config){var conf=Ext.applyIf(config,{columnConfig:{}});Ext.apply(this,conf);this.addEvents({"designload":true});Longana.view.Design.superclass.constructor.call(this);this.loadDesign();};Ext.extend(Longana.view.Design,Ext.util.Observable,{loadDesign:function(){Ext.Ajax.request({url:this.dbPath+"/"+this.viewName+"?ReadDesign&OutputFormat=JSON",scope:this,success:function(r){this.dominoDesign=Longana.decode(r.responseText);var d=this.dominoDesign;this.categoryCount=0;if(d["@altrowcolor"]){this.altRowColor=d["@altrowcolor"];}if(this.colorColumn&&typeof this.colorColumn=="number"){this.colorColumn=Longana.fieldName(d.column[this.colorColumn]["@name"]);}this.wrap=(d["@rowlines"]&&(d["@rowlines"]-0>1))||this.wrap;this.spacing=0;if(d["@spacing"]){this.spacing=d["@spacing"]*2;}this.totalsColor=d["@totalscolor"];this.columns=[];this.columnsObj={};var i=-1;Ext.each(d.column,function(col){i++;var colConfig=this.columnConfig[""+i]||this.columnConfig[Longana.fieldName(col["@name"])];var visible=true;var colName=Longana.fieldName(col["@name"]);if((!this.autoExpandColumn||(typeof this.autoExpandColumn=="number"))&&(col["@extendcolwidth"]=="true"||this.autoExpandColumn==i)){this.autoExpandColumn=colName;}if(col["@sortcategorize"]&&col["@sortcategorize"]=="true"){this.categoryCount++;visible=false;}if(this.colorColumn==Longana.fieldName(col["@name"])){visible=false;}var sortasc=(col["@resortdescending"]&&col["@resortdescending"]=="true");var sortdsc=(col["@resortascending"]&&col["@resortascending"]=="true");var sortable=false;if(sortasc&&sortdsc){sortable="both";}else if(sortasc){sortable="asc";}else if(sortdsc){sortable="dsc";}var sep=", ";switch(col["@listseparator"]){case"newline":sep="<br />";break;case"semicolon":sep="; ";break;case"space":sep=" ";break;}var align="left";if(col["@align"]){switch(col["@align"]){case"1":align="right";break;case"2":align="center";break;}}var cstyle="font-family:"+((col.cfont["@face"]=="Helvetica")?"Arial":col.cfont["@face"])+"; "+"color:"+col.cfont["@color"]+"; "+"font-size:"+(col.cfont["@size"]-0+2)+"px";if(col.cfont["@style"].match(/b/)){cstyle+="; font-weight:bold";}if(col.cfont["@style"].match(/i/)){cstyle+="; font-style:italic";}if(this.wrap){}cstyle+=";";var hstyle="font-family:"+((col.hfont["@face"]=="Helvetica")?"Arial":col.hfont["@face"])+"; "+"color:"+col.hfont["@color"]+"; "+"font-size:"+(col.hfont["@size"]-0+2)+"px";if(col.hfont["@style"].match(/b/)){hstyle+="; font-weight:bold";}if(col.hfont["@style"].match(/i/)){hstyle+="; font-style:italic";}var title="<span style='"+hstyle+";'>"+col["@title"]+"</span>";var cnf=col.numberformat;var fix=function(inp){return((inp-0).toFixed(cnf["@digits"]));};var isFixed=(cnf["@format"]=="fixed");var isPunctuated=(cnf["@punctuated"]&&cnf["@punctuated"]=="true");var isParens=(cnf["@parens"]&&cnf["@parens"]=="true");var self=this;var nf;if(cnf["@percent"]&&cnf["@percent"]=="true"){nf=function(inp){var isNeg=false;if(inp<0){isNeg=true;inp=Math.abs(inp);}var n=inp*100;if(isFixed){n=fix(n);}n=(isPunctuated)?Longana.number.punctuate(n):n;if(isNeg){if(isParens){return"("+n+"%)";}else{return"-"+n+"%";}}return n+"%";};}else if(cnf["@bytes"]=="true"){nf=function(inp){var isNeg=false;if(inp<0){isNeg=true;inp=Math.abs(inp);}if(inp===0){return"0K";}var r;if(inp/1024<1024){r=Math.round(inp/1024);if(r===0){r=1;}r=(isPunctuated)?Longana.number.punctuate(r):r;if(isNeg){if(isParens){return"("+r+"K)";}else{return"-"+r+"K";}}return r+"K";}if(inp/1024/1024<1024){r=Math.round(inp/1024/1024*10)/10;if(r===0){r=1;}r=(isPunctuated)?Longana.number.punctuate(r.toFixed(1)):r.toFixed(1);if(isNeg){if(isParens){return"("+r+"M)";}else{return"-"+r+"M";}}return r+"M";}if(inp/1024/1024/1024<1024){r=Math.round(inp/1024/1024/1024*10)/10;if(r===0){r=1;}r=(isPunctuated)?Longana.number.punctuate(r.toFixed(1)):r.toFixed(1);if(isNeg){if(isParens){return"("+r+"G)";}else{return"-"+r+"G";}}return r+"G";}r=Math.round(inp/1024/1024/1024/1024*10)/10;if(r===0){r=1;}r=(isPunctuated)?Longana.number.punctuate(r.toFixed(1)):r.toFixed(1);if(isNeg){if(isParens){return"("+r+"T)";}else{return"-"+r+"T";}}return r+"T";};}else if(cnf["@format"]=="scientific"){nf=function(inp){var isNeg=false;if(inp<0){isNeg=true;inp=Math.abs(inp);}var i=inp*100;i=i.toString().split(".")[0];var val=(i/(Math.pow(10,i.length-2)));val=fix(val/10);var exp="E+"+String.leftPad(i.length-3,2,"0");if(isNeg){if(isParens){return"("+val+exp+")";}else{return"-"+val+exp;}}return val+exp;};}else if(cnf["@format"]=="currency"){nf=function(inp){var isNeg=false;if(inp<0){isNeg=true;inp=Math.abs(inp);}inp=(isPunctuated)?Longana.number.punctuate(fix(inp)):fix(inp);var cc=colConfig||{};var cur=(cc.currency||self.currency||"$");if(isNeg){if(isParens){return"("+cur+inp+")";}else{return cur+"-"+inp;}}return cur+inp;};}else{nf=function(inp){var isNeg=false;if(inp<0){isNeg=true;inp=Math.abs(inp);}inp=(isPunctuated)?Longana.number.punctuate(inp):inp;inp=(cnf["@varying"]&&cnf["@varying"]=="true")?inp:fix(inp);if(isNeg){if(isParens){return"("+inp+")";}else{return"-"+inp;}}return inp;};}var df;if(colConfig&&colConfig.dateFormat){df=function(d){return d.format(colConfig.dateFormat);};}else if(this.dateFormat){var v=this;df=function(d){return d.format(v.dateFormat);};}else{switch(col.datetimeformat["@show"]){case"time":df=function(d){return d.format("g:i a");};break;case"date":df=function(d){return d.format("M j, Y");};break;case"datetime":df=function(d){return d.format("M j, Y,  g:i a");};break;}}if(this.dataColumn){if((i+1)==d.column.length){this.dataColumn=colName;visible=false;}}if(this.hideColumn){if(!Ext.isArray(this.hideColumn)){this.hideColumn=[this.hideColumn];}if(this.hideColumn.indexOf(i)>-1){visible=false;}}var c={width:col["@width"],index:i,name:colName,title:title,titleText:col["@title"],categorized:(col["@sortcategorize"]&&col["@sortcategorize"]=="true")?true:false,sorted:(col["@sort"]&&col["@sort"]=="true")?true:false,sortable:sortable,resizable:(col["@resize"]&&col["@resize"]=="true")?true:false,separator:sep,icon:(col["@icon"]&&col["@icon"]=="true")?true:false,align:align,response:(col["@response"]&&col["@response"]=="true")?true:false,twistie:(col["@twistie"]&&col["@twistie"]=="true")?true:false,twistieImage:(col["@twistieimage"])?col["@twistieimage"]:false,totals:(col["@totals"]&&col["@totals"]=="true")?true:false,css:cstyle,numberFormatter:nf,dateFormatter:df,visible:visible};this.columns.push(c);this.columnsObj[colName]=c;},this);if(!this.autoExpandColumn&&d["@extendlastcolumn"]!="false"){for(var colInd=this.columns.length-1;colInd>=0;colInd--){var c=this.columns[colInd];if(c.visible){this.autoExpandColumn=c.name;break;}}}this.fireEvent("designload",this);}});}});
Longana.view.Formatter=function(design){this.design=design;return{formatColumn:function(item){var col=design.columnsObj[Longana.fieldName(item["@name"])];if(item.text){return item.text["0"];}if(item.number){if(col.icon){if(item.number[0]=="0"){return"<img src='/icons/ecblank.gif' style='height:12px'>";}else{return"<img src='/icons/vwicn"+(String.leftPad(item.number[0],3,'0'))+".gif'>";}}else{return col.numberFormatter(item.number[0]);}}if(item.textlist||item.numberlist){var t=(item.textlist)?item.textlist.text:item.numberlist.number;var val=[];Ext.each(t,function(txt){val.push(txt["0"]);});return val.join(col.separator);}if(item.datetime){var dtext;var dt=item.datetime[0];if(dt.indexOf("T")!==0){var y=dt.substring(0,4);var m=dt.substring(4,6);var d=dt.substring(6,8);var h=dt.substring(9,11);var min=dt.substring(11,13);var s=dt.substring(13,15);dtext=((m)?(m+"/"+d+"/"+y):"")+" ";dtext+=(h)?(h+":"+min+":"+s):"";}else{var th=dt.substring(1,3);var tmin=dt.substring(3,5);var ts=dt.substring(5,7);dtext="1/1/1899 "+th+":"+tmin+":"+ts;}var jsdt=new Date(dtext.trim());return col.dateFormatter(jsdt);}}};};
Longana.view.Grid=function(view){this.longanaView=view;var selModelConfig={singleSelect:view.singleSelect};if(view.selectMultipleEntries&&!view.singleSelect){Ext.apply(selModelConfig,{listeners:{scope:this,rowselect:function(sm,ind,r){this.selectMultipleEntries(sm,r);},rowdeselect:function(sm,ind,r){this.deselectMultipleEntries(sm,r);}}});}var selModel=(view.showCheckboxes)?new Ext.grid.CheckboxSelectionModel(selModelConfig):new Ext.grid.RowSelectionModel(selModelConfig);var columns=[];if(view.showCheckboxes){columns.push(selModel);}if(view.showRowNumberer){columns.push(new Ext.grid.PagedRowNumberer(view));}var rend=function(val,cell,row,rowIndex,colIndex,store){if(view.middle){cell.css="view-align-middle";}if(view.design.wrap){return String.format('<div width="100%" nowrap="false" style="white-space:normal; margin:0px">{0}</div>',val);}else{return val;}};Ext.each(view.design.columns,function(col){if(col.visible){var colConf={dataIndex:col.name,id:col.name,header:col.title,width:parseInt(col.width,10),align:col.align,sortable:col.sortable,resizable:col.resizable,menuDisabled:!col.sortable,css:col.css,renderer:rend};if(view.groupingView&&!this.groupCol){this.groupCol=col;colConf.renderer=false;}columns.push(colConf);}},this);var colModel=new Ext.grid.ColumnModel(columns);var loadMask=false;if(view.hideLoadMask!==true){loadMask={msg:"Loading "+(view.initialConfig.title||view.title),msgClass:"x-mask-loading"};}var viewConfig=Ext.apply({},view.viewConfig);if(view.design.colorColumn){view.cssClasses={};view.rowStyleID="";view.rowStyles="";viewConfig.getRowClass=function(row,index){var val=row.data[view.design.colorColumn];if(val===""){return("x-grid3-row-"+(index%2===0)?"":"alt");}var cls=view.id+"-color-"+val.replace(/\#/g,"");if(!view.cssClasses[val]){view.cssClasses[val]=true;view.rowStyles+="."+cls+"{background:"+val+" !important}";}return cls;};view.store.on("beforeload",function(){view.rowStyles="";view.cssClasses={};},this);view.store.on("load",function(){Ext.util.CSS.removeStyleSheet(view.rowStyleID);view.rowStyleID=Ext.id();Ext.util.CSS.createStyleSheet(view.rowStyles,view.rowStyleID);},this);}var gridview=(view.groupingView)?(new Longana.view.GroupingView({groupTextTpl:(view.groupingView.groupTextTpl)?view.groupingView.groupTextTpl:'{text} ({[values.rs.length]} {[values.rs.length > 1 ? "Items" : "Item"]})',showGroupName:false,hideGroupedColumn:true,startCollapsed:(view.groupingView.startCollapsed!==false),enableGroupingMenu:false,grid:this})):(new Ext.grid.GridView({}));gridview=Ext.apply(gridview,view.viewConfig);var config={id:view.id+"-grid",border:false,colModel:colModel,selModel:(view.disableSelection===true)?undefined:selModel,store:view.store,loadMask:loadMask,plugins:view.gridPlugins,view:gridview,bbar:(view.hidePaging)?null:new Longana.view.PagingToolbar({view:view}),disableSelection:view.disableSelection,autoExpandColumn:view.design.autoExpandColumn,autoHeight:view.autoHeight,enableDragDrop:view.enableDragDrop,enableColumnMove:view.enableColumnMove,enableHdMenu:view.enableHdMenu,hideHeaders:view.hideColumnHeaders,stripeRows:view.design.altRowColor,trackMouseOver:((view.trackMouseOver===false)?false:true),listeners:{scope:this,rowdblclick:function(grid,rowIndex,ev){this.clickHandler("rowdblclick",grid,rowIndex,ev);},rowclick:function(grid,rowIndex,ev){this.clickHandler("rowclick",grid,rowIndex,ev);},keypress:function(ev){view.fireEvent("keypress",ev);}}};Longana.view.Grid.superclass.constructor.call(this,config);var css="";if(view.trackMouseOver!==false){if(typeof view.trackMouseOver=="string"){css+="#"+this.id+" .x-grid3-row-over{"+view.trackMouseOver+"}";}else{var r=Ext.util.CSS.getRule(".x-grid3-row-over",true);css+="#"+this.id+" .x-grid3-row-over{background:"+r.style.background+" !important;}";}}if(view.rowColor){css+="#"+this.id+" .x-grid3-row {background-color:"+view.rowColor+";}";}if(view.altRowColor||view.design.altRowColor){css+="#"+this.id+" .x-grid3-row-alt {background-color:"+(view.altRowColor||view.design.altRowColor)+";}";}if(view.design.wrap){css+="#"+this.id+" .x-grid3-cell-inner {white-space:normal;}";}if(view.selectedRowStyle){css+="#"+this.id+" .x-grid3-row-selected {"+view.selectedRowStyle+";}";}else{var sr=Ext.util.CSS.getRule(".x-grid3-row-selected");css+="#"+this.id+" .x-grid3-row-selected{background:"+sr.style.background+" !important;}";}if(view.showRowNumberer){css+="#"+this.id+" .x-grid3-body .x-grid3-td-numberer {background-color:#F9F9F9 !important;}";}Ext.util.CSS.createStyleSheet(css);};Ext.extend(Longana.view.Grid,Ext.grid.GridPanel,{afterRender:function(){Longana.view.Grid.superclass.afterRender.apply(this);if(this.longanaView.hideColumnHeaders){var gridHead=this.getGridEl().child('div[class=x-grid3-header]');gridHead.setStyle('display','none');}this.getView().applyEmptyText();this.getView().layout();var layoutOwner=function(p){if(p.ownerCt&&p.ownerCt.doLayout){p.ownerCt.doLayout();layoutOwner(p.ownerCt);}};layoutOwner(this);if(this.longanaView.enableDragDrop){var ddrow=new Ext.ux.dd.GridReorderDropTarget(this,{copy:false,listeners:{scope:this,beforerowmove:function(objThis,oldIndex,newIndex,records){},afterrowmove:function(objThis,oldIndex,newIndex,records){var low=Math.min(newIndex,oldIndex);var high=Math.max(newIndex,oldIndex);this.longanaView.updateSortOrder(oldIndex,newIndex);}}});Ext.dd.ScrollManager.register(this.getView().getEditorParent());}},clickHandler:function(type,grid,rowIndex,ev){var view=this.longanaView;var rec=view.store.getAt(rowIndex);var colsInd=[];var cols={};Ext.each(view.design.columns,function(col){var v=rec.get(col.name);colsInd.push(v);cols[col.name]=v;});var column=function(ind){if(typeof ind=="number"){return colsInd[ind];}else{return cols[ind];}};var obj={unid:rec.get("unid"),rec:rec,column:column,view:view};if(view.design.dataColumn){obj.data=Ext.decode(column(view.design.dataColumn));}view.fireEvent(type,obj);},selectMultipleEntries:function(sm,r){var unid=r.get("unid");this.store.each(function(row){if(row.get("unid")==unid&&r.id!=row.id){sm.suspendEvents();sm.selectRecords([row],true);sm.resumeEvents();}});},deselectMultipleEntries:function(sm,r){var unid=r.get("unid");var i=0;this.store.each(function(row){if(row.get("unid")==unid&&r.id!=row.id){sm.suspendEvents();sm.deselectRow(i);sm.resumeEvents();}i++;});}});Ext.reg("l-viewgrid",Longana.view.Grid);Longana.view.GroupingView=function(conf){Longana.view.GroupingView.superclass.constructor.call(this,conf);};Ext.extend(Longana.view.GroupingView,Ext.grid.GroupingView,{initTemplates:function(){Longana.view.GroupingView.superclass.initTemplates.call(this);this.state={};var sm=this.grid.getSelectionModel();sm.on(sm.selectRow?'beforerowselect':'beforecellselect',this.onBeforeRowSelect,this);if(!this.startGroup){this.startGroup=new Ext.XTemplate('<div id="{groupId}" class="x-grid-group {cls}">','<div id="{groupId}-hd" class="x-grid-group-hd" style="{style}">',this.groupTextTpl,'</div>','<div id="{groupId}-bd" class="x-grid-group-body">');}this.startGroup.compile();this.endGroup='</div></div>';}});Ext.grid.PagedRowNumberer=function(view){var config={};if(view.showRowNumberer!==true){config.width=view.showRowNumberer*11;}Ext.apply(this,config);if(this.rowspan){this.renderer=this.renderer.createDelegate(this);}};Ext.grid.PagedRowNumberer.prototype={header:"",width:40,sortable:false,fixed:false,hideable:false,dataIndex:'',id:'numberer',rowspan:undefined,renderer:function(v,p,record,rowIndex,colIndex,store){p.css="x-paged-row-numberer";if(this.rowspan){p.cellAttr+=' rowspan="'+this.rowspan+'"';}var i=(store.lastOptions.params&&store.lastOptions.params.start)?(store.lastOptions.params.start):1;if(isNaN(i)||store.view.keywordSearch.isActive){i=1;}return(i+rowIndex).toFixed(0).toLocaleString();}};Ext.namespace('Ext.ux.dd');Ext.ux.dd.GridReorderDropTarget=function(grid,config){this.target=new Ext.dd.DropTarget(grid.getEl(),{ddGroup:grid.ddGroup||'GridDD',grid:grid,gridDropTarget:this,notifyDrop:function(dd,e,data){if(this.currentRowEl){this.currentRowEl.removeClass("grid-row-insert-below");this.currentRowEl.removeClass("grid-row-insert-above");}var t=Ext.lib.Event.getTarget(e);var rindex=this.grid.getView().findRowIndex(t);if(rindex===false||rindex==data.rowIndex){return false;}var ds=this.grid.getStore();var selections=[];var keys=ds.data.keys;for(key in keys){for(i=0;i<data.selections.length;i++){if(keys[key]==data.selections[i].id){if(rindex==key){return false;}selections.push(data.selections[i]);}}}if(rindex>data.rowIndex&&this.rowPosition<0){rindex--;}if(rindex<data.rowIndex&&this.rowPosition>0){rindex++;}if(rindex>data.rowIndex&&data.selections.length>1){rindex=rindex-(data.selections.length-1);}if(rindex==data.rowIndex){return false;}if(this.gridDropTarget.fireEvent(this.copy?'beforerowcopy':'beforerowmove',this.gridDropTarget,data.rowIndex,rindex,data.selections,123)===false){return false;}if(!this.copy){for(i=0;i<data.selections.length;i++){ds.remove(ds.getById(data.selections[i].id));}}for(i=selections.length-1;i>=0;i--){var insertIndex=rindex;ds.insert(insertIndex,selections[i]);}sm=this.grid.getSelectionModel();if(sm){sm.selectRecords(data.selections);}this.gridDropTarget.fireEvent(this.copy?'afterrowcopy':'afterrowmove',this.gridDropTarget,data.rowIndex,rindex,data.selections);return true;},notifyOver:function(dd,e,data){var t=Ext.lib.Event.getTarget(e);var rindex=this.grid.getView().findRowIndex(t);var ds=this.grid.getStore();var keys=ds.data.keys;for(var key in keys){for(var i=0;i<data.selections.length;i++){if(keys[key]==data.selections[i].id){if(rindex==key){if(this.currentRowEl){this.currentRowEl.removeClass('grid-row-insert-below');this.currentRowEl.removeClass('grid-row-insert-above');}return this.dropNotAllowed;}}}}if(rindex<0||rindex===false){this.currentRowEl.removeClass('grid-row-insert-above');return this.dropNotAllowed;}try{var currentRow=this.grid.getView().getRow(rindex);var resolvedRow=new Ext.Element(currentRow).getY()-this.grid.getView().scroller.dom.scrollTop;var rowHeight=currentRow.offsetHeight;this.rowPosition=e.getPageY()-resolvedRow-(rowHeight/2);if(this.currentRowEl){this.currentRowEl.removeClass('grid-row-insert-below');this.currentRowEl.removeClass('grid-row-insert-above');}if(this.rowPosition>0){this.currentRowEl=new Ext.Element(currentRow);this.currentRowEl.addClass('grid-row-insert-below');}else{if(rindex-1>=0){var previousRow=this.grid.getView().getRow(rindex-1);this.currentRowEl=new Ext.Element(previousRow);this.currentRowEl.addClass('grid-row-insert-below');}else{this.currentRowEl.addClass('grid-row-insert-above');}}}catch(err){rindex=false;}return(rindex===false)?this.dropNotAllowed:this.dropAllowed;},notifyOut:function(dd,e,data){if(this.currentRowEl){this.currentRowEl.removeClass('grid-row-insert-above');this.currentRowEl.removeClass('grid-row-insert-below');}}});if(config){Ext.apply(this.target,config);if(config.listeners){Ext.apply(this,{listeners:config.listeners});}}this.addEvents({'beforerowmove':true,'afterrowmove':true,'beforerowcopy':true,'afterrowcopy':true});Ext.ux.dd.GridReorderDropTarget.superclass.constructor.call(this);};Ext.extend(Ext.ux.dd.GridReorderDropTarget,Ext.util.Observable,{getTarget:function(){return this.target;},getGrid:function(){return this.target.grid;},getCopy:function(){return this.target.copy?true:false;},setCopy:function(b){this.target.copy=b?true:false;}});
Longana.view.PagingToolbar=Ext.extend(Ext.PagingToolbar,{paramNames:{start:'start',limit:'count'},initComponent:function(){this.pageSize=this.view.pageSize;this.store=this.view.store;if(this.view.displayInfo!==false){this.displayInfo=true;if(this.view.displayMsg){this.displayMsg=this.view.displayMsg;}if(this.view.emptyMsg){this.emptyMsg=this.view.emptyMsg;}}this.addEvents('change','beforechange');Ext.PagingToolbar.superclass.initComponent.call(this);this.cursor=0;this.bind(this.store);},updateInfo:function(){if(this.displayEl){var count=this.store.getCount();var msg;if(this.view.keywordSearch&&this.view.keywordSearch.isActive){msg=count+" Search Result"+((count==1)?"":"s")+" for "+this.view.keywordSearchBox.getValue();}else{msg=(count===0)?this.emptyMsg:String.format(this.displayMsg,this.cursor,this.cursor+count-1,this.store.getTotalCount());}this.displayEl.update(msg);}},getPageData:function(){var total=this.store.getTotalCount();var table=Ext.query("table",this.getEl().dom);if((this.view.keywordSearch&&this.view.keywordSearch.isActive)||this.view.startKey){Ext.get(table[0]).hide();return{total:1,activePage:1,pages:1};}else{Ext.get(table[0]).show();return{total:total,activePage:Math.ceil(((this.cursor-1)+this.pageSize)/this.pageSize),pages:total<this.pageSize?1:Math.ceil(total/this.pageSize)};}},onClick:function(which){var store=this.store;switch(which){case"first":this.doLoad(1);break;case"prev":this.doLoad(Math.max(1,this.cursor-this.pageSize));break;case"next":this.doLoad(this.cursor+this.pageSize);break;case"last":var total=store.getTotalCount();var extra=total%this.pageSize;var lastStart=extra?(total-extra):total-this.pageSize;this.doLoad(lastStart+1);break;case"refresh":this.doLoad(this.cursor);break;}},onPagingKeydown:function(e){var k=e.getKey(),d=this.getPageData(),pageNum;if(k==e.RETURN){e.stopEvent();pageNum=this.readPage(d);if(pageNum!==false){pageNum=Math.min(Math.max(1,pageNum),d.pages)-1;this.doLoad(pageNum*this.pageSize+1);}}}});
Longana.view.Reader=function(design){this.design=design;var fields=[];Ext.each(design.columns,function(col){fields.push({name:col.name});});fields.push({name:"position"},{name:"noteid"},{name:"unid"},{name:"siblings"});var recordDesign=Ext.data.Record.create(fields);Longana.view.Reader.superclass.constructor.call(this,{},recordDesign);};Ext.extend(Longana.view.Reader,Ext.data.JsonReader,{read:function(r){var data=Longana.decode(r.responseText);return this.readRecords(data);},readRecords:function(data){var formatter=new Longana.view.Formatter(this.design);this.jsonData=data;var Record=this.recordType;var fields=Record.prototype.fields;var totalRecords=data["@rangeentries"]||data["@toplevelentries"];if(!totalRecords||totalRecords=="0"){return{success:false,records:[],totalRecords:totalRecords};}var root=data.viewentry;var success=true;var records=[];Ext.each(root,function(rec){var values={};var id=rec["@unid"]+Math.random();values.position=rec["@position"];values.noteid=rec["@noteid"];values.unid=rec["@unid"];values.siblings=rec["@siblings"];Ext.each(rec.entrydata,function(item){values[Longana.fieldName(item["@name"])]=formatter.formatColumn(item);},this);records.push(new Record(values,id));},this);return{success:success,records:records,totalRecords:totalRecords};}});
Longana.view.Store=function(view,conf){this.columns=view.design.columnsObj;this.view=view;if(view.groupingView){this.groupField=Longana.fieldName(view.design.columns[view.design.categoryCount].name);}conf.listeners={beforeload:function(ds,opts){view.fireEvent("beforeload",view,ds,opts);},load:function(ds,recs,opts){if(view.keywordSearch&&!view.lastKeyword&&view.design.categoryCount===0){view.loadLastKeyword();}view.fireEvent("load",view,ds,recs,opts);}};Longana.view.Store.superclass.constructor.call(this,conf);};Ext.extend(Longana.view.Store,Ext.data.GroupingStore,{remoteSort:this.remoteSort,remoteGroup:true,paramNames:{"start":"start","limit":"count"},load:function(options){options=options||{};if(this.fireEvent("beforeload",this,options)!==false){this.storeOptions(options);var p=Ext.apply(options.params||{},this.baseParams);if(this.sortInfo&&this.remoteSort){var si=this.sortInfo;if(si.direction=="ASC"){p.ResortAscending=this.columns[si.field].index;p.ResortDescending=null;}else{p.ResortAscending=null;p.ResortDescending=this.columns[si.field].index;}}this.proxy.load(p,this.reader,this.loadRecords,this,options);return true;}else{return false;}},applySort:function(){Ext.data.GroupingStore.superclass.applySort.call(this);if(!this.groupOnSort&&!this.remoteGroup){var gs=this.getGroupState();var si=this.sortInfo||{};if(gs&&gs!=si.field){this.sortData(this.groupField);}}}});


// form
Longana.form.CheckboxGroup=Ext.extend(Ext.form.CheckboxGroup,{defaultType:'longana-checkbox',initComponent:function(){this.addEvents({"check":true});if(!this.delimiter){this.delimiter=";";}var groupItems=[];Ext.each(this.items,function(item){var groupItem=Ext.apply(item,{group:this,name:null});groupItems.push(groupItem);},this);this.items=groupItems;Longana.form.CheckboxGroup.superclass.initComponent.call(this);},onRender:function(ct,position){Longana.form.CheckboxGroup.superclass.onRender.call(this,ct,position);this.inputField=new Ext.form.Hidden({name:this.name});this.panel.add(this.inputField);this.panel.doLayout();},initValue:function(){this.originalValue=this.getValue();},reset:function(){this.setValue(this.originalValue);this.clearInvalid();},getValue:function(){var vals=[];this.items.each(function(item){if(item.getValue()){vals.push(item.inputValue);}});return(vals.join(this.delimiter));},setValue:function(vals){vals=vals||[];if(!Ext.isArray(vals)){var arr=[];Ext.each(vals.split(this.delimiter),function(val){arr.push(val.trim());},this);vals=arr;}this.items.each(function(item){item.setValue((vals.indexOf(item.inputValue)>-1));});},getName:function(){return this.name;},updateValue:function(){this.inputField.setValue(this.getValue());},onCheck:function(cb){this.fireEvent("check",this,cb,cb.inputValue,cb.checked,this.getValue());}});Ext.reg("longana-checkboxgroup",Longana.form.CheckboxGroup);Longana.form.Checkbox=Ext.extend(Ext.form.Checkbox,{initComponent:function(){Longana.form.Checkbox.superclass.initComponent.call(this);if(this.group){this.on("check",function(cb,val){this.group.updateValue();this.group.onCheck(this);});}}});Ext.reg("longana-checkbox",Longana.form.Checkbox);
Longana.form.RadioGroup=Ext.extend(Ext.form.RadioGroup,{defaultType:'longana-radio',initComponent:function(){this.addEvents({check:true});var groupItems=[];Ext.each(this.items,function(item){var groupItem=Ext.apply(item,{group:this,name:this.getName()+"-radioitem"});groupItems.push(groupItem);},this);this.items=groupItems;Longana.form.RadioGroup.superclass.initComponent.call(this);},onRender:function(ct,position){Longana.form.RadioGroup.superclass.onRender.call(this,ct,position);this.inputField=new Ext.form.Hidden({name:this.name});this.panel.add(this.inputField);this.panel.doLayout();},initValue:function(){this.originalValue=this.getValue();},getValue:function(){var val;this.items.each(function(item){if(item.getValue()){val=item.inputValue;}});return val;},setValue:function(val){val=val||"";this.items.each(function(item){item.setValue(item.inputValue==val);});},getName:function(){return this.name;},updateValue:function(){this.inputField.setValue(this.getValue());},onCheck:function(rb){this.fireEvent("check",this,this.getValue(),this.oldValue,rb);}});Ext.reg("longana-radiogroup",Longana.form.RadioGroup);Longana.form.Radio=Ext.extend(Ext.form.Radio,{initComponent:function(){Longana.form.Radio.superclass.initComponent.call(this);if(this.group){this.on("check",function(){if(!this.getValue()){this.group.oldValue=this.inputValue;}this.group.updateValue();if(this.getValue()){this.group.onCheck(this);this.group.oldValue="";}},this);}}});Ext.reg("longana-radio",Longana.form.Radio);
Longana.form.FormPanel=Ext.extend(Ext.FormPanel,{params:{},initComponent:function(){Longana.form.FormPanel.superclass.initComponent.call(this);this.addEvents({beforesave:true,save:true,beforeload:true,load:true,beforereset:true,reset:true});},afterRender:function(){Longana.form.FormPanel.superclass.afterRender.call(this);if(this.bindToView){if(!Ext.isArray(this.bindToView)){this.bindToView=[this.bindToView];}Ext.each(this.bindToView,function(v){if(typeof v=="string"){v=Ext.getCmp(v);}if(v.getXType()=="longana-viewpanel"){this.initViewBindings(v);}else{v.items.each(function(vp){if(vp.getXType()=="longana-viewpanel"){this.initViewBindings(vp);}},this);}},this);}if(this.introPanel){var ip;ip=new Ext.Panel({html:this.introPanel.html,renderTo:this.getEl(),style:"background-color:#fff; position:absolute; top:0; left:0",bodyStyle:this.introPanel.bodyStyle||"padding:25px; font-size:24px; font-family:Arial; color:#888; font-weight:bold; line-height:1.4em",shadow:false,border:false});this.on("resize",function(){ip.setSize(this.getSize().width,this.getSize().height);},this);ip.setSize(this.getSize().width,this.getSize().height);ip.show();var ipo=this.introPanel.opacity;if(ipo){ip.getEl().setOpacity((ipo===true)?0.8:ipo);}this.introPanel=ip;}this.status=(this.introPanel)?"intro":"new";if(this.uploadFields||this.useUploadFields){this.getUploadFields.defer(1,this);}},initViewBindings:function(v){v.on(this.bindToViewListener||"rowdblclick",function(r){this.load(r.unid);},this);this.on("save",function(){v.reload();});},initFields:function(){var f=this.form;var formPanel=this;var uf=[];var fn=function(c){if(c.isFormField){if(c.getXType()=="longana-fileuploadfield"){uf.push(c);}f.add(c);}else if(c.doLayout&&c!=formPanel){Ext.applyIf(c,{labelAlign:c.ownerCt.labelAlign,labelWidth:c.ownerCt.labelWidth,itemCls:c.ownerCt.itemCls});}if(c.items){c.items.each(fn);}};this.items.each(fn);if(uf.length>0){this.uploadFields=uf;}},onAdd:function(ct,c){if(c.isFormField){c.on("render",function(){if(c.getXType()=="longana-fileuploadfield"){this.uploadFields=this.uploadFields||[];this.uploadFields.push(c);}if(this.uploadFieldNames.length>0){c.addUploadControl(this.uploadFieldNames[0]);this.uploadFieldNames.remove(this.uploadFieldNames[0]);}else{c.addUploadControl();}},this);this.form.add(c);}},getUploadFields:function(){this.body.mask("Initializing","x-mask-loading");Ext.Ajax.request({url:this.dbPath||Longana.Session.getDBPath()+"/"+this.formName+"?OpenForm",scope:this,success:function(r){var inputs=r.responseText.match(/<input type="file" name="(%%File\.[^"]+)/g);this.uploadFieldNames=[];Ext.each(inputs,function(input){this.uploadFieldNames.push(input.replace(/<input type="file" name="/g,""));},this);if(this.uploadFields){Ext.each(this.uploadFields,function(fld){if(this.uploadFieldNames.length>0){fld.addUploadControl(this.uploadFieldNames[0]);this.uploadFieldNames.remove(this.uploadFieldNames[0]);}else{fld.addUploadControl();}},this);}this.body.unmask();}});},setParam:function(param){this.params=Ext.apply(this.params,param);},createDocument:function(conf){if(this.introPanel){this.introPanel.getEl().fadeOut({useDisplay:true});}this.cancel(true);if(conf&&conf.values){this.getForm().setValues(conf.values);}},cancel:function(creating){if(this.introPanel&&!creating){this.introPanel.getEl().fadeIn();this.status="intro";}else{this.status="new";}this.doc=null;var fn=function(c){if(c.isFormField){c.setValue(c.initialConfig.value);c.originalValue=c.getValue();}else{if(c.items){c.items.each(fn);}}};this.items.each(fn);},reset:function(){this.fireEvent("beforereset",this);this.getForm().reset();this.fireEvent("reset",this);},save:function(conf){if(this.fireEvent("beforesave",this)===false){return;}this.getEl().mask("Saving","x-mask-loading");var url=this.dbPath||Longana.Session.getDBPath();if(this.doc){url+="/0/"+this.doc.unid+"?SaveDocument";}else{url+="/"+this.formName+"?CreateDocument";}this.doc=this.doc||{};if(conf&&conf.params){Ext.apply(this.params,conf.params);}this.doc.data=Ext.apply(this.getForm().getValues(),this.params);var opts={url:url,method:"POST",params:this.doc.data,scope:this,success:function(r){this.getEl().unmask();this.doc.unid=Longana.decode(r.responseText).unid;var fn=function(c){if(c.isFormField){c.originalValue=c.getValue();}else{if(c.items){c.items.each(fn);}}};this.items.each(fn);this.fireEvent("save",this,this.doc);if(conf&&conf.handler){conf.handler();}}};if(this.uploadFields){opts.isUpload=true;opts.form=this.form.el.dom;}Ext.Ajax.request(opts);},load:function(key){this.fireEvent("beforeload",this);if(this.getEl()){this.getEl().mask("Loading","x-mask-loading");}if(this.status=="intro"&&this.introPanel){this.introPanel.getEl().fadeOut({useDisplay:true});}this.doLayout();var frm=this.getForm();frm.reset();var url=this.dbPath||Longana.Session.getDBPath();url+="/"+((this.loadFromView)?this.loadFromView:"0")+"/"+key+"?OpenDocument";Ext.Ajax.request({method:"GET",url:url,scope:this,success:function(r){this.doc=Longana.decode(r.responseText);for(fld in this.doc.data){var cmp=frm.findField(fld);if(cmp){cmp.setValue(this.loadFormatter(this.doc.data[fld]));if(this.trackResetOnLoad){cmp.originalValue=cmp.getValue();}}}if(this.getEl()){this.getEl().unmask();}this.status="loaded";this.fireEvent("load",this,this.doc);this.doLayout();}});},loadFormatter:function(val){return(!val)?"":val.replace(/&quot;/g,"\"").replace(/&apos;/g,"'");},setStatusDisplay:function(){throw{message:"setStatusDisplay is deprecated and will be removed from Longana Beta"};}});Ext.reg("longana-formpanel",Longana.form.FormPanel);Longana.form.submitFormatter=function(val){return(!val)?"":val.replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/\n/g,"\\n");};
Longana.form.FileUploadField=Ext.extend(Ext.form.TextField,{buttonText:'Browse...',buttonOnly:false,buttonOffset:3,readOnly:true,autoSize:Ext.emptyFn,initComponent:function(){Longana.form.FileUploadField.superclass.initComponent.call(this);this.addEvents('fileselected');},onRender:function(ct,position){Longana.form.FileUploadField.superclass.onRender.call(this,ct,position);this.wrap=this.el.wrap({cls:'x-form-field-wrap x-form-file-wrap'});this.el.addClass('x-form-file-text');this.el.dom.removeAttribute('name');},addUploadControl:function(name){if(!name){this.el.hide();this.wrap.createChild({style:"padding-top:4px; color:#933",html:"Missing Server Upload Fields"});return;}this.fileInput=this.wrap.createChild({id:this.getFileInputId(),name:name,cls:'x-form-file',tag:'input',type:'file',size:1});var btnCfg=Ext.applyIf(this.buttonConfig||{},{text:this.buttonText});var cls="";if(btnCfg.iconCls){cls=(btnCfg.text!=="")?' x-btn-text-icon':' x-btn-icon';}this.button=new Ext.Button(Ext.apply(btnCfg,{renderTo:this.wrap,cls:'x-form-file-btn'+cls}));if(this.buttonOnly){this.el.hide();this.wrap.setWidth(this.button.getEl().getWidth());}this.fileInput.on('change',function(){var v=this.fileInput.dom.value;this.setValue(v);this.fireEvent('fileselected',this,v);},this);if(!this.buttonOnly&&this.button){var w=this.wrap.getWidth()-this.button.getEl().getWidth()-this.buttonOffset;this.el.setWidth(w);}},getFileInputId:function(){return this.id+'-file';},onResize:function(w,h){Longana.form.FileUploadField.superclass.onResize.call(this,w,h);this.wrap.setWidth(w);if(!this.buttonOnly&&this.button){var wid=this.wrap.getWidth()-this.button.getEl().getWidth()-this.buttonOffset;this.el.setWidth(wid);}},preFocus:Ext.emptyFn,getResizeEl:function(){return this.wrap;},getPositionEl:function(){return this.wrap;},alignErrorIcon:function(){this.errorIcon.alignTo(this.wrap,'tl-tr',[2,0]);}});Ext.reg('longana-fileuploadfield',Longana.form.FileUploadField);


// other
Longana.Export=function(){var exportError=function(err){var h="<div style='font-weight:bold; font-family:Arial; padding-top:10px; font-size:13px'>"+"Error Generating File</div><br />"+"<div style='padding-left:45px'>The following error occurred trying to create the file:<br /><br />"+"<span style='font-weight:bold'>"+err+"</span></div>";Ext.MessageBox.show({title:"Export Error",msg:h,icon:Ext.MessageBox.ERROR,buttons:Ext.MessageBox.OK});};var autoLaunch=function(url){var w=window.open(url);if(!w){var h="<div style='font-weight:bold; font-family:Arial; padding-top:10px; font-size:13px'>"+"Your browser has blocked the file from automatically launching.</div><br />"+"<div style='padding-left:45px'><a style='font-weight:bold' target='_blank' href='"+url+"'>"+"Click Here To View The Document That Was Blocked</a><br /><br />"+"<span style='font-style:italic'>To prevent this message in the future, please disable your browser's popup blocker for this site.</span></div>";Ext.MessageBox.show({title:"Popup Blocked",msg:h,icon:Ext.MessageBox.WARNING,buttons:Ext.MessageBox.OK});}};var showLink=function(url,expires){var d=Date.parseDate(expires,"m/d/Y");var h="<div style='font-weight:bold; font-family:Arial; padding-top:10px; font-size:13px'>"+"Your file was successfully exported.</div><br />"+"<div style='padding-left:45px'>The file is located at:<br /><br />"+document.location.protocol+"//"+document.location.host+url+"<br /><br />"+"You may copy this address and send it to users who have been granted access to view the file.  The link above will be available until "+d.format("F j, Y")+"<br /><br />"+"<a style='font-weight:bold' target='_blank' href='"+url+"'>Click Here To View The File Now</a></div>";Ext.MessageBox.show({title:"File Exported",msg:h,icon:Ext.MessageBox.INFO,buttons:Ext.MessageBox.OK});};return{toExcel:function(conf){var maskEl;if(conf.mask!==false){if(!conf.mask||conf.mask===true){maskEl=Ext.getBody();}else if(typeof conf.mask=="string"){maskEl=Ext.getCmp(conf.mask).getEl();}else{maskEl=conf.mask.getEl();}maskEl.mask("Exporting To Excel","x-mask-loading");}var fn=((conf.fileName)?conf.fileName.replace(/.xls/g,""):(new Date()).format("YmdHsu"))+".xls";var params=Ext.apply({dbPath:Longana.Session.getDBPath(),expires:0,fileName:fn,title:conf.viewName,readers:""},conf);Ext.applyIf(conf,{autoLaunch:true});var oldTimeout=Ext.Ajax.timeout;if(conf.timeout){Ext.Ajax.timeout=conf.timeout*1000;}Ext.Ajax.request({url:Longana.proPath+((conf.useJava)?"/agtExportExcelJava?OpenAgent":"/agtExportExcel?OpenAgent"),params:params,success:function(r){if(conf.timeout){Ext.Ajax.timeout=oldTimeout;}var res=Ext.decode(r.responseText);if(maskEl){maskEl.unmask();}if(!res.success){exportError(res.error);return;}if(conf.autoLaunch){autoLaunch(Longana.proPath+"/0/"+res.doc+"/$FILE/"+fn);}else{showLink(Longana.proPath+"/0/"+res.doc+"/$FILE/"+fn,res.expires);}}});}};}();