Ext.lib.Ajax.isCrossDomain=function(b){var a=/(?:(\w*:)\/\/)?([\w\.]*(?::\d*)?)/.exec(b);if(!a[1]){return false}return(a[1]!=location.protocol)||(a[2]!=location.host)};Ext.override(Ext.data.Connection,{request:function(e){if(this.fireEvent("beforerequest",this,e)!==false){var c=e.params;if(typeof c=="function"){c=c.call(e.scope||window,e)}if(typeof c=="object"){c=Ext.urlEncode(c)}if(this.extraParams){var k=Ext.urlEncode(this.extraParams);c=c?(c+"&"+k):k}var b=e.url||this.url;if(typeof b=="function"){b=b.call(e.scope||window,e)}if(e.form){var d=Ext.getDom(e.form);b=b||d.action;var m=d.getAttribute("enctype");if(e.isUpload||(m&&m.toLowerCase()=="multipart/form-data")){return this.doFormUpload(e,c,b)}var l=Ext.lib.Ajax.serializeForm(d);c=c?(c+"&"+l):l}var n=e.headers;if(this.defaultHeaders){n=Ext.apply(n||{},this.defaultHeaders);if(!e.headers){e.headers=n}}var h={success:this.handleResponse,failure:this.handleFailure,scope:this,argument:{options:e},timeout:this.timeout};var a=e.method||this.method||(c?"POST":"GET");if(a=="GET"&&(this.disableCaching&&e.disableCaching!==false)||e.disableCaching===true){b+=(b.indexOf("?")!=-1?"&":"?")+"_dc="+(new Date().getTime())}if(typeof e.autoAbort=="boolean"){if(e.autoAbort){this.abort()}}else{if(this.autoAbort!==false){this.abort()}}if((a=="GET"&&c)||e.xmlData||e.jsonData){b+=(b.indexOf("?")!=-1?"&":"?")+c;c=""}if(e.scriptTag||this.scriptTag||Ext.lib.Ajax.isCrossDomain(b)){this.transId=this.scriptRequest(a,b,h,c,e)}else{this.transId=Ext.lib.Ajax.request(a,b,h,c,e)}return this.transId}else{Ext.callback(e.callback,e.scope,[e,null,null]);return null}},scriptRequest:function(a,c,e,f,l){var b=++Ext.data.ScriptTagProxy.TRANS_ID;var k={id:b,cb:l.callbackName||"stcCallback"+b,scriptId:"stcScript"+b,options:l};c+=(c.indexOf("?")!=-1?"&":"?")+f+String.format("&{0}={1}",l.callbackParam||this.callbackParam||"callback",k.cb);var d=this;window[k.cb]=function(m){d.handleScriptResponse(m,k)};k.timeoutId=this.handleScriptFailure.defer(e.timeout,this,[k]);var h=document.createElement("script");h.setAttribute("src",c);h.setAttribute("type","text/javascript");h.setAttribute("id",k.scriptId);document.getElementsByTagName("head")[0].appendChild(h);return k},handleScriptResponse:function(d,b){this.transId=false;this.destroyScriptTrans(b,true);var a=b.options;var c;if(typeof d=="string"){if(window.ActiveXObject){c=new ActiveXObject("Microsoft.XMLDOM");c.async="false";c.loadXML(d)}else{c=new DOMParser().parseFromString(d,"text/xml")}}response={responseObject:d,responseText:(typeof d=="object")?Ext.util.JSON.encode(d):String(d),responseXML:c,argument:a.argument};this.fireEvent("requestcomplete",this,response,a);Ext.callback(a.success,a.scope,[response,a]);Ext.callback(a.callback,a.scope,[a,true,response])},handleScriptFailure:function(b){this.transId=false;this.destroyScriptTrans(b,false);var a=b.options;response={argument:a.argument,status:500,statusText:"Server failed to respond",responseText:""};this.fireEvent("requestexception",this,response,a,{status:-1,statusText:"communication failure"});Ext.callback(a.failure,a.scope,[response,a]);Ext.callback(a.callback,a.scope,[a,false,response])},destroyScriptTrans:function(b,a){document.getElementsByTagName("head")[0].removeChild(document.getElementById(b.scriptId));clearTimeout(b.timeoutId);if(a){window[b.cb]=undefined;try{delete window[b.cb]}catch(c){}}else{window[b.cb]=function(){window[b.cb]=undefined;try{delete window[b.cb]}catch(d){}}}}});Ext.override(Ext.form.FormPanel,{bindHandler:function(){var e=true;this.form.items.each(function(h){if(!h.isValid(true)){e=false;return false}});var b=[];if(this.fbar){var b=this.fbar.items.items}if(this.bindButtons){Ext.each(this.bindButtons,function(f){b.push(f)})}for(var d=0,a=b.length;d<a;d++){var c=b[d];if(c.formBind===true&&c.disabled===e){c.setDisabled(!e)}}this.fireEvent("clientvalidation",this,e)}});Ext.override(Ext.menu.TextItem,{setText:function(b){var a=Ext.get(this.el);a.update(b)}});Ext.ns("Ext.ux.form");Ext.ux.form.DateTime=Ext.extend(Ext.form.Field,{dateValidator:null,defaultAutoCreate:{tag:"input",type:"hidden"},dtSeparator:" ",hiddenFormat:"Y-m-d H:i:s",otherToNow:true,timePosition:"right",timeValidator:null,timeWidth:100,dateFormat:"m/d/y",timeFormat:"g:i A",initComponent:function(){Ext.ux.form.DateTime.superclass.initComponent.call(this);var b=Ext.apply({},{id:this.id+"-date",format:this.dateFormat||Ext.form.DateField.prototype.format,width:this.timeWidth,selectOnFocus:this.selectOnFocus,validator:this.dateValidator,listeners:{blur:{scope:this,fn:this.onBlur},focus:{scope:this,fn:this.onFocus}}},this.dateConfig);this.df=new Ext.form.DateField(b);this.df.ownerCt=this;delete (this.dateFormat);var a=Ext.apply({},{id:this.id+"-time",format:this.timeFormat||Ext.form.TimeField.prototype.format,width:this.timeWidth,selectOnFocus:this.selectOnFocus,forceSelection:false,typeAhead:false,validator:this.timeValidator,listeners:{blur:{scope:this,fn:this.onBlur},focus:{scope:this,fn:this.onFocus}}},this.timeConfig);this.tf=new Ext.form.TimeField(a);this.tf.ownerCt=this;delete (this.timeFormat);this.relayEvents(this.df,["focus","specialkey","invalid","valid"]);this.relayEvents(this.tf,["focus","specialkey","invalid","valid"]);this.on("specialkey",this.onSpecialKey,this)},onRender:function(c,a){if(this.isRendered){return}Ext.ux.form.DateTime.superclass.onRender.call(this,c,a);var b;if("below"===this.timePosition||"bellow"===this.timePosition){b=Ext.DomHelper.append(c,{tag:"table",style:"border-collapse:collapse",children:[{tag:"tr",children:[{tag:"td",style:"padding-bottom:1px",cls:"ux-datetime-date"}]},{tag:"tr",children:[{tag:"td",cls:"ux-datetime-time"}]}]},true)}else{b=Ext.DomHelper.append(c,{tag:"table",style:"border-collapse:collapse",children:[{tag:"tr",children:[{tag:"td",style:"padding-right:4px",cls:"ux-datetime-date"},{tag:"td",cls:"ux-datetime-time"}]}]},true)}this.tableEl=b;this.wrap=b.wrap({cls:"x-form-field-wrap"});this.wrap.on("mousedown",this.onMouseDown,this,{delay:10});this.df.render(b.child("td.ux-datetime-date"));this.tf.render(b.child("td.ux-datetime-time"));this.df.el.swallowEvent(["keydown","keypress"]);this.tf.el.swallowEvent(["keydown","keypress"]);if("side"===this.msgTarget){var d=this.el.findParent(".x-form-element",10,true);if(d){this.errorIcon=d.createChild({cls:"x-form-invalid-icon"})}var e={errorIcon:this.errorIcon,msgTarget:"side",alignErrorIcon:this.alignErrorIcon.createDelegate(this)};Ext.apply(this.df,e);Ext.apply(this.tf,e)}this.el.dom.name=this.hiddenName||this.name||this.id;this.df.el.dom.removeAttribute("name");this.tf.el.dom.removeAttribute("name");this.isRendered=true;this.updateHidden()},adjustSize:Ext.BoxComponent.prototype.adjustSize,alignErrorIcon:function(){this.errorIcon.alignTo(this.tableEl,"tl-tr",[2,0])},initDateValue:function(){this.dateValue=this.otherToNow?new Date():new Date(1970,0,1,0,0,0)},clearInvalid:function(){this.df.clearInvalid();this.tf.clearInvalid()},markInvalid:function(a){this.df.markInvalid(a);this.tf.markInvalid(a)},beforeDestroy:function(){if(this.isRendered){this.wrap.removeAllListeners();this.wrap.remove();this.tableEl.remove();this.df.destroy();this.tf.destroy()}},disable:function(){if(this.isRendered){this.df.disabled=this.disabled;this.df.onDisable();this.tf.onDisable()}this.disabled=true;this.df.disabled=true;this.tf.disabled=true;this.fireEvent("disable",this);return this},enable:function(){if(this.rendered){this.df.onEnable();this.tf.onEnable()}this.disabled=false;this.df.disabled=false;this.tf.disabled=false;this.fireEvent("enable",this);return this},focus:function(){this.df.focus()},getPositionEl:function(){return this.wrap},getResizeEl:function(){return this.wrap},getValue:function(){return this.dateValue?new Date(this.dateValue):""},isValid:function(){return this.df.isValid()&&this.tf.isValid()},isVisible:function(){return this.df.rendered&&this.df.getActionEl().isVisible()},onBlur:function(a){if(this.wrapClick){a.focus();this.wrapClick=false}if(a===this.df){this.updateDate()}else{this.updateTime()}this.updateHidden();this.validate();(function(){if(!this.df.hasFocus&&!this.tf.hasFocus){var b=this.getValue();if(String(b)!==String(this.startValue)){this.fireEvent("change",this,b,this.startValue)}this.hasFocus=false;this.fireEvent("blur",this)}}).defer(100,this)},onFocus:function(){if(!this.hasFocus){this.hasFocus=true;this.startValue=this.getValue();this.fireEvent("focus",this)}},onMouseDown:function(a){if(!this.disabled){this.wrapClick="td"===a.target.nodeName.toLowerCase()}},onSpecialKey:function(b,c){var a=c.getKey();if(a===c.TAB){if(b===this.df&&!c.shiftKey){c.stopEvent();this.tf.focus()}if(b===this.tf&&c.shiftKey){c.stopEvent();this.df.focus()}this.updateValue()}if(a===c.ENTER){this.updateValue()}},reset:function(){this.df.setValue(this.originalValue);this.tf.setValue(this.originalValue)},setDate:function(a){this.df.setValue(a)},setTime:function(a){this.tf.setValue(a)},setSize:function(a,b){if(!a){return}if("below"===this.timePosition){this.df.setSize(a,b);this.tf.setSize(a,b);if(Ext.isIE){this.df.el.up("td").setWidth(a);this.tf.el.up("td").setWidth(a)}}else{this.df.setSize(a-this.timeWidth-4,b);this.tf.setSize(this.timeWidth,b);if(Ext.isIE){this.df.el.up("td").setWidth(a-this.timeWidth-4);this.tf.el.up("td").setWidth(this.timeWidth)}}},setValue:function(b){if(!b&&true===this.emptyToNow){this.setValue(new Date());return}else{if(!b){this.setDate("");this.setTime("");this.updateValue();return}}if("number"===typeof b){b=new Date(b)}else{if("string"===typeof b&&this.hiddenFormat){b=Date.parseDate(b,this.hiddenFormat)}}b=b?b:new Date(1970,0,1,0,0,0);var a;if(b instanceof Date){this.setDate(b);this.setTime(b);this.dateValue=new Date(Ext.isIE?b.getTime():b)}else{a=b.split(this.dtSeparator);this.setDate(a[0]);if(a[1]){if(a[2]){a[1]+=a[2]}this.setTime(a[1])}}this.updateValue()},setVisible:function(a){if(a){this.df.show();this.tf.show()}else{this.df.hide();this.tf.hide()}return this},show:function(){return this.setVisible(true)},hide:function(){return this.setVisible(false)},updateDate:function(){var a=this.df.getValue();if(a){if(!(this.dateValue instanceof Date)){this.initDateValue();if(!this.tf.getValue()){this.setTime(this.dateValue)}}this.dateValue.setMonth(0);this.dateValue.setFullYear(a.getFullYear());this.dateValue.setMonth(a.getMonth(),a.getDate())}else{this.dateValue="";this.setTime("")}},updateTime:function(){var a=this.tf.getValue();if(this.tf.lastQuery!=null&&this.tf.lastQuery!=""){a=this.tf.lastQuery;this.tf.lastQuery=null}if(a&&!(a instanceof Date)){a=Date.parseDate(a,this.tf.format)}if(a&&!this.df.getValue()){this.initDateValue();this.setDate(this.dateValue)}if(this.dateValue instanceof Date){if(a){this.dateValue.setHours(a.getHours());this.dateValue.setMinutes(a.getMinutes());this.dateValue.setSeconds(a.getSeconds())}else{this.dateValue.setHours(0);this.dateValue.setMinutes(0);this.dateValue.setSeconds(0)}}},updateHidden:function(){if(this.isRendered){var a=this.dateValue instanceof Date?this.dateValue.format(this.hiddenFormat):"";this.el.dom.value=a}},updateValue:function(){this.updateDate();this.updateTime();this.updateHidden();return},validate:function(){return this.df.validate()&&this.tf.validate()},renderer:function(c){var b=c.editor.dateFormat||Ext.ux.form.DateTime.prototype.dateFormat;b+=" "+(c.editor.timeFormat||Ext.ux.form.DateTime.prototype.timeFormat);var a=function(e){var d=Ext.util.Format.date(e,b);return d};return a}});Ext.reg("xdatetime",Ext.ux.form.DateTime);Ext.namespace("Ext.ux");
/*
 * Ext JS Library 3.2.1
 * Copyright(c) 2006-2010 Ext JS, Inc.
 * licensing@extjs.com
 * http://www.extjs.com/license
 */
Ext.ux.Portal=Ext.extend(Ext.Panel,{layout:"hbox",layoutConfig:{align:"stretch",pack:"start"},autoScroll:true,cls:"x-portal",defaultType:"portalcolumn",initComponent:function(){Ext.ux.Portal.superclass.initComponent.call(this);this.addEvents({validatedrop:true,beforedragover:true,dragover:true,beforedrop:true,drop:true})},initEvents:function(){Ext.ux.Portal.superclass.initEvents.call(this);this.dd=new Ext.ux.Portal.DropZone(this,this.dropConfig)},beforeDestroy:function(){if(this.dd){this.dd.unreg()}Ext.ux.Portal.superclass.beforeDestroy.call(this)}});Ext.reg("portal",Ext.ux.Portal);Ext.ux.Portal.DropZone=Ext.extend(Ext.dd.DropTarget,{constructor:function(a,b){this.portal=a;Ext.dd.ScrollManager.register(a.body);Ext.ux.Portal.DropZone.superclass.constructor.call(this,a.bwrap.dom,b);a.body.ddScrollConfig=this.ddScrollConfig},ddScrollConfig:{vthresh:50,hthresh:-1,animate:true,increment:200},createEvent:function(a,f,d,b,k,h){return{portal:this.portal,panel:d.panel,columnIndex:b,column:k,position:h,data:d,source:a,rawEvent:f,status:this.dropAllowed}},notifyOver:function(y,w,z){var f=w.getXY(),a=this.portal,r=y.proxy;if(!this.grid){this.grid=this.getGrid()}var b=a.body.dom.clientWidth;if(!this.lastCW){this.lastCW=b}else{if(this.lastCW!=b){this.lastCW=b;a.doLayout();this.grid=this.getGrid()}}var d=0,o=this.grid.columnX,q=false;for(var v=o.length;d<v;d++){if(f[0]<(o[d].x+o[d].w)){q=true;break}}if(!q){d--}var t,n=false,l=0,x=a.items.itemAt(d),s=x.items.items,m=false;for(var v=s.length;l<v;l++){t=s[l];var u=t.el.getHeight();if(u===0){m=true}else{if((t.el.getY()+(u/2))>f[1]){n=true;break}}}l=(n&&t?l:x.items.getCount())+(m?-1:0);var k=this.createEvent(y,w,z,d,x,l);if(a.fireEvent("validatedrop",k)!==false&&a.fireEvent("beforedragover",k)!==false){r.getProxy().setWidth("auto");if(t){r.moveProxy(t.el.dom.parentNode,n?t.el.dom:null)}else{r.moveProxy(x.el.dom,null)}this.lastPos={c:x,col:d,p:m||(n&&t)?l:false};this.scrollPos=a.body.getScroll();a.fireEvent("dragover",k);return k.status}else{return k.status}},notifyOut:function(){delete this.grid},notifyDrop:function(o,k,h){delete this.grid;if(!this.lastPos){return}var m=this.lastPos.c,f=this.lastPos.col,n=this.lastPos.p,a=o.panel,b=this.createEvent(o,k,h,f,m,n!==false?n:m.items.getCount());if(this.portal.fireEvent("validatedrop",b)!==false&&this.portal.fireEvent("beforedrop",b)!==false){o.proxy.getProxy().remove();a.el.dom.parentNode.removeChild(o.panel.el.dom);if(n!==false){m.insert(n,a)}else{m.add(a)}m.doLayout();if(Ext.isIE9){document.body.style.cursor="default"}this.portal.fireEvent("drop",b);var p=this.scrollPos.top;if(p){var l=this.portal.body.dom;setTimeout(function(){l.scrollTop=p},10)}}delete this.lastPos},getGrid:function(){var a=this.portal.bwrap.getBox();a.columnX=[];this.portal.items.each(function(b){a.columnX.push({x:b.el.getX(),w:b.el.getWidth()})});return a},unreg:function(){Ext.dd.ScrollManager.unregister(this.portal.body);Ext.ux.Portal.DropZone.superclass.unreg.call(this)}});Ext.namespace("Ext.ux");
/*
 * Ext JS Library 3.2.1
 * Copyright(c) 2006-2010 Ext JS, Inc.
 * licensing@extjs.com
 * http://www.extjs.com/license
 */
Ext.ux.PortalColumn=Ext.extend(Ext.Container,{layout:"anchor",defaultType:"portlet",cls:"x-portal-column"});Ext.reg("portalcolumn",Ext.ux.PortalColumn);Ext.namespace("Ext.ux");
/*
 * Ext JS Library 3.2.1
 * Copyright(c) 2006-2010 Ext JS, Inc.
 * licensing@extjs.com
 * http://www.extjs.com/license
 */
Ext.ux.Portlet=Ext.extend(Ext.Panel,{anchor:"100%",frame:true,draggable:true,cls:"x-portlet"});Ext.reg("portlet",Ext.ux.Portlet);(function(){Ext.namespace("Ext.ux");var c=false;var b;var a;Ext.ux.TinyMCE=Ext.extend(Ext.form.Field,{tinymceSettings:null,allowBlank:true,invalidText:"The value in this field is invalid",invalidClass:"invalid-content-body",minLengthText:"The minimum length for this field is {0}",maxLengthText:"The maximum length for this field is {0}",blankText:"This field is required",hideMode:"offsets",defaultAutoCreate:{tag:"textarea",style:"width:1px;height:1px;",autocomplete:"off"},constructor:function(d){var e={tinymceSettings:{accessibility_focus:false}};Ext.apply(e,d);this.addEvents({editorcreated:true});Ext.ux.TinyMCE.superclass.constructor.call(this,e)},initComponent:function(){this.tinymceSettings=this.tinymceSettings||{};Ext.ux.TinyMCE.initTinyMCE({language:this.tinymceSettings.language})},initEvents:function(){this.originalValue=this.getValue()},onRender:function(e,d){Ext.ux.TinyMCE.superclass.onRender.call(this,e,d);if(Ext.type(this.width)=="number"){this.tinymceSettings.width=this.width}if(Ext.type(this.height)=="number"){this.tinymceSettings.height=this.height}this.el.dom.setAttribute("tabIndex",-1);this.el.addClass("x-hidden");this.textareaEl=this.el;var k={overflow:"hidden"};if(Ext.isIE){k["margin-top"]="-1px";k["margin-bottom"]="-1px"}this.wrapEl=this.el.wrap({style:k});this.actionMode="wrapEl";this.positionEl=this.wrapEl;var l=this.getId();this.ed=new tinymce.Editor(l,this.tinymceSettings);var f=new Ext.util.DelayedTask(this.validate,this);this.ed.onKeyPress.add(function(n,m){f.delay(250)}.createDelegate(this));this.ed.onBeforeRenderUI.add(function(n,m){n.controlManager=new a(this,n)}.createDelegate(this));this.ed.onPostRender.add(function(n,m){var p=n.settings;var q=Ext.get(Ext.DomQuery.selectNode("#"+this.ed.id+"_tbl td.mceToolbar"));if(q!=null){var o=q.select("> table.mceToolbar");Ext.DomHelper.append(q,{tag:"div",id:this.ed.id+"_xtbar",style:{overflow:"hidden"}},true).appendChild(o)}n.windowManager=new b({editor:this.ed,manager:this.manager});Ext.get(n.getContentAreaContainer()).addClass("patch-content-body");Ext.Element.fly(p.content_editable?n.getBody():n.getWin()).on("focus",this.onFocus,this);Ext.Element.fly(p.content_editable?n.getBody():n.getWin()).on("blur",this.onBlur,this,this.inEditor&&Ext.isWindows&&Ext.isGecko?{buffer:10}:null)}.createDelegate(this));this.ed.onChange.add(function(n,m){this.fireEvent("change",n,m)}.createDelegate(this));this.ed.render();tinyMCE.add(this.ed);(function h(){if(!this.isVisible()){arguments.callee.defer(50,this);return}var m=this.getSize();this.withEd(function(){this._setEditorSize(m.width,m.height);this.fireEvent("editorcreated")})}).call(this)},getResizeEl:function(){return this.wrapEl},getName:function(){return this.rendered&&this.textareaEl.dom.name?this.textareaEl.dom.name:(this.name||"")},initValue:function(){if(!this.rendered){Ext.ux.TinyMCE.superclass.initValue.call(this)}else{if(this.value!==undefined){this.setValue(this.value)}else{var d=this.textareaEl.value;if(d){this.setValue(d)}}}},beforeDestroy:function(){if(this.ed){tinyMCE.remove(this.ed)}if(this.wrapEl){Ext.destroy(this.wrapEl)}Ext.ux.TinyMCE.superclass.beforeDestroy.call(this)},getRawValue:function(){if(!this.rendered||!this.ed.initialized){return Ext.value(this.value,"")}var d=this.ed.getContent();if(d===this.emptyText){d=""}return d},getValue:function(){if(!this.rendered||!this.ed.initialized){return Ext.value(this.value,"")}var d=this.ed.getContent();if(d===this.emptyText||d===undefined){d=""}return d},setRawValue:function(d){this.value=d;if(this.rendered){this.withEd(function(){this.ed.undoManager.clear();this.ed.setContent(d===null||d===undefined?"":d);this.ed.startContent=this.ed.getContent({format:"raw"})})}},setValue:function(d){this.value=d;if(this.rendered){this.withEd(function(){this.ed.undoManager.clear();this.ed.setContent(d===null||d===undefined?"":d);this.ed.startContent=this.ed.getContent({format:"raw"});this.validate()})}},isDirty:function(){if(this.disabled||!this.rendered){return false}return this.ed&&this.ed.initialized&&this.ed.isDirty()},syncValue:function(){if(this.rendered&&this.ed.initialized){this.ed.save()}},getEd:function(){return this.ed},disable:function(){this.withEd(function(){var d=this.ed.getBody();d=Ext.get(d);if(d.hasClass("mceContentBody")){d.removeClass("mceContentBody");d.addClass("mceNonEditable")}})},enable:function(){this.withEd(function(){var d=this.ed.getBody();d=Ext.get(d);if(d.hasClass("mceNonEditable")){d.removeClass("mceNonEditable");d.addClass("mceContentBody")}})},onResize:function(e,d){if(Ext.type(e)!="number"){e=this.getWidth()}if(Ext.type(d)!="number"){d=this.getHeight()}if(e==0||d==0){return}if(this.rendered&&this.isVisible()){this.withEd(function(){this._setEditorSize(e,d)})}},_setEditorSize:function(d,q){if(!this.ed.theme.AdvancedTheme){return}if(d<100){d=100}if(q<129){q=129}var f=Ext.get(this.ed.id+"_tbl"),m=Ext.get(this.ed.id+"_ifr"),e=this.positionEl.child(".mceToolbar");var s=d;if(f){s=d-f.getFrameWidth("lr")}var n=0;if(e){n=e.getHeight();var p=e.findParent("td",5,true);n+=p.getFrameWidth("tb");e.setWidth(s)}var k=f.child(".mceStatusbar");var r=0;if(k){r+=k.getHeight()}var h=q-n-r;var o=m.findParent("td",5,true);if(o){h-=o.getFrameWidth("tb")}f.setSize(d,q);var l=this.tinymceSettings.theme_advanced_source_editor_width!=null?this.tinymceSettings.theme_advanced_source_editor_width:s;h=this.tinymceSettings.theme_advanced_source_editor_height!=null?this.tinymceSettings.theme_advanced_source_editor_height:h;m.setSize(l,h)},focus:function(e,d){if(d){this.focus.defer(typeof d=="number"?d:10,this,[e,false]);return}this.withEd(function(){this.ed.focus()});return this},processValue:function(d){return Ext.util.Format.stripTags(d)},validateValue:function(d){if(Ext.isFunction(this.validator)){var f=this.validator(d);if(f!==true){this.markInvalid(f);return false}}if(d.length<1||d===this.emptyText){if(this.allowBlank){this.clearInvalid();return true}else{this.markInvalid(this.blankText);return false}}if(d.length<this.minLength){this.markInvalid(String.format(this.minLengthText,this.minLength));return false}if(d.length>this.maxLength){this.markInvalid(String.format(this.maxLengthText,this.maxLength));return false}if(this.vtype){var e=Ext.form.VTypes;if(!e[this.vtype](d,this)){this.markInvalid(this.vtypeText||e[this.vtype+"Text"]);return false}}if(this.regex&&!this.regex.test(d)){this.markInvalid(this.regexText);return false}return true},withEd:function(d){if(!this.ed){this.on("editorcreated",function(){this.withEd(d)},this)}else{if(this.ed.initialized){d.call(this)}else{this.ed.onInit.add(function(){d.defer(10,this)}.createDelegate(this))}}}});Ext.apply(Ext.ux.TinyMCE,{tinymcePlugins:"pagebreak,style,layer,table,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,noneditable,visualchars,nonbreaking,xhtmlxtras,template",initTinyMCE:function(e){if(!c){b=Ext.extend(tinymce.WindowManager,{constructor:function(f){b.superclass.constructor.call(this,f.editor);this.manager=f.manager},alert:function(h,f,k){Ext.MessageBox.alert("",h,function(){if(!Ext.isEmpty(f)){f.call(this)}},k)},confirm:function(h,f,k){Ext.MessageBox.confirm("",h,function(l){if(!Ext.isEmpty(f)){f.call(this,l=="yes")}},k)},open:function(f,k){f=f||{};k=k||{};if(!f.type){this.bookmark=this.editor.selection.getBookmark("simple")}f.width=parseInt(f.width||320);f.height=parseInt(f.height||240)+(tinymce.isIE?8:0);f.min_width=parseInt(f.min_width||150);f.min_height=parseInt(f.min_height||100);f.max_width=parseInt(f.max_width||2000);f.max_height=parseInt(f.max_height||2000);f.movable=true;f.resizable=true;k.mce_width=f.width;k.mce_height=f.height;k.mce_inline=true;this.features=f;this.params=k;var h=new Ext.Window({title:f.name,width:f.width,height:f.height,minWidth:f.min_width,minHeight:f.min_height,resizable:true,maximizable:f.maximizable,minimizable:f.minimizable,modal:true,stateful:false,constrain:true,manager:this.manager,layout:"fit",items:[new Ext.BoxComponent({autoEl:{tag:"iframe",src:f.url||f.file},style:"border-width: 0px;"})]});k.mce_window_id=h.getId();h.show(null,function(){if(f.left&&f.top){h.setPagePosition(f.left,f.top)}var l=h.getPosition();f.left=l[0];f.top=l[1];this.onOpen.dispatch(this,f,k)},this);return h},close:function(h){if(!h.tinyMCEPopup||!h.tinyMCEPopup.id){b.superclass.close.call(this,h);return}var f=Ext.getCmp(h.tinyMCEPopup.id);if(f){this.onClose.dispatch(this);f.close()}},setTitle:function(k,h){if(!k.tinyMCEPopup||!k.tinyMCEPopup.id){b.superclass.setTitle.call(this,k,h);return}var f=Ext.getCmp(k.tinyMCEPopup.id);if(f){f.setTitle(h)}},resizeBy:function(h,l,m){var f=Ext.getCmp(m);if(f){var k=f.getSize();f.setSize(k.width+h,k.height+l)}},focus:function(h){var f=Ext.getCmp(h);if(f){f.setActive(true)}}});a=Ext.extend(tinymce.ControlManager,{control:null,constructor:function(k,f,h){this.control=k;a.superclass.constructor.call(this,f,h)},createDropMenu:function(l,h){var f=a.superclass.createDropMenu.call(this,l,h);var k=f.showMenu;f.showMenu=function(m,o,n){k.call(this,m,o,n);Ext.fly("menu_"+this.id).setStyle("z-index",200001)};return f},createColorSplitButton:function(l,h){var f=a.superclass.createColorSplitButton.call(this,l,h);var k=f.showMenu;f.showMenu=function(m,o,n){k.call(this,m,o,n);Ext.fly(this.id+"_menu").setStyle("z-index",200001)};return f}});var d={mode:"none",plugins:Ext.ux.TinyMCE.tinymcePlugins,theme:"advanced"};Ext.apply(d,e);if(!tinymce.dom.Event.domLoaded){tinymce.dom.Event._pageInit()}tinyMCE.init(d);c=true}}});Ext.ComponentMgr.registerType("tinymce",Ext.ux.TinyMCE)})();var uri=parseUri(window.location.href);var ServletContext=uri.protocol+"://"+uri.authority+uri.directory;Ext.BLANK_IMAGE_URL=ServletContext+"lib/com/extjs/ext-3.4.0/resources/images/default/s.gif";var hyperWebMode=false;var isFF3=navigator.userAgent.toLowerCase().indexOf("firefox/3")>-1;var isFF4=navigator.userAgent.toLowerCase().indexOf("firefox/4")>-1;var isFF5=navigator.userAgent.toLowerCase().indexOf("firefox/5")>-1;var isFF6=navigator.userAgent.toLowerCase().indexOf("firefox/6")>-1;var isFF=navigator.userAgent.toLowerCase().indexOf("firefox")>-1;var isWin7=(navigator.userAgent.toLowerCase().indexOf("windows nt 7.0")>-1||navigator.userAgent.toLowerCase().indexOf("windows nt 6.1")>-1);var iconDir="resources/images/icons/hm/";Ext.namespace("com.hypermanager.locale");LanguageLoader=function(a){this.lang=a;this.multilanguage=true;this.addEvents({afterlanguagechange:true,beforelanguagechange:true});this.init()};Ext.extend(LanguageLoader,Ext.util.Observable,{init:function(){this.handleLanguageChange(this.lang);this.initEvents()},initEvents:function(){if(this.multilanguage){this.on("afterlanguagechange",this.onLanguageChange,this)}},changeLanguage:function(a){if(this.fireEvent("beforelanguagechange",a.lang)!==false){}this.handleLanguageChange(a.lang);if(this.fireEvent("afterlanguagechange",a.lang)!==false){}},handleLanguageChange:function(a){this.lang=a;if(a==="de"){this.onGerman()}else{this.onEnglish()}},onLanguageChange:function(a){},onGerman:function(){if(com.hypermanager.HyperManagerMain){Ext.apply(com.hypermanager.HyperManagerMain.prototype.i18nConfig,{menu_file:"Datei",menu_file_print:"Drucken",menu_file_tabSystems:"Registersysteme",menu_file_launcher:"Starter",menu_file_logout:"Abmelden",menu_design:"Design",menu_design_applications:"Anwendungen",menu_design_categories:"hyperWeb Rubriken",menu_extras:"Extras",menu_extras_language:"Sprache",menu_extras_users:"Benutzer und Rechte",menu_extras_alertoptions:"Benachrichtigungsoptionen",menu_extras_changepw:"Passwort &auml;ndern",menu_resSolution_refresh:"Daten aktualisieren",menu_help:"Hilfe",menu_help_help:"Hilfe",menu_help_manual:"Benutzerhandbuch",menu_help_homepage:"Webseite",menu_help_about:"Info",menu_help_license:"Lizenz",dialog_btn_close:"Schliessen",msg_title_userm_personal:"Benutzeradministration",msg_text_userm_personal:"hyperManager Personal Edition ist auf einen Benutzer beschr&auml;nkt.<br>Um weitere Benutzer anlegen zu k&ouml;nnen, kaufen Sie hyperManager Enterprise Edition.",panel_titel_permissions:"Rechte"})}if(com.hypermanager.filter){if(com.hypermanager.filter.PreFilterTreePanel){Ext.apply(com.hypermanager.filter.PreFilterTreePanel.prototype,{collapseText:"Alle schliessen",expandText:"Alle &ouml;ffnen",deleteText:"L&ouml;schen",renameText:"Umbenennen",editdirText:"Bearbeiten",newdirText:"Hinzuf&uuml;gen",newFilterNodeText:"Neuer Filter",reallyWantText:function(a){return"Wollen Sie <b>"+a+"</b> wirklich "+this.deleteText.toLowerCase()+"?"},limitTitle:"Limit erreicht",limitMsg:"Aus Performance-Gr&uuml;nden ist die Anzahl von Unterstufen auf 4 begrenzt."})}if(com.hypermanager.filter.PreFilterWindow){Ext.apply(com.hypermanager.filter.PreFilterWindow.prototype,{windowTitleText:"Hierarchischer Vorfilter",paneltitleText:"Kriterien",operationcolText:"Verkn&uuml;pfung",fieldcolText:"Feld",relationcolText:"Relation",valuecolText:"Wert",addcriterionText:"Hinzuf&uuml;gen",removecriterionText:"L&ouml;schen",cancelbuttonText:"Abbrechen",okaybuttonText:"OK",fieldlabelText:"Name",containsrelText:"enth&auml;lt",equalsrelText:"entspricht",notequalsrelText:"entspricht nicht",smallerrelText:"kleiner als",greaterrelText:"gr&ouml;sser als",lessequalText:"kleiner oder gleich",greaterequalText:"gr&ouml;sser oder gleich",startswithText:"beginnt mit",limitTitle:"Info",limitMsg:"Aus Performance-Gr&uuml;nden ist die Anzahl von Filterbedingungen auf 25 begrenzt."})}}if(com.hypermanager.tabs.TabSystemDialog){Ext.apply(com.hypermanager.tabs.TabSystemDialog.prototype,{dialogTitle:"Registersysteme",switchToSelectedText:"Ausw&auml;hlen",cancelText:"Abbrechen",emptyGridText:"Kein Registersystem vorhanden",noTSSelectedErrTitle:"Kein Registersystem ausgew&auml;hlt",noTSSelectedErrMsg:"Bitte w&auml;hlen Sie ein Registersystem aus.",tabSystemNameColTitle:"Name",tabSystemDescColTitle:"Beschreibung",tabSystemOwnerColTitle:"Owner",addText:"Hinzuf&uuml;gen",deleteText:"L&ouml;schen",renameText:"Umbenennen",addDialogMsg:"Name",addDialogTitle:"Add Tab System",confirmDeleteTitle:"L&ouml;schen von Registersystem best&auml;tigen",confirmDeleteText:function(a){return"Sind Sie sicher, dass Sie Registersystem  <b>"+a+"</b> und alle beinhaltenden Register und Objekte l&ouml;schen wollen? (Die an die Objekten gebundenen Datenanwendungen, -produkte und Desks werden <b>nicht</b> gel&ouml;scht.)"}})}if(com.hypermanager.tabs.TabSystemControl){Ext.apply(com.hypermanager.tabs.TabSystemControl.prototype,{prefilterText:"Hierarchischer Vorfilter",objectPanelText:"Objekte",errorTitle:"Operation fehlgeschlagen",serverErrorTitle:"Serverseitiger Fehler",serverErrorMsg:"Serverseitiger Fehler bei Tab Operation!",cutText:"Ausschneiden",pasteText:"Einf&uuml;gen",deleteText:"L&ouml;schen",renameText:"Umbenennen",addOnSameLevelText:"Neues Register auf dieser Ebene",addOnTopLevelText:"Neues Oberregister",addOnSubLevelText:"Neues Unterregister",confirmDeleteTitle:"Tab l&ouml;schen best&auml;tigen",confirmDeleteText:function(a){return"Sind Sie sicher, dass Sie Tab <b>"+a+"</b> l&ouml;schen wollen?"},addNewTabTitle:"Neues Register",addNewTabText:"Bitte Registername eingeben:",nameTooShortErrTitle:"Neues Register",nameTooShortErrText:"Registername muss l&auml;nger als ein Zeichen sein"})}if(com.hypermanager.objects.ObjectListControl){Ext.apply(com.hypermanager.objects.ObjectListControl.prototype,{errorTitle:"Operation fehlgeschlagen",serverErrorTitle:"Serverseitiger Fehler",serverErrorMsg:"Serverseitiger Fehler bei Objekt Operation!",objectPanelTitle:"Objekte",cutText:"Objekt Ausschneiden",pasteText:"Objekt Einf&uuml;gen",deleteText:"Objekt L&ouml;schen",confirmDeleteObjectTitle:"Objekt l&ouml;schen best&auml;tigen",confirmDeleteObjectText:function(a){return"Sind Sie sicher, dass Sie Objekt <b>"+a+"</b> l&ouml;schen wollen? (verlinkte Dataprodukte / Desks werden nicht gel&ouml;scht.)"},editText:"Objekt bearbeiten",saveText:"Einstellungen speichern",nameTooShortErrTitle:"Neues Desk",nameTooShortErrText:"Deskname muss l&auml;nger als ein Zeichen sein",windowCancelButtonText:"Abbrechen",addAdText:"Werbefl&auml;che hinzf&uuml;gen",editAdPropertiesText:"Werbefl&auml;cheneigenschaften bearbeiten",deleteAdText:"Werbefl&auml;che l&ouml;schen",editAdContentText:"Werbefl&auml;cheninhalt bearbeiten",confirmDeleteHWAdTitle:"Werbefl&auml;che l&ouml;schen",confirmDeleteHWAdText:function(a){return"Sind Sie sicher, dass Sie die <b>Werbefl&auml;che</b> des Objekts <b>"+a+"</b> l&ouml;schen wollen?"}})}if(com.hypermanager.objects.ObjectDialog){Ext.apply(com.hypermanager.objects.ObjectDialog.prototype,{generalTabTitle:"Allgemein",permissionTabTitle:"Rechte",isTitleText:"Titel",applicationNameColTitle:"Applikationsname",productNameColTitle:"Produktname",ownerColTitle:"Besitzer",descColTitle:"Beschreibung",noDeskSelectedErrTitle:"Kein Desk ausgew&auml;lt",noDeskSelectedErrMsg:"Bitte w&auml;hlen Sie ein Desk aus.",noPageSelectedErrTitle:"Kein Page ausgew&auml;lt",noPageSelectedErrMsg:"Bitte w&auml;hlen Sie ein Page aus.",noDPSelectedErrTitle:"Kein Dataprodukt ausgew&auml;lt",noDPSelectedErrMsg:"Bitte w&auml;hlen Sie ein Dataproduct aus.",noDPAvailableText:"Keine Dataprodukte verf&uuml;gbar.",editTitle:"Objekt bearbeiten",windowsCancelButtonLabel:"Abbrechen"})}if(com.hypermanager.objects.ObjectTypes){Ext.apply(com.hypermanager.objects.ObjectTypes,{addDeskTitle:"Desk hinzuf&uuml;gen",linkDeskText:"Bestehendes Desk einbinden",linkDataProductTitle:"Dataprodukt hinzuf&uuml;gen",addPageTitle:"Page hinzuf&uuml;gen",linkPageText:"Bestehende Page einbinden",addWebsiteTitle:"Website hinzuf&uuml;gen"})}if(com.hypermanager.desk.DeskControl){Ext.apply(com.hypermanager.desk.DeskControl.prototype,{errorTitle:"Operation fehlgeschlagen",serverErrorTitle:"Serverseitiger Fehler",serverErrorMsg:"Serverseitiger Fehler bei Metalink Operation!",addText:"Hinzuf&uuml;gen",editText:"Bearbeiten",cutText:"Ausschneiden",copyText:"Kopieren",pasteText:"Einf&uuml;gen",deleteText:"L&ouml;schen",renameText:"Umbenennen",renameFrameText:"Umbenennen",confirmDeleteTitle:"L&ouml;schen best&auml;tigen",confirmDeleteText:function(a){return"Sind Sie sicher, dass Sie MetaLink <b>"+a+"</b> l&ouml;schen wollen?"},confirmDeleteFrameText:function(a){return"Sind Sie sicher, dass Sie Frame <b>"+a+"</b> und alle enthaltenen MetaLinks l&ouml;schen wollen?"},renameText:"Umbenennen",categoryNameLabel:"Name",categoryLabel:"Rubrik",emptyCatComboText:"W&auml;hlen Sie eine Rubrik...",noCatSelectedErrTitle:"Keine Rubrik ausgew&auml;hlt",noCatSelectedErrMsg:"Bitte w&auml;hlen Sie eine bestehende Rubrik aus.",cancelText:"Abbrechen",addFrameText:"Frame hinzuf&uuml;gen"})}if(com.hypermanager.desk.HWMetaLinkDialog){Ext.apply(com.hypermanager.desk.HWMetaLinkDialog.prototype,{propGridTitleSublink:"Details Sublink",propGridTitleMetaLink:"Details MetaLink",selectCategoryText:"Rubrik&nbsp;ausw&auml;hlen",cancelText:"Abbrechen"})}if(com.hypermanager.desk.CategoryGridPanel){Ext.apply(com.hypermanager.desk.CategoryGridPanel.prototype,{deleteText:"L&ouml;schen",categoryNameColTitle:"Rubrikname",creationDateTitle:"Erstellt am",addText:"Rubrik hinzuf&uuml;gen",iconText:"Icon&nbsp;ausw&auml;hlen",noDeskSelectedErrTitle:"Keine Rubrik ausgew&auml;hlt",noDeskSelectedErrMsg:"Bitte w&auml;hlen Sie zuerst eine Rubrik aus.",deleteCategoryText:"Rubrik l&ouml;schen",noCategoriesText:"Keine Rubriken vorhanden.",confirmDeleteCategoryTitle:"L&ouml;schen best&auml;tigen",confirmDeleteCategoryText:function(a,b){var c="Wollen Sie die Rubrik <b>"+a+"</b> wirklich l&oum;schen?";if(b&&b>0){c+=" (Es sind noch "+b+" MetaLinks mit dieser Rubrik vorhanden.)"}return c}})}if(com.hypermanager.desk.MetaLinkDialog){Ext.apply(com.hypermanager.desk.MetaLinkDialog.prototype,{dialogTitleNew:"Neuer MetaLink / Sublinks",dialogTitleEdit:"MetaLink / Sublinks bearbeiten",defaultSublinkName:"Neuer Sublink",defaultMetaLinkName:"Neuer MetaLink",addText:"Hinzuf&uuml;gen",deleteText:"L&ouml;schen",iconText:"Icon&nbsp;ausw&auml;hlen",iconColTitle:"Icon",linkNameColTitle:"Name",URLColTitle:"Pfad / URL",browseFileText:"Datei&nbsp;ausw&auml;hlen",browseFolderText:"Ordner&nbsp;ausw&auml;hlen",windowCancelButtonText:"Abbrechen",iconWindowCancelButtonText:"Abbrechen"})}if(com.hypermanager.data.RecordLinkDialog){Ext.apply(com.hypermanager.data.RecordLinkDialog.prototype,{dialogTitleNew:"Sublinks bearbeiten",dialogTitleEdit:"Sublinks bearbeiten",defaultRecordLinkName:"Neuer Sublink"})}if(com.hypermanager.util.LauncherBroker){Ext.apply(com.hypermanager.util.LauncherBroker.prototype,{waitWindowTitle:"Bitte warten",waitWindowText:"Datei wird ge&ouml;ffnet: ",warningFileCouldNotBeFoundTitle:"Datei / Order nicht gefunden.",warningFileCouldNotBeFoundText:"Die gew&uuml;nschte Datei oder der gew&uuml;nschte Ordner konnte unter dem angegebenem Pfad nicht gefunden werden."})}if(com.hypermanager.data.DADesignWindow){Ext.apply(com.hypermanager.data.DADesignWindow.prototype,{title:"DataAnwendungen",dataAppColTitle:"Anwendung",generalTabTitle:"Allgemein",fieldsTabTitle:"Felder",externTabTitle:"Externe Anwendung",generalTabNameLabel:"Name",generalTabDescriptionLabel:"Beschreibung",generalTabOwnerLabel:"Besitzer",fieldsTabNameColTitle:"Name",fieldsTabTypeColTitle:"Typ",fieldsTabDefaultValueColTitle:"Default-Wert",fieldsComboShortVarCharOption:"Text Kurz",fieldsComboLongVarCharOption:"Text Lang",fieldsComboURLOption:"Hyperlink",fieldsComboIntOption:"Zahl",fieldsComboDateOption:"Datum",fieldsComboTimeStampOption:"Zeitstempel",productsTabTitle:"Produkte",productsTabNameColTitle:"Name",productsTabDescriptionColTitle:"Beschreibung",productsTabOwnerColTitle:"Besitzer",productsTabNewButtonText:"Hinzuf&uuml;gen",productsTabDelButtonText:"L&ouml;schen",productsTabEditButtonText:"Bearbeiten",productsTabNewButtonTtip:"Neues Datenprodukt zur Datenanwendung hinzuf&uuml;gen",productsTabEditButtonTtip:"Ausgew&auml;hltes Datenprodukt und Felder bearbeiten",productsTabDelButtonTtip:"Ausgew&auml;hltes Datenprodukt l&ouml;schen",fieldsTabNewButtonText:"Hinzuf&uuml;gen",fieldsTabDelButtonText:"L&ouml;schen",fieldsTabDelButtonTtip:"Ausgew&auml;hltes Datenfeld l&ouml;schen.",fieldsTabNewButtonTtip:"Ein neues Datenfeld zur Datenanwendung hinzuf&uuml;gen",extTabTypeText:"Typ",extTabPathText:"Pfad",extTabBrowseText:"Durchsuchen",extTabImportText:"Importieren",dataAppNewButtonText:"Erstellen",dataAppDelButtonText:"L&ouml;schen",dataAppDelButtonTtip:"Ausgew&auml;hlte Datenanwendung l&ouml;schen",dataAppNewButtonTtip:"Eine neue Datenanwendung erstellen",fieldsTabDelMsg:function(a){return"Wollen Sie das Feld <b>"+a+"</b> wirklich l&ouml;schen?"},fieldsTabDelMsgTitle:"L&ouml;schen best&auml;tigen",productsTabEditErrMsg:"Sie m&uuml;ssen zuerst eine Anwendung und ein Produkt ausw&auml;hlen.",productsTabDelErrMsg:"Kein Produkt ausgew&auml;hlt.",productsTabDelMsg:function(a){return"Wollen Sie das Produkt <b>"+a+"</b> wirklich l&ouml;schen?"},productsTabDelMsgTitle:"L&ouml;schen best&auml;tigen",productsTabNewErrMsg:"Keine Anwendung ausgew&auml;hlt.",dataAppDelErrMsg:"Keine Anwendung ausgew&auml;hlt.",dataAppDelMsg:function(a){return"Wollen Sie die Anwendung <b>"+a+"</b> wirklich l&ouml;schen?"},dataAppDelMsgTitle:"L&ouml;schen best&auml;tigen",dataAppNewMsg:"Bitte geben Sie einen Namen ein:",dataAppNewMsgTitle:"Neue Anwendung",dataAppNewErrMsg:"Ung&uuml;ltiger Name",dataAppNewErrMsgTitle:"Fehler",windowCloseButtonText:"Schliessen",newProductName:"Neues Produkt",textImportSuccessful:"Import erfolgreich.",textImportedFieldsDelete:"Importierte Datenfelder d&uuml;rfen nicht gel&ouml;scht werden",permissionTabTitle:"Rechte"})}if(com.hypermanager.data.DPDesignWindow){Ext.apply(com.hypermanager.data.DPDesignWindow.prototype,{title:"Produkt",fieldColTitle:"Feld",nameColTitle:"Name",widthColTitle:"Breite",fontStyleColTitle:"Schriftart",fontSizeColTitle:"Schriftgr&ouml;sse",alignColTitle:"Zentrierung",valueListColTitle:"Werteliste",displayInColTitle:"Anzeigen in",windowCancelButtonText:"Abbrechen",alignComboLeftOption:"Links",alignComboRightOption:"Rechts",alignComboCenterOption:"Mitte",valueListComboOption1:"Wert",valueListComboOption2:"Beschreibung",valueListComboOption3:"Wert (Beschreibung)",valueListComboOption4:"Icon",displayInOption1:"Tabelle",displayInOption2:"Fenster",displayInOption3:"Tabelle & Fenster",optionsPanelTitle:"Optionen",detailsPanelText:{heightText:"H&ouml;he Datenfenster",activeText:"Datenfenster anzeigen",defaultTabText:"Default Register",defaultFieldText:"Default-Feld",defaultTabComboOption1:"Liste",defaultTabComboOption2:"Feld"},productName:"Name",productDescription:"Beschreibung",productOwner:"Besitzer",heightNotValidText:"Die H&ouml;he des Datenfensters muss zwischen 80 und 400 liegen."})}if(com.hypermanager.data.ValueListWindow){Ext.apply(com.hypermanager.data.ValueListWindow.prototype,{dialogTitle:"Werteliste f&uuml;r das Feld ",defaultValue:"Wert",defaultDesc:"",defaultIcon:"",addText:"Hinzuf&uuml;gen",deleteText:"L&ouml;schen",valueColTitle:"Wert",descColTitle:"Beschreibung",iconColTitle:"Icon",windowOKButtonText:"OK",windowCancelButtonText:"Abbrechen",optPanelTitle:"Optionen",labelOption1:"auch andere Werte erlaubt"})}if(com.hypermanager.data.CellSelectionModel){Ext.apply(com.hypermanager.data.CellSelectionModel.prototype,{dragText:"{0} Zeile{1} ausgew&auml;hlt"})}if(com.hypermanager.data.DPGridPanel){Ext.apply(com.hypermanager.data.DPGridPanel.prototype,{delMsg:"Wollen Sie diese Zeile wirklich l&ouml;schen?",delSelMsg:"Wollen Sie alle markierten Zeilen wirklich l&ouml;schen?",delMsgTitle:"L&ouml;schen best&auml;tigen",newRecordButtonText:"Hinzuf&uuml;gen",newRecordButtonTtip:"F&uuml;gt am Ende einen leeren Datensatz hinzu.",delRecordButtonText:"L&ouml;schen",delRecordButtonTtip:"L&ouml;scht den ausgew&auml;hlten Datensatz.",updateGridButtonText:"Aktualisieren",updateGridButtonTtip:"Aktualisiert das aktive Datenprodukt.",viewButtonText:"Ansicht",addButtonText:"Mehrere hinzuf&uuml;gen",addButtonTtip:"F&uuml;gt am Ende mehrere, leere Datens&auml;tze hinzu.",quickFilterLabel:"Schnellfilter:",quickFilterTtip:"Durchsuchen Sie die geladenen Datens&auml;tze. Einfach Wert eingeben und mit Enter-Taste best&auml;tigen.",showAllButtonText:"Aufheben",showAllButtonTtip:"Filter aufheben und alle Records anzeigen",addMsgTitle:"Mehrere Zeilen hinzuf&uuml;gen",addMsg:"Wieviele Zeilen m&ouml;chten Sie hinzuf&uuml;gen?",viewOption1:"Einzeilig",viewOption2:"Mehrzeilig dynamisch",viewOption3:"Mehrzeilig",delErrMsg:"Keine Zeile ausgew&auml;hlt! Bitte w&auml;hlen Sie zuerst die Zeile aus, welche Sie l&ouml;schen m&ouml;chten.",pasteItemText:"Einf&uuml;gen",contextMenuEditLinks:"MetaLink bearbeiten",contextMenuEdit:"Zelle bearbeiten",contextMenuPasteExcel:"Inhalte einf&uuml;gen",contextMenuBrowse:"Durchsuchen",contextMenuBrowseFolder:"Ordner&nbsp;ausw&auml;hlen",contextMenuBrowseFile:"Datei&nbsp;ausw&auml;hlen",contextMenuCopy:"Datensatz kopieren",contextMenuCut:"Datensatz ausschneiden",contextMenuPaste:"Datensatz einf&uuml;gen",contextMenuAddAlertDef:"Erinnerung hinzuf&uuml;gen",contextMenuEditAlertDef:"Erinnerung bearbeiten",contextMenuDelAlertDef:"Erinnerung l&ouml;schen",contextMenuCellSuffix:"(Zelle / Einzelner Record)",contextMenuFieldSuffix:"(Feld / Alle Records)",contextMenuAlertDef:"Aktive Erinnerung",timeUnitMinutes:"Minuten",timeUnitHours:"Stunden",timeUnitDays:"Tage",deleteAlertDefTitle:"Erinnerung l&ouml;schen",deleteAlertDefText:"Wollen Sie diese Erinnerung wirklich l&ouml;schen?",headerText1:"Anwendung",headerText2:"Produkt",headerText3:"Vorfilter",serverErrorTitle:"Serverseitiger Fehler",serverErrorMsg:"Serverseitiger Fehler beim speichern des Datensatzes",detailsFieldComboEmptyText:"Feld",detailsFieldTabTitle:"Feld",limitTitle:"Info",limitMsg:"Aus Performance-Gr&uuml;nden ist die Anzahl von Unterstufen auf 8 begrenzt.",textImportedRecordsDelete:"Importierte DatensŠtze d&uuml;rfen nicht gel&ouml;scht werden",textImportSuccessful:"Import erfolgreich."})}if(com.hypermanager.data.DPDetailsColumnModel){Ext.apply(com.hypermanager.data.DPDetailsColumnModel.prototype,{fieldColumnTitle:"Feld",filedValuecolumnTitle:"Feldinhalt"})}if(com.hypermanager.data.DPDetailsGrid){Ext.apply(com.hypermanager.data.DPDetailsGrid.prototype,{dpDetailsGridTitle:"Liste"})}if(com.hypermanager.data.DPGridEditors){Ext.apply(com.hypermanager.data.DPGridEditors.prototype,{comboBoxEmptyOption:"leer"})}if(com.hypermanager.util.LinkUtils){Ext.apply(com.hypermanager.util.LinkUtils.prototype,{fileSelectFF3Title:"Dateiauswahl in Firefox 3",fileSelectFF3Msg:"Aus Sicherheitsgr&uuml;nden wird in Mozilla Firefox 3 nicht der gesamte Pfad &uuml;bernommen.<br/>Erg&auml;nzen Sie entweder den Pfad von Hand oder erfassen Sie die Datei Links mit einem anderen Browser."})}if(com.hypermanager.util.IconDialog){Ext.apply(com.hypermanager.util.IconDialog.prototype,{iconDialogTitle:"Icon ausw&auml;hlen",iconColTitle:"Icon",linkNameColTitle:"Name",iconWindowCancelButtonText:"Abbrechen",iconWindowOkButtonText:"OK"})}if(com.hypermanager.util.GUIHelper){Ext.apply(com.hypermanager.util.GUIHelper,{browserWindowTitle:function(b,a){return b+" [Registersystem: "+a+"] - Scheuring hyperManager"}})}if(com.hypermanager.objects.InternalPagePanel){Ext.apply(com.hypermanager.objects.InternalPagePanel.prototype,{saveText:"Speichern",editText:"Bearbeiten",closeText:"Schliessen",saveChangesText:"&Auml;nderungen speichern?",saveChangesQuestionText:"Sie wollen eine Seite schliessen, welche nicht gespeicherte &Auml;nderungen enth&auml;t. Wollen Sie die &Auml;nderungen speichern?"})}if(com.hypermanager.objects.InternalPageGridPanel){Ext.apply(com.hypermanager.objects.InternalPageGridPanel.prototype,{deleteText:"L&ouml;schen",renameTitle:"Umbennen",renameText:"Bitte geben Sie einen Pagenamen ein",pageNameColTitle:"Pagename",creationDateColTitle:"Erstellt am",lastChangedColTitle:"Ge&auml;ndert am",confirmDeletePageTitle:"Page l&ouml;schen best&auml;tigen",confirmDeletePageText:function(b,a){var c="Sind Sie sicher, dass Sie Page <b>"+b+"</b> l&ouml;schen wollen? ";if(a&&a>0){c+=" (Es sind noch "+a+" Objekt(e) an diese Page gebunden.)"}return c}})}if(com.hypermanager.desk.DeskGridPanel){Ext.apply(com.hypermanager.desk.DeskGridPanel.prototype,{deleteText:"L&ouml;schen",deleteDeskText:"Desk L&ouml;schen",confirmDeleteDeskTitle:"Desk l&ouml;schen best&auml;tigen",confirmDeleteDeskText:function(b,a){var c="Sind Sie sicher, dass Sie Desk <b>"+b+"</b> und alle beinhaltenden MetaLinks/Links l&ouml;schen wollen? ";if(a&&a>0){c+=" (Es sind noch "+a+" Objekt(e) an dieses Desk gebunden.)"}return c},deskNameColTitle:"Deskname",creationDateTitle:"Erstellt am",renameTitle:"Umbenennen",renameText:"Bitte geben Sie einen Desknamen ein",noDeskSelectedErrTitle:"Kein Desk ausgew&auml;lt",noDeskSelectedErrMsg:"Bitte w&auml;hlen Sie ein Desk aus.",noDesksAvailableText:"Keine Desks verf&uuml;gbar."})}if(com.hypermanager.security.PermissionGridPanel){Ext.apply(com.hypermanager.security.PermissionGridPanel.prototype,{colTitleRead:"Lesen",colTitleWrite:"Schreiben",colTitleAdmin:"Admin",colTitleHvfAdmin:"HVF",colTtipHvfAdmin:"Berechtigt User/Gruppe zur Administration des Hierarchischen Vorfilters (HVF) dieser Anwendung",colTitleDpAdmin:"Produkte",colTtipDpAdmin:"Berechtigt User/Gruppe zur Administration der Dataprodukte dieser Anwendung",btnTextAddGroup:"Gruppe(n) hinzuf&uuml;gen",btnTtipAddGroup:"Gruppe(n) hinzuf&uuml;gen",btnTextAddUser:"Benutzer hinzuf&uuml;gen",btnTtipAddUser:"Benutzer hinzuf&uuml;gen",btnTextDelete:"L&ouml;schen",btnTtipDelete:"Ausgew&auml;hlte/r Gruppe/Benutzer l&ouml;schen",btnTextCloseDialog:"Abbrechen",btnTextOkDialog:"OK",userDialogTitle:"Benutzer ausw&auml;hlen",groupDialogTitle:"Gruppe(n) ausw&auml;hlen",lastAdminUserText:"Mindestens ein Benutzer muss Adminrechte besitzen.",lastAdminUserTitle:"Admin Rechte entfernen nicht m&ouml;glich",writeLimitErrTitle:"Lizenz: Schreibrecht Limite &uuml;berschritten",writeLimitErrMsg:function(a){var b="Ihre aktuelle Lizenz ist auf max. "+a+" Benutzer mit Schreibrechten beschr&auml;nkt.<br/>";b+=this.persistDirectly?"Um weiteren Benutzer Schreibrechte zu erteilen, ben&ouml;tigen Sie ein Upgrade Ihrer Lizenz.":"Bitte passen Sie die Berechtigungen entsprechend an oder Upgraden Sie Ihre Lizenz um weiteren Benutzer mit Schreibrechte zu erteilen.";return b}})}if(com.hypermanager.user.GroupGridPanel){Ext.apply(com.hypermanager.user.GroupGridPanel.prototype,{colTitleGroupName:"Gruppenname",colTitleMemberCount:"Mitglieder",allUsersGroupName:"Alle Benutzer"})}if(com.hypermanager.user.GroupSelectionDialog){Ext.apply(com.hypermanager.user.GroupSelectionDialog.prototype,{btnTextCloseDialog:"Abbrechen",btnTextOkDialog:"OK"})}if(com.hypermanager.user.PermissionPanel){Ext.apply(com.hypermanager.user.PermissionPanel.prototype,{adminLabel:"Administrator",tabSystemCreateLabel:"Registersysteme erstellen",deskCreateLabel:"Desks erstellen",dataAppCreateLabel:"Data Anwendungen erstellen",pageCreateLabel:"Pages / Websites erstellen"})}if(com.hypermanager.user.UserAdminDialog){Ext.apply(com.hypermanager.user.UserAdminDialog.prototype,{titleBasic:"Benutzer & Gruppen Administration",userTabTitle:"Benutzer",groupTabTitle:"Gruppen",colUsername:"Username",btnTextDelUser:"L&ouml;schen",btnTtipDelUser:"Ausgew&auml;hlten Benutzer l&ouml;schen",confirmDeleteTitle:"L&ouml;schen best&auml;tigen",confirmDeleteText:function(a){return"Sind Sie sicher, dass Sie User <b>"+a+"</b> l&ouml;schen wollen? "},btnTextAddUser:"Hinzuf&uuml;gen",btnTtipAddUser:"Benutzer hinzuf&uuml;gen",btnTextSave:"Speichern",titleUserGrid:"W&auml;hlen Sie...",deleteCurUserNotAllowedTitle:"Benutzer l&ouml;schen",deleteCurUserNotAllowedText:"Kann derzeit angemeldeter Benutzer nicht l&ouml;schen. <br/>Um den Benutzer zu l&ouml;schen, melden Sie sich mit einem anderen Administrator User an.",unsavedChangesTitle:"Ungespeicherte &Auml;nderungen",unsavedChangesUserText:function(a){return"M&ouml;chten Sie die &Auml;nderungen des Benutzers <b>"+a+"</b> speichern? "},unsavedChangesGroupText:function(a){return"M&ouml;chten Sie die &Auml;nderungen der Gruppenrechte (Gruppe:  <b>"+a+"</b>) speichern? "},userDetailsPanelTitle:"Benutzerdaten",userNameLabel:"Benutzername",userNameBlankText:"Benutzername ist obligatorisch.",userNameMinLengthText:"Der Benutzername sollte min. 2 Zeichen lang sein.",firstNameLabel:"Vorname",lastNameLabel:"Nachname",personalNumberLabel:"Personalnummer",passwordLabel:"Passwort",passwordConfirmationLabel:"Passwortbest&auml;tigung",passwordBlankText:"Passwort ist obligatorisch.",passwordNoMatchText:"Passw&ouml;rter stimmen nicht &uuml;berein.",enabledLabel:"Aktiviert",autoLoginLabel:"Auto-Login",autoLoginQuicktip:"Meldet den Benuter beim Aufruf von hyperManager automatisch an (kein Login Dialog). Kann nur auf f&uuml;r 1 Benutzer gleichzeitig gesetzt sein.",userPermissionLabel:"Benutzerrechte",windowCloseButtonText:"Schliessen",titleGroupMemberGrid:"Gruppenmitglieder",btnTextAddUserGroup:"Hinzuf&uuml;gen",btnTtipAddUserGroup:"Benutzer zur einer oder mehreren Gruppen hinzuf&uuml;gen",btnTextDelUserGroup:"Entfernen",btnTtipDelUserGroup:"Benutzer von ausgew&auml;hlten Gruppen entfernen",titleGroupGrid:"Gruppen",btnTextAddGroup:"Hinzuf&uuml;gen",btnTtipAddGroup:"Gruppe hinzuf&uuml;gen",dialogTextAddGroup:"Gruppenname eingeben:",btnTextDeleteGroup:"L&ouml;schen",btnTtipDeleteGroup:"Ausgw&auml;hlte Gruppe l&ouml;schen",btnTextRenameGroup:"Umbenennen",btnTtipRenameGroup:"Ausgw&auml;hlte Gruppe umbenennen",groupRightsLabel:"Gruppenrechte",btnTextAddGroupUser:"Benutzer hinzuf&uuml;gen",btnTtipAddGroupUser:"Einen oder mehrere Benutzer zur Gruppe hinzuf&uuml;gen",btnTextDelGroupUser:"Entfernen",btnTtipDelGroupUser:"Ausgew&auml;hlte Benutzer von der Gruppe entfernen.",titleUserSelectionDialog:"Benutzer ausw&auml;hlen",titleGroupSelectionDialog:"Gruppe(n) ausw&auml;hlen",writeLimitErrTitle:"Lizenz: Schreibrecht Limite &uuml;berschritten",writeLimitErrMsg:function(a){var b="Ihre aktuelle Lizenz ist auf max. "+a+" Benutzer mit Schreibrechten beschr&auml;nkt.<br/>";b+="Bitte passen Sie die Berechtigungen entsprechend an oder Upgraden Sie Ihre Lizenz um weiteren Benutzer mit Schreibrechte zu erteilen.";return b},readLimitErrTitle:"Lizenz: Leserecht Limite &uuml;berschritten",readLimitErrMsg:function(a){var b="Ihre aktuelle Lizenz ist auf max. "+a+" Benutzer beschr&auml;nkt.<br/>";b+="Upgraden Sie Ihre Lizenz um weiteren Benutzer zu erstellen.";return b}})}if(com.hypermanager.user.UserGridPanel){Ext.apply(com.hypermanager.user.UserGridPanel.prototype,{usernameLabel:"Username",firstNameLabel:"Vorname",lastNameLabel:"Nachname",personalNumberLabel:"Personalnummer"})}if(com.hypermanager.user.UserSelectionDialog){Ext.apply(com.hypermanager.user.UserSelectionDialog.prototype,{btnTextCloseDialog:"Abbrechen",btnTextOkDialog:"OK"})}if(com.hypermanager.user.UserChangePwDialog){Ext.apply(com.hypermanager.user.UserChangePwDialog.prototype,{title:"Passwort &auml;ndern",oldPasswordLabel:"Altes Passwort best&auml;tigen",newPasswordLabel:"Neues Passwort",passwordConfirmationLabel:"Passwortbest&auml;tigung",pwChangedSuccessText:"Passwort erfolgreich ge&auml;ndert.",oldPwNoMatch:"Ihr altes Passwort ist nicht korrekt.",windowsOkButtonLabel:"OK",windowsCancelButtonLabel:"Abbrechen"})}if(com.hypermanager.alert.AlertOptionsDialog){Ext.apply(com.hypermanager.alert.AlertOptionsDialog.prototype,{title:"Benachrichtigungsoptionen &auml;ndern",titleContentAlerts:"Inhaltliche Benachrichtigungen",labelNotificationOnLogin:"Beim Start von hyperManager anzeigen",ttipNotificationOnLogin:"",titleEmail:"E-Mail",labelsenderEmail:"E-Mail Adresse",labelSmtpServer:"SMTP Server",labelSmtpUser:"Benutzername",labelSmtpPassword:"Passwort",labelAdvanced:"Erweitert",labelConnSecurity:"Verbindungssicherheit",labelPort:"Port",labelApplyToAll:"E-Mail Konfiguration f&uuml;r alle User verwenden",qtipApplyToAll:"Falls aktiviert werden die E-Mail Konfiguration f&auml; alle User verwendet. Diese k&ouml;nnen keine &Auml;nderungen an den E-Mail Einstellungen mehr vornehmen.",connSecurityNone:"Keine",connSecurityStartTls:"STARTTLS",connSecuritySSL:"SSL",windowsOkButtonLabel:"OK",windowsCancelButtonLabel:"Abbrechen",errTitleAuth:"Anmeldung fehlgeschlagen.",errTextAuth:"Bitte stellen Sie sicher, dass Username und Passwort korrekt sind.",errTitleHost:"Keine Verbindung zum SMTP Server",errTextHost:"hyperManager konnte keine Verbindung zum SMTP Server herstellen. Stellen Sie sicher, dass der Hostname korrekt ist."})}if(com.hypermanager.alert.TimedAlertDefinitionDialog){Ext.apply(com.hypermanager.alert.TimedAlertDefinitionDialog.prototype,{titleAdd:"Erinnerung hinzuf&uuml;gen",titleEdit:"Erinnerung bearbeiten",titleField:"(Datenfeld / Alle Records)",titleCell:"(Datenzelle / Einzelner Record)",labelDataElement:"Datenelement",labelDescription:"Beschreibung",labelNotificationType:"Benachrichtigungsart",labelReminder:"Erinnerung",labelRemindOnAppointment:"Zum Zeitpunkt des Termines erinnern",ttipRemindOnAppointment:"Exakt zum Zeitpunkt des Termines erinnern.",ttipHintAmount:"Tipp: Negative Zahlen (z.B. -6) k&ouml;nnen verwendet werden, um nach dem eigentlichen Zeitpunkt zu erinnern.",dataElementApp:"Datenapplikation",dataElementCell:"Datenzelle",dataElementField:"Datenfeld",dataElementRow:"Datazeile",timeUnitMinutes:"Minuten",timeUnitHours:"Stunden",timeUnitDays:"Tage",windowsOkButtonLabel:"OK",windowsCancelButtonLabel:"Abbrechen",storeSuccessTitle:"Erinnerung",addSuccessText:"Erinnerung erfolgreich hinzugef&uuml;gt.",editSuccessText:"Erinnerung erfolgreich ge&auml;ndert.",titleAlertOptionsNotSet:"Benachrichtigungsoptionen nicht eingestellt",textAlertOptionsNotSet:"Um die Erinnerungsfunktion via E-Mail zu benutzen, m&uuml;ssen zuerst die Benachrichtigungsoptionen eingestellt werden."})}if(com.hypermanager.license.LicenseWindow){Ext.apply(com.hypermanager.license.LicenseWindow.prototype,{windowTitle:"Lizenz-Information",fieldSetLicense:"Lizenz",fieldSetDetails:"Details",fieldSetModules:"Zus&auml;tzliche Module",fieldSetNrOfUsers:"Anzahl Benutzer",fieldSetUpload:"Lizenz hochladen",labelType:"Lizenz Typ",labelCustomer:"Lizenz Kundenname",labelKey:"Lizenz Schl&uuml;ssel",labelSerial:"Lizenz Seriennummer",labelExpiration:"Lizenz Ablaufdatum",labelHmWrite:"Schreibrechte",labelHmRead:"Leserechte",labelResSolIntegral:"Planer Integral",labelResSolPartial:"Planer Partiell",labelPlanerTimeMgmt:"Zeiterfasser",labelPlanerRead:"Leser",labelModule1:"Modul 1",labelModule2:"Modul 2",labelModule3:"Modul 3",labelModule4:"Modul 4",labelModule5:"Modul 5",labelLicenseFile:"Lizenzdatei",butBrowse:"Durchsuchen...",butUpload:"Hochladen...",colKey:"licenseKey",colType:"licenseType",colCustomer:"licenseCustomer",colSerial:"licenseSerial",colExpiration:"expiration",colHmWrite:"hyperManagerWriteCount",colHmRead:"hyperManagerReadCount",colResSolIntegral:"planerIntegralCount",colResSolPartial:"planerPartialCount",colPlanerRead:"planerReadCount",colPlanerTimeMgmt:"planerTimeManagementCount",colModule1:"additionalModule1",colModule2:"additionalModule2",colModule3:"additionalModule3",colModule4:"additionalModule4",colModule5:"additionalModule5",textModuleActive:"aktiviert",textModuleNotActive:"nicht aktiviert",msgLicenseValid:"Lizenz g&uuml;ltig.",msgLicenseNotValid:"Lizenz nicht g&uuml;ltig.",msgLicenseDetailError:"Kann Lizenzdetails nicht holen.",titleError:"Fehler",titleSuccess:"Erfolg"})}if(com.hypermanager.data.StandaloneDPPanel){Ext.apply(com.hypermanager.data.StandaloneDPPanel.prototype,{title:"Scheuring hyperManager: Standalone Datenprodukt",preFilterTitle:"Hierarchischer Vorfilter"})}if(com.hypermanager.desk.CategoryGridPanel){Ext.apply(com.hypermanager.desk.CategoryGridPanel.prototype,{deleteText:"L&ouml;schen",categoryNameColTitle:"Rubriken Name",creationDateTitle:"Erstellt am",addText:"Hinzuf&uuml;gen",iconText:"Icon&nbsp;ausw&auml;hlen",noDeskSelectedErrTitle:"Keine Rubrik ausgew&auml;hlt",noDeskSelectedErrMsg:"Bitten w&auml;hlen Sie eine Rubrik aus.",deleteCategoryText:"Rubrik l&ouml;schen",noCategoriesText:"Keine Rubriken verf&uml;gbar",confirmDeleteCategoryTitle:"L&ouml;schen best&auml;tigen",confirmDeleteCategoryText:function(a,b){var c="Sind sie sicher, dass Sie die Rubrik <b>"+a+"</b> l&ouml;schen wollen?";if(b&&b>0){c+=" (Es sind immer noch "+b+" MetaLinks mit dieser Rubrik vorhanden.)"}return c}})}if(com.hypermanager.desk.HWMetalinkDialog){Ext.apply(com.hypermanager.desk.HWMetalinkDialog.prototype,{propGridTitleSublink:"Details Sublink",propGridTitleMetaLink:"Details MetaLink",selectIconText:"Icon ausw&auml;hlen",selectCategoryText:"Rubrik ausw&auml;hlen",cancelText:"Abbrechen"})}if(com.hypermanager.objects.HWAdDialog){Ext.apply(com.hypermanager.objects.HWAdDialog.prototype,{adPositionText:"Position",adSize:"Gr&ouml;ssen",northText:"Oben",eastText:"Rechts",southText:"Unten",westText:"Links",windowsOkButtonLabel:"OK",windowsCancelButtonLabel:"Abbrechen"})}if(com.hypermanager.objects.HWAdEditor){Ext.apply(com.hypermanager.objects.HWAdEditor.prototype,{title:"Ad Editor",windowsOkButtonLabel:"Speichern",windowsCancelButtonLabel:"Abbrechen"})}if(Ext.grid.GridView){Ext.apply(Ext.grid.GridView.prototype,{sortAscText:"Aufsteigend sortieren",sortDescText:"Absteigend sortieren",lockText:"Spalte sperren",unlockText:"Spalte freigeben (entsperren)",columnsText:"Spalten"})}if(Ext.MessageBox){Ext.MessageBox.buttonText={ok:"OK",cancel:"Abbrechen",yes:"Ja",no:"Nein"}}},onEnglish:function(){},onFrench:function(){},onItalian:function(){}});languageloader=new LanguageLoader();Ext.namespace("com.hypermanager.security");com.hypermanager.security.PermissionGridPanel=Ext.extend(Ext.grid.EditorGridPanel,{servletURL:ServletContext+"json/tabs",userDialog:null,groupDialog:null,colIsPrincipal:"isprincipal",colSid:"sid",colRead:"read",colWrite:"write",colAdmin:"admin",colHvfAdmin:"hvfAdmin",colDpAdmin:"dpAdmin",colTitleRead:"Read",colTitleWrite:"Write",colTitleAdmin:"Admin",colTitleHvfAdmin:"Prefilter",colTtipHvfAdmin:"Grants User/Group Permission to administrate Hierarchical Pre Filter.",colTitleDpAdmin:"Products",colTtipDpAdmin:"Grants User/Group Permission to administrate Data Products.",btnTextAddGroup:"Add Group",btnTtipAddGroup:"Add Group",btnTextAddUser:"Add User",btnTtipAddUser:"Add User",btnTextDelete:"Delete",btnTtipDelete:"Delete selected Group/User",btnTextCloseDialog:"Cancel",btnTextOkDialog:"Ok",userDialogTitle:"Choose User(s) to grant Permissions to",groupDialogTitle:"Choose Group(s) to grant Permissions to",lastAdminUserText:"At least one user must have Admin Permission",lastAdminUserTitle:"Remove Admin Permissions",writeLimitErrTitle:"Licence Write Permission Limit exceeded",writeLimitErrMsg:function(a){var b="With your current License you are only allowed to have max. "+a+" Users with Write Permission.<br/>";b+=this.persistDirectly?"Upgrade your License if you want to grant write permission to more users.":"Please adjust Permissions accordingly or upgrade your License to grant write permission to more users.";return b},persistDirectly:false,object:null,initComponent:function(){this.dsRecord=Ext.data.Record.create(this.getFieldsArray());if(this.initialConfig.activeObject&&this.objectType!=com.hypermanager.objects.ObjectTypes.type_dataproduct){this.object={object_id:this.initialConfig.activeObject.attributes.object_id,objectType:this.initialConfig.activeObject.attributes.objectType,foreignKey:this.initialConfig.activeObject.attributes.foreignKey}}var c=[{header:this.colTitleSid,dataIndex:this.colSid,id:this.colSid,renderer:this.renderCell,width:250},{header:this.colTitleRead,dataIndex:this.colRead,id:this.colRead,checkerColumn:true},{header:this.colTitleWrite,dataIndex:this.colWrite,id:this.colWrite,checkerColumn:true},{header:this.colTitleAdmin,dataIndex:this.colAdmin,id:this.colAdmin,checkerColumn:true}];if(this.objectType==com.hypermanager.objects.ObjectTypes.type_dataproduct){c.splice(3,0,{header:this.colTitleHvfAdmin,tooltip:this.colTtipHvfAdmin,dataIndex:this.colHvfAdmin,id:this.colHvfAdmin,checkerColumn:true});c.splice(4,0,{header:this.colTitleDpAdmin,tooltip:this.colTtipDpAdmin,dataIndex:this.colDpAdmin,id:this.colDpAdmin,checkerColumn:true})}var a=new Ext.grid.ColumnModel(c);var b={ds:new Ext.data.Store({url:"json/tabs",baseParams:{action:"getAces",object:this.object?Ext.util.JSON.encode(this.object):-1},reader:new Ext.data.JsonReader({root:"aces"},this.dsRecord),autoLoad:this.object!=null},this.dsRecord),cm:a,resizable:false,expandColumn:this.colSid,header:false,split:true,clicksToEdit:1,loadMask:true,enableDragDrop:false,enableHdMenu:false,enableColumnResize:false,enableColumnHide:false,enableColumnHide:false,autoScroll:false,border:false,selModel:new Ext.grid.RowSelectionModel({singleSelect:false,listeners:{selectionchange:{scope:this,fn:function(){if(this.getSelectionModel().hasSelection()&&this.getBottomToolbar()!=null){this.getBottomToolbar().items.get(2).setDisabled(false)}}}}}),plugins:[new com.hypermanager.data.CheckerColumnGridPlugin({skipColTypeCheck:true,doCommitChanges:false,listeners:{action:{fn:function(m,k,d,l,h,n,f){if(h==this.colAdmin&&l&&this.isLastAdmin(d)){Ext.Msg.alert(this.lastAdminUserTitle,this.lastAdminUserText);d.set(this.colAdmin,true);return}if(h==this.colAdmin&&!l){d.set(this.colRead,true);d.set(this.colWrite,true);if(this.objectType==com.hypermanager.objects.ObjectTypes.type_dataproduct){d.set(this.colHvfAdmin,true);d.set(this.colDpAdmin,true)}}if(this.persistDirectly){this.updateAce(d)}else{d.markDirty();this.getStore().modified.push(d)}},scope:this}}})],bbar:[{cls:"x-btn-text-icon",text:this.btnTextAddUser,tooltip:this.btnTtipAddUser,minWidth:50,handler:this.onAddUserClicked,scope:this,icon:iconDir+"user_add.png"},{cls:"x-btn-text-icon",text:this.btnTextAddGroup,tooltip:this.btnTtipAddGroup,minWidth:50,handler:this.onAddGroupClicked,scope:this,icon:iconDir+"group_add.png"},{cls:"x-btn-text-icon",text:this.btnTextDelete,tooltip:this.btnTtipDelete,minWidth:50,handler:this.onDeleteClicked,scope:this,disabled:true,icon:iconDir+"delete.png"}],viewConfig:{emptyText:"No Permissions set.",forceFit:true}};this.deletedRecDs=new Ext.data.Store({reader:new Ext.data.JsonReader({root:"aces"},this.dsRecord)});Ext.apply(this,Ext.apply(this.initialConfig,b));com.hypermanager.security.PermissionGridPanel.superclass.initComponent.apply(this,arguments)},renderCell:function(e,a,b,f,d,c){if(b.get("isprincipal")){a.css="user-row"}else{if(b.get("sid")==com.hypermanager.user.GroupGridPanel.prototype.allUsersGroupName){a.css="all-user-group-row"}else{a.css="group-row"}}return e},getFieldsArray:function(){var a=[{name:"id",type:"int"},{name:this.colSid,type:"string"},{name:this.colIsPrincipal,type:"boolean"},{name:this.colRead,type:"boolean"},{name:this.colWrite,type:"boolean"},{name:this.colAdmin,type:"boolean"}];if(this.objectType==com.hypermanager.objects.ObjectTypes.type_dataproduct){a.push({name:this.colHvfAdmin,type:"boolean"});a.push({name:this.colDpAdmin,type:"boolean"})}return a},createNewRecord:function(a,d){var c=Ext.data.Record.create(this.getFieldsArray());var b=new c({id:-1,sid:a,isprincipal:d,read:true,write:false,admin:false});return b},addOwnerAces:function(){var b=this.createNewRecord(com.hypermanager.security.SecurityMgr.username,true);b.set(this.colAdmin,true);b.set(this.colRead,true);b.set(this.colWrite,true);b.commit(true);this.getStore().add(b);var a=this.createNewRecord(com.hypermanager.user.GroupGridPanel.prototype.allUsersGroupName,false);a.set(this.colAdmin,false);a.set(this.colRead,true);a.set(this.colWrite,false);a.commit(true);this.getStore().add(a)},onAddGroupClicked:function(){this.showGroupDialog()},onAddUserClicked:function(){this.showUserDialog()},showUserDialog:function(){if(this.userDialog==null){this.userDialog=new com.hypermanager.user.UserSelectionDialog({title:this.userDialogTitle});this.userDialog.on("userselect",function(c){if(c!=null){this.getSelectionModel().clearSelections(true);var b=new Array();for(var a=0;a<c.length;a++){var d=this.createNewRecord(c[a].get("username"),true);b.push(d.data);if(!this.persistDirectly){this.getStore().add(d)}}this.getSelectionModel().selectLastRow(true);if(this.persistDirectly){this.addAces(b)}}},this)}this.userDialog.showFiltered({filterRecs:this.getUserRecs(),filterRecCol:this.colSid,selectionGridCol:"username"})},showGroupDialog:function(){if(this.groupDialog==null){this.groupDialog=new com.hypermanager.user.GroupSelectionDialog({title:this.groupDialogTitle});this.groupDialog.on("groupselect",function(a){if(a!=null){var c=new Array();for(var b=0;b<a.length;b++){var d=this.createNewRecord(a[b].get("groupName"),false);c.push(d.data);this.getStore().add(d)}this.getSelectionModel().selectLastRow(true);if(this.persistDirectly){this.addAces(c)}}},this)}this.groupDialog.showFiltered({filterRecs:this.getGroupRecs(),filterRecCol:this.colSid,selectionGridCol:"groupName"})},onDeleteClicked:function(){if(this.getSelectionModel().hasSelection()){var a=this.getSelectionModel().getSelected();if(this.isLastAdmin(a)){Ext.Msg.alert(this.lastAdminUserTitle,this.lastAdminUserText)}else{if(this.persistDirectly){this.deleteAces(a)}else{this.getStore().remove(a);if(a.get("id")>=0){this.deletedRecDs.add(a)}}}}},isLastAdmin:function(d){var c=this.getStore();var a=true;for(var b=0;b<c.getCount();b++){if(c.getAt(b)!=d&&c.getAt(b).get(this.colAdmin)){a=false}}return a},hasModifications:function(){var a=this.getStore().getModifiedRecords();if(a!=null&&a.length>0||this.deletedRecDs.getCount()>0){return true}return false},addAces:function(b){this.loadMask.show();var a=Ext.Ajax.request({url:this.servletURL,params:{action:"addAces",object:Ext.util.JSON.encode(this.object),aces:Ext.util.JSON.encode(b)},scope:this,success:function(c,d){this.loadMask.hide();var e=Ext.util.JSON.decode(c.responseText);if(e.error){permissionPanel.showLicenseWriteLimitMsg();this.getStore().remove(b)}else{this.getStore().loadData(e)}},failure:this.onServerSideError})},deleteAces:function(b){this.loadMask.show();var a=Ext.Ajax.request({url:this.servletURL,params:{action:"deleteAces",object:Ext.util.JSON.encode(this.object),aces:Ext.util.JSON.encode(b.data)},scope:this,success:function(c,d){var e=Ext.util.JSON.decode(c.responseText);if(e.aces){this.getStore().loadData(e)}this.loadMask.hide()},failure:this.onServerSideError})},updateAce:function(b){this.loadMask.show();var a=Ext.Ajax.request({url:this.servletURL,params:{action:"updateAce",object:Ext.util.JSON.encode(this.object),ace:Ext.util.JSON.encode(b.data)},scope:this,success:function(c,d){this.loadMask.hide();var e=Ext.util.JSON.decode(c.responseText);if(e.error){b.reject();this.showLicenseWriteLimitMsg()}else{this.getStore().loadData(e)}},failure:this.onServerSideError})},getGroupRecs:function(){var a=new Array();for(var b=0;b<this.getStore().getCount();b++){var c=this.getStore().getAt(b);if(!c.get(this.colIsPrincipal)){a.push(c)}}return a},getUserRecs:function(){var a=new Array();for(var b=0;b<this.getStore().getCount();b++){var c=this.getStore().getAt(b);if(c.get(this.colIsPrincipal)){a.push(c)}}return a},getJSONAces:function(){var d=new Array();var b="";var a=this.getStore().getRange();for(var c=0;c<a.length;c++){d.push(a[c].data)}b=Ext.util.JSON.encode(d);return b},showLicenseWriteLimitMsg:function(){Ext.Msg.alert(this.writeLimitErrTitle,this.writeLimitErrMsg(com.hypermanager.license.LicenseMgr.hyperManagerWriteCount))}});Ext.namespace("com.hypermanager.security");com.hypermanager.security.SecurityMgr=function(){return{servletURL:ServletContext+"json/user",username:"",authorities:null,autologin:false,ROLE_ADMIN:"ROLE_ADMIN",ROLE_DESK_CREATE:"ROLE_DESK_CREATE",ROLE_PAGE_CREATE:"ROLE_PAGE_CREATE",ROLE_DATA_APP_CREATE:"ROLE_DATA_APP_CREATE",ROLE_TABSYSTEM_CREATE:"ROLE_TABSYSTEM_CREATE",waitUntilUserDetailsRetrieved:function(b,a){var c=Ext.Ajax.request({url:this.servletURL,params:{action:"getUserDetails"},method:"POST",scope:this,success:function(d,e){var f=Ext.util.JSON.decode(d.responseText);this.username=f.username;this.authorities=f.authorities;this.autologin=f.autologin;hyperWebMode=f.hw;b.call(a)},failure:function(){Ext.Msg.alert("Authorization","Failure while retrieving User Details.")}})},isAuthorized:function(b){if(this.authorities==null||b==null){return false}for(var a=0;a<this.authorities.length;a++){if(this.authorities[a]==b||this.authorities[a]==this.ROLE_ADMIN){return true}}return false}}}();Ext.namespace("com.hypermanager.objects");openLinkInNewWindow=function(a){window.open(a)};com.hypermanager.objects.HtmlEditor=Ext.extend(Ext.form.HtmlEditor,{execCmd:function(b,a){if(b=="createlink"){a="javascript:openLinkInNewWindow('"+a+"')"}com.hypermanager.objects.HtmlEditor.superclass.execCmd.call(this,b,a)}});Ext.namespace("com.hypermanager.objects");com.hypermanager.objects.InternalPagePanel=Ext.extend(Ext.Panel,{servletURL:ServletContext+"json/page",saveText:"Save",editText:"Edit",closeText:"Close",saveMaskText:"Saving Page...",loadMaskText:"Loading Page...",saveChangesText:"Save Changes?",saveChangesQuestionText:"You are closing a page that has unsaved changes. Would you like to save your changes?",htmlEditorPanel:null,htmlViewerPanel:null,savedContent:null,editMode:true,authRead:false,authWrite:false,authAdmin:false,initComponent:function(){this.addEvents({pageload:true});var a={layout:"fit",items:this.createItems(),bbar:this.createToolbar(),autoScroll:true,listeners:{afterlayout:{fn:function(b){this.ownerCt.addListener("beforehide",this.onBeforeHide,this)},scope:this}}};Ext.apply(this,Ext.apply(this.initialConfig,a));com.hypermanager.objects.InternalPagePanel.superclass.initComponent.apply(this,arguments)},createToolbar:function(){var c=com.hypermanager.security.SecurityMgr;var b=c.isAuthorized(c.ROLE_PAGE_CREATE);var a=new Ext.Toolbar([{xtype:"tbfill"},{xtype:"button",itemId:"edit",text:this.editText,tooltip:"Edit Page.",minWidth:100,handler:this.doEdit,scope:this,icon:iconDir+"vcard_edit.png",cls:"x-btn-text-icon",hidden:this.editMode},{xtype:"button",itemId:"save",text:this.saveText,tooltip:"Save Page.",minWidth:100,handler:this.doSave,scope:this,icon:iconDir+"disk.png",cls:"x-btn-text-icon",hidden:!this.editMode},{xtype:"button",itemId:"close",text:this.closeText,tooltip:"Close Editor.",minWidth:100,handler:this.doCloseEditor,scope:this,icon:iconDir+"cancel.png",cls:"x-btn-text-icon",hidden:!this.editMode}]);return a},createItems:function(){return[{xtype:"tinymce",border:false,bodyBorder:false,tinymceSettings:{theme:"advanced",language:languageloader.lang,plugins:"fullpage,advlist,safari,pagebreak,style,layer,table,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,fullpage,media,searchreplace,print,contextmenu,paste,noneditable,visualchars,nonbreaking,xhtmlxtras,template,pdw",theme_advanced_buttons1:"fullpage,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,bullist,numlist,|,formatselect,fontselect,fontsizeselect,forecolor,backcolor,|,pdw_toggle,|,help",theme_advanced_buttons2:"cut,copy,paste,pastetext,pasteword,|,outdent,indent,|,link,unlink,|,undo,redo,|,table,row_props,cell_props,|,row_before,row_after,delete_row,|col_before,col_after,delete_col,|,merge_cells,split_cells,|,preview,print",theme_advanced_buttons3:"charmap,insertdate,inserttime,|,emotions,sub,sup,nonbreaking,hr,pagebreak,cite,abbr,del,ins,|,removeformat,styleprops,attribs,|,image,media,template,|,insertlayer,moveforward,movebackward,absolute,|,search,replace,|,cleanup,code,|,visualaid,visualchars",pdw_toggle_on:1,pdw_toggle_toolbars:"3",fullpage_hide_in_source_view:true,fullpage_default_xml_pi:false,theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"left",theme_advanced_statusbar_location:"bottom",theme_advanced_resizing:false,theme_advanced_font_sizes:"8px,9px,10px,11px,12px,14px,16px,18px,20px,24px,30px,36px",extended_valid_elements:"a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]",template_external_list_url:"example_template_list.js"}},{layout:"fit",cls:"htmlViewer",html:"leer",border:false}]},doSave:function(a,b,c){this.loadMask.msg=this.saveMaskText;this.loadMask.show();Ext.Ajax.request({url:this.servletURL,params:{action:"savePage",page:Ext.util.JSON.encode({page_id:this.pageId,content:this.getTinyMCE().getValue()})},scope:this,success:function(d,e){if(d.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error saving the Internal Page id:"+this.pageId)}else{this.savedContent=this.getTinyMCE().getValue();if(c){c.call(this)}}this.loadMask.hide()},failure:function(d,e){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error saving the Internal Page id:"+this.pageId);this.loadMask.hide()}})},doCloseEditor:function(){processAnswer=function(a){if(a=="yes"){this.doSave(null,null,this.switchToViewMode)}if(a=="no"){this.getTinyMCE().setValue(this.savedContent);this.switchToViewMode()}};if(this.savedContent!==this.getTinyMCE().getValue()){Ext.Msg.show({title:this.saveChangesText,msg:this.saveChangesQuestionText,buttons:Ext.Msg.YESNOCANCEL,fn:processAnswer,scope:this,animEl:this.getEl(),icon:Ext.MessageBox.QUESTION})}else{processAnswer.call(this,"no")}},doEdit:function(){this.switchToEditMode()},switchToEditMode:function(){this.editMode=true;this.getViewerPanel().hide();this.getTinyMCE().setValue(this.savedContent);this.getEditorPanel().show();var a=this.getBottomToolbar().items;a.get("edit").hide();a.get("save").show();a.get("close").show()},switchToViewMode:function(){this.editMode=false;this.getEditorPanel().hide();this.getViewerPanel().show();this.getViewerPanel().body.update('<div class="htmlViewer">'+this.savedContent+"</div>");var a=this.getBottomToolbar().items;a.get("save").hide();a.get("close").hide();a.get("edit").show()},loadPage:function(a,b){if(this.pageId==null){this.switchToPage(a,b)}else{this.askSavePage(this.switchToPage.createDelegate(this,[a,b]))}},switchToPage:function(a,b){this.pageId=a;if(b){this.editMode=b}this.load()},load:function(){if(this.loadMask==null){this.loadMask=new Ext.LoadMask(this.container.getEl(),{removeMask:true})}this.loadMask.msg=this.loadMaskText;this.loadMask.show();Ext.Ajax.request({url:this.servletURL,params:{action:"getPage",page_id:this.pageId},scope:this,success:function(b,c){if(b.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error opening the Internal Page id:"+this.pageId)}else{var d=Ext.util.JSON.decode(b.responseText);this.savedContent=d.page.content!=null?d.page.content:"";var a=d.page.currentUsersAce;if(a!=null){this.authRead=d.page.currentUsersAce.read;this.authWrite=d.page.currentUsersAce.write;this.authAdmin=d.page.currentUsersAce.admin;this.getBottomToolbar().items.get("save").setDisabled(!this.authWrite);this.getBottomToolbar().items.get("edit").setDisabled(!this.authWrite);this.fireEvent("pageload",d.page);if(this.editMode&&this.authWrite){this.switchToEditMode()}else{this.switchToViewMode()}}this.loadMask.hide()}},failure:function(a,b){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error opening the Internal Page id:"+this.pageId)}})},askSavePage:function(a){processAnswer=function(b){if(b=="yes"){this.doSave(null,null,a)}if(b=="no"){this.getTinyMCE().setValue(this.savedContent)}if(a){a.call(this)}};if((this.editMode&&this.authWrite)&&(this.savedContent!==this.getTinyMCE().getValue())){Ext.Msg.show({title:this.saveChangesText,msg:this.saveChangesQuestionText,buttons:Ext.Msg.YESNO,fn:processAnswer,scope:this,animEl:this.getEl(),icon:Ext.MessageBox.QUESTION})}else{if(a){a.call(this)}}},onBeforeHide:function(){this.askSavePage(null);return true},getTinyMCE:function(){if(this.items!=null){return this.getComponent(0)}},getViewerPanel:function(){if(this.items!=null){return this.getComponent(1)}},getEditorPanel:function(){if(this.items!=null){return this.getComponent(0)}}});Ext.namespace("com.hypermanager.objects");com.hypermanager.objects.InternalPageGridPanel=Ext.extend(Ext.grid.GridPanel,{servletURL:ServletContext+"json/page",deleteText:"Delete",renameTitle:"Rename",renameText:"Please enter new Pagename",pageNameColTitle:"Pagename",creationDateColTitle:"Creation Date",lastChangedColTitle:"Modification Date",colName:"name",colPageId:"page_id",colCreationDate:"creationDate",colLastChange:"lastChange",colCurrentUsersAce:"currentUsersAce",confirmDeletePageTitle:"Confirm Delete",confirmDeletePageText:function(b,a){var c="Are you sure you want to do delete Page <b>"+b+"</b>?";if(a&&a>0){c+=" (There are still "+a+" Objects linked to this Page.)"}return c},initComponent:function(){var d=com.hypermanager.security.SecurityMgr;var b=d.isAuthorized(d.ROLE_PAGE_CREATE);var a=Ext.data.Record.create([{id:this.colPageId,name:this.colPageId,type:"int"},{id:this.colName,name:this.colName,type:"string"},{id:this.colCreationDate,name:this.colCreationDate,type:"int"},{id:this.colLastChange,name:this.colLastChange,type:"int"},{id:this.colCurrentUsersAce,name:this.colCurrentUsersAce}]);var c={ds:new Ext.data.Store({autoLoad:this.initialConfig.autoLoad,proxy:new Ext.data.HttpProxy({url:this.servletURL}),baseParams:{action:"getPages"},reader:new Ext.data.JsonReader({root:"pages"},a)}),cm:new Ext.grid.ColumnModel([{id:this.colName,header:this.pageNameColTitle,dataIndex:this.colName,width:200,sortable:true},{id:this.colCreationDate,header:this.creationDateColTitle,dataIndex:this.colCreationDate,width:110,sortable:true,renderer:com.hypermanager.data.DPGridRenderers.renderTimestamp},{id:this.colLastChange,header:this.lastChangedColTitle,dataIndex:this.colLastChange,width:110,sortable:true,renderer:com.hypermanager.data.DPGridRenderers.renderTimestamp}]),autoExpandColumn:this.colName,enableColumnHide:false,loadMask:true,columnLines:true,height:300,autoWidth:true,selModel:new Ext.grid.RowSelectionModel({singleSelect:true}),bbar:new Ext.Toolbar([{icon:iconDir+"textfield_rename.png",text:this.renameTitle,cls:"x-btn-text-icon",hidden:!b,disabled:true,handler:this.onRenameClicked,scope:this},{icon:iconDir+"delete.png",text:this.deleteText,cls:"x-btn-text-icon",hidden:!b,disabled:true,handler:this.onDeleteClicked,scope:this}]),viewConfig:{emptyText:"No Pages available.",autoFill:true}};Ext.apply(this,Ext.apply(this.initialConfig,c));com.hypermanager.objects.InternalPageGridPanel.superclass.initComponent.apply(this,arguments)},onRender:function(){this.getSelectionModel().on("selectionchange",function(){if(this.getSelectionModel().hasSelection()){var b=this.getSelectionModel().getSelected();var a=b.get("currentUsersAce");this.getBottomToolbar().items.get(0).setDisabled(!a.admin);this.getBottomToolbar().items.get(1).setDisabled(!a.admin)}},this);com.hypermanager.objects.InternalPageGridPanel.superclass.onRender.apply(this,arguments)},onDeleteClicked:function(){var b=this.getSelectionModel().getSelected();var a=Ext.Ajax.request({url:ServletContext+"json/tabs",params:{action:"getLinkedObjectCount",object:Ext.util.JSON.encode({foreignKey:b.get(this.colPageId),objectType:"I"})},scope:this,success:function(c,d){var e=Ext.util.JSON.decode(c.responseText);Ext.MessageBox.confirm(this.confirmDeletePageTitle,this.confirmDeletePageText(b.get(this.colName),e.objectCount),function(f){if(f=="yes"){var h=Ext.Ajax.request({url:this.servletURL,params:{action:"deletePage",page_id:b.get(this.colPageId)},scope:this,success:function(k,l){this.getStore().remove(b)}})}},this)}})},onRenameClicked:function(){var a=this.getSelectionModel().getSelected();Ext.MessageBox.prompt(this.renameTitle,this.renameText,function(b,d){if(b=="ok"&&d!=a.get(this.colName)){a.set(this.colName,d);var c=Ext.Ajax.request({url:this.servletURL,params:{action:"renamePage",page:Ext.util.JSON.encode(a.data)},scope:this,success:function(){}})}},this,false,a.get("name"))}});Ext.namespace("com.hypermanager.objects");com.hypermanager.objects.HWAdDialog=Ext.extend(Ext.Window,{servletURL:ServletContext+"json/tabs",adPositionText:"Position",adSize:"Size",northText:"Top",eastText:"Right",southText:"Bottom",westText:"Left",windowsOkButtonLabel:"OK",windowsCancelButtonLabel:"Cancel",adId:-1,ad:null,initComponent:function(){var a={};this.buildConfig(a);Ext.apply(this,Ext.apply(this.initialConfig,a));this.addEvents({adstored:true});com.hypermanager.objects.HWAdDialog.superclass.initComponent.call(this)},buildConfig:function(a){Ext.apply(a,{modal:true,width:300,autoHeight:true,shadow:true,resizable:false,layout:"fit",closable:true,closeAction:"hide",listeners:{show:{fn:function(){var b=this.getComponent(0).getForm();b.reset()}}}});this.buildItems(a);this.buildButtons(a)},buildItems:function(a){a.items=[{xtype:"form",labelWidth:147,bodyStyle:"padding:5px 5px 0px 5px",border:true,defaults:{width:120},autoHeight:true,monitorValid:true,bound:true,listeners:{clientvalidation:{fn:function(c,b){Ext.getCmp("submitButton").setDisabled(!b)}}},keys:[{key:[10,13],fn:function(){if(this.getForm().isValid()){this.onOk(this.getForm())}}},{key:[27],fn:function(){this.hide()},scope:this}],items:[{xtype:"selectbox",fieldLabel:this.adPositionText,name:"position",allowBlank:false,store:new Ext.data.ArrayStore({fields:["posBorder","posDesc"],data:[["north",this.northText],["east",this.eastText],["south",this.southText],["west",this.westText]]}),valueField:"posBorder",displayField:"posDesc",value:"south"},{xtype:"numberfield",fieldLabel:this.adSize,name:"size",allowDecimals:false,allowNegative:false,autoStripChars:true,maxValue:200,minValue:30,allowBlank:false}]}]},buildButtons:function(a){a.buttons=[{text:this.windowsOkButtonLabel,type:"submit",id:"submitButton",formBind:true,scope:this,handler:function(){this.onOk(this.items.items[0].getForm())}},{text:this.windowsCancelButtonLabel,handler:function(){this.hide()},scope:this}]},show:function(a,b){this.adId=a;this.objectIdf=b;com.hypermanager.objects.HWAdDialog.superclass.show.call(this);this.loadAd()},loadAd:function(){var b=this.getComponent(0).getForm();b.reset();if(this.adId>0){var a=Ext.Ajax.request({url:this.servletURL,params:{action:"getHWAd",adId:this.adId},scope:this,success:function(c,d){var e=Ext.util.JSON.decode(c.responseText);this.ad=e.ad;b.setValues(e.ad)}})}},onOk:function(c){var a={ad_id:this.adId,object_idf:this.objectIdf,size:c.findField("size").getValue(),position:c.findField("position").getValue(),content:this.adId>0?this.ad.content:""};var b=Ext.Ajax.request({url:this.servletURL,params:{action:this.adId==-1?"insertHWAd":"updateHWAd",ad:Ext.util.JSON.encode(a)},scope:this,success:function(d,e){var f=Ext.util.JSON.decode(d.responseText);this.fireEvent("adstored",f.ad,this);this.hide()}})}});Ext.namespace("com.hypermanager.objects");com.hypermanager.objects.HWAdEditor=Ext.extend(Ext.Window,{servletURL:ServletContext+"json/tabs",title:"Ad Editor",windowsOkButtonLabel:"Save",windowsCancelButtonLabel:"Cancel",ad:null,content:"",initComponent:function(){var a={};this.buildConfig(a);Ext.apply(this,Ext.apply(this.initialConfig,a));this.addEvents({adstored:true});com.hypermanager.objects.HWAdEditor.superclass.initComponent.call(this)},buildConfig:function(a){Ext.apply(a,{modal:true,shadow:true,resizable:true,layout:"fit",closable:true,keys:[{key:[10,13],scope:this,fn:this.onOk},{key:[27],fn:function(){this.close()},scope:this}]});this.buildItems(a);this.buildButtons(a)},buildItems:function(a){var b={theme:"advanced",language:languageloader.lang,plugins:"fullpage,advlist,safari,pagebreak,style,layer,table,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,fullpage,media,searchreplace,print,contextmenu,paste,noneditable,visualchars,nonbreaking,xhtmlxtras,template",theme_advanced_buttons1:"fullpage,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,bullist,numlist,|,formatselect,fontselect,fontsizeselect,forecolor,backcolor,|,help",theme_advanced_buttons2:"cut,copy,paste,pastetext,pasteword,|,outdent,indent,|,link,unlink,|,undo,redo,|,table,row_props,cell_props,|,row_before,row_after,delete_row,|col_before,col_after,delete_col,|,merge_cells,split_cells,|,preview,print",theme_advanced_buttons3:"charmap,insertdate,inserttime,|,emotions,sub,sup,nonbreaking,hr,pagebreak,cite,abbr,del,ins,|,removeformat,styleprops,attribs,|,image,media,template,|,insertlayer,moveforward,movebackward,absolute,|,search,replace,|,cleanup,code,|,visualaid,visualchars",fullpage_hide_in_source_view:true,fullpage_default_xml_pi:false,theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"left",theme_advanced_statusbar_location:"bottom",theme_advanced_font_sizes:"8px,9px,10px,11px,12px,14px,16px,18px,20px,24px,30px,36px",extended_valid_elements:"a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]",template_external_list_url:"example_template_list.js"};if(this.ad.position=="west"||this.ad.position=="east"){Ext.apply(b,{theme_advanced_source_editor_height:600,theme_advanced_source_editor_width:this.ad.size})}else{Ext.apply(b,{theme_advanced_source_editor_height:this.ad.size,theme_advanced_source_editor_width:800})}a.items=[{xtype:"tinymce",border:false,bodyBorder:false,autoScroll:true,value:this.ad?this.ad.content:"",tinymceSettings:b}]},buildButtons:function(a){a.buttons=[{text:this.windowsOkButtonLabel,type:"submit",id:"submitButton",formBind:true,scope:this,handler:this.onOk},{text:this.windowsCancelButtonLabel,handler:function(){this.hide()},scope:this}]},show:function(){com.hypermanager.objects.HWAdEditor.superclass.show.call(this)},onOk:function(){this.ad.content=this.getComponent(0).getValue();var a=Ext.Ajax.request({url:this.servletURL,params:{action:"updateHWAd",ad:Ext.util.JSON.encode(this.ad)},scope:this,success:function(b,c){var d=Ext.util.JSON.decode(b.responseText);this.fireEvent("adstored",d.ad,this);this.getComponent(0).destroy();this.close()}})}});Ext.namespace("com.hypermanager.objects");com.hypermanager.objects.ObjectTypes=function(){return{nameTooShortErrTitle:"Add New Object",nameTooShortErrText:"Object Name must be at least one character",addDeskTitle:"Add Desk",linkDeskText:"Link Existing Desk",linkDataProductTitle:"Add Data Product",addPageTitle:"Add Page",linkPageText:"Link Existing Page",pageText:"Pages",addWebsiteTitle:"Add Website",deskPanelTitle:"Desks",type_desk:"D",type_dataproduct:"P",type_page:"I",type_website:"L",type_resSolutionRB:"R",type_resSolutionZT:"Z",type_resSolutionBT:"B",type_resSolutionRepResPro:"S",type_resSolutionRepProRes:"T",idx_desk:0,idx_data:1,idx_page:2,idx_website:3,idx_noaccess:4,idx_resSolRB:5,idx_resSolZT:6,idx_resSolBT:7,idx_resSolRepResPro:8,idx_resSolRepProRes:9,defaultTitleIcon:"add.png",defaultDeskIcon:"layout_content.png",defaultProductIcon:"table.png",defaultPageIcon:"page.png",defaultWebsiteIcon:"world.png",getDefaultObjectIcon:function(a){if(a==this.type_dataproduct){return this.defaultProductIcon}else{if(a==this.type_page){return this.defaultPageIcon}else{if(a==this.type_website){return this.defaultWebsiteIcon}else{return this.defaultDeskIcon}}}},getIconFromObject:function(a){if(!a.icon||a.icon.length<=3){var b=iconDir+com.hypermanager.objects.ObjectTypes.getDefaultObjectIcon(a.objectType)}else{if(a.icon.substring(0,7)=="http://"){var b=a.icon}else{var b=iconDir+a.icon}}return b}}}();Ext.namespace("com.hypermanager.objects");com.hypermanager.objects.ObjectDialog=Ext.extend(Ext.Window,{servletURL:ServletContext+"json/tabs",generalTabTitle:"General",permissionTabTitle:"Permissions",isTitleText:"Title",productNameColTitle:"Product Name",applicationNameColTitle:"Application Name",ownerColTitle:"Owner",descColTitle:"Description",noDeskSelectedErrTitle:"No Desk Selected",noDeskSelectedErrMsg:"Please choose a Desk to link Object to.",noPageSelectedErrTitle:"No Page Selected",noPageSelectedErrMsg:"Please choose a Page to link Object to.",noDPSelectedErrTitle:"No Data Product Selected",noDPSelectedErrMsg:"Please choose a Data Product to link Object to.",noDPAvailableText:"No Data Products available",windowsOkButtonLabel:"OK",windowsCancelButtonLabel:"Cancel",editTitle:"Edit Object",lastSelectedIcon:null,permissionGridPanel:null,createAuthorized:null,initComponent:function(){var a={};this.buildConfig(this.initialConfig);Ext.apply(this,Ext.apply(this.initialConfig,a));this.addEvents({objectstored:true});com.hypermanager.objects.ObjectDialog.superclass.initComponent.call(this)},buildConfig:function(a){var c="";var d=com.hypermanager.objects.ObjectTypes;var b=com.hypermanager.security.SecurityMgr;this.lastSelectedIcon=a.activeObject?a.activeObject.attributes.icon.substring(iconDir.length):"";if(a.type==d.type_desk){c=d.addDeskTitle;this.createAuthorized=b.isAuthorized(b.ROLE_DESK_CREATE)}else{if(a.type==d.type_page){c=d.addPageTitle;this.createAuthorized=b.isAuthorized(b.ROLE_PAGE_CREATE)}else{if(a.type==d.type_dataproduct){c=d.linkDataProductTitle}else{if(a.type==d.type_website){c=d.addWebsiteTitle}}}}Ext.apply(a,{title:a.activeObject?this.editTitle:c,layout:"fit",width:a.type==d.type_dataproduct||a.type==d.type_page?600:400,autoHeight:true,closeAction:"hide",constrain:true,closeable:true,modal:true,shadow:true,buttonAlign:"center",listeners:{show:{scope:this,fn:function(){var e=this.getComponent(0).getComponent(0).getForm().findField("name");e.focus();e.selectText()}}}});this.buildItems(a);this.buildButtons(a)},buildItems:function(a){var f=com.hypermanager.objects.ObjectTypes;this.iconElementId=Ext.id();if(a.type==f.type_desk){this.deskGrid=new com.hypermanager.desk.DeskGridPanel();var d={xtype:"fieldset",checkboxToggle:a.activeObject==null&&this.createAuthorized,title:a.activeObject==null&&this.createAuthorized?f.linkDeskText:f.deskPanelTitle,autoHeight:true,collapsed:a.activeObject==null&&this.createAuthorized,listeners:{expand:{scope:this,fn:function(){this.deskGrid.getStore().load();this.doLayout()}}},items:[{xtype:"panel",anchor:"100%",layout:"fit",items:[this.deskGrid]}]};this.deskGrid.getSelectionModel().on("rowselect",function(k,n,m){var l={objectType:com.hypermanager.objects.ObjectTypes.type_desk,foreignKey:m.get("desk_id")};var h=m.get("currentUsersAce");if(m.get("currentUsersAce").admin){this.getComponent(0).unhideTabStripItem(1);this.permissionGridPanel.getStore().load({params:{object:Ext.util.JSON.encode(l)}});this.permissionGridPanel.object=l}else{this.getComponent(0).hideTabStripItem(1)}},this);if(a.activeObject){this.deskGrid.getStore().on("load",function(){var k=this.deskGrid.getStore().find("desk_id",a.activeObject.attributes.foreignKey);this.deskGrid.getSelectionModel().selectRow(k);var h=function(){return this.deskGrid.getView().focusRow(k)};h.defer(300,this)},this);this.deskGrid.getStore().load()}}else{if(a.type==f.type_page){this.pageGrid=new com.hypermanager.objects.InternalPageGridPanel();var d={xtype:"fieldset",checkboxToggle:a.activeObject==null&&this.createAuthorized,title:a.activeObject==null&&this.createAuthorized?f.linkPageText:f.pageText,autoHeight:true,collapsed:a.activeObject==null&&this.createAuthorized,listeners:{expand:{scope:this,fn:function(){this.pageGrid.getStore().load();this.doLayout()}}},items:[{xtype:"panel",anchor:"100%",layout:"fit",items:[this.pageGrid]}]};this.pageGrid.getSelectionModel().on("rowselect",function(h,m,l){if(l.get("currentUsersAce").admin){this.getComponent(0).unhideTabStripItem(1);var k={objectType:com.hypermanager.objects.ObjectTypes.type_page,foreignKey:l.get("page_id")};this.permissionGridPanel.getStore().load({params:{object:Ext.util.JSON.encode(k)}});this.permissionGridPanel.object=k}else{this.getComponent(0).hideTabStripItem(1)}},this);if(a.activeObject){this.pageGrid.getStore().on("load",function(){var k=this.pageGrid.getStore().find("page_id",a.activeObject.attributes.foreignKey);this.pageGrid.getSelectionModel().selectRow(k);var h=function(){return this.pageGrid.getView().focusRow(k)};h.defer(300,this)},this);this.pageGrid.getStore().load()}}else{if(a.type==f.type_dataproduct||a.type==f.type_resSolutionRB||a.type==f.type_resSolutionZT||a.type==f.type_resSolutionBT||a.type==f.type_resSolutionRepResPro||a.type==f.type_resSolutionRepProRes){this.dataProductGrid=this.createDataLinkPanel();var d=this.dataProductGrid;var c=com.hypermanager.license.LicenseMgr;if(!c.isLicensed(c.LICENSE_TYPE_PERSONAL)){this.dataProductGrid.getSelectionModel().on("rowselect",function(h,m,l){if(l.get("currentUsersAce").admin){this.getComponent(0).unhideTabStripItem(1);var k={objectType:com.hypermanager.objects.ObjectTypes.type_dataproduct,foreignKey:l.get("idApp")};this.permissionGridPanel.getStore().load({params:{object:Ext.util.JSON.encode(k)}})}else{this.getComponent(0).hideTabStripItem(1)}this.permissionGridPanel.object=k},this)}this.dataProductGrid.getStore().on("load",function(l,k){if(a.activeObject){var m=this.dataProductGrid.getStore().find("id",a.activeObject.attributes.foreignKey)}else{var m=0}if(l.getCount()>0){this.dataProductGrid.getSelectionModel().selectRow(m);var h=function(){this.dataProductGrid.getView().focusRow(m)};h.defer(300,this)}},this)}else{if(a.type==f.type_website){var d={layout:"form",style:"margin-left: 10px; margin-right: 10px;",border:false,items:[{xtype:"textfield",fieldLabel:"URL",name:"url",anchor:"100%",listeners:{change:{scope:this,fn:function(o,n,l){if(n.substring(1,3)!=":\\"){var k=com.hypermanager.util.LinkUtils.parseURL(n,false);o.setValue(k);var m=com.hypermanager.util.LinkUtils.getFaviconUrl(k);if(m!=null){var h=new Image();h.onerror=function(p){};h.onload=function(p){this.setButtonIcon(m);this.lastSelectedIcon=m}.createDelegate(this);h.src=m}}}}}}]};if(a.activeObject){var b=Ext.Ajax.request({url:ServletContext+"json/page",params:{action:"getWebsite",website_id:a.activeObject.attributes.foreignKey},scope:this,success:function(h,l){var m=Ext.util.JSON.decode(h.responseText);var k=m.website.url;this.getComponent(0).getForm().findField("url").setValue(k)}})}}}}}var e=[{xtype:"form",labelAlign:"top",title:this.generalTabTitle,bodyStyle:"padding:5px",autoHeight:true,autoWidth:true,items:[{layout:"column",autoHeight:true,border:false,items:[{layout:"form",columnWidth:0.15,style:"margin-left: 10px;",border:false,items:[{xtype:"label",cls:"x-form-item",style:"margin-bottom: 0px;",text:"Icon:",name:"iconLabel"},{width:20,xtype:"button",name:"iconButton",cls:"x-btn-icon",id:this.iconElementId,icon:a.activeObject?a.activeObject.attributes.icon:iconDir+f.getDefaultObjectIcon(a.type),scope:this,handler:function(){var h=new com.hypermanager.util.IconDialog();h.on("iconSelected",function(k){this.lastSelectedIcon=k.get("name");this.setButtonIcon(k.get("url"))},this);h.show()}}]},{layout:"form",columnWidth:0.75,border:false,items:[{xtype:"textfield",fieldLabel:"Name",name:"name",value:a.activeObject?a.activeObject.text:"",anchor:"95%"}]},{layout:"form",columnWidth:0.1,border:false,items:[{xtype:"checkbox",fieldLabel:this.isTitleText,align:"center",name:"title",checked:a.activeObject?a.activeObject.attributes.isTitle:false}]}]},d]}];var c=com.hypermanager.license.LicenseMgr;if(a.type!=f.type_website&&!c.isLicensed(c.LICENSE_TYPE_PERSONAL)){this.permissionGridPanel=new com.hypermanager.security.PermissionGridPanel({activeObject:a.activeObject,height:300,objectType:a.type});if(a.activeObject==null&&a.type!=f.type_dataproduct){this.permissionGridPanel.addOwnerAces()}e.push({title:this.permissionTabTitle,items:[this.permissionGridPanel],disabled:a.type==f.type_website})}a.items=[{xtype:"tabpanel",autoHeight:true,autoWidth:true,activeTab:0,listeners:{tabchange:{scope:this,fn:function(k,h){this.syncSize()}}},items:e}]},buildButtons:function(a){a.buttons=[{text:this.windowsOkButtonLabel,handler:function(){this.storeObject(a.type,this.getComponent(0).getComponent(0).getForm(),a.activeObject)},scope:this},{text:this.windowsCancelButtonLabel,handler:function(){this.hide()},scope:this}]},createDataLinkPanel:function(){var c=Ext.data.Record.create([{name:"id",type:"int"},{name:"idApp",type:"int"},{name:"ApplicationName",type:"string"},{name:"ProductName",type:"string"},{name:"Owner",type:"string"},{name:"Description",type:"string"},{name:"currentUsersAce"}]);var d=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:"json/tabs"}),baseParams:{action:"getAllDataProducts"},reader:new Ext.data.JsonReader({root:"data"},c)});var a=new Ext.grid.ColumnModel([{header:this.applicationNameColTitle,dataIndex:"ApplicationName",width:135,sortable:true},{header:this.productNameColTitle,dataIndex:"ProductName",width:135,sortable:true},{header:this.ownerColTitle,dataIndex:"Owner",width:80,sortable:true},{header:this.descColTitle,dataIndex:"Description",width:200,sortable:true}]);var b=new Ext.grid.GridPanel({height:300,ds:d,cm:a,loadMask:true,selModel:new Ext.grid.RowSelectionModel({singleSelect:true}),viewConfig:{emptyText:this.noDPAvailableText,autoFill:true}});d.load();return b},show:function(a){this.objectIdf=a;com.hypermanager.objects.ObjectDialog.superclass.show.call(this)},setButtonIcon:function(c){var a=Ext.get(this.iconElementId);var b=a.child(".x-btn-text");Ext.DomHelper.applyStyles(b,"background-image:url("+c+");")},storeObject:function(d,a,k){var t=com.hypermanager.objects.ObjectTypes;var u=true;if(k!=null){this.lastSelectedIcon=this.lastSelectedIcon.length>0?this.lastSelectedIcon:k.attributes.icon}var b=a.findField("title").getValue();var o=a.findField("name").getValue();var v={object_id:k?k.attributes.object_id:-1,tab_idf:this.tab_idf,guiIndex:this.guiIndex,name:o,objectType:d,foreignKey:-1,icon:this.lastSelectedIcon,isTitle:b};if(d==t.type_desk){if(this.deskGrid.getSelectionModel().hasSelection()){var r=this.deskGrid.getSelectionModel().getSelected().get("desk_id");var l=this.deskGrid.getSelectionModel().getSelected().get("deskName");v.foreignKey=r;if(!v.name||v.name.length==0){v.name=l}}else{if(k||!this.createAuthorized){u=false;Ext.Msg.alert(this.noDeskSelectedErrTitle,this.noDeskSelectedErrMsg)}}}else{if(d==t.type_dataproduct||d==t.type_resSolutionRB||d==t.type_resSolutionZT||d==t.type_resSolutionBT||d==t.type_resSolutionRepResPro||d==t.type_resSolutionRepProRes){if(this.dataProductGrid.getSelectionModel().hasSelection()){var s=this.dataProductGrid.getSelectionModel().getSelected().get("id");var h=this.dataProductGrid.getSelectionModel().getSelected().get("ProductName");var p=this.dataProductGrid.getSelectionModel().getSelected().get("idApp");v.foreignKey=s;if(!v.name||v.name.length==0){v.name=h}}else{u=false;Ext.Msg.alert(this.noDPSelectedErrTitle,this.noDPSelectedErrMsg)}if(p==-201){v.objectType="Z"}if(p==-202){v.objectType="R"}if(p==-203){v.objectType="B"}if(p==-204){v.objectType="S"}if(p==-205){v.objectType="T"}}else{if(d==t.type_website){var f=a.findField("url").getValue();Ext.apply(v,{URL:f,foreignKey:k?k.attributes.foreignKey:-1})}else{if(d==t.type_page){if(this.pageGrid.getSelectionModel().hasSelection()){var q=this.pageGrid.getSelectionModel().getSelected().get("page_id");var m=this.pageGrid.getSelectionModel().getSelected().get("name");v.foreignKey=q;if(!v.name||v.name.length==0){v.name=m}}else{if(k||!this.createAuthorized){u=false;Ext.Msg.alert(this.noPageSelectedErrTitle,this.noPageSelectedErrMsg)}}}}}}if(u){if(d!=t.type_website){var e=this.getComponent(0).getComponent(1).getComponent(0);if(e.hasModifications()||(k&&k.foreignKey!=v.foreignKey)){var n=e.getJSONAces()}}var c=Ext.Ajax.request({url:this.servletURL,params:{action:"storeObject",object:Ext.util.JSON.encode(v),aces:n,URL:f},scope:this,success:function(w,x){var y=Ext.util.JSON.decode(w.responseText);if(y.error){e.showLicenseWriteLimitMsg()}else{var z=y.object;this.fireEvent("objectstored",z,this);this.hide()}},failure:this.onServerSideError})}}});Ext.namespace("com.hypermanager.desk");com.hypermanager.desk.DeskGridPanel=Ext.extend(Ext.grid.GridPanel,{servletURL:ServletContext+"json/desk",deleteText:"Delete",deskNameColTitle:"Desk Name",creationDateTitle:"Created on",renameTitle:"Rename",renameText:"Please enter new Deskname",noDeskSelectedErrTitle:"No Desk Selected",noDeskSelectedErrMsg:"Please choose a Desk to link.",noDesksAvailableText:"No Desks available.",deleteDeskText:"Delete Desk",confirmDeleteDeskTitle:"Confirm Delete",confirmDeleteDeskText:function(b,a){var c="Are you sure you want to do delete Desk <b>"+b+"</b> and all containing Metalinks/Links?";if(a&&a>0){c+=" (There are still "+a+" Objects linked to this Desk.)"}return c},initComponent:function(){var c=com.hypermanager.security.SecurityMgr;var a=Ext.data.Record.create([{id:"desk_id",name:"desk_id",type:"int"},{id:"deskName",name:"deskName",type:"string"},{id:"creationDate",name:"creationDate",type:"int"},{id:"currentUsersAce",name:"currentUsersAce"}]);var b={ds:new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:this.servletURL}),baseParams:{action:"getDesks"},reader:new Ext.data.JsonReader({root:"desks"},a)}),cm:new Ext.grid.ColumnModel([{id:"deskName",header:this.deskNameColTitle,dataIndex:"deskName",width:200,sortable:true},{id:"creationDate",header:this.creationDateTitle,dataIndex:"creationDate",width:110,sortable:true,renderer:com.hypermanager.data.DPGridRenderers.renderTimestamp}]),autoExpandColumn:"deskName",enableColumnHide:false,columnLines:true,loadMask:true,height:300,selModel:new Ext.grid.RowSelectionModel({singleSelect:true}),bbar:new Ext.Toolbar([{icon:iconDir+"textfield_rename.png",text:this.renameTitle,cls:"x-btn-text-icon",disabled:true,handler:this.onRenameClicked,scope:this},{icon:iconDir+"delete.png",text:this.deleteText,cls:"x-btn-text-icon",disabled:true,handler:this.onDeleteClicked,scope:this}]),viewConfig:{emptyText:this.noDesksAvailableText,autoFill:true}};Ext.apply(this,Ext.apply(this.initialConfig,b));com.hypermanager.desk.DeskGridPanel.superclass.initComponent.apply(this,arguments)},onRender:function(){this.getSelectionModel().on("selectionchange",function(){if(this.getSelectionModel().hasSelection()){var b=this.getSelectionModel().getSelected();var a=b.get("currentUsersAce");this.getBottomToolbar().items.get(0).setDisabled(!a.admin);this.getBottomToolbar().items.get(1).setDisabled(!a.admin)}},this);com.hypermanager.desk.DeskGridPanel.superclass.onRender.apply(this,arguments)},onDeleteClicked:function(){var a=this.getSelectionModel().getSelected();var b=Ext.Ajax.request({url:ServletContext+"json/tabs",params:{action:"getLinkedObjectCount",object:Ext.util.JSON.encode({foreignKey:a.get("desk_id"),objectType:"D"})},scope:this,success:function(d,e){var f=Ext.util.JSON.decode(d.responseText);var c=f.objectCount;Ext.MessageBox.confirm(this.confirmDeleteDeskTitle,this.confirmDeleteDeskText(a.get("deskName"),f.objectCount),function(h){if(h=="yes"){var k=Ext.Ajax.request({url:this.servletURL,params:{action:"deleteDesk",desk_id:a.get("desk_id")},scope:this,success:function(l,m){this.getStore().remove(a)},failure:this.onServerSideError})}},this)}})},onRenameClicked:function(){var a=this.getSelectionModel().getSelected();Ext.MessageBox.prompt(this.renameTitle,this.renameText,function(b,d){if(b=="ok"&&d!=a.get("deskName")){a.set("deskName",d);var c=Ext.Ajax.request({url:this.servletURL,params:{action:"renameDesk",desk_id:a.get("desk_id"),name:d},scope:this,success:function(){}})}},this,false,a.get("deskName"))}});Ext.namespace("com.hypermanager");com.hypermanager.HyperManagerMain=function(a){this.createText(a);com.hypermanager.security.SecurityMgr.waitUntilUserDetailsRetrieved(fn,this)};fn=function(a){com.hypermanager.license.LicenseMgr.waitUntilLicenseDetailsRetrieved(this.init,this)};com.hypermanager.HyperManagerMain.prototype={i18nConfig:{menu_file:"File",menu_file_export:"Excel Export",menu_file_print:"Print",menu_file_tabSystems:"Tab Systems",menu_file_launcher:"Launcher",menu_file_logout:"Logout",menu_design:"Design",menu_design_applications:"Applications",menu_design_desks:"Desks",menu_design_pages:"Pages",menu_design_categories:"Categories",menu_extras:"Extras",menu_extras_alertoptions:"Alert Options",menu_extras_language:"Language",menu_extras_users:"Users & Permissions",menu_extras_changepw:"Change Password",menu_resSolution:"resSolution",menu_resSolution_refresh:"Refresh Data",menu_help:"Help",menu_help_help:"Help",menu_help_manual:"Manual",menu_help_homepage:"Homepage",menu_help_about:"About",menu_help_license:"License",dialog_btn_close:"Close",msg_title_userm_personal:"User Management",msg_text_userm_personal:"hyperManager Personal Edition is for single-user only.<br>Purchase hyperManager Enterprise Edition to create and utilize multiple users.",panel_titel_permissions:"Permissions"},createText:function(a){this.i18n={};for(string in this.i18nConfig){var b=string+"Text";this.i18n[string]=(a&&a[b])?a[b]:this.i18nConfig[string]}},tabSystemControl:null,tabSystemControlDialog:null,appDesignDialog:null,userDialog:null,userChangePwDialog:null,alertOptionsDialog:null,categoryDialog:null,standaloneDPPanel:null,mainTb:null,init:function(){Ext.QuickTips.init();hMhistory=new com.hypermanager.util.History();hMhistory.initHistory();var a=hMhistory.getValue("dpid");if(a&&a.length>0){this.createStandaloneDataProduct()}else{this.createTabSystem()}},createTabSystem:function(){var a=new Ext.Panel({hideBorders:true,layout:"fit",region:"center",tbar:this.createMainToolBar(false)});this.tabSystemControl=new com.hypermanager.tabs.TabSystemControl(a);viewport=new Ext.Viewport({hideborders:true,layout:"border",items:[a]})},createStandaloneDataProduct:function(){this.standaloneDPPanel=new com.hypermanager.data.StandaloneDPPanel({tbar:this.createMainToolBar(true)});viewport=new Ext.Viewport({hideborders:true,layout:"fit",items:[this.standaloneDPPanel]})},createMainToolBar:function(e){var m=com.hypermanager.security.SecurityMgr;var o=com.hypermanager.license.LicenseMgr;var k=new Ext.menu.Menu({id:"fileMenu",items:[{text:this.i18n.menu_file_print,icon:iconDir+"printer.png",handler:function(){if(e){this.standaloneDPPanel.dataApp.doPrint.call(r.dataApp)}else{var r=this.tabSystemControl.activeTab.objectControl;if(r.openedObject!=null&&r.openedObject.attributes.objectType==com.hypermanager.objects.ObjectTypes.type_dataproduct){r.dataApp.doPrint.call(r.dataApp)}else{window.print()}}},scope:this},{text:this.i18n.menu_file_export,icon:iconDir+"page_excel.png",handler:function(){if(e){this.standaloneDPPanel.dataApp.doExport.call(r.dataApp)}else{var r=this.tabSystemControl.activeTab.objectControl;if(r.openedObject!=null&&r.openedObject.attributes.objectType==com.hypermanager.objects.ObjectTypes.type_dataproduct){r.dataApp.doExport.call(r.dataApp)}else{}}},scope:this},{text:this.i18n.menu_file_tabSystems,icon:iconDir+"application_cascade.png",handler:function(){this.setContentPanelVisible(false);this.tabSystemControlDialog=new com.hypermanager.tabs.TabSystemDialog({menuEnabled:true,ID_TabSystem:this.tabSystemControl.ID_TabSystem});this.tabSystemControlDialog.dialog.on("hide",function(){this.setContentPanelVisible(true)},this);this.tabSystemControlDialog.on("tabsystemselect",function(s,r){if(this.tabSystemControl==null){viewport.destroy();hMhistory.reset("#tsid="+s);this.createTabSystem()}else{hMhistory.updateHistory("tsid",s);this.tabSystemControl.getRootTabs(s)}},this)},scope:this},{text:this.i18n.menu_file_launcher,icon:iconDir+"launch.png",disabled:(parseUri(window.location.href).host==="localhost"||parseUri(window.location.href).host==="127.0.0.1"),handler:function(){startAppLauncher()}},{text:this.i18n.menu_file_logout+" <b>[ "+com.hypermanager.security.SecurityMgr.username+" ]</b>",icon:iconDir+"door_open.png",handler:function(){window.location.href="j_spring_security_logout"}}]});k.addListener("beforeshow",function(t){var r=t.items.findIndex("text",this.i18n.menu_file_export);if(r!=-1){exportOption=t.items.get(r);if(e){exportOption.enable()}else{var s=this.tabSystemControl.activeTab.objectControl;if(s.openedObject!=null&&s.openedObject.attributes.objectType==com.hypermanager.objects.ObjectTypes.type_dataproduct){exportOption.enable()}else{exportOption.disable()}}}},this);var l=new Ext.menu.Menu({id:"designMenu",items:[{text:this.i18n.menu_design_applications,icon:iconDir+"application_form_edit.png",handler:this.showAppDesignDialog,scope:this},{text:this.i18n.menu_design_desks,icon:iconDir+"layout_content.png",handler:this.showDeskDialog,scope:this},{text:this.i18n.menu_design_pages,icon:iconDir+"page.png",handler:this.showPageDialog,scope:this},{text:this.i18n.menu_design_categories,hidden:!m.isAuthorized(m.ROLE_DESK_CREATE)||!hyperWebMode,icon:iconDir+"text_columns.png",handler:this.showCategoryDialog,scope:this}]});var p=new Ext.menu.Menu({icon:iconDir+"world.png",id:"extrasMenu",items:[{text:"hyperWeb",icon:iconDir+"page_world.png",handler:function(){window.open("http://www.hyperweb.org")}},{text:this.i18n.menu_extras_alertoptions,icon:iconDir+"time.png",handler:function(){var r=Ext.getBody().createChild({tag:"div"});if(this.alertOptionsDialog==null){this.alertOptionsDialog=new com.hypermanager.alert.AlertOptionsDialog({el:r})}this.alertOptionsDialog.show()}},{text:this.i18n.menu_extras_language,menu:{items:[new Ext.menu.CheckItem({text:"Deutsch",checked:(parseUri(window.location.href).queryKey.lang==="de"||parseUri(window.location.href).queryKey.lang==undefined)?true:false,group:"theme",checkHandler:function(){window.location.href="?lang=de"}}),new Ext.menu.CheckItem({text:"English",checked:(parseUri(window.location.href).queryKey.lang==="en")?true:false,group:"theme",checkHandler:function(){window.location.href="?lang=en"}})]}},{text:this.i18n.menu_extras_users,hidden:!m.isAuthorized(m.ROLE_ADMIN),icon:iconDir+"group.png",handler:function(){o=com.hypermanager.license.LicenseMgr;if(o.isLicensed(o.LICENSE_TYPE_PERSONAL)){Ext.Msg.alert(this.i18n.msg_title_userm_personal,this.i18n.msg_text_userm_personal)}else{this.setContentPanelVisible(false);var r=Ext.getBody().createChild({tag:"div"});if(this.userDialog==null){this.userDialog=new com.hypermanager.user.UserAdminDialog({el:r});this.userDialog.on("hide",function(){this.setContentPanelVisible(true)},this)}this.userDialog.show()}},scope:this},{text:this.i18n.menu_extras_changepw,icon:iconDir+"user.png",handler:function(){var r=Ext.getBody().createChild({tag:"div"});this.userChangePwDialog=new com.hypermanager.user.UserChangePwDialog({el:r});this.userChangePwDialog.show()}},{text:this.i18n.menu_help_license,icon:iconDir+"key.png",handler:function(){var r=new com.hypermanager.license.LicenseWindow();r.show()}}]});var n=new Ext.menu.Menu({id:"hilfeMenu",items:[{text:this.i18n.menu_help_help,icon:iconDir+"help.png",handler:function(){window.open("http://www.hypermanager.ch/index.php?option=com_content&view=article&id=24&Itemid=163")}},{text:this.i18n.menu_help_manual,icon:iconDir+"book.png",handler:function(){window.open("doc/manual/manual-de.pdf")}},{text:this.i18n.menu_help_homepage,icon:iconDir+"page_world.png",handler:function(){window.open("http://hypermanager.ch")}},{text:this.i18n.menu_help_about,icon:iconDir+"information.png",handler:function(){var r=new InfoWindow();r.show()}}]});var a=new Ext.menu.Menu({id:"resSolutionMenu",items:[{text:this.i18n.menu_resSolution_refresh,icon:iconDir+"refresh.png",handler:function(){var r=Ext.Ajax.request({url:ServletContext+"json/resSolution",params:{action:"refreshData"},scope:this,success:function(s,u){var t=Ext.util.JSON.decode(s.responseText);if(t.success==true){Ext.Msg.alert("operation successfull","resSolution Daten wurden aktualisiert.")}},failure:function(){Ext.Msg.alert("operation failed","resSolution Daten konnten nicht aktualisiert werden")}})}}]});var f=new Ext.Toolbar();f.add({text:this.i18n.menu_file,menu:k},{text:this.i18n.menu_design,menu:l},{text:this.i18n.menu_resSolution,menu:a,hidden:!o.isLicensed(o.LICENSE_RESSOL_ACTIVATED)},{text:this.i18n.menu_extras,menu:p},{text:this.i18n.menu_help,menu:n});var d=new Ext.Toolbar.TextItem({width:500,style:{"text-align":"center"}});if(o.isLicensed(o.LICENSE_TYPE_PERSONAL)){d.setText("hyperManager: Personal Version");f.add(new Ext.Toolbar.Spacer(),d)}else{if(o.isLicensed(o.LICENSE_TYPE_ENTERPRISE)){d.setText("hyperManager: Enterprise Version");f.add(new Ext.Toolbar.Spacer(),d)}}var h="<a href='http://www.hyperweb.org' target='_blank'><img src='"+iconDir+"hyperweb.png'></a>&nbsp;";var c=new Ext.Toolbar.TextItem(h);var b=new Ext.Toolbar.TextItem("Search by hyperWeb:");this.hyperSearchTextField=new Ext.form.TextField({minWidth:40});this.hyperSearchTextField.addListener("specialKey",function(s,r){if(r.getKey()==13){this.openHyperSearch()}},this);var q=new Ext.Toolbar.Button({cls:"",text:"Go",tooltip:"",minWidth:40,handler:this.openHyperSearch,scope:this});f.add([new Ext.Toolbar.Fill(),c,b,new Ext.Toolbar.Spacer(),new Ext.Toolbar.Spacer(),new Ext.Toolbar.Spacer()]);f.add(this.hyperSearchTextField);f.add([new Ext.Toolbar.Spacer(),q]);return f},openHyperSearch:function(){var b=this.hyperSearchTextField.getValue();var a=b!=null&&b.length>0?b.split(" "):null;if(a!=null&&a.length>0){var c="http://www.hypersearch.org/search/filter/";for(var d=0;d<a.length;d++){c+=a[d];if(d!=a.length-1){c+="+"}}c+="/AND/0/0"}else{var c="http://www.hypersearch.org"}com.hypermanager.util.LinkUtils.openLink(c,false)},showAppDesignDialog:function(){if(!this.appDesignDialog){var a=Ext.getBody().createChild({tag:"div"});this.appDesignDialog=new com.hypermanager.data.DADesignWindow({el:a});this.appDesignDialog.on("hide",function(){this.setContentPanelVisible(true)},this)}this.setContentPanelVisible(false);this.appDesignDialog.show()},showDeskDialog:function(a,c){if(this.deskDialog==null){var b=new com.hypermanager.desk.DeskGridPanel();var d=new com.hypermanager.security.PermissionGridPanel({persistDirectly:true,objectType:com.hypermanager.objects.ObjectTypes.type_desk});this.deskDialog=new Ext.Window({title:"Desks",layout:"border",closeAction:"hide",modal:true,width:400,height:600,buttons:[{text:this.i18n.dialog_btn_close,handler:function(){this.deskDialog.hide()},scope:this}],items:[{region:"center",items:[b]},{title:this.i18n.panel_titel_permissions,region:"south",layout:"fit",height:300,items:[d]}]});this.deskDialog.on("hide",function(){this.setContentPanelVisible(true)},this);this.deskDialog.on("show",function(){b.getStore().load()},this);b.getSelectionModel().on("rowselect",function(f,l,k){var h={objectType:com.hypermanager.objects.ObjectTypes.type_desk,foreignKey:k.get("desk_id")};var e=k.get("currentUsersAce");if(k.get("currentUsersAce").admin){d.setDisabled(false);d.getStore().load({params:{object:Ext.util.JSON.encode(h)}});d.object=h}else{d.setDisabled(true)}},this);b.getStore().on("load",function(){if(b.getStore().getCount()>0){b.getSelectionModel().selectFirstRow()}},this)}this.setContentPanelVisible(false);this.deskDialog.show()},showPageDialog:function(){if(this.pageDialog==null){var a=new com.hypermanager.objects.InternalPageGridPanel();var b=new com.hypermanager.security.PermissionGridPanel({persistDirectly:true,objectType:com.hypermanager.objects.ObjectTypes.type_page});this.pageDialog=new Ext.Window({title:"Pages",layout:"border",closeAction:"hide",modal:true,width:500,height:600,buttons:[{text:this.i18n.dialog_btn_close,handler:function(){this.pageDialog.hide()},scope:this}],items:[{region:"center",items:[a]},{title:this.i18n.panel_titel_permissions,region:"south",layout:"fit",height:300,items:[b]}]});this.pageDialog.on("hide",function(){this.setContentPanelVisible(true)},this);this.pageDialog.on("show",function(){a.getStore().load()},this);a.getSelectionModel().on("rowselect",function(d,h,f){var e={objectType:com.hypermanager.objects.ObjectTypes.type_page,foreignKey:f.get("page_id")};var c=f.get("currentUsersAce");if(f.get("currentUsersAce").admin){b.setDisabled(false);b.getStore().load({params:{object:Ext.util.JSON.encode(e)}});b.object=e}else{b.setDisabled(true)}},this);a.getStore().on("load",function(){if(a.getStore().getCount()>0){a.getSelectionModel().selectFirstRow()}},this)}this.setContentPanelVisible(false);this.pageDialog.show()},showCategoryDialog:function(a,b){if(!hyperWebMode){return}if(this.categoryDialog==null){this.categoryDialog=new Ext.Window({title:this.i18n.menu_design_categories,layout:"fit",closeAction:"hide",modal:true,width:400,buttons:[{text:this.i18n.dialog_btn_close,handler:function(){this.categoryDialog.hide()},scope:this}],items:[new com.hypermanager.desk.CategoryGridPanel()]});this.categoryDialog.on("hide",function(){this.setContentPanelVisible(true)},this)}else{this.categoryDialog.items.get(0).getStore().load()}this.setContentPanelVisible(false);this.categoryDialog.show()},setContentPanelVisible:function(b){if(this.tabSystemControl!=null){var a=this.tabSystemControl.activeTab.objectControl;if(a){a.contentPanel.setVisible(b)}}}};function initHyperManager(){languageloader.changeLanguage({lang:parseUri(window.location.href).queryKey.lang?parseUri(window.location.href).queryKey.lang:"de"});var a=new com.hypermanager.HyperManagerMain()}Ext.EventManager.onDocumentReady(initHyperManager,this,true);Ext.namespace("com.hypermanager.tabs");com.hypermanager.tabs.TabSystemControl=function(a){this.init(a)};com.hypermanager.tabs.TabSystemControl.prototype={GUI_INDEX_STEP:1000,servletURL:ServletContext+"json/tabs",mainTabPanel:null,nameEditor:null,menuTab:null,menuTabPanel:null,copyItem:null,cutItem:null,activeTabPanel:null,activeTab:null,ID_TabSystem:-1,contextMenu:null,objectControl:null,tabLevel:0,hisAttrTabSystem:"tsid",hisAttrTab:"tabid",prefilterText:"Hierarchical Prefilter",objectPanelText:"Objects",errorTitle:"Operation failed",serverErrorTitle:"Server Side Error",serverErrorMsg:"Error while Server side processing Tabs!",cutText:"Cut",pasteText:"Paste",deleteText:"Delete",renameText:"Rename",addOnSameLevelText:"Add Tab on Same Level",addOnTopLevelText:"Add Tab on Top Level",addOnSubLevelText:"Add Tab on Sub Level",confirmDeleteTitle:"Confirm Delete",confirmDeleteText:function(a){return"Are you sure you want to do delete Tab <b>"+a+"</b>?"},addNewTabTitle:"New Tab",addNewTabText:"Please enter Tabname:",nameTooShortErrTitle:"New Tab",nameTooShortErrText:"Tab Name must be at least one character",init:function(a){this.mainTabPanel=this.createTabLevel({tab_id:-1,tabLevel:this.tabLevel,region:"center",deferredRender:false,enableTabScroll:true},null);this.activeTabPanel=this.mainTabPanel;a.add(this.mainTabPanel);var b=hMhistory.registerHistoryComponent(this.hisAttrTabSystem,this.onHistoryChangeTabSystem,this);if(b&&b.length>0){this.ID_TabSystem=b}this.getRootTabs(this.ID_TabSystem)},onHistoryChangeTab:function(d){var b=0;var e=hMhistory.getValue(this.hisAttrTab+b);if(e!=null){var c=this.getTabByTabId(this.mainTabPanel,e);if(c!=null){this.mainTabPanel.setActiveTab(c);while(hMhistory.getValue(this.hisAttrTab+(++b))!=null){var a=hMhistory.getValue(this.hisAttrTab+b);var f=this.getTabByTabId(c,a);if(f!=null){c.setActiveTab(f);c=f}}}}},onHistoryChangeTabSystem:function(a){this.getRootTabs(a)},createTabLevel:function(a,b){if(b){Ext.apply(a,{tab_id:b.tab_id,hasObjects:b.hasObjects,guiIndex:b.guiIndex,tab_idf:b.tab_idf,tabSystem_idf:b.tabSystem_idf,title:b.tabName,deferredRender:true,header:true})}var c=new Ext.TabPanel(a);c.on("contextmenu",this.onContextMenuTabItem,this);c.on("activate",this.onTabActivatedFirstTime,this);return c},loadTabs:function(d,f,c){this.addStripContextMenuHandler(f);if(d!=null&&d.length>0){for(var b=0;b<d.length;b++){var a=null;if(d[b].hasObjects){a=this.createObjectPanel(d[b],f.getInnerHeight()-30)}else{tabLevel=f.tabLevel+1;a=this.createTabLevel({tabLevel:tabLevel},d[b])}a.setTitle(d[b].tabName);a.doLayout();f.add(a)}var e=hMhistory.registerHistoryComponent(this.hisAttrTab,this.onHistoryChangeTab,this,f.tabLevel);if(e==null){f.activate(f.getComponent(0))}else{f.activate(this.getTabByTabId(f,e))}}},createObjectPanel:function(d,a){var e={region:"south",title:this.prefilterText,layout:"card",activeItem:0,border:false,iconCls:"prefilter-icon",split:true,collapsible:true,bodyBorder:false,items:[{itemId:"hvf-hm-panel",title:this.prefilterText,layout:"fit",cls:"hvf-panel",autoScroll:true,bodyBorder:false},{itemId:"hvf-resSol-panel",title:this.prefilterText,layout:"fit",cls:"hvf-panel",autoScroll:true,bodyBorder:false}]};var c={region:"south",title:this.prefilterText,layout:"card",activeItem:0,border:false,iconCls:"prefilter-icon",split:true,collapsible:true,height:(a*2/5),bodyBorder:false,items:[{itemId:"hvf-hm-panel",cls:"hvf-panel",layout:"fit",autoScroll:true,bodyBorder:false},{itemId:"hvf-resSol-panel",cls:"hvf-panel",layout:"fit",autoScroll:true,bodyBorder:false}]};var b=new Ext.Panel({title:d.tabName,tab_id:d.tab_id,hasObjects:d.hasObjects,guiIndex:d.guiIndex,tab_idf:d.tab_idf,tabSystem_idf:d.tabSystem_idf,hideMode:"offsets",layout:"border",items:[{region:"west",split:true,collapsible:true,title:this.objectPanelText,hideMode:"offsets",minWidth:120,maxWidth:300,boxMinWidth:120,boxMaxWidth:300,width:viewport.getWidth()/6.5,layout:"border",items:[{region:"center",cls:"object-panel",autoScroll:true,layout:"fit",border:false},Ext.isSafari?e:c]},{region:"center",layout:"border",hideMode:"offsets",bodyBorder:false,border:false,items:[{region:"center",layout:"card",activeItem:1,bodyBorder:false,items:[{layout:"fit",bodyBorder:false},{layout:"fit",bodyBorder:false},{layout:"fit",bodyBorder:false},{layout:"fit",bodyBorder:false},{layout:"fit",bodyBorder:false},{layout:"fit",bodyBorder:false},{layout:"fit",bodyBorder:false},{layout:"fit",bodyBorder:false},{layout:"fit",bodyBorder:false},{layout:"fit",bodyBorder:false}]},{region:"north",baseCls:"x-plain",layout:"fit"},{region:"east",baseCls:"x-plain",layout:"fit"},{region:"south",baseCls:"x-plain",layout:"fit"},{region:"west",baseCls:"x-plain",layout:"fit"}]}]});b.on("activate",this.onTabActivatedFirstTime,this);return b},onTabChanged:function(a,b){this.tabLevel=b?b.tabLevel:a.ownerCt.tabLevel;hMhistory.updateHistory(this.hisAttrTab+this.tabLevel,a.tab_id);this.activeTabPanel=b?b:a.ownerCt;this.activeTab=a;if(this.activeTab.isXType("tabpanel")){var c=this.activeTab.getActiveTab();if(c!=null){this.onTabChanged(c,this.activeTab)}}else{if(this.activeTab.objectControl!=null){this.activeTab.objectControl.refreshHistory()}}},onTabActivatedFirstTime:function(a){a.un("activate",this.onTabActivatedFirstTime,this);a.on("activate",this.onTabChanged,this);this.onTabChanged(a,a.ownerCt);a.doLayout();if(a.hasObjects){a.objectControl=new com.hypermanager.objects.ObjectListControl(a)}else{var b=Ext.Ajax.request({url:this.servletURL,params:{action:"getTabs",tab_idf:a.tab_id,tabSystem_idf:this.ID_TabSystem},method:"POST",scope:this,success:function(c,d){var f=Ext.util.JSON.decode(c.responseText);var e=f.tabs;if(this.activeTab!=null){this.loadTabs(e,a,a.tab_id)}},failure:this.onServerSideError})}},onServerSideError:function(a,b){if(a.statusText){Ext.Msg.show({title:this.errorTitle,msg:a.statusText,buttons:Ext.Msg.OK,animEl:this.activeTab,icon:Ext.Msg.ERROR})}else{Ext.Msg.alert(this.serverErrorTitle,this.serverErrorMsg)}},onContextMenuTabPanel:function(d,c,b,f){if(d.getTarget().className=="x-tab-strip x-tab-strip-top"){this.showMenu(f,null,d,false)}},onContextMenuTabItem:function(c,a,b){c.setActiveTab(a);this.showMenu(c,a,b,true)},showMenu:function(k,a,f,h){var b=com.hypermanager.security.SecurityMgr;if(b.isAuthorized(b.ROLE_TABSYSTEM_CREATE)){if(this.nameEditor&&this.nameEditor.isVisible()){this.nameEditor.cancelEdit()}if(this.contextMenu==null){this.buildMenu(f,k,a)}if(!this.contextMenu.isVisible()){this.menuTab=h?a:null;this.menuTabPanel=k;var d=com.hypermanager.security.SecurityMgr;var c=d.isAuthorized(d.ROLE_TABSYSTEM_CREATE);this.contextMenu.items.get("paste").setVisible(c&&(this.cutItem!=null||this.copyItem!=null));this.contextMenu.items.get("topLevel").setVisible(c&&h);this.contextMenu.items.get("subLevel").setVisible(c&&h);this.contextMenu.items.get("cut").setVisible(c&&h);this.contextMenu.items.get("delete").setVisible(c&&h);this.contextMenu.items.get("rename").setVisible(c&&h);this.contextMenu.showAt(f.xy)}}},buildMenu:function(n,o,c){var l=com.hypermanager.security.SecurityMgr;var a=l.isAuthorized(l.ROLE_TABSYSTEM_CREATE);this.contextMenu=new Ext.menu.Menu({id:"mainMenu"});if(a){var m=this.contextMenu.add({text:this.pasteText,id:"paste",icon:iconDir+"paste_plain.png"});m.setVisible(false);var p=this.contextMenu.add({text:this.cutText,id:"cut",icon:iconDir+"cut.png"});var d=this.contextMenu.add({text:this.deleteText,id:"delete",icon:iconDir+"delete.png"});var h=this.contextMenu.add({text:this.renameText,id:"rename",icon:iconDir+"textfield_rename.png"});var f=this.contextMenu.add({text:this.addOnSameLevelText,id:"sameLevel",icon:iconDir+"add.png"});var k=this.contextMenu.add({text:this.addOnTopLevelText,id:"topLevel",icon:iconDir+"add.png"});var b=this.contextMenu.add({text:this.addOnSubLevelText,id:"subLevel",icon:iconDir+"add.png"});b.on("click",this.onAddNewTabClicked.createDelegate(this,[this.activeTab,this.activeTabPanel,-1],false),this);k.on("click",this.onAddNewTabClicked.createDelegate(this,[this.activeTab,this.activeTabPanel,1],false),this);f.on("click",this.onAddNewTabClicked.createDelegate(this,[this.activeTab,this.activeTabPanel,0],false),this);d.on("click",this.onDeleteClicked.createDelegate(this,[this.activeTab,this.activeTabPanel],false),this);h.on("click",this.onRenameClicked,this);m.on("click",this.onPasteClicked,this);p.on("click",this.onCutClicked.createDelegate(this,[this.activeTab,this.activeTabPanel],false),this)}},onPasteClicked:function(){var d=null;var b=null;var a=this.menuTabPanel.tab_id;if(this.copyItem!=null){d={action:"copyPasteTab",tab_id:this.copyItem.tab_id,tab_idf:a}}else{if(this.cutItem!=null){this.cutItem.tab_idf=a;this.cutItem.guiIndex=this.getNewGuiIndex(this.menuTabPanel,this.menuTab);tabJson=Ext.util.JSON.encode(this.cutItem);d={action:"storeTab",tab:tabJson}}}var c=Ext.Ajax.request({url:this.servletURL,params:d,method:"POST",scope:this,success:this.handlePaste,failure:this.onServerSideError})},onCutClicked:function(){this.copyItem=null;this.cutItem=new TabObject(this.menuTab,this.ID_TabSystem);this.menuTabPanel.remove(this.menuTab)},onRenameClicked:function(){Ext.MessageBox.prompt(this.renameText,this.addNewTabText,function(b,d){if(b=="ok"&&d!=this.menuTab.title){var a=new TabObject(this.menuTab,this.ID_TabSystem);a.tabName=d;var c=Ext.Ajax.request({url:this.servletURL,params:{action:"storeTab",tab:Ext.util.JSON.encode(a)},method:"POST",scope:this,success:function(){this.menuTab.setTitle(d)},failure:this.onServerSideError})}},this,false,this.menuTab.title)},onDeleteClicked:function(a,b){Ext.MessageBox.confirm(this.confirmDeleteTitle,this.confirmDeleteText(this.menuTab.title),function(c){if(c=="yes"){this.deleteTab(this.menuTab)}},this)},deleteTab:function(a){var b=Ext.Ajax.request({url:this.servletURL,params:{action:"deleteTab",tab_id:a.tab_id},method:"POST",scope:this,success:function(c,d){this.menuTabPanel.remove(a.id);if(this.menuTabPanel.items.length==0){this.addNewTab("ok",this.addNewTabTitle,0)}},failure:this.onServerSideError})},onAddNewTabClicked:function(a,c,d){var b;Ext.Msg.prompt(this.addNewTabTitle,this.addNewTabText,this.addNewTab.createDelegate(this,[d],2),this)},addNewTab:function(a,e,k){if(a=="ok"){if(e.length>0){var h=null;var d=new TabObject();d.tab_id=k==-1?this.menuTab.tab_id:-1;d.tabName=k==-1?this.menuTab.title:e;d.tab_idf=this.menuTabPanel.tab_id;d.tabSystem_idf=this.ID_TabSystem;d.guiIndex=k==-1||k==1?this.menuTab.guiIndex:this.getNewGuiIndex(this.menuTabPanel,this.menuTab);d.hasObjects=k==0;if(k==1||k==-1){var f=new TabObject();f.tabName=k==-1?e:this.menuTab.title;f.tab_id=k==-1?-1:this.menuTab.tab_id;f.tab_idf=k==-1?d.tab_id:-1;f.tabSystem_idf=this.ID_TabSystem;if(k==-1&&this.menuTab.items&&this.menuTab.items.length>0){f.guiIndex=this.menuTab.getComponent(this.menuTab.items.length-1).guiIndex+this.GUI_INDEX_STEP}else{f.guiIndex=this.GUI_INDEX_STEP}f.hasObjects=k==-1?true:this.menuTab.hasObjects;d.childTabs=new Array(f)}var c=Ext.util.JSON.encode(d);var b=Ext.Ajax.request({url:this.servletURL,params:{action:"storeTab",tab:c},method:"POST",scope:this,success:this.handleAddTab.createDelegate(this,[d],true),failure:this.onServerSideError})}else{Ext.Msg.show({title:this.nameTooShortErrTitle,msg:this.nameTooShortErrText,buttons:Ext.Msg.OK,icon:Ext.MessageBox.ERROR})}}},handlePaste:function(b,d){var e=Ext.util.JSON.decode(b.responseText);var f=e.tab;this.cutItem=null;var c=this.getTabIndex(this.menuTabPanel,this.menuTab);var a=null;if(f.hasObjects){a=this.createObjectPanel(f,this.menuTabPanel.getInnerHeight()-35)}else{a=this.createTabLevel({},f)}this.menuTabPanel.insert(c,a);this.menuTabPanel.setActiveTab(a)},handleAddTab:function(c,l,a){var k=Ext.util.JSON.decode(c.responseText);var d=k.tab;var e=this.getTabIndex(this.menuTabPanel,this.menuTab);if(d.hasObjects){var b=this.createObjectPanel(d,this.menuTabPanel.getInnerHeight()-30);b.setTitle(d.tabName);this.menuTabPanel.insert(e,b);this.menuTabPanel.setActiveTab(b)}else{var f=this.menuTabPanel;var h=f.tabLevel+1;var b=this.createTabLevel({tabLevel:h},d);b.setTitle(d.tabName);f.remove(this.menuTab);f.insert(e,b);f.setActiveTab(b);this.menuTabPanel=f;if(d.childTabs){hMhistory.updateHistory(this.hisAttrTab+b.tabLevel,d.childTabs[0].tab_id)}}},getNewGuiIndex:function(c,a){if(a){var b=this.getPrevTabItem(c,a);if(b){return(b.guiIndex+this.menuTab.guiIndex)/2}else{return this.menuTab.guiIndex/2}}else{if(c.items&&c.items.length>0){return c.getComponent(c.items.length-1).guiIndex+this.GUI_INDEX_STEP}else{return this.GUI_INDEX_STEP}}},handleRootTabs:function(a,b){var c=Ext.util.JSON.decode(a.responseText);if(this.ID_TabSystem==-1&&c.ts){this.ID_TabSystem=c.ts.tabSystem_id;hMhistory.updateHistory(this.hisAttrTabSystem,this.ID_TabSystem)}com.hypermanager.util.GUIHelper.updateTitle({curTabSystem:c.ts.tabSystemName});if(this.mainTabPanel&&this.mainTabPanel.items){this.mainTabPanel.items.each(function(d){d.purgeListeners()},this);this.mainTabPanel.items.each(function(d){this.mainTabPanel.remove(d,true)},this)}this.loadTabs(c.tabs,this.mainTabPanel,null);if(this.mainTabPanel.items.length==0){this.menuTabPanel=this.mainTabPanel;this.addNewTab("ok",this.addNewTabTitle,0)}},getRootTabs:function(a){this.ID_TabSystem=a;var b=Ext.Ajax.request({url:this.servletURL,params:{action:"getTabs",tabSystem_idf:this.ID_TabSystem},method:"POST",scope:this,success:this.handleRootTabs,failure:this.onServerSideError})},addStripContextMenuHandler:function(b){var a=b.getEl().child("ul.x-tab-strip-top");a.on("contextmenu",this.onContextMenuTabPanel.createDelegate(this,[b],true),this)},getTabByTabId:function(c,a){for(var b=0;b<c.items.length;b++){if(c.getComponent(b).tab_id==a){return c.getComponent(b)}}return null},getNextTabItem:function(c,a){if(c&&a){for(var b=0;b<c.items.length-1;b++){if(a==c.getComponent(b)){return c.getComponent(b+1)}}}return null},getTabIndex:function(c,a){if(c){if(a){for(var b=0;b<c.items.length;b++){if(a==c.getComponent(b)){return b}}}else{return c.items.length}}return null},getPrevTabItem:function(c,a){if(c&&a){for(var b=c.items.length-1;b>0;b--){if(a==c.getComponent(b)){return c.getComponent(b-1)}}}return null}};TabObject=function(a,b){if(a!=null){this.tab_id=a.tab_id;this.tabName=a.title;this.tab_idf=a.tab_idf;this.guiIndex=a.guiIndex;this.hasObjects=a.hasObjects}this.tabSystem_idf=b};TabObject.prototype={tab_id:-1,tabName:null,tab_idf:-1,guiIndex:-1,tabSystem_idf:-1,childTabs:null,hasObjects:null,action:null};Ext.namespace("com.hypermanager.tabs");com.hypermanager.tabs.TabSystemDialog=function(a){Ext.apply(this,a);com.hypermanager.tabs.TabSystemDialog.superclass.constructor.call(this);this.initDialog();this.showDialog();this.addEvents("tabsystemselect")};Ext.extend(com.hypermanager.tabs.TabSystemDialog,Ext.util.Observable,{menuEnabled:false,ID_TabSystem:-1,servletURL:ServletContext+"json/tabs",dialogTitle:"Tab Systems",switchToSelectedText:"Switch to ...",cancelText:"Close",emptyGridText:"No Tab System available",noTSSelectedErrTitle:"No Tab System Selected",noTSSelectedErrMsg:"Please choose a Tab System to switch to.",addText:"Add",deleteText:"Delete",renameText:"Rename",addDialogTitle:"Add Tab System",addDialogMsg:"Name",confirmDeleteTitle:"Confirm Delete",confirmDeleteText:function(a){return"Are you sure you want to do delete Tab System <b>"+a+"</b> and all underlying Tabs and Objects? (Linked Data applications, Products and Desks will remain.)"},tabSystemIdColTitle:"ID",tabSystemNameColTitle:"Name",tabSystemDescColTitle:"Description",tabSystemOwnerColTitle:"Owner",tabSystemIdDIndex:"tabSystem_id",tabSystemNameDIndex:"tabSystemName",tabSystemDescDIndex:"description",tabSystemOwnerDIndex:"owner",dialog:null,tabSystemGrid:null,dsRecord:null,contextMenu:null,initDialog:function(){var b=Ext.getBody().createChild({tag:"div"});var c=com.hypermanager.security.SecurityMgr.isAuthorized(com.hypermanager.security.SecurityMgr.ROLE_TABSYSTEM_CREATE);this.dsRecord=Ext.data.Record.create([{name:this.tabSystemIdDIndex,type:"int"},{id:"name",name:this.tabSystemNameDIndex,type:"string"}]);var d=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:this.servletURL}),baseParams:{action:"getTabSystems"},reader:new Ext.data.JsonReader({root:"tabsystems"},this.dsRecord)});var a=new Ext.grid.ColumnModel([{header:this.tabSystemIdColTitle,dataIndex:this.tabSystemIdDIndex,width:20,sortable:true},{header:this.tabSystemNameColTitle,dataIndex:this.tabSystemNameDIndex,width:150,sortable:true}]);this.tabSystemGrid=new Ext.grid.GridPanel({ds:d,cm:a,autoHeight:true,enableColumnHide:false,selModel:new Ext.grid.RowSelectionModel({singleSelect:true}),viewConfig:{deferEmptyText:true,emptyText:this.emptyGridText,forceFit:true},bbar:new Ext.Toolbar([{icon:iconDir+"add.png",text:this.addText,cls:"x-btn-text-icon",hidden:!c,handler:this.onAdd,scope:this},{icon:iconDir+"delete.png",text:this.deleteText,cls:"x-btn-text-icon",handler:this.onDelete,hidden:!c,disabled:true,scope:this},{icon:iconDir+"textfield_rename.png",text:this.renameText,cls:"x-btn-text-icon",handler:this.onRename,hidden:!c,disabled:true,scope:this}])});this.tabSystemGrid.getStore().on("load",function(){if(this.dialog){if(this.ID_TabSystem>=0){var e=this.tabSystemGrid.getStore().find(this.tabSystemIdDIndex,this.ID_TabSystem);this.tabSystemGrid.getSelectionModel().selectRow(e)}this.dialog.show()}},this);this.tabSystemGrid.getSelectionModel().on("rowselect",function(){this.tabSystemGrid.getBottomToolbar().items.get(1).setDisabled(false);this.tabSystemGrid.getBottomToolbar().items.get(2).setDisabled(false)},this);this.tabSystemGrid.on("celldblclick",this.onTabSystemSelected,this);if(this.menuEnabled){this.tabSystemGrid.on("cellcontextmenu",this.showMenu,this)}this.dialog=new Ext.Window({applyTo:b,el:b,title:this.dialogTitle,layout:"fit",width:290,autoHeight:true,closeAction:"hide",modal:true,shadow:true,buttonAlign:"center",items:this.tabSystemGrid,buttons:[{text:this.switchToSelectedText,handler:this.onTabSystemSelected,scope:this},{text:this.cancelText,handler:function(){this.dialog.hide()},scope:this}]})},buildMenu:function(){var d=com.hypermanager.security.SecurityMgr;this.contextMenu=new Ext.menu.Menu({id:"mainMenu"});var c=this.contextMenu.add({text:this.switchToSelectedText,id:"switch",icon:iconDir+"door_open.png"});if(d.isAuthorized(d.ROLE_TABSYSTEM_CREATE)){var e=this.contextMenu.add({text:this.addText,id:"add",icon:iconDir+"add.png"});var b=this.contextMenu.add({text:this.deleteText,id:"delete",icon:iconDir+"delete.png"});var a=this.contextMenu.add({text:this.renameText,id:"rename",icon:iconDir+"textfield_rename.png"});e.on("click",this.onAdd,this);b.on("click",this.onDelete,this);a.on("click",this.onRename,this)}c.on("click",this.onTabSystemSelected,this)},showMenu:function(b,d,a,c){c.preventDefault();this.tabSystemGrid.getSelectionModel().selectRow(d);if(!this.contextMenu){this.buildMenu()}this.contextMenu.showAt(c.xy)},showDialog:function(){this.tabSystemGrid.getStore().load();this.dialog.show()},onTabSystemSelected:function(){if(this.tabSystemGrid.getSelectionModel().hasSelection()){var a=this.tabSystemGrid.getSelectionModel().getSelected();this.fireEvent("tabsystemselect",a.get(this.tabSystemIdDIndex),a.get(this.tabSystemNameDIndex));this.dialog.hide()}else{Ext.Msg.alert(this.noTSSelectedErrTitle,this.noTSSelectedErrMsg)}},onDelete:function(){var a=this.tabSystemGrid.getSelectionModel().getSelected();Ext.MessageBox.confirm(this.confirmDeleteTitle,this.confirmDeleteText(a.get(this.tabSystemNameDIndex)),function(b){if(b=="yes"){var c=Ext.Ajax.request({url:this.servletURL,params:{action:"deleteTabSystem",id:a.get(this.tabSystemIdDIndex)},scope:this,success:function(d,e){this.tabSystemGrid.getStore().remove(a)},failure:this.onServerSideError})}},this)},onAdd:function(){Ext.MessageBox.prompt(this.addText,this.addDialogMsg,function(a,c){if(a=="ok"){var b=Ext.Ajax.request({url:this.servletURL,params:{action:"addTabSystem",name:c},scope:this,success:function(d,f){var h=Ext.util.JSON.decode(d.responseText);var e=new this.dsRecord(h.tabsystem);this.tabSystemGrid.getStore().add(e);this.tabSystemGrid.getSelectionModel().selectLastRow()},failure:this.onServerSideError})}},this)},onRename:function(){var a=this.tabSystemGrid.getSelectionModel().getSelected();var b=a.get(this.tabSystemNameDIndex);Ext.MessageBox.prompt(this.renameText,this.addDialogMsg,function(c,e){if(c=="ok"&&e!=b){a.set("tabSystemName",e);var d=Ext.Ajax.request({url:this.servletURL,params:{action:"renameTabSystem",tabsystem:Ext.util.JSON.encode(a.data)},scope:this,success:function(f,h){a.set(this.tabSystemNameDIndex,e)},failure:this.onServerSideError})}},this,false,b)}});Ext.namespace("com.hypermanager.objects");com.hypermanager.objects.ObjectListControl=function(a){var b=com.hypermanager.security;this.auth_deskCreate=b.SecurityMgr.isAuthorized(b.SecurityMgr.ROLE_DESK_CREATE);this.auth_pageCreate=b.SecurityMgr.isAuthorized(b.SecurityMgr.ROLE_PAGE_CREATE);this.auth_dataAppCreate=b.SecurityMgr.isAuthorized(b.SecurityMgr.ROLE_DATA_APP_CREATE);this.auth_tabSystemCreate=b.SecurityMgr.isAuthorized(b.SecurityMgr.ROLE_TABSYSTEM_CREATE);this.showObjectList(a)};com.hypermanager.objects.ObjectListControl.prototype={servletURL:ServletContext+"json/tabs",GUI_INDEX_STEP:1000000,dragDropPending:false,auth_deskCreate:false,auth_pageCreate:false,auth_dataAppCreate:false,auth_dataProdCreate:false,auth_tabSystemCreate:false,prefilterPanel:null,hMPreFilterPanel:null,resSolRBPreFilterPanel:null,navPanel:null,objectPanel:null,contentPanel:null,linkPanel:null,parentTab:null,contextMenu:null,objectTree:null,activeObject:null,openedObject:null,desks:null,hisAttrObject:"objid",errorTitle:"Operation failed",serverErrorTitle:"Server Side Error",serverErrorMsg:"Error while Server side processing Objects!",objectPanelTitle:"Objects",cutText:"Cut Object",pasteText:"Paste Object",deleteText:"Delete Object",confirmDeleteObjectTitle:"Confirm Delete",confirmDeleteObjectText:function(a){return"Are you sure you want to do delete Object <b>"+a+"</b>? (linked Dataproduct / Desk will NOT be deleted.)"},editText:"Edit Object",saveText:"Save Parameters",iframeNotSupportedText:"Your Browser does not support IFrames. Please Select following Link to access the following Link :",windowCancelButtonText:"Cancel",windowOKButtonText:"OK",addAdText:"Add Advertisment",editAdPropertiesText:"Edit Advertisment Properties",deleteAdText:"Delete Advertisment",editAdContentText:"Edit Advertisment Content",confirmDeleteHWAdTitle:"Delete Advertisment",confirmDeleteHWAdText:function(a){return"Are you sure you want to do remove the <b>Advertisment</b> from Object <b>"+a+"</b>?"},lastSelectedIcon:null,prefilterControl:null,objectDialog:null,dataProductGrid:null,deskGrid:null,pageGrid:null,dataApp:null,adDialog:null,adEditor:null,adContextMenu:null,updatePanels:function(a){this.parentTab=a;this.navPanel=a.getComponent(0);this.contentPanel=a.getComponent(1).getComponent(0);this.objectPanel=this.navPanel.getComponent(0);this.prefilterPanel=this.navPanel.getComponent(1);this.hMPreFilterPanel=this.prefilterPanel.getComponent(0);this.resSolRBPreFilterPanel=this.prefilterPanel.getComponent(1)},showObjectList:function(a){this.updatePanels(a);this.prefilterPanel.setVisible(false);this.navPanel.doLayout();this.loadMask=new Ext.LoadMask(this.navPanel.getEl(),{removeMask:true});this.loadMask.show();this.createObjectList(a)},createObjectList:function(b){this.objectPanel.getEl().child(".x-panel-body").on("contextmenu",this.onContainerContextMenu,this);var c=this.auth_dataProdCreate||this.auth_deskCreate||this.auth_pageCreate;this.objectTree=new Ext.tree.TreePanel({el:this.objectPanel.getEl(),animate:false,enableDD:c,ddGroup:"objects",containerScroll:true,rootVisible:false,cls:"objtree"});var a=new Ext.tree.AsyncTreeNode({});this.objectTree.setRootNode(a);this.objectTree.on("click",function(d,f){this.onObjectClicked(d)},this);this.objectTree.on("contextmenu",this.onNodeContextMenu,this);this.objectTree.on("dragdrop",this.onDragDrop,this);this.getObjects(b.tab_id);this.objectTree.render();a.expand()},getObjects:function(a){var b=Ext.Ajax.request({url:this.servletURL,params:{action:"getObjects",tab_id:a},scope:this,success:function(c,d){var e=Ext.util.JSON.decode(c.responseText);this.loadObjects(e.objects);this.onObjectsLoad()},failure:this.onServerSideError})},loadObjects:function(e){var a=this.objectTree.getRootNode();while(a.firstChild){a.removeChild(a.firstChild)}if(e!=null){for(var d=0;d<e.length;d++){var c={object_id:e[d].object_id,icon:com.hypermanager.objects.ObjectTypes.getIconFromObject(e[d]),leaf:true,text:e[d].name,guiIndex:e[d].guiIndex,tab_idf:e[d].tab_idf,objectType:e[d].objectType,foreignKey:e[d].foreignKey,isTitle:e[d].isTitle};if(e[d].isTitle){Ext.apply(c,{cls:"object-title"})}if(hyperWebMode&&e[d].ad!=null){Ext.apply(c,{ad:e[d].ad})}var b=new Ext.tree.TreeNode(c);this.objectTree.getRootNode().appendChild(b)}}},setDefaultIcons:function(){var a=this.objectTree.getRootNode();for(var c=0;c<a.childNodes.length;c++){var b=a.childNodes[c];if(!b.attributes.icon||b.attributes.icon.length<=3){var d=iconDir+com.hypermanager.objects.ObjectTypes.getDefaultObjectIcon(b.attributes.objectType);b.attributes.icon=d}else{b.attributes.icon=iconDir+b.attributes.icon}}},onObjectsLoad:function(){if(this.loadMask){this.loadMask.hide()}var a=this.objectTree.getRootNode();if(a&&a.firstChild){var c=hMhistory.registerHistoryComponent(this.hisAttrObject,this.onHistoryChangedObject,this);if(c&&c>=0){var b=this.getObjectById(c);this.objectTree.getSelectionModel().select(b);this.onObjectClicked(b)}else{if(a.firstChild!=null){this.objectTree.getSelectionModel().select(a.firstChild);this.onObjectClicked(a.firstChild)}}}},getObjectById:function(d){var a=this.objectTree.getRootNode();for(var b=0;b<a.childNodes.length;b++){var c=a.childNodes[b];if(d==c.attributes.object_id){return c}}},refreshHistory:function(){if(this.activeObject!=null){hMhistory.updateHistoryComponent(this.hisAttrObject,this.onHistoryChangedObject,this);hMhistory.updateHistory(this.hisAttrObject,this.activeObject.attributes.object_id)}},onHistoryChangedObject:function(b){if(b&&b>=0){var a=this.getObjectById(b);if(a){this.objectTree.getSelectionModel().select(a);this.onObjectClicked(a)}}},onDragDrop:function(k,h,b,l){if(!this.dragDropPending){this.dragDropPending=true;var d=h.previousSibling?h.previousSibling.attributes.guiIndex:null;var a=h.nextSibling?h.nextSibling.attributes.guiIndex:null;var c=com.hypermanager.util.GUIHelper.getNewGuiIndex(d,a,this.GUI_INDEX_STEP);if(com.hypermanager.util.GUIHelper.checkForResetGI(c,d,a)){this.resetGuiIndices(h)}else{var f=Ext.Ajax.request({url:this.servletURL,params:{action:"dragDropObject",object:Ext.util.JSON.encode({object_id:h.attributes.object_id,guiIndex:c})},scope:this,success:function(e,m){h.attributes.guiIndex=c;this.dragDropPending=false},failure:this.onServerSideError})}}},resetGuiIndices:function(b){var a=Ext.Ajax.request({url:this.servletURL,params:{action:"resetObjectGuiIndices",object_id:b.attributes.object_id,tab_id:b.attributes.tab_idf,nextObject_id:b.nextSibling?b.nextSibling.attributes.object_id:-1},scope:this,success:function(c,d){var e=Ext.util.JSON.decode(c.responseText);this.loadObjects(e.objects);this.dragDropPending=false},failure:this.onServerSideError})},createFilterControl:function(){this.dataApp.on("afterProductChange",function(a){if(!this.prefilterControl){this.prefilterControl=new com.hypermanager.filter.PreFilterControl(this.hMPreFilterPanel,a,this.dataApp.authHvfAdmin);this.prefilterControl.tree.on({click:{scope:this,fn:function(b,c){this.dataApp.setPreFilterID(b.attributes.nodeId)}}})}else{this.prefilterControl.loadPreFilter(a,this.dataApp.authHvfAdmin)}},this)},createRBFilterControl:function(){this.resSolutionRBPanel.on("afterProductChange",function(a){if(!this.resSolRBFilterControl){this.resSolRBFilterControl=new com.hypermanager.resSolution.resSolPreFilterControl(this.resSolRBPreFilterPanel,a);this.resSolRBFilterControl.tree.on({click:{scope:this,fn:function(b,c){this.resSolutionRBPanel.setPreFilterID(b.attributes.nodeId)}}})}else{this.resSolRBFilterControl.loadPreFilter(a)}},this)},onObjectClicked:function(f,c){this.activeObject=f;var k=com.hypermanager.objects.ObjectTypes;hMhistory.updateHistory(this.hisAttrObject,f.attributes.object_id);if(f){this.openedObject=f;var h=f.attributes.objectType;var b=com.hypermanager.license.LicenseMgr;com.hypermanager.util.GUIHelper.updateTitle({curObject:f.text});this.showHWAds(f,k.idx_desk);this.prefilterPanel.setVisible(h==k.type_dataproduct||h==k.type_resSolutionRB);if(h==k.type_dataproduct){var e=f.attributes.foreignKey;if(!this.dataApp){this.dataApp=new com.hypermanager.data.DPGridPanel();this.createFilterControl();this.contentPanel.getComponent(k.idx_data).add(this.dataApp);this.contentPanel.getLayout().setActiveItem(k.idx_data);this.contentPanel.doLayout();this.dataApp.setProductIDF.call(this.dataApp,e,f.attributes.object_id);this.dataApp.handleResponse=function(n,m,l){}}else{var d=f.attributes.object_id;if(this.dataApp.objectId!=d||this.dataApp.productId!=e){this.dataApp.setProductIDF.call(this.dataApp,e,d)}}this.prefilterPanel.expand();this.prefilterPanel.getLayout().setActiveItem(0);this.contentPanel.getLayout().setActiveItem(k.idx_data)}else{if(h==k.type_desk){var a=f.attributes.foreignKey;if(!this.desks){this.desks=new com.hypermanager.desk.DeskControl(a,this.contentPanel.getComponent(k.idx_desk))}else{this.desks.loadDesk(a)}if(c){this.desks.on("deskload",this.showMenu.createDelegate(this,[f],false),this)}this.contentPanel.getLayout().setActiveItem(k.idx_desk)}else{if(h==k.type_website){this.showWebsite(f.text,f.attributes.foreignKey);this.contentPanel.getLayout().setActiveItem(k.idx_website)}else{if(h==k.type_page){this.showPage(f.attributes.foreignKey);this.contentPanel.getLayout().setActiveItem(k.idx_page)}else{if(h==k.type_resSolutionRB&&b.isLicensed(b.LICENSE_RESSOL_ACTIVATED)){var e=f.attributes.foreignKey;var d=f.attributes.object_id;if(!this.resSolutionRBPanel){this.resSolutionRBPanel=new com.hypermanager.resSolution.resSolutionRBPanel();this.createRBFilterControl();this.contentPanel.getComponent(k.idx_resSolRB).add(this.resSolutionRBPanel);this.contentPanel.getLayout().setActiveItem(k.idx_resSolRB);this.contentPanel.doLayout();this.resSolutionRBPanel.productId=e;this.resSolutionRBPanel.objectId=d;this.resSolutionRBPanel.retrieveDefaultParameters(d)}else{if(this.resSolutionRBPanel.objectId!=d||this.resSolutionRBPanel.productId!=e){this.resSolutionRBPanel.productId=e;this.resSolutionRBPanel.objectId=d;this.resSolutionRBPanel.retrieveDefaultParameters(d)}}this.prefilterPanel.getLayout().setActiveItem(1);this.contentPanel.getLayout().setActiveItem(k.idx_resSolRB)}else{if(h==k.type_resSolutionZT&&b.isLicensed(b.LICENSE_RESSOL_ACTIVATED)){var e=f.attributes.foreignKey;var d=f.attributes.object_id;if(!this.resSolutionZTPanel){this.resSolutionZTPanel=new com.hypermanager.resSolution.resSolutionZTPanel();this.contentPanel.getComponent(k.idx_resSolZT).add(this.resSolutionZTPanel);this.contentPanel.doLayout();this.resSolutionZTPanel.productId=e;this.resSolutionZTPanel.objectId=d;this.resSolutionZTPanel.changeResourceId.call(this.resSolutionZTPanel,f.attributes.foreignKey,f.attributes.object_id);this.resSolutionZTPanel.retrieveDefaultParameters(d)}else{if(this.resSolutionZTPanel.objectId!=d||this.resSolutionZTPanel.productId!=e){this.resSolutionZTPanel.productId=e;this.resSolutionZTPanel.objectId=d;this.resSolutionZTPanel.retrieveDefaultParameters(d)}}this.contentPanel.getLayout().setActiveItem(k.idx_resSolZT)}else{if(h==k.type_resSolutionBT&&b.isLicensed(b.LICENSE_RESSOL_ACTIVATED)){var e=f.attributes.foreignKey;var d=f.attributes.object_id;if(!this.resSolutionBTPanel){this.resSolutionBTPanel=new com.hypermanager.resSolution.resSolutionBTPanel();this.contentPanel.getComponent(k.idx_resSolBT).add(this.resSolutionBTPanel);this.contentPanel.getLayout().setActiveItem(k.idx_resSolBT);this.contentPanel.doLayout();this.resSolutionBTPanel.productId=e;this.resSolutionBTPanel.objectId=d;this.resSolutionBTPanel.retrieveDefaultParameters(d)}else{if(this.resSolutionBTPanel.objectId!=d||this.resSolutionBTPanel.productId!=e){this.resSolutionBTPanel.productId=e;this.resSolutionBTPanel.objectId=d;this.resSolutionBTPanel.retrieveDefaultParameters(d)}}this.contentPanel.getLayout().setActiveItem(k.idx_resSolBT)}else{if(h==k.type_resSolutionRepResPro&&b.isLicensed(b.LICENSE_RESSOL_ACTIVATED)){var e=f.attributes.foreignKey;var d=f.attributes.object_id;if(!this.resSolutionReportResProPanel){this.resSolutionReportResProPanel=new com.hypermanager.resSolution.resSolutionReportResProPanel();this.contentPanel.getComponent(k.idx_resSolRepResPro).add(this.resSolutionReportResProPanel);this.contentPanel.getLayout().setActiveItem(k.idx_resSolRepResPro);this.contentPanel.doLayout();this.resSolutionReportResProPanel.productId=e;this.resSolutionReportResProPanel.objectId=d;this.resSolutionReportResProPanel.retrieveDefaultParameters(d)}else{if(this.resSolutionReportResProPanel.objectId!=d||this.resSolutionReportResProPanel.productId!=e){this.resSolutionReportResProPanel.productId=e;this.resSolutionReportResProPanel.objectId=d;this.resSolutionReportResProPanel.retrieveDefaultParameters(d)}}this.contentPanel.getLayout().setActiveItem(k.idx_resSolRepResPro)}else{if(h==k.type_resSolutionRepProRes&&b.isLicensed(b.LICENSE_RESSOL_ACTIVATED)){var e=f.attributes.foreignKey;var d=f.attributes.object_id;if(!this.resSolutionReportProResPanel){this.resSolutionReportProResPanel=new com.hypermanager.resSolution.resSolutionReportProResPanel();this.contentPanel.getComponent(k.idx_resSolRepProRes).add(this.resSolutionReportProResPanel);this.contentPanel.getLayout().setActiveItem(k.idx_resSolRepProRes);this.contentPanel.doLayout();this.resSolutionReportProResPanel.productId=e;this.resSolutionReportProResPanel.objectId=d;this.resSolutionReportProResPanel.retrieveDefaultParameters(d)}else{if(this.resSolutionReportProResPanel.objectId!=d||this.resSolutionReportProResPanel.productId!=e){this.resSolutionReportProResPanel.productId=e;this.resSolutionReportProResPanel.objectId=d;this.resSolutionReportProResPanel.retrieveDefaultParameters(d)}}this.contentPanel.getLayout().setActiveItem(k.idx_resSolRepProRes)}else{this.contentPanel.getLayout().setActiveItem(k.idx_noaccess)}}}}}}}}}this.navPanel.doLayout();this.contentPanel.doLayout()}},showPage:function(a){if(!this.internalPages){this.internalPages=new com.hypermanager.objects.InternalPagePanel({container:this.contentPanel.getComponent(com.hypermanager.objects.ObjectTypes.idx_page),editMode:false});this.contentPanel.getComponent(com.hypermanager.objects.ObjectTypes.idx_page).add(this.internalPages)}this.internalPages.loadPage(a,false)},showWebsite:function(c,a){var b=Ext.Ajax.request({url:ServletContext+"json/page",params:{action:"getWebsite",website_id:a},scope:this,success:function(d,h){var k=Ext.util.JSON.decode(d.responseText);var f=k.website.url;var l=f.substring(0,7)=="http://";var e=f.substring(1,3)==":\\";websitePanel=this.contentPanel.getComponent(com.hypermanager.objects.ObjectTypes.idx_website);while(websitePanel.getComponent(0)!=null){websitePanel.remove(0)}if(l||e){if(e){f=com.hypermanager.util.LinkUtils.getBaseUrl()+"/json/page?action=getServerPage&pageName="+f}this.linkPanel=new Ext.Panel({title:f,monitorResize:true,html:'<iframe src="'+f+'"  width="100%" height="100%" name="linkPanel" frameborder="0" scrolling="true">"<p>'+this.iframeNotSupportedText+'<a href="'+f+'" target="_blank">title</a></p></iframe>'});websitePanel.add(this.linkPanel);this.linkPanel.setHeight(websitePanel.getSize().height)}else{this.linkPanel=new Ext.Panel({title:c,region:"center",autoScroll:true,autoLoad:f});websitePanel.add(this.linkPanel)}websitePanel.doLayout()},failure:this.onServerSideError})},syncComponentSize:function(a){while(a){a.syncSize();a=a.ownerCt}},onContainerContextMenu:function(a){a.preventDefault();if(a.target.className.indexOf("x-panel-body")!=-1){this.showMenu(null,a)}},onNodeContextMenu:function(a,b){if(this.activeObject!=a){this.objectTree.getSelectionModel().select(a);this.onObjectClicked(a,true)}else{this.showMenu(a,b)}},showMenu:function(d,f){this.buildMenu(d);if(!this.contextMenu.isVisible()){var h=com.hypermanager.objects.ObjectTypes;this.activeObject=d;var b=false;if(d!=null){var a=d.attributes.objectType;if(a==h.type_desk){b=this.auth_deskCreate||this.auth_tabSystemCreate}else{if(a==h.type_dataproduct||a==h.type_resSolutionZT||a==h.type_resSolutionRB||a==h.type_resSolutionBT||a==h.type_resSolutionRepResPro||a==h.type_resSolutionRepProRes){b=this.auth_dataAppCreate||this.auth_tabSystemCreate}else{if(a==h.type_page||a==h.type_website){b=this.auth_pageCreate||this.auth_tabSystemCreate}}}this.contextMenu.items.get("deleteObject").setVisible(b);this.contextMenu.items.get("editObject").setVisible(b);this.contextMenu.items.get("saveOptions").setVisible(b&&(a==h.type_dataproduct||a==h.type_resSolutionZT||a==h.type_resSolutionRB||a==h.type_resSolutionBT||a==h.type_resSolutionRepResPro||a==h.type_resSolutionRepProRes)&&(d===this.openedObject));this.contextMenu.items.get("separator").setVisible(true);if(hyperWebMode){var c=d.attributes.ad!=null&&d.attributes.ad.ad_id>0;this.contextMenu.items.get("deleteAd").setVisible(c&&b);this.contextMenu.items.get("editAd").setVisible(c&&b);this.contextMenu.items.get("addAd").setVisible(!c&&b)}this.contextMenu.show(d.ui.getAnchor())}else{this.contextMenu.items.get("deleteObject").setVisible(false);this.contextMenu.items.get("editObject").setVisible(false);this.contextMenu.items.get("saveOptions").setVisible(false);this.contextMenu.items.get("separator").setVisible(false);if(hyperWebMode){this.contextMenu.items.get("addAd").setVisible(false);this.contextMenu.items.get("deleteAd").setVisible(false);this.contextMenu.items.get("editAd").setVisible(false)}this.contextMenu.showAt(f.xy)}}if(this.desks){this.desks.purgeListeners()}},buildMenu:function(d){var a=com.hypermanager.objects.ObjectTypes;this.contextMenu=new Ext.menu.Menu({});scr=com.hypermanager.security;var h=this.contextMenu.add({text:this.editText,itemId:"editObject",icon:iconDir+"link_edit.png"});var c=this.contextMenu.add({text:this.deleteText,itemId:"deleteObject",icon:iconDir+"delete.png"});var m=this.contextMenu.add({text:this.saveText,itemId:"saveOptions",icon:iconDir+"table_go.png"});if(hyperWebMode&&this.auth_tabSystemCreate){var l=this.contextMenu.add({text:this.addAdText,itemId:"addAd",icon:iconDir+"add.png",handler:this.showAdDialog.createDelegate(this,[true],false),scope:this});var e=this.contextMenu.add({text:this.editAdPropertiesText,itemId:"editAd",icon:iconDir+"edit.png",handler:this.showAdDialog.createDelegate(this,[false],false),scope:this});var k=this.contextMenu.add({text:this.deleteAdText,itemId:"deleteAd",icon:iconDir+"delete.png",handler:this.onDeleteHWAd,scope:this})}this.contextMenu.add({xtype:"menuseparator",itemId:"separator"});if(this.auth_tabSystemCreate||this.auth_deskCreate){var o=this.contextMenu.add({text:a.addDeskTitle,itemId:"addDesk",icon:iconDir+a.defaultDeskIcon});o.on("click",this.showObjectDialog.createDelegate(this,[a.type_desk],false),this)}if(this.auth_tabSystemCreate||this.auth_dataAppCreate){var n=this.contextMenu.add({text:a.linkDataProductTitle,itemId:"addData",icon:iconDir+a.defaultProductIcon});n.on("click",this.showObjectDialog.createDelegate(this,[a.type_dataproduct],false),this)}if(this.auth_tabSystemCreate||this.auth_pageCreate){var b=this.contextMenu.add({text:a.addPageTitle,itemId:"addPage",icon:iconDir+a.defaultPageIcon});b.on("click",this.showObjectDialog.createDelegate(this,[a.type_page],false),this);var f=this.contextMenu.add({text:a.addWebsiteTitle,itemId:"addWebsite",icon:iconDir+a.defaultWebsiteIcon});f.on("click",this.showObjectDialog.createDelegate(this,[a.type_website],false),this)}c.on("click",this.onDeleteObjectClicked,this);h.on("click",this.onEditClicked,this);m.on("click",this.onSaveClicked,this)},onEditClicked:function(a,b){this.showObjectDialog(this.activeObject.attributes.objectType,this.activeObject)},onSaveClicked:function(b,c){var a=this.openedObject.attributes.objectType;var d=com.hypermanager.objects.ObjectTypes;if(a==d.type_resSolutionRB){this.resSolutionRBPanel.doStoreParameters.call(this.resSolutionRBPanel,this.openedObject.attributes.object_id)}if(a==d.type_resSolutionZT){this.resSolutionZTPanel.doStoreParameters.call(this.resSolutionZTPanel,this.openedObject.attributes.object_id)}if(a==d.type_resSolutionBT){this.resSolutionBTPanel.doStoreParameters.call(this.resSolutionBTPanel,this.openedObject.attributes.object_id)}if(a==d.type_resSolutionRepResPro){this.resSolutionReportResProPanel.doStoreParameters.call(this.resSolutionReportResProPanel,this.openedObject.attributes.object_id)}if(a==d.type_resSolutionRepProRes){this.resSolutionReportProResPanel.doStoreParameters.call(this.resSolutionReportProResPanel,this.openedObject.attributes.object_id)}if(a==d.type_dataproduct){this.dataApp.doStoreParameters.call(this.dataApp,this.openedObject.attributes.object_id)}},onDeleteObjectClicked:function(a,b){this.contentPanel.setVisible(false);Ext.MessageBox.confirm(this.confirmDeleteObjectTitle,this.confirmDeleteObjectText(this.activeObject.text),function(c){if(c=="yes"){this.deleteObject(this.activeObject)}this.contentPanel.setVisible(true)},this)},deleteObject:function(c){if(c!=null){var b=this.objectTree.getRootNode();var a=Ext.Ajax.request({url:this.servletURL,params:{action:"deleteObject",object_id:c.attributes.object_id},scope:this,success:function(e,f){var d=this.objectTree.getRootNode();var h=c.previousSibling!=null?c.previousSibling:d.firstChild;d.removeChild(c);if(h!=null){this.objectTree.getSelectionModel().select(h)}this.onObjectClicked(h)},failure:this.onServerSideError})}},showObjectDialog:function(d,f){var b=-1;if(!f){if(this.activeObject){var c=this.activeObject.previousSibling?this.activeObject.previousSibling.attributes.guiIndex:null;var a=this.activeObject.attributes.guiIndex}else{var e=this.objectTree.getRootNode().lastChild;var c=e?e.attributes.guiIndex:null;var a=null}b=com.hypermanager.util.GUIHelper.getNewGuiIndex(c,a,this.GUI_INDEX_STEP)}else{b=f.attributes.guiIndex}this.objectDialog=new com.hypermanager.objects.ObjectDialog({type:d,activeObject:f,guiIndex:b,tab_idf:this.parentTab.tab_id});this.objectDialog.on("hide",function(){this.contentPanel.setVisible(true)},this);this.objectDialog.on("objectstored",function(l){var k=l.icon;var h=new Ext.tree.TreeNode({object_id:l.object_id,text:l.name,foreignKey:l.foreignKey,tab_idf:l.tab_idf,guiIndex:l.guiIndex,objectType:l.objectType,cls:l.isTitle?"object-title":"",leaf:true,icon:com.hypermanager.objects.ObjectTypes.getIconFromObject(l)});if(f){this.objectTree.getRootNode().replaceChild(h,this.activeObject)}else{this.objectTree.getRootNode().insertBefore(h,this.activeObject)}this.activeObject=h;this.objectTree.getSelectionModel().select(h);this.onObjectClicked(h);if(d==com.hypermanager.objects.ObjectTypes.type_page&&!this.activeObject.foreignKey){this.internalPages.switchToEditMode()}},this);this.contentPanel.setVisible(false);this.objectDialog.show(this)},showAdDialog:function(a){var b=this.activeObject.attributes.ad&&!a?this.activeObject.attributes.ad.ad_id:-1;if(this.adDialog==null){this.adDialog=new com.hypermanager.objects.HWAdDialog();this.adDialog.on("adstored",function(c){this.activeObject.attributes.ad=c;this.onObjectClicked(this.activeObject)},this)}this.adDialog.setTitle(a?this.addAdText:this.editAdPropertiesText);this.adDialog.show(b,this.activeObject.attributes.object_id)},showHWAds:function(f,b){var a=this.parentTab.getComponent(1);for(var d=0;d<a.items.length;d++){if(a.getComponent(d).initialConfig.region!="center"){a.getComponent(d).removeAll(true);a.getComponent(d).hide()}}if(f.attributes.ad!=null){var e=f.attributes.ad;var c={layout:"fit",html:e.content,listeners:{afterrender:{fn:function(l){if(this.auth_deskCreate){var k=l.getEl().child(".x-panel-body");k.on("contextmenu",function(m){this.showHWAdsMenu(m)},this)}},scope:this}}};switch(e.position){case"north":var h=a.layout.north.panel;break;case"east":var h=a.layout.east.panel;break;case"south":var h=a.layout.south.panel;break;case"west":var h=a.layout.west.panel;break}h.add(c);if(e.position=="north"||e.position=="south"){h.setHeight(e.size)}else{h.setWidth(e.size)}h.setVisible(true);h.doLayout()}a.doLayout()},onDeleteHWAd:function(){if(this.activeObject.attributes.ad!=null){this.contentPanel.setVisible(false);Ext.MessageBox.confirm(this.confirmDeleteHWAdTitle,this.confirmDeleteHWAdText(this.activeObject.text),function(a){if(a=="yes"){var b=Ext.Ajax.request({url:this.servletURL,params:{action:"deleteHWAd",adId:this.activeObject.attributes.ad.ad_id},scope:this,success:function(c,d){this.activeObject.attributes.ad=null;this.onObjectClicked(this.activeObject)}})}this.contentPanel.setVisible(true)},this)}},showHWAdEditor:function(){this.adEditor=new com.hypermanager.objects.HWAdEditor({ad:this.activeObject.attributes.ad});this.adEditor.show()},showHWAdsMenu:function(d){d.preventDefault();if(this.adContextMenu==null){this.adContextMenu=new Ext.menu.Menu({id:Ext.id()});this.adContextMenu.add('<b class="menu-title">hyperWeb Ad</b>');var c=this.adContextMenu.add({text:this.editAdContentText,itemId:"editContent",icon:iconDir+"page_white_edit.png",handler:this.showHWAdEditor,scope:this});var a=this.adContextMenu.add({text:this.editAdPropertiesText,itemId:"editProp",icon:iconDir+"application_form_edit.png",handler:this.showAdDialog.createDelegate(this,[false],false),scope:this});var b=this.adContextMenu.add({text:this.deleteAdText,itemId:"deleteAd",icon:iconDir+"delete.png",handler:this.onDeleteHWAd,scope:this})}this.adContextMenu.showAt(d.xy)},onServerSideError:function(a,b){Ext.Msg.alert(this.serverErrorTitle,this.serverErrorMsg)}};Ext.namespace("com.hypermanager.desk");com.hypermanager.desk.CategoryGridPanel=Ext.extend(Ext.grid.EditorGridPanel,{servletURL:ServletContext+"json/hyperweb",deleteText:"Delete",categoryNameColTitle:"Category Name",creationDateTitle:"Created on",addText:"Add",iconText:"Click&nbsp;to&nbsp;select&nbsp;icon",noDeskSelectedErrTitle:"No Category Selected",noDeskSelectedErrMsg:"Please choose a Category to link.",deleteCategoryText:"Delete Category",noCategoriesText:"No Categories available.",confirmDeleteCategoryTitle:"Confirm Delete",confirmDeleteCategoryText:function(a,b){var c="Are you sure you want to do delete Category <b>"+a+"</b> and all containing Metalinks/Links?";if(b&&b>0){c+=" (There are still "+b+" MetaLinks linked to this Category.)"}return c},iconDialog:null,fields:null,clicksToEdit:1,colCategoryId:"category_id",colCategoryIcon:"categoryIcon",colCategoryName:"categoryName",colCreationDate:"creationDate",initComponent:function(){var d=com.hypermanager.security.SecurityMgr;var b=d.isAuthorized(d.ROLE_DESK_CREATE);this.fields=[{id:this.colCategoryId,name:this.colCategoryId,type:"int"},{id:this.colCategoryIcon,name:this.colCategoryIcon,type:"string"},{id:this.colCategoryName,name:this.colCategoryName,type:"string"},{id:this.colCreationDate,name:this.colCreationDate,type:"int"}];var a=Ext.data.Record.create(this.fields);var c={ds:new Ext.data.Store({autoLoad:true,proxy:new Ext.data.HttpProxy({url:this.servletURL}),baseParams:{action:"getCategories"},reader:new Ext.data.JsonReader({root:"categories"},a)}),cm:new Ext.grid.ColumnModel([{id:this.colCategoryIcon,header:"Icon",dataIndex:this.colCategoryIcon,width:30,sortable:true,renderer:this.renderIcon.createDelegate(this,[this.iconText],true)},{id:this.colCategoryName,header:this.categoryNameColTitle,dataIndex:this.colCategoryName,width:200,sortable:true,editor:new Ext.grid.GridEditor(new Ext.form.TextField({allowBlank:false}))},{id:this.colCreationDate,header:this.creationDateTitle,dataIndex:this.colCreationDate,width:110,sortable:true,isCellEditable:false,renderer:com.hypermanager.data.DPGridRenderers.renderTimestamp}]),autoExpandColumn:this.colCategoryName,enableColumnHide:false,columnLines:true,loadMask:true,height:300,listeners:{afteredit:{scope:this,fn:this.updateCategory},cellclick:{scope:this,fn:this.onCellClick}},selModel:new Ext.grid.RowSelectionModel({singleSelect:true}),bbar:new Ext.Toolbar([{icon:iconDir+"add.png",text:this.addText,cls:"x-btn-text-icon",hidden:!b,handler:this.onAddClicked,scope:this},{icon:iconDir+"delete.png",text:this.deleteText,cls:"x-btn-text-icon",hidden:!b,disabled:true,handler:this.onDeleteClicked,scope:this}]),viewConfig:{emptyText:this.noCategoriesText,autoFill:true}};Ext.apply(this,Ext.apply(this.initialConfig,c));com.hypermanager.desk.CategoryGridPanel.superclass.initComponent.apply(this,arguments)},initIconDialog:function(){this.iconDialog=new com.hypermanager.util.IconDialog({relativeIconPath:iconDir});this.iconDialog.on("iconSelected",function(a){if(a){var b=a.get("name");this.getSelectionModel().getSelected().set(this.colCategoryIcon,b);this.updateCategory()}},this);this.iconDialog.show()},showIconDialog:function(){if(!this.iconDialog){this.initIconDialog()}else{this.iconDialog.show();this.iconDialog.iconDataView.refresh()}},onRender:function(){this.getSelectionModel().on("selectionchange",function(){if(this.getSelectionModel().hasSelection()){this.getBottomToolbar().items.get(1).setDisabled(false)}},this);com.hypermanager.desk.DeskGridPanel.superclass.onRender.apply(this,arguments)},renderIcon:function(e,a,b,h,d,c,f){if(e!=null&&e.length>3){return"<img src='"+iconDir.concat(e)+"' width=16 height=16 title="+f+">"}else{return"<img src='"+Ext.BLANK_IMAGE_URL+"' width=16 height=16 title="+f+">"}},updateCategory:function(d){if(d==null){var a=this.getSelectionModel().getSelected()}else{var a=d.record}var c=Ext.copyTo({},a.data,[this.colCategoryId,this.colCategoryName,this.colCategoryIcon]);var b=Ext.Ajax.request({url:this.servletURL,params:{action:"updateCategory",category:Ext.util.JSON.encode(c)},scope:this,success:function(e,f){}})},onAddClicked:function(){var a=Ext.Ajax.request({url:this.servletURL,params:{action:"insertCategory"},scope:this,success:function(b,e){var f=Ext.util.JSON.encode(b.responseText);var h=Ext.data.Record.create(this.fields);var d=this.getStore().getCount()>0?this.defaultSublinkName:this.defaultMetaLinkName;var c=new h()}})},onCellClick:function(a,d,b,c){if(b==0){this.showIconDialog()}},onDeleteClicked:function(){var a=this.getSelectionModel().getSelected();var b=Ext.Ajax.request({url:this.servletURL,params:{action:"getCategoryLinkCount",category_id:a.get(this.colCategoryId)},scope:this,success:function(d,e){var f=Ext.util.JSON.decode(d.responseText);var c=f.objectCount;Ext.MessageBox.confirm(this.confirmDeleteCategoryTitle,this.confirmDeleteCategoryText(a.get(this.colCategoryName),f.objectCount),function(h){if(h=="yes"){var k=Ext.Ajax.request({url:this.servletURL,params:{action:"deleteCategory",desk_id:a.get(this.colCategoryId)},scope:this,success:function(l,m){this.getStore().remove(a)},failure:this.onServerSideError})}},this)}})}});Ext.namespace("com.hypermanager.desk");var clipboardMetaLink=null;com.hypermanager.desk.DeskControl=function(a,b){this.addEvents({deskload:true});this.createDeskLayout(b);this.loadDesk(a)};Ext.extend(com.hypermanager.desk.DeskControl,Ext.util.Observable,{GUI_INDEX_STEP:1000,hWebIconDir:"resources/images/icons/hyperWeb/",loadMask:null,dragDropPending:false,servletURL:ServletContext+"json/desk",activeMetaLink:null,currentDeskId:-1,currentColumnIndex:0,contextMenu:null,columnContextMenu:null,frameContextMenu:null,metaLinkDlg:null,mainPanel:null,metaLinkTree:null,currentTreePanel:null,ddMetalinks:"metalinks",authRead:false,authWrite:false,authAdmin:false,loadingSubLinks:false,errorTitle:"Operation failed",serverErrorTitle:"Server Side Error",serverErrorMsg:"Error while Server side processing Metalinks!",confirmDeleteTitle:"Confirm Delete",confirmDeleteText:function(a){return"Are you sure you want to do delete MetaLink <b>"+a+"</b>?"},confirmDeleteFrameText:function(a){return"Are you sure you want to do delete Frame <b>"+a+"</b> and all containing MetaLinks ?"},addText:"Add",editText:"Edit",cutText:"Cut",copyText:"Copy",pasteText:"Paste",deleteText:"Delete",renameText:"Rename",renameFrameText:"Rename Frame",addFrameText:"Add Frame",categoryNameLabel:"Name",categoryLabel:"Category",emptyCatComboText:"Choose a Category...",noCatSelectedErrTitle:"No Category Selected",noCatSelectedErrMsg:"Please choose an existing Category.",cancelText:"Cancel",createDeskLayout:function(a){this.mainPanel=new Ext.Panel({layout:"fit",margins:"5 5 5 0",border:false,closable:false,title:"-",buttonAlign:"center",items:[{bodyBorder:false,xtype:"portal",listeners:{drop:{fn:this.onDragDropFrame,scope:this},beforedrop:{fn:function(){return !this.dragDropPending},scope:this}},items:[{flex:1,autoScroll:true,listeners:{afterrender:{fn:function(b){b.getEl().on("contextmenu",this.onColumnContextMenu.createDelegate(this,0,true),this)},scope:this}}},{flex:1,autoScroll:true,listeners:{afterrender:{fn:function(b){b.getEl().on("contextmenu",this.onColumnContextMenu.createDelegate(this,1,true),this)},scope:this}}},{flex:1,autoScroll:true,listeners:{afterrender:{fn:function(b){b.getEl().on("contextmenu",this.onColumnContextMenu.createDelegate(this,2,true),this)},scope:this}}}]}]});a.add(this.mainPanel)},loadDesk:function(a){this.currentDeskId=a;this.clearFrames();var b=Ext.Ajax.request({url:hyperWebMode?ServletContext+"json/hyperweb":this.servletURL,params:{action:"getDesk",desk_id:this.currentDeskId},method:"POST",scope:this,success:function(d,e){var h=Ext.util.JSON.decode(d.responseText);var c=h.desk.currentUsersAce;if(c!=null){this.authRead=h.desk.currentUsersAce.read;this.authWrite=h.desk.currentUsersAce.write;this.authAdmin=h.desk.currentUsersAce.admin}this.mainPanel.setTitle(h.desk.deskName);for(var f=0;f<h.desk.childFrames.length;f++){this.createFrame(h.desk.childFrames[f])}this.fireEvent("deskload",h.desk)},failure:this.onServerSideError})},loadMetaLinks:function(f,h){var b=f.getRootNode();while(b.firstChild){b.removeChild(b.firstChild)}for(var d=0;d<h.length;d++){var e=h[d].icon;if(h[d].icon=="favicon"){e=com.hypermanager.util.LinkUtils.getFaviconUrl(h[d].url)}else{e=e&&e.length>3?(iconDir+e):Ext.BLANK_IMAGE_URL}var c=h[d];Ext.apply(c,{icon:e=="favicon"?com.hypermanager.util.LinkUtils.getFaviconUrl(h[d].url):e,leaf:true,text:h[d].linkName,draggable:this.authWrite,cls:h[d].hasSublinks?"mltree-sublinks":"mltree-no-sublinks"});var a=new Ext.tree.TreeNode(c);b.appendChild(a)}b.expand()},getSubLinks:function(b){if(!b.attributes.topCategory){this.loadingSubLinks=true;var a=Ext.Ajax.request({url:this.servletURL,params:{action:"getSubLinks",metalink_id:b.attributes.metalink_id},scope:this,success:function(c,d){var e=Ext.util.JSON.decode(c.responseText);this.loadingSubLinks=false;this.showSubLinkMenu(b,e.sublinks)},failure:this.onServerSideError})}},showSubLinkMenu:function(f,a,h){this.createMenu(f);if(!this.contextMenu.isVisible()&&!this.loadingSubLinks){this.activeMetaLink=f;if(f!=null){this.currentTreePanel=f.getOwnerTree()}if(this.contextMenu.items!=null){this.contextMenu.items.each(function(e){if(e.type=="sublink"){this.contextMenu.remove(e,true)}},this)}if(a&&a.length>0){this.contextMenu.insert(0,new Ext.menu.Separator({type:"sublink"}));for(var b=a.length-1;b>=0;b--){if(a[b].icon=="favicon"){var c=com.hypermanager.util.LinkUtils.getFaviconUrl(a[b].url)}else{var c=a[b].icon&&a[b].icon.length>3?iconDir.concat(a[b].icon):iconDir.concat("bullet_black.png")}var d=this.contextMenu.insert(0,new Ext.menu.Item({text:a[b].linkName,icon:c,sublink_id:a[b].sublink_id,url:a[b].url,type:"sublink",handler:this.onSubLinkClicked,scope:this}))}if(hyperWebMode&&this.activeMetaLink.attributes.category_idf>0){this.contextMenu.insert(0,'<b class="menu-title">'+this.activeMetaLink.text+"</b>")}}scr=com.hypermanager.security;this.contextMenu.items.get("deleteMetalink").setVisible(f!=null&&this.authWrite);this.contextMenu.items.get("addMetalink").setVisible(this.authWrite);this.contextMenu.items.get("editMetalink").setVisible(f!=null&&this.authWrite);this.contextMenu.items.get("cutMetalink").setVisible(f!=null&&this.authWrite);this.contextMenu.items.get("copyMetalink").setVisible(f!=null&&this.authWrite);this.contextMenu.items.get("pasteMetalink").setVisible(this.authWrite&&clipboardMetaLink!=null);this.contextMenu.items.get("separator1").setVisible(f!=null);if(clipboardMetaLink!=null){this.contextMenu.items.get("pasteMetalink").setText(this.pasteText+" ( "+clipboardMetaLink.ml.text+" )")}if(f!=null){f.select();this.contextMenu.show(f.ui.getAnchor())}else{this.contextMenu.showAt(h.xy)}}},createMenu:function(f){if(this.contextMenu==null){this.contextMenu=new Ext.menu.Menu({id:Ext.id()});var d=this.contextMenu.add({text:this.editText,itemId:"editMetalink",icon:iconDir+"link_edit.png",handler:this.onEditMetaLink,scope:this});var c=this.contextMenu.add({text:this.deleteText,itemId:"deleteMetalink",icon:iconDir+"delete.png",handler:this.onDeleteMetaLink,scope:this});var e=this.contextMenu.add({text:this.cutText,itemId:"cutMetalink",icon:iconDir+"cut.png",handler:this.onCutMetaLink,scope:this});var b=this.contextMenu.add({text:this.copyText,itemId:"copyMetalink",icon:iconDir+"page_copy.png",handler:this.onCopyMetaLink,scope:this});var h=this.contextMenu.add({xtype:"menuseparator",itemId:"separator1"});var a=this.contextMenu.add({text:this.pasteText,itemId:"pasteMetalink",icon:iconDir+"paste_plain.png",handler:this.onPasteMetaLink,scope:this,hidden:true});var k=this.contextMenu.add({text:this.addText,itemId:"addMetalink",icon:iconDir+"add.png",handler:this.onAddMetaLink,scope:this});k.on("click",this.onAddMetaLink,this);c.on("click",this.onDeleteMetaLink,this);d.on("click",this.onEditMetaLink,this)}},showMetaLinkDialog:function(b,c,a){if(!this.metaLinkDlg){if(hyperWebMode){this.metaLinkDlg=new com.hypermanager.desk.HWMetaLinkDialog()}else{this.metaLinkDlg=new com.hypermanager.desk.MetaLinkDialog()}this.metaLinkDlg.on("linksStored",this.onMetaLinkUpdate,this)}if(b&&b>0){this.metaLinkDlg.show({metalink_id:b,frame_idf:c,desk_idf:this.currentDeskId,mlGuiIndex:a},b)}else{a=this.activeMetaLink?this.getNewGuiIndex(this.activeMetaLink.previousSibling,this.activeMetaLink):this.getNewGuiIndex(this.currentTreePanel.getRootNode().lastChild,null);this.metaLinkDlg.show({metalink_id:-1,frame_idf:this.currentTreePanel.frame_id,desk_idf:this.currentDeskId,mlGuiIndex:a})}},onMetaLinkUpdate:function(b,d){var a=this.currentTreePanel.getRootNode();var f=new Ext.tree.TreeNode({metalink_id:b.metalink_id,icon:b.icon=="favicon"?com.hypermanager.util.LinkUtils.getFaviconUrl(b.url):iconDir+b.icon,leaf:true,text:b.linkName,url:b.url,guiIndex:d.mlGuiIndex,frame_idf:d.frame_idf,cls:b.hasSublinks?"mltree-sublinks":"mltree-no-sublinks"});if(d.metalink_id>0){var e=a.replaceChild(f,this.activeMetaLink)}else{var e=a.insertBefore(f,this.activeMetaLink);if(this.checkForResetGI(f)){this.resetGuiIndices(f)}}var c=Ext.get(e.getUI().getEl());c.fadeIn({easing:"bounceOut",duration:1.5});this.activeMetaLink=f},onMetaLinkClicked:function(b){this.currentTreePanel=b.getOwnerTree();this.activeMetaLink=b;var a=b.attributes.url;if(a!=null&&a.length>0){com.hypermanager.util.LinkUtils.openLink(b.attributes.url,true)}else{this.getSubLinks(b)}},onSubLinkClicked:function(a){if(a.url!=null&&a.url.length>0){com.hypermanager.util.LinkUtils.openLink(a.url,true)}},onAddMetaLink:function(){this.showMetaLinkDialog()},onDeleteMetaLink:function(){Ext.MessageBox.confirm(this.confirmDeleteTitle,this.confirmDeleteText(this.activeMetaLink.text),function(a){if(a=="yes"){var b=Ext.Ajax.request({url:this.servletURL,params:{action:"deleteMetaLink",metalink_id:this.activeMetaLink.attributes.metalink_id,desk_id:this.currentDeskId},scope:this,success:function(c,d){this.currentTreePanel.getRootNode().removeChild(this.activeMetaLink)},failure:this.onServerSideError})}},this)},onEditMetaLink:function(){this.showMetaLinkDialog(this.activeMetaLink.attributes.metalink_id,this.activeMetaLink.attributes.frame_idf,this.activeMetaLink.attributes.guiIndex)},onCutMetaLink:function(){if(clipboardMetaLink!=null){clipboardMetaLink.ml.getUI().removeClass("metalink-node-cut")}clipboardMetaLink={cut:true,ml:this.activeMetaLink};this.activeMetaLink.getUI().addClass("metalink-node-cut")},onCopyMetaLink:function(){if(clipboardMetaLink!=null){clipboardMetaLink.ml.getUI().removeClass("metalink-node-cut")}clipboardMetaLink={cut:true,ml:this.activeMetaLink};var a=new Array();a.push(this.activeMetaLink.attributes.url);if(this.contextMenu.items!=null){this.contextMenu.items.each(function(b){if(b.type=="sublink"&&b.url!=null&&com.hypermanager.util.LinkUtils.isLocalLink(b.url)){a.push(b.url)}},this)}copyFilesWithAppLauncher(a,function(){},this)},onPasteMetaLink:function(){var a=this.activeMetaLink?this.getNewGuiIndex(this.activeMetaLink.previousSibling,this.activeMetaLink):this.getNewGuiIndex(this.currentTreePanel.getRootNode().lastChild,null);var b=Ext.Ajax.request({url:this.servletURL,params:{action:"pasteMetaLink",cut:clipboardMetaLink.cut,metalink_id:clipboardMetaLink.ml.attributes.metalink_id,desk_id:this.currentDeskId,guiIndex:a,frame_idf:this.currentTreePanel.frame_id},method:"POST",scope:this,success:function(c,d){var e=Ext.util.JSON.decode(c.responseText);var k=new Ext.tree.TreeNode({metalink_id:e.metalink_id,icon:clipboardMetaLink.ml.attributes.icon,leaf:true,text:clipboardMetaLink.ml.text,url:clipboardMetaLink.ml.url,guiIndex:a,frame_idf:this.currentTreePanel.frame_id});var h=this.currentTreePanel.getRootNode().insertBefore(k,this.activeMetaLink);var f=Ext.get(h.getUI().getEl());f.fadeIn({easing:"bounceOut",duration:1.5});this.activeMetaLink=k;if(clipboardMetaLink.cut){clipboardMetaLink.ml.remove(true);clipboardMetaLink.cut=false;clipboardMetaLink.ml=k}},failure:this.onServerSideError})},onHeaderContextMenu:function(e,d,c,h,f){this.clearSelection();this.currentTreePanel=this.getFrameTreeById(f.frame_id);this.currentColumnIndex=f.column_index;e.preventDefault();if(this.authWrite){this.showFrameMenu(e,h,f)}},showFrameMenu:function(d,h,c){if(this.frameContextMenu==null){this.frameContextMenu=new Ext.menu.Menu({id:Ext.id()});this.frameContextMenu.add('<b class="menu-title">Frame</b>');var b=this.frameContextMenu.add({text:this.renameFrameText,itemId:"renameFrame",icon:iconDir+"textfield_rename.png",handler:this.onRenameClicked.createDelegate(this,[h,c],true),scope:this});var f=this.frameContextMenu.add({text:this.addText,itemId:"addFrame",icon:iconDir+"add.png",handler:this.onAddFrameClicked,scope:this});var a=this.frameContextMenu.add({text:this.deleteText,itemId:"deleteFrame",icon:iconDir+"delete.png",handler:this.onDeleteFrameClicked,scope:this});this.frameContextMenu.add('<b class="menu-sub-title">MetaLink</b>');var f=this.frameContextMenu.add({text:this.addText,itemId:"addMetalink",icon:iconDir+"add.png",handler:this.onAddMetaLink,scope:this})}this.frameContextMenu.showAt(d.xy)},onColumnContextMenu:function(h,d,c,f){if(h.target.className.indexOf("x-portal-column")!=-1){h.preventDefault();this.clearSelection();this.currentColumnIndex=f;if(this.columnContextMenu==null){this.columnContextMenu=new Ext.menu.Menu({items:[{text:this.addFrameText,itemId:"addFrame",icon:iconDir+"add.png",handler:this.onAddFrameClicked,scope:this}]})}this.columnContextMenu.showAt(h.xy)}},onAddFrameClicked:function(a,b){Ext.MessageBox.prompt(this.addFrameText,null,function(c,h){if(c=="ok"){var d=this.mainPanel.getComponent(0).getComponent(this.currentColumnIndex).items.length;var f={column_index:this.currentColumnIndex,row_index:d,desk_idf:this.currentDeskId,frameName:h};var e=Ext.Ajax.request({url:this.servletURL,params:{action:"insertFrame",frame:Ext.util.JSON.encode(f)},method:"POST",scope:this,success:function(k,l){var m=Ext.util.JSON.decode(k.responseText);this.createFrame(m.frame)},failure:this.onServerSideError})}},this,false,"")},onDeleteFrameClicked:function(){Ext.MessageBox.confirm(this.confirmDeleteTitle,this.confirmDeleteFrameText(this.currentTreePanel.ownerCt.title),function(a){if(a=="yes"){var b=Ext.Ajax.request({url:this.servletURL,params:{action:"deleteFrame",id:this.currentTreePanel.frame_id,desk_id:this.currentDeskId},scope:this,success:function(c,d){var e=this.mainPanel.getComponent(0).getComponent(this.currentColumnIndex);e.remove(this.getFramePanelById(this.currentTreePanel.frame_id,this.currentColumnIndex),true)},failure:this.onServerSideError})}},this)},onRenameClicked:function(a,b,e,c){var d=this.getFramePanelById(this.currentTreePanel.frame_id,this.currentColumnIndex);Ext.MessageBox.prompt(this.renameFrameText,null,function(f,h){if(f=="ok"&&h!=d.title){this.renameFrame(h,d)}},this,false,d.title)},renameFrame:function(c,d){var a=c;var b=Ext.Ajax.request({url:this.servletURL,params:{action:"renameFrame",id:d.frame_id,desk_id:this.currentDeskId,name:a},method:"POST",scope:this,success:function(){d.setTitle(a)},failure:this.onServerSideError})},createFrame:function(e){var d=e.childMetaLinks!=null&&e.childMetaLinks.length>0;var c=this.mainPanel.getComponent(0).getComponent(e.column_index);var a=this.createFrameTree(e);var b={title:e.frameName,autoHeight:true,frame_id:e.frame_id,column_index:e.column_index,items:[a],tools:[{id:"toggle",handler:function(k,h,f){this.onHeaderContextMenu(k,null,null,null,f)},scope:this,hidden:!this.authWrite}],listeners:{afterrender:{fn:function(h){if(this.authWrite){var f=h.getEl().child(".x-panel-header");f.on("contextmenu",this.onHeaderContextMenu.createDelegate(this,[f,h],true),this)}}},scope:this}};c.add(b);c.doLayout();if(d){this.loadMetaLinks(a,e.childMetaLinks)}},getNewGuiIndex:function(c,b){var e=c?c.attributes.guiIndex:null;var a=b?b.attributes.guiIndex:null;var d=com.hypermanager.util.GUIHelper.getNewGuiIndex(e,a,this.GUI_INDEX_STEP);return d},checkForResetGI:function(d){var a=Math.floor(d.attributes.guiIndex);var c=d.previousSibling;var b=d.nextSibling;if(a<=0){return true}if(!c&&!b){return false}else{if((c&&a==Math.floor(c.attributes.guiIndex))||(b&&a==Math.floor(b.attributes.guiIndex))){return true}return false}},resetGuiIndices:function(b){var a=Ext.Ajax.request({url:this.servletURL,params:{action:"resetGuiIndices",metalink_id:b.attributes.metalink_id,frame_idf:b.attributes.frame_idf,desk_id:this.currentDeskId,nextMetaLinkId:b.nextSibling?b.nextSibling.attributes.metalink_id:-1},scope:this,success:function(d,e){var c=Ext.util.JSON.decode(d.responseText).links;this.loadMetaLinks(b.getOwnerTree(),c)},failure:this.onServerSideError})},onDragDropFrame:function(a){this.dragDropPending=true;var c=this.mainPanel.getComponent(0).getComponent(a.columnIndex);var f=new Array();for(var b=0;b<c.items.length;b++){var e={frame_id:c.get(b).frame_id,column_index:a.columnIndex,row_index:b,desk_idf:this.currentDeskId};f[b]=e}var d=Ext.Ajax.request({url:this.servletURL,params:{action:"dragDropFrame",frames:Ext.util.JSON.encode(f)},scope:this,success:function(h,k){a.panel.column_index=a.columnIndex;this.dragDropPending=false},failure:this.onServerSideError})},onDragDrop:function(f,a,m,k){if(!this.dragDropPending){this.dragDropPending=true;this.currentTreePanel=a.getOwnerTree();var c=this.getNewGuiIndex(a.previousSibling,a.nextSibling,this.GUI_INDEX_STEP);var l=a.getOwnerTree().frame_id;a.attributes.frame_idf=l;a.attributes.guiIndex=c;var b=a.previousSibling?a.previousSibling.attributes.guiIndex:null;var h=a.nextSibling?a.nextSibling.attributes.guiIndex:null;if(com.hypermanager.util.GUIHelper.checkForResetGI(c,b,h)){this.resetGuiIndices(a)}else{var d=Ext.Ajax.request({url:this.servletURL,params:{action:"dragDropMetaLink",metalink_id:a.attributes.metalink_id,frame_idf:l,desk_id:this.currentDeskId,guiIndex:c},scope:this,success:function(e,n){this.dragDropPending=false},failure:this.onServerSideError})}}},getMetaLinkById:function(c){for(var b=0;b<this.metaLinkTree.length;b++){var a=this.metaLinkTree[b].getRootNode();var d=a.findChild("metalink_id",c);if(d){return d}}},getFrameTreeById:function(b){for(var a=0;a<this.metaLinkTree.length;a++){if(this.metaLinkTree[a].frame_id==b){return this.metaLinkTree[a]}}},getFramePanelById:function(c,d){var b=this.mainPanel.getComponent(0).getComponent(d);for(var a=0;a<b.items.length;a++){if(b.getComponent(a).frame_id==c){return b.getComponent(a)}}},clearFrames:function(){var a=this.mainPanel.getComponent(0);if(this.metaLinkTree!=null&&a!=null){for(var b=0;b<this.metaLinkTree.length;b++){this.metaLinkTree[b].destroy()}this.metaLinkTree=null;for(var b=0;b<a.items.length;b++){var c=a.getComponent(b);if(c!=null&&c.items!=null){while(c.items.length>0){c.remove(c.getComponent(0),true)}}}}},clearSelection:function(e,c,d){var a=this.mainPanel.getComponent(0);this.activeMetaLink=null;if(this.metaLinkTree!=null&&a!=null){for(var b=0;b<this.metaLinkTree.length;b++){if(c==null||c.attributes.frame_idf!=this.metaLinkTree[b].frame_id){this.metaLinkTree[b].getSelectionModel().clearSelections(true)}}}},createFrameTree:function(b){if(this.metaLinkTree==null){this.metaLinkTree=new Array()}var a=this.metaLinkTree.length;this.metaLinkTree[a]=new Ext.tree.TreePanel({monitorResize:true,layout:"fit",animate:true,autoScroll:true,enableDD:true,ddGroup:this.ddMetalinks,ddScroll:true,dropConfig:{allowContainerDrop:true,ddGroup:this.ddMetalinks,onContainerDrop:function(d,f,c){if(c.node&&!this.dragDropPending){this.tree.root.appendChild(c.node);return true}return false}},containerScroll:true,frame_id:b.frame_id,bodyStyle:"padding: 8px 0 8px 0",enableDD:true,rootVisible:false,root:new Ext.tree.AsyncTreeNode({text:"root",leaf:false,draggable:false}),listeners:{afterrender:{fn:function(e){if(this.authWrite){var d=e.getEl().child(".x-panel-body");d.on("contextmenu",function(c){if(c.target.className.indexOf("x-panel-body")!=-1){c.preventDefault();this.currentTreePanel=this.metaLinkTree[a];this.showSubLinkMenu(null,null,c)}},this)}},scope:this}}});this.metaLinkTree[a].on("click",this.onMetaLinkClicked,this);this.metaLinkTree[a].getSelectionModel().on("afterselect",this.clearSelection,this);this.metaLinkTree[a].on("contextmenu",this.getSubLinks,this);this.metaLinkTree[a].on("dragdrop",this.onDragDrop,this);this.metaLinkTree[a].on("beforenodedrop",function(c){if(this.dragDropPending){return false}return true},this);return this.metaLinkTree[a]},setVisible:function(a){this.mainPanel.setVisible(a)},onServerSideError:function(a,b){this.dragDropPending=false;Ext.Msg.alert(this.serverErrorTitle,this.serverErrorMsg)}});Ext.namespace("com.hypermanager.desk");com.hypermanager.desk.DeskGridPanel=Ext.extend(Ext.grid.GridPanel,{servletURL:ServletContext+"json/desk",deleteText:"Delete",deskNameColTitle:"Desk Name",creationDateTitle:"Created on",renameTitle:"Rename",renameText:"Please enter new Deskname",noDeskSelectedErrTitle:"No Desk Selected",noDeskSelectedErrMsg:"Please choose a Desk to link.",noDesksAvailableText:"No Desks available.",deleteDeskText:"Delete Desk",confirmDeleteDeskTitle:"Confirm Delete",confirmDeleteDeskText:function(b,a){var c="Are you sure you want to do delete Desk <b>"+b+"</b> and all containing Metalinks/Links?";if(a&&a>0){c+=" (There are still "+a+" Objects linked to this Desk.)"}return c},initComponent:function(){var c=com.hypermanager.security.SecurityMgr;var a=Ext.data.Record.create([{id:"desk_id",name:"desk_id",type:"int"},{id:"deskName",name:"deskName",type:"string"},{id:"creationDate",name:"creationDate",type:"int"},{id:"currentUsersAce",name:"currentUsersAce"}]);var b={ds:new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:this.servletURL}),baseParams:{action:"getDesks"},reader:new Ext.data.JsonReader({root:"desks"},a)}),cm:new Ext.grid.ColumnModel([{id:"deskName",header:this.deskNameColTitle,dataIndex:"deskName",width:200,sortable:true},{id:"creationDate",header:this.creationDateTitle,dataIndex:"creationDate",width:110,sortable:true,renderer:com.hypermanager.data.DPGridRenderers.renderTimestamp}]),autoExpandColumn:"deskName",enableColumnHide:false,columnLines:true,loadMask:true,height:300,selModel:new Ext.grid.RowSelectionModel({singleSelect:true}),bbar:new Ext.Toolbar([{icon:iconDir+"textfield_rename.png",text:this.renameTitle,cls:"x-btn-text-icon",disabled:true,handler:this.onRenameClicked,scope:this},{icon:iconDir+"delete.png",text:this.deleteText,cls:"x-btn-text-icon",disabled:true,handler:this.onDeleteClicked,scope:this}]),viewConfig:{emptyText:this.noDesksAvailableText,autoFill:true}};Ext.apply(this,Ext.apply(this.initialConfig,b));com.hypermanager.desk.DeskGridPanel.superclass.initComponent.apply(this,arguments)},onRender:function(){this.getSelectionModel().on("selectionchange",function(){if(this.getSelectionModel().hasSelection()){var b=this.getSelectionModel().getSelected();var a=b.get("currentUsersAce");this.getBottomToolbar().items.get(0).setDisabled(!a.admin);this.getBottomToolbar().items.get(1).setDisabled(!a.admin)}},this);com.hypermanager.desk.DeskGridPanel.superclass.onRender.apply(this,arguments)},onDeleteClicked:function(){var a=this.getSelectionModel().getSelected();var b=Ext.Ajax.request({url:ServletContext+"json/tabs",params:{action:"getLinkedObjectCount",object:Ext.util.JSON.encode({foreignKey:a.get("desk_id"),objectType:"D"})},scope:this,success:function(d,e){var f=Ext.util.JSON.decode(d.responseText);var c=f.objectCount;Ext.MessageBox.confirm(this.confirmDeleteDeskTitle,this.confirmDeleteDeskText(a.get("deskName"),f.objectCount),function(h){if(h=="yes"){var k=Ext.Ajax.request({url:this.servletURL,params:{action:"deleteDesk",desk_id:a.get("desk_id")},scope:this,success:function(l,m){this.getStore().remove(a)},failure:this.onServerSideError})}},this)}})},onRenameClicked:function(){var a=this.getSelectionModel().getSelected();Ext.MessageBox.prompt(this.renameTitle,this.renameText,function(b,d){if(b=="ok"&&d!=a.get("deskName")){a.set("deskName",d);var c=Ext.Ajax.request({url:this.servletURL,params:{action:"renameDesk",desk_id:a.get("desk_id"),name:d},scope:this,success:function(){}})}},this,false,a.get("deskName"))}});Ext.namespace("com.hypermanager.desk");com.hypermanager.desk.MetaLinkDialog=function(a){Ext.apply(this,a);this.initMetaLinkDialog();this.addEvents({linksStored:true})};Ext.extend(com.hypermanager.desk.MetaLinkDialog,Ext.util.Observable,{displayMetalink:true,height:400,width:810,ds:null,deletedRecDs:null,grid:null,servletURL:ServletContext+"json/desk",iconDataView:null,iconDataStore:null,defaultSubLinkIcon:"bullet_black.png",metalink_id:-1,mlGuiIndex:-1,frame_idf:-1,desk_idf:-1,metalinkDialog:null,mainPanel:null,iconDialog:null,actionGetLinks:"getLinks",colIcon:"icon",colName:"linkName",colURL:"url",colId:"sublink_id",dialogTitleNew:"New MetaLink / Sublinks",dialogTitleEdit:"Edit MetaLink / Sublinks",defaultSublinkName:"New Sublink",defaultMetaLinkName:"New MetaLink",addText:"Add",deleteText:"Delete",iconColTitle:"Icon",iconText:"Click to select icon",linkNameColTitle:"Name",URLColTitle:"Location",browseFileText:"Browse File",browseFolderText:"Browse Folder",windowCancelButtonText:"Cancel",iconWindowCancelButtonText:"Cancel",show:function(a,c){Ext.apply(this,a);this.ds.removeAll();if(c&&c>=0){this.getLinks();this.metalinkDialog.setTitle(this.dialogTitleEdit)}else{this.metalinkDialog.setTitle(this.dialogTitleNew)}this.metalinkDialog.show();var b=new Ext.dd.DropTarget(this.grid.getEl(),{ddGroup:"GridDD",scope:this,notifyDrop:function(d,m,k){var l=d.grid.getSelectionModel().getSelected();var f=d.getDragData(m).rowIndex;if(f!=null){var h=d.grid.getStore();h.remove(l);h.insert(f,l);d.grid.getSelectionModel().selectRow(f);if(f==0&&this.displayMetalink){scope.deleteSublink(l,true)}}}})},initIconDialog:function(){this.iconDialog=new com.hypermanager.util.IconDialog({relativeIconPath:iconDir});this.iconDialog.on("iconSelected",function(a){if(a){var b=a.get("name");this.grid.getSelectionModel().getSelected().set(this.colIcon,b)}},this);this.iconDialog.show()},showIconDialog:function(){if(!this.iconDialog){this.initIconDialog()}else{this.iconDialog.show();this.iconDialog.iconDataView.refresh()}},initMetaLinkDialog:function(){fm=Ext.form,Ed=Ext.grid.GridEditor;var b=Ext.getBody().createChild({tag:"div"});this.mainPanel=new Ext.Panel({hideMode:"offsets",layout:"border"});this.fields=this.getFieldsArray();var c=Ext.data.Record.create(this.fields);var a=new Ext.grid.ColumnModel([{header:this.iconColTitle,dataIndex:this.colIcon,width:30,sortable:false,scope:this,renderer:this.renderIcon.createDelegate(this,[this.iconText],true)},{header:this.linkNameColTitle,dataIndex:this.colName,renderer:this.renderCell,width:240,sortable:false,editor:new Ed(new fm.TextField({allowBlank:false}))},{header:this.URLColTitle,dataIndex:this.colURL,width:460,sortable:false,renderer:this.renderCell,editor:new Ed(new Ext.form.TextField({}))},{header:"",dataIndex:"browseFile",fixed:true,width:30,scope:this,sortable:false,renderer:this.renderBrowseIcon.createDelegate(this,[this.browseFileText],true)},{header:"",dataIndex:"browseFolder",fixed:true,width:30,scope:this,sortable:false,renderer:this.renderBrowseIcon.createDelegate(this,[this.browseFolderText],true)}]);this.ds=new Ext.data.Store({baseParams:{action:this.actionGetLinks},reader:new Ext.data.JsonReader({root:"links"},c),proxy:new Ext.data.HttpProxy({url:this.servletURL})});this.deletedRecDs=new Ext.data.Store({reader:new Ext.data.JsonReader({root:"links"},c)});this.grid=new Ext.grid.EditorGridPanel({ds:this.ds,cm:a,selModel:new Ext.grid.RowSelectionModel({singleSelect:true}),enableColLock:true,enableDragDrop:true,enableHdMenu:false,enableColumnResize:true,border:false,clicksToEdit:1,region:"center",cls:this.displayMetalink?"mlgrid":"",bbar:new Ext.Toolbar([{icon:iconDir+"add.png",text:this.addText,cls:"x-btn-text-icon",handler:this.onAddSublink,scope:this},{icon:iconDir+"delete.png",text:this.deleteText,cls:"x-btn-text-icon",handler:this.onDeleteClicked,scope:this}])});this.mainPanel.add(this.grid);this.grid.on("cellclick",this.onCellClick,this);this.grid.on("afteredit",this.onAfterEdit,this);this.grid.on("render",function(){if(this.ds.getCount>0){this.grid.getSelectionModel().selectRow(0);this.grid.getView().focusRow(0)}},this);this.ds.on("load",function(){if(this.ds.getCount()>0){this.grid.getSelectionModel().selectRow(0);this.grid.getView().focusRow(0)}},this);if(this.displayMetalink){this.grid.getView().getRowClass=function(d,e,f,h){if(e==0){return"metalink-row"}}}this.mainPanel.doLayout();this.metalinkDialog=new Ext.Window({el:b,layout:"fit",width:this.width,height:this.height,closeAction:"hide",modal:true,onEsc:Ext.emptyFn,shadow:true,items:this.mainPanel,buttons:[{text:"OK",handler:this.onOkClicked,scope:this},{text:this.windowCancelButtonText,handler:function(){this.metalinkDialog.hide()},scope:this}]});this.metalinkDialog.on("show",this.onAddSublink,this)},getFieldsArray:function(){return[{name:this.colIcon,type:"string"},{name:this.colName,type:"string"},{name:this.colURL,type:"string"},{name:this.colId,type:"int"}]},createNewRecord:function(b){if(this.fields==null){this.fields=getFieldsArray()}var c=Ext.data.Record.create(this.fields);var a=new c({icon:"",linkName:b,url:""});return a},getLinks:function(){this.ds.load({params:{metalink_id:this.metalink_id,desk_id:this.desk_idf}})},renderIcon:function(f,a,b,k,e,c,h){if(f=="favicon"){var d=com.hypermanager.util.LinkUtils.getFaviconUrl(c.getAt(k).get("url"));return"<img src='"+d+"' width=16 height=16>"}else{if(f!=null&&f.length>3){return"<img src='"+iconDir.concat(f)+"' width=16 height=16 title="+h+">"}else{return"<img src='"+iconDir.concat(this.defaultSubLinkIcon)+"' width=16 height=16 title="+h+">"}}},renderCell:function(e,a,b,f,d,c){if(this.displayMetalink&&f==0){a.css="metalink-row"}return e},renderBrowseIcon:function(e,a,b,h,d,c,f){if(d==3){return"<img src='"+iconDir.concat("page_white_text.png")+"' width=16 height=16 title="+f+">"}else{if(d==4){return"<img src='"+iconDir.concat("folder_explore.png")+"' width=16 height=16 title="+f+">"}}},onAfterEdit:function(d){if(d.originalValue!=d.value&&d.field==this.colURL){var b=com.hypermanager.util.LinkUtils.parseURL(d.value,true);d.record.set(d.field,b);var c=com.hypermanager.util.LinkUtils.getFaviconUrl(b);if(c!=null){var a=new Image();a.onerror=function(e){};a.onload=function(e){d.record.set("icon","favicon")};a.src=c}}},onAddSublink:function(){var c=Ext.id();var b=this.ds.getCount()>0?this.defaultSublinkName:this.defaultMetaLinkName;var a=this.createNewRecord(b);this.ds.add(a);this.grid.getSelectionModel().selectRecords([a])},onDeleteClicked:function(){if(this.grid.getSelectionModel().hasSelection()){var a=this.grid.getSelectionModel().getSelected();this.deleteSublink(a)}},deleteSublink:function(a,b){if(a!=null){if(!b){this.ds.remove(a)}if(a.get(this.colId)>=0){this.deletedRecDs.add(a)}}},onCellClick:function(b,h,c,d){if(c==0){this.showIconDialog()}else{if(c==3){var f=this.ds.getAt(h);var a=f.get("url");browseWithAppLauncher(a,false,this.onFileSelected,this)}else{if(c==4){var f=this.ds.getAt(h);var a=f.get("url");browseWithAppLauncher(a,true,this.onFileSelected,this)}}}},onOkClicked:function(a,b){this.grid.stopEditing();this.storeLinks();this.metalinkDialog.hide()},storeLinks:function(){var c=this.getJSONLinksFromDataStore(this.ds,1);var a=this.getJSONLinksFromDataStore(this.deletedRecDs);var b=this.getMetaLinkObject();var d=Ext.Ajax.request({url:this.servletURL,params:{action:"storeLinks",desk_id:this.desk_idf,metalink:Ext.util.JSON.encode(b),links:c,deletedLinks:a},method:"POST",scope:this,success:this.onLinksStored,failure:this.onServerSideError})},onLinksStored:function(a,b){var c=Ext.util.JSON.decode(a.responseText);this.fireEvent("linksStored",c.metalink,this)},getMetaLinkObject:function(){var b=this.ds.getAt(0);var a={metalink_id:this.metalink_id,guiIndex:Math.floor(this.mlGuiIndex),frame_idf:this.frame_idf};Ext.apply(a,b.data);return a},getJSONLinksFromDataStore:function(d,e){var c="[";e=e!=null?e:0;for(var b=e;b<d.data.length;b++){var a=d.getAt(b);if(b!=e){c=c.concat(",")}if(a.get("sublink_id")==""){a.set("sublink_id",-1)}c=c.concat(Ext.util.JSON.encode(a.data))}c=c.concat("]");return c},onFileSelected:function(c){if(this.grid.getSelectionModel().hasSelection()){var a=this.grid.getSelectionModel().getSelected();a.set(this.colURL,c);var d=a.get(this.colName);if(!d||d.length==0||d==this.defaultMetaLinkName||d==this.defaultSublinkName){var e=com.hypermanager.util.ExtensionManager.getFilenameFromPath(c);a.set(this.colName,e);var b=com.hypermanager.util.ExtensionManager.getIconFromPath(c);if(b&&b.length>3){a.set(this.colIcon,b)}}}}});Ext.namespace("com.hypermanager.desk");com.hypermanager.desk.HWMetaLinkDialog=function(a){com.hypermanager.desk.HWMetaLinkDialog.superclass.constructor.call(this,a)};Ext.extend(com.hypermanager.desk.HWMetaLinkDialog,com.hypermanager.desk.MetaLinkDialog,{servletURL:ServletContext+"json/hyperweb",height:600,width:810,colAuthor:"author",colBrokenLink:"brokenLink",colCategory:"category_idf",colComments:"comments",colCountry:"country",colDescription:"description",colExpiryDate:"expiryDate",colLanguage:"language",colProprietary:"proprietary",colRelevance:"relevance",colWithCosts:"withCosts",propGridTitleSublink:"Details Sublink",propGridTitleMetaLink:"Details MetaLink",selectCategoryText:"Select Category",cancelText:"Cancel",defaultExpiryDate:new Date("12/31/2019"),initMetaLinkDialog:function(){com.hypermanager.desk.HWMetaLinkDialog.superclass.initMetaLinkDialog.call(this);this.propertyGrid=new Ext.grid.PropertyGrid({region:"south",title:"Details",split:true,collapsible:true,customEditors:{expiryDate:new Ext.grid.GridEditor(new Ext.form.DateField({selectOnFocus:true}))},height:200});var a=this.propertyGrid.getColumnModel();a.setColumnWidth(0,40);a.setColumnWidth(1,200);this.propertyGrid.on("afteredit",this.onAfterEditProperty,this);this.grid.getSelectionModel().on("rowselect",this.onRowSelect,this);this.grid.on("beforeedit",function(c){var b=this.grid.getSelectionModel().getSelected().get(this.colCategory);if(c.row==0&&c.column==1&&b!=null&&b>0){return false}return true},this);this.mainPanel.add(this.propertyGrid)},getFieldsArray:function(){return[{name:this.colIcon,type:"string"},{name:this.colName,type:"string"},{name:this.colURL,type:"string"},{name:this.colId,type:"int"},{name:this.colAuthor,type:"string"},{name:this.colBrokenLink,type:"boolean"},{name:this.colCategory,type:"int"},{name:this.colComments,type:"string"},{name:this.colCountry,type:"string"},{name:this.colDescription,type:"string"},{name:this.colExpiryDate,type:"date",dateFormat:"time"},{name:this.colLanguage,type:"string"},{name:this.colProprietary,type:"boolean"},{name:this.colRelevance,type:"int"},{name:this.colWithCosts,type:"boolean"}]},createNewRecord:function(b){if(this.fields==null){this.fields=getFieldsArray()}var d=Ext.data.Record.create(this.fields);var a=new d({linkName:b});for(var c=0;c<this.fields.length;c++){if(this.fields[c].type=="string"){a.set(this.fields[c].name,"")}else{if(this.fields[c].type=="int"){a.set(this.fields[c].name,0)}else{if(this.fields[c].type=="boolean"){a.set(this.fields[c].name,false)}else{if(this.fields[c].type=="date"){a.set(this.fields[c].name,"")}}}}}a.set(this.colName,b);return a},onRowSelect:function(){if(!b){var b=this.grid.getSelectionModel().getSelected()}if(b){if(b.get(this.colExpiryDate)==null){b.set(this.colExpiryDate,"")}var d=Ext.copyTo({},b.data,[this.colAuthor,this.colBrokenLink,this.colComments,this.colCountry,this.colDescription,this.colExpiryDate,this.colLanguage,this.colProprietary,this.colRelevance,this.colWithCosts]);this.propertyGrid.setSource(d);var e=b.get(this.colId);var c=b.get(this.colName);var a=this.grid.getStore().indexOf(b);if(a==0){this.propertyGrid.setTitle(this.propGridTitleMetaLink+" ( Name: "+c+" ID: "+this.metalink_id+" )")}else{this.propertyGrid.setTitle(this.propGridTitleSublink+" ( Name: "+c+" ID: "+e+" )")}}},onAfterEditProperty:function(c){var b=c.record.data.name;var a=c.record.data.value;this.grid.getSelectionModel().getSelected().set(b,a);this.grid.getView().refresh()},onCellClick:function(c,k,d,h){if(d==0){this.contextMenu=new Ext.menu.Menu({});var b=this.grid.getSelectionModel().getSelected().get(this.colCategory);if(b==null||b<=0){var f=this.contextMenu.add({text:this.iconText,itemId:"selectIcon",icon:iconDir+"page_white_text.png",handler:function(){this.showIconDialog()},scope:this})}if(k==0){var a=this.contextMenu.add({text:this.selectCategoryText,itemId:"selectCategory",icon:iconDir+"folder.png",handler:function(){this.showCategoryDialog()},scope:this})}this.contextMenu.showAt(h.xy)}else{com.hypermanager.desk.HWMetaLinkDialog.superclass.onCellClick.call(this,c,k,d,h)}},showCategoryDialog:function(){if(this.categoryDialog==null){this.categoryDialog=new Ext.Window({title:"Choose Category",layout:"fit",closeAction:"hide",modal:true,width:400,buttons:[{text:"OK",handler:this.onCategoryDialogOk,scope:this},{text:this.cancelText,handler:function(){this.categoryDialog.hide()},scope:this}],items:[new com.hypermanager.desk.CategoryGridPanel({clicksToEdit:2})]})}else{this.categoryDialog.items.get(0).getStore().load()}this.categoryDialog.show()},onCategoryDialogOk:function(){var a=this.categoryDialog.items.get(0);if(a.getSelectionModel().hasSelection()){var b=a.getSelectionModel().getSelected();this.grid.getSelectionModel().getSelected().set(this.colName,b.get(a.colCategoryName));this.grid.getSelectionModel().getSelected().set(this.colIcon,b.get(a.colCategoryIcon));this.grid.getSelectionModel().getSelected().set(this.colCategory,b.get(a.colCategoryId));this.categoryDialog.hide()}else{Ext.Msg.alert(this.noTSSelectedErrTitle,this.noTSSelectedErrMsg)}}});Ext.namespace("Ext.ux.form");Ext.ux.form.BrowseButton=Ext.extend(Ext.Button,{inputFileName:"file",debug:false,FLOAT_EL_WIDTH:60,FLOAT_EL_HEIGHT:18,buttonCt:null,clipEl:null,floatEl:null,inputFileEl:null,originalHandler:null,originalScope:null,initComponent:function(){Ext.ux.form.BrowseButton.superclass.initComponent.call(this);this.originalHandler=this.handler;this.originalScope=this.scope;this.handler=null;this.scope=null},onRender:function(d,b){Ext.ux.form.BrowseButton.superclass.onRender.call(this,d,b);this.buttonCt=this.el.child(".x-btn-center em");this.buttonCt.position("relative");var c={position:"absolute",overflow:"hidden",top:"0px",left:"0px"};if(Ext.isIE){Ext.apply(c,{left:"-3px",top:"-3px"})}else{if(Ext.isGecko){Ext.apply(c,{left:"-3px",top:"-3px"})}else{if(Ext.isSafari){Ext.apply(c,{left:"-4px",top:"-2px"})}}}this.clipEl=this.buttonCt.createChild({tag:"div",style:c});this.setClipSize();this.clipEl.on({mousemove:this.onButtonMouseMove,mouseover:this.onButtonMouseMove,scope:this});this.floatEl=this.clipEl.createChild({tag:"div",style:{position:"absolute",width:this.FLOAT_EL_WIDTH+"px",height:this.FLOAT_EL_HEIGHT+"px",overflow:"hidden"}});if(this.debug){this.clipEl.applyStyles({"background-color":"green"});this.floatEl.applyStyles({"background-color":"red"})}else{this.floatEl.setOpacity(0)}var a=this.el.child(this.buttonSelector);a.on("focus",this.onButtonFocus,this);if(Ext.isIE){this.el.on("keydown",this.onButtonKeyDown,this)}this.createInputFile()},setClipSize:function(){if(this.clipEl){var b=this.buttonCt.getWidth();var a=this.buttonCt.getHeight();if(b===0||a===0){this.setClipSize.defer(100,this)}else{if(Ext.isIE){b=b+5;a=a+5}else{if(Ext.isGecko){b=b+6;a=a+6}else{if(Ext.isSafari){b=b+6;a=a+6}}}this.clipEl.setSize(b,a)}}},createInputFile:function(){this.floatEl.select("em").each(function(a){a.remove()});this.inputFileEl=this.floatEl.createChild({tag:"input",type:"file",size:1,name:this.inputFileName||Ext.id(this.el),tabindex:this.tabIndex,style:{position:"absolute",cursor:"pointer",right:"0px",top:"0px"}});this.inputFileEl=this.inputFileEl.child("input")||this.inputFileEl;this.inputFileEl.on({click:this.onInputFileClick,change:this.onInputFileChange,focus:this.onInputFileFocus,select:this.onInputFileFocus,blur:this.onInputFileBlur,scope:this});if(this.tooltip){if(typeof this.tooltip=="object"){Ext.QuickTips.register(Ext.apply({target:this.inputFileEl},this.tooltip))}else{this.inputFileEl.dom[this.tooltipType]=this.tooltip}}},onButtonFocus:function(a){if(this.inputFileEl){this.inputFileEl.focus();a.stopEvent()}},onButtonKeyDown:function(a){if(this.inputFileEl&&a.getKey()==Ext.EventObject.SPACE){this.inputFileEl.dom.click();a.stopEvent()}},onButtonMouseMove:function(b){var a=b.getXY();a[0]-=this.FLOAT_EL_WIDTH/2;a[1]-=this.FLOAT_EL_HEIGHT/2;this.floatEl.setXY(a)},onInputFileFocus:function(a){if(!this.isDisabled){this.el.addClass("x-btn-over")}},onInputFileBlur:function(a){this.el.removeClass("x-btn-over")},onInputFileClick:function(a){a.stopPropagation()},onInputFileChange:function(){if(this.originalHandler){this.originalHandler.call(this.originalScope,this)}},detachInputFile:function(b){var a=this.inputFileEl;if(typeof this.tooltip=="object"){Ext.QuickTips.unregister(this.inputFileEl)}else{this.inputFileEl.dom[this.tooltipType]=null}this.inputFileEl.removeAllListeners();this.inputFileEl=null;if(!b){this.createInputFile()}return a},getInputFile:function(){return this.inputFileEl},disable:function(){Ext.ux.form.BrowseButton.superclass.disable.call(this);this.inputFileEl.dom.disabled=true},enable:function(){Ext.ux.form.BrowseButton.superclass.enable.call(this);this.inputFileEl.dom.disabled=false}});Ext.reg("browsebutton",Ext.ux.form.BrowseButton);Ext.namespace("Ext.ux.menu");Ext.ux.menu.BrowseItem=Ext.extend(Ext.menu.Item,{inputFileName:"browseFileItem",debug:false,FLOAT_EL_WIDTH:60,FLOAT_EL_HEIGHT:18,buttonCt:null,clipEl:null,floatEl:null,inputFileEl:null,originalHandler:null,originalScope:null,initComponent:function(){Ext.ux.menu.BrowseItem.superclass.initComponent.call(this);this.originalHandler=this.handler;this.originalScope=this.scope;this.handler=null;this.scope=null},onRender:function(c,a){Ext.ux.menu.BrowseItem.superclass.onRender.call(this,c,a);this.buttonCt=this.el;this.buttonCt.position("relative");var b={position:"absolute",overflow:"hidden",top:"0px",left:"0px"};if(Ext.isIE){Ext.apply(b,{left:"-3px",top:"-3px"})}else{if(Ext.isGecko){Ext.apply(b,{left:"-3px",top:"-3px"})}else{if(Ext.isSafari){Ext.apply(b,{left:"-4px",top:"-2px"})}}}this.clipEl=this.buttonCt.createChild({tag:"div",style:b});this.setClipSize();this.clipEl.on({mousemove:this.onButtonMouseMove,mouseover:this.onButtonMouseMove,scope:this});this.floatEl=this.clipEl.createChild({tag:"div",style:{position:"absolute",width:this.FLOAT_EL_WIDTH+"px",height:this.FLOAT_EL_HEIGHT+"px",overflow:"hidden"}});if(this.debug){this.clipEl.applyStyles({"background-color":"green"});this.floatEl.applyStyles({"background-color":"red"})}else{this.floatEl.setOpacity(0)}if(Ext.isIE){this.el.on("keydown",this.onButtonKeyDown,this)}this.createInputFile()},setClipSize:function(){if(this.clipEl){var b=this.buttonCt.getWidth();var a=this.buttonCt.getHeight();if(b===0||a===0){this.setClipSize.defer(100,this)}else{if(Ext.isIE){b=b+5;a=a+5}else{if(Ext.isGecko){b=b+6;a=a+6}else{if(Ext.isSafari){b=b+6;a=a+6}}}this.clipEl.setSize(b,a)}}},createInputFile:function(){this.floatEl.select("em").each(function(a){a.remove()});this.inputFileEl=this.floatEl.createChild({tag:"input",type:"file",size:1,name:this.inputFileName||Ext.id(this.el),tabindex:this.tabIndex,style:{position:"absolute",cursor:"pointer",right:"0px",top:"0px"}});this.inputFileEl=this.inputFileEl.child("input")||this.inputFileEl;this.inputFileEl.on({click:this.onInputFileClick,change:this.onInputFileChange,focus:this.onInputFileFocus,select:this.onInputFileFocus,blur:this.onInputFileBlur,scope:this});if(this.tooltip){if(typeof this.tooltip=="object"){Ext.QuickTips.register(Ext.apply({target:this.inputFileEl},this.tooltip))}else{this.inputFileEl.dom[this.tooltipType]=this.tooltip}}},onButtonFocus:function(a){if(this.inputFileEl){this.inputFileEl.focus();a.stopEvent()}},onButtonKeyDown:function(a){if(this.inputFileEl&&a.getKey()==Ext.EventObject.SPACE){this.inputFileEl.dom.click();a.stopEvent()}},onButtonMouseMove:function(b){var a=b.getXY();a[0]-=this.FLOAT_EL_WIDTH/2;a[1]-=this.FLOAT_EL_HEIGHT/2;this.floatEl.setXY(a)},onInputFileFocus:function(a){if(!this.isDisabled){this.el.addClass("x-btn-over")}},onInputFileBlur:function(a){this.el.removeClass("x-btn-over")},onInputFileClick:function(a){a.stopPropagation()},onInputFileChange:function(){if(this.originalHandler){this.originalHandler.call(this.originalScope,this)}},detachInputFile:function(b){var a=this.inputFileEl;if(typeof this.tooltip=="object"){Ext.QuickTips.unregister(this.inputFileEl)}else{this.inputFileEl.dom[this.tooltipType]=null}this.inputFileEl.removeAllListeners();this.inputFileEl=null;if(!b){this.createInputFile()}return a},getInputFile:function(){return this.inputFileEl},disable:function(){Ext.ux.menu.BrowseItem.superclass.disable.call(this);this.inputFileEl.dom.disabled=true},enable:function(){Ext.ux.menu.BrowseItem.superclass.enable.call(this);this.inputFileEl.dom.disabled=false}});Ext.reg("browseitem",Ext.ux.menu.BrowseItem);Ext.namespace("com.hypermanager.alert");com.hypermanager.alert.AlertOptionsDialog=Ext.extend(Ext.Window,{servletURL:ServletContext+"json/alert",title:"Change Alertoptions",titleEmail:"E-Mail",labelsenderEmail:"E-Mail address",labelSmtpServer:"SMTP Server",labelSmtpUser:"Username",labelSmtpPassword:"Password",labelAdvanced:"Advanced",labelConnSecurity:"Connection security",labelPort:"Port",labelApplyToAll:"Apply E-Mail Settings to all Users.",qtipApplyToAll:"When checked, Alert E-Mail Settings will be applied to all hyperManager Users (Admin Option).\nUsers will then not be able to change any Alert E-Mail related Settings.",connSecurityNone:"None",connSecurityStartTls:"STARTTLS",connSecuritySSL:"SSL",windowsOkButtonLabel:"OK",windowsCancelButtonLabel:"Cancel",errTitleAuth:"Authentication failed.",errTextAuth:"Please make sure Username and Password are correct.",errTitleHost:"Could not connect to SMTP Server",errTextHost:"Please make sure SMTP Hostname is correct.",colSenderEmail:"senderEmail",colSmtpServer:"smtpServer",colSmtpUser:"smtpUser",colSmtpPassword:"smtpPassword",colPort:"port",colConnSecurity:"connectionSecurity",colApplyToAll:"applyToAll",DEFAULT_SMTP_PORT:25,DEFAULT_SSL_PORT:465,DEFAULT_HEIGHT:275,isAdmin:false,initComponent:function(){var a={};this.buildConfig(a);Ext.apply(this,Ext.apply(this.initialConfig,a));com.hypermanager.alert.AlertOptionsDialog.superclass.initComponent.call(this)},buildConfig:function(a){this.isAdmin=com.hypermanager.security.SecurityMgr.isAuthorized(com.hypermanager.security.SecurityMgr.ROLE_ADMIN);this.DEFAULT_HEIGHT=this.isAdmin?275:250;Ext.apply(a,{width:400,height:this.defaultHeight,layout:"fit",border:false,modal:true,closable:false,listeners:{show:{scope:this,fn:this.loadAlertOptions},render:{fn:function(c){var b=c.getComponent(0);b.on("clientvalidation",function(e,d){c.buttons[0].setDisabled(!d)})}}},buttonAlign:"center"});this.buildItems(a);this.buildButtons(a)},buildItems:function(a){a.items=[{xtype:"form",frame:true,labelWidth:130,monitorValid:true,items:[{xtype:"fieldset",title:this.titleEmail,autoHeight:true,items:[{xtype:"textfield",fieldLabel:this.labelsenderEmail,name:this.colSenderEmail,anchor:"95%",allowBlank:false},{xtype:"textfield",fieldLabel:this.labelSmtpServer,name:this.colSmtpServer,anchor:"95%",allowBlank:false},{xtype:"textfield",fieldLabel:this.labelSmtpUser,name:this.colSmtpUser,anchor:"95%"},{xtype:"textfield",fieldLabel:this.labelSmtpPassword,inputType:"password",name:this.colSmtpPassword,anchor:"95%"},{xtype:"fieldset",title:this.labelAdvanced,autoHeight:true,collapsible:true,collapsed:true,listeners:{beforecollapse:{fn:function(b){this.setHeight(this.DEFAULT_HEIGHT)},scope:this,delay:0},beforeexpand:{fn:function(b){this.setHeight(this.DEFAULT_HEIGHT+60)},scope:this,delay:0}},items:[{xtype:"numberfield",fieldLabel:this.labelPort,name:this.colPort,anchor:"90%",value:25},{xtype:"combo",fieldLabel:this.labelConnSecurity,name:this.colConnSecurity,mode:"local",allowBlank:false,triggerAction:"all",forceSelection:true,editable:false,store:new Ext.data.SimpleStore({fields:["connSecId","connSecLabel"],data:[[0,this.connSecurityNone],[1,this.connSecurityStartTls],[2,this.connSecuritySSL]]}),valueField:"connSecId",displayField:"connSecLabel",value:0,anchor:"90%",listeners:{select:{fn:function(f,b,c){var e=this.getComponent(0).getForm();var d=e.findField(this.colPort);if(c==0){d.setValue(this.DEFAULT_SMTP_PORT)}else{if(c==2){d.setValue(this.DEFAULT_SSL_PORT)}}},scope:this,delay:0}}}]},{xtype:"checkbox",hidden:!this.isAdmin,fieldLabel:!this.isAdmin?"":"Administrator",boxLabel:this.labelApplyToAll,name:this.colApplyToAll,listeners:{render:{fn:function(b){Ext.QuickTips.register({target:b.container.parent().child("label"),text:this.qtipApplyToAll});Ext.QuickTips.register({target:b.wrap,text:this.qtipApplyToAll});Ext.QuickTips.register({target:b.imageEl,text:this.qtipApplyToAll})},scope:this,delay:1000}}}]}]}]},buildButtons:function(a){a.buttons=[{text:this.windowsOkButtonLabel,type:"submit",formBind:true,scope:this,handler:function(){this.onOk(this.items.items[0].getForm())}},{text:this.windowsCancelButtonLabel,handler:function(){this.hide()},scope:this}]},onOk:function(c){var a=c.getFieldValues();var b=Ext.Ajax.request({url:this.servletURL,params:{action:"editAlertOptions",options:Ext.util.JSON.encode(a)},scope:this,success:function(f,h){var k=Ext.util.JSON.decode(f.responseText);var d="";var e="";if(k.rc==0){this.hide()}else{switch(k.rc){case 1:d=this.errTextAuth;e=this.errTitleAuth;break;case 4:case 8:d=this.errTextHost;e=this.errTitleHost;break}Ext.Msg.show({title:e,msg:d,buttons:Ext.Msg.OK,animEl:"elId",icon:Ext.MessageBox.ERROR})}}})},loadAlertOptions:function(){var b=this.getComponent(0).getForm();var a=Ext.Ajax.request({url:this.servletURL,params:{action:"getAlertOptions"},scope:this,success:function(c,d){var e=Ext.util.JSON.decode(c.responseText);b.setValues(e.options);if(e.options!=null&&e.options.applyToAll&&!this.isAdmin){this.setFieldsDisabled(true)}else{this.setFieldsDisabled(false)}}})},setFieldsDisabled:function(a){var b=this.getComponent(0).getForm();b.items.each(function(e,c,d){e.setDisabled(a)},this)}});Ext.namespace("com.hypermanager.alert");com.hypermanager.alert.TimedAlertDefinitionDialog=Ext.extend(Ext.Window,{servletURL:ServletContext+"json/alert",titleAdd:"Add Reminder",titleEdit:"Edit Reminder",titleField:"(Data Field / All Records)",titleCell:"(Data Cell / Single Record)",labelDataElement:"Data element",labelDescription:"Description",labelNotificationType:"Notification",labelReminder:"Reminder",labelRemindOnAppointment:"Remind on Appointment",ttipRemindOnAppointment:"Remind exactly on time of Appointment",ttipHintAmount:"Hint: Negative numbers (i.e. -6) can be used if you want to reminded after the actual point of time.",dataElementApp:"Data application",dataElementCell:"Data cell",dataElementField:"Data field",dataElementRow:"Data record",timeUnitMinutes:"Minutes",timeUnitHours:"Hours",timeUnitDays:"Days",windowsOkButtonLabel:"OK",windowsCancelButtonLabel:"Cancel",storeSuccessTitle:"Reminder",addSuccessText:"Reminder successfully added.",editSuccessText:"Reminder successfully modified.",titleAlertOptionsNotSet:"Alert Options not set",textAlertOptionsNotSet:"Before you can use the Alert Feature via E-Mail you have to configure a smtp mail server first.",colElementType:"elementType",colDescription:"description",colNotificationType:"notificationType",colReminderAmount:"reminderAmount",colReminderUnit:"reminderUnit",colRemindOnAppointment:"remindOnAppointment",alertDefinitionId:-1,recId:-1,appId:-1,fieldId:-1,fieldType:-1,productId:-1,initComponent:function(){var a={};this.buildConfig(a);Ext.apply(this,Ext.apply(this.initialConfig,a));com.hypermanager.alert.TimedAlertDefinitionDialog.superclass.initComponent.call(this)},buildConfig:function(a){Ext.apply(a,{width:400,height:200,layout:"fit",border:false,closeAction:"hide",listeners:{show:{scope:this,fn:this.loadAlertDefinition},render:{fn:function(c){var b=c.getComponent(0);b.on("clientvalidation",function(e,d){c.buttons[0].setDisabled(!d)})}}},buttonAlign:"center"});this.buildItems(a);this.buildButtons(a)},buildItems:function(a){a.items=[{xtype:"form",frame:true,labelWidth:130,monitorValid:true,items:[{fieldLabel:this.labelDescription,xtype:"textarea",name:this.colDescription,maxLength:200,anchor:"100%"},{fieldLabel:this.labelNotificationType,xtype:"combo",name:this.colNotificationType,mode:"local",allowBlank:false,triggerAction:"all",forceSelection:true,editable:false,anchor:"100%",store:new Ext.data.ArrayStore({fields:["notiTypeId","notiType"],data:[[1,"E-Mail"]]}),valueField:"notiTypeId",displayField:"notiType",value:1,selectOnFocus:true},{xtype:"panel",layout:"column",border:false,items:[{columnWidth:0.5,layout:"form",border:false,items:[{xtype:"numberfield",fieldLabel:this.labelReminder,name:this.colReminderAmount,anchor:"95%",style:"alignment:right",allowBlank:false,value:0,maxLength:3,listeners:{render:{fn:function(b){Ext.QuickTips.register({target:b,text:this.ttipHintAmount})},scope:this,delay:1000}}}]},{columnWidth:0.5,layout:"form",border:false,items:[{xtype:"combo",name:this.colReminderUnit,mode:"local",allowBlank:false,triggerAction:"all",forceSelection:true,editable:false,hideLabel:true,store:new Ext.data.ArrayStore({fields:["timeUnitId","timeUnit"]}),valueField:"timeUnitId",displayField:"timeUnit",anchor:"100%"}]}]}]}]},buildButtons:function(a){a.buttons=[{text:this.windowsOkButtonLabel,type:"submit",formBind:true,scope:this,handler:function(){this.onOk(this.items.items[0].getForm())}},{text:this.windowsCancelButtonLabel,handler:function(){this.hide()},scope:this}]},show:function(e,k,f,h,d,c){this.alertDefinitionId=e;this.appId=k;this.productId=f;this.recId=h;this.fieldId=d;this.fieldType=c;var l=this.getComponent(0).getForm().findField(this.colReminderUnit);l.getStore().removeAll();if(this.fieldType==com.hypermanager.data.DataTypes.TIMESTAMP){l.getStore().loadData([[1,this.timeUnitMinutes],[2,this.timeUnitHours],[3,this.timeUnitDays]]);var b=function(){return l.setValue(1)};b.defer(100,this)}else{l.getStore().loadData([[2,this.timeUnitHours],[3,this.timeUnitDays]]);var b=function(){return l.setValue(2)};b.defer(100,this)}com.hypermanager.alert.TimedAlertDefinitionDialog.superclass.show.call(this)},onOk:function(c){var a=c.getFieldValues();Ext.apply(a,{idf_dataApplication:this.appId,idf_dataProduct:this.productId,idf_record:this.recId>0?this.recId:-1,idf_dataField:this.fieldId,id_alertDefinition:this.alertDefinitionId,fieldType:this.fieldType});var b=Ext.Ajax.request({url:this.servletURL,params:{action:"storeTimedAlert",definition:Ext.util.JSON.encode(a)},scope:this,success:function(d,e){this.hide();Ext.Msg.alert(this.storeSuccessTitle,this.alertDefinitionId!=-1?this.editSuccessText:this.addSuccessText)}})},loadAlertDefinition:function(){var b=this.getComponent(0).getForm();b.reset();b.findField(this.colNotificationType).setDisabled(true);if(this.alertDefinitionId!=-1){var a=Ext.Ajax.request({url:this.servletURL,params:{action:"getTimedAlert",alertDefinitionId:this.alertDefinitionId},scope:this,success:function(c,d){var e=Ext.util.JSON.decode(c.responseText);this.recId=e.alertDefinition.idf_record;this.setTitle(this.titleEdit+" "+(this.recId>0?this.titleCell:this.titleField));b.setValues(e.alertDefinition)}})}else{var a=Ext.Ajax.request({url:this.servletURL,params:{action:"getAlertOptions"},scope:this,success:function(c,d){var e=Ext.util.JSON.decode(c.responseText);if(e.options==null){Ext.Msg.show({title:this.titleAlertOptionsNotSet,msg:this.textAlertOptionsNotSet,buttons:Ext.Msg.OK,animEl:"elId",icon:Ext.MessageBox.INFO,fn:function(){var f=new com.hypermanager.alert.AlertOptionsDialog({el:Ext.getBody().createChild({tag:"div"})});f.show()},scope:this})}}});this.setTitle(this.titleAdd+" "+(this.recId>0?this.titleCell:this.titleField))}}});Ext.namespace("com.hypermanager.data");com.hypermanager.data.EditorTreeGridPanel=Ext.extend(Ext.grid.EditorGridPanel,{master_column_id:1,initComponent:function(){com.hypermanager.data.EditorTreeGridPanel.superclass.initComponent.call(this)},getView:function(){if(!this.view){this.view=new com.hypermanager.data.BufferedTreeView({scrollDelay:false,getCellClasses:this.getCellClasses})}return this.view},onClick:function(c){var d=c.getTarget(),h=this.getView(),m=h.findRowIndex(d),k=this.getStore(),a=this.getSelectionModel(),b,f,l=true;if(m!==false){if(Ext.fly(d).hasClass("hm-treegrid-elbow-active")){b=k.getAt(m);if(k.isExpandedNode(b)){k.collapseNode(b)}else{k.expandNode(b)}l=false}}else{if(Ext.fly(d).hasClass("hm-treegrid-brditem")){f=Ext.id(d);f=f.substr(f.lastIndexOf("-")+1);if(f!=""){b=k.getById(f);m=k.indexOf(b);if(c.hasModifier()){if(k.isExpandedNode(b)){k.collapseNode(b)}else{k.expandNode(b)}}else{if(a.isSelected&&!a.isSelected(m)){a.selectRow(m)}}}else{a.clearSelections()}c.preventDefault()}}if(l){com.hypermanager.data.EditorTreeGridPanel.superclass.onClick.call(this,c)}},onMouseDown:function(b){var a=b.getTarget();if(!Ext.fly(a).hasClass("hm-treegrid-elbow-active")){com.hypermanager.data.EditorTreeGridPanel.superclass.onMouseDown.call(this,b)}},onDblClick:function(h){var f=h.getTarget(),b=this.getView(),k=b.findRowIndex(f),c=this.getStore(),l=this.getSelectionModel(),a,d;if(!k&&Ext.fly(f).hasClass("hm-treegrid-brditem")){d=Ext.id(f);d=d.substr(d.lastIndexOf("-")+1);if(d!=""){a=c.getById(d);k=c.indexOf(a);if(c.isExpandedNode(a)){c.collapseNode(a)}else{c.expandNode(a)}if(l.isSelected&&!l.isSelected(k)){l.selectRow(k)}}else{l.clearSelections()}}com.hypermanager.data.EditorTreeGridPanel.superclass.onDblClick.call(this,h)},walkCells:function(n,c,a,l,e,m){var k=this.colModel,f=k.getColumnCount();var b=this.store,h=b.getCount(),d=true;if(a<0){if(c<0){n--;d=false}while(n>=0){if(!d){c=f-1}d=false;while(c>=0){if(e.call(m||this,n,c,k)===true){return[n,c]}c--}n--}}if(a>0){if(c>=f){n++;d=false}while(n<h){if(!d){c=0}d=false;while(c<f){if(e.call(m||this,n,c,k)===true){return[n,c]}c++}n++}}if(l<0){while(n>=0){if(e.call(m||this,n,c,k)===true){return[n,c]}n--}}else{while(n<h){if(e.call(m||this,n,c,k)===true){return[n,c]}n++}}return null}});Ext.namespace("com.hypermanager.data");com.hypermanager.data.AbstractTreeStore=Ext.extend(Ext.data.Store,{is_leaf_field_name:"isLeaf",expanded_field_name:"expanded",constructor:function(a){com.hypermanager.data.AbstractTreeStore.superclass.constructor.call(this,a);this.addEvents("beforeexpandnode","expandnode","expandnodefailed","beforecollapsenode","collapsenode")},remove:function(a){this.removeNodeDescendants(a);com.hypermanager.data.AbstractTreeStore.superclass.remove.call(this,a)},removeNodeDescendants:function(d){var c,a,b=this.getNodeChildren(d);for(c=0,a=b.length;c<a;c++){this.remove(b[c])}},loadRecords:function(b,l,f){if(this.isDestroyed===true){return}if(!b||f===false){if(f!==false){this.fireEvent("load",this,[],l)}if(l.callback){l.callback.call(l.scope||this,[],l,false)}return}var a=b.records,k=b.totalRecords||a.length,e,c,d,h=this;if(this.pruneModifiedRecords){this.modified=[]}for(var c=0,d=a.length;c<d;c++){a[c].join(this)}if(this.snapshot){this.data=this.snapshot;delete this.snapshot}this.data.clear();this.data.addAll(a);this.totalLength=k;this.applySort();this.applyVisibleFlag();this.fireEvent("datachanged",this);this.fireEvent("load",this,a,l);if(l.callback){l.callback.call(l.scope||this,a,l,true)}},filterBy:function(p,r){this.snapshot=this.snapshot||this.data;var l=this.queryBy(p,r||this);this.data=this.snapshot;var n=l.keys,c=l.items;var b=new Ext.util.MixedCollection();for(var h=0,m=c.length;h<m;h++){var s=this.getNodeAncestors(c[h]);for(var f=0,k=s.length;f<k;f++){var e=s[k-f-1].get("id");b.add(e,null)}b.add(n[h],null);var q=this.getNodeDescendands(c[h]);for(var f=0,k=q.length;f<k;f++){var e=q[f].get("id");b.add(e,null)}}var a=new Ext.util.MixedCollection();a.getKey=this.snapshot.getKey;var o=this.snapshot.keys,d=this.snapshot.items;for(var h=0,m=d.length;h<m;h++){if(b.containsKey(o[h])){a.add(o[h],d[h])}}this.data=a;this.fireEvent("datachanged",this)},refreshVisible:function(d,f){d.is_visible=f;if(!this.isLeafNode(d)){var e=f&&this.isExpandedNode(d);var c=this.getNodeChildren(d);for(var b=0,a=c.length;b<a;b++){this.refreshVisible(c[b],e)}}},applyVisibleFlag:function(){var e,a,d,f,c=[],b=this.getRootNodes();for(e=0,a=b.length;e<a;e++){f=b[e];this.refreshVisible(f,true)}},isExpandedNode:function(a){return a.get(this.expanded_field_name)===true},setNodeExpanded:function(e,d){var c=this.getNodeChildren(e);for(var b=0,a=c.length;b<a;b++){this.setNodeVisible(c[b],d)}e.set(this.expanded_field_name,d)},setNodeVisible:function(e,d){e.is_visible=d;if(!this.isLeafNode(e)&&this.isExpandedNode(e)){var c=this.getNodeChildren(e);for(var b=0,a=c.length;b<a;b++){this.setNodeVisible(c[b],d)}}},isVisibleNode:function(a){return a.is_visible!==false},isLeafNode:function(a){return a.get(this.is_leaf_field_name)==true},getNodeChildrenTotalCount:function(a){return a.ux_maximgb_treegrid_total||0},setNodeChildrenTotalCount:function(b,a){b.ux_maximgb_treegrid_total=a},collapseNode:function(a){if(this.isExpandedNode(a)&&this.fireEvent("beforecollapsenode",this,a)!==false){this.setNodeExpanded(a,false);this.fireEvent("collapsenode",this,a)}},expandNode:function(a){var b;if(!this.isExpandedNode(a)&&this.fireEvent("beforeexpandnode",this,a)!==false){this.setNodeExpanded(a,true);this.fireEvent("expandnode",this,a)}},hasNextSiblingNode:function(a){return this.getNodeNextSibling(a)!==null},hasPrevSiblingNode:function(a){return this.getNodePrevSibling(a)!==null},hasChildNodes:function(a){return this.getNodeChildrenCount(a)>0},getNodeAncestors:function(c){var b=[],a;a=this.getNodeParent(c);while(a){b.push(a);a=this.getNodeParent(a)}return b},getNodeDescendands:function(f){var b=[],e;if(this.hasChildNodes(f)){e=this.getNodeChildren(f);for(var d=0;d<e.length;d++){var h=e[d];b.push(h);var a=this.getNodeDescendands(h);for(var c=0;c<a.length;c++){b.push(a[c])}}}return b},getNodeChildrenCount:function(a){return this.getNodeChildren(a).length},getNodeNextSibling:function(d){var e,c,b,a=null;c=this.getNodeParent(d);if(c){e=this.getNodeChildren(c)}else{e=this.getRootNodes()}b=e.indexOf(d);if(b<e.length-1){a=e[b+1]}return a},getNodePrevSibling:function(d){var e,c,b,a=null;c=this.getNodeParent(d);if(c){e=this.getNodeChildren(c)}else{e=this.getRootNodes()}b=e.indexOf(d);if(b>0){a=e[b-1]}return a},getRootNodes:function(){throw"Abstract method call"},getNodeDepth:function(a){throw"Abstract method call"},getNodeParent:function(a){throw"Abstract method call"},getNodeChildren:function(a){throw"Abstract method call"},addToNode:function(a,b){throw"Abstract method call"},removeFromNode:function(a,b){throw"Abstract method call"}});Ext.namespace("com.hypermanager.data");com.hypermanager.data.FlatTreeStore=Ext.extend(com.hypermanager.data.AbstractTreeStore,{parent_id_field_name:"id_parent",level_field_name:"level",root_node_level:0,getRootNodes:function(){var d,b,a=[],c=this.data.getRange();for(d=0,b=c.length;d<b;d++){if(c[d].get(this.level_field_name)==this.root_node_level){a.push(c[d])}}return a},getNodeDepth:function(a){return a.get(this.level_field_name)-this.root_node_level},getNodeParent:function(e){var b=null,f,c=this.data.getRange(),d,a;for(d=this.data.indexOf(e);d>=0;d--){f=c[d];if(f.get("id")==e.get(this.parent_id_field_name)){b=f;break}}return b},getNodeChildren:function(d){var c=d.get("id"),f=d.get(this.level_field_name),e,a=[],b=this.data.getRange();for(i=this.data.indexOf(d)+1,len=b.length;i<len;i++){e=b[i];if(e.get(this.parent_id_field_name)==c){a.push(e)}if(e.get(this.level_field_name)<=f){break}}return a}});Ext.namespace("com.hypermanager.data");com.hypermanager.data.TreeView=Ext.extend(Ext.grid.GridView,{initTemplates:function(){var a=this.templates||{};a.master=new Ext.Template('<div class="x-grid3" hidefocus="true">','<div class="x-grid3-viewport">','<div class="x-grid3-header">','<div class="x-grid3-header-inner">','<div class="x-grid3-header-offset">','<div class="hm-treegrid-breadcrumbs">&#160;</div>',"</div>","</div>",'<div class="x-clear"></div>','<div class="x-grid3-header-inner">','<div class="x-grid3-header-offset">{header}</div>',"</div>",'<div class="x-clear"></div>',"</div>",'<div class="x-grid3-scroller">','<div class="x-grid3-body">{body}</div>','<a href="#" class="x-grid3-focus" tabIndex="-1"></a>',"</div>","</div>",'<div class="x-grid3-resize-marker">&#160;</div>','<div class="x-grid3-resize-proxy">&#160;</div>',"</div>");a.row=new Ext.Template('<div class="x-grid3-row {alt} hm-treegrid-level-{level}" style="{tstyle} {display_style}">','<table class="x-grid3-row-table" border="0" cellspacing="0" cellpadding="0" style="{tstyle}">',"<tbody>","<tr>{cells}</tr>",(this.enableRowBody?'<tr class="x-grid3-row-body-tr" style="{bodyStyle}"><td colspan="{cols}" class="x-grid3-body-cell" tabIndex="0" hidefocus="on"><div class="x-grid3-row-body">{body}</div></td></tr>':""),"</tbody>","</table>","</div>");a.cell=new Ext.Template('<td class="x-grid3-col x-grid3-cell x-grid3-td-{id} {css}" style="{style}" tabIndex="0" {cellAttr}>',"{treeui_start_tag}","{treeui}",'<div class="x-grid3-cell-inner x-grid3-col-{id}" unselectable="on" {attr}>{value}</div>',"{treeui_end_tag}","</td>");a.treeui=new Ext.Template('<div class="hm-treegrid-uiwrap" style="width: {wrap_width}px">',"{elbow_line}",'<div style="left: {left}px" class="{cls}">&#160;</div>',"</div>");a.elbow_line=new Ext.Template('<div style="left: {left}px" class="{cls}">&#160;</div>');a.brd_item=new Ext.Template('<a href="#" id="hm-treegrid-brditem-{id}" class="hm-treegrid-brditem" title="{title}">{caption}</a>');this.templates=a;com.hypermanager.data.TreeView.superclass.initTemplates.call(this)},doRender:function(f,k,t,a,s,x){var b=this.templates,e=b.cell,h=b.row,l=s-1;var d="width:"+this.getTotalWidth()+";";var o=this.getColumnWidth(this.grid.master_column_id);console.log(this.grid.master_column_id,o);var A=[],u,B,v={},m={tstyle:d},q;for(var w=0,z=k.length;w<z;w++){q=k[w];u=[];var n=(w+a);for(var y=0;y<s;y++){B=f[y];v.id=B.id;v.css=y==0?"x-grid3-cell-first ":(y==l?"x-grid3-cell-last ":"");v.attr=v.cellAttr="";v.value=B.renderer(q.data[B.name],v,q,n,y,t);v.style=B.style;if(v.value==undefined||v.value===""){v.value="&#160;"}if(q.dirty&&typeof q.modified[B.name]!=="undefined"){v.css+=" x-grid3-dirty-cell"}if(B.id==this.grid.master_column_id){v.treeui=this.renderCellTreeUI(q,t)}else{v.treeui=""}u[u.length]=e.apply(v)}var C=[];if(x&&((n+1)%2==0)){C[0]="x-grid3-row-alt"}if(q.dirty){C[1]=" x-grid3-dirty-row"}m.cols=s;if(this.getRowClass){C[2]=this.getRowClass(q,n,m,t)}m.alt=C.join(" ");m.cells=u.join("");if(!t.isVisibleNode(q)){m.display_style="display: none;"}else{m.display_style=""}m.level=t.getNodeDepth(q);A[A.length]=h.apply(m)}return A.join("")},renderCellTreeUI:function(a,b){var c=this.templates.treeui,k=this.templates.elbow_line,e={},h,d,f=level=b.getNodeDepth(a);e.wrap_width=(f+1)*16;if(level>0){e.elbow_line="";h=a;left=0;while(level--){d=b.getNodeParent(h);if(d){if(b.hasNextSiblingNode(d)){e.elbow_line=k.apply({left:level*16,cls:"hm-treegrid-elbow-line"})+e.elbow_line}else{e.elbow_line=k.apply({left:level*16,cls:"hm-treegrid-elbow-empty"})+e.elbow_line}}else{throw ["Tree inconsistency can't get level ",level+1," node(id=",h.id,") parent."].join("")}h=d}}if(b.isLeafNode(a)){if(b.hasNextSiblingNode(a)){e.cls="hm-treegrid-elbow"}else{e.cls="hm-treegrid-elbow-end"}}else{e.cls="hm-treegrid-elbow-active ";if(b.isExpandedNode(a)){if(b.hasNextSiblingNode(a)){e.cls+="hm-treegrid-elbow-minus"}else{e.cls+="hm-treegrid-elbow-end-minus"}}else{if(b.hasNextSiblingNode(a)){e.cls+="hm-treegrid-elbow-plus"}else{e.cls+="hm-treegrid-elbow-end-plus"}}}e.left=1+f*16;return c.apply(e)},expandRow:function(d,h){var b=this.ds,c,f,m,k,a,e,l;if(typeof d=="number"){e=d;d=b.getAt(e)}else{e=b.indexOf(d)}m=this.getRow(e);k=Ext.fly(m).child(".hm-treegrid-elbow-active");if(k){if(b.hasNextSiblingNode(d)){k.removeClass("hm-treegrid-elbow-plus");k.removeClass("hm-treegrid-elbow-end-plus");k.addClass("hm-treegrid-elbow-minus")}else{k.removeClass("hm-treegrid-elbow-plus");k.removeClass("hm-treegrid-elbow-end-plus");k.addClass("hm-treegrid-elbow-end-minus")}if(b.isVisibleNode(d)){a=b.getNodeChildren(d);for(c=0,f=a.length;c<f;c++){l=b.indexOf(a[c]);m=this.getRow(l);Ext.fly(m).setStyle("display","block");if(b.isExpandedNode(a[c])){this.expandRow(l)}}}}},collapseRow:function(b){var f=this.ds,e,a,d,h,c;if(typeof b=="number"){c=b;b=f.getAt(c)}else{c=f.indexOf(b)}h=this.getRow(c);pmel=Ext.fly(h).child(".hm-treegrid-elbow-active");if(pmel){if(f.hasNextSiblingNode(b)){pmel.removeClass("hm-treegrid-elbow-minus");pmel.removeClass("hm-treegrid-elbow-end-minus");pmel.addClass("hm-treegrid-elbow-plus")}else{pmel.removeClass("hm-treegrid-elbow-minus");pmel.removeClass("hm-treegrid-elbow-end-minus");pmel.addClass("hm-treegrid-elbow-end-plus")}d=f.getNodeChildren(b);for(e=0,a=d.length;e<a;e++){c=f.indexOf(d[e]);h=this.getRow(c);Ext.fly(h).setStyle("display","none");this.collapseRow(c)}}},initData:function(b,a){com.hypermanager.data.TreeView.superclass.initData.call(this,b,a);if(this.ds){this.ds.un("activenodechange",this.onStoreActiveNodeChange,this);this.ds.un("expandnode",this.onStoreExpandNode,this);this.ds.un("collapsenode",this.onStoreCollapseNode,this)}if(b){b.on("activenodechange",this.onStoreActiveNodeChange,this);b.on("expandnode",this.onStoreExpandNode,this);b.on("collapsenode",this.onStoreCollapseNode,this)}},onStoreActiveNodeChange:function(l,a,e){var k,c,d,b,h=[],f=this.templates;if(e){k=this.ds.getNodeAncestors(e),k.reverse();k.push(e);for(c=0,d=k.length;c<d;c++){b=k[c];h.push(f.brd_item.apply({id:b.id,title:"dont know what goes here",caption:b.get(this.cm.getDataIndex(this.cm.getIndexById(this.grid.master_column_id)))}))}}},onStoreExpandNode:function(a,b){this.expandRow(b)},onStoreCollapseNode:function(a,b){this.collapseRow(b)}});Ext.namespace("com.hypermanager.data");com.hypermanager.data.HierarchicalStore=function(a){com.hypermanager.data.HierarchicalStore.superclass.constructor.call(this,a);this.collapsedFilterFn=function(b){if(b.data.hidden!==true){return true}}};Ext.extend(com.hypermanager.data.HierarchicalStore,Ext.data.Store,{all_getAt:function(a){if(this.snapshot){return this.snapshot.itemAt(a)}return this.data.itemAt(a)},all_getById:function(a){if(this.snapshot){return this.snapshot.key(a)}return this.data.key(a)},all_getRange:function(b,a){if(this.snapshot){return this.data.getRange(b,a)}return this.data.getRange(b,a)},all_getCount:function(){if(this.snapshot){return this.snapshot.length||0}return this.data.length||0},all_each:function(b,a){if(this.snapshot){this.snapshot.each(b,a)}this.data.each(b,a)},all_sum:function(e,f,a){var c=this.data.items,b=0;if(this.snapshot){c=this.snapshot.items}f=f||0;a=(a||a===0)?a:c.length-1;for(var d=f;d<=a;d++){b+=(c[d].data[e]||0)}return b},all_find:function(d,c,f,e,a){var b=this.createFilterFn(d,c,e,a);if(this.snapshot){return b?this.snapshot.findIndexBy(b,null,f):-1}return b?this.data.findIndexBy(b,null,f):-1},all_findBy:function(b,a,c){if(this.snapshot){return this.snapshot.findIndexBy(b,a,c)}return this.data.findIndexBy(b,a,c)},createFilterFn:function(c,b,d,a){if(Ext.isEmpty(b,false)){return false}b=this.data.createValueMatcher(b,d,a);return function(e){return b.test(e.data[c])}},createNewFilterFn:function(b,a){this.hidenFilterScope=a;return function(c){return this.hiddenFilter.call(this,c)&&b.call(this.hidenFilterScope,c)}},queryBy:function(c,b){var d=this.snapshot||this.data;var a=d.filterBy(this.collapsedFilterFn,this);return a.filterBy(c,b||this)},clearFilter:function(a){if(this.isFiltered()){this.data=this.snapshot.filterBy(this.collapsedFilterFn,this);if(a!==true){this.fireEvent("datachanged",this)}}},loadRecords:function(h,b,f){if(!h||f===false){if(f!==false){this.fireEvent("load",this,[],b)}if(b.callback){b.callback.call(b.scope||this,[],b,false)}return}var e=h.records,d=h.totalRecords||e.length;if(!b||b.add!==true){if(this.pruneModifiedRecords){this.modified=[]}for(var c=0,a=e.length;c<a;c++){e[c].join(this)}if(this.snapshot){this.data=this.snapshot;delete this.snapshot}this.data.clear();this.data.addAll(e);this.totalLength=d;this.applySort();this.snapshot=this.data;this.data=this.snapshot.filterBy(this.collapsedFilterFn,this);this.fireEvent("datachanged",this)}else{this.totalLength=Math.max(d,this.data.length+e.length);this.add(e)}this.fireEvent("load",this,e,b);if(b.callback){b.callback.call(b.scope||this,e,b,true)}},all_getChildren:function(a){},getSnapshotIndex:function(a){if(this.snapshot){var c=this.getAt(a).get("id");for(var b=0;b<this.snapshot.length;b++){if(this.snapshot.itemAt(b).get("id")==c){return b}}return -1}return a}});Ext.namespace("com.hypermanager.data");com.hypermanager.data.Computator=function(a){Ext.apply(this,a)};Ext.apply(com.hypermanager.data.Computator.prototype,{reset:function(){this.computed=undefined}});com.hypermanager.data.ComputatorEval=new (function(){this.getValue=function(c,b,e,k,a,h){var f=b.get(e);var l=0;if(f instanceof com.hypermanager.data.Computator){if(f.computed!=undefined){return f.computed}l=com.hypermanager.data.ComputatorEval.evalComputator(c,f,b,e,k,a,h);f.computed=l;return l}if(f!==""){return f}var d=c.getColumnModel().config[a].computator;if(d!=null){l=com.hypermanager.data.ComputatorEval.evalComputator(c,d,b,e,k,a,h);h.suspendEvents();b.set(e,l);b.commit(true);h.resumeEvents();return l}if(b.get("id")<0){l=com.hypermanager.data.ComputatorEval.evalRowComputator(c,b,e,k,a,h);h.suspendEvents();b.set(e,l);b.commit(true);h.resumeEvents();return l}return l};this.evalRowComputator=function(v,l,a,k,e,f){if(l.get("id")==-2){var d=com.hypermanager.data.ComputatorEval.getValue(v,f.getAt(0),a,0,e,f);var m=0;var n=f.find("Projektname","Abwesenheiten");if(n!=-1){m=com.hypermanager.data.ComputatorEval.getValue(v,f.getAt(n),a,1,e,f)}return d-m}if(l.get("id")==-3){var t=f.find("Projektname","Nettokapazit&auml;t");var u=f.find("Projektname","Gesamtbelastung");if((t!=-1)&&(u!=-1)){var o=com.hypermanager.data.ComputatorEval.getValue(v,f.getAt(t),a,t,e,f);var s=com.hypermanager.data.ComputatorEval.getValue(v,f.getAt(u),a,u,e,f);return o-s}}if(l.get("id")==-4){var w=f.find("Projektname","Summe Projekte");var y=f.find("Projektname","Grundlasten");var b=f.find("Projektname","Feste Termine");if((w!=-1)&&(y!=-1)&&(b!=-1)){var p=com.hypermanager.data.ComputatorEval.getValue(v,f.getAt(w),a,w,e,f);var c=com.hypermanager.data.ComputatorEval.getValue(v,f.getAt(y),a,y,e,f);var x=com.hypermanager.data.ComputatorEval.getValue(v,f.getAt(b),a,b,e,f);return p+c+x}}if(l.get("id")==-5){var t=f.find("Projektname","Nettokapazit&auml;t");var y=f.find("Projektname","Grundlasten");var b=f.find("Projektname","Feste Termine");if((t!=-1)&&(y!=-1)&&(b!=-1)){var o=com.hypermanager.data.ComputatorEval.getValue(v,f.getAt(t),a,t,e,f);var c=com.hypermanager.data.ComputatorEval.getValue(v,f.getAt(y),a,y,e,f);var x=com.hypermanager.data.ComputatorEval.getValue(v,f.getAt(b),a,b,e,f);return o-c-x}}if(l.get("id")==-6){var q=0;var h=k+1;var r=f.getAt(h);while(h<f.getTotalCount()){if(r.get("level")==0){q+=com.hypermanager.data.ComputatorEval.getValue(v,r,a,h,e,f)}h++;r=f.getAt(h)}return q}return 0};this.evalComputator=function(w,a,l,c,h,e,f){var o=0;if(a.op=="sum_all"){var u=w.dynamicFields;var m=w.getColumnModel();for(var v=0;v<u.length;v++){if(u[v].dataType!=com.hypermanager.data.DataTypes.COMPUTATOR_COL){o+=com.hypermanager.data.ComputatorEval.getValue(w,l,u[v].name,h,m.findColumnIndex(u[v].name),f)}}}if(a.op=="sum_children"){var k=h+1;var b=l.get("level");if(k<f.getCount()){var q=f.getAt(k);while((k<f.getCount())&&(b<q.get("level"))){if(b==q.get("level")-1){o+=com.hypermanager.data.ComputatorEval.getValue(w,q,c,k,e,f)}k++;q=f.getAt(k)}}}if(a.op=="sum_year"){var u=w.dynamicFields;var m=w.getColumnModel();for(var v=0;v<u.length;v++){var d=u[v];var k=d.name.indexOf("M");if(k<0){k=d.name.indexOf("Q")}if(k>=0){yearIndex=d.name.lastIndexOf("_");var p=u[v].name.substring(yearIndex+1,d.name.length);if(p==c){o+=com.hypermanager.data.ComputatorEval.getValue(w,l,d.name,h,m.findColumnIndex(d.name),f)}}}}if(a.op=="sum_week"){var u=w.dynamicFields;var m=w.getColumnModel();for(var v=0;v<u.length;v++){var d=u[v];var k=d.name.indexOf("D");if(k>=0){firstindex=d.name.indexOf("_");lastindex=d.name.lastIndexOf("_");var t=u[v].name.substring(k+1,firstindex);var x=u[v].name.substring(firstindex+1,lastindex);var p=u[v].name.substring(lastindex+1,d.name.length);var s=new Date(p,x-1,t);var r="W"+s.getWeekOfYear()+"_"+p;if(r==c){o+=com.hypermanager.data.ComputatorEval.getValue(w,l,d.name,h,m.findColumnIndex(d.name),f)}}}}if(a.op=="sum_month"){var u=w.dynamicFields;var m=w.getColumnModel();for(var v=0;v<u.length;v++){var d=u[v];var k=d.name.indexOf("W");if(k==0){var r=u[v].name.substring(k+1,d.name.indexOf("_"));var p=u[v].name.substring(d.name.indexOf("_")+1,d.name.length);x=com.hypermanager.data.ComputatorEval.isoWeekToMonth(p,r);if(x==c){o+=com.hypermanager.data.ComputatorEval.getValue(w,l,d.name,h,m.findColumnIndex(d.name),f)}}}}if(a.op=="sum_resources"){var n=w.dynamicFields;var m=w.getColumnModel();for(var v=0;v<n.length;v++){var d=n[v];var k=c.indexOf("R");var y=c.substring(k+1,c.indexOf("_"));if(d.parentId==y){o+=com.hypermanager.data.ComputatorEval.getValue(w,l,d.name,h,m.findColumnIndex(d.name),f)}}}return o};this.isoWeekToMonth=function(d,c){var b=new Date(d,0,1);var a=b.getDay()-1;if(a==-1){a=6}if(a>=4){b.setMilliseconds(b.getMilliseconds()+(7-a)*24*60*60*1000)}else{b.setMilliseconds(b.getMilliseconds()+(-a)*24*60*60*1000)}b.setMilliseconds(b.getMilliseconds()+(c-1)*7*24*60*60*1000);return("M"+(b.getMonth()+1)+"_"+(1900+b.getYear()))}})();Ext.namespace("com.hypermanager.data");com.hypermanager.data.RecordLinkDialog=function(a){com.hypermanager.data.RecordLinkDialog.superclass.constructor.call(this,a)};Ext.extend(com.hypermanager.data.RecordLinkDialog,com.hypermanager.desk.MetaLinkDialog,{displayMetalink:false,servletURL:ServletContext+"json/data",appId:-1,recId:-1,record:null,actionGetLinks:"getRecordLinks",colIcon:"icon",colName:"name",colURL:"url",colId:"id",dialogTitleNew:"Edit Sublinks",dialogTitleEdit:"Edit Sublinks",defaultRecordLinkName:"New Sublink",getLinks:function(){this.ds.load({params:{appId:this.appId,recId:this.recId}})},onAddSublink:function(){var e=Ext.id();var d=Ext.data.Record.create(this.fields);var c=this.defaultRecordLinkName;var b=new d({id:-1,icon:"",name:c,url:""});var a=this.ds.getCount()>0?this.ds.getTotalCount():0;if(this.ds.getTotalCount()>0){this.ds.insert(this.ds.getCount(),b)}else{this.ds.add(b)}},storeLinks:function(){if(this.ds.getCount()>0){this.record.set("hasLinks",true)}else{this.record.set("hasLinks",false)}var b=this.getJSONLinksFromDataStore(this.ds,0);var a=this.getJSONLinksFromDataStore(this.deletedRecDs);var c=Ext.Ajax.request({url:this.servletURL,params:{action:"storeRecordLinks",appId:this.appId,recId:this.recId,links:b,deletedLinks:a},method:"POST",scope:this,failure:this.onServerSideError})}});Ext.namespace("com.hypermanager.data");com.hypermanager.data.ValueListGridPlugin=function(a){Ext.apply(this,a);this.addEvents("action","beforeaction");com.hypermanager.data.ValueListGridPlugin.superclass.constructor.call(this)};Ext.extend(com.hypermanager.data.ValueListGridPlugin,Ext.util.Observable,{tpl:'<div class="value-list-cell" style="padding-left:0px">{value}<div class="value-list-action {cls}">&#160;</div><div>',init:function(b){this.grid=b;this.grid.on({scope:this,render:this.onRenderGrid});var a=this.grid.getColumnModel();Ext.each(a.config,function(e,d){if(e.valueListAction===true){e.origRenderer=a.getRenderer(d);e.renderer=this.renderValueListAction.createDelegate(this)}},this)},onRenderGrid:function(){this.view=this.grid.getView();this.view.mainBody.on({scope:this,click:this.onClick})},renderValueListAction:function(f,k,d,m,b,h){var e=this.grid.getColumnModel().config[b];var a=e.origRenderer(f,k,d,m,b,h);if(d.get("Type")!=1){return a}e.actionsTpl=this.createTemplate(d.get("ValueList"));e.actionsTpl.compile();var l={value:a};return e.actionsTpl.apply(l)},createTemplate:function(b){if(b>0){cls="value-list-action-not-empty"}else{cls="value-list-action-empty"}var a=new Ext.XTemplate(this.tpl);return new Ext.Template(a.apply({value:"{value}",cls:cls}))},onClick:function(d,f){var m=d.getTarget("div.value-list-action");var n=d.getTarget(".x-grid3-row");var a=this.view.findCellIndex(f.parentNode.parentNode);var h=this.grid.getColumnModel().config[a];var b,k,l;if(m){b=this.grid.store.getAt(n.rowIndex);k=h.dataIndex;l=b.get(k)}if(false!==n&&false!==a&&b&&k){if(true!==this.eventsSuspended&&false===this.fireEvent("beforeaction",this.grid,b,l,k,n.rowIndex,a)){return}else{if(true!==this.eventsSuspended){d.stopEvent();this.fireEvent("action",d,this.grid,b,l,k,n.rowIndex,a)}}}}});Ext.namespace("com.hypermanager.data");com.hypermanager.data.CheckerColumnGridPlugin=function(a){Ext.apply(this,a);this.addEvents("action","beforeaction");com.hypermanager.data.CheckerColumnGridPlugin.superclass.constructor.call(this)};Ext.extend(com.hypermanager.data.CheckerColumnGridPlugin,Ext.util.Observable,{doCommitChanges:true,init:function(b){this.grid=b;this.grid.on({scope:this,render:this.onRenderGrid});var a=this.grid.getColumnModel();Ext.each(a.config,function(e,d){if(e.checkerColumn===true){e.renderer=this.renderChecker.createDelegate(this)}},this)},onRenderGrid:function(){this.view=this.grid.getView();this.view.mainBody.on({scope:this,click:this.onClick})},renderChecker:function(f,a,b,h,e,d){var k=this.grid.getColumnModel().config[e];if(b.get("Type")!=com.hypermanager.data.DataTypes.NUMBER&&!this.skipColTypeCheck){return null}return'<div class="grid-checker'+(f==true?" grid-checker-on":"")+'">&#160;</div>'},onClick:function(f,h){var o=f.getTarget("div.grid-checker");var p=f.getTarget(".x-grid3-row");var b=this.view.findCellIndex(h.parentNode.parentNode);var k=this.grid.getColumnModel().config[b];var d,l,m;if(o){d=this.grid.store.getAt(p.rowIndex);l=k.dataIndex;m=d.get(l)}if(false!==p&&false!==b&&d&&l){if(true!==this.eventsSuspended&&false===this.fireEvent("beforeaction",this.grid,d,m,l,p.rowIndex,b)){return}else{if(true!==this.eventsSuspended){var n=this.grid.getView().getCell(p.rowIndex,b);if(n){var a=this.grid.getView().fly(n).first().first();if(m===true){this.grid.store.suspendEvents();d.set(l,false);if(this.doCommitChanges){d.commit()}this.grid.store.resumeEvents();a.removeClass("grid-checker-on")}else{this.grid.store.suspendEvents();d.set(l,true);if(this.doCommitChanges){d.commit()}this.grid.store.resumeEvents();a.addClass("grid-checker-on")}}f.stopEvent();this.fireEvent("action",f,this.grid,d,m,l,p.rowIndex,b)}}}}});Ext.namespace("com.hypermanager.data");com.hypermanager.data.ValueListWindow=Ext.extend(Ext.Window,{dialogTitle:"Value list for field ",defaultValue:"Value",defaultDesc:"",defaultIcon:"",addText:"Add",deleteText:"Delete",valueColTitle:"Field value",descColTitle:"Description",iconColTitle:"Icon",windowOKButtonText:"OK",windowCancelButtonText:"Cancel",optPanelTitle:"Options",labelOption1:"allow also other values",servletURL:ServletContext+"json/data",recordFields:[{name:"value",type:"string"},{name:"desc",type:"string"},{name:"icon",type:"string"}],optPanel:null,gridPanel:null,fieldName:"undefined",fieldId:-1,iconDialog:null,initComponent:function(){var a={title:this.dialogTitle+"<i>"+this.fieldName+"</i>",modal:true,width:570,height:400,shadow:true,resizable:false,closable:false,minimizable:false,layout:"border"};Ext.apply(this,Ext.apply(this.initialConfig,a));com.hypermanager.data.ValueListWindow.superclass.initComponent.apply(this,arguments);this.addEvents("valueListChanged");this.addButton(this.windowOKButtonText,this.doClickOK,this);this.addButton(this.windowCancelButtonText,this.doClickCancel,this);this.add(this.createOptionsPanel());this.add(this.createGridPanel());this.loadData()},setDataField:function(b,a){this.fieldName=b;this.fieldId=a;this.setTitle(this.dialogTitle+"<i>"+this.fieldName+"</i>");this.loadData()},createOptionsPanel:function(){this.optPanel=new Ext.FormPanel({region:"east",title:this.optPanelTitle,frame:true,labelWidth:1,width:210,bodyStyle:"padding:1px 1px 1px 1px",items:[{xtype:"checkbox",fieldLabel:"",labelSeparator:"",boxLabel:this.labelOption1,id:"opt1"}]});return this.optPanel},createGridPanel:function(){var a=new Ext.grid.ColumnModel([{header:this.valueColTitle,dataIndex:"value",width:100,sortable:false,editor:new Ext.grid.GridEditor(new Ext.form.TextField({allowBlank:false}))},{header:this.descColTitle,dataIndex:"desc",width:195,sortable:false,editor:new Ext.grid.GridEditor(new Ext.form.TextField({allowBlank:false}))},{header:this.iconColTitle,dataIndex:"icon",width:30,sortable:false,scope:this,renderer:this.renderIcon}]);var b=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:this.servletURL}),baseParams:{action:"getList"},reader:new Ext.data.JsonReader({root:"data"},Ext.data.Record.create(this.recordFields))});this.gridPanel=new Ext.grid.EditorGridPanel({ds:b,cm:a,selModel:new Ext.grid.RowSelectionModel({singleSelect:true}),enableColLock:true,enableDragDrop:false,enableHdMenu:false,enableColumnResize:false,bodyBorder:false,clicksToEdit:1,region:"center",bbar:new Ext.Toolbar([{icon:iconDir+"add.png",text:this.addText,cls:"x-btn-text-icon",handler:this.doAddValue,scope:this},{icon:iconDir+"delete.png",text:this.deleteText,cls:"x-btn-text-icon",handler:this.doDeleteValue,scope:this}])});this.gridPanel.on("cellclick",this.onCellClick,this);return this.gridPanel},initIconDialog:function(){this.iconDialog=new com.hypermanager.util.IconDialog({relativeIconPath:iconDir});this.iconDialog.on("iconSelected",function(b){if(b){var a=b.get("url");var c=b.get("name");this.gridPanel.getSelectionModel().getSelected().set("icon",c)}},this);this.iconDialog.show()},showIconDialog:function(){if(!this.iconDialog){this.initIconDialog()}else{this.iconDialog.show();this.iconDialog.iconDataView.refresh()}},renderIcon:function(e,a,b,f,d,c){return"<img style='cursor:pointer;' src='"+iconDir.concat(e)+"' width=16 height=16>"},onCellClick:function(a,d,b,c){if(b==2){this.showIconDialog()}},doAddValue:function(){ds=this.gridPanel.getStore();var a=Ext.data.Record.create(this.recordFields);var c=new a({value:this.defaultValue,desc:this.defaultDesc,icon:this.defaultIcon});var b=ds.getCount()>0?ds.getCount():0;if(b>0){ds.insert(b,c)}else{ds.add(c)}},doDeleteValue:function(){sm=this.gridPanel.getSelectionModel();ds=this.gridPanel.getStore();if(sm.hasSelection()){var a=sm.getSelected();ds.remove(a)}},doClickOK:function(){ds=this.gridPanel.getStore();var b=0;if(ds.getCount()>0){b=1;if(this.optPanel.getComponent("opt1").getValue()==true){b+=2}}var a="[";for(i=0;i<ds.getCount();i++){var d=ds.getAt(i);a+=Ext.util.JSON.encode(d.data);if(i<ds.getCount()-1){a+=","}}a+="]";var c=Ext.Ajax.request({url:this.servletURL,params:{action:"storeList",fieldId:this.fieldId,listType:b,valueList:a},success:function(e,f){if(e.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error updating value list.")}},failure:function(e,f){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error updating value list.")}});this.hide();this.fireEvent("valueListChanged",this.fieldId,b)},doClickCancel:function(){this.hide()},loadData:function(){Ext.Ajax.request({url:this.servletURL,params:{action:"getListInfo",fieldId:this.fieldId},scope:this,success:function(a,b){if(a.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error getting value list")}else{valueListInfo=Ext.util.JSON.decode(a.responseText);var c=valueListInfo.type;this.gridPanel.getStore().load({params:{fieldId:this.fieldId},callback:function(){this.show();if((c&2)!=0){this.optPanel.getComponent("opt1").setValue(true)}else{this.optPanel.getComponent("opt1").setValue(false)}},scope:this})}},failure:function(a,b){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error getting value list")}})}});Ext.namespace("com.hypermanager.data");com.hypermanager.data.DataTypes=new (function(){this.TEXT_SHORT=1;this.TEXT_LONG=2;this.HYPERLINK=3;this.NUMBER=4;this.DATE=5;this.TIMESTAMP=6;this.ICON=7;this.DOUBLE=8;this.COMPUTATOR_COL=9;this.RESSOL_VALUE=10;this.RESSOL_MIXED=11;this.MIXED=12;this.dataTypes=["string","string","string","int","date","int","string","float","auto","float","auto","auto"];this.getExtJSRecordDataType=function(a){return this.dataTypes[a-1]}})();Ext.namespace("com.hypermanager.data");responseError="error";responseOk="ok";com.hypermanager.data.DataUtils=new (function(){this.escapeParameterString=function(b){var a=b;a=a.replace(/'/g,"''");return a};this.escapeUrl=function(b){var a=b;a=a.replace(/(\\|\')/g,"\\$1");return a};this.displayErrorMsg=function(b,a){Ext.MessageBox.show({title:b,msg:a,minWidth:200,buttons:Ext.MessageBox.OK,icon:Ext.MessageBox.ERROR})};this.displayForbiddenMsg=function(a){Ext.MessageBox.show({title:"Forbidden",msg:a,minWidth:200,buttons:Ext.MessageBox.OK,icon:Ext.MessageBox.WARNING})}})();Ext.ns("com.hypermanager.data");com.hypermanager.data.DPGridEditors=function(a){this.listeners=a};com.hypermanager.data.DPGridEditors.prototype={comboBoxEmptyOption:"empty",createCellEditor:function(c,b,a){var d=com.hypermanager.data.DataTypes;switch(c){case d.TEXT_SHORT:if(b>0){return this.createValueListCellEditor(b,a)}else{return this.createTextShortEditor()}case d.TEXT_LONG:return this.createTextLongEditor();case d.HYPERLINK:return this.createHyperLinkEditor();case d.NUMBER:return this.createNumberEditor();case d.DATE:return this.createDateEditor();case d.TIMESTAMP:return this.createTimestampEditor();case d.MIXED:return this.createNumberEditor()}},createNumberEditor:function(){var a=new Ext.form.NumberField({decimalPrecision:0,listeners:this.listeners});return new Ext.grid.GridEditor(a,{ignoreNoChange:false})},createTimestampEditor:function(){var a=new Ext.ux.form.DateTime({xtype:"xdatetime",fieldLabel:"Date & Time",anchor:"-18",timeFormat:"H:i",timeWidth:60,timeConfig:{altFormats:"H.i|H,i"},dateFormat:"d/m/Y",dateConfig:{altFormats:"d/m/y|d/m|d|d.m.Y|d.m.y|d.m|d-m-Y|d-m-y|d-m|d_m_Y|d_m_y|d_m|j/m/Y|j/m/y|j/m|j|j.m.Y|j.m.y|j.m|j-m-Y|j-m-y|j-m|j_m_Y|j_m_y|j_m|d/n/Y|d/n/y|d/n|d.n.Y|d.n.y|d.n|d-n-Y|d-n-y|d-n|d_n_Y|d_n_y|d_n|j/n/Y|j/n/y|j/n|j.n.Y|j.n.y|j.n|j-n-Y|j-n-y|j-n|j_n_Y|j_n_y|j_n"}});return new Ext.grid.GridEditor(a,{ignoreNoChange:false})},createTextShortEditor:function(){var a=new Ext.form.TextField({listeners:this.listeners});return new Ext.grid.GridEditor(a,{ignoreNoChange:false,listeners:this.listeners})},createTextLongEditor:function(){var b=new Ext.form.TextArea({grow:true,preventScrollbars:false,growMax:600,growMin:200,listeners:this.listeners});var a=new Ext.grid.GridEditor(b,{ignoreNoChange:false});a.autoSize=false;a.addListener("beforestartedit",function(d,f,c){var e=f.getSize();d.setSize(e.width,Math.max(100,e.height));return true});return a},createTextLongEditor2:function(){var b=new Ext.form.TextArea({preventScrollbars:false,listeners:this.listeners});var a=new Ext.grid.GridEditor(b,{ignoreNoChange:false});a.autoSize=false;a.addListener("beforestartedit",function(d,f,c){var e=f.getSize();d.field.el.setStyle("z-index",1000);d.el.setStyle("z-index",1000);d.setSize(e.width,100);return true});return a},createDateEditor:function(){var a=new Ext.form.DateField({format:"d/m/Y",altFormats:"d/m/y|d/m|d|d.m.Y|d.m.y|d.m|d-m-Y|d-m-y|d-m|d_m_Y|d_m_y|d_m|j/m/Y|j/m/y|j/m|j|j.m.Y|j.m.y|j.m|j-m-Y|j-m-y|j-m|j_m_Y|j_m_y|j_m|d/n/Y|d/n/y|d/n|d.n.Y|d.n.y|d.n|d-n-Y|d-n-y|d-n|d_n_Y|d_n_y|d_n|j/n/Y|j/n/y|j/n|j.n.Y|j.n.y|j.n|j-n-Y|j-n-y|j-n|j_n_Y|j_n_y|j_n",listeners:this.listeners,onBlur:function(){this.hasFocus=false}});return new Ext.grid.GridEditor(a,{ignoreNoChange:false})},createHyperLinkEditor:function(){var a=new Ext.form.TextField({listeners:this.listeners});return new Ext.grid.GridEditor(a,{ignoreNoChange:false})},createValueListCellEditor:function(c,b){allowedValues=new Array();for(var e=0;e<b.length;e++){var d=b[e].value+" ("+b[e].desc+")";allowedValues.push([d])}if((c&2)!=0){allowedValues.push(["["+this.comboBoxEmptyOption+"]","","",""])}comboDS=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(allowedValues),reader:new Ext.data.ArrayReader({},[{name:"displayValue",type:"string"}])});comboDS.load();comboBox=new Ext.form.ComboBox({store:comboDS,displayField:"displayValue",valueField:null,allowBlank:((c&2)!=0),typeAhead:false,mode:"local",minListWidth:150,lazyInit:false,triggerAction:"all",selectOnFocus:false,forceSelection:false,listeners:this.listeners});var a=new Ext.grid.GridEditor(comboBox,{});a.valueList=b;a.allowOtherValues=(c&2)!=0;a.emptyOption=this.comboBoxEmptyOption;a.addListener("beforecomplete",function(k,h,f){if(h==f){return true}var n=h;var m=false;for(var l=0;(l<this.valueList.length)&&(!m);l++){if(h==(this.valueList[l].value+" ("+this.valueList[l].desc+")")){n=this.valueList[l].value;m=true}}if((this.allowOtherValues==false)&&(!m)){n=f}if((this.allowOtherValues==true)&&(!m)&&(h=="["+this.emptyOption+"]")){n=""}this.editing=false;if(this.updateEl&&this.boundEl){this.boundEl.update(n)}this.hide();this.fireEvent("complete",this,n,this.startValue);return false});return a}};Ext.namespace("com.hypermanager.data");com.hypermanager.data.DPGridRenderers=new (function(){this.planUnit=1;this.getRenderer=function(d,b){var c=com.hypermanager.data.DataTypes;var a=parseInt(b);if(a==c.TEXT_SHORT){return this.renderTextShort.createDelegate(d)}if(a==c.TEXT_LONG){return this.renderTextLong.createDelegate(d)}if(a==c.HYPERLINK){return this.renderHyperlink}if(a==c.DATE){return this.renderDate}if(a==c.TIMESTAMP){return this.renderTimestamp}if(a==c.ICON){return this.renderIcon}if(a==c.DOUBLE){return this.renderDouble}if(a==c.COMPUTATOR_COL){return this.renderComputatorCol.createDelegate(d)}if(a==c.RESSOL_VALUE){return this.renderResSolValue}if(a==c.RESSOL_MIXED){return this.renderResSolMixed.createDelegate(d)}if(a==c.MIXED){return this.renderMixed.createDelegate(d)}return null};this.renderMarkColumn=function(d,e,a,f,c,b){if(!a.get("hasLinks")){return"&#160;"}return this.markColTemplate.apply({width:10,padding:0,value:"&#149;"})};this.renderTextShort=function(d,e,h,f,b,c,a){if((e.colInfo)&&(e.colInfo.valueListType!=null)&&(e.colInfo.valueListType>0)){return com.hypermanager.data.DPGridRenderers.renderValueList.apply(this,arguments)}return d};this.renderValueList=function(n,p,d,q,b,a,f){var o=null;o=this.columnInfoGrid[p.id-1];var m=o.valueListDisplayType;var c=o.valueList;var l=null;if((c!=null)&&(c.length>0)){for(var e=0;e<c.length;e++){if(c[e].value==n){l=c[e]}}}var h=this.getAlignment(o.align);var k="";if(l!=null){switch(m){case 0:k=n;break;case 1:k=l.desc;break;case 2:k=n+" ("+l.desc+")";break;case 3:k=com.hypermanager.data.DPGridRenderers.renderTextShortAsIcon(n,l.icon,p,h);break}}else{k=n}if((k==null)||(k.length==0)){k="&nbsp;"}return k};this.renderTextShortAsIcon=function(b,a,c,d){if(a){c.attr='style="padding:1px 3px 0px 5px;"';return'<div class="tree-grid-cell" style="height: 16px; background-repeat: no-repeat; background-position: center '+d+";  background-image: url("+iconDir.concat(a)+') !important;">&nbsp;</div>'}return b};this.renderTextLong=function(e,f,k,h,c,b,a){if(a){return e.replace(/\n/g,"<br/>")}switch(this.displayType){case 1:i=e.indexOf("\n");if(i!=-1){return e.substring(0,i)}return e;case 2:var d=this.grid.getSelectionModel().getSelectedRow();if(h==d){return e.replace(/\n/g,"<br/>")}i=e.indexOf("\n");if(i!=-1){return e.substring(0,i)}return e;case 3:return e.replace(/\n/g,"<br/>")}return e};this.renderDate=function(a){return(a&&(a instanceof Date)?a.dateFormat("d M Y"):"")};this.renderTimestamp=function(b){if(b){var a=new Date(b);return a.format("d M Y - H:i")}return""};this.renderHyperlink=function(a){return com.hypermanager.util.LinkUtils.renderLink(a,true)};this.renderNumber=function(a){return(a==0?"":a)};this.renderDouble=function(a){if(a==0){return""}return(new Number(a).toFixed(1))};this.renderIcon=function(c,d,f,e,b,a){if(c){d.attr='style="padding:1px 3px 0px 5px;"';return"<div style='position: relative; zoom: 1; height: 16px;'><div  style='position: absolute; right:0; left:0; top: 0px;'><img style='cursor:default;' src='"+iconDir.concat(c)+"' width=16 height=16></div>&nbsp;</div>"}return""};this.renderComputatorCol=function(d,e,h,f,c,b){var a=d;if((a==null)||(a=="")){a=com.hypermanager.data.ComputatorEval.getValue(this,h,e.colInfo.name,f,c,b)}if(a==null||a==""){return""}return com.hypermanager.data.DPGridRenderers.renderResSolValue(a,e)};this.renderResSolValue=function(b,c){if(b<1){c.attr='style="color:#FF0000;"'}var a=60;if(com.hypermanager.data.DPGridRenderers.planUnit==2){a=480}if(com.hypermanager.data.DPGridRenderers.planUnit==3){a=2400}if(b==0){return""}var e=new Number(b);e=e/a;return(e.toFixed(1))};this.renderResSolMixed=function(e,f,k,h,c,b){if((e instanceof com.hypermanager.data.Computator)||(k.get("id")<0)){var d=e;var a=d.computed;if(a===undefined){a=com.hypermanager.data.ComputatorEval.getValue(this,k,f.colInfo.name,h,c,b)}if(a==null||a==""){return""}return com.hypermanager.data.DPGridRenderers.renderResSolValue(a,f)}return com.hypermanager.data.DPGridRenderers.renderResSolValue(e,f)};this.renderMixed=function(e,f,k,h,c,b){if((e instanceof com.hypermanager.data.Computator)||(k.get("id")<0)){var d=e;var a=d.computed;if(a===undefined){a=com.hypermanager.data.ComputatorEval.getValue(this,k,f.colInfo.name,h,c,b)}return a}return e}})();Ext.ns("com.hypermanager.data");com.hypermanager.data.DPDetailsColumnModel=function(a,b){com.hypermanager.data.DPDetailsColumnModel.superclass.constructor.call(this,[{header:this.fieldColumnTitle,dataIndex:"fieldName",width:150,sortable:true,menuDisabled:true},{header:this.filedValuecolumnTitle,dataIndex:"fieldValue",width:450,editable:true,sortable:false,menuDisabled:true,renderer:b}]);this.grid=a};Ext.extend(com.hypermanager.data.DPDetailsColumnModel,Ext.grid.ColumnModel,{fieldColumnTitle:"Field",filedValuecolumnTitle:"Field value",editors:null,isCellEditable:function(a,b){if(!this.grid.dpGridPanel.authWrite){return false}return((a==1)&&(this.grid.activeRecord))},getCellEditor:function(a,b){return this.editors[b]}});com.hypermanager.data.DPDetailsGrid=Ext.extend(Ext.grid.EditorGridPanel,{dpGridPanel:null,activeRecord:null,renderers:null,dpDetailsGridTitle:"List",initComponent:function(){var b=new Ext.data.Store({pruneModifiedRecords:true,reader:new Ext.data.ArrayReader({},[{name:"fieldId",type:"string"},{name:"fieldName",type:"string"},{name:"fieldValue",type:"string"},{name:"fieldType",type:"int"}])});var a=new com.hypermanager.data.DPDetailsColumnModel(this,this.valueColumnRenderer.createDelegate(this));Ext.apply(this,{ds:b,cm:a,title:this.dpDetailsGridTitle,clicksToEdit:1});com.hypermanager.data.DPDetailsGrid.superclass.initComponent.apply(this,arguments);this.getView().getEditorParent=function(c){return this.mainWrap.dom};this.dpGridPanel.grid.getSelectionModel().addListener("selectionchange",this.onSelectionChange,this);this.addListener("afteredit",this.doUpdateValue,this);this.addListener("beforeedit",this.onBeforeEdit,this);this.addClass("auto-line-break")},configure:function(c){this.activeRecord=null;var b=new com.hypermanager.data.DPGridEditors();this.getColumnModel().editors=new Array();this.renderers=new Array();for(var d=0;d<c.length;d++){var a=c[d];this.getColumnModel().editors.push(b.createCellEditor(a.dataType,a.valueListType,a.valueList));this.renderers.push(a.renderer)}},valueColumnRenderer:function(c,d,f,e,b,a){if(this.renderers&&this.renderers[e]){return this.renderers[e].call(this.dpGridPanel,c,d,f,0,e,a,true)}return c},onBeforeEdit:function(a){if(a.record.get(a.field) instanceof com.hypermanager.data.Computator){return false}return true},doUpdateValue:function(c){if(this.activeRecord){var a=c.record.get("fieldId");this.activeRecord.set(a,c.value);var b={grid:this.dpGridPanel.grid,record:this.activeRecord,field:a,originalValue:c.startValue,value:c.value};this.dpGridPanel.grid.fireEvent("afteredit",b)}},onSelectionChange:function(f,e){this.stopEditing();if(e){var d=e.cell[0];this.activeRecord=this.dpGridPanel.ds.getAt(d);this.store.suspendEvents();for(var c=0;c<this.store.getCount();c++){var a=this.store.getAt(c);var b=a.get("fieldId");a.set("fieldValue",this.activeRecord.get(b));a.dirty=false}this.store.resumeEvents();this.store.modified=[];this.getView().refresh(false)}}});Ext.namespace("com.hypermanager.data");com.hypermanager.data.ColumnDragZone=function(a){Ext.apply(this,a);this.view=this.grid.getView();com.hypermanager.data.ColumnDragZone.superclass.constructor.call(this,this.view.mainBody.dom,a);if(this.view.lockedBody){this.setHandleElId(Ext.id(this.view.mainBody.dom));this.setOuterHandleElId(Ext.id(this.view.lockedBody.dom))}this.scroll=false;this.ddel=document.createElement("div");this.ddel.className="x-grid-dd-wrap"};Ext.extend(com.hypermanager.data.ColumnDragZone,Ext.dd.DragZone,{dragColumnIndex:1,ddGroup:"GridDD",isDropValid:true,getDragData:function(c){var b=Ext.lib.Event.getTarget(c);var f=this.view.findRowIndex(b);if(f!==false){var a=this.view.findCellIndex(b);if(a===this.dragColumnIndex){if(this.grid.getStore().getAt(f).get("sourceId")>0){return false}var d=this.grid.getSelectionModel();if(!d.isSelected(f)||c.hasModifier()){d.handleMouseDown(this.grid,f,c)}return{grid:this.grid,ddel:this.ddel,rowIndex:f,selections:d.getSelections()}}}return false},onInitDrag:function(b){this.isDropValid=true;var a=this.dragData;this.ddel.innerHTML=this.grid.getDragDropText();this.proxy.update(this.ddel)},afterRepair:function(){this.dragging=false},getRepairXY:function(b,a){return false},onBeforeDrag:function(b,c){var a=b.grid.getStore().getAt(b.rowIndex);return this.observable.fireEvent("beforedrag",a,b.rowIndex)},onEndDrag:function(a,b){},onValidDrop:function(a,b,c){this.hideProxy()},beforeInvalidDrop:function(a,b){}});com.hypermanager.data.ObservableColumnDragZone=function(a){Ext.apply(this,a);this.addEvents("beforedrag");Ext.apply(a,{observable:this});new com.hypermanager.data.ColumnDragZone(a);com.hypermanager.data.ObservableColumnDragZone.superclass.constructor.call(this)};Ext.extend(com.hypermanager.data.ObservableColumnDragZone,Ext.util.Observable,{});Ext.namespace("com.hypermanager.data");com.hypermanager.data.CellSelectionModel=function(a){Ext.apply(this,a);this.addEvents("afterenterduringlastcelledit");com.hypermanager.data.CellSelectionModel.superclass.constructor.call(this)};Ext.extend(com.hypermanager.data.CellSelectionModel,Ext.grid.CellSelectionModel,{enableKeepEditing:false,dragText:"{0} selected row{1}",init:function(a){com.hypermanager.data.CellSelectionModel.superclass.init.call(this,a)},initEvents:function(){this.grid.on("cellclick",this.handleCellClick,this);this.grid.on(Ext.EventManager.useKeydown?"keydown":"keypress",this.handleKeyDown,this);this.grid.getView().on({scope:this,refresh:this.onViewChange,rowupdated:this.onRowUpdated,beforerowremoved:this.clearSelections,beforerowsinserted:this.clearSelections});if(this.grid.isEditor){this.grid.on("beforeedit",this.beforeEdit,this)}},onEditorKey:function(b,a){if((a.getKey()==a.TAB)||(a.getKey()==a.ENTER)){this.handleKeyDown(a,true)}},handleKeyDown:function(l,n){if(!l.isNavKeyPress()){return}var d=l.getKey(),h=this.grid,t=this.selection,b=this,o=function(k,e,c,r){return h.walkCells(k,e,c,r,h.isEditor&&h.editing?b.acceptsNav:b.isSelectable,b)},q,f,a,m,p;switch(d){case l.ESC:case l.PAGE_UP:case l.PAGE_DOWN:break;default:l.stopEvent();break}if(!t){q=o(0,0,1,0);if(q){this.select(q[0],q[1])}return}q=t.cell;a=q[0];m=q[1];switch(d){case l.TAB:if(l.shiftKey){f=o(a,m-1,-1,0)}else{f=o(a,m+1,1,0)}break;case l.DOWN:f=o(a+1,m,0,1);break;case l.UP:f=o(a-1,m,0,-1);break;case l.RIGHT:f=o(a,m+1,1,0);break;case l.LEFT:f=o(a,m-1,-1,0);break;case l.ENTER:if(h.isEditor){if((n!==true)&&(!h.editing)){h.startEditing(a,m);return}else{if(this.moveEditorOnEnter!==false){if(l.shiftKey){f=o(a-1,m,0,-1)}else{f=o(a+1,m,0,1);if((!f)&&(this.fireEvent("afterenterduringlastcelledit",this,a,m)!==false)){}}}}}break}if(f){a=f[0];m=f[1];this.select(a,m);if(h.isEditor&&h.editing){p=h.activeEditor;if(p&&p.field.triggerBlur){p.field.triggerBlur()}h.startEditing(a,m)}}},isSelectable:function(f,c,b){var a=com.hypermanager.data.CellSelectionModel.superclass.isSelectable.call(this,f,c,b);var d=this.grid.getStore();var e=d.getAt(f);a=a&&d.isVisibleNode(e);return a},isSelected:function(a){if(!this.hasSelection()){return false}var b=this.getSelectedCell();if(a==b[0]){return true}return false},getSelections:function(){if(!this.hasSelection()){return[]}var a=this.getSelectedCell();rec=this.grid.getStore().getAt(a[0]);return[rec]},getSelectedRow:function(){if(!this.hasSelection()){return null}var a=this.getSelectedCell();return a[0]},getCount:function(){return 1},handleCellClick:function(b,d,a,c){if(c.button!==0||this.isLocked()){return}this.select(d,a)},handleMouseDown:function(b,d,c){var a=String(b.getStore().getAt(d).get(b.getColumnModel().getDataIndex(1)));b.ddText=this.dragText+(a.length==0?"":": "+a)},clearSelections:function(e,b,a,c){var d=this.selection;if(d){this.selection=null;this.grid.view.selectedRow=-1;this.grid.view.selectedCol=-1;if(e!==true){this.grid.view.onCellDeselect(d.cell[0],d.cell[1],b,a,c)}this.fireEvent("selectionchange",this,null)}},select:function(e,b,a,d,c){if((this.selection)&&(this.selection.cell[0]==e)&&(this.selection.cell[1]==b)){return}com.hypermanager.data.CellSelectionModel.superclass.select.call(this,e,b,a,d,c)}});Ext.namespace("com.hypermanager.data");com.hypermanager.data.BufferView=Ext.extend(Ext.grid.GridView,{rowHeight:19,borderHeight:2,scrollDelay:100,cacheSize:20,cleanDelay:500,viewType:1,getCellClasses:null,cellClasses:["x-dpgrid-cell-read-only","x-dpgrid-cell-marked"],initTemplates:function(){com.hypermanager.data.BufferView.superclass.initTemplates.call(this);var a=this.templates;a.rowHolder=new Ext.Template('<div class="x-grid3-row {alt}" style="{tstyle}"></div>');a.rowHolder.disableFormats=true;a.rowHolder.compile();a.rowBody=new Ext.Template('<table class="x-grid3-row-table" border="0" cellspacing="0" cellpadding="0" style="{tstyle}">',"<tbody><tr>{cells}</tr>",(this.enableRowBody?'<tr class="x-grid3-row-body-tr" style="{bodyStyle}"><td colspan="{cols}" class="x-grid3-body-cell" tabIndex="0" hidefocus="on"><div class="x-grid3-row-body">{body}</div></td></tr>':""),"</tbody></table>");a.rowBody.disableFormats=true;a.rowBody.compile()},getStyleRowHeight:function(){return Ext.isBorderBox?(this.rowHeight+this.borderHeight):this.rowHeight},getCalculatedRowHeight:function(){return this.rowHeight+this.borderHeight},getVisibleRowCount:function(){var b=this.getCalculatedRowHeight();var a=this.scroller.dom.clientHeight;return(a<1)?0:Math.ceil(a/b)},getVisibleRows:function(){if(this.viewType==3){var d=this.getRows();var b=0;if(d){var c=this.getVisibleRowCount();var e=this.scroller.dom.scrollTop;if(e==0){f=0}else{for(var a=0;a<d.length;a++){b+=Ext.get(d[a]).getHeight();if(b>e){f=a-1;break}}}return{first:Math.max(f,0),last:Math.min(f+c+2,this.ds.getCount()-1)}}}var c=this.getVisibleRowCount();var e=this.scroller.dom.scrollTop;var f=(e==0?0:Math.floor(e/this.getCalculatedRowHeight())-1);return{first:Math.max(f,0),last:Math.min(f+c+2,this.ds.getCount()-1)}},doRender:function(l,n,y,a,w,F,q,b){var d=this.templates,h=d.cell,m=d.row,C=d.rowBody,t=w-1;var x=this.getStyleRowHeight();var E=this.getVisibleRows();var e="width:"+this.getTotalWidth()+";height:"+x+"px;";if(this.viewType==3){e="width:"+this.getTotalWidth()+";min-height:"+x+"px;"}var o=this.getCellClasses!=null?this.getCellClasses:function(){return null};var J=[],A,K,z={},s={tstyle:e},v;for(var D=0,H=n.length;D<H;D++){v=n[D];A=[];var u=(D+a);var f=u>=E.first&&u<=E.last;if((f)||(b===false)){for(var G=0;G<w;G++){K=l[G];z.colInfo=K;z.id=K.id;z.css=G==0?"x-grid3-cell-first ":(G==t?"x-grid3-cell-last ":"");var I=o(v.data[K.name],K,v,u,G,y);if(I!=null){for(var B=0;B<I.length;B++){z.css+=" "+I[B]}}if((u==this.selectedRow)&&(G==this.selectedCol)){z.css+=" x-grid3-cell-selected"}z.attr=z.cellAttr="";z.value=K.renderer(v.data[K.name],z,v,u,G,y);z.style=K.style;if(z.value==undefined||z.value===""){z.value="&#160;"}if(v.dirty&&typeof v.modified[K.name]!=="undefined"){z.css+=" x-grid3-dirty-cell"}A[A.length]=h.apply(z)}}var L=[];if(F&&((u+1)%2==0)){L[0]="x-grid3-row-alt"}if(v.dirty){L[1]=" x-grid3-dirty-row"}s.cols=w;if(this.getRowClass){L[2]=this.getRowClass(v,u,s,y)}s.alt=L.join(" ");s.cells=A.join("");J[J.length]=((!f)&&(b!==false))?d.rowHolder.apply(s):(q?C.apply(s):m.apply(s))}return J.join("")},isRowRendered:function(a){var b=this.getRow(a);return b&&b.childNodes.length>0},syncScroll:function(){com.hypermanager.data.BufferView.superclass.syncScroll.apply(this,arguments);this.update()},update:function(){if(this.scrollDelay){if(!this.renderTask){this.renderTask=new Ext.util.DelayedTask(this.doUpdate,this)}this.renderTask.delay(this.scrollDelay)}else{this.doUpdate()}},onRemove:function(d,a,b,c){com.hypermanager.data.BufferView.superclass.onRemove.apply(this,arguments);if(c!==true){this.update()}},doUpdate:function(){if(this.getVisibleRowCount()>0){var f=this.grid,b=f.colModel,h=f.store;var e=this.getColumnData();var a=this.getVisibleRows();for(var d=a.first;d<=a.last;d++){if(!this.isRowRendered(d)){var c=this.doRender(e,[h.getAt(d)],h,d,b.getColumnCount(),f.stripeRows,true);this.getRow(d).innerHTML=c}}this.clean()}},getColumnData:function(){var d=[],a=this.cm,e=a.getColumnCount();for(var c=0;c<e;c++){var b=a.getDataIndex(c);d[c]={name:(typeof b=="undefined"?this.ds.fields.get(c).name:b),renderer:a.getRenderer(c),id:a.getColumnId(c),style:this.getColumnStyle(c),importedField:a.config[c].importedField,type:a.config[c].type,valueListType:a.config[c].valueListType,computator:a.config[c].computator}}return d},clean:function(){if(!this.cleanTask){this.cleanTask=new Ext.util.DelayedTask(this.doClean,this)}this.cleanTask.delay(this.cleanDelay)},doClean:function(){if(this.getVisibleRowCount()>0){var b=this.getVisibleRows();b.first-=this.cacheSize;b.last+=this.cacheSize;var c=0,d=this.getRows();if(b.first<=0){c=b.last+1}for(var a=this.ds.getCount();c<a;c++){if((c<b.first||c>b.last)&&d[c].innerHTML){d[c].innerHTML=""}}}},layout:function(){com.hypermanager.data.BufferView.superclass.layout.call(this);this.update()},onCellSelect:function(c,a){this.selectedRow=c;this.selectedCol=a;if(this.viewType==2){this.refreshRowContent(c);var b=this.getRow(c);this.fly(b).applyStyles("height:auto");this.fly(b).addClass("x-dpgrid-multiline-display")}com.hypermanager.data.BufferView.superclass.onCellSelect.apply(this,arguments)},onCellDeselect:function(f,c,b,a,d){this.selectedRow=-1;this.selectedCol=-1;if(this.viewType==2){if(d!==true){if(b){this.refreshRowContent(a)}else{this.refreshRowContent(f)}}var e=this.getRow(f);this.fly(e).applyStyles("height:"+this.getStyleRowHeight()+"px");this.fly(e).removeClass("x-dpgrid-multiline-display")}com.hypermanager.data.BufferView.superclass.onCellDeselect.apply(this,arguments)},refreshRowContent:function(a){var c=this.ds;var d;if(typeof a=="number"){d=c.getAt(a)}else{d=a;a=c.indexOf(d)}if(d&&(a>=0)&&(this.isRowRendered(a))){cs=this.getColumnData();g=this.grid;cm=g.colModel;var b=this.doRender(cs,[d],c,a,cm.getColumnCount(),g.stripeRows,true,false);this.getRow(a).innerHTML=b}},setViewType:function(a){this.viewType=a;if(this.viewType==3){this.grid.addClass("x-dpgrid-multiline-display")}else{this.grid.removeClass("x-dpgrid-multiline-display")}},ensureVisible:function(v,f,e){var t=this.resolveCell(v,f,e);if(!t||!t.row){return}var m=t.row,h=t.cell;var q=this.scroller.dom;var u=0;var d=m,r=this.el.dom;while(d&&d!=r){u+=d.offsetTop;d=d.offsetParent}u-=this.mainHd.dom.offsetHeight;var s=u+m.offsetHeight;var a=q.clientHeight;var r=parseInt(q.scrollTop,10);var o=r+a;if(u<r){q.scrollTop=u}else{if(s>o){q.scrollTop=s-a}}if(e!==false){if(h){var n=parseInt(h.offsetLeft,10);var l=n+h.offsetWidth}var k=parseInt(q.scrollLeft,10);var b=k+q.clientWidth;if(h){if(n<k){q.scrollLeft=n}else{if(l>b){q.scrollLeft=l-q.clientWidth}}}}return this.getResolvedXY(t)},getEditorParent:function(a){return this.mainWrap.dom},refreshCellsClases:function(n){var t=this.getVisibleRows();var c=this.grid.getStore();var b=this.grid.getView();var p=this.grid.getColumnModel();var k=this.getColumnData();for(var h=0;h<n.length;h++){var m=n[h];if(this.isRowRendered(m)){var s=b.getRow(m);var e=c.getAt(m);if(s){var a=e.get("marked");var r=s.getElementsByTagName("td");for(var f=0;f<r.length;f++){var q=r[f];var o=e.get(p.getDataIndex(f));var d=this.getCellClasses(o,k[f],e,m,f,c);var l=b.fly(q);l.removeClass(this.cellClasses);if(d!=null){l.addClass(d)}}}}}},insertRows:function(a,f,c,e){if(!e&&f===0&&c>=a.getCount()-1){this.refresh()}else{if(!e){if(this.viewType==2){this.fireEvent("beforerowsinserted",this,f,c,true)}else{this.fireEvent("beforerowsinserted",this,f,c)}}var b=this.renderRows(f,c);var d=this.getRow(f);if(d){Ext.DomHelper.insertHtml("beforeBegin",d,b)}else{Ext.DomHelper.insertHtml("beforeEnd",this.mainBody.dom,b)}if(!e){this.fireEvent("rowsinserted",this,f,c);this.processRows(f)}}this.syncFocusEl(f)}});Ext.namespace("com.hypermanager.data");com.hypermanager.data.BufferedTreeView=Ext.extend(com.hypermanager.data.TreeView,{rowHeight:19,borderHeight:2,scrollDelay:100,cacheSize:20,cleanDelay:500,viewType:1,getCellClasses:null,cellClasses:["x-dpgrid-cell-read-only","x-dpgrid-cell-marked"],initTemplates:function(){com.hypermanager.data.BufferedTreeView.superclass.initTemplates.call(this);var a=this.templates;a.rowHolder=new Ext.Template('<div class="x-grid3-row {alt}" style="{tstyle} {display_style}"></div>');a.rowHolder.disableFormats=true;a.rowHolder.compile();a.rowBody=new Ext.Template('<table class="x-grid3-row-table" border="0" cellspacing="0" cellpadding="0" style="{tstyle}">',"<tbody><tr>{cells}</tr>",(this.enableRowBody?'<tr class="x-grid3-row-body-tr" style="{bodyStyle}"><td colspan="{cols}" class="x-grid3-body-cell" tabIndex="0" hidefocus="on"><div class="x-grid3-row-body">{body}</div></td></tr>':""),"</tbody></table>");a.rowBody.disableFormats=true;a.rowBody.compile()},getStyleRowHeight:function(){return Ext.isBorderBox?(this.rowHeight+this.borderHeight):this.rowHeight},getCalculatedRowHeight:function(){return this.rowHeight+this.borderHeight},getVisibleRowCount:function(){var b=this.getCalculatedRowHeight();var a=this.scroller.dom.clientHeight;return(a<1)?0:Math.ceil(a/b)},getVisibleRows:function(){var c=this.getVisibleRowCount();var e=this.scroller.dom.scrollTop;var a=(e==0?0:Math.floor(e/this.getCalculatedRowHeight())-1);var b=Math.max(a,0);var h=Math.min(a+c+2,this.ds.getCount()-1);var d=0;var k=0;var f=0;var l=this.ds.getCount()-1;while(d<this.ds.getCount()){if(this.ds.isVisibleNode(this.ds.getAt(d))){if(k==b){f=d}if(k==h){l=d}k++}d++}return{first:f,last:l}},doRender:function(l,n,y,a,w,F,q,b){var d=this.templates,h=d.cell,m=d.row,C=d.rowBody,t=w-1;var x=this.getStyleRowHeight();var E=this.getVisibleRows();var e="width:"+this.getTotalWidth()+";height:"+x+"px;";if(this.viewType==3){e="width:"+this.getTotalWidth()+";min-height:"+x+"px;"}var o=this.getCellClasses!=null?this.getCellClasses:function(){return null};var J=[],A,K,z={},s={tstyle:e},v;for(var D=0,H=n.length;D<H;D++){v=n[D];A=[];var u=(D+a);var f=u>=E.first&&u<=E.last&&y.isVisibleNode(v);if((f)||(b===false)){for(var G=0;G<w;G++){K=l[G];z.colInfo=K;z.id=K.id;z.css=G==0?"x-grid3-cell-first ":(G==t?"x-grid3-cell-last ":"");var I=o(v.data[K.name],K,v,u,G,y);if(I!=null){for(var B=0;B<I.length;B++){z.css+=" "+I[B]}}if((u==this.selectedRow)&&(G==this.selectedCol)){z.css+=" x-grid3-cell-selected"}z.attr=z.cellAttr="";z.value=K.renderer(v.data[K.name],z,v,u,G,y);z.style=K.style;if(z.value==undefined||z.value===""){z.value="&#160;"}if(v.dirty&&typeof v.modified[K.name]!=="undefined"){z.css+=" x-grid3-dirty-cell"}if(K.id==this.grid.master_column_id){z.treeui=this.renderCellTreeUI(v,y);if(this.viewType<=2&&!isFF){z.treeui_start_tag='<div class="hm-treegrid-uiwrap-parent">'}else{z.treeui_start_tag="<div>"}z.treeui_end_tag="</div>"}else{z.treeui="";z.treeui_start_tag="";z.treeui_end_tag=""}A[A.length]=h.apply(z)}}var L=[];if(F&&((u+1)%2==0)){L[0]="x-grid3-row-alt"}if(v.dirty){L[1]=" x-grid3-dirty-row"}s.cols=w;if(this.getRowClass){L[2]=this.getRowClass(v,u,s,y)}s.alt=L.join(" ");s.cells=A.join("");if(!y.isVisibleNode(v)){s.display_style="display: none;"}else{s.display_style=""}s.level=y.getNodeDepth(v);J[J.length]=((!f)&&(b!==false))?d.rowHolder.apply(s):(q?C.apply(s):m.apply(s))}return J.join("")},isRowRendered:function(a){var b=this.getRow(a);return b&&b.childNodes.length>0},syncScroll:function(){com.hypermanager.data.BufferedTreeView.superclass.syncScroll.apply(this,arguments);this.update()},update:function(){if(this.scrollDelay){if(!this.renderTask){this.renderTask=new Ext.util.DelayedTask(this.doUpdate,this)}this.renderTask.delay(this.scrollDelay)}else{this.doUpdate()}},onRemove:function(d,a,b,c){com.hypermanager.data.BufferedTreeView.superclass.onRemove.apply(this,arguments);if(c!==true){this.update()}},doUpdate:function(){if(this.getVisibleRowCount()>0){var f=this.grid,b=f.colModel,h=f.store;var e=this.getColumnData();var a=this.getVisibleRows();for(var d=a.first;d<=a.last;d++){if((!this.isRowRendered(d))&&(h.isVisibleNode(h.getAt(d)))){var c=this.doRender(e,[h.getAt(d)],h,d,b.getColumnCount(),f.stripeRows,true);this.getRow(d).innerHTML=c}}this.clean()}},getColumnData:function(){var d=[],a=this.cm,e=a.getColumnCount();for(var c=0;c<e;c++){var b=a.getDataIndex(c);d[c]={name:(typeof b=="undefined"?this.ds.fields.get(c).name:b),renderer:a.getRenderer(c),id:a.getColumnId(c),style:this.getColumnStyle(c),importedField:a.config[c].importedField,type:a.config[c].type,valueListType:a.config[c].valueListType,computator:a.config[c].computator}}return d},clean:function(){if(!this.cleanTask){this.cleanTask=new Ext.util.DelayedTask(this.doClean,this)}this.cleanTask.delay(this.cleanDelay)},doClean:function(){if(this.getVisibleRowCount()>0){var b=this.getVisibleRows();b.first-=this.cacheSize;b.last+=this.cacheSize;var c=0,d=this.getRows();if(b.first<=0){c=b.last+1}for(var a=this.ds.getCount();c<a;c++){if((c<b.first||c>b.last)&&d[c].innerHTML){d[c].innerHTML=""}}}},layout:function(){com.hypermanager.data.BufferedTreeView.superclass.layout.call(this);this.update()},onCellSelect:function(c,a){this.selectedRow=c;this.selectedCol=a;if(this.viewType==2){this.refreshRowContent(c);var b=this.getRow(c);this.fly(b).applyStyles("height:auto");this.fly(b).addClass("x-dpgrid-multiline-display")}com.hypermanager.data.BufferedTreeView.superclass.onCellSelect.apply(this,arguments)},onCellDeselect:function(f,c,b,a,d){this.selectedRow=-1;this.selectedCol=-1;if(this.viewType==2){if(d!==true){if(b){this.refreshRowContent(a)}else{this.refreshRowContent(f)}}var e=this.getRow(f);this.fly(e).applyStyles("height:"+this.getStyleRowHeight()+"px");this.fly(e).removeClass("x-dpgrid-multiline-display")}com.hypermanager.data.BufferedTreeView.superclass.onCellDeselect.apply(this,arguments)},refreshRowContent:function(a){var c=this.ds;var d;if(typeof a=="number"){d=c.getAt(a)}else{d=a;a=c.indexOf(d)}if(d&&(a>=0)&&(this.isRowRendered(a))){cs=this.getColumnData();g=this.grid;cm=g.colModel;var b=this.doRender(cs,[d],c,a,cm.getColumnCount(),g.stripeRows,true,false);this.getRow(a).innerHTML=b}},setViewType:function(a){this.viewType=a;if(this.viewType==3){this.grid.addClass("x-dpgrid-multiline-display")}else{this.grid.removeClass("x-dpgrid-multiline-display")}},ensureVisible:function(v,f,e){var t=this.resolveCell(v,f,e);if(!t||!t.row){return}var m=t.row,h=t.cell;var q=this.scroller.dom;var u=0;var d=m,r=this.el.dom;while(d&&d!=r){u+=d.offsetTop;d=d.offsetParent}u-=this.mainHd.dom.offsetHeight;var s=u+m.offsetHeight;var a=q.clientHeight;var r=parseInt(q.scrollTop,10);var o=r+a;if(u<r){q.scrollTop=u}else{if(s>o){q.scrollTop=s-a}}if(e!==false){if(h){var n=parseInt(h.offsetLeft,10);var l=n+h.offsetWidth}var k=parseInt(q.scrollLeft,10);var b=k+q.clientWidth;if(h){if(n<k){q.scrollLeft=n}else{if(l>b){q.scrollLeft=l-q.clientWidth}}}}return this.getResolvedXY(t)},getEditorParent:function(a){return this.mainWrap.dom},refreshCellsClases:function(n){var t=this.getVisibleRows();var c=this.grid.getStore();var b=this.grid.getView();var p=this.grid.getColumnModel();var k=this.getColumnData();for(var h=0;h<n.length;h++){var m=n[h];if(this.isRowRendered(m)){var s=b.getRow(m);var e=c.getAt(m);if(s){var a=e.get("marked");var r=s.getElementsByTagName("td");for(var f=0;f<r.length;f++){var q=r[f];var o=e.get(p.getDataIndex(f));var d=this.getCellClasses(o,k[f],e,m,f,c);var l=b.fly(q);l.removeClass(this.cellClasses);if(d!=null){l.addClass(d)}}}}}},insertRows:function(a,f,c,e){if(!e&&f===0&&c>=a.getCount()-1){this.refresh()}else{if(!e){if(this.viewType==2){this.fireEvent("beforerowsinserted",this,f,c,true)}else{this.fireEvent("beforerowsinserted",this,f,c)}}var b=this.renderRows(f,c);var d=this.getRow(f);if(d){Ext.DomHelper.insertHtml("beforeBegin",d,b)}else{Ext.DomHelper.insertHtml("beforeEnd",this.mainBody.dom,b)}if(!e){this.fireEvent("rowsinserted",this,f,c);this.processRows(f)}}this.syncFocusEl(f)},expandRow:function(d,h){var b=this.ds,c,f,m,k,a,e,l;if(typeof d=="number"){e=d;d=b.getAt(e)}else{e=b.indexOf(d)}if(h){m=this.getRow(e);k=Ext.fly(m).child(".hm-treegrid-elbow-active");if(k){if(b.hasNextSiblingNode(d)){k.removeClass("hm-treegrid-elbow-plus");k.removeClass("hm-treegrid-elbow-end-plus");k.addClass("hm-treegrid-elbow-minus")}else{k.removeClass("hm-treegrid-elbow-plus");k.removeClass("hm-treegrid-elbow-end-plus");k.addClass("hm-treegrid-elbow-end-minus")}}}a=b.getNodeChildren(d);for(c=0,f=a.length;c<f;c++){l=b.indexOf(a[c]);m=this.getRow(l);Ext.fly(m).setStyle("display","block");if(b.isExpandedNode(a[c])){this.expandRow(l)}}},collapseRow:function(b,d){var h=this.ds,f,a,e,k,c;if(typeof b=="number"){c=b;b=h.getAt(c)}else{c=h.indexOf(b)}k=this.getRow(c);if(d){pmel=Ext.fly(k).child(".hm-treegrid-elbow-active");if(pmel){if(h.hasNextSiblingNode(b)){pmel.removeClass("hm-treegrid-elbow-minus");pmel.removeClass("hm-treegrid-elbow-end-minus");pmel.addClass("hm-treegrid-elbow-plus")}else{pmel.removeClass("hm-treegrid-elbow-minus");pmel.removeClass("hm-treegrid-elbow-end-minus");pmel.addClass("hm-treegrid-elbow-end-plus")}}}e=h.getNodeChildren(b);for(f=0,a=e.length;f<a;f++){c=h.indexOf(e[f]);k=this.getRow(c);Ext.fly(k).setStyle("display","none");this.collapseRow(c,false)}},onStoreExpandNode:function(a,b){this.doUpdate();this.expandRow(b,true)},onStoreCollapseNode:function(a,b){this.doUpdate();this.collapseRow(b,true)},onUpdate:function(b,a){this.refreshRowContent(this.ds.indexOf(a))}});Ext.namespace("com.hypermanager.data");com.hypermanager.data.DPGridDropTarget=function(a){Ext.apply(this,a);this.ddGroup=this.grid.ddGroup||"GridDD";com.hypermanager.data.DPGridDropTarget.superclass.constructor.call(this,this.grid.getEl())};Ext.extend(com.hypermanager.data.DPGridDropTarget,Ext.dd.DropTarget,{notifyDrop:function(l,f,d){var b=this.grid.getStore();var o=Ext.lib.Event.getTarget(f);var h=false;var n=b.getAt(d.rowIndex);var m=this.grid.getView().findRowIndex(o);var c=-1;if(m===false){c=this.grid.getView().findHeaderIndex(o);if((c!==false)&&(c>=0)){if(n.get("level")==0){return false}h=true}else{return false}}if(m==d.rowIndex){return false}if(this.subTreeDrop){return false}var a=b.getAt(m);var k=d.rowIndex;this.observable.fireEvent("afterDrop",h,n,k,a);return true},notifyOver:function(n,l,d){var p=Ext.lib.Event.getTarget(l);var f=this.grid.getView().findHeaderIndex(p);if(((f!==false)&&(f>=0))){var c=d.grid.getStore().getAt(d.rowIndex);if(c.get("level")==0){f=false}}var h=this.grid.getView().findRowIndex(p);if(h==d.rowIndex){return this.dropNotAllowed}if(h){this.subTreeDrop=false;var m=d.rowIndex;if(m<h){var a=this.grid.getStore();var b=a.getAt(m).get("level");var o=false;var k=m;do{k++;if(a.getAt(k).get("level")<=b){o=true}}while((k<h)&&(o==false));if(o==false){this.subTreeDrop=true;return this.dropNotAllowed}}}return((h===false)&&(f===false))?this.dropNotAllowed:this.dropAllowed}});com.hypermanager.data.ObservableDPGridDropTarget=function(a){Ext.apply(this,a);this.addEvents("afterdrop");new com.hypermanager.data.DPGridDropTarget({grid:this.grid,observable:this});com.hypermanager.data.ObservableDPGridDropTarget.superclass.constructor.call(this)};Ext.extend(com.hypermanager.data.ObservableDPGridDropTarget,Ext.util.Observable,{});Ext.namespace("com.hypermanager.data");com.hypermanager.data.GridDropTarget=function(a){Ext.apply(this,a);this.ddGroup=this.grid.ddGroup||"GridDD";com.hypermanager.data.GridDropTarget.superclass.constructor.call(this,this.grid.getEl())};Ext.extend(com.hypermanager.data.GridDropTarget,Ext.dd.DropTarget,{notifyDrop:function(a,h,f){var d=this.grid.getStore();var c=Ext.lib.Event.getTarget(h);var k=this.grid.getView().findRowIndex(c);if(k===false){return false}if(k==f.rowIndex){return false}var b=d.getAt(f.rowIndex);this.observable.fireEvent("afterDrop",b,k);return true},notifyOver:function(a,f,d){var c=Ext.lib.Event.getTarget(f);var b=this.grid.getView().findRowIndex(c);if(b==d.rowIndex){b=false}return(b===false)?this.dropNotAllowed:this.dropAllowed}});com.hypermanager.data.ObservableGridDropTarget=function(a){Ext.apply(this,a);this.addEvents("afterdrop");new com.hypermanager.data.GridDropTarget({grid:this.grid,observable:this});com.hypermanager.data.ObservableGridDropTarget.superclass.constructor.call(this)};Ext.extend(com.hypermanager.data.ObservableGridDropTarget,Ext.util.Observable,{});Ext.namespace("com.hypermanager.data");com.hypermanager.data.DPGridPanel=function(a,b){Ext.apply(this,b);this.addEvents("afterProductChange");com.hypermanager.data.DPGridPanel.superclass.constructor.call(this)};Ext.extend(com.hypermanager.data.DPGridPanel,Ext.Panel,{actions:{getDataProductInfo:"getDataProductInfo",getDataProductRows:"getDataProductRows",addRecord:"addRecord",addMultipleRecords:"addMultipleRecords",updateRecord:"updateRecord",updateRecords:"updateRecords",deleteRecord:"deleteRecord",collapseRecord:"collapseRecord",storeParameters:"storeParameters",copyRecord:"copyRecord"},servletURL:ServletContext+"json/data",hisAttrDataProduct:"dpid",hisAttrDataRec:"drid",hisAttrDataField:"dfid",quickSearchString:"NULL",quickSearchTextField:null,gridContextMenu:null,headerContextMenu:null,keyBuffer:false,dataProductPanel:null,detailsPanel:null,detailsGrid:null,detailsFieldTab:null,detailsFieldComboDS:null,detailsFieldCombo:null,detailsFieldArea:null,recordLinkDialog:null,recordLinksItems:null,defaultRecLinkIcon:iconDir+"bullet_black.png",grid:null,ds:null,cm:null,TableRecord:null,recordFields:null,treeGrid:null,clipboard:null,displayType:null,displayMenuItems:null,selModel:null,dataProductInfo:null,configCM:null,sortField:null,sortDir:null,columnInfo:null,columnInfoGrid:null,columnInfoDetailsGrid:null,productId:-1,objectId:-1,container:null,appId:-1,appName:null,appType:0,prodName:null,filterName:null,filterId:-1,preFilterID:-1,lastUsedFilter:-1,initialFilter:-1,columnDataTypes:null,renderers:null,MAX_HIERARCHY_LEVELS:8,authWrite:false,authHvfAdmin:false,authDpCreate:false,authAdmin:false,delMsg:"Do you really want to delete this row?",delSelMsg:"Do you really want to delete all marked rows?",delMsgTitle:"Confirm delete",newRecordButtonText:"Add",newRecordButtonTtip:"Add Record at the end.",delRecordButtonText:"Delete",delRecordButtonTtip:"Deletes the selected record.",updateGridButtonText:"Update",updateGridButtonTtip:"Updates the table from the database.",viewButtonText:"View",addButtonText:"Add multiple",addButtonTtip:"Add multiple Records at the end.",quickFilterLabel:"Quick filter:",quickFilterTtip:"Search the currently loaded records. Type in value and activate filter with enter.",showAllButtonText:"Reset",showAllButtonTtip:"Reset the filter",addMsgTitle:"Add multiple rows",addMsg:"How many rows do you want to add?",viewOption1:"Single-line",viewOption2:"Multi-line dynamic",viewOption3:"Multi-line",delErrMsg:"No row selected! Please select the row you want to delete first.",contextMenuEditLinks:"Edit MetaLink",contextMenuCopy:"Copy record",contextMenuCut:"Cut record",contextMenuPaste:"Paste record",contextMenuEdit:"Edit cell",contextMenuPasteExcel:"Paste content",contextMenuBrowseFolder:"Browse Folder",contextMenuBrowseFile:"Browse File",contextMenuAddAlertDef:"Add Reminder",contextMenuCellSuffix:"(Cell / Single Record)",contextMenuFieldSuffix:"(Field / All Records)",contextMenuEditAlertDef:"Edit Reminder",contextMenuDelAlertDef:"Delete Reminder",contextMenuAlertDef:"Active Reminder",timeUnitMinutes:"Minutes",timeUnitHours:"Hours",timeUnitDays:"Days",deleteAlertDefTitle:"Delete Reminder",deleteAlertDefText:"Do you really want to delete this reminder?",Text1:"Application",headerText2:"Product",headerText3:"Prefilter",serverErrorTitle:"Server Side Error",serverErrorMsg:"Error while trying to commit the record",detailsFieldComboEmptyText:"Field",detailsFieldTabTitle:"Field",limitTitle:"Limit reached",limitMsg:"For performance reasons the maximum number of levels allowed is limited to 8.",textImportedRecordsDelete:"Imported records are not allowed to be deleted.",textImportSuccessful:"The import was successful.",initComponent:function(){var a={};this.buildConfig(a);Ext.apply(this,Ext.apply(this.initialConfig,a));com.hypermanager.data.DPGridPanel.superclass.initComponent.apply(this,arguments)},buildConfig:function(a){Ext.apply(a,{layout:"border"});this.buildItems(a);this.buildTbar(a);this.buildBbar(a)},buildItems:function(b){this.initTemplates();var a=new com.hypermanager.data.CellSelectionModel();a.addListener("afterenterduringlastcelledit",this.doAutoAdd,this);a.addListener("selectionchange",this.doSelectionChange,this);a.addListener("beforecellselect",this.doBeforeCellSelect,this);var d=new com.hypermanager.data.BufferedTreeView({scrollDelay:false,getCellClasses:this.getCellClasses});d.addListener("beforerefresh",this.doClearAllMixedFields,this);this.grid=new com.hypermanager.data.EditorTreeGridPanel({ds:new Ext.data.SimpleStore({data:[],fields:[]}),cm:new Ext.grid.ColumnModel([]),selModel:a,region:"center",ddGroup:"DPGridDD",keys:[{key:45,fn:function(){this.doAdd()},scope:this},{key:46,fn:function(){this.doDelete()},scope:this}],cls:"x-dpgrid",loadMask:true,view:d});this.grid.addListener("afteredit",this.doCommit,this);this.grid.addListener("cellcontextmenu",this.onCellContextMenu,this);this.grid.addListener("keypress",this.doKeyPressedInGrid,this);this.grid.addListener("sortchange",this.doSortChange,this);if((this.productId!=-101)&&(this.productId!=-101)){this.grid.addListener("render",this.createDragDropZones,this)}this.grid.addListener("cellclick",this.onCellClick,this);this.grid.addListener("beforeedit",this.onBeforeEdit,this);this.grid.addListener("headercontextmenu",this.onHeaderContextMenu,this);this.detailsGrid=new com.hypermanager.data.DPDetailsGrid({dpGridPanel:this});this.detailsFieldComboDS=new Ext.data.Store({proxy:new Ext.data.MemoryProxy([]),reader:new Ext.data.ArrayReader({},[{name:"FieldName",type:"string"},{name:"FieldId",type:"string"}])});this.detailsFieldComboDS.load();this.detailsFieldCombo=new Ext.form.ComboBox({store:this.detailsFieldComboDS,displayField:"FieldName",valueField:"FieldId",typeAhead:true,mode:"local",triggerAction:"all",emptyText:this.detailsFieldComboEmptyText,selectOnFocus:false,editable:false,forceSelection:true});this.detailsFieldCombo.addListener("select",function(k,e,f){var n=this.grid.getSelectionModel();if(n.hasSelection()){var m=this.grid.getSelectionModel().getSelectedCell();var l=this.ds.getAt(m[0]);var h=e.get("FieldId");if(h){this.detailsFieldArea.setValue(l.get(h))}}},this);var c=null;if((this.productId!=-101)&&(this.productId!=-102)){c={change:{fn:function(h){if(this.authWrite){var n=this.grid.getSelectionModel();if(n.hasSelection()){var m=n.getSelectedCell();var l=this.ds.getAt(m[0]);if(l){var f=this.detailsFieldCombo.getValue();if(f){var e=l.get("fieldId");l.set(f,h.getValue());var k={grid:this.grid,record:l,field:f,originalValue:e,value:h.getValue()};this.grid.fireEvent("afteredit",k)}}}}},scope:this}}}this.detailsFieldArea=new Ext.form.TextArea({listeners:c});this.detailsFieldTab={layout:"border",title:this.detailsFieldTabTitle,border:false,frame:true,items:[{region:"west",border:false,layout:"fit",margins:"5 5 5 5",labelAlign:"top",width:150,items:[this.detailsFieldCombo]},{region:"center",layout:"fit",margins:"5 5 5 5",items:[this.detailsFieldArea]}]};this.detailsPanel=new Ext.TabPanel({activeTab:0,region:"south",height:100,frame:true,split:true,deferredRender:false,items:[this.detailsGrid,this.detailsFieldTab]});b.items=[this.grid,this.detailsPanel];this.gridContextMenu=new Object();this.headerContextMenu=new Object();this.recordLinksItems=new Array()},buildTbar:function(a){var b=new Ext.Button({text:"",icon:iconDir+"table.png",cls:"x-btn-text-icon",disabled:true});this.TitleProduct=new Ext.menu.TextItem("");this.TitleApplication=new Ext.menu.TextItem("");this.TitleFilter=new Ext.menu.TextItem("");this.TitleDataCount=new Ext.menu.TextItem("");this.importButton=new Ext.Button({text:"Import",icon:iconDir+"table_go.png",cls:"x-btn-text-icon",handler:this.doImportResolution,scope:this,disabled:true,hidden:true});a.tbar=[b,this.TitleApplication,"-",this.TitleProduct,"-",this.TitleFilter,"->",this.importButton]},buildBbar:function(a){var b=new Ext.Toolbar.Button({cls:"",itemId:this.newRecordButtonText,text:this.newRecordButtonText,tooltip:this.newRecordButtonTtip,minWidth:100,handler:this.doAdd,scope:this,icon:iconDir+"add.png",cls:"x-btn-text-icon"});var l=new Ext.Toolbar.Button({cls:"",text:this.delRecordButtonText,itemId:this.delRecordButtonText,tooltip:this.delRecordButtonTtip,minWidth:100,handler:this.doDelete,scope:this,icon:iconDir+"delete.png",cls:"x-btn-text-icon"});var d=new Ext.Toolbar.Button({cls:"",text:this.updateGridButtonText,itemId:this.updateGridButtonText,tooltip:this.updateGridButtonTtip,minWidth:100,handler:this.doUpdate,scope:this,icon:iconDir+"refresh.png",cls:"x-btn-text-icon"});this.displayMenuItems=[new Ext.menu.CheckItem({text:this.viewOption1,checked:(this.displayType==1),group:"displayType",itemId:"1",checkHandler:this.doToggleDisplay,scope:this}),new Ext.menu.CheckItem({text:this.viewOption2,checked:(this.displayType==2),group:"displayType",itemId:"2",checkHandler:this.doToggleDisplay,scope:this}),new Ext.menu.CheckItem({text:this.viewOption3,checked:(this.displayType==3),group:"displayType",itemId:"3",checkHandler:this.doToggleDisplay,scope:this})];var f=new Ext.menu.Menu({id:"filterMenu",items:this.displayMenuItems});var e=new Ext.Toolbar.Button({text:this.viewButtonText,icon:iconDir+"table_edit.png",cls:"x-btn-text-icon",menu:f});var k=new Ext.Toolbar.Button({cls:"",text:this.addButtonText,itemId:this.addButtonText,tooltip:this.addButtonTtip,minWidth:100,handler:this.doAddMultiple,scope:this,icon:iconDir+"add.png",cls:"x-btn-text-icon"});var c=new Ext.Toolbar.TextItem({text:this.quickFilterLabel,listeners:{render:{fn:function(m){Ext.QuickTips.register({target:m,title:this.quickFilterLabel,text:this.quickFilterTtip})},scope:this,delay:1000}}});this.quickSearchTextField=new Ext.form.TextField({});this.quickSearchTextField.addListener("specialKey",this.doFilter,this);var h=new Ext.Button({cls:"",text:this.showAllButtonText,tooltip:this.showAllButtonTtip,tooltipType:"title",minWidth:100,handler:this.doShowAll,scope:this});if(this.productId==-101||this.productId==-102){a.bbar=[d,e,new Ext.Toolbar.Fill(),c,new Ext.Toolbar.Spacer(),new Ext.Toolbar.Spacer(),new Ext.Toolbar.Spacer(),this.quickSearchTextField,new Ext.Toolbar.Spacer(),h]}else{a.bbar=[b,l,d,e,k,new Ext.Toolbar.Fill(),c,new Ext.Toolbar.Spacer(),new Ext.Toolbar.Spacer(),new Ext.Toolbar.Spacer(),this.quickSearchTextField,new Ext.Toolbar.Spacer(),h]}},initTemplates:function(){this.markColTemplate=new Ext.XTemplate('<div class="tree-grid-cell" style="padding-left:{padding}px; width:{width}px;">{value}</div>').compile()},getStore:function(){return this.ds},getColumnModel:function(){return this.cm},string2date:function(b){if(b.length==0){return""}var a=Date.parseDate(b,"d.m.Y");return a},string2date_v1:function(b){if(b.length==0){return""}var a=new Date(b.replace(/\./g,"/"));return a},string2date_v2:function(c){if(c.length==0){return""}var a=c.substr(8,2);var b=c.substr(5,2);var d=c.substr(0,4);return new Date(a+"/"+b+"/"+d)},string2number:function(b){if(b.length==0){return 0}var a=parseInt(b);if(isNaN(a)){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error converting data to number. ["+b+"] is not a number.")}return a},getCellClasses:function(d,e,h,f,b,a){var c=new Array();if(h.get("marked")){c.push("x-dpgrid-cell-marked");return c}if((e.importedField)&&(h.get("sourceId")>0)){c.push("x-dpgrid-cell-read-only");return c}if(d instanceof com.hypermanager.data.Computator){c.push("x-dpgrid-cell-computator")}return c},getAlignment:function(a){if(a==1){return"left"}if(a==2){return"right"}if(a==3){return"center"}return"left"},convertMixed:function(a,b){if(a instanceof Object){return new com.hypermanager.data.Computator(a)}return a},createDSandCM:function(){this.detailsGrid.disable();this.detailsGrid.getStore().removeAll();tableInfoJSON=Ext.util.JSON.decode(this.dataProductInfo).dataProductInfo;this.appId=tableInfoJSON.appId;this.appName=tableInfoJSON.appName;this.prodName=tableInfoJSON.prodName;this.filterName=tableInfoJSON.filterName;this.filterId=tableInfoJSON.pfid;this.preFilterID=tableInfoJSON.pfid;this.initialFilter=tableInfoJSON.pfid;this.lastUsedFilter=tableInfoJSON.lastFilterId;this.showDetailsPanel=tableInfoJSON.detailsPanel;this.detailsPanelHeight=tableInfoJSON.detailsPanelHeight;this.defaultDetailsTab=tableInfoJSON.defaultDetailsTab;this.defaultDetailsField=tableInfoJSON.defaultDetailsField;this.appType=tableInfoJSON.type;this.importPath=tableInfoJSON.importPath;this.columnInfo=tableInfoJSON.columnInfo;this.columnInfoGrid=new Array();this.columnInfoDetailsGrid=new Array();var n=tableInfoJSON.currentUsersAce;if(n!=null){this.authWrite=n.write;this.authHvfAdmin=n.hvfAdmin;this.authDpCreate=n.dpCreate;this.authAdmin=n.authAdmin}var p=new Array();this.configCM=new Array();this.columnDataTypes=new Array();var k=com.hypermanager.data.DPGridRenderers.renderMarkColumn.createDelegate(this);this.configCM.push({header:"",dataIndex:"selectField",editor:null,width:15,sortable:false,css:"background-color: #E5EEFF;",renderer:k,fixed:true,hideable:false,menuDisabled:true,resizable:true,importedField:false});p.push({name:"selectField",type:"string"});var a=["id","id_parent","level","expanded","isLeaf","filter","infilter","timestamp","marked","hasLinks","sourceId","loading","visible"];var s=["int","int","int","boolean","boolean","boolean","boolean","int","boolean","boolean","int","boolean","boolean"];for(var m=0;m<a.length;m++){p.push({name:a[m],type:s[m]})}var b=new com.hypermanager.data.DPGridEditors({focus:function(v){if(this.keyBuffer){v.getEl().dom.value=this.keyBuffer;var u=v.getEl().dom;if(u.createTextRange){var t=u.createTextRange();t.move("character",this.keyBuffer.length);t.select()}this.keyBuffer=false}},scope:this});var q=new Array();var e=new Array();this.mixedFields=new Array();for(m=0;m<tableInfoJSON.columnInfo.length;m++){var r=com.hypermanager.data.DPGridRenderers.getRenderer(this,tableInfoJSON.columnInfo[m].dataType);if(tableInfoJSON.columnInfo[m].displayIn!=0){q.push([tableInfoJSON.columnInfo[m].columnName,tableInfoJSON.columnInfo[m].columnDisplayName,"",tableInfoJSON.columnInfo[m].dataType]);e.push({dataType:tableInfoJSON.columnInfo[m].dataType,valueListType:tableInfoJSON.columnInfo[m].valueListType,valueList:tableInfoJSON.columnInfo[m].valueList,renderer:r});this.columnInfoDetailsGrid.push({valueListDisplayType:tableInfoJSON.columnInfo[m].valueListDisplayType,valueList:tableInfoJSON.columnInfo[m].valueList,align:tableInfoJSON.columnInfo[m].align})}this.columnDataTypes.push({name:tableInfoJSON.columnInfo[m].columnName,type:tableInfoJSON.columnInfo[m].dataType});p.push({name:tableInfoJSON.columnInfo[m].columnName,type:com.hypermanager.data.DataTypes.getExtJSRecordDataType(tableInfoJSON.columnInfo[m].dataType),convert:(tableInfoJSON.columnInfo[m].dataType==com.hypermanager.data.DataTypes.MIXED?this.convertMixed:null),dateFormat:(tableInfoJSON.columnInfo[m].dataType==com.hypermanager.data.DataTypes.DATE?"d/m/Y":"")});if(tableInfoJSON.columnInfo[m].dataType==com.hypermanager.data.DataTypes.MIXED){this.mixedFields.push(tableInfoJSON.columnInfo[m].columnName)}if(tableInfoJSON.columnInfo[m].displayIn!=1){var f=null;if((this.productId!=-101)&&(this.productId!=-102)&&this.authWrite){f=b.createCellEditor(tableInfoJSON.columnInfo[m].dataType,tableInfoJSON.columnInfo[m].valueListType,tableInfoJSON.columnInfo[m].valueList)}var l=(tableInfoJSON.columnInfo[m].width<20?20:tableInfoJSON.columnInfo[m].width);this.configCM.push({header:tableInfoJSON.columnInfo[m].columnDisplayName,dataIndex:tableInfoJSON.columnInfo[m].columnName,renderer:r,editor:f,width:l,css:"text-align:"+this.getAlignment(tableInfoJSON.columnInfo[m].align)+";",hierarchieCell:(m==0),importedField:(tableInfoJSON.columnInfo[m].sourceFieldId>0),type:tableInfoJSON.columnInfo[m].dataType,valueListType:tableInfoJSON.columnInfo[m].valueListType,sortable:true});this.columnInfoGrid.push({valueListDisplayType:tableInfoJSON.columnInfo[m].valueListDisplayType,valueList:tableInfoJSON.columnInfo[m].valueList,align:tableInfoJSON.columnInfo[m].align})}}for(var m=0;m<tableInfoJSON.textLongFields.length;m++){var d=false;var o="FIELD_"+tableInfoJSON.textLongFields[m].id;for(var h=0;h<p.length;h++){if(p[h].name==o){d=true}}if(!d){p.push({name:o,type:"string"});this.columnDataTypes.push({name:o,type:2})}}this.recordFields=p;this.TableRecord=new Ext.data.Record.create(p);this.sortField=tableInfoJSON.sortField;this.sortDir=tableInfoJSON.sortDir;this.ds=new com.hypermanager.data.FlatTreeStore({proxy:new Ext.data.HttpProxy({url:this.servletURL}),baseParams:{action:this.actions.getDataProductRows,id:this.appId,prodid:this.productId,fid:this.lastUsedFilter,nid:0,sort:this.sortField,dir:this.sortDir,filter:0,infilter:0},reader:new Ext.data.JsonReader({root:"data"},this.TableRecord),remoteSort:((this.productId==-101)||(this.productId==-102))?false:true});this.ds.on("load",function(){this.grid.getSelectionModel().clearSelections(true);var t=hMhistory.registerHistoryComponent(this.hisAttrDataRec,function(){},this);var u=hMhistory.registerHistoryComponent(this.hisAttrDataField,this.onHistoryChangedProduct,this);this.selectByIds(t,u)},this);this.cm=new Ext.grid.ColumnModel(this.configCM);this.cm.addListener("columnmoved",function(){this.grid.getSelectionModel().clearSelections()},this);if((tableInfoJSON.viewType>=1)&&(tableInfoJSON.viewType<=3)){this.displayType=tableInfoJSON.viewType}else{this.displayType=1}if((this.productId!=-101)&&(this.productId!=-102)&&(this.showDetailsPanel)){this.detailsGrid.configure(e);this.detailsGrid.getStore().loadData(q);var c=new Array();for(var m=0;m<tableInfoJSON.textLongFields.length;m++){c.push([tableInfoJSON.textLongFields[m].FieldName,"FIELD_"+tableInfoJSON.textLongFields[m].id])}this.detailsFieldComboDS.loadData(c);if(this.detailsFieldComboDS.find("FieldId","FIELD_"+this.defaultDetailsField)!=-1){this.detailsFieldCombo.setValue("FIELD_"+this.defaultDetailsField)}else{this.detailsFieldCombo.clearValue()}this.detailsFieldArea.setValue("");this.detailsPanel.setActiveTab(this.defaultDetailsTab)}this.detailsGrid.enable()},doImportResolution:function(){this.waitLoader=new Ext.ProgressBar({text:"Importing",width:480});this.waitWindow=new Ext.Window({width:497,height:50,closable:false,resizable:false,collapsible:false,draggable:false,frame:true,plain:true,modal:true,title:"Importing...",items:this.waitLoader});this.waitLoader.wait({interval:50,duration:59000,increment:100});this.waitWindow.show();var a=Ext.Ajax.request({url:this.servletURL,params:{action:"importFromResSolution",appId:this.appId,path:this.importPath},scope:this,success:function(b,d){this.waitWindow.hide();this.waitLoader.reset(true);var c=Ext.util.JSON.decode(b.responseText);if((!c.success)||(c.success==false)){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error importing resSolution Database: "+c.msg)}else{this.doUpdate();Ext.Msg.alert("Status",this.textImportSuccessful)}},failure:function(b,c){this.waitWindow.hide();this.waitLoader.reset(true);com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error importing resSolution Database")}})},setPanelTitle:function(){this.TitleApplication.addListener("click",this.onTitleApplicationClick,this);this.TitleProduct.addListener("click",this.onTitleProductClick,this);this.TitleFilter.addListener("click",this.onTitleFilterClick,this);this.TitleApplication.getEl().update('<div style="padding:3px 2px 2px 2px;"> <span style="color:#15428B; cursor: pointer; font-weight:bold; font-family: tahoma,arial,verdana,sans-serif;">'+this.headerText1+": "+this.appName+"</span></div>");this.TitleProduct.getEl().update('<div style="padding:3px 2px 2px 2px;"><span style="color:#15428B; cursor: pointer; font-weight:bold; font-family: tahoma,arial,verdana,sans-serif;">'+this.headerText2+": "+this.prodName+"</span></div>");this.TitleFilter.getEl().update('<div style="padding:3px 2px 2px 2px;"><span style="color:#15428B; cursor: pointer; font-weight:bold; font-family: tahoma,arial,verdana,sans-serif;">'+this.headerText3+": "+this.filterName+"</span></div>")},onTitleApplicationClick:function(){var a=new com.hypermanager.data.DADesignWindow({idApp:this.appId});a.show()},onTitleProductClick:function(){var a=new com.hypermanager.data.DADesignWindow({idApp:this.appId,idProd:this.productId});a.show()},onTitleFilterClick:function(){var a=new com.hypermanager.filter.PreFilterWindow({preFilterId:this.preFilterID,nodeId:this.filterId==this.preFilterID?this.lastUsedFilter:this.filterId,parentNodeId:this.parentFilterId,name:this.filterName});a.show()},reconfigureGrid:function(){if(this.cm.getColumnCount()==0){var b=this.container.getEl();b.update("ERROR: The Data Product "+this.prodName+" has no datafields. Please fix this and then refresh the content of the webpage.");b.show();return}this.grid.getSelectionModel().clearSelections(true);this.grid.getView().setViewType(this.displayType);this.grid.store=this.ds;this.grid.colModel=this.cm;this.setPanelTitle();if((this.appType==1)&&(this.authWrite)){this.importButton.show();this.importButton.enable()}else{this.importButton.disable();this.importButton.hide()}var a=this.getBottomToolbar();a.get(this.addButtonText).setVisible(this.authWrite);a.get(this.delRecordButtonText).setVisible(this.authWrite);a.get(this.newRecordButtonText).setVisible(this.authWrite);this.detailsFieldArea.setReadOnly(!this.authWrite);if((this.productId!=-101)&&(this.productId!=-101)){this.grid.getStore().addListener("collapsenode",this.doCollapseRecord,this);this.grid.getStore().addListener("expandnode",this.doExpandRecord,this)}if(this.grid.loadMask){this.grid.loadMask.destroy();this.grid.loadMask=new Ext.LoadMask(this.grid.bwrap,Ext.apply({store:this.ds},this.grid.initialConfig.loadMask))}this.grid.view.bind(this.ds,this.cm);this.grid.getView().updateHeaders();this.grid.getView().updateHeaderSortState();Ext.Ajax.timeout=60000;this.ds.load({callback:function(){Ext.Ajax.timeout=30000;if(this.ds.getTotalCount()==0){this.grid.getView().refresh()}},scope:this})},createDragDropZones:function(a){if(this.productId!=-101&&this.productId!=-102){this.createDragZone(a);this.createDropTarget(a)}},createDragZone:function(a){var b=this.grid.getView();b.dragZone=new com.hypermanager.data.ObservableColumnDragZone({grid:this.grid,ddGroup:this.grid.ddGroup||"GridDD"});b.dragZone.on("beforedrag",function(c,d){return this.authWrite},this)},createDropTarget:function(a){var b=new com.hypermanager.data.ObservableDPGridDropTarget({grid:this.grid});b.addListener("afterDrop",this.onAfterDrop,this)},onAfterDrop:function(p,s,q,c){var r;var d=this.ds;var e=null;if(s.get("level")>0){e=this.ds.getNodeParent(s)}if(p===false){var k=[s].concat(this.ds.getNodeDescendands(s));var a=s.get("level");var m=c.get("level")-a+1;var b;var l=d.indexOf(s);var t=s.get("level")+m>=this.MAX_HIERARCHY_LEVELS?1:0;for(var h=0;h<k.length;h++){if(k[h].get("level")+m>=this.MAX_HIERARCHY_LEVELS){t=1;break}}if(t==1){Ext.Msg.alert(this.limitTitle,this.limitMsg)}else{c.set("collapsed",false);c.set("isLeaf",false);d.remove(s);this.ds.suspendEvents();s.set("id_parent",c.get("id"));var h;for(h=0;h<k.length;h++){b=k[h];b.set("level",b.get("level")+m)}this.ds.resumeEvents();r=d.indexOf(c);d.insert(r+1,k);if(e){var f=d.indexOf(e);if(f<d.getCount()-1){var n=d.getAt(f+1);if(n.get("level")<=e.get("level")){e.set("isLeaf",true)}}else{e.set("isLeaf",true)}}var o=Ext.Ajax.request({url:ServletContext+"json/data",params:{action:"dropRecord",idApp:this.appId,idRec:s.get("id"),idTarget:c.get("id")},scope:this,success:function(u,v){if(u.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error dropping the Record")}},failure:function(u,v){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error dropping the Record")}})}}else{r=d.indexOf(s);while(r>0){r--;b=d.getAt(r);if(b.get("level")==0){break}}var k=[s];var a=s.get("level");var m=-a;s.set("level",s.get("level")+m);s.set("id_parent",0);var b;var l=d.indexOf(s);while(l<d.getCount()-1){l++;b=d.getAt(l);if(b.get("level")>a){k=[b].concat(k);b.set("level",b.get("level")+m)}else{break}}var h;for(h=0;h<k.length;h++){d.remove(k[h])}d.insert(r,k.reverse());if(e){var f=d.indexOf(e);if(f<d.getCount()-1){var n=d.getAt(f+1);if(n.get("level")<=e.get("level")){e.set("isLeaf",true)}}else{e.set("isLeaf",true)}}var o=Ext.Ajax.request({url:ServletContext+"json/data",params:{action:"dropRecord",idApp:this.appId,idRec:s.get("id"),idTarget:0},scope:this,success:function(u,v){if(u.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error dropping the Record")}},failure:function(u,v){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error dropping the Record")}})}},doBeforeCellSelect:function(b,c,a){if(a==0){return false}if(Ext.isIE||Ext.isIE9){if((this.showDetailsPanel)&&(this.detailsFieldArea)){this.detailsFieldArea.onBlur()}}return true},doSelectionChange:function(f,c){if(c){var b=this.detailsFieldCombo.getValue();if(b){this.detailsFieldArea.setValue(c.record.get(b));this.detailsFieldArea.startValue=c.record.get(b)}var e=this.ds.getAt(c.cell[0]).get("id");var d=this.grid.getColumnModel().getDataIndex(c.cell[1]);var a=parseInt(d.substring("FIELD_".length));hMhistory.updateHistoryArray([this.hisAttrDataRec,this.hisAttrDataField],[e,a])}},doKeyPressedInGrid:function(h){var c=h.getKey(),f=this.grid,b=f.getSelectionModel(),l=b.getSelectedCell();if((isFF)&&isWin7&&c==192){return}var o=false;if(Ext.isIE){var m=String.fromCharCode(h.getCharCode());var n=["!","#","$","%","&",",","-","(","'",'"'];for(var d=0;d<n.length;d++){if(m==n[d]){o=true}}}if(((!h.isNavKeyPress()&&!h.isSpecialKey())||(o))&&h.getCharCode()!=h.DELETE&&h.getCharCode()!=h.BACKSPACE&&((h.keyCode!=h.F5)||(Ext.isIE))&&b.hasSelection()){var a=false;if(!this.keyBuffer){this.keyBuffer="";a=true}this.keyBuffer+=String.fromCharCode(h.getCharCode());if(a){this.startEditingUseKeyBuffer.defer(10,this,[l[0],l[1]])}}},startEditingUseKeyBuffer:function(b,a){this.grid.startEditing(b,a)},doFilter:function(b,a){if(a.getKey()==13){quickSearchString=b.getValue();this.ds.filterBy(this.filterFunction,this);if(this.grid.getStore().getCount()>0){this.grid.getSelectionModel().clearSelections(true);this.grid.getView().focusRow(0);this.grid.getSelectionModel().select(0,1)}else{}}},doShowAll:function(){quickSearchString="NULL";this.quickSearchTextField.setValue("");this.ds.clearFilter(false);if(this.grid.getStore().getCount()>0){this.grid.getSelectionModel().clearSelections(true);this.grid.getView().focusRow(0);this.grid.getSelectionModel().select(0,1)}},filterFunction:function(d,e){if(quickSearchString!="NULL"){for(var a=0;a<this.recordFields.length;a++){var b=this.recordFields[a].name;if(b.substr(0,6)=="FIELD_"||(this.productId==-101||this.productId==-102)&&(b=="URL"||b=="LINKNAME")){var c=""+d.get(this.recordFields[a].name);if(c.toLowerCase().indexOf(quickSearchString.toLowerCase())!=-1){return true}}}return false}return true},doCollapseRecord:function(a,b){Ext.Ajax.request({url:this.servletURL,params:{action:this.actions.collapseRecord,idTable:this.appId,idRec:b.get("id")},success:function(c,d){if(c.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error collapsing the record.")}},failure:function(c,d){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error collapsing the record.")}})},doExpandRecord:function(a,b){Ext.Ajax.request({url:this.servletURL,params:{action:this.actions.getDataProductRows,id:this.appId,prodid:this.productId,fid:-1,nid:b.get("id"),sort:this.sortField,dir:this.sortDir,filter:(b.get("filter")?1:0),infilter:(b.get("infilter")?1:0)},scope:this,success:function(c,d){if(c.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error expanding the record.")}else{}},failure:function(c,d){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error expanding the record.")}})},doAutoAdd:function(csm,row,col){if(this.authWrite&&(this.productId!=-101)&&(this.productId!=-102)){this.grid.stopEditing();var req=Ext.Ajax.request({url:this.servletURL,params:{action:this.actions.addRecord,idApp:this.appId,idProd:this.productId,idRec:0},scope:this,success:function(response,options){if(response.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error appending a new record.")}else{var jr=new Ext.data.JsonReader({root:"data"},this.TableRecord);var record=Ext.util.JSON.decode(response.responseText).record;var recordString=Ext.util.JSON.encode(record);var temp=eval('({"data":['+recordString+"]})");var newRecord=jr.readRecords(temp).records[0];this.ds.add(newRecord);var newCell=this.grid.walkCells(row+1,col,1,0,csm.isSelectable,csm);csm.select(newCell[0],newCell[1])}},failure:function(response,options){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error appending a new record.")}})}},doAdd:function(){if(this.authWrite&&(this.productId!=-101)&&(this.productId!=-102)){this.grid.stopEditing();var idRec=0;var rec;if(this.grid.getSelectionModel().hasSelection()){var selPos=this.grid.getSelectionModel().getSelectedCell();rec=this.ds.getAt(selPos[0]);idRec=rec.get("id")}var req=Ext.Ajax.request({url:this.servletURL,params:{action:this.actions.addRecord,idApp:this.appId,idProd:this.productId,idRec:idRec},scope:this,success:function(response,options){if(response.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error adding a new record.")}else{var jr=new Ext.data.JsonReader({root:"data"},this.TableRecord);var record=Ext.util.JSON.decode(response.responseText).record;var recordString=Ext.util.JSON.encode(record);var temp=eval('({"data":['+recordString+"]})");var newRecord=jr.readRecords(temp).records[0];var selectedCell=this.grid.getSelectionModel().getSelectedCell();var selectedCol=0;if(selectedCell){selectedCol=selectedCell[1]}if(idRec!=0){this.grid.getSelectionModel().clearSelections();var index=this.ds.indexOf(rec);this.ds.insert(index,newRecord);this.grid.getSelectionModel().select(index,selectedCol)}else{this.ds.add(newRecord);var a=function(){this.grid.getSelectionModel().select(this.ds.getCount()-1,1);return this.grid.getView().focusRow(this.ds.getCount()-1)};a.defer(300,this)}}},failure:function(response,options){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error adding a new record.")}})}},doAddMultiple:function(){if(this.authWrite&&(this.productId!=-101)&&(this.productId!=-102)){this.grid.stopEditing();checkAnswer=function(idButton,text){if(idButton=="ok"){var nrRec=parseInt(text);if((nrRec>0)&&(nrRec<=100)){var req=Ext.Ajax.request({url:this.servletURL,params:{action:this.actions.addMultipleRecords,id:this.appId,idProd:this.productId,count:nrRec},scope:this,success:function(response,options){if(response.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error appending new records.")}else{var records=Ext.util.JSON.decode(response.responseText).records;var i;var jr=new Ext.data.JsonReader({root:"data"},this.TableRecord);for(i=0;i<nrRec;i++){var recordString=Ext.util.JSON.encode(records[i]);var temp=eval('({"data":['+recordString+"]})");var newRecord=jr.readRecords(temp).records[0];this.ds.add(newRecord)}this.grid.getSelectionModel().select(this.ds.getCount()-1,0);this.grid.getView().focusRow(this.ds.getCount()-1);this.grid.fireEvent("bodyscroll",4,4)}},failure:function(response,options){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error appending new records.")}})}else{Ext.MessageBox.alert("Security Alert","The number must be between [1..100]")}}};Ext.MessageBox.prompt(this.addMsgTitle,this.addMsg,checkAnswer,this)}},doDelete:function(){if(this.authWrite&&(this.productId!=-101)&&(this.productId!=-102)){this.toDelete=new Array();this.toDeleteParents=new Array();var k=-1;var c=false;for(var d=0;d<this.ds.getCount();d++){var b=this.ds.getAt(d);if(k>=0){if(b.get("level")>k){this.toDelete.push(b);if((this.appType==1)&&(b.get("sourceId")>0)){c=true}}else{k=-1}}if(k==-1){if(b.get("marked")){k=b.get("level");this.toDelete.push(b);this.toDeleteParents.push(b);if((this.appType==1)&&(b.get("sourceId")>0)){c=true}}}}if(this.toDeleteParents.length>0){if((this.appType==1)&&(c)){Ext.Msg.alert("Info",this.textImportedRecordsDelete)}else{var f=function(l){if(l=="yes"){this.doDeleteMultiple()}};Ext.MessageBox.confirm(this.delMsgTitle,this.delSelMsg,f,this)}}else{if(this.grid.getSelectionModel().hasSelection()){var h=this.grid.getSelectionModel().getSelectedCell()[0];var e=this.ds.getAt(h);if((this.appType==1)&&(e.get("sourceId")>0)){Ext.Msg.alert("Info",this.textImportedRecordsDelete)}else{var a=function(l){if(l=="yes"){var o=this.grid.getSelectionModel().getSelectedCell();var n=this.ds.getAt(o[0]);var m=Ext.Ajax.request({url:this.servletURL,params:{action:this.actions.deleteRecord,idApp:this.appId,idRec:n.get("id")},scope:this,success:function(x,B){if(x.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error deleting the record.")}else{var w=this.getAncestors(n);var q=this.grid.getSelectionModel().getSelectedCell();var z=this.ds.indexOf(n);var r=n.get("level");var t=null;if(n.get("level")>0){if(z>0){var A=this.ds.getAt(z-1);if(A.get("level")==n.get("level")-1){t=A}}}var p=[n];var s;while(z<this.ds.getCount()-1){z++;s=this.ds.getAt(z);if(s.get("level")>r){p.push(s)}else{break}}var y;for(y=0;y<p.length;y++){this.ds.remove(p[y])}if(t){var v=this.ds.indexOf(t);if(v<this.ds.getCount()-1){var A=this.ds.getAt(v+1);if(A.get("level")<=t.get("level")){t.set("isLeaf",true)}}else{t.set("isLeaf",true)}}var u=q[0];if(u==this.ds.getCount()){u--}this.grid.getSelectionModel().select(u,q[1]);this.doUpdateMixedFields(w)}},failure:function(p,q){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error deleting the record.")}})}};Ext.MessageBox.confirm(this.delMsgTitle,this.delMsg,a,this)}}else{com.hypermanager.data.DataUtils.displayErrorMsg("Error",this.delErrMsg)}}}},doDeleteMultiple:function(){var d=new Array();for(var b=0;b<this.toDeleteParents.length;b++){var a=this.toDeleteParents[b];d.push(a.get("id"))}var c=Ext.Ajax.request({url:this.servletURL,params:{action:"deleteMultipleRecords",idApp:this.appId,recList:Ext.util.JSON.encode(d)},scope:this,success:function(n,s){if(n.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error deleting the records.")}else{var f=new Array();var p=new Array();for(var o=0;o<this.toDeleteParents.length;o++){var m=this.toDeleteParents[o];var q=this.ds.indexOf(m);var e=m.get("level");var k;if(m.get("level")>0){if(q>0){var r=this.ds.getAt(q-1);if(r.get("level")==m.get("level")-1){k=r}}}p.push(k);f.push(m);var h;while(q<this.ds.getCount()-1){q++;h=this.ds.getAt(q);if(h.get("level")>e){f.push(h)}else{break}}}for(var o=0;o<f.length;o++){this.ds.remove(f[o])}for(var o=0;o<p.length;o++){var k=p[o];if(k){var l=this.ds.indexOf(k);if(l<this.ds.getCount()-1){var r=this.ds.getAt(l+1);if(r.get("level")<=k.get("level")){k.set("isLeaf",true)}}else{k.set("isLeaf",true)}}}}},failure:function(e,f){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error deleting the records.")}})},getAncestors:function(e){var c=this.grid.getStore();var b=new Array();var a=e;var d=c.find("id",a.get("id_parent"));while(d>=0){a=c.getAt(d);b.push(a);d=c.find("id",a.get("id_parent"))}return b},doUpdateMixedFields:function(e,f){var h=this.grid.getView();for(var c=0;c<e.length;c++){var a=e[c];if(f){var d=a.get(f);if(d instanceof com.hypermanager.data.Computator){d.reset();h.refreshRowContent(a)}}else{for(var b=0;b<this.mixedFields.length;b++){var f=this.mixedFields[b];var d=a.get(f);if(d instanceof com.hypermanager.data.Computator){d.reset();h.refreshRowContent(a)}}}}},doClearAllMixedFields:function(){if(this.mixedFields){for(var c=0;c<this.ds.getCount();c++){var a=this.ds.getAt(c);for(var b=0;b<this.mixedFields.length;b++){var e=this.mixedFields[b];var d=a.get(e);if(d instanceof com.hypermanager.data.Computator){d.reset()}}}}},doCommit:function(f){var a=new Object();a.id=f.record.get("id");a.fieldName=f.field;a.type=this.getFieldType(a.fieldName);if(a.type==com.hypermanager.data.DataTypes.MIXED){var b=this.getAncestors(f.record);this.doUpdateMixedFields(b,f.field)}var d="";if(f.value instanceof Date){if(a.type==com.hypermanager.data.DataTypes.TIMESTAMP){d=""+f.value.format("U")}else{var c=function(e){return e<10?"0"+e:e};d=""+f.value.getFullYear()+"-"+c(f.value.getMonth()+1)+"-"+c(f.value.getDate())+""}}else{d=""+f.value+""}a.newValue=d;Ext.Ajax.request({url:this.servletURL,params:{action:this.actions.updateRecord,id:this.appId,record:Ext.util.JSON.encode(a)},scope:this,success:function(e,h){if(e.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","The new value could not be stored.")}},failure:function(e,h){com.hypermanager.data.DataUtils.displayErrorMsg("Error","The new value could not be stored.")}})},doUpdate:function(){this.doChangeProduct()},doToggleDisplay:function(c,b){if(b){this.displayType=parseInt(c.itemId);this.grid.getView().setViewType(this.displayType);var a=null;if(this.grid.getSelectionModel().hasSelection()){a=this.grid.getSelectionModel().getSelectedCell()}this.grid.getView().refresh(false);if(a){this.grid.getSelectionModel().select(a[0],a[1])}}},getDataProductInfoRequestParams:function(){return{action:this.actions.getDataProductInfo,productId:this.productId,objectId:this.objectId,appId:this.appId}},doChangeProduct:function(){Ext.Ajax.request({url:this.servletURL,params:this.getDataProductInfoRequestParams(),scope:this,success:function(a,b){if(a.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error opening the DataProduct id:"+this.productId)}else{this.clipboard=null;this.grid.getSelectionModel().clearSelections();if(this.displayType){this.displayMenuItems[this.displayType-1].setChecked(false)}this.dataProductInfo=a.responseText;this.createDSandCM();this.displayMenuItems[this.displayType-1].suspendEvents();this.displayMenuItems[this.displayType-1].setChecked(true);this.displayMenuItems[this.displayType-1].resumeEvents();if((this.productId!=-101)&&(this.productId!=-102)&&(this.showDetailsPanel)){this.detailsPanel.show();if(this.detailsPanelHeight&&(this.detailsPanelHeight>=80)&&(this.detailsPanelHeight<=400)){this.detailsPanel.setHeight(this.detailsPanelHeight)}else{this.detailsPanel.setHeight(100)}}else{this.detailsPanel.hide()}this.reconfigureGrid();quickSearchString="NULL";this.quickSearchTextField.setValue("");this.syncComponentSize(this.grid);this.fireEvent("afterProductChange",this.filterId)}},failure:function(a,b){if(a.status==403){com.hypermanager.data.DataUtils.displayForbiddenMsg("You are not allowed to access this DataProduct.")}else{com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error opening the DataProduct id:"+this.productId)}}})},doSortChange:function(c,a){var b=a.field;if(b=="selectField"){return}this.sortField=b;this.sortDir=a.direction},doStoreParameters:function(b){var a=this.filterId;if(this.filterId==this.initialFilter){a=this.lastUsedFilter}Ext.Ajax.request({url:this.servletURL,params:{action:this.actions.storeParameters,objid:b,sort:this.sortField,dir:this.sortDir,view:this.displayType,prefilterid:a},scope:this,success:function(c,d){if(c.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error saving the object parameters")}},failure:function(c,d){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error saving the object parameters")}})},doPrint:function(){this.grid.stopEditing();var e=[];var d=0;for(var c=1;c<this.cm.getColumnCount();c++){if(!this.cm.isHidden(c)){var b=this.cm.config[c];e[d]={header:b.header,width:b.width,dataIndex:b.dataIndex};d++}}var a=this.filterId;if(this.filterId==this.initialFilter){a=this.lastUsedFilter}Ext.Ajax.request({url:this.servletURL,params:{action:"printDataProduct",iconDir:iconDir,columns:Ext.util.JSON.encode(e),idApp:this.appId,idProd:this.productId,idFilter:a,sortField:this.sortField,sortDir:this.sortDir},scope:this,success:function(f,h){printWindow=window.open("","DataProductPrint","");printWindow.document.open();printWindow.document.writeln("<html><head>");printWindow.document.writeln("<title>Scheuring hyperManager</title>");printWindow.document.writeln('<link rel="stylesheet" type="text/css" href="resources/css/printGrid.css" />');printWindow.document.writeln('<link rel="stylesheet" type="text/css" href="resources/css/dataApplication.css" />');printWindow.document.writeln("</head><body>");printWindow.document.write(f.responseText);printWindow.document.writeln("</body></html>");printWindow.document.close()}})},doExport:function(){this.grid.stopEditing();var e=[];var d=0;for(var c=1;c<this.cm.getColumnCount();c++){if(!this.cm.isHidden(c)){var b=this.cm.config[c];e[d]={header:b.header,width:b.width,dataIndex:b.dataIndex};d++}}var a=this.filterId;if(this.filterId==this.initialFilter){a=this.lastUsedFilter}window.open(ServletContext+"json/data?"+Ext.urlEncode({action:"exportToExcel",prodName:this.prodName,columns:Ext.util.JSON.encode(e),idApp:this.appId,idProd:this.productId,idFilter:a,sortField:this.sortField,sortDir:this.sortDir}))},onCellClick:function(a,q,h,o){if(h==0){if((this.productId!=-101)&&(this.productId!=-102)&&this.authWrite){var d=a.getStore();var k=d.getAt(q);var f=[k];var m=[q];var c;var n=q;var b=k.get("level");while(n<d.getCount()-1){n++;c=d.getAt(n);if(c.get("level")>b){f.push(c);m.push(n)}else{break}}d.suspendEvents();var p=!k.get("marked");for(var l=0;l<f.length;l++){f[l].set("marked",p)}d.resumeEvents();this.grid.getView().refreshCellsClases(m)}}},onBeforeEdit:function(d){var a=false;for(var c=0;c<this.columnInfo.length;c++){var b=this.columnInfo[c];if((b.columnName==d.field)&&(b.sourceFieldId>0)){a=true}}if((this.appType==1)&&(d.record.get("sourceId")>0)&&(a)){return false}if(d.record.get(d.field) instanceof com.hypermanager.data.Computator){return false}return true},onHistoryChangedProduct:function(b){var c=hMhistory.getValue(this.hisAttrDataRec);var a=hMhistory.getValue(this.hisAttrDataField);this.selectByIds(c,a)},selectByIds:function(e,c){if(e&&e>=0&&c&&c>=0){var f=this.ds.find("id",e);if(f>0){var d=this.grid.getColumnModel().findColumnIndex("FIELD_"+c);this.grid.getSelectionModel().select(f,d);var b=function(){return this.grid.getView().focusRow(f)};b.defer(300,this)}}},setPreFilterID:function(a){this.filterId=a;this.preFilterID=a;this.ds.baseParams.fid=this.filterId;if(this.filterId==this.initialFilter){this.ds.baseParams.fid=this.lastUsedFilter}if(this.appId){this.ds.baseParams.id=this.appId}this.grid.getSelectionModel().clearSelections();Ext.Ajax.timeout=60000;this.ds.load({callback:function(){Ext.Ajax.timeout=30000},scope:this})},setProductIDF:function(a,b){this.productId=a;this.objectId=b;this.doChangeProduct()},getProductIDF:function(){return this.productId},setVisible:function(a){if(this.grid){this.grid.setVisible(a)}},buildGridContextMenu:function(){contextMenu=new Ext.menu.Menu({id:"gridContextMenu"});var h=contextMenu.add({text:this.contextMenuEditLinks,icon:iconDir+"link_edit.png",itemId:"linkedit"});h.on("click",this.doEditRecordLinks,this);var e=contextMenu.add({text:this.contextMenuCopy,icon:iconDir+"page_copy.png",itemId:"copy"});e.on("click",this.doCopyRecord,this);var b=contextMenu.add({text:this.contextMenuPaste,icon:iconDir+"paste_plain.png",itemId:"paste"});b.on("click",this.doPasteRecord,this);contextMenu.add(new Ext.menu.Separator({itemId:"separator"}));var d=contextMenu.add({text:this.contextMenuEdit,icon:iconDir+"table_edit.png",itemId:"edit"});d.on("click",this.doEditContextMenu,this);var c=contextMenu.add({text:this.contextMenuPasteExcel,icon:iconDir+"paste_plain.png",itemId:"paste_excel"});c.on("click",this.doPasteExcel,this);var a=contextMenu.add({text:this.contextMenuBrowseFolder,icon:iconDir+"folder_explore.png",handler:function(){var l=this.gridContextMenu.cellIndex;var m=this.grid.getColumnModel().getDataIndex(l);var k=this.ds.getAt(this.gridContextMenu.rowIndex).get(m);browseWithAppLauncher(k,true,this.doBrowseItem,this)},scope:this,itemId:"browsefolder"});var f=contextMenu.add({text:this.contextMenuBrowseFile,icon:iconDir+"page_white_text.png",handler:function(){var l=this.gridContextMenu.cellIndex;var m=this.grid.getColumnModel().getDataIndex(l);var k=this.ds.getAt(this.gridContextMenu.rowIndex).get(m);browseWithAppLauncher(k,false,this.doBrowseItem,this)},scope:this,itemId:"browsefile"});contextMenu.add(new Ext.menu.Separator({itemId:"separator3"}));contextMenu.add({itemId:"addalert",text:this.contextMenuAddAlertDef+" "+this.contextMenuCellSuffix,icon:iconDir+"time.png",handler:this.doEditTimedAlertDefinition.createDelegate(this,[false],true),scope:this});contextMenu.add({itemId:"alertfieldmenu",text:this.contextMenuAddAlertDef,icon:iconDir+"time.png",scope:this,menu:{items:[{itemId:"editfieldalert",text:this.contextMenuEditAlertDef,icon:iconDir+"time.png",handler:this.doEditTimedAlertDefinition.createDelegate(this,[false],true),scope:this},{itemId:"deletefieldalert",text:this.contextMenuDelAlertDef,icon:iconDir+"time_delete.png",handler:this.doDeleteAlertDefinition,scope:this}]}});contextMenu.add({itemId:"alertcellmenu",text:this.contextMenuAddAlertDef,icon:iconDir+"time.png",scope:this,menu:{items:[{itemId:"editcellalert",text:this.contextMenuEditAlertDef,icon:iconDir+"time.png",handler:this.doEditTimedAlertDefinition.createDelegate(this,[false],true),scope:this},{itemId:"deletecellalert",text:this.contextMenuDelAlertDef,icon:iconDir+"time_delete.png",handler:this.doDeleteAlertDefinition,scope:this}]}});return contextMenu},getFieldType:function(b){for(var a=0;a<this.columnDataTypes.length;a++){if(this.columnDataTypes[a].name==b){return this.columnDataTypes[a].type}}return -1},onCellContextMenu:function(a,l,k,h){h.preventDefault();if(k==0){return}if((this.productId!=-101)&&(this.productId!=-102)){var b=a.getStore();var d=b.getAt(l).get("id");var c={action:"getRecordLinks",appId:this.appId,recId:d};var m=this.grid.getColumnModel().getDataIndex(k);var f=parseInt(m.substring("FIELD_".length));if(this.getFieldType(m)==com.hypermanager.data.DataTypes.TIMESTAMP||this.getFieldType(m)==com.hypermanager.data.DataTypes.DATE){Ext.apply(c,{fieldId:f})}Ext.Ajax.request({url:this.servletURL,params:c,scope:this,success:function(n,r){if(n.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error getting the record links.")}else{var H=Ext.util.JSON.decode(n.responseText);var G=H.links;if(!this.gridContextMenu.menu){this.gridContextMenu.menu=this.buildGridContextMenu()}if(!this.gridContextMenu.menu.isVisible()){for(var A=0;A<this.recordLinksItems.length;A++){var x=this.recordLinksItems[A];this.gridContextMenu.menu.remove(x)}this.recordLinksItems.splice(0,this.recordLinksItems.length);if(G!=null&&G.length>0){if(this.authWrite){var F=new Ext.menu.Separator({itemId:"separator2"});this.gridContextMenu.menu.insert(0,F);this.recordLinksItems.push(F)}for(var A=0;A<G.length;A++){var q=G[A];if(q.icon=="favicon"){var D=com.hypermanager.util.LinkUtils.getFaviconUrl(q.url)}else{var D=q.icon&&q.icon.length>3?(iconDir+q.icon):this.defaultRecLinkIcon}var t=new Ext.menu.Item({text:q.name,icon:D,url:q.url,handler:this.onRecordLinkClicked,scope:this});this.recordLinksItems.push(t);this.gridContextMenu.menu.insert(A,t)}}var s=this.gridContextMenu.menu.items.get("addalert");var C=this.gridContextMenu.menu.items.get("alertfieldmenu");var w=this.gridContextMenu.menu.items.get("alertcellmenu");var e=this.gridContextMenu.menu.items.get("separator3");s.hide();C.hide();w.hide();e.hide();if(this.getFieldType(m)==com.hypermanager.data.DataTypes.TIMESTAMP||this.getFieldType(m)==com.hypermanager.data.DataTypes.DATE){if(H.alertDefinition!=null&&H.alertDefinition.length>0){for(var A=0;A<H.alertDefinition.length;A++){if(H.alertDefinition[A].idf_record<=0){w.setText(this.contextMenuAlertDef+": "+this.getReminderLabel(H.alertDefinition[A]));var v=w.menu.items.get("deletecellalert");var y=w.menu.items.get("editcellalert");y.alertDefinitionId=H.alertDefinition[A].id_alertDefinition;v.alertDefinitionId=H.alertDefinition[A].id_alertDefinition;w.show()}else{var u=C.menu.items.get("deletefieldalert");var B=C.menu.items.get("editfieldalert");C.setText(this.contextMenuAlertDef+": "+this.getReminderLabel(H.alertDefinition[A]));B.alertDefinitionId=H.alertDefinition[A].id_alertDefinition;u.alertDefinitionId=H.alertDefinition[A].id_alertDefinition;C.show()}}if(H.alertDefinition.length==1&&H.alertDefinition[0].idf_record<=0){s.show()}}else{s.show()}e.show()}if(!this.authWrite){var p=this.gridContextMenu.menu.items.get("separator2");if(p){sep.hide()}this.gridContextMenu.menu.items.get("linkedit").hide();this.gridContextMenu.menu.items.get("copy").hide();this.gridContextMenu.menu.items.get("paste").hide();this.gridContextMenu.menu.items.get("separator").hide();this.gridContextMenu.menu.items.get("edit").hide();this.gridContextMenu.menu.items.get("paste_excel").hide();this.gridContextMenu.menu.items.get("browsefolder").hide();this.gridContextMenu.menu.items.get("browsefile").hide()}else{var E=this.gridContextMenu.menu.items.get("browsefolder");var z=this.gridContextMenu.menu.items.get("browsefile");if(this.getFieldType(m)==com.hypermanager.data.DataTypes.HYPERLINK){E.show();z.show()}else{E.hide();z.hide()}var o=this.gridContextMenu.menu.items.get("paste");if(this.clipboard!=null){o.enable()}else{o.disable()}}this.gridContextMenu.rowIndex=l;this.gridContextMenu.cellIndex=k;this.gridContextMenu.menu.showAt(h.getXY())}}},failure:function(e,n){if(e.status==403){com.hypermanager.data.DataUtils.displayForbiddenMsg("You are not allowed to access this.")}else{com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error getting the record links.")}},callback:this.handleResponse})}},getReminderLabel:function(c){var d="";switch(c.reminderUnit){case 1:d=this.timeUnitMinutes;break;case 2:d=this.timeUnitHours;break;case 3:d=this.timeUnitDays}var a=c.idf_record>0?this.contextMenuCellSuffix:this.contextMenuFieldSuffix;var b=c.reminderAmount+" "+d+" - "+a;return b},buildHeaderContextMenu:function(){var a=new Ext.menu.Menu({});a.add({itemId:"activealert",text:this.contextMenuAddFieldAlertDef,disabled:true,scope:this});a.add({itemId:"addalert",text:this.contextMenuAddFieldAlertDef,icon:iconDir+"time.png",handler:this.doEditTimedAlertDefinition.createDelegate(this,[true],true),scope:this});a.add({itemId:"deletealert",text:this.contextMenuDelAlertDef,icon:iconDir+"time_delete.png",handler:this.doDeleteAlertDefinition,scope:this});return a},onHeaderContextMenu:function(c,b,d){d.preventDefault();var f=this.grid.getColumnModel().getDataIndex(b);if(this.getFieldType(f)!=com.hypermanager.data.DataTypes.TIMESTAMP&&this.getFieldType(f)!=com.hypermanager.data.DataTypes.DATE){return}if(!this.headerContextMenu.menu){this.headerContextMenu.menu=this.buildHeaderContextMenu()}if(!this.headerContextMenu.menu.isVisible()){var a=parseInt(f.substring("FIELD_".length));Ext.Ajax.request({url:ServletContext+"json/alert",params:{action:"getTimedAlert",appId:this.appId,fieldId:a},scope:this,success:function(k,l){var o=Ext.util.JSON.decode(k.responseText);var h=o.links;this.headerContextMenu.colIndex=b;var n=this.headerContextMenu.menu.items.get("addalert");var m=this.headerContextMenu.menu.items.get("deletealert");var e=this.headerContextMenu.menu.items.get("activealert");if(o.alertDefinition!=null){e.setText(this.contextMenuAlertDef+" "+this.getReminderLabel(o.alertDefinition));n.setText(this.contextMenuEditAlertDef);m.setText(this.contextMenuDelAlertDef);n.alertDefinitionId=o.alertDefinition.id_alertDefinition;m.alertDefinitionId=o.alertDefinition.id_alertDefinition;m.show();e.show()}else{n.setText(this.contextMenuAddAlertDef+" "+this.contextMenuFieldSuffix);n.alertDefinitionId=-1;m.hide();e.hide()}this.headerContextMenu.menu.showAt(d.getXY())}})}},doBrowseItem:function(d){this.gridContextMenu.menu.hide();if(d!=null){var b=this.grid.getStore();var e=b.getAt(this.gridContextMenu.rowIndex);var c=this.grid.getColumnModel().getDataIndex(this.gridContextMenu.cellIndex);var a=e.get(c);e.set(c,d);this.grid.fireEvent("afteredit",{grid:this.grid,record:e,field:c,value:d,originalValue:a,row:this.gridContextMenu.rowIndex,column:this.gridContextMenu.cellIndex})}},doCopyRecord:function(b,c){this.gridContextMenu.menu.hide();var a=new Array();var d=this.ds.getAt(this.gridContextMenu.rowIndex);a.push(d);a=a.concat(this.ds.getNodeDescendands(d));this.clipboard=a},doPasteRecord:function(c,f){var d=this.ds;if((this.clipboard==null)||(this.clipboard.length==0)){com.hypermanager.data.DataUtils.displayErrorMsg("Error","The clipboard is empty.");return}for(var b=0;b<this.clipboard.length;b++){var a=this.clipboard[b];if(!(a instanceof Ext.data.Record)){com.hypermanager.data.DataUtils.displayErrorMsg("Error","The clipboard contains no records.");return}}this.paste=new Object();this.paste.recList=new Array();for(var b=0;b<this.clipboard.length;b++){var h=this.clipboard[b].copy();h.set("sourceId",0);this.paste.recList.push(h)}this.paste.targetRec=this.ds.getAt(this.gridContextMenu.rowIndex);this.paste.sourceRec=this.paste.recList[0];this.paste.difLevel=this.paste.sourceRec.get("level")-this.paste.targetRec.get("level");Ext.Ajax.request({url:this.servletURL,params:{action:this.actions.copyRecord,idApp:this.appId,srcRec:this.paste.sourceRec.get("id"),targetRec:this.paste.targetRec.get("id"),difLevel:this.paste.difLevel},scope:this,success:function(e,l){if(e.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error pasting the record(s)")}else{jsonResponse=Ext.util.JSON.decode(e.responseText).data;for(var m=0;m<this.paste.recList.length;m++){var o=this.paste.recList[m];o.set("level",o.get("level")-this.paste.difLevel);var k=0;var n=false;while(k<jsonResponse.length){if(jsonResponse[k].oldId==o.get("id")){n=true;break}k++}if(!n){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error pasting the record(s)")}else{o.set("id",jsonResponse[k].newId);o.id=jsonResponse[k].newId;o.set("id_parent",jsonResponse[k].parentId)}}this.ds.insert(this.gridContextMenu.rowIndex,this.paste.recList);this.grid.getSelectionModel().clearSelections();this.grid.getView().refresh()}},failure:function(e,k){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error pasting the record(s)")}})},doEditContextMenu:function(a,b){this.gridContextMenu.menu.hide();this.grid.startEditing(this.gridContextMenu.rowIndex,this.gridContextMenu.cellIndex)},doPasteExcel:function(q,n){function p(t){var e=new Array();var r=t.split("\r\n");for(var s=0;s<r.length;s++){e[s]=r[s].split("\t")}return e}function f(s,r){var e;for(e=0;e<r.length;e++){if(r[e].name==s){return r[e].type}}return"undefined"}pastedText=clipboardPaste();if(pastedText){data=p(pastedText);var m,l;this.ds.suspendEvents();var a=[];for(m=0;m<data.length-1;m++){var k=this.grid.getStore().getAt(this.gridContextMenu.rowIndex+m);for(l=0;l<data[m].length;l++){var o=this.grid.getColumnModel().getDataIndex(this.gridContextMenu.cellIndex+l);var b=data[m][l];if(f(o,this.recordFields)=="number"){b=this.string2number(data[m][l])}else{if(f(o,this.recordFields)=="date"){b=this.string2date(data[m][l])}}oldValue=k.get(o);k.set(o,b);var h=new Object();h.id=k.get("id");h.fieldName=o;h.type=this.getFieldType(h.fieldName);if(h.type==com.hypermanager.data.DataTypes.MIXED){var c=this.getAncestors(k);this.doUpdateMixedFields(c,o)}if(b instanceof Date){if(h.type==com.hypermanager.data.DataTypes.TIMESTAMP){b=""+b.format("U")}else{var d=function(e){return e<10?"0"+e:e};b=""+b.getFullYear()+"-"+d(b.getMonth()+1)+"-"+d(b.getDate())+""}}else{b=""+b+""}h.newValue=b;a.push(h)}}this.waitLoader=new Ext.ProgressBar({text:"Storing the new records",width:480});this.waitWindow=new Ext.Window({width:497,height:50,closable:false,resizable:false,collapsible:false,draggable:false,frame:true,plain:true,modal:true,title:"Storing the new records...",items:this.waitLoader});this.waitLoader.wait({interval:50,duration:59000,increment:100});this.waitWindow.show();Ext.Ajax.timeout=300000;Ext.Ajax.request({url:this.servletURL,params:{action:this.actions.updateRecords,id:this.appId,records:Ext.util.JSON.encode(a)},scope:this,success:function(e,r){Ext.Ajax.timeout=30000;this.waitWindow.hide();this.waitLoader.reset(true);if(e.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","The imported values could not be stored.")}else{Ext.Msg.alert("Status","The records are successfully stored.")}},failure:function(e,r){Ext.Ajax.timeout=30000;this.waitWindow.hide();this.waitLoader.reset(true);com.hypermanager.data.DataUtils.displayErrorMsg("Error","The imported values could not be stored.")}});this.ds.resumeEvents();this.grid.getView().refresh()}},doEditRecordLinks:function(a,c){var d=this.ds.getAt(this.gridContextMenu.rowIndex);var b=d.get("id");if(!this.recordLinkDialog){this.recordLinkDialog=new com.hypermanager.data.RecordLinkDialog()}if((b)&&(this.appId)&&(b>0)){this.recordLinkDialog.show({recId:b,appId:this.appId,record:d},b)}},onRecordLinkClicked:function(a){if(a.url){com.hypermanager.util.LinkUtils.openLink(a.url,true)}},doEditTimedAlertDefinition:function(d,k,c){if(!this.timedAlertDefDialog){this.timedAlertDefDialog=new com.hypermanager.alert.TimedAlertDefinitionDialog()}var h=c?-1:this.ds.getAt(this.gridContextMenu.rowIndex).get("id");var b=c?this.headerContextMenu.colIndex:this.gridContextMenu.cellIndex;var f=this.grid.getColumnModel().getDataIndex(b);var a=parseInt(f.substring("FIELD_".length));if(d.alertDefinitionId!=null&&d.alertDefinitionId!=-1){this.timedAlertDefDialog.show(d.alertDefinitionId,this.appId,this.productId,h,a,this.getFieldType(f))}else{if(this.appId&&a){this.timedAlertDefDialog.show(-1,this.appId,this.productId,h,a,this.getFieldType(f))}}},doDeleteAlertDefinition:function(a,b){if(a.alertDefinitionId!=null&&a.alertDefinitionId!=-1){checkAnswer=function(c,e){if(c=="yes"){var d=Ext.Ajax.request({url:ServletContext+"json/alert",params:{action:"deleteTimedAlert",alertDefinitionId:a.alertDefinitionId},scope:this,success:function(f,h){}})}};Ext.MessageBox.confirm(this.deleteAlertDefTitle,this.deleteAlertDefText,checkAnswer,this)}},syncComponentSize:function(a){while(a){a.syncSize();a=a.ownerCt}}});clipboardPaste=function(){if(window.clipboardData){try{return window.clipboardData.getData("Text")}catch(a){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Your browser currently does not support copying to the clipboard.");return false}}else{com.hypermanager.data.DataUtils.displayErrorMsg("Error","Your browser currently does not support copying to the clipboard. Please upgrade to the latest version of Internet Explorer")}return false};Ext.namespace("com.hypermanager.data");com.hypermanager.data.DADesignWindow=Ext.extend(Ext.Window,{idApp:-1,idProd:-1,authAdmin:false,authDpAdmin:false,cellActions:null,valueListWindow:null,generalTab:null,fieldsTab:null,productsTab:null,extTab:null,permissionGridPanel:null,appPanel:null,servletURL:ServletContext+"json/data",resSolServletURL:ServletContext+"json/resSolution",fieldTypeDS:null,fieldsTabRecord:null,productsTabRecord:null,appPanelRecord:null,dpDesignWindow:null,title:"DataApplications",dataAppColTitle:"Application",resSolDataAppColTitle:"Typ",generalTabTitle:"General",fieldsTabTitle:"Fields",externTabTitle:"External Application",generalTabNameLabel:"Name",generalTabDescriptionLabel:"Description",generalTabOwnerLabel:"Owner",fieldsTabNameColTitle:"Name",fieldsTabTypeColTitle:"Type",fieldsTabDefaultValueColTitle:"Default Value",fieldsComboShortVarCharOption:"Short Text",fieldsComboLongVarCharOption:"Long Text",fieldsComboURLOption:"Hyperlink",fieldsComboIntOption:"Number",fieldsComboDateOption:"Date",fieldsComboTimestampOption:"Timestamp",productsTabTitle:"Products",productsTabNameColTitle:"Name",productsTabDescriptionColTitle:"Description",productsTabOwnerColTitle:"Owner",productsTabNewButtonText:"New",productsTabDelButtonText:"Delete",productsTabEditButtonText:"Edit",productsTabNewButtonTtip:"Create a new Data Product.",productsTabEditButtonTtip:"Edit selected Data Product and its Data Fields",productsTabDelButtonTtip:"Delete selected Data Product",fieldsTabNewButtonText:"Add",fieldsTabDelButtonText:"Delete",fieldsTabDelButtonTtip:"Deletes the selected DataField",fieldsTabNewButtonTtip:"Adds a new DataField",extTabTypeText:"Type",extTabPathText:"Path",extTabBrowseText:"Browse",extTabImportText:"Import",dataAppNewButtonText:"Add",dataAppDelButtonText:"Delete",dataAppDelButtonTtip:"Deletes the selected DataApplication",dataAppNewButtonTtip:"Creates a new DataApplication",fieldsTabDelMsg:function(a){return"Do you really want to delete the field <b>"+a+"</b>?"},fieldsTabDelMsgTitle:"Confirm delete",productsTabEditErrMsg:"You must select an Application and a Product first.",productsTabDelErrMsg:"No Product selected.",productsTabDelMsg:function(a){return"Do you really want to delete the product <b>"+a+"</b>?"},productsTabDelMsgTitle:"Confirm delete",productsTabNewErrMsg:"No application selected.",dataAppDelErrMsg:"No application selected.",dataAppDelMsg:function(a){return"Do you really want to delete the application <b>"+a+"</b>?"},dataAppDelMsgTitle:"Confirm delete",dataAppNewMsg:"Please enter a name:",dataAppNewMsgTitle:"New application",dataAppNewErrMsg:"Invalid name",dataAppNewErrMsgTitle:"Error",windowCloseButtonText:"Close",newProductName:"New Product",textImportSuccessful:"The import was successful.",textImportedFieldsDelete:"Imported fields are not allowed to be deleted.",permissionTabTitle:"Permissions",initComponent:function(){var a={};this.buildConfig(a);Ext.apply(this,Ext.apply(this.initialConfig,a));com.hypermanager.data.DADesignWindow.superclass.initComponent.call(this);this.addListener("beforeshow",this.onBeforeShow,this)},buildConfig:function(a){Ext.apply(a,{modal:true,width:700,height:500,shadow:true,resizable:false,layout:"border",closable:false,plain:true});this.buildItems(a);this.buildButtons(a)},buildItems:function(c){var b=com.hypermanager.license.LicenseMgr;var a=this.buildHMItems(c);var d=new Ext.TabPanel({region:"center",margins:"5 5 5 5",activeTab:0,defaults:{autoScroll:true},titlebar:false,resizable:false,tabPosition:"top",alwaysShowTabs:true,items:[a]});if(b.isLicensed(b.LICENSE_RESSOL_ACTIVATED)){var e=this.buildResSolutionItems(c);d.items.add(e)}c.items=[d]},buildButtons:function(a){a.buttons=[{text:this.windowCloseButtonText,handler:this.doClose,scope:this}]},doClose:function(){this.hide()},onBeforeShow:function(){return true},buildHMItems:function(b){this.hmObjects=new Object();this.createGeneralTab();this.createFieldsTab();this.createProductsTab();this.createExtTab();this.createAppPanel();var d=new Array();d.push(this.generalTab);d.push(this.fieldsTab);d.push(this.productsTab);d.push(this.extTab);var c=com.hypermanager.license.LicenseMgr;if(!c.isLicensed(c.LICENSE_TYPE_PERSONAL)){this.createPermissionTab();d.push(this.permissionGridPanel)}this.hmObjects.tabsPanel=new Ext.TabPanel({region:"center",activeTab:0,defaults:{autoScroll:true},initialSize:620,titlebar:true,resizable:false,tabPosition:"top",alwaysShowTabs:true,items:d});this.hmObjects.tabsPanel.on("tabchange",this.onHmTabChanged,this);if(this.idProd!=-1){this.hmObjects.tabsPanel.setActiveTab(2)}var a=new Ext.Panel({title:"hyperManager",layout:"border",items:[this.appPanel,this.hmObjects.tabsPanel]});return a},buildResSolutionItems:function(a){this.resSolObjects=new Object();this.createResSolAppPanel();this.createResSolFieldsTab();this.createResSolProductsTab();var b=new Array();b.push(this.resSolObjects.fieldsTab);b.push(this.resSolObjects.productsTab);this.resSolObjects.tabsPanel=new Ext.TabPanel({region:"center",activeTab:0,defaults:{autoScroll:true},initialSize:620,resizable:false,tabPosition:"top",alwaysShowTabs:true,items:b});var c=new Ext.Panel({title:"resSolution",header:false,layout:"border",items:[this.resSolObjects.appPanel,this.resSolObjects.tabsPanel]});return c},createResSolAppPanel:function(){var b=com.hypermanager.security.SecurityMgr;var c=new Ext.data.ArrayStore({fields:[{name:"id",type:"int"},{name:"Name",type:"string"}]});c.loadData([[-201,"Zentraltabelle"],[-202,"Ressourcenblatt"],[-203,"Belastungstabelle"],[-204,"Report Ressource -> Projekte"],[-205,"Report Projekte -> Ressource"]]);var a=new Ext.grid.ColumnModel([{header:this.resSolDataAppColTitle,dataIndex:"Name",id:"Name"}]);this.resSolObjects.appPanel=new Ext.grid.GridPanel({region:"west",width:185,resizable:false,titlebar:true,title:"Data Application List",header:false,ds:c,cm:a,enableDragDrop:false,enableHdMenu:false,enableColumnResize:false,enableColumnHide:false,autoExpandColumn:"Name",border:false,selModel:new Ext.grid.RowSelectionModel({singleSelect:true}),bbar:[{cls:"x-btn-text-icon",text:this.dataAppNewButtonText,tooltip:"Creates a new resSolution Application.",minWidth:50,disabled:true,scope:this,icon:iconDir+"add.png",hidden:!b.isAuthorized(b.ROLE_DATA_APP_CREATE)},{cls:"x-btn-text-icon",text:this.dataAppDelButtonText,tooltip:"Deteles the selected resSolution Application.",minWidth:50,disabled:true,scope:this,icon:iconDir+"delete.png",hidden:!b.isAuthorized(b.ROLE_DATA_APP_CREATE)}]});this.resSolObjects.appPanel.getSelectionModel().addListener("rowselect",this.onResSolAppSelected,this,{delay:100})},onResSolAppSelected:function(a,e,d){var c=this.appPanel.getSelectionModel().getSelected();this.resSolObjects.idApp=c.get("id");var b=this.resSolObjects.fieldsTab.getStore();b.removeAll();b.baseParams.idApp=d.get("id");b.reload({scope:this});this.resSolObjects.productsTab.getStore().removeAll();this.resSolObjects.productsTab.getStore().baseParams.idApp=d.get("id");this.resSolObjects.productsTab.getStore().load({scope:this})},createResSolFieldsTab:function(){this.resSolObjects.fieldsTabRecord=Ext.data.Record.create([{name:"id",type:"int"},{name:"FieldName",type:"string"},{name:"Type",type:"int"},{name:"Source",type:"int"}]);var d=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:this.resSolServletURL}),baseParams:{action:"getApplicationFields",idApp:0},reader:new Ext.data.JsonReader({root:"data"},this.resSolObjects.fieldsTabRecord)});var f=[[this.fieldsComboShortVarCharOption,1],[this.fieldsComboLongVarCharOption,2],[this.fieldsComboURLOption,3],[this.fieldsComboIntOption,4],[this.fieldsComboDateOption,5],[this.fieldsComboTimestampOption,6]];this.resSolObjects.fieldTypeDS=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(f),reader:new Ext.data.ArrayReader({},[{name:"TypeName",type:"string"},{name:"TypeId",type:"int"}])});this.resSolObjects.fieldTypeDS.load();var e=new Ext.form.ComboBox({store:this.resSolObjects.fieldTypeDS,displayField:"TypeName",valueField:"TypeId",typeAhead:true,mode:"local",lazyRender:true,triggerAction:"all",emptyText:"Select a Type...",selectOnFocus:true,editable:false,forceSelection:true});var c=function(n,m,h,o,l,k){index=this.resSolObjects.fieldTypeDS.find("TypeId",n);if(index!=-1){return(this.resSolObjects.fieldTypeDS.getAt(index).get("TypeName"))}return"Invalid"}.createDelegate(this);var b=function(h){return"&nbsp;"};var a=new Ext.grid.ColumnModel({columns:[{header:this.fieldsTabNameColTitle,dataIndex:"FieldName",width:150,editor:new Ext.form.TextField()},{header:this.fieldsTabTypeColTitle,dataIndex:"Type",width:100,editor:e,renderer:c,valueListAction:true}]});this.resSolObjects.fieldsTab=new Ext.grid.EditorGridPanel({name:"res-tab-fields",title:this.fieldsTabTitle,height:400,ds:d,cm:a,clicksToEdit:1,enableColLock:true,enableHdMenu:false,enableColumnResize:false,bbar:[{cls:"x-btn-text-icon",text:this.fieldsTabNewButtonText,tooltip:this.fieldsTabNewButtonTtip,minWidth:100,handler:this.resSolAddAppField,scope:this,icon:iconDir+"add.png",disabled:true},{cls:"x-btn-text-icon",text:this.fieldsTabDelButtonText,tooltip:this.fieldsTabDelButtonTtip,minWidth:100,handler:this.resSolDeleteAppField,scope:this,icon:iconDir+"delete.png",disabled:true}],viewConfig:{getRowClass:function(h,k){var l=h.get("Source");if(l>0){return"x-grid3-row-body x-grid-row-read-only"}return"x-grid3-row-body"}}});this.resSolObjects.fieldsTab.addListener("beforeedit",function(h){if(h.record.get("Source")>0){return false}return true},this)},resSolAddAppField:function(){var a=new this.resSolObjects.fieldsTabRecord({FieldName:"NewField",Type:1,Source:0});this.resSolObjects.fieldsTab.getStore().add(a);this.resSolObjects.fieldsTab.getSelectionModel().select(this.resSolObjects.fieldsTab.getStore().getCount()-1,0);this.resSolObjects.fieldsTab.getView().focusRow(this.resSolObjects.fieldsTab.getStore().getCount()-1)},resSolDeleteAppField:function(){var c=this.resSolObjects.fieldsTab.getSelectionModel().getSelectedCell()[0];var b=this.resSolObjects.fieldsTab.getStore().getAt(c);if(b.get("Source")>0){Ext.Msg.alert("Info","This data field cannot be deleted.")}else{var a=function(d){if(d=="yes"){this.resSolObjects.fieldsTab.getStore().remove(b)}};Ext.MessageBox.confirm(this.fieldsTabDelMsgTitle,this.fieldsTabDelMsg(b.data.FieldName),a,this)}},createResSolProductsTab:function(){var b=com.hypermanager.security.SecurityMgr;this.resSolObjects.productsTabRecord=Ext.data.Record.create([{name:"id",type:"int"},{name:"ProductName",type:"string"},{name:"Owner",type:"string"},{name:"Description",type:"string"}]);var c=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:this.servletURL}),baseParams:{action:"getProductsList",idApp:0},reader:new Ext.data.JsonReader({root:"data"},this.resSolObjects.productsTabRecord)});var a=new Ext.grid.ColumnModel([{header:this.productsTabNameColTitle,dataIndex:"ProductName",width:150,editor:(b.isAuthorized(b.ROLE_DATA_APP_CREATE)?new Ext.form.TextField():null)},{header:this.productsTabOwnerColTitle,dataIndex:"Owner",width:80,editor:(b.isAuthorized(b.ROLE_DATA_APP_CREATE)?new Ext.form.TextField():null)},{header:this.productsTabDescriptionColTitle,dataIndex:"Description",width:250,editor:(b.isAuthorized(b.ROLE_DATA_APP_CREATE)?new Ext.form.TextField():null)}]);this.resSolObjects.productsTab=new Ext.grid.EditorGridPanel({name:"tab-products",title:this.productsTabTitle,ds:c,cm:a,selModel:new Ext.grid.RowSelectionModel({singleSelect:true}),enableColLock:true,enableHdMenu:false,enableColumnResize:false,bbar:[{cls:"x-btn-text-icon",text:this.productsTabNewButtonText,tooltip:this.productsTabNewButtonTtip,minWidth:100,handler:this.showResSolProductWindow.createDelegate(this,[true]),scope:this,icon:iconDir+"add.png",hidden:!b.isAuthorized(b.ROLE_DATA_APP_CREATE)},{cls:"x-btn-text-icon",text:this.productsTabDelButtonText,tooltip:"Delete the selected Data Product.",minWidth:100,handler:this.deleteResSolProduct,scope:this,icon:iconDir+"delete.png",hidden:!b.isAuthorized(b.ROLE_DATA_APP_CREATE)},{cls:"x-btn-text-icon",text:this.productsTabEditButtonText,tooltip:"Edit the selected Data Product.",minWidth:100,disabled:false,handler:this.showResSolProductWindow.createDelegate(this,[false]),scope:this,icon:iconDir+"refresh.png",hidden:!b.isAuthorized(b.ROLE_DATA_APP_CREATE)}]});this.resSolObjects.productsTab.doLayout();c.load()},deleteResSolProduct:function(){var c=com.hypermanager.security.SecurityMgr;if(c.isAuthorized(c.ROLE_DATA_APP_CREATE)){if(this.resSolObjects.productsTab.getSelectionModel().hasSelection()){var b=this.resSolObjects.productsTab.getSelectionModel().getSelected();var a=function(d){if(d=="yes"){var e=Ext.Ajax.request({url:this.servletURL,params:{action:"deleteProduct",id:b.data.id},scope:this,success:function(f,h){if(f.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error deleting DataProduct")}else{if(!this.resSolObjects.productsTab.getSelectionModel().selectPrevious(false)){this.resSolObjects.productsTab.getSelectionModel().selectNext(false)}this.resSolObjects.productsTab.getStore().remove(b)}},failure:function(f,h){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error deleting DataProduct")}})}};Ext.MessageBox.confirm(this.productsTabDelMsgTitle,this.productsTabDelMsg(b.data.ProductName),a,this)}else{com.hypermanager.data.DataUtils.displayErrorMsg("Error",this.productsTabDelErrMsg)}}else{}},createGeneralTab:function(){this.generalTab=new Ext.FormPanel({name:"tab-general",title:this.generalTabTitle,frame:true,labelWidth:80,bodyStyle:"padding:15px",labelPad:10,defaults:{width:340},items:[{xtype:"textfield",fieldLabel:this.generalTabNameLabel,name:"gen-tab-name",allowBlank:false,listeners:{change:{fn:this.onGeneralTabFieldChange,scope:this}}},{xtype:"textarea",fieldLabel:this.generalTabDescriptionLabel,name:"gen-tab-desc",grow:true,preventScrollbars:false,growMax:300,growMin:100,listeners:{change:{fn:this.onGeneralTabFieldChange,scope:this}}},{xtype:"textfield",fieldLabel:this.generalTabOwnerLabel,name:"gen-tab-owner",listeners:{change:{fn:this.onGeneralTabFieldChange,scope:this}}}]})},onGeneralTabFieldChange:function(k,c,a){var m=com.hypermanager.security.SecurityMgr;if(m.isAuthorized(m.ROLE_DATA_APP_CREATE)){var b=this.generalTab.find("name","gen-tab-name")[0].getValue();var d=this.generalTab.find("name","gen-tab-owner")[0].getValue();var l=this.generalTab.find("name","gen-tab-desc")[0].getValue();var e=this.appPanel.getStore();var h=e.find("id",this.idApp);var f=e.getAt(h);f.set("Name",b);f.set("Description",l);f.set("Owner",d);Ext.Ajax.request({url:this.servletURL,params:{action:"updateApplication",idApp:this.idApp,name:com.hypermanager.data.DataUtils.escapeParameterString(b),owner:com.hypermanager.data.DataUtils.escapeParameterString(d),description:com.hypermanager.data.DataUtils.escapeParameterString(l)},success:function(n,o){if(n.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error updating the DataApplication info.")}},failure:function(n,o){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error updating the DataApplication info.")},scope:this})}else{}},createFieldsTab:function(){this.fieldsTabRecord=Ext.data.Record.create([{name:"id",type:"int"},{name:"FieldName",type:"string"},{name:"Type",type:"int"},{name:"DefaultValue",type:"string"},{name:"values-icon",type:"string"},{name:"ValueList",type:"int"},{name:"sourceId",type:"int"},{name:"SumUp",type:"boolean"}]);var e=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:this.servletURL}),baseParams:{action:"getApplicationFields",id:0},reader:new Ext.data.JsonReader({root:"data"},this.fieldsTabRecord)});var k=[[this.fieldsComboShortVarCharOption,1],[this.fieldsComboLongVarCharOption,2],[this.fieldsComboURLOption,3],[this.fieldsComboIntOption,4],[this.fieldsComboDateOption,5],[this.fieldsComboTimestampOption,6]];this.fieldTypeDS=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(k),reader:new Ext.data.ArrayReader({},[{name:"TypeName",type:"string"},{name:"TypeId",type:"int"}])});this.fieldTypeDS.load();var h=new Ext.form.ComboBox({store:this.fieldTypeDS,displayField:"TypeName",valueField:"TypeId",typeAhead:true,mode:"local",lazyRender:true,triggerAction:"all",emptyText:"Select a Type...",selectOnFocus:true,editable:false,forceSelection:true});var c=function(p,o,l,q,n,m){index=this.fieldTypeDS.find("TypeId",p);if(index!=-1){return(this.fieldTypeDS.getAt(index).get("TypeName"))}return"Invalid"}.createDelegate(this);var b=function(l){return"&nbsp;"};var f=new com.hypermanager.data.ValueListGridPlugin({listeners:{action:function(q,o,l,p,n,r,m){if(this.valueListWindow==null){this.valueListWindow=new com.hypermanager.data.ValueListWindow({fieldName:l.get("FieldName"),fieldId:l.get("id")});this.valueListWindow.addListener("valueListChanged",this.onValueListChanged,this)}else{this.valueListWindow.setDataField(l.get("FieldName"),l.get("id"))}}.createDelegate(this)}});var a=new Ext.grid.ColumnModel({columns:[{header:this.fieldsTabNameColTitle,dataIndex:"FieldName",width:150,editor:new Ext.form.TextField()},{header:this.fieldsTabTypeColTitle,dataIndex:"Type",width:100,editor:h,renderer:c,valueListAction:true},{header:this.fieldsTabDefaultValueColTitle,width:160,dataIndex:"DefaultValue",editable:true,renderer:function(m,n,o){switch(o.get("Type")){case 5:if(m){var l=m instanceof Date?m:Date.parseDate(m,"Y-m-d");return l.format("d/m/Y")}return"";case 6:if(m){var l=m instanceof Date?m:Date.parseDate(m,"U");return l.format("d/m/Y - H:i")}return"";default:return m}}},{header:"Sum up",dataIndex:"SumUp",width:60,checkerColumn:true}],editors:{1:new Ext.grid.GridEditor(new Ext.form.TextField({})),2:new Ext.grid.GridEditor(new Ext.form.TextField({})),3:new Ext.grid.GridEditor(new Ext.form.TextField({})),4:new Ext.grid.GridEditor(new Ext.form.NumberField({})),5:new Ext.grid.GridEditor(new Ext.form.DateField({format:"d/m/Y"})),6:new Ext.grid.GridEditor(new Ext.ux.form.DateTime({anchor:"-18",timeFormat:"H:i",timeWidth:60,timeConfig:{altFormats:"H.i|H,i"},hiddenFormat:"U",dateFormat:"d/m/Y",dateConfig:{altFormats:"d/m/y|d/m|d|d.m.Y|d.m.y|d.m|d-m-Y|d-m-y|d-m|d_m_Y|d_m_y|d_m|j/m/Y|j/m/y|j/m|j|j.m.Y|j.m.y|j.m|j-m-Y|j-m-y|j-m|j_m_Y|j_m_y|j_m|d/n/Y|d/n/y|d/n|d.n.Y|d.n.y|d.n|d-n-Y|d-n-y|d-n|d_n_Y|d_n_y|d_n|j/n/Y|j/n/y|j/n|j.n.Y|j.n.y|j.n|j-n-Y|j-n-y|j-n|j_n_Y|j_n_y|j_n"}}))},getCellEditor:(function(m,p){var l=this.fieldsTab.getColumnModel();var n=l.getDataIndex(m);if(n=="DefaultValue"){var o=this.fieldsTab.getStore().getAt(p);return l.editors[o.get("Type")]}return Ext.grid.ColumnModel.prototype.getCellEditor.call(l,m,p)}).createDelegate(this)});var d=new com.hypermanager.data.CheckerColumnGridPlugin();d.addListener("action",function(q,o,l,p,n,r,m){if(!this.authAdmin){l.set(n,p)}else{this.doUpdateAppField({record:l,column:m})}},this);this.fieldsTab=new Ext.grid.EditorGridPanel({name:"tab-fields",title:this.fieldsTabTitle,height:400,ds:e,cm:a,clicksToEdit:1,enableColLock:true,enableHdMenu:false,enableColumnResize:false,bbar:[{cls:"x-btn-text-icon",text:this.fieldsTabNewButtonText,tooltip:this.fieldsTabNewButtonTtip,minWidth:100,handler:this.doAddAppField,scope:this,icon:iconDir+"add.png"},{cls:"x-btn-text-icon",text:this.fieldsTabDelButtonText,tooltip:this.fieldsTabDelButtonTtip,minWidth:100,handler:this.doDeleteAppField,scope:this,icon:iconDir+"delete.png"}],plugins:[f,d],viewConfig:{getRowClass:function(l,m){var n=l.get("sourceId");if(n>0){return"x-grid3-row-body x-grid-row-read-only"}return"x-grid3-row-body"}}});e.on("load",function(){this.doSelectFirstField()},this);this.fieldsTab.addListener("afteredit",this.doUpdateAppField,this);this.fieldsTab.addListener("beforeedit",this.onBeforeFieldEdit,this)},onBeforeFieldEdit:function(a){if(!this.authAdmin||a.record.get("sourceId")>0){return false}return true},doAddAppField:function(){var a=Ext.Ajax.request({url:this.servletURL,params:{action:"addAppField",idApp:this.appPanel.getSelectionModel().getSelected().data.id,DataType:"1"},success:function(c,d){if(c.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error adding new DataField.")}else{var b=new this.fieldsTabRecord((Ext.util.JSON.decode(c.responseText)).newField);this.fieldsTab.getStore().add(b);this.fieldsTab.getSelectionModel().select(this.fieldsTab.getStore().getCount()-1,0);this.fieldsTab.getView().focusRow(this.fieldsTab.getStore().getCount()-1)}},failure:function(b,c){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error adding new DataField.")},scope:this})},doUpdateAppField:function(d){var f=d.record;var b=f.get("Type");if(b==1){f.set("values-icon","icon-value-list")}else{f.set("values-icon","")}var a=f.data.DefaultValue;if(a!=null&&a!=""){if(b==5){a=a.format("Y-m-d")}else{if(b==6){a=a.format("U")}}}var c=Ext.Ajax.request({url:this.servletURL,params:{action:"updateAppField",idApp:this.appPanel.getSelectionModel().getSelected().data.id,idRec:f.data.id,name:f.data.FieldName,DataType:f.data.Type,Default:a,column:d.column,SumUp:f.get("SumUp")},success:function(e,h){if(e.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error updating the DataField.")}},failure:function(e,h){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error updating the DataField.")},scope:this})},doDeleteAppField:function(){var c=this.fieldsTab.getSelectionModel().getSelectedCell()[0];var b=this.fieldsTab.getStore().getAt(c);if(b.get("sourceId")>0){Ext.Msg.alert("Info",this.textImportedFieldsDelete)}else{var a=function(d){if(d=="yes"){var e=Ext.Ajax.request({url:this.servletURL,params:{action:"deleteAppField",idApp:this.appPanel.getSelectionModel().getSelected().get("id"),idRec:b.data.id},success:function(f,h){if(f.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error deleting DataField.")}else{this.fieldsTab.getStore().remove(b)}},failure:function(f,h){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error deleting DataField.")},scope:this})}};Ext.MessageBox.confirm(this.fieldsTabDelMsgTitle,this.fieldsTabDelMsg(b.data.FieldName),a,this)}},onValueListChanged:function(b,a){var c=this.fieldsTab.getStore();var d=c.find("id",b);if(d>=0){var e=c.getAt(d);e.set("ValueList",a);e.set("values-icon","icon-value-list-not-present");if(a>0){e.set("values-icon","icon-value-list")}}},createProductsTab:function(){var b=com.hypermanager.security.SecurityMgr;this.productsTabRecord=Ext.data.Record.create([{name:"id",type:"int"},{name:"ProductName",type:"string"},{name:"Owner",type:"string"},{name:"Description",type:"string"},{name:"detailsPanel",type:"boolean"},{name:"detailsPanelHeight",type:"int"},{name:"defaultDetailsTab",type:"int"},{name:"defaultDetailsField",type:"int"}]);var c=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:this.servletURL}),baseParams:{action:"getProductsList",idApp:0},reader:new Ext.data.JsonReader({root:"data"},this.productsTabRecord)});var a=new Ext.grid.ColumnModel([{header:this.productsTabNameColTitle,dataIndex:"ProductName",width:150},{header:this.productsTabOwnerColTitle,dataIndex:"Owner",width:80},{header:this.productsTabDescriptionColTitle,dataIndex:"Description",width:250}]);this.productsTab=new Ext.grid.GridPanel({name:"tab-products",title:this.productsTabTitle,ds:c,cm:a,selModel:new Ext.grid.RowSelectionModel({singleSelect:true}),enableColLock:true,enableHdMenu:false,enableColumnResize:false,bbar:[{cls:"x-btn-text-icon",text:this.productsTabNewButtonText,tooltip:this.productsTabNewButtonTtip,minWidth:100,handler:this.showDataProductWindow.createDelegate(this,[true]),scope:this,icon:iconDir+"add.png"},{cls:"x-btn-text-icon",text:this.productsTabDelButtonText,tooltip:this.productsTabDelButtonTtip,minWidth:100,handler:this.deleteDataProduct,scope:this,icon:iconDir+"delete.png"},{cls:"x-btn-text-icon",text:this.productsTabEditButtonText,tooltip:this.productsTabEditButtonTtip,minWidth:100,handler:this.showDataProductWindow.createDelegate(this,[false]),scope:this,icon:iconDir+"refresh.png"}]});this.productsTab.doLayout()},deleteDataProduct:function(){if(this.authDpAdmin){if(this.productsTab.getSelectionModel().hasSelection()){var b=this.productsTab.getSelectionModel().getSelected();var a=function(c){if(c=="yes"){var d=Ext.Ajax.request({url:this.servletURL,params:{action:"deleteProduct",id:b.data.id},scope:this,success:function(e,f){if(e.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error deleting DataProduct")}else{if(!this.productsTab.getSelectionModel().selectPrevious(false)){this.productsTab.getSelectionModel().selectNext(false)}this.productsTab.getStore().remove(b)}},failure:function(e,f){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error deleting DataProduct")}})}};Ext.MessageBox.confirm(this.productsTabDelMsgTitle,this.productsTabDelMsg(b.data.ProductName),a,this)}else{com.hypermanager.data.DataUtils.displayErrorMsg("Error",this.productsTabDelErrMsg)}}else{}},showDataProductWindow:function(a){if(this.authDpAdmin){if(this.appPanel.getSelectionModel().hasSelection()&&(this.productsTab.getSelectionModel().hasSelection()||a)){this.appPanel.stopEditing();var b=this.appPanel.getSelectionModel().getSelected();if(a){var c=new this.productsTabRecord({id:-1,ProductName:this.newProductName,Description:"",Owner:"",detailsPanel:false,detailsPanelHeight:80,defaultDetailsTab:0,defaultDetailsField:0})}else{var c=this.productsTab.getSelectionModel().getSelected()}this.dpDesignWindow=new com.hypermanager.data.DPDesignWindow({idApp:b.get("id"),prodRec:c,daWindow:this});this.dpDesignWindow.on("productUpdated",function(d){if(a){this.productsTab.getStore().add(new this.productsTabRecord(d));this.productsTab.getSelectionModel().selectLastRow()}else{c=new this.productsTabRecord(d)}},this);this.dpDesignWindow.show()}else{com.hypermanager.data.DataUtils.displayErrorMsg("Error",this.productsTabEditErrMsg)}}else{}},showResSolProductWindow:function(a){var b=com.hypermanager.security.SecurityMgr;if(b.isAuthorized(b.ROLE_DATA_APP_CREATE)){if(this.resSolObjects.appPanel.getSelectionModel().hasSelection()&&(this.resSolObjects.productsTab.getSelectionModel().hasSelection()||a)){this.resSolObjects.appPanel.stopEditing();var c=this.resSolObjects.appPanel.getSelectionModel().getSelected();if(a){var d=new this.resSolObjects.productsTabRecord({id:-1,ProductName:this.newProductName,Description:"",Owner:""})}else{var d=this.resSolObjects.productsTab.getSelectionModel().getSelected()}this.resSolObjects.dpDesignWindow=new com.hypermanager.resSolution.DPDesignWindow({idApp:c.get("id"),prodRec:d,daWindow:this});this.resSolObjects.dpDesignWindow.on("productUpdated",function(e){if(a){this.resSolObjects.productsTab.getStore().add(new this.resSolObjects.productsTabRecord(e));this.resSolObjects.productsTab.getSelectionModel().selectLastRow()}else{d=new this.resSolObjects.productsTabRecord(e)}},this);this.resSolObjects.dpDesignWindow.show()}else{com.hypermanager.data.DataUtils.displayErrorMsg("Error",this.productsTabEditErrMsg)}}else{}},createExtTab:function(){var b=com.hypermanager.security.SecurityMgr;var c=new Ext.data.Store({proxy:new Ext.data.MemoryProxy([]),reader:new Ext.data.ArrayReader({},[{name:"typeName",type:"string"},{name:"typeId",type:"int"}])});c.loadData([["resSolution",1],["Excel",2]]);var a=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:this.servletURL}),baseParams:{action:"getProductsList",idApp:0},reader:new Ext.data.JsonReader({root:"data"},[{name:"id",type:"int"},{name:"ProductName",type:"string"}])});this.extTab=new Ext.FormPanel({title:this.externTabTitle,bodyStyle:"padding: 10px;",frame:true,defaults:{anchor:"100%"},items:[{xtype:"combo",name:"ext-tab-type",fieldLabel:this.extTabTypeText,allowBlank:true,editable:false,triggerAction:"all",forceSelection:true,store:c,mode:"local",displayField:"typeName",valueField:"typeId",listeners:{scope:this,select:this.onTypeChanged}},{layout:"column",items:[{columnWidth:0.75,layout:"form",items:[{xtype:"textfield",name:"ext-tab-path",fieldLabel:this.extTabPathText,anchor:"100%",listeners:{scope:this,change:this.onValueChanged}}]},{columnWidth:0.25,layout:"form",items:[{xtype:"button",name:"ext-tab-browse",text:this.extTabBrowseText,anchor:"100%",icon:iconDir+"folder_explore.png",cls:"x-btn-text-icon",scope:this,handler:function(){var d=this.extTab.find("name","ext-tab-path")[0];browseWithAppLauncher(d!=null?d.getValue():null,false,this.onFileSelected,this)}}]}]},{xtype:"textfield",fieldLabel:"Web Service",name:"ext-tab-url",readOnly:true,hidden:true},{xtype:"combo",name:"ext-tab-product",fieldLabel:"Data Produkt",disabled:true,editable:false,hidden:true,store:a,displayField:"ProductName",valueField:"id",mode:"local",triggerAction:"all",listeners:{scope:this,select:this.onValueChanged}},{layout:"column",items:[{columnWidth:0.8,layout:"form",items:[{xtype:"checkbox",boxLabel:"Erste Spalte als ID f&uuml;r Abgleich verwenden",name:"ext-tab-checkbox",anchor:"100%",hideMode:"visibility",hidden:true,checked:true}]},{columnWidth:0.2,layout:"form",items:[{xtype:"button",text:this.extTabImportText,name:"ext-tab-import",anchor:"100%",disabled:true,scope:this,handler:this.onImportClicked}]}]}]})},onValueChanged:function(){var a=com.hypermanager.security.SecurityMgr;var c=this.extTab.find("name","ext-tab-type")[0].getValue();var b=this.extTab.find("name","ext-tab-path")[0];var d=this.extTab.find("name","ext-tab-product")[0];switch(c){case 1:this.extTab.find("name","ext-tab-url")[0].setVisible(true);this.extTab.find("name","ext-tab-product")[0].setVisible(false);this.extTab.find("name","ext-tab-product")[0].setDisabled(true);this.extTab.find("name","ext-tab-checkbox")[0].setVisible(false);break;case 2:this.extTab.find("name","ext-tab-url")[0].setVisible(false);this.extTab.find("name","ext-tab-product")[0].setVisible(true);this.extTab.find("name","ext-tab-product")[0].setDisabled(false);this.extTab.find("name","ext-tab-checkbox")[0].setVisible(true);break;default:this.extTab.find("name","ext-tab-url")[0].setVisible(false);this.extTab.find("name","ext-tab-product")[0].setVisible(false);this.extTab.find("name","ext-tab-product")[0].setDisabled(true);this.extTab.find("name","ext-tab-checkbox")[0].setVisible(false)}this.extTab.find("name","ext-tab-import")[0].setDisabled(true);if(c==1&&b.getValue()!=""){this.extTab.find("name","ext-tab-import")[0].setDisabled(!a.isAuthorized(a.ROLE_DATA_APP_CREATE))}if(c==2&&d.getValue()!=""&&b.getValue()!=""){this.extTab.find("name","ext-tab-import")[0].setDisabled(!a.isAuthorized(a.ROLE_DATA_APP_CREATE))}},onTypeChanged:function(){this.extTab.find("name","ext-tab-product")[0].reset();var a=this.extTab.find("name","ext-tab-product")[0].getStore();a.baseParams.idApp=this.idApp;a.load();this.onValueChanged()},onFileSelected:function(b){var a=this.extTab.find("name","ext-tab-path")[0];a.setValue(b);this.onValueChanged()},onImportClicked:function(){if(this.extTab.find("name","ext-tab-type")[0].getValue()==1){this.extTab.waitLoader=new Ext.ProgressBar({text:"LALALA",width:480});this.extTab.waitWindow=new Ext.Window({width:497,height:50,closable:false,resizable:false,collapsible:false,draggable:false,frame:true,plain:true,modal:true,title:"Importing...",items:this.extTab.waitLoader});this.extTab.waitLoader.wait({interval:50,duration:59000,increment:100});this.extTab.waitWindow.show();var a=this.extTab.find("name","ext-tab-path")[0];var c=a.getValue();var b=Ext.Ajax.request({url:this.servletURL,params:{action:"importFromResSolution",appId:this.appPanel.getSelectionModel().getSelected().data.id,path:c},scope:this,success:function(f,k){this.extTab.waitWindow.hide();this.extTab.waitLoader.reset(true);var h=Ext.util.JSON.decode(f.responseText);if((!h.success)||(h.success==false)){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error importing resSolution Database: "+h.msg)}else{Ext.Msg.alert("Status",this.textImportSuccessful);this.appPanel.getSelectionModel().getSelected().set("type",1);this.fieldsTab.getStore().load()}},failure:function(f,h){this.extTab.waitWindow.hide();this.extTab.waitLoader.reset(true);com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error importing resSolution Database")}})}if(this.extTab.find("name","ext-tab-type")[0].getValue()==2){this.waitMsg=new Ext.LoadMask(Ext.getBody(),{msg:"Importiere aus Excel..."});this.waitMsg.show();this.setDisabled(true);var e=this.extTab.find("name","ext-tab-product")[0].getValue();var a=this.extTab.find("name","ext-tab-path")[0];var c=a.getValue();var d=this.extTab.find("name","ext-tab-checkbox")[0].getValue();Ext.Ajax.request({url:ServletContext+"json/data",params:{action:"importFromExcel",appId:this.idApp,prodId:e,file:c,merge:d},scope:this,success:function(h,f){this.waitMsg.hide();Ext.Msg.alert("Status","Daten wurden importiert");this.setDisabled(false)},failure:function(h,f){this.waitMsg.hide();com.hypermanager.data.DataUtils.displayErrorMsg("Error","Daten wurden nicht importiert")}})}},createAppPanel:function(){var b=com.hypermanager.security.SecurityMgr;this.appPanelRecord=Ext.data.Record.create([{name:"id",type:"int"},{name:"Name",type:"string"},{name:"Description",type:"string"},{name:"Owner",type:"string"},{name:"type",type:"int"},{name:"ImportPath",type:"string"},{name:"currentUsersAce"}]);var c=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:this.servletURL}),baseParams:{action:"getApplicationsList"},reader:new Ext.data.JsonReader({root:"data"},this.appPanelRecord)});var a=new Ext.grid.ColumnModel([{header:this.dataAppColTitle,dataIndex:"Name",id:"Name"}]);this.appPanel=new Ext.grid.GridPanel({region:"west",width:185,resizable:false,titlebar:true,title:"Data Application List",header:false,ds:c,cm:a,enableDragDrop:false,enableHdMenu:false,enableColumnResize:false,enableColumnHide:false,autoExpandColumn:"Name",autoScroll:"true",border:false,selModel:new Ext.grid.RowSelectionModel({singleSelect:true}),bbar:[{cls:"x-btn-text-icon",text:this.dataAppNewButtonText,tooltip:this.dataAppNewButtonTtip,minWidth:50,handler:this.addNewDataApplication,scope:this,icon:iconDir+"add.png",hidden:!b.isAuthorized(b.ROLE_DATA_APP_CREATE)},{cls:"x-btn-text-icon",text:this.dataAppDelButtonText,tooltip:this.dataAppDelButtonTtip,minWidth:50,handler:this.deleteDataApplication,scope:this,icon:iconDir+"delete.png",disabled:true}]});c.load();c.on("load",function(){this.idApp==-1?this.doSelectFirstApp.defer(50,this):this.doSelectApp.defer(50,this)},this);this.appPanel.getSelectionModel().addListener("rowselect",this.onAppSelected,this,{delay:100})},onAppSelected:function(h,k,d){this.idApp=d.get("id");this.authAdmin=d.get("currentUsersAce").admin;this.authDpAdmin=d.get("currentUsersAce").dpAdmin;var n=this.generalTab.find("name","gen-tab-name")[0];n.setValue(d.get("Name"));n.setReadOnly(!this.authAdmin);var l=this.generalTab.find("name","gen-tab-owner")[0];l.setValue(d.get("Owner"));l.setReadOnly(!this.authAdmin);var e=this.generalTab.find("name","gen-tab-desc")[0];e.setValue(d.get("Description"));e.setReadOnly(!this.authAdmin);var b=this.fieldsTab.getStore();b.removeAll();b.baseParams.id=d.get("id");b.reload();this.productsTab.getStore().removeAll();this.productsTab.getStore().baseParams.idApp=d.get("id");this.productsTab.getStore().load();this.productsTab.getStore().on("load",function(){this.idProd==-1?this.doSelectFirstProduct:this.doSelectProduct.defer(50,this)},this);var a=this.productsTab.getBottomToolbar();a.getComponent(0).setDisabled(!this.authDpAdmin);a.getComponent(1).setDisabled(!this.authDpAdmin);a.getComponent(2).setDisabled(!this.authDpAdmin);a=this.fieldsTab.getBottomToolbar();a.getComponent(0).setDisabled(!this.authAdmin);a.getComponent(1).setDisabled(!this.authAdmin);this.appPanel.getBottomToolbar().getComponent(1).setDisabled(!this.authAdmin);if(this.permissionGridPanel!=null){if(this.permissionGridPanel.isVisible()){this.onHmTabChanged(this.hmObjects.tabsPanel,this.permissionGridPanel)}this.permissionGridPanel.setDisabled(!this.authAdmin)}if(!this.authAdmin){this.extTab.setDisabled(true)}else{this.extTab.setDisabled(false);var c=this.extTab.find("name","ext-tab-path")[0];var f=this.extTab.find("name","ext-tab-url")[0];var m=this.extTab.find("name","ext-tab-type")[0];c.setValue(d.get("ImportPath"));switch(d.get("type")){case 1:m.setValue(1);f.setValue(com.hypermanager.util.LinkUtils.getBaseUrl()+"/json/external?action=resSolution&appId="+this.idApp+"&recId=");break;case 2:m.setValue(2);break;default:m.setValue("");f.setValue("")}m.fireEvent("select")}},addNewDataApplication:function(){var a=function(b,e){if(b="ok"){if(e.length>0){var c=new this.appPanelRecord({Name:e,id:1});var d=Ext.Ajax.request({url:this.servletURL,params:{action:"addApplication",Name:e},scope:this,success:function(f,h){if(f.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error creating a new DataApplication.")}else{var k=Ext.util.JSON.decode(f.responseText);c.set("id",k.app.id);c.set("currentUsersAce",k.app.currentUsersAce);this.appPanel.getStore().add(c);this.appPanel.getSelectionModel().selectLastRow();this.appPanel.getView().focusRow(this.appPanel.getStore().getCount()-1)}},failure:function(f,h){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error creating a new DataApplication.")}})}else{Ext.MessageBox.alert(this.dataAppNewErrMsgTitle,this.dataAppNewErrMsg)}}};Ext.MessageBox.prompt(this.dataAppNewMsgTitle,this.dataAppNewMsg,a.createDelegate(this),this)},deleteDataApplication:function(){if(this.appPanel.getSelectionModel().hasSelection()){this.appPanel.stopEditing();var b=this.appPanel.getSelectionModel().getSelected();var a=function(c){if(c=="yes"){var d=Ext.Ajax.request({url:this.servletURL,params:{action:"deleteApplication",idApp:b.data.id},scope:this,success:function(e,f){if(e.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error deleting the DataApplication.")}else{if(!this.appPanel.getSelectionModel().selectPrevious(false)){this.appPanel.getSelectionModel().selectNext(false)}this.appPanel.getStore().remove(b)}},failure:function(e,f){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error deleting the DataApplication.")}})}};Ext.MessageBox.confirm(this.dataAppDelMsgTitle,this.dataAppDelMsg(b.data.Name),a,this)}else{com.hypermanager.data.DataUtils.displayErrorMsg("Error",this.dataAppDelErrMsg)}},createPermissionTab:function(){this.permissionGridPanel=new com.hypermanager.security.PermissionGridPanel({height:400,title:this.permissionTabTitle,persistDirectly:true,objectType:com.hypermanager.objects.ObjectTypes.type_dataproduct})},onHmTabChanged:function(a,b){if(b==this.permissionGridPanel&&this.appPanel.getSelectionModel().hasSelection()){var d=this.appPanel.getSelectionModel().getSelected();var c={objectType:com.hypermanager.objects.ObjectTypes.type_dataproduct,foreignKey:d.get("id")};this.permissionGridPanel.getStore().load({params:{object:Ext.util.JSON.encode(c)}});this.permissionGridPanel.object=c}},doSelectFirstField:function(){var a=this.fieldsTab.getStore();if((a)&&(this.hmObjects.tabsPanel.getActiveTab().getId()=="tab-fields")&&(a.getCount()>0)){this.fieldsTab.getSelectionModel().select(0,0);this.fieldsTab.getView().focusRow(0)}},doSelectFirstProduct:function(){var a=this.productsTab.getStore();if((a)&&(this.hmObjects.tabsPanel.getActiveTab().getId()=="tab-products")&&(a.getCount()>0)){this.productsTab.getSelectionModel().selectFirstRow();this.productsTab.getView().focusRow(0)}},doSelectFirstApp:function(){var a=this.appPanel.getStore();if((a)&&(a.getCount()>0)){this.appPanel.getSelectionModel().selectFirstRow();this.appPanel.getView().focusRow(0)}},doSelectApp:function(){var a=this.appPanel.getStore();if((a)&&(a.getCount()>0)){var b=a.findExact("id",this.idApp);this.appPanel.getSelectionModel().selectRow(b);this.appPanel.getView().focusRow(b)}},doSelectProduct:function(){var a=this.productsTab.getStore();if((a)&&(a.getCount()>0)){var b=a.find("id",this.idProd);this.productsTab.getSelectionModel().selectRow(b);this.productsTab.getView().focusRow(b);this.showDataProductWindow();this.idProd=-1}},onAppPanelViewReady:function(){this.doSelectApp()}});Ext.namespace("com.hypermanager.data");com.hypermanager.data.DPDesignWindow=Ext.extend(Ext.Window,{servletURL:ServletContext+"json/data",idProd:null,initialValues:{detailsPanel:{active:null,height:null,defautTab:null,defaultField:null}},detailsPanelDefaultFieldDS:null,optionsPanel:null,topPanel:null,ownerCol:"Owner",productNameCol:"ProductName",descriptionCol:"Description",detailsPanelCol:"detailsPanel",detailsPanelHeightCol:"detailsPanelHeight",defaultDetailsTabCol:"defaultDetailsTab",defaultDetailsFieldCol:"defaultDetailsField",title:"Product",fieldColTitle:"Field",nameColTitle:"Name",widthColTitle:"Width",fontStyleColTitle:"Font style",fontSizeColTitle:"Font size",alignColTitle:"Align",valueListColTitle:"Value List",displayInColTitle:"Display in",alignComboLeftOption:"Left",alignComboRightOption:"Right",alignComboCenterOption:"Center",valueListComboOption1:"Value",valueListComboOption2:"Description",valueListComboOption3:"Value (Description)",valueListComboOption4:"Icon",displayInOption1:"Grid",displayInOption2:"Details",displayInOption3:"Grid & Details",optionsPanelTitle:"Options",detailsPanelText:{heightText:"Details panel height",activeText:"Display details panel",defaultTabText:"Default Tab",defaultFieldText:"Default Field",defaultTabComboOption1:"List",defaultTabComboOption2:"Field"},windowCancelButtonText:"Cancel",productName:"Name",productDescription:"Description",productOwner:"Owner",heightNotValidText:"The value must be between 80 and 400.",initComponent:function(){var a={};this.buildConfig(a);this.addEvents({productUpdated:true});Ext.apply(this,Ext.apply(this.initialConfig,a));com.hypermanager.data.DPDesignWindow.superclass.initComponent.call(this)},buildConfig:function(a){Ext.apply(a,{modal:true,width:790,height:440,shadow:true,resizable:false,layout:"border",minimizable:false,listeners:{show:{scope:this,fn:function(){this.topPanel.getForm().findField(this.productNameCol).focus(true)}}}});this.buildItems(a);this.buildButtons(a)},buildItems:function(a){this.idProd=this.prodRec.get("id");this.initialValues.detailsPanel.active=this.prodRec.get("detailsPanel");this.initialValues.detailsPanel.height=this.prodRec.get("detailsPanelHeight");this.initialValues.detailsPanel.defaultTab=this.prodRec.get("defaultDetailsTab");this.initialValues.detailsPanel.defaultField=this.prodRec.get("defaultDetailsField");this.optionsPanel=this.createOptionsPanel();this.ds1Record=Ext.data.Record.create([{name:"id",type:"int"},{name:"DataField",type:"string"},{name:"FieldName",type:"string"},{name:"Width",type:"int"},{name:"ValueList",type:"int"},{name:"DisplayIn",type:"int"},{name:"Align",type:"int"},{name:"GUI_Index",type:"int"}]);this.ds1=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:this.servletURL}),baseParams:{action:"getProductFields",id:this.idProd},reader:new Ext.data.JsonReader({root:"data"},this.ds1Record)});this.ds1Default={id:1234,DataField:"",FieldName:"",Width:50,ValueList:0,DisplayIn:0,Align:1,GUI_Index:0};var k=[[this.alignComboLeftOption,1],[this.alignComboRightOption,2],[this.alignComboCenterOption,3]];var n=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(k),reader:new Ext.data.ArrayReader({},[{name:"AlignName",type:"string"},{name:"AlignId",type:"int"}])});n.load();var c=new Ext.form.ComboBox({store:n,displayField:"AlignName",valueField:"AlignId",typeAhead:true,mode:"local",lazyRender:true,triggerAction:"all",emptyText:"",selectOnFocus:false,editable:false,forceSelection:true});var h=function(s){var r=n.find("AlignId",s);if(r!=-1){return(n.getAt(r).get("AlignName"))}return"Default"};var m=[[this.valueListComboOption1,0],[this.valueListComboOption2,1],[this.valueListComboOption3,2],[this.valueListComboOption4,3]];var b=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(m),reader:new Ext.data.ArrayReader({},[{name:"ValueListName",type:"string"},{name:"ValueListId",type:"int"}])});b.load();var e=new Ext.form.ComboBox({store:b,displayField:"ValueListName",valueField:"ValueListId",typeAhead:true,mode:"local",lazyRender:true,triggerAction:"all",emptyText:"",selectOnFocus:false,editable:false,forceSelection:true});var f=function(s){var r=b.find("ValueListId",s);if(r!=-1){return(b.getAt(r).get("ValueListName"))}return"Default"};var o=[[this.displayInOption1,0],[this.displayInOption2,1],[this.displayInOption3,2]];var l=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(o),reader:new Ext.data.ArrayReader({},[{name:"displayInName",type:"string"},{name:"displayInId",type:"int"}])});l.load();var q=new Ext.form.ComboBox({store:l,displayField:"displayInName",valueField:"displayInId",typeAhead:true,mode:"local",lazyRender:true,triggerAction:"all",emptyText:"",selectOnFocus:false,editable:false,forceSelection:true});var p=function(s){var r=l.find("displayInId",s);if(r!=-1){return(l.getAt(r).get("displayInName"))}return"Default"};this.cm1=new Ext.grid.ColumnModel([{header:"id",dataIndex:"id",width:50,hidden:true},{header:this.fieldColTitle,dataIndex:"DataField",width:124},{header:this.nameColTitle,dataIndex:"FieldName",width:124,editor:new Ext.form.TextField()},{header:this.widthColTitle,dataIndex:"Width",width:50,align:"right",editor:new Ext.form.NumberField({decimalPrecision:0})},{header:this.alignColTitle,dataIndex:"Align",width:70,align:"center",editor:c,renderer:h},{header:this.valueListColTitle,dataIndex:"ValueList",align:"center",width:70,editor:e,renderer:f},{header:this.displayInColTitle,dataIndex:"DisplayIn",align:"center",width:100,editor:q,renderer:p}]);this.grid1=new Ext.grid.EditorGridPanel({region:"west",enableColLock:true,enableHdMenu:false,enableColumnResize:false,ds:this.ds1,cm:this.cm1,width:560,height:400,titlebar:false,autoScroll:true,resizable:false,selModel:new Ext.grid.RowSelectionModel({singleSelect:true}),enableDragDrop:true});this.grid1.ddGroup="ProductFeildsDD";this.ds2Record=Ext.data.Record.create([{name:"id",type:"int"},{name:"FieldName",type:"string"},{name:"isAvailable",type:"boolean"},{name:"Type",type:"string"}]);this.ds2=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:this.servletURL}),baseParams:{action:"getApplicationFields",id:this.idApp},reader:new Ext.data.JsonReader({root:"data"},this.ds2Record)});function d(t,s,r){if(r.data.isAvailable){return t}return'<div style="color:#AAAAAA;">'+t+"</div>"}this.cm2=new Ext.grid.ColumnModel([{header:this.fieldColTitle,dataIndex:"FieldName",width:128,renderer:d},{header:"ID",dataIndex:"id",width:50,renderer:d,hidden:true}]);this.grid2=new Ext.grid.GridPanel({region:"east",width:150,titlebar:false,autoScroll:true,resizable:false,enableColLock:true,enableHdMenu:false,enableColumnResize:false,ds:this.ds2,cm:this.cm2,selModel:new Ext.grid.RowSelectionModel({singleSelect:true})});this.mainPanel=new Ext.Panel({region:"center",titlebar:true,bodyBorder:false,border:false,layout:"border",items:[this.grid1,this.createCenterButtonsPanel(),this.grid2]});this.ds1.load({callback:this.loadDS2,scope:this});this.grid2.addListener("rowdblclick",this.doRowDblClick2,this);this.grid1.addListener("render",this.createDropTarget,this);this.topPanel=this.createTopPanel();a.items=[this.topPanel,this.mainPanel,this.optionsPanel]},buildButtons:function(a){a.buttons=[{text:"OK",handler:this.doCommitChanges,scope:this},{text:this.windowCancelButtonText,handler:this.close,scope:this}]},createCenterButtonsPanel:function(){var a=new Ext.Panel({layout:"vbox",layoutConfig:{align:"stretch",pack:"start"},region:"center",items:[{xtype:"button",text:"&lt;",style:"padding:20px 0px 0px 5px;",handler:this.doAddSingle,scope:this,flex:1},{xtype:"button",text:"&lt;&lt;",style:"padding:20px 0px 0px 5px;",handler:this.doAddAll,scope:this,flex:1},{xtype:"button",text:"&gt;&gt;",style:"padding:20px 0px 0px 5px;",handler:this.doRemoveAll,scope:this,flex:1},{xtype:"button",text:"&gt;",style:"padding:20px 0px 0px 5px;",handler:this.doRemoveSingle,scope:this,flex:1}]});return a},createOptionsPanel:function(){var d=this.createDetailsPanelCheckBox();var b=this.createDetailsPanelHeightTextField();var a=this.createDetailsPanelDefaultTabCombo();var c=this.createDetailsPanelDefaultFieldComboBox();return new Ext.form.FormPanel({region:"south",title:this.optionsPanelTitle,height:60,resizable:false,frame:true,items:[{layout:"column",border:true,items:[{columnWidth:0.2,items:[{layout:"form",hideLabels:true,items:[d]}]},{columnWidth:0.26,items:[{layout:"form",labelWidth:115,items:[b]}]},{columnWidth:0.26,items:[{layout:"form",labelWidth:100,items:[a]}]},{columnWidth:0.28,items:[{layout:"form",labelWidth:80,items:[c]}]}]}]})},createDetailsPanelCheckBox:function(){return new Ext.form.Checkbox({boxLabel:this.detailsPanelText.activeText,name:this.detailsPanelCol,anchor:"95%",checked:this.initialValues.detailsPanel.active,listeners:{check:function(b,a){this.optionsPanel.getForm().findField(this.detailsPanelHeightCol).setDisabled(!a);this.optionsPanel.getForm().findField(this.defaultDetailsTabCol).setDisabled(!a);this.optionsPanel.getForm().findField(this.defaultDetailsFieldCol).setDisabled(!a)},scope:this}})},createDetailsPanelHeightTextField:function(){return new Ext.form.TextField({fieldLabel:this.detailsPanelText.heightText,name:this.detailsPanelHeightCol,anchor:"95%",value:this.initialValues.detailsPanel.height,disabled:!this.initialValues.detailsPanel.active,validator:function(a){if((a>=80)&&(a<=400)){return true}return this.heightNotValidText}.createDelegate(this)})},createDetailsPanelDefaultTabCombo:function(){var a=new Ext.data.Store({proxy:new Ext.data.MemoryProxy([[this.detailsPanelText.defaultTabComboOption1,0],[this.detailsPanelText.defaultTabComboOption2,1]]),reader:new Ext.data.ArrayReader({},[{name:"TabName",type:"string"},{name:"TabId",type:"int"}])});a.load();return new Ext.form.ComboBox({name:this.defaultDetailsTabCol,store:a,displayField:"TabName",valueField:"TabId",typeAhead:true,mode:"local",triggerAction:"all",emptyText:"",selectOnFocus:false,editable:false,forceSelection:true,fieldLabel:this.detailsPanelText.defaultTabText,width:80,disabled:!this.initialValues.detailsPanel.active,value:this.initialValues.detailsPanel.defaultTab})},createDetailsPanelDefaultFieldComboBox:function(){this.detailsPanelDefaultFieldDS=new Ext.data.Store({proxy:new Ext.data.MemoryProxy([]),reader:new Ext.data.ArrayReader({},[{name:"FieldName",type:"string"},{name:"id",type:"int"}])});this.detailsPanelDefaultFieldDS.load();return new Ext.form.ComboBox({name:this.defaultDetailsFieldCol,store:this.detailsPanelDefaultFieldDS,displayField:"FieldName",valueField:"id",typeAhead:true,mode:"local",triggerAction:"all",emptyText:"",selectOnFocus:false,editable:false,forceSelection:true,fieldLabel:this.detailsPanelText.defaultFieldText,disabled:!this.initialValues.detailsPanel.active,width:120})},createTopPanel:function(){return new Ext.form.FormPanel({region:"north",height:38,resizable:false,frame:true,items:[{layout:"column",items:[{columnWidth:0.29,xtype:"form",labelWidth:40,items:[{xtype:"textfield",width:160,fieldLabel:this.productName,name:this.productNameCol,value:this.prodRec!=null?this.prodRec.get(this.productNameCol):this.newProductName}]},{columnWidth:0.2,xtype:"form",labelWidth:50,items:[{xtype:"textfield",width:85,fieldLabel:this.productOwner,name:this.ownerCol,value:this.prodRec!=null?this.prodRec.get(this.ownerCol):com.hypermanager.security.SecurityMgr.username}]},{columnWidth:0.51,xtype:"form",labelWidth:80,items:[{xtype:"textfield",width:300,fieldLabel:this.productDescription,name:this.descriptionCol,value:this.prodRec!=null?this.prodRec.get(this.descriptionCol):""}]}]}]})},updateDetailsPanelDefaultFieldComboBox:function(){var c=new Array();for(var b=0;b<this.ds2.getCount();b++){var a=this.ds2.getAt(b);if(a.get("Type")=="2"){c.push([a.get("FieldName"),a.get("id")])}}this.detailsPanelDefaultFieldDS.loadData(c);if(this.initialValues.detailsPanel.defaultField){this.optionsPanel.getForm().findField(this.defaultDetailsFieldCol).setValue(this.initialValues.detailsPanel.defaultField)}},doRowDblClick2:function(b,f,c){var a=this.ds2.getAt(f);if(a.data.isAvailable){a.data.isAvailable=false;recdata=this.cloneObject(this.ds1Default);recdata.DataField=a.data.FieldName;recdata.FieldName=a.data.FieldName;recdata.id=a.data.id;var d=new this.ds1Record(recdata);this.ds1.add(d);this.grid2.getView().refresh()}},doAddSingle:function(){if(this.grid2.getSelectionModel().hasSelection()){var a=this.grid2.getSelectionModel().getSelected();if(a.data.isAvailable){a.data.isAvailable=false;recdata=this.cloneObject(this.ds1Default);recdata.DataField=a.data.FieldName;recdata.FieldName=a.data.FieldName;recdata.id=a.data.id;var b=new this.ds1Record(recdata);this.ds1.add(b);this.grid2.getView().refresh()}}},doAddAll:function(){for(i=0;i<this.ds2.getCount();i++){var a=this.ds2.getAt(i);if(a.data.isAvailable){a.data.isAvailable=false;recdata=this.cloneObject(this.ds1Default);recdata.DataField=a.data.FieldName;recdata.FieldName=a.data.FieldName;recdata.id=a.data.id;var b=new this.ds1Record(recdata);this.ds1.add(b)}}this.grid2.getView().refresh()},doRemoveSingle:function(){if(this.grid1.getSelectionModel().hasSelection()){var a=this.grid1.getSelectionModel().getSelected();var b=this.getRecByID(this.ds2,a.data.id);if(!b.data.isAvailable){b.data.isAvailable=true;this.ds1.remove(a);this.grid2.getView().refresh()}}},doRemoveAll:function(){for(j=0;j<this.ds1.getCount();j++){var a=this.getRecByID(this.ds2,this.ds1.getAt(j).data.id);a.data.isAvailable=true}this.grid2.getView().refresh();this.ds1.removeAll()},cloneObject:function(a){var b={};for(prop in a){b[prop]=a[prop]}return b},getRecByID:function(b,c){for(i=0;i<b.getCount();i++){var a=b.getAt(i);if(a.data.id==c){return a}}return null},loadDS2:function(){this.ds2.load({callback:this.afterLoad,scope:this})},afterLoad:function(){var a;for(a=0;a<this.ds2.getCount();a++){this.ds2.getAt(a).data.isAvailable=true}for(j=0;j<this.ds1.getCount();j++){this.getRecByID(this.ds2,this.ds1.getAt(j).data.id).data.isAvailable=false}this.grid2.getView().refresh();this.updateDetailsPanelDefaultFieldComboBox()},doCommitChanges:function(){var a="[";for(i=0;i<this.ds1.getCount();i++){var d=this.ds1.getAt(i);d.data.GUI_Index=i+1;a+=Ext.util.JSON.encode(d.data);if(i<this.ds1.getCount()-1){a+=","}}a+="]";this.prodRec.set(this.detailsPanelCol,this.optionsPanel.getForm().findField(this.detailsPanelCol).getValue());this.prodRec.set(this.detailsPanelHeightCol,this.optionsPanel.getForm().findField(this.detailsPanelHeightCol).getValue());this.prodRec.set(this.defaultDetailsTabCol,this.optionsPanel.getForm().findField(this.defaultDetailsTabCol).getValue());var b=this.optionsPanel.getForm().findField(this.defaultDetailsFieldCol).getValue();if(!b){b=80}this.prodRec.set(this.defaultDetailsFieldCol,b);this.prodRec.set(this.productNameCol,this.topPanel.getForm().findField(this.productNameCol).getValue());this.prodRec.set(this.descriptionCol,this.topPanel.getForm().findField(this.descriptionCol).getValue());this.prodRec.set(this.ownerCol,this.topPanel.getForm().findField(this.ownerCol).getValue());var c=Ext.Ajax.request({url:this.servletURL,params:{action:"storeProduct",idApp:this.idApp,product:Ext.util.JSON.encode(this.prodRec.data),fields:a},scope:this,success:function(e,f){if(e.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error updating DataProduct")}else{var h=Ext.util.JSON.decode(e.responseText);this.fireEvent("productUpdated",h.product,this);this.hide();this.close()}},failure:function(e,f){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error updating DataProduct")}})},createDropTarget:function(a){var b=new com.hypermanager.data.ObservableGridDropTarget({grid:a});b.addListener("afterDrop",this.onAfterDrop,this);Ext.dd.ScrollManager.register(a.getView().getEditorParent())},onAfterDrop:function(a,c){var b=this.grid1.getStore();b.remove(a);b.insert(c,a);this.grid1.getSelectionModel().selectRow(c)}});InfoWindow=Ext.extend(Ext.Window,{initComponent:function(){var a={};this.buildConfig(a);Ext.apply(this,Ext.apply(this.initialConfig,a));InfoWindow.superclass.initComponent.call(this)},buildConfig:function(a){Ext.apply(a,{modal:true,width:500,height:470,shadow:true,resizable:false,layout:"border",title:"Info",closable:false,buttonAlign:"center",closeAction:"hide"});this.buildItems(a);this.buildButtons(a)},buildItems:function(a){a.items=[{xtype:"panel",region:"center",defaults:{autoScroll:true},initialSize:620,titlebar:false,resizable:false,autoLoad:ServletContext+"info?action=getInfoHtml"}]},buildButtons:function(a){a.buttons=[{text:"OK",handler:function(){this.hide()},scope:this}]}});Ext.namespace("com.hypermanager.data");com.hypermanager.data.StandaloneDPPanel=Ext.extend(Ext.Panel,{servletURL:ServletContext+"json/alert",title:"Scheuring hyperManager: Standalone Dataproduct",preFilterTitle:"Pre-Filter",prefilterControl:null,dataApp:null,hisAttrDataProduct:"dpid",hisAttrDataRec:"drid",hisAttrDataField:"dfid",initComponent:function(){var a={};this.buildConfig(a);Ext.apply(this,Ext.apply(this.initialConfig,a));com.hypermanager.data.StandaloneDPPanel.superclass.initComponent.call(this)},buildConfig:function(a){Ext.apply(a,{layout:"border",border:false,listeners:{render:{scope:this,fn:function(b){this.createPreFilterControl();this.loadDataProduct()}}},buttonAlign:"center"});this.buildItems(a)},buildItems:function(a){this.dataApp=new com.hypermanager.data.DPGridPanel();a.items=[{title:this.preFilterTitle,region:"west",width:200,minWidth:120,maxWidth:300,boxMinWidth:120,boxMaxWidth:300,iconCls:"prefilter-icon",cls:"object-panel",autoScroll:true,split:true,titleCollapse:true,collapsible:true,items:[]},{region:"center",border:false,layout:"fit",items:[this.dataApp]}]},createPreFilterControl:function(){},loadDataProduct:function(){var a=hMhistory.registerHistoryComponent(this.hisAttrDataProduct,this.onHistoryChangedProduct,this);if(a&&a>=0){this.dataApp.on("afterProductChange",function(b){if(!this.prefilterControl){this.prefilterControl=new com.hypermanager.filter.PreFilterControl(this.getComponent(0),b);this.prefilterControl.tree.on({click:{scope:this,fn:function(c,d){this.dataApp.setPreFilterID(c.attributes.nodeId)}}})}else{this.prefilterControl.loadPreFilter(b)}},this);this.dataApp.setProductIDF.call(this.dataApp,a,-1)}},onHistoryChangedProduct:function(b){if(b&&b>=0){var a=this.getObjectById(b);if(a){this.objectTree.getSelectionModel().select(a);this.onObjectClicked(a)}}}});Ext.ux.SelectBox=function(a){this.searchResetDelay=1000;a=a||{};a=Ext.apply(a||{},{editable:false,forceSelection:true,rowHeight:false,lastSearchTerm:false,triggerAction:"all",mode:"local"});Ext.ux.SelectBox.superclass.constructor.apply(this,arguments);this.lastSelectedIndex=this.selectedIndex||0};Ext.extend(Ext.ux.SelectBox,Ext.form.ComboBox,{lazyInit:false,initEvents:function(){Ext.ux.SelectBox.superclass.initEvents.apply(this,arguments);this.el.on("keydown",this.keySearch,this,true);this.cshTask=new Ext.util.DelayedTask(this.clearSearchHistory,this)},keySearch:function(f,d,b){var a=f.getKey();var c=String.fromCharCode(a);var h=0;if(!this.store.getCount()){return}switch(a){case Ext.EventObject.HOME:f.stopEvent();this.selectFirst();return;case Ext.EventObject.END:f.stopEvent();this.selectLast();return;case Ext.EventObject.PAGEDOWN:this.selectNextPage();f.stopEvent();return;case Ext.EventObject.PAGEUP:this.selectPrevPage();f.stopEvent();return}if((f.hasModifier()&&!f.shiftKey)||f.isNavKeyPress()||f.isSpecialKey()){return}if(this.lastSearchTerm==c){h=this.lastSelectedIndex}this.search(this.displayField,c,h);this.cshTask.delay(this.searchResetDelay)},onRender:function(b,a){this.store.on("load",this.calcRowsPerPage,this);Ext.ux.SelectBox.superclass.onRender.apply(this,arguments);if(this.mode=="local"){this.calcRowsPerPage()}},onSelect:function(a,c,b){if(this.fireEvent("beforeselect",this,a,c)!==false){this.setValue(a.data[this.valueField||this.displayField]);if(!b){this.collapse()}this.lastSelectedIndex=c+1;this.fireEvent("select",this,a,c)}},render:function(a){Ext.ux.SelectBox.superclass.render.apply(this,arguments);if(Ext.isSafari){this.el.swallowEvent("mousedown",true)}this.el.unselectable();this.innerList.unselectable();this.trigger.unselectable();this.innerList.on("mouseup",function(d,c,b){if(c.id&&c.id==this.innerList.id){return}this.onViewClick()},this);this.innerList.on("mouseover",function(d,c,b){if(c.id&&c.id==this.innerList.id){return}this.lastSelectedIndex=this.view.getSelectedIndexes()[0]+1;this.cshTask.delay(this.searchResetDelay)},this);this.trigger.un("click",this.onTriggerClick,this);this.trigger.on("mousedown",function(d,c,b){d.preventDefault();this.onTriggerClick()},this);this.on("collapse",function(d,c,b){Ext.getDoc().un("mouseup",this.collapseIf,this)},this,true);this.on("expand",function(d,c,b){Ext.getDoc().on("mouseup",this.collapseIf,this)},this,true);return this},clearSearchHistory:function(){this.lastSelectedIndex=0;this.lastSearchTerm=false},selectFirst:function(){this.focusAndSelect(this.store.data.first())},selectLast:function(){this.focusAndSelect(this.store.data.last())},selectPrevPage:function(){if(!this.rowHeight){return}var a=Math.max(this.selectedIndex-this.rowsPerPage,0);this.focusAndSelect(this.store.getAt(a))},selectNextPage:function(){if(!this.rowHeight){return}var a=Math.min(this.selectedIndex+this.rowsPerPage,this.store.getCount()-1);this.focusAndSelect(this.store.getAt(a))},search:function(c,b,d){c=c||this.displayField;this.lastSearchTerm=b;var a=this.store.find.apply(this.store,arguments);if(a!==-1){this.focusAndSelect(a)}},focusAndSelect:function(a){var b=typeof a==="number"?a:this.store.indexOf(a);this.select(b,this.isExpanded());this.onSelect(this.store.getAt(b),b,this.isExpanded())},calcRowsPerPage:function(){if(this.store.getCount()){this.rowHeight=Ext.fly(this.view.getNode(0)).getHeight();this.rowsPerPage=this.maxHeight/this.rowHeight}else{this.rowHeight=false}}});Ext.reg("selectbox",Ext.ux.SelectBox);Ext.namespace("com.hypermanager.filter");com.hypermanager.filter.PreFilterWindow=function(a){this.addEvents("afterconditionssaved");com.hypermanager.filter.PreFilterWindow.superclass.constructor.call(this,a)};Ext.extend(com.hypermanager.filter.PreFilterWindow,Ext.Window,{windowTitleText:"Pre-Filter",paneltitleText:"Criteria",operationcolText:"Operation",fieldcolText:"Field",relationcolText:"Relation",valuecolText:"Value",addcriterionText:"Add",removecriterionText:"Delete",cancelbuttonText:"Cancel",okaybuttonText:"OK",fieldlabelText:"Name",containsrelText:"contains",equalsrelText:"equals",notequalsrelText:"doesn't match",smallerrelText:"less than",greaterrelText:"greater than",lessequalText:"less or equal",greaterequalText:"greater or equal",startswithText:"starts with",limitTitle:"Limit reached",limitMsg:"For performance reasons the maximum number of filter conditions is limited to 25.",servletURL:ServletContext+"json/prefilter",initComponent:function(){var a={};this.buildConfig(a);Ext.apply(this,Ext.apply(this.initialConfig,a));com.hypermanager.filter.PreFilterWindow.superclass.initComponent.call(this)},buildConfig:function(a){Ext.apply(a,{title:this.windowTitleText,width:700,height:397,shadow:true,resizable:false,minimizable:false,iconCls:"prefilter-icon",buttonAlign:"center"});this.buildItems(a);this.buildButtons(a)},buildItems:function(a){a.items=[{autoHeight:true,border:false,items:[{region:"north",xtype:"form",height:42,labelAlign:"left",labelWidth:50,frame:true,bodyStyle:"padding:5px 5px 0",items:[{fieldLabel:"Name",labelStyle:"font-weight: bold;",xtype:"textfield",allowBlank:false,name:"filtername",id:"filtername",value:this.name,width:150}]},{region:"center",title:this.paneltitleText,border:true,height:290,layout:"border",items:[this.createConditionsGrid(),this.createCenterButtonPanel(),this.createFieldsGrid()],bbar:this.createBToolbar()}]}]},buildButtons:function(a){a.buttons=[{text:this.okaybuttonText,scope:this,minWidth:75,handler:this.onOkay},{text:this.cancelbuttonText,scope:this,minWidth:75,handler:this.onClose}]},createBToolbar:function(){var a=new Ext.Toolbar([{xtype:"button",text:this.addcriterionText,tooltip:"Adds Criterion with the selected Field at the end.",handler:this.doAddSingle,scope:this,icon:iconDir+"add.png",cls:"x-btn-text-icon"},{xtype:"button",text:this.removecriterionText,tooltip:"Deletes the selected Criterion.",handler:this.doRemoveSingle,scope:this,icon:iconDir+"delete.png",cls:"x-btn-text-icon"}]);return a},createConditionsGrid:function(){relOperator=new Object();relOperator.allowedTypes=[["AND"],["OR"]];var d=Ext.data.Record.create([{name:"relOperator",type:"string"}]);relOperator.ds=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(relOperator.allowedTypes),reader:new Ext.data.ArrayReader({},d)});relOperator.combo=new Ext.ux.SelectBox({store:relOperator.ds,displayField:"relOperator",valueField:"relOperator"});relOperator.ds.load();var b=Ext.data.Record.create([{name:"id",type:"int"},{name:"FieldName",type:"string"},{name:"Type",type:"int"}]);this.dsFields=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:this.servletURL}),baseParams:{action:"getAppFields",preFilterId:this.preFilterId},reader:new Ext.data.JsonReader({root:"data"},b),listeners:{load:{scope:this,fn:function(f){var h=this.findById("filtername");h.focus();h.selectText()}}}});this.fieldCombo=new Ext.ux.SelectBox({store:this.dsFields,displayField:"FieldName",valueField:"id"});function e(h,k,f){if(typeof h=="object"){if(h.data&&h.data.items){if(h.data.items.length===0){return"Empty..."}return"Details..."}return"--Invalid Object--"+h}index=this.dsFields.find("id",h);if(index!=-1){return(this.dsFields.getAt(index).get("FieldName"))}}comparisonCombo=new Object();comparisonCombo.allowedTypes=[["&#x2248; ("+this.containsrelText+")",1],["= ("+this.equalsrelText+")",2],["&#x2260; ("+this.notequalsrelText+")",3],["< ("+this.smallerrelText+")",4],["> ("+this.greaterrelText+")",5],["&#x2264; ("+this.lessequalText+")",6],["&#x2265; ("+this.greaterequalText+")",7],["&#x2248; ("+this.startswithText+")",8]];var a=Ext.data.Record.create([{name:"TypeName",type:"string"},{name:"TypeId",type:"int"}]);comparisonCombo.ds=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(comparisonCombo.allowedTypes),reader:new Ext.data.ArrayReader({idIndex:1},a)});comparisonCombo.ds.load();comparisonCombo.combo=new Ext.ux.SelectBox({store:comparisonCombo.ds,displayField:"TypeName",valueField:"TypeId"});renderCondition=function(f){index=comparisonCombo.ds.find("TypeId",f);if(index!=-1){return(comparisonCombo.ds.getAt(index).get("TypeName"))}return"Invalid"};this.conditionRecord=Ext.data.Record.create([{name:"Operation",type:"string"},{name:"FieldName",type:"int"},{name:"Relation",type:"int"},{name:"Valuee",type:"string"}]);this.dsFilterConditions=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:this.servletURL}),baseParams:{action:"getFilterConditions",nodeId:this.nodeId},reader:new Ext.data.JsonReader({root:"data"},this.conditionRecord),listeners:{load:{scope:this,fn:function(f){var h=this.findById("filtername");h.focus();h.selectText()}}}});this.ds1Default={Relation:1,Valuee:"",Operation:"AND"};var c=new Ext.grid.ColumnModel({columns:[{header:this.operationcolText,dataIndex:"Operation",width:80,editor:relOperator.combo},{header:this.fieldcolText,dataIndex:"FieldName",width:150,editor:this.fieldCombo,renderer:e.createDelegate(this)},{header:this.relationcolText,dataIndex:"Relation",width:120,editor:comparisonCombo.combo,renderer:renderCondition},{header:this.valuecolText,dataIndex:"Valuee",width:119,editor:new Ext.form.TextField(),renderer:function(k,l,m){var h=this.dsFields.getAt(this.dsFields.find("id",m.get("FieldName")));switch(h.get("Type")){case com.hypermanager.data.DataTypes.DATE:return(k instanceof Date?k.dateFormat("d/m/Y"):k);case com.hypermanager.data.DataTypes.TIMESTAMP:if(k){var f=k instanceof Date?k:Date.parseDate(k,"U");return f.format("d/m/Y - H:i")}return"";default:return k}}.createDelegate(this)}],editors:{1:new Ext.grid.GridEditor(new Ext.form.TextField({})),2:new Ext.grid.GridEditor(new Ext.form.TextField({})),3:new Ext.grid.GridEditor(new Ext.form.TextField({})),4:new Ext.grid.GridEditor(new Ext.form.NumberField({})),5:new Ext.grid.GridEditor(new Ext.form.DateField({format:"d/m/Y"})),6:new Ext.grid.GridEditor(new Ext.ux.form.DateTime({anchor:"-18",timeFormat:"H:i",timeWidth:60,timeConfig:{altFormats:"H.i|H,i"},hiddenFormat:"U",dateFormat:"d/m/Y",dateConfig:{altFormats:"d/m/y|d/m|d|d.m.Y|d.m.y|d.m|d-m-Y|d-m-y|d-m|d_m_Y|d_m_y|d_m|j/m/Y|j/m/y|j/m|j|j.m.Y|j.m.y|j.m|j-m-Y|j-m-y|j-m|j_m_Y|j_m_y|j_m|d/n/Y|d/n/y|d/n|d.n.Y|d.n.y|d.n|d-n-Y|d-n-y|d-n|d_n_Y|d_n_y|d_n|j/n/Y|j/n/y|j/n|j.n.Y|j.n.y|j.n|j-n-Y|j-n-y|j-n|j_n_Y|j_n_y|j_n"}}))},getCellEditor:function(f,n,m){var k=c.getDataIndex(f);if(k=="Valuee"){var l=this.dsFilterConditions.getAt(n);var h=m.getAt(m.find("id",l.get("FieldName"))).get("Type");return c.editors[h]}return Ext.grid.ColumnModel.prototype.getCellEditor.call(c,f,n)}.createDelegate(this,[this.dsFields],true)});this.conditionGrid=new Ext.grid.EditorGridPanel({enableHdMenu:false,region:"west",clicksToEdit:1,enableColumnMove:false,enableColumnResize:false,width:490,titlebar:false,resizable:false,ds:this.dsFilterConditions,cm:c,selModel:new Ext.grid.RowSelectionModel({singleSelect:true}),enableColLock:false});return this.conditionGrid},createFieldsGrid:function(){var a=new Ext.grid.ColumnModel([{header:this.fieldcolText,dataIndex:"FieldName",width:129}]);this.fieldGrid=new Ext.grid.GridPanel({enableHdMenu:false,region:"east",width:150,titlebar:false,autoScroll:true,resizable:false,ds:this.dsFields,cm:a,selModel:new Ext.grid.RowSelectionModel({singleSelect:true}),enableColLock:false,enableColumnMove:false,enableColumnResize:false,listeners:{rowdblclick:{scope:this,fn:function(c,h,d){if(this.dsFilterConditions.getCount()>=25){Ext.Msg.alert(this.limitTitle,this.limitMsg);return}var b=this.dsFields.getAt(h);recdata=this.cloneObject(this.ds1Default);recdata.FieldName=b.data.id;var f=new this.conditionRecord(recdata);this.dsFilterConditions.add(f);this.fieldGrid.getView().refresh()}}}});this.dsFields.load({callback:function(){if(this.nodeId>0){this.dsFilterConditions.load()}this.fieldGrid.getSelectionModel().selectFirstRow()},scope:this});return this.fieldGrid},createCenterButtonPanel:function(){var a=new Ext.Panel({layout:"vbox",layoutConfig:{align:"stretch",pack:"start"},region:"center",bodyBorder:false,border:false,items:[{xtype:"button",text:Ext.isIE?"<<":"<",style:"padding:10pt 0px 0px 5px;",handler:this.doAddSingle,scope:this,flex:1},{xtype:"button",text:">",style:"padding:5pt 0px 5px 5px;",handler:this.doRemoveSingle,scope:this,flex:1},{xtype:"button",text:">>",style:"padding:0pt 0px 10px 5px;",handler:this.doRemoveAll,scope:this,flex:1}]});return a},doAddSingle:function(){if(this.dsFilterConditions.getCount()>=25){Ext.Msg.alert(this.limitTitle,this.limitMsg);return}if(this.fieldGrid.getSelectionModel().hasSelection()){var a=this.fieldGrid.getSelectionModel().getSelected();recdata=this.cloneObject(this.ds1Default);recdata.FieldName=a.data.id;recdata.id=a.data.id;var b=new this.conditionRecord(recdata);this.dsFilterConditions.add(b);this.fieldGrid.getView().refresh()}},doRemoveSingle:function(){if(this.conditionGrid.getSelectionModel().hasSelection()){var a=this.conditionGrid.getSelectionModel().getSelected();this.dsFilterConditions.remove(a);this.fieldGrid.getView().refresh()}},doRemoveAll:function(){for(j=0;j<this.dsFilterConditions.getCount();j++){var a=this.getRecByID(this.dsFields,this.dsFilterConditions.getAt(j).data.id)}this.fieldGrid.getView().refresh();this.dsFilterConditions.removeAll()},cloneObject:function(a){var b={};for(prop in a){b[prop]=a[prop]}return b},getRecByID:function(b,c){for(i=0;i<b.getCount();i++){var a=b.getAt(i);if(a.data.id==c){return a}}return null},onClose:function(){this.close()},onOkay:function(){var h=[];var a="[";for(i=0;i<this.dsFilterConditions.getCount();i++){var f=this.dsFilterConditions.getAt(i);var c=this.dsFields.getAt(this.dsFields.find("id",f.get("FieldName")));if(c.get("Type")==com.hypermanager.data.DataTypes.TIMESTAMP){var e=f.get("Valuee");f.set("Valuee",e instanceof Date?e.format("U"):e)}else{if(c.get("Type")==com.hypermanager.data.DataTypes.DATE){var e=f.get("Valuee");f.set("Valuee",e instanceof Date?e.format("d/m/Y"):e)}}a+=Ext.util.JSON.encode(f.data);if(i<this.dsFilterConditions.getCount()-1){a+=","}}a+="]";var d=Ext.util.Format.trim(Ext.getCmp("filtername").getValue());var b=Ext.Ajax.request({url:ServletContext+"json/prefilter",params:{action:"updateFilterConditions",name:d,nodeId:this.nodeId,parentNodeId:this.parentNodeId,record:a},scope:this,success:function(k,l){var m=Ext.util.JSON.decode(k.responseText);this.nodeId=m.nodeId;this.fireEvent("afterconditionssaved",this,this.preFilterId,this.nodeId,d);this.onClose()}})}});Ext.namespace("com.hypermanager.filter");com.hypermanager.filter.PreFilterTreePanel=function(a){if(a&&!a.loader){a.loader=new Ext.tree.TreeLoader({dataUrl:a.dataUrl,baseParams:{action:"getFilterNodes",pfid:a.prefiltertreeID}});a.loader.on("load",this.loadFilterNodes,this);a.loader.on("beforeload",function(d,b){var c=b.nodeId?b.nodeId:b.attributes.nodeId;d.baseParams.nodeId=c},this)}com.hypermanager.filter.PreFilterTreePanel.superclass.constructor.call(this,a);this.renameIcon=a&&a.renameIcon?a.renameIcon:"textfield_rename.png";this.renameIcon=this.iconPath+"/"+this.renameIcon;this.deleteIcon=a&&a.deleteIcon?a.deleteIcon:"delete.png";this.deleteIcon=this.iconPath+"/"+this.deleteIcon;this.editdirIcon=a&&a.editdirIcon?a.editdirIcon:"application_form_edit.png";this.editdirIcon=this.iconPath+"/"+this.editdirIcon;this.newdirIcon=a&&a.newdirIcon?a.newdirIcon:"add.png";this.newdirIcon=this.iconPath+"/"+this.newdirIcon;this.reloadIcon=a&&a.reloadIcon?a.reloadIcon:"arrow_refresh.png";this.reloadIcon=this.iconPath+"/"+this.reloadIcon;this.expandIcon=a&&a.expandIcon?a.expandIcon:"arrow_right.png";this.expandIcon=this.iconPath+"/"+this.expandIcon;this.collapseIcon=a&&a.collapseIcon?a.collapseIcon:"arrow_left.png";this.collapseIcon=this.iconPath+"/"+this.collapseIcon;this.treeEditor=new Ext.tree.TreeEditor(this,{allowBlank:false});this.treeEditor.on({complete:{scope:this,fn:this.onEditComplete}});if(this.sort){this.treeSorter=new Ext.tree.TreeSorter(this,{folderSort:false})}this.on({contextmenu:{scope:this,fn:this.onContextMenu},nodedrop:{scope:this,fn:this.onNodeDrop},nodedragover:{scope:this,fn:this.onNodeDragOver}});this.getEl().child(".x-panel-body").on("contextmenu",function(b){if(b.target.className.indexOf("x-panel-body")!=-1){this.onContextMenu(this.root,b)}},this);this.addEvents({beforecontextmenu:true,beforecontextmenuitem:true,beforedelete:true,deletesuccess:true})};Ext.extend(com.hypermanager.filter.PreFilterTreePanel,Ext.tree.TreePanel,{collapseText:"Collapse all",deleteText:"Delete",enableDD:false,enableDelete:true,enableNewDir:true,errorText:"Error",existsText:"File <b>{0}</b> already exists",expandText:"Expand all",method:"post",editdirText:'<span style="text-decoration:underline">E</span>dit',newdirText:"Add",newFilterNodeText:"New filter",readOnly:false,reallyWantText:function(a){return"Do you really want to "+this.deleteText.toLowerCase()+" <b>"+a+"</b>?"},reloadText:'<span style="text-decoration:underline">R</span>eload',renameText:"Rename",sort:true,limitTitle:"Level Limit reached",limitMsg:"For performance reasons the maximum number of filter levels is limited to 4.",addNewNodeTitle:"Add New Filter",adminAuthorized:false,loadFilterNodes:function(h,f,b){var e=Ext.util.JSON.decode(b.responseText);var a=e.nodes;for(var d=0;d<a.length;d++){var c={nodeId:a[d].id,text:a[d].text,iconCls:"prefilter-icon-leaf"};f.appendChild(a[d].leaf?new Ext.tree.TreeNode(c):new Ext.tree.AsyncTreeNode(c))}},actionCallback:function(c,b,a){var d,h,e;var f=true;if(true===b){h=Ext.decode(a.responseText);if(true===h.success){switch(c.params.action){case"delete":c.node.parentNode.removeChild(c.node);this.fireEvent("deletesuccess",this,c.params.file);break;case"rename":this.fireEvent("renamesuccess",this,c.node,c.params.oldname,c.params.newname);break}}else{switch(c.params.action){case"rename":if(c.oldParent){c.oldParent.appendChild(c.node)}else{c.node.setText(c.oldName)}if(c.e){c.e.failure=true}f=this.fireEvent("renamefailure",this,h.error,c.node,c.params.oldname,c.params.newname);break;default:this.root.reload();break}if(false!==f){Ext.Msg.alert(this.errorText,h.error)}}}},onContextMenu:function(c,h){if(this.readOnly){return}if(false===this.fireEvent("beforecontextmenu",this,c)){return}h.stopEvent();h.preventDefault();var b=new Array();b.push({itemId:"expand",text:this.expandText,icon:this.expandIcon,scope:this,handler:this.onContextMenuItem});b.push({itemId:"collapse",text:this.collapseText,icon:this.collapseIcon,scope:this,handler:this.onContextMenuItem});if(this.adminAuthorized){b.push(new Ext.menu.Separator({id:"sep-collapse"}));b.push({itemId:"delete",text:this.deleteText,icon:this.deleteIcon,scope:this,handler:this.onContextMenuItem});b.push({itemId:"rename",text:this.renameText,icon:this.renameIcon,scope:this,handler:this.onContextMenuItem});b.push({itemId:"editdir",text:this.editdirText,icon:this.editdirIcon,scope:this,handler:this.onContextMenuItem});b.push({itemId:"newdir",text:this.newdirText,icon:this.newdirIcon,scope:this,handler:this.onContextMenuItem})}if(!this.contextMenu){this.contextMenu=new Ext.menu.Menu({items:b})}var k=this.contextMenu;k.node=c;if(this.adminAuthorized){var f=k.items.get("delete");f.setDisabled(c===this.root||c.disabled);var a=k.items.get("rename");a.setDisabled(c===this.root||c.disabled);var a=k.items.get("editdir");a.setDisabled(c===this.root||c.disabled);var d=k.items.get("newdir");d.setDisabled(c.isLeaf()?c.parentNode.disabled:c.disabled)}k.items.get("expand").setDisabled(c.isLeaf());k.items.get("collapse").setDisabled(c.isLeaf());if(false===this.enableDelete){f.hide()}if(false===this.enableNewDir){d.hide()}if(false===this.enableRename){a.hide()}if(this.dragZone){this.dragZone.locked=this.enableRename===false}if(this.enableDelete===false&&this.enableRename===false&this.enableNewDir===false){k.items.get("sep-collapse").hide()}if(c!=null&&!c.isRoot){c.select()}k.showAt(h.xy);this.fireEvent("aftercontextmenu",this,k,c)},onContextMenuItem:function(h,k){var f=h.parentMenu.node;if(false===this.fireEvent("beforecontextmenuitem",this,h,f)){return}var d,c;var a={};var b=this.treeEditor;switch(h.itemId){case"rename":b.triggerEdit(f);break;case"editdir":this.editNode(f);break;case"delete":this.deleteNode(f);break;case"newdir":this.addNode(f,true);break;case"reload":if(!f.isLeaf()){f.reload()}break;case"expand":f.expand(true);break;case"collapse":f.collapse(true);break}},onEditComplete:function(d,a,c){var f=d.editNode;if(a===c||d.creatingNewDir){d.creatingNewDir=false;return}var b={url:this.renameUrl||this.dataUrl,method:this.method,scope:this,callback:this.actionCallback,node:f,oldName:c,params:{action:"rename",nodeId:f.attributes.nodeId,newname:a}};var e=new Ext.data.Connection().request(b)},deleteNode:function(a){if(false===this.fireEvent("beforedelete",this,a)){return}var b=Ext.Msg.getDialog();b.defaultButton=b.buttons[2];Ext.Msg.confirm(this.deleteText,this.reallyWantText(a.text),function(c){var d;if("yes"!==c){this.getEl().dom.focus();return}else{options={url:this.deleteUrl||this.dataUrl,method:this.method,scope:this,callback:this.actionCallback,node:a,params:{action:"delete",nodeId:a.attributes.nodeId}};d=new Ext.data.Connection().request(options)}},this)},editNode:function(a){this.openPreFilterWindow(a,false)},addNode:function(a){if(a.getDepth()>3){Ext.Msg.alert(this.limitTitle,this.limitMsg);return}this.openPreFilterWindow(a,true)},openPreFilterWindow:function(b,a){if(a){if(this.fireEvent("beforeadd",this,b)===false){return}}var c=new com.hypermanager.filter.PreFilterWindow({preFilterId:this.root.attributes.nodeId,nodeId:a?-1:b.attributes.nodeId,parentNodeId:a?b.attributes.nodeId:b.parentNode.attributes.nodeId,name:a?this.newFilterNodeText:b.text});c.on("afterconditionssaved",function(h,d,f,e){if(a){b.expand(null,false,function(k){newNode=k.appendChild(new Ext.tree.TreeNode({nodeId:f,text:e,leaf:true,iconCls:"prefilter-icon-leaf"}));this.fireEvent("click",newNode)}.createDelegate(this))}else{b.setText(e);this.fireEvent("click",b)}},this);c.show()},hasChild:function(b,a){return(b.isLeaf()?b.parentNode:b).findChild("text",a)!==null},setReadOnly:function(a){a=a===true;this.readOnly=a;this.setRenameDisabled(a)}});Ext.override(Ext.tree.TreeEditor,{beforeNodeClick:function(b,c){var a=(this.lastClick?this.lastClick.getElapsed():0);this.lastClick=new Date();if(a>this.editDelay&&this.tree.getSelectionModel().isSelected(b)){c.stopEvent();return false}}});Ext.namespace("com.hypermanager.filter");com.hypermanager.filter.PreFilterControl=function(b,c,a){this.init(b,c,a)};com.hypermanager.filter.PreFilterControl.prototype={tree:null,init:function(c,d,b){this.tree=new com.hypermanager.filter.PreFilterTreePanel({animate:true,el:c.getEl(),dataUrl:"json/prefilter",rootVisible:false,readOnly:d==-1?true:false,containerScroll:true,enableDD:false,enableRename:true,enableDelete:true,enableNewDir:true,iconPath:iconDir,adminAuthorized:b});var a=new Ext.tree.AsyncTreeNode({nodeId:d,text:"Pre-filter",path:"root",allowDrag:false});this.tree.setRootNode(a);this.tree.render();a.expand()},loadPreFilter:function(b,a){this.tree.root.attributes.nodeId=b;if(b==-1){this.tree.readOnly=true}else{this.tree.readOnly=false}this.tree.root.reload();this.tree.adminAuthorized=a}};Ext.namespace("com.hypermanager.resSolution");com.hypermanager.resSolution.DPDesignWindow=Ext.extend(Ext.Window,{servletURL:ServletContext+"json/data",resSolServletURL:ServletContext+"json/resSolution",idProd:null,initialValues:{detailsPanel:{active:null,height:null,defautTab:null,defaultField:null}},detailsPanelDefaultFieldDS:null,optionsPanel:null,topPanel:null,ownerCol:"Owner",productNameCol:"ProductName",descriptionCol:"Description",title:"Product",fieldColTitle:"Field",nameColTitle:"Name",widthColTitle:"Width",fontStyleColTitle:"Font style",fontSizeColTitle:"Font size",alignColTitle:"Align",valueListColTitle:"Value List",displayInColTitle:"Display in",alignComboLeftOption:"Left",alignComboRightOption:"Right",alignComboCenterOption:"Center",valueListComboOption1:"Value",valueListComboOption2:"Description",valueListComboOption3:"Value (Description)",valueListComboOption4:"Icon",displayInOption1:"Grid",displayInOption2:"Details",displayInOption3:"Grid & Details",optionsPanelTitle:"Options",windowCancelButtonText:"Cancel",productName:"Name",productDescription:"Description",productOwner:"Owner",heightNotValidText:"The value must be between 80 and 400.",initComponent:function(){var a={};this.buildConfig(a);this.addEvents({productUpdated:true});Ext.apply(this,Ext.apply(this.initialConfig,a));com.hypermanager.resSolution.DPDesignWindow.superclass.initComponent.call(this)},buildConfig:function(a){Ext.apply(a,{modal:true,width:790,height:440,shadow:true,resizable:false,layout:"border",minimizable:false});this.buildItems(a);this.buildButtons(a)},buildItems:function(a){this.idProd=this.prodRec.get("id");this.initialValues.detailsPanel.active=this.prodRec.get("detailsPanel");this.initialValues.detailsPanel.height=this.prodRec.get("detailsPanelHeight");this.initialValues.detailsPanel.defaultTab=this.prodRec.get("defaultDetailsTab");this.initialValues.detailsPanel.defaultField=this.prodRec.get("defaultDetailsField");this.optionsPanel=this.createOptionsPanel();this.ds1Record=Ext.data.Record.create([{name:"id",type:"int"},{name:"DataField",type:"string"},{name:"FieldName",type:"string"},{name:"Width",type:"int"},{name:"ValueList",type:"int"},{name:"DisplayIn",type:"int"},{name:"Align",type:"int"},{name:"GUI_Index",type:"int"}]);this.ds1=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:this.servletURL}),baseParams:{action:"getProductFields",id:this.idProd},reader:new Ext.data.JsonReader({root:"data"},this.ds1Record)});this.ds1Default={id:1234,DataField:"",FieldName:"",Width:50,ValueList:0,DisplayIn:0,Align:1,GUI_Index:0};var k=[[this.alignComboLeftOption,1],[this.alignComboRightOption,2],[this.alignComboCenterOption,3]];var n=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(k),reader:new Ext.data.ArrayReader({},[{name:"AlignName",type:"string"},{name:"AlignId",type:"int"}])});n.load();var c=new Ext.form.ComboBox({store:n,displayField:"AlignName",valueField:"AlignId",typeAhead:true,mode:"local",lazyRender:true,triggerAction:"all",emptyText:"",selectOnFocus:false,editable:false,forceSelection:true});var h=function(s){var r=n.find("AlignId",s);if(r!=-1){return(n.getAt(r).get("AlignName"))}return"Default"};var m=[[this.valueListComboOption1,0],[this.valueListComboOption2,1],[this.valueListComboOption3,2],[this.valueListComboOption4,3]];var b=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(m),reader:new Ext.data.ArrayReader({},[{name:"ValueListName",type:"string"},{name:"ValueListId",type:"int"}])});b.load();var e=new Ext.form.ComboBox({store:b,displayField:"ValueListName",valueField:"ValueListId",typeAhead:true,mode:"local",lazyRender:true,triggerAction:"all",emptyText:"",selectOnFocus:false,editable:false,forceSelection:true});var f=function(s){var r=b.find("ValueListId",s);if(r!=-1){return(b.getAt(r).get("ValueListName"))}return"Default"};var o=[[this.displayInOption1,0],[this.displayInOption2,1],[this.displayInOption3,2]];var l=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(o),reader:new Ext.data.ArrayReader({},[{name:"displayInName",type:"string"},{name:"displayInId",type:"int"}])});l.load();var q=new Ext.form.ComboBox({store:l,displayField:"displayInName",valueField:"displayInId",typeAhead:true,mode:"local",lazyRender:true,triggerAction:"all",emptyText:"",selectOnFocus:false,editable:false,forceSelection:true});var p=function(s){var r=l.find("displayInId",s);if(r!=-1){return(l.getAt(r).get("displayInName"))}return"Default"};this.cm1=new Ext.grid.ColumnModel([{header:"id",dataIndex:"id",width:50,hidden:true},{header:this.fieldColTitle,dataIndex:"DataField",width:124},{header:this.nameColTitle,dataIndex:"FieldName",width:124,editor:new Ext.form.TextField()},{header:this.widthColTitle,dataIndex:"Width",width:50,align:"right",editor:new Ext.form.NumberField({decimalPrecision:0})},{header:this.alignColTitle,dataIndex:"Align",width:70,align:"center",editor:c,renderer:h},{header:this.valueListColTitle,dataIndex:"ValueList",align:"center",width:70,editor:e,renderer:f},{header:this.displayInColTitle,dataIndex:"DisplayIn",align:"center",width:100,editor:q,renderer:p}]);this.grid1=new Ext.grid.EditorGridPanel({region:"west",enableColLock:true,enableHdMenu:false,enableColumnResize:false,ds:this.ds1,cm:this.cm1,width:560,height:400,titlebar:false,autoScroll:true,resizable:false,selModel:new Ext.grid.RowSelectionModel({singleSelect:true}),enableDragDrop:true});this.grid1.ddGroup="ProductFeildsDD";this.ds2Record=Ext.data.Record.create([{name:"id",type:"int"},{name:"FieldName",type:"string"},{name:"isAvailable",type:"boolean"},{name:"Type",type:"string"}]);this.ds2=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:this.resSolServletURL}),baseParams:{action:"getApplicationFields",idApp:this.idApp},reader:new Ext.data.JsonReader({root:"data"},this.ds2Record)});function d(t,s,r){if(r.data.isAvailable){return t}return'<div style="color:#AAAAAA;">'+t+"</div>"}this.cm2=new Ext.grid.ColumnModel([{header:this.fieldColTitle,dataIndex:"FieldName",width:128,renderer:d},{header:"ID",dataIndex:"id",width:50,renderer:d,hidden:true}]);this.grid2=new Ext.grid.GridPanel({region:"east",width:150,titlebar:false,autoScroll:true,resizable:false,enableColLock:true,enableHdMenu:false,enableColumnResize:false,ds:this.ds2,cm:this.cm2,selModel:new Ext.grid.RowSelectionModel({singleSelect:true})});this.mainPanel=new Ext.Panel({region:"center",titlebar:true,bodyBorder:false,border:false,layout:"border",items:[this.grid1,this.createCenterButtonsPanel(),this.grid2]});this.ds1.load({callback:this.loadDS2,scope:this});this.grid2.addListener("rowdblclick",this.doRowDblClick2,this);this.grid1.addListener("render",this.createDropTarget,this);this.topPanel=this.createTopPanel();a.items=[this.topPanel,this.mainPanel,this.optionsPanel]},buildButtons:function(a){a.buttons=[{text:"OK",handler:this.doCommitChanges,scope:this},{text:this.windowCancelButtonText,handler:this.close,scope:this}]},createCenterButtonsPanel:function(){var a=new Ext.Panel({layout:"vbox",layoutConfig:{align:"stretch",pack:"start"},region:"center",items:[{xtype:"button",text:"&lt;",style:"padding:20px 0px 0px 5px;",handler:this.doAddSingle,scope:this,flex:1},{xtype:"button",text:"&lt;&lt;",style:"padding:20px 0px 0px 5px;",handler:this.doAddAll,scope:this,flex:1},{xtype:"button",text:"&gt;&gt;",style:"padding:20px 0px 0px 5px;",handler:this.doRemoveAll,scope:this,flex:1},{xtype:"button",text:"&gt;",style:"padding:20px 0px 0px 5px;",handler:this.doRemoveSingle,scope:this,flex:1}]});return a},createOptionsPanel:function(){return new Ext.form.FormPanel({region:"south",title:this.optionsPanelTitle,height:60,resizable:false,frame:true,items:[{layout:"column",border:true,items:[]}]})},createTopPanel:function(){return new Ext.form.FormPanel({region:"north",height:38,resizable:false,frame:true,items:[{layout:"column",items:[{columnWidth:0.29,xtype:"form",labelWidth:40,items:[{xtype:"textfield",width:160,fieldLabel:this.productName,name:this.productNameCol,value:this.prodRec!=null?this.prodRec.get(this.productNameCol):this.newProductName}]},{columnWidth:0.2,xtype:"form",labelWidth:50,items:[{xtype:"textfield",width:85,fieldLabel:this.productOwner,name:this.ownerCol,value:this.prodRec!=null?this.prodRec.get(this.ownerCol):com.hypermanager.security.SecurityMgr.username}]},{columnWidth:0.51,xtype:"form",labelWidth:80,items:[{xtype:"textfield",width:300,fieldLabel:this.productDescription,name:this.descriptionCol,value:this.prodRec!=null?this.prodRec.get(this.descriptionCol):""}]}]}]})},doRowDblClick2:function(b,f,c){var a=this.ds2.getAt(f);if(a.data.isAvailable){a.data.isAvailable=false;recdata=this.cloneObject(this.ds1Default);recdata.DataField=a.data.FieldName;recdata.FieldName=a.data.FieldName;recdata.id=a.data.id;var d=new this.ds1Record(recdata);this.ds1.add(d);this.grid2.getView().refresh()}},doAddSingle:function(){if(this.grid2.getSelectionModel().hasSelection()){var a=this.grid2.getSelectionModel().getSelected();if(a.data.isAvailable){a.data.isAvailable=false;recdata=this.cloneObject(this.ds1Default);recdata.DataField=a.data.FieldName;recdata.FieldName=a.data.FieldName;recdata.id=a.data.id;var b=new this.ds1Record(recdata);this.ds1.add(b);this.grid2.getView().refresh()}}},doAddAll:function(){for(i=0;i<this.ds2.getCount();i++){var a=this.ds2.getAt(i);if(a.data.isAvailable){a.data.isAvailable=false;recdata=this.cloneObject(this.ds1Default);recdata.DataField=a.data.FieldName;recdata.FieldName=a.data.FieldName;recdata.id=a.data.id;var b=new this.ds1Record(recdata);this.ds1.add(b)}}this.grid2.getView().refresh()},doRemoveSingle:function(){if(this.grid1.getSelectionModel().hasSelection()){var a=this.grid1.getSelectionModel().getSelected();var b=this.getRecByID(this.ds2,a.data.id);if(!b.data.isAvailable){b.data.isAvailable=true;this.ds1.remove(a);this.grid2.getView().refresh()}}},doRemoveAll:function(){for(j=0;j<this.ds1.getCount();j++){var a=this.getRecByID(this.ds2,this.ds1.getAt(j).data.id);a.data.isAvailable=true}this.grid2.getView().refresh();this.ds1.removeAll()},cloneObject:function(a){var b={};for(prop in a){b[prop]=a[prop]}return b},getRecByID:function(b,c){for(i=0;i<b.getCount();i++){var a=b.getAt(i);if(a.data.id==c){return a}}return null},loadDS2:function(){this.ds2.load({callback:this.afterLoad,scope:this})},afterLoad:function(){var a;for(a=0;a<this.ds2.getCount();a++){this.ds2.getAt(a).data.isAvailable=true}for(j=0;j<this.ds1.getCount();j++){this.getRecByID(this.ds2,this.ds1.getAt(j).data.id).data.isAvailable=false}this.grid2.getView().refresh()},doCommitChanges:function(){var a="[";for(i=0;i<this.ds1.getCount();i++){var c=this.ds1.getAt(i);c.data.GUI_Index=i+1;a+=Ext.util.JSON.encode(c.data);if(i<this.ds1.getCount()-1){a+=","}}a+="]";this.prodRec.set(this.productNameCol,this.topPanel.getForm().findField(this.productNameCol).getValue());this.prodRec.set(this.descriptionCol,this.topPanel.getForm().findField(this.descriptionCol).getValue());this.prodRec.set(this.ownerCol,this.topPanel.getForm().findField(this.ownerCol).getValue());var b=Ext.Ajax.request({url:this.servletURL,params:{action:"storeProduct",idApp:this.idApp,product:Ext.util.JSON.encode(this.prodRec.data),fields:a},scope:this,success:function(d,e){if(d.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error updating DataProduct")}else{var f=Ext.util.JSON.decode(d.responseText);this.fireEvent("productUpdated",f.product,this);this.hide();this.close()}},failure:function(d,e){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error updating DataProduct")}})},createDropTarget:function(a){var b=new com.hypermanager.data.ObservableGridDropTarget({grid:a});b.addListener("afterDrop",this.onAfterDrop,this);Ext.dd.ScrollManager.register(a.getView().getEditorParent())},onAfterDrop:function(a,c){var b=this.grid1.getStore();b.remove(a);b.insert(c,a);this.grid1.getSelectionModel().selectRow(c)}});Ext.namespace("com.hypermanager.resSolution");com.hypermanager.resSolution.ResourcesStore=function(a){com.hypermanager.resSolution.ResourcesStore.superclass.constructor.call(this,a);this.hiddenFilter=function(b){if(b.data.hidden!==true){return true}};this.snapshot=this.snapshot||this.data;this.data=this.snapshot.filterBy(this.hiddenFilter,this)};Ext.extend(com.hypermanager.resSolution.ResourcesStore,Ext.data.Store,{sgetAt:function(a){if(this.snapshot){return this.snapshot.itemAt(a)}return this.data.itemAt(a)},sgetById:function(a){if(this.snapshot){return this.snapshot.key(a)}return this.data.key(a)},sgetRange:function(b,a){if(this.snapshot){return this.data.getRange(b,a)}return this.data.getRange(b,a)},sgetCount:function(){if(this.snapshot){return this.snapshot.length||0}return this.data.length||0},seach:function(b,a){if(this.snapshot){this.snapshot.each(b,a)}this.data.each(b,a)},ssum:function(e,f,a){var c=this.data.items,b=0;if(this.snapshot){c=this.snapshot.items}f=f||0;a=(a||a===0)?a:c.length-1;for(var d=f;d<=a;d++){b+=(c[d].data[e]||0)}return b},sfind:function(d,c,f,e,a){var b=this.createFilterFn(d,c,e,a);if(this.snapshot){return b?this.snapshot.findIndexBy(b,null,f):-1}return b?this.data.findIndexBy(b,null,f):-1},sfindBy:function(b,a,c){if(this.snapshot){return this.snapshot.findIndexBy(b,a,c)}return this.data.findIndexBy(b,a,c)},createFilterFn:function(c,b,d,a){if(Ext.isEmpty(b,false)){return false}b=this.data.createValueMatcher(b,d,a);return function(e){return b.test(e.data[c])}},createNewFilterFn:function(b,a){this.hidenFilterScope=a;return function(c){return this.hiddenFilter.call(this,c)&&b.call(this.hidenFilterScope,c)}},queryBy:function(b,a){var c=this.snapshot||this.data;var d=this.createNewFilterFn(b,a||this);return c.filterBy(d,this)},clearFilter:function(a){if(this.isFiltered()){this.filterBy(this.hiddenFilter)}},refreshHiddenFilter:function(){this.snapshot=this.snapshot||this.data;this.data=this.snapshot.filterBy(this.hiddenFilter,this);this.fireEvent("datachanged",this)},getSnapshotIndex:function(a){if(this.snapshot){var c=this.getAt(a).get("id");for(var b=0;b<this.snapshot.length;b++){if(this.snapshot.itemAt(b).get("id")==c){return b}}return -1}return a}});Ext.namespace("com.hypermanager.resSolution");com.hypermanager.resSolution.resSolutionRBPanel=function(a,b){Ext.apply(this,b);com.hypermanager.resSolution.resSolutionRBPanel.superclass.constructor.call(this)};Ext.extend(com.hypermanager.resSolution.resSolutionRBPanel,com.hypermanager.data.DPGridPanel,{actions:{getDataProductInfo:"getResourcesTableHeader",getDataProductRows:"getResourcesTableRows",getResourceList:"getResourcesList",addRecord:"addRecord",addMultipleRecords:"addMultipleRecords",updateRecord:"updateRecord",deleteRecord:"deleteRecord",collapseRecord:"collapseRecord",storeParameters:"storeResSolParameters",copyRecord:"copyRecord"},servletURL:ServletContext+"json/resSolution",dataServletURL:ServletContext+"json/data",resId:-1,startDate:new Date((new Date().getYear()+1900),0,1),endDate:new Date((new Date().getYear()+1900),11,31),timeRaster:3,timeUnit:2,initComponent:function(){var a={};this.buildConfig(a);Ext.apply(this,Ext.apply(this.initialConfig,a));com.hypermanager.resSolution.resSolutionRBPanel.superclass.initComponent.apply(this,arguments);Ext.Ajax.request({url:this.servletURL,params:{action:this.actions.getResourceList},scope:this,success:function(b,d){var c=Ext.util.JSON.decode(b.responseText).data;this.resTreePanel=new com.hypermanager.resSolution.resSolTreePanel({json:c,scope:this,onSelectionChange:function(h,f,e){if(f){this.resId=f.id;this.doChangeProduct()}}});this.resPanel.add(this.resTreePanel);this.resPanel.doLayout();this.resTreePanel.activateTreeNode(this.resId)},failure:function(b,c){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error getting resources list")}})},buildItems:function(a){com.hypermanager.resSolution.resSolutionRBPanel.superclass.buildItems.call(this,a);this.resPanel=new Ext.Panel({title:"Ressourcen",region:"east",width:200,frame:true,collapsible:true,collapsed:false,border:false,split:false,autoScroll:true});a.items.push(this.resPanel)},createDSandCM:function(){this.detailsGrid.disable();var l=com.hypermanager.security.SecurityMgr;var f=Ext.util.JSON.decode(this.dataProductInfo).headerInfo;this.appName="resSolution";this.prodName="Ressourcenblatt";this.filterName="";this.showDetailsPanel=false;this.filterId=-202;this.appType=f.type;this.resName=f.resourceName;var d=new Array();this.configCM=new Array();this.columnDataTypes=new Array();var b=com.hypermanager.data.DPGridRenderers.renderMarkColumn.createDelegate(this);this.configCM.push({header:"",dataIndex:"selectField",editor:null,width:15,sortable:false,css:"background-color: #E5EEFF;",renderer:b,fixed:true,hideable:false,menuDisabled:true,resizable:true,importedField:false});d.push({name:"selectField",type:"string"});var a=["id","id_parent","level","expanded","isLeaf","marked","visible"];var k=["int","int","int","boolean","boolean","boolean","boolean"];for(var c=0;c<a.length;c++){d.push({name:a[c],type:k[c]})}for(c=0;c<f.staticFields.length;c++){var h=f.staticFields[c];var e=com.hypermanager.data.DPGridRenderers.getRenderer(this,h.dataType);this.columnDataTypes.push({name:h.name,type:h.dataType});d.push({name:h.name,type:com.hypermanager.data.DataTypes.getExtJSRecordDataType(h.dataType),dateFormat:(h.dataType=="5"?"d/m/Y":"")});this.configCM.push({header:h.displayName,dataIndex:h.name,renderer:e,editor:null,width:(h.width<10?10:h.width),css:"white-space:normal;"+(h.dataType==com.hypermanager.data.DataTypes.COMPUTATOR_COL?"text-align:right;":""),hierarchieCell:(c==0),importedField:false,type:h.dataType,computator:h.computator})}this.dynamicFields=new Array();for(c=0;c<f.dynamicFields.length;c++){var h=f.dynamicFields[c];this.dynamicFields.push(h);this.columnDataTypes.push({name:h.name,type:h.dataType});d.push({name:h.name,type:com.hypermanager.data.DataTypes.getExtJSRecordDataType(h.dataType),convert:this.convertMixed,dateFormat:(h.dataType=="5"?"d/m/Y":"")});var e=com.hypermanager.data.DPGridRenderers.getRenderer(this,h.dataType);this.configCM.push({header:h.displayName,dataIndex:h.name,renderer:e,editor:null,width:(h.width<10?10:h.width),css:"white-space:normal; text-align: right;",hierarchieCell:false,importedField:false,type:h.dataType,computator:h.computator})}this.recordFields=d;this.TableRecord=new Ext.data.Record.create(d);this.ds=new com.hypermanager.data.FlatTreeStore({proxy:new Ext.data.HttpProxy({url:ServletContext+"json/resSolution"}),baseParams:{action:this.actions.getDataProductRows,resId:this.resId,startDate:this.startDate.format("d/m/Y"),endDate:this.endDate.format("d/m/Y"),timeRaster:this.timeRaster,fid:this.preFilterID},reader:new Ext.data.JsonReader({root:"data"},this.TableRecord),remoteSort:true,scope:this});this.ds.addListener("load",function(){com.hypermanager.data.DPGridRenderers.planUnit=this.scope.timeUnit;this.scope.grid.getView().refresh(true)});this.cm=new Ext.grid.ColumnModel(this.configCM);this.cm.defaultSortable=true;this.cm.addListener("columnmoved",function(){this.grid.getSelectionModel().clearSelections()},this);this.displayType=1},buildTbar:function(a){com.hypermanager.resSolution.resSolutionRBPanel.superclass.buildTbar.call(this,a);this.dateRangeStartField=new Ext.form.TextField({width:70,name:"startdt",format:"d/m/Y",editable:false,listeners:{focus:this.doChangeDateRange,scope:this}});this.dateRangeEndField=new Ext.form.TextField({width:70,name:"enddt",format:"d/m/Y",editable:false,listeners:{focus:this.doChangeDateRange,scope:this}});var b=new Ext.data.Store({proxy:new Ext.data.MemoryProxy([]),reader:new Ext.data.ArrayReader({},[{name:"typeName",type:"string"},{name:"typeId",type:"int"}])});b.loadData([["Hours",1],["Days",2],["Weeks",3]]);this.timeUnitComboBox=new Ext.form.ComboBox({store:b,displayField:"typeName",mode:"local",triggerAction:"all",width:70,listeners:{select:this.doChangeTimeUnit,scope:this}});this.timeRasterDayButton=new Ext.Button({text:"Day",enableToggle:true,toggleGroup:"toggleTimeRaster",handler:this.doChangeTimeRasterDay,scope:this});this.timeRasterWeekButton=new Ext.Button({text:"Week",enableToggle:true,toggleGroup:"toggleTimeRaster",handler:this.doChangeTimeRasterWeek,scope:this});this.timeRasterMonthButton=new Ext.Button({text:"Month",enableToggle:true,toggleGroup:"toggleTimeRaster",handler:this.doChangeTimeRasterMonth,scope:this});this.timeRasterQuarterButton=new Ext.Button({text:"Quarter",enableToggle:true,toggleGroup:"toggleTimeRaster",handler:this.doChangeTimeRasterQuarter,scope:this});this.timeRasterYearButton=new Ext.Button({text:"Year",enableToggle:true,toggleGroup:"toggleTimeRaster",handler:this.doChangeTimeRasterYear,scope:this});a.tbar.push(this.timeRasterDayButton,this.timeRasterWeekButton,this.timeRasterMonthButton,this.timeRasterQuarterButton,this.timeRasterYearButton,"-",this.timeUnitComboBox,"-",this.dateRangeStartField,new Ext.Toolbar.TextItem("-"),this.dateRangeEndField)},getDataProductInfoRequestParams:function(){return{action:this.actions.getDataProductInfo,prodId:this.productId,resId:this.resId,startDate:this.startDate.format("d/m/Y"),endDate:this.endDate.format("d/m/Y"),timeRaster:this.timeRaster,timeUnit:this.timeUnit}},onCellContextMenu:function(b,d,a,c){c.preventDefault()},doCollapseRecord:function(a,b){},doExpandRecord:function(a,b){},getCellClasses:function(d,e,h,f,b,a){var c=com.hypermanager.resSolution.resSolutionRBPanel.superclass.getCellClasses.apply(this,arguments);if(e.type==com.hypermanager.data.DataTypes.COMPUTATOR_COL){c.push("x-dpgrid-cell-computator")}else{if(h.get("id")<0){c.push("x-dpgrid-cell-computator")}else{if(d instanceof com.hypermanager.data.Computator){c.push("x-dpgrid-cell-computator")}else{}}}return c},setValues:function(){this.resPanel.doLayout();if(this.resTreePanel!=null){this.resTreePanel.doLayout();if(this.resId==-1){this.resId=99999}this.resTreePanel.activateTreeNode(this.resId)}this.timeRaster==1?this.timeRasterDayButton.toggle(true):this.timeRaster==2?this.timeRasterWeekButton.toggle(true):this.timeRaster==3?this.timeRasterMonthButton.toggle(true):this.timeRaster==4?this.timeRasterQuarterButton.toggle(true):this.timeRasterYearButton.toggle(true);this.timeUnit==1?this.timeUnitComboBox.setValue("Hours"):this.timeUnit==2?this.timeUnitComboBox.setValue("Days"):this.timeUnitComboBox.setValue("Weeks");this.dateRangeStartField.setValue(this.startDate.format("d/m/Y"));this.dateRangeEndField.setValue(this.endDate.format("d/m/Y"));this.doChangeProduct()},retrieveDefaultParameters:function(a){var b=Ext.Ajax.request({url:this.dataServletURL,params:{action:"getResSolParameters",objectId:a},scope:this,success:function(c,d){jsonResponse=Ext.util.JSON.decode(c.responseText);if((!jsonResponse.parameters)||(jsonResponse.parameters==false)){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error retrieving default parameters")}else{if(jsonResponse.parameters.filterId!=0){this.preFilterID=jsonResponse.parameters.filterId}if(jsonResponse.parameters.resId!=0){this.resId=jsonResponse.parameters.resId}else{this.resId=99999}if(jsonResponse.parameters.timeRaster!=0){this.timeRaster=jsonResponse.parameters.timeRaster}else{this.timeRaster=3}if(jsonResponse.parameters.timeUnit!=0){this.timeUnit=jsonResponse.parameters.timeUnit}else{this.timeUnit=3}if(jsonResponse.parameters.startDate!=null&&jsonResponse.parameters.endDate!=null){this.startDate=new Date(jsonResponse.parameters.startDate);this.endDate=new Date(jsonResponse.parameters.endDate)}else{this.startDate=new Date((new Date().getYear()+1900),0,1);this.endDate=new Date((new Date().getYear()+1900),11,31)}}this.setValues()},failure:function(c,d){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error retrieving default parameters")}})},doStoreParameters:function(b){var e=function(f){return f<10?"0"+f:f};var c=""+this.startDate.getFullYear()+"-"+e(this.startDate.getMonth()+1)+"-"+e(this.startDate.getDate())+"";var d=""+this.endDate.getFullYear()+"-"+e(this.endDate.getMonth()+1)+"-"+e(this.endDate.getDate())+"";var a=this.filterId;if(this.filterId==this.initialFilter){a=this.lastUsedFilter}Ext.Ajax.request({url:this.dataServletURL,params:{action:this.actions.storeParameters,objid:b,timeUnit:this.timeUnit,timeRaster:this.timeRaster,startDate:c,endDate:d,activeId:this.resId,prefilterid:this.preFilterID},scope:this,success:function(f,h){if(f.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error saving the object parameters")}},failure:function(f,h){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error saving the object parameters")}})},doChangeTimeRasterDay:function(){this.timeRasterDayButton.toggle(true);this.timeRaster=1;this.doChangeProduct()},doChangeTimeRasterWeek:function(){this.timeRasterWeekButton.toggle(true);this.timeRaster=2;this.doChangeProduct()},doChangeTimeRasterMonth:function(){this.timeRasterMonthButton.toggle(true);this.timeRaster=3;this.doChangeProduct()},doChangeTimeRasterQuarter:function(){this.timeRasterQuarterButton.toggle(true);this.timeRaster=4;this.doChangeProduct()},doChangeTimeRasterYear:function(){this.timeRasterYearButton.toggle(true);this.timeRaster=5;this.doChangeProduct()},doChangeTimeUnit:function(){this.timeUnit=this.timeUnitComboBox.selectedIndex+1;com.hypermanager.data.DPGridRenderers.planUnit=this.timeUnitComboBox.selectedIndex+1;this.grid.getView().refresh(true)},doChangeDateRange:function(){if(this.dateRangeWindow==undefined){var a=new Ext.FormPanel({labelWidth:75,border:false,frame:true,bodyStyle:"padding:5px 5px 0",width:300,defaults:{width:175,format:"d/m/Y"},defaultType:"datefield",items:[{fieldLabel:"Start Date",name:"startdt",startDay:1,value:this.startDate},{fieldLabel:"End Date",name:"enddt",startDay:1,value:this.endDate}]});this.dateRangeWindow=new Ext.Window({title:"Date Range",layout:"fit",modal:true,width:300,height:150,closeAction:"hide",constrain:true,shadow:true,buttonAlign:"center",items:[a],buttons:[{text:"OK",handler:function(){this.startDate=this.dateRangeWindow.find("name","startdt")[0].getValue();this.endDate=this.dateRangeWindow.find("name","enddt")[0].getValue();this.dateRangeStartField.setValue(this.startDate.format("d/m/Y"));this.dateRangeEndField.setValue(this.endDate.format("d/m/Y"));this.dateRangeWindow.hide();this.doChangeProduct()},scope:this},{text:"Cancel",handler:function(){this.dateRangeWindow.hide()},scope:this}]})}this.dateRangeWindow.doLayout();this.dateRangeWindow.show(this)}});Ext.namespace("com.hypermanager.resSolution");com.hypermanager.resSolution.resSolutionZTPanel=function(a,b){Ext.apply(this,b);com.hypermanager.resSolution.resSolutionZTPanel.superclass.constructor.call(this)};Ext.extend(com.hypermanager.resSolution.resSolutionZTPanel,com.hypermanager.data.DPGridPanel,{actions:{getDataProductInfo:"getMainTableHeader",getDataProductRows:"getMainTableRows",addRecord:"addRecord",addMultipleRecords:"addMultipleRecords",updateRecord:"updateRecord",deleteRecord:"deleteRecord",collapseRecord:"collapseRecord",storeParameters:"storeResSolParameters",copyRecord:"copyRecord"},servletURL:ServletContext+"json/resSolution",dataServletURL:ServletContext+"json/data",timeUnit:2,initComponent:function(){var a={};this.buildConfig(a);Ext.apply(this,Ext.apply(this.initialConfig,a));com.hypermanager.resSolution.resSolutionZTPanel.superclass.initComponent.apply(this,arguments)},buildItems:function(a){com.hypermanager.resSolution.resSolutionZTPanel.superclass.buildItems.call(this,a);this.grid.addListener("headerclick",this.onHeaderClick,this)},createDSandCM:function(){this.detailsGrid.disable();var l=com.hypermanager.security.SecurityMgr;var f=Ext.util.JSON.decode(this.dataProductInfo).headerInfo;this.appName="resSolution";this.prodName="Zentraltabelle";this.filterName="";this.showDetailsPanel=false;this.appType=f.type;this.resName=f.resourceName;var d=new Array();this.configCM=new Array();this.columnDataTypes=new Array();var b=com.hypermanager.data.DPGridRenderers.renderMarkColumn.createDelegate(this);this.configCM.push({header:"",dataIndex:"selectField",editor:null,width:15,sortable:false,css:"background-color: #E5EEFF;",renderer:b,fixed:true,hideable:false,menuDisabled:true,resizable:true,importedField:false});d.push({name:"selectField",type:"string"});var a=["id","id_parent","level","expanded","isLeaf","marked","visible"];var k=["int","int","int","boolean","boolean","boolean","boolean"];for(var c=0;c<a.length;c++){d.push({name:a[c],type:k[c]})}for(c=0;c<f.staticFields.length;c++){var h=f.staticFields[c];var e=com.hypermanager.data.DPGridRenderers.getRenderer(this,h.dataType);this.columnDataTypes.push({name:h.name,type:h.dataType});d.push({name:h.name,type:com.hypermanager.data.DataTypes.getExtJSRecordDataType(h.dataType),dateFormat:(h.dataType=="5"?"d/m/Y":"")});this.configCM.push({header:h.displayName,dataIndex:h.name,renderer:e,editor:null,width:(h.width<10?10:h.width),css:"white-space:normal;"+(h.dataType==com.hypermanager.data.DataTypes.COMPUTATOR_COL?"text-align:right;":""),hierarchieCell:(c==0),importedField:false,type:h.dataType,computator:h.computator})}this.dynamicFields=new Array();for(c=0;c<f.dynamicFields.length;c++){var h=f.dynamicFields[c];this.dynamicFields.push(h);this.columnDataTypes.push({name:h.name,type:h.dataType});d.push({name:h.name,type:com.hypermanager.data.DataTypes.getExtJSRecordDataType(h.dataType),convert:this.convertMixed,dateFormat:(h.dataType=="5"?"d/m/Y":"")});var e=com.hypermanager.data.DPGridRenderers.getRenderer(this,h.dataType);this.configCM.push({header:h.displayName,dataIndex:h.name,renderer:e,editor:null,width:(h.width<10?10:h.width),css:"white-space:normal; text-align: right;",hierarchieCell:false,importedField:false,type:h.dataType,computator:h.computator,parentId:h.parentId,resId:h.resId})}this.recordFields=d;this.TableRecord=new Ext.data.Record.create(d);this.ds=new com.hypermanager.data.FlatTreeStore({proxy:new Ext.data.HttpProxy({url:ServletContext+"json/resSolution"}),baseParams:{action:this.actions.getDataProductRows},reader:new Ext.data.JsonReader({root:"data"},this.TableRecord),remoteSort:true});this.cm=new Ext.grid.ColumnModel(this.configCM);this.cm.defaultSortable=true;this.cm.addListener("columnmoved",function(){this.grid.getSelectionModel().clearSelections()},this);this.displayType=1},buildTbar:function(a){com.hypermanager.resSolution.resSolutionZTPanel.superclass.buildTbar.call(this,a);this.dateRangeStartField=new Ext.form.TextField({width:70,name:"startdt",format:"d/m/Y",editable:false,disabled:true});this.dateRangeEndField=new Ext.form.TextField({width:70,name:"enddt",format:"d/m/Y",editable:false,disabled:true});var b=new Ext.data.Store({proxy:new Ext.data.MemoryProxy([]),reader:new Ext.data.ArrayReader({},[{name:"typeName",type:"string"},{name:"typeId",type:"int"}])});b.loadData([["Hours",1],["Days",2],["Weeks",3]]);this.timeUnitComboBox=new Ext.form.ComboBox({store:b,displayField:"typeName",mode:"local",triggerAction:"all",width:70,listeners:{select:this.doChangeTimeUnit,scope:this}});this.timeRasterDayButton=new Ext.Button({text:"Day",enableToggle:true,toggleGroup:"toggleTimeRaster",disabled:true});this.timeRasterWeekButton=new Ext.Button({text:"Week",enableToggle:true,toggleGroup:"toggleTimeRaster",disabled:true});this.timeRasterMonthButton=new Ext.Button({text:"Month",enableToggle:true,toggleGroup:"toggleTimeRaster",disabled:true});this.timeRasterQuarterButton=new Ext.Button({text:"Quarter",enableToggle:true,toggleGroup:"toggleTimeRaster",disabled:true});this.timeRasterYearButton=new Ext.Button({text:"Year",enableToggle:true,toggleGroup:"toggleTimeRaster",disabled:true});a.tbar.push(this.timeRasterDayButton,this.timeRasterWeekButton,this.timeRasterMonthButton,this.timeRasterQuarterButton,this.timeRasterYearButton,"-",this.timeUnitComboBox,"-",this.dateRangeStartField,new Ext.Toolbar.TextItem("-"),this.dateRangeEndField)},getDataProductInfoRequestParams:function(){return{action:this.actions.getDataProductInfo,prodId:this.productId}},setValues:function(){this.timeUnit==1?this.timeUnitComboBox.setValue("Hours"):this.timeUnit==2?this.timeUnitComboBox.setValue("Days"):this.timeUnitComboBox.setValue("Weeks")},retrieveDefaultParameters:function(a){var b=Ext.Ajax.request({url:this.dataServletURL,params:{action:"getResSolParameters",objectId:a},scope:this,success:function(c,d){jsonResponse=Ext.util.JSON.decode(c.responseText);if((!jsonResponse.parameters)||(jsonResponse.parameters==false)){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error retrieving default parameters")}else{if(jsonResponse.parameters.timeUnit!=0){this.timeUnit=jsonResponse.parameters.timeUnit}else{this.timeUnit=3}}this.setValues()},failure:function(c,d){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error retrieving default parameters")}})},onCellContextMenu:function(b,d,a,c){c.preventDefault()},doCollapseRecord:function(a,b){},doExpandRecord:function(a,b){},getCellClasses:function(d,e,h,f,b,a){var c=com.hypermanager.resSolution.resSolutionZTPanel.superclass.getCellClasses.apply(this,arguments);if(e.type==com.hypermanager.data.DataTypes.COMPUTATOR_COL){c.push("x-dpgrid-cell-computator")}else{if(h.get("id")<0){c.push("x-dpgrid-cell-computator")}else{if(d instanceof com.hypermanager.data.Computator){c.push("x-dpgrid-cell-computator")}else{}}}return c},changeResourceId:function(a){this.objectId=a;this.doChangeProduct()},doChangeTimeUnit:function(){this.timeUnit=this.timeUnitComboBox.selectedIndex+1;com.hypermanager.data.DPGridRenderers.planUnit=this.timeUnitComboBox.selectedIndex+1;this.grid.getView().refresh(true)},doStoreParameters:function(b){var a=this.filterId;if(this.filterId==this.initialFilter){a=this.lastUsedFilter}Ext.Ajax.request({url:this.dataServletURL,params:{action:this.actions.storeParameters,objid:b,timeUnit:com.hypermanager.data.DPGridRenderers.planUnit},scope:this,success:function(c,d){if(c.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error saving the object parameters")}},failure:function(c,d){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error saving the object parameters")}})},onHeaderClick:function(b,a,c){var f=this.cm.config[a].resId;var d=b.getColumnModel().getColumnHeader(a);if(d.substr(0,1)=="-"){this.doHideChildrenColumns(b,a,c,f)}if(d.substr(0,1)=="+"){this.doUnhideChildrenColumns(b,a,c,f)}},doHideChildrenColumns:function(d,b,f,k){var h=d.getColumnModel().getColumnHeader(b);if(h.substr(0,1)=="-"){d.getColumnModel().setColumnHeader(b,"+"+h.substr(1,h.length))}for(var c=b+1;c<d.getColumnModel().getColumnCount();c++){var h=d.getColumnModel().getColumnHeader(c);var a=this.cm.config[c].parentId;if(a==k){d.getColumnModel().setHidden(c,true);this.doHideChildrenColumns(d,c,f,this.cm.config[c].resId)}}},doUnhideChildrenColumns:function(d,b,f,k){var h=d.getColumnModel().getColumnHeader(b);if(h.substr(0,1)=="+"){d.getColumnModel().setColumnHeader(b,"-"+h.substr(1,h.length))}for(var c=b+1;c<d.getColumnModel().getColumnCount();c++){var h=d.getColumnModel().getColumnHeader(c);var a=this.cm.config[c].parentId;if(a==k){d.getColumnModel().setHidden(c,false);this.doUnhideChildrenColumns(d,c,f,this.cm.config[c].resId)}}}});Ext.namespace("com.hypermanager.resSolution");com.hypermanager.resSolution.HighlightedTreeNodeUI=function(a){com.hypermanager.resSolution.HighlightedTreeNodeUI.superclass.constructor.call(this,a)};Ext.extend(com.hypermanager.resSolution.HighlightedTreeNodeUI,Ext.tree.TreeNodeUI,{onSelectedChange:function(a){if(a){this.focus();this.addClass("res-tree-selected")}else{this.removeClass("res-tree-selected")}}});Ext.namespace("com.hypermanager.resSolution");com.hypermanager.resSolution.resSolutionBTPanel=function(a,b){Ext.apply(this,b);com.hypermanager.resSolution.resSolutionBTPanel.superclass.constructor.call(this)};Ext.extend(com.hypermanager.resSolution.resSolutionBTPanel,com.hypermanager.data.DPGridPanel,{actions:{getDataProductInfo:"getLoadTableHeader",getDataProductRows:"getLoadTableRows",getProjectList:"getProjectList",addRecord:"addRecord",addMultipleRecords:"addMultipleRecords",updateRecord:"updateRecord",deleteRecord:"deleteRecord",collapseRecord:"collapseRecord",storeParameters:"storeResSolParameters",copyRecord:"copyRecord"},servletURL:ServletContext+"json/resSolution",dataServletURL:ServletContext+"json/data",resId:-2,startDate:new Date((new Date().getYear()+1900),0,1),endDate:new Date((new Date().getYear()+1900),11,31),timeRaster:3,timeUnit:2,initComponent:function(){var a={};this.buildConfig(a);Ext.apply(this,Ext.apply(this.initialConfig,a));com.hypermanager.resSolution.resSolutionBTPanel.superclass.initComponent.apply(this,arguments);Ext.Ajax.request({url:this.servletURL,params:{action:this.actions.getProjectList},scope:this,success:function(b,d){var c=Ext.util.JSON.decode(b.responseText).data;this.resTreePanel=new com.hypermanager.resSolution.resSolTreePanel({json:c,scope:this,onSelectionChange:function(h,f,e){if(f){this.resId=f.id;this.doChangeProduct()}}});this.resPanel.add(this.resTreePanel);this.resPanel.doLayout();this.resTreePanel.activateTreeNode(this.resId)},failure:function(b,c){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error getting resources list")}})},buildItems:function(a){com.hypermanager.resSolution.resSolutionBTPanel.superclass.buildItems.call(this,a);this.resPanel=new Ext.Panel({title:"Projekte",region:"east",width:200,frame:true,collapsible:true,collapsed:false,border:false,split:false,autoScroll:true});a.items.push(this.resPanel)},createDSandCM:function(){this.detailsGrid.disable();var l=com.hypermanager.security.SecurityMgr;var f=Ext.util.JSON.decode(this.dataProductInfo).headerInfo;this.appName="resSolution";this.prodName="Belastungstabelle";this.filterName="";this.showDetailsPanel=false;this.filterId=-203;this.appType=f.type;this.resName=f.resourceName;var d=new Array();this.configCM=new Array();this.columnDataTypes=new Array();var b=com.hypermanager.data.DPGridRenderers.renderMarkColumn.createDelegate(this);this.configCM.push({header:"",dataIndex:"selectField",editor:null,width:15,sortable:false,css:"background-color: #E5EEFF;",renderer:b,fixed:true,hideable:false,menuDisabled:true,resizable:true,importedField:false});d.push({name:"selectField",type:"string"});var a=["id","id_parent","level","expanded","isLeaf","marked","visible"];var k=["int","int","int","boolean","boolean","boolean","boolean"];for(var c=0;c<a.length;c++){d.push({name:a[c],type:k[c]})}for(c=0;c<f.staticFields.length;c++){var h=f.staticFields[c];var e=com.hypermanager.data.DPGridRenderers.getRenderer(this,h.dataType);this.columnDataTypes.push({name:h.name,type:h.dataType});d.push({name:h.name,type:com.hypermanager.data.DataTypes.getExtJSRecordDataType(h.dataType),dateFormat:(h.dataType=="5"?"d/m/Y":"")});this.configCM.push({header:h.displayName,dataIndex:h.name,renderer:e,editor:null,width:(h.width<10?10:h.width),css:"white-space:normal;"+(h.dataType==com.hypermanager.data.DataTypes.COMPUTATOR_COL?"text-align:right;":""),hierarchieCell:(c==0),importedField:false,type:h.dataType,computator:h.computator})}this.dynamicFields=new Array();for(c=0;c<f.dynamicFields.length;c++){var h=f.dynamicFields[c];this.dynamicFields.push(h);this.columnDataTypes.push({name:h.name,type:h.dataType});d.push({name:h.name,type:com.hypermanager.data.DataTypes.getExtJSRecordDataType(h.dataType),convert:this.convertMixed,dateFormat:(h.dataType=="5"?"d/m/Y":"")});var e=com.hypermanager.data.DPGridRenderers.getRenderer(this,h.dataType);this.configCM.push({header:h.displayName,dataIndex:h.name,renderer:e,editor:null,width:(h.width<10?10:h.width),css:"white-space:normal; text-align: right;",hierarchieCell:false,importedField:false,type:h.dataType,computator:h.computator})}this.recordFields=d;this.TableRecord=new Ext.data.Record.create(d);this.ds=new com.hypermanager.data.FlatTreeStore({proxy:new Ext.data.HttpProxy({url:ServletContext+"json/resSolution"}),baseParams:{action:this.actions.getDataProductRows,proId:this.resId,startDate:this.startDate.format("d/m/Y"),endDate:this.endDate.format("d/m/Y"),timeRaster:this.timeRaster},reader:new Ext.data.JsonReader({root:"data"},this.TableRecord),remoteSort:true});this.ds.addListener("load",function(){com.hypermanager.data.DPGridRenderers.planUnit=this.timeUnit;this.grid.getView().refresh(true)},this);this.cm=new Ext.grid.ColumnModel(this.configCM);this.cm.defaultSortable=true;this.cm.addListener("columnmoved",function(){this.grid.getSelectionModel().clearSelections()},this);this.displayType=1},buildTbar:function(a){com.hypermanager.resSolution.resSolutionBTPanel.superclass.buildTbar.call(this,a);this.dateRangeStartField=new Ext.form.TextField({width:70,name:"startdt",format:"d/m/Y",editable:false,listeners:{focus:this.doChangeDateRange,scope:this}});this.dateRangeEndField=new Ext.form.TextField({width:70,name:"enddt",format:"d/m/Y",editable:false,listeners:{focus:this.doChangeDateRange,scope:this}});var b=new Ext.data.Store({proxy:new Ext.data.MemoryProxy([]),reader:new Ext.data.ArrayReader({},[{name:"typeName",type:"string"},{name:"typeId",type:"int"}])});b.loadData([["Hours",1],["Days",2],["Weeks",3]]);this.timeUnitComboBox=new Ext.form.ComboBox({store:b,displayField:"typeName",mode:"local",triggerAction:"all",width:70,listeners:{select:this.doChangeTimeUnit,scope:this}});this.timeRasterDayButton=new Ext.Button({text:"Day",enableToggle:true,toggleGroup:"toggleTimeRaster",handler:this.doChangeTimeRasterDay,scope:this});this.timeRasterWeekButton=new Ext.Button({text:"Week",enableToggle:true,toggleGroup:"toggleTimeRaster",handler:this.doChangeTimeRasterWeek,scope:this});this.timeRasterMonthButton=new Ext.Button({text:"Month",enableToggle:true,toggleGroup:"toggleTimeRaster",handler:this.doChangeTimeRasterMonth,scope:this});this.timeRasterQuarterButton=new Ext.Button({text:"Quarter",enableToggle:true,toggleGroup:"toggleTimeRaster",handler:this.doChangeTimeRasterQuarter,scope:this});this.timeRasterYearButton=new Ext.Button({text:"Year",enableToggle:true,toggleGroup:"toggleTimeRaster",handler:this.doChangeTimeRasterYear,scope:this});a.tbar.push(this.timeRasterDayButton,this.timeRasterWeekButton,this.timeRasterMonthButton,this.timeRasterQuarterButton,this.timeRasterYearButton,"-",this.timeUnitComboBox,"-",this.dateRangeStartField,new Ext.Toolbar.TextItem("-"),this.dateRangeEndField)},getDataProductInfoRequestParams:function(){return{action:this.actions.getDataProductInfo,prodId:this.productId,objectId:this.objectId,resId:this.resId,startDate:this.startDate.format("d/m/Y"),endDate:this.endDate.format("d/m/Y"),timeRaster:this.timeRaster,timeUnit:this.timeUnit}},onCellContextMenu:function(b,d,a,c){c.preventDefault()},doCollapseRecord:function(a,b){},doExpandRecord:function(a,b){},getCellClasses:function(d,e,h,f,b,a){var c=com.hypermanager.resSolution.resSolutionBTPanel.superclass.getCellClasses.apply(this,arguments);if(e.type==com.hypermanager.data.DataTypes.COMPUTATOR_COL){c.push("x-dpgrid-cell-computator")}else{if(h.get("id")<0){c.push("x-dpgrid-cell-computator")}else{if(d instanceof com.hypermanager.data.Computator){c.push("x-dpgrid-cell-computator")}else{}}}return c},setValues:function(){this.resPanel.doLayout();if(this.resTreePanel!=null){this.resTreePanel.doLayout();if(this.resId==-1){this.resId=-2}this.resTreePanel.activateTreeNode(this.resId)}this.timeRaster==1?this.timeRasterDayButton.toggle(true):this.timeRaster==2?this.timeRasterWeekButton.toggle(true):this.timeRaster==3?this.timeRasterMonthButton.toggle(true):this.timeRaster==4?this.timeRasterQuarterButton.toggle(true):this.timeRasterYearButton.toggle(true);this.timeUnit==1?this.timeUnitComboBox.setValue("Hours"):this.timeUnit==2?this.timeUnitComboBox.setValue("Days"):this.timeUnitComboBox.setValue("Weeks");this.dateRangeStartField.setValue(this.startDate.format("d/m/Y"));this.dateRangeEndField.setValue(this.endDate.format("d/m/Y"));this.doChangeProduct()},retrieveDefaultParameters:function(a){var b=Ext.Ajax.request({url:this.dataServletURL,params:{action:"getResSolParameters",objectId:a},scope:this,success:function(c,d){jsonResponse=Ext.util.JSON.decode(c.responseText);if((!jsonResponse.parameters)||(jsonResponse.parameters==false)){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error retrieving default parameters")}else{if(jsonResponse.parameters.resId!=0){this.resId=jsonResponse.parameters.resId}else{this.resId=-2}if(jsonResponse.parameters.timeRaster!=0){this.timeRaster=jsonResponse.parameters.timeRaster}else{this.timeRaster=3}if(jsonResponse.parameters.timeUnit!=0){this.timeUnit=jsonResponse.parameters.timeUnit}else{this.timeUnit=3}if(jsonResponse.parameters.startDate!=null&&jsonResponse.parameters.endDate!=null){this.startDate=new Date(jsonResponse.parameters.startDate);this.endDate=new Date(jsonResponse.parameters.endDate)}else{this.startDate=new Date((new Date().getYear()+1900),0,1);this.endDate=new Date((new Date().getYear()+1900),11,31)}}this.setValues()},failure:function(c,d){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error retrieving default parameters")}})},doStoreParameters:function(b){var e=function(f){return f<10?"0"+f:f};var c=""+this.startDate.getFullYear()+"-"+e(this.startDate.getMonth()+1)+"-"+e(this.startDate.getDate())+"";var d=""+this.endDate.getFullYear()+"-"+e(this.endDate.getMonth()+1)+"-"+e(this.endDate.getDate())+"";var a=this.filterId;if(this.filterId==this.initialFilter){a=this.lastUsedFilter}Ext.Ajax.request({url:this.dataServletURL,params:{action:this.actions.storeParameters,objid:b,timeUnit:this.timeUnit,timeRaster:this.timeRaster,startDate:c,endDate:d,activeId:this.resId},scope:this,success:function(f,h){if(f.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error saving the object parameters")}},failure:function(f,h){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error saving the object parameters")}})},doChangeTimeRasterDay:function(){this.timeRasterDayButton.toggle(true);this.timeRaster=1;this.doChangeProduct()},doChangeTimeRasterWeek:function(){this.timeRasterWeekButton.toggle(true);this.timeRaster=2;this.doChangeProduct()},doChangeTimeRasterMonth:function(){this.timeRasterMonthButton.toggle(true);this.timeRaster=3;this.doChangeProduct()},doChangeTimeRasterQuarter:function(){this.timeRasterQuarterButton.toggle(true);this.timeRaster=4;this.doChangeProduct()},doChangeTimeRasterYear:function(){this.timeRasterYearButton.toggle(true);this.timeRaster=5;this.doChangeProduct()},doChangeTimeUnit:function(){this.timeUnit=this.timeUnitComboBox.selectedIndex+1;com.hypermanager.data.DPGridRenderers.planUnit=this.timeUnitComboBox.selectedIndex+1;this.grid.getView().refresh(true)},doChangeDateRange:function(){if(this.dateRangeWindow==undefined){var a=new Ext.FormPanel({labelWidth:75,border:false,frame:true,bodyStyle:"padding:5px 5px 0",width:300,defaults:{width:175,format:"d/m/Y"},defaultType:"datefield",items:[{fieldLabel:"Start Date",name:"startdt",startDay:1,value:this.startDate},{fieldLabel:"End Date",name:"enddt",startDay:1,value:this.endDate}]});this.dateRangeWindow=new Ext.Window({title:"Date Range",layout:"fit",modal:true,width:300,height:150,closeAction:"hide",constrain:true,shadow:true,buttonAlign:"center",items:[a],buttons:[{text:"OK",handler:function(){this.startDate=this.dateRangeWindow.find("name","startdt")[0].getValue();this.endDate=this.dateRangeWindow.find("name","enddt")[0].getValue();this.dateRangeStartField.setValue(this.startDate.format("d/m/Y"));this.dateRangeEndField.setValue(this.endDate.format("d/m/Y"));this.dateRangeWindow.hide();this.doChangeProduct()},scope:this},{text:"Cancel",handler:function(){this.dateRangeWindow.hide()},scope:this}]})}this.dateRangeWindow.doLayout();this.dateRangeWindow.show(this)}});Ext.namespace("com.hypermanager.resSolution");com.hypermanager.resSolution.resSolutionReportResProPanel=function(a,b){Ext.apply(this,b);com.hypermanager.resSolution.resSolutionReportResProPanel.superclass.constructor.call(this)};Ext.extend(com.hypermanager.resSolution.resSolutionReportResProPanel,com.hypermanager.data.DPGridPanel,{actions:{getDataProductInfo:"getReportResProTableHeader",getDataProductRows:"getReportResProTableRows",addRecord:"addRecord",addMultipleRecords:"addMultipleRecords",updateRecord:"updateRecord",deleteRecord:"deleteRecord",collapseRecord:"collapseRecord",storeParameters:"storeResSolParameters",copyRecord:"copyRecord"},servletURL:ServletContext+"json/resSolution",dataServletURL:ServletContext+"json/data",resId:-1,startDate:new Date((new Date().getYear()+1900),0,1),endDate:new Date((new Date().getYear()+1900),11,31),timeUnit:2,timeRaster:3,initComponent:function(){var a={};this.buildConfig(a);Ext.apply(this,Ext.apply(this.initialConfig,a));com.hypermanager.resSolution.resSolutionReportResProPanel.superclass.initComponent.apply(this,arguments)},buildItems:function(a){com.hypermanager.resSolution.resSolutionReportResProPanel.superclass.buildItems.call(this,a)},createDSandCM:function(){this.detailsGrid.disable();var l=com.hypermanager.security.SecurityMgr;var f=Ext.util.JSON.decode(this.dataProductInfo).headerInfo;this.appName="resSolution";this.prodName="Report Res/Pro ";this.filterName="";this.showDetailsPanel=false;this.filterId=-204;this.appType=f.type;this.resName=f.resourceName;var d=new Array();this.configCM=new Array();this.columnDataTypes=new Array();var b=com.hypermanager.data.DPGridRenderers.renderMarkColumn.createDelegate(this);this.configCM.push({header:"",dataIndex:"selectField",editor:null,width:15,sortable:false,css:"background-color: #E5EEFF;",renderer:b,fixed:true,hideable:false,menuDisabled:true,resizable:true,importedField:false});d.push({name:"selectField",type:"string"});var a=["id","id_parent","level","expanded","isLeaf","marked","visible"];var k=["int","int","int","boolean","boolean","boolean","boolean"];for(var c=0;c<a.length;c++){d.push({name:a[c],type:k[c]})}for(c=0;c<f.staticFields.length;c++){var h=f.staticFields[c];var e=com.hypermanager.data.DPGridRenderers.getRenderer(this,h.dataType);this.columnDataTypes.push({name:h.name,type:h.dataType});d.push({name:h.name,type:com.hypermanager.data.DataTypes.getExtJSRecordDataType(h.dataType),dateFormat:(h.dataType=="5"?"d/m/Y":"")});this.configCM.push({header:h.displayName,dataIndex:h.name,renderer:e,editor:null,width:(h.width<10?10:h.width),css:"white-space:normal;"+(h.dataType==com.hypermanager.data.DataTypes.COMPUTATOR_COL?"text-align:right;":""),hierarchieCell:(c==0),importedField:false,type:h.dataType,computator:h.computator})}this.dynamicFields=new Array();for(c=0;c<f.dynamicFields.length;c++){var h=f.dynamicFields[c];this.dynamicFields.push(h);this.columnDataTypes.push({name:h.name,type:h.dataType});d.push({name:h.name,type:com.hypermanager.data.DataTypes.getExtJSRecordDataType(h.dataType),convert:this.convertMixed,dateFormat:(h.dataType=="5"?"d/m/Y":"")});var e=com.hypermanager.data.DPGridRenderers.getRenderer(this,h.dataType);this.configCM.push({header:h.displayName,dataIndex:h.name,renderer:e,editor:null,width:(h.width<10?10:h.width),css:"white-space:normal; text-align: right;",hierarchieCell:false,importedField:false,type:h.dataType,computator:h.computator})}this.recordFields=d;this.TableRecord=new Ext.data.Record.create(d);this.ds=new com.hypermanager.data.FlatTreeStore({proxy:new Ext.data.HttpProxy({url:ServletContext+"json/resSolution"}),baseParams:{action:this.actions.getDataProductRows,proId:this.resId,startDate:this.startDate.format("d/m/Y"),endDate:this.endDate.format("d/m/Y"),timeRaster:this.timeRaster},reader:new Ext.data.JsonReader({root:"data"},this.TableRecord),remoteSort:true});this.ds.addListener("load",function(){com.hypermanager.data.DPGridRenderers.planUnit=this.timeUnit;this.grid.getView().refresh(true)},this);this.cm=new Ext.grid.ColumnModel(this.configCM);this.cm.defaultSortable=true;this.cm.addListener("columnmoved",function(){this.grid.getSelectionModel().clearSelections()},this);this.displayType=1},buildTbar:function(a){com.hypermanager.resSolution.resSolutionReportResProPanel.superclass.buildTbar.call(this,a);this.dateRangeStartField=new Ext.form.TextField({width:70,name:"startdt",format:"d/m/Y",editable:false,listeners:{focus:this.doChangeDateRange,scope:this}});this.dateRangeEndField=new Ext.form.TextField({width:70,name:"enddt",format:"d/m/Y",editable:false,listeners:{focus:this.doChangeDateRange,scope:this}});var b=new Ext.data.Store({proxy:new Ext.data.MemoryProxy([]),reader:new Ext.data.ArrayReader({},[{name:"typeName",type:"string"},{name:"typeId",type:"int"}])});b.loadData([["Hours",1],["Days",2],["Weeks",3]]);this.timeUnitComboBox=new Ext.form.ComboBox({store:b,displayField:"typeName",mode:"local",triggerAction:"all",width:70,listeners:{select:this.doChangeTimeUnit,scope:this}});this.timeRasterDayButton=new Ext.Button({text:"Day",enableToggle:true,toggleGroup:"toggleTimeRaster",handler:this.doChangeTimeRasterDay,scope:this});this.timeRasterWeekButton=new Ext.Button({text:"Week",enableToggle:true,toggleGroup:"toggleTimeRaster",handler:this.doChangeTimeRasterWeek,scope:this});this.timeRasterMonthButton=new Ext.Button({text:"Month",enableToggle:true,toggleGroup:"toggleTimeRaster",handler:this.doChangeTimeRasterMonth,scope:this});this.timeRasterQuarterButton=new Ext.Button({text:"Quarter",enableToggle:true,toggleGroup:"toggleTimeRaster",handler:this.doChangeTimeRasterQuarter,scope:this});this.timeRasterYearButton=new Ext.Button({text:"Year",enableToggle:true,toggleGroup:"toggleTimeRaster",handler:this.doChangeTimeRasterYear,scope:this});a.tbar.push(this.timeRasterDayButton,this.timeRasterWeekButton,this.timeRasterMonthButton,this.timeRasterQuarterButton,this.timeRasterYearButton,"-",this.timeUnitComboBox,"-",this.dateRangeStartField,new Ext.Toolbar.TextItem("-"),this.dateRangeEndField)},getDataProductInfoRequestParams:function(){return{action:this.actions.getDataProductInfo,prodId:this.productId,objectId:this.objectId,startDate:this.startDate.format("d/m/Y"),endDate:this.endDate.format("d/m/Y"),timeRaster:this.timeRaster,timeUnit:this.timeUnit}},onCellContextMenu:function(b,d,a,c){c.preventDefault()},doCollapseRecord:function(a,b){},doExpandRecord:function(a,b){},getCellClasses:function(d,e,h,f,b,a){var c=com.hypermanager.resSolution.resSolutionBTPanel.superclass.getCellClasses.apply(this,arguments);if(e.type==com.hypermanager.data.DataTypes.COMPUTATOR_COL){c.push("x-dpgrid-cell-computator")}else{if(h.get("id")<0){c.push("x-dpgrid-cell-computator")}else{if(d instanceof com.hypermanager.data.Computator){c.push("x-dpgrid-cell-computator")}else{}}}return c},setValues:function(){this.timeRaster==1?this.timeRasterDayButton.toggle(true):this.timeRaster==2?this.timeRasterWeekButton.toggle(true):this.timeRaster==3?this.timeRasterMonthButton.toggle(true):this.timeRaster==4?this.timeRasterQuarterButton.toggle(true):this.timeRasterYearButton.toggle(true);this.timeUnit==1?this.timeUnitComboBox.setValue("Hours"):this.timeUnit==2?this.timeUnitComboBox.setValue("Days"):this.timeUnitComboBox.setValue("Weeks");this.dateRangeStartField.setValue(this.startDate.format("d/m/Y"));this.dateRangeEndField.setValue(this.endDate.format("d/m/Y"));this.doChangeProduct()},retrieveDefaultParameters:function(a){var b=Ext.Ajax.request({url:this.dataServletURL,params:{action:"getResSolParameters",objectId:a},scope:this,success:function(c,d){jsonResponse=Ext.util.JSON.decode(c.responseText);if((!jsonResponse.parameters)||(jsonResponse.parameters==false)){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error retrieving default parameters")}else{if(jsonResponse.parameters.timeUnit!=0){this.timeUnit=jsonResponse.parameters.timeUnit}else{this.timeUnit=3}if(jsonResponse.parameters.startDate!=null&&jsonResponse.parameters.endDate!=null){this.startDate=new Date(jsonResponse.parameters.startDate);this.endDate=new Date(jsonResponse.parameters.endDate)}else{this.startDate=new Date((new Date().getYear()+1900),0,1);this.endDate=new Date((new Date().getYear()+1900),11,31)}}this.setValues()},failure:function(c,d){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error retrieving default parameters")}})},doStoreParameters:function(a){var d=function(e){return e<10?"0"+e:e};var b=""+this.startDate.getFullYear()+"-"+d(this.startDate.getMonth()+1)+"-"+d(this.startDate.getDate())+"";var c=""+this.endDate.getFullYear()+"-"+d(this.endDate.getMonth()+1)+"-"+d(this.endDate.getDate())+"";Ext.Ajax.request({url:this.dataServletURL,params:{action:this.actions.storeParameters,objid:a,timeUnit:this.timeUnit,timeRaster:this.timeRaster,startDate:b,endDate:c,activeId:this.resId},scope:this,success:function(e,f){if(e.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error saving the object parameters")}},failure:function(e,f){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error saving the object parameters")}})},doChangeTimeRasterDay:function(){this.timeRasterDayButton.toggle(true);this.timeRaster=1;this.doChangeProduct()},doChangeTimeRasterWeek:function(){this.timeRasterWeekButton.toggle(true);this.timeRaster=2;this.doChangeProduct()},doChangeTimeRasterMonth:function(){this.timeRasterMonthButton.toggle(true);this.timeRaster=3;this.doChangeProduct()},doChangeTimeRasterQuarter:function(){this.timeRasterQuarterButton.toggle(true);this.timeRaster=4;this.doChangeProduct()},doChangeTimeRasterYear:function(){this.timeRasterYearButton.toggle(true);this.timeRaster=5;this.doChangeProduct()},doChangeTimeUnit:function(){this.timeUnit=this.timeUnitComboBox.selectedIndex+1;com.hypermanager.data.DPGridRenderers.planUnit=this.timeUnitComboBox.selectedIndex+1;this.grid.getView().refresh(true)},doChangeDateRange:function(){if(this.dateRangeWindow==undefined){var a=new Ext.FormPanel({labelWidth:75,border:false,frame:true,bodyStyle:"padding:5px 5px 0",width:300,defaults:{width:175,format:"d/m/Y"},defaultType:"datefield",items:[{fieldLabel:"Start Date",name:"startdt",startDay:1,value:this.startDate},{fieldLabel:"End Date",name:"enddt",startDay:1,value:this.endDate}]});this.dateRangeWindow=new Ext.Window({title:"Date Range",layout:"fit",modal:true,width:300,height:150,closeAction:"hide",constrain:true,shadow:true,buttonAlign:"center",items:[a],buttons:[{text:"OK",handler:function(){this.startDate=this.dateRangeWindow.find("name","startdt")[0].getValue();this.endDate=this.dateRangeWindow.find("name","enddt")[0].getValue();this.dateRangeStartField.setValue(this.startDate.format("d/m/Y"));this.dateRangeEndField.setValue(this.endDate.format("d/m/Y"));this.dateRangeWindow.hide();this.doChangeProduct()},scope:this},{text:"Cancel",handler:function(){this.dateRangeWindow.hide()},scope:this}]})}this.dateRangeWindow.doLayout();this.dateRangeWindow.show(this)}});Ext.namespace("com.hypermanager.resSolution");com.hypermanager.resSolution.resSolutionReportProResPanel=function(a,b){Ext.apply(this,b);com.hypermanager.resSolution.resSolutionReportProResPanel.superclass.constructor.call(this)};Ext.extend(com.hypermanager.resSolution.resSolutionReportProResPanel,com.hypermanager.data.DPGridPanel,{actions:{getDataProductInfo:"getReportProResTableHeader",getDataProductRows:"getReportProResTableRows",addRecord:"addRecord",addMultipleRecords:"addMultipleRecords",updateRecord:"updateRecord",deleteRecord:"deleteRecord",collapseRecord:"collapseRecord",storeParameters:"storeResSolParameters",copyRecord:"copyRecord"},servletURL:ServletContext+"json/resSolution",dataServletURL:ServletContext+"json/data",resId:-1,startDate:new Date((new Date().getYear()+1900),0,1),endDate:new Date((new Date().getYear()+1900),11,31),timeUnit:2,timeRaster:3,initComponent:function(){var a={};this.buildConfig(a);Ext.apply(this,Ext.apply(this.initialConfig,a));com.hypermanager.resSolution.resSolutionReportProResPanel.superclass.initComponent.apply(this,arguments)},buildItems:function(a){com.hypermanager.resSolution.resSolutionReportProResPanel.superclass.buildItems.call(this,a)},createDSandCM:function(){this.detailsGrid.disable();var l=com.hypermanager.security.SecurityMgr;var f=Ext.util.JSON.decode(this.dataProductInfo).headerInfo;this.appName="resSolution";this.prodName="Report Pro/Res ";this.filterName="";this.showDetailsPanel=false;this.filterId=-205;this.appType=f.type;this.resName=f.resourceName;var d=new Array();this.configCM=new Array();this.columnDataTypes=new Array();var b=com.hypermanager.data.DPGridRenderers.renderMarkColumn.createDelegate(this);this.configCM.push({header:"",dataIndex:"selectField",editor:null,width:15,sortable:false,css:"background-color: #E5EEFF;",renderer:b,fixed:true,hideable:false,menuDisabled:true,resizable:true,importedField:false});d.push({name:"selectField",type:"string"});var a=["id","id_parent","level","expanded","isLeaf","marked","visible"];var k=["int","int","int","boolean","boolean","boolean","boolean"];for(var c=0;c<a.length;c++){d.push({name:a[c],type:k[c]})}for(c=0;c<f.staticFields.length;c++){var h=f.staticFields[c];var e=com.hypermanager.data.DPGridRenderers.getRenderer(this,h.dataType);this.columnDataTypes.push({name:h.name,type:h.dataType});d.push({name:h.name,type:com.hypermanager.data.DataTypes.getExtJSRecordDataType(h.dataType),dateFormat:(h.dataType=="5"?"d/m/Y":"")});this.configCM.push({header:h.displayName,dataIndex:h.name,renderer:e,editor:null,width:(h.width<10?10:h.width),css:"white-space:normal;"+(h.dataType==com.hypermanager.data.DataTypes.COMPUTATOR_COL?"text-align:right;":""),hierarchieCell:(c==0),importedField:false,type:h.dataType,computator:h.computator})}this.dynamicFields=new Array();for(c=0;c<f.dynamicFields.length;c++){var h=f.dynamicFields[c];this.dynamicFields.push(h);this.columnDataTypes.push({name:h.name,type:h.dataType});d.push({name:h.name,type:com.hypermanager.data.DataTypes.getExtJSRecordDataType(h.dataType),convert:this.convertMixed,dateFormat:(h.dataType=="5"?"d/m/Y":"")});var e=com.hypermanager.data.DPGridRenderers.getRenderer(this,h.dataType);this.configCM.push({header:h.displayName,dataIndex:h.name,renderer:e,editor:null,width:(h.width<10?10:h.width),css:"white-space:normal; text-align: right;",hierarchieCell:false,importedField:false,type:h.dataType,computator:h.computator})}this.recordFields=d;this.TableRecord=new Ext.data.Record.create(d);this.ds=new com.hypermanager.data.FlatTreeStore({proxy:new Ext.data.HttpProxy({url:ServletContext+"json/resSolution"}),baseParams:{action:this.actions.getDataProductRows,proId:this.resId,startDate:this.startDate.format("d/m/Y"),endDate:this.endDate.format("d/m/Y"),timeRaster:this.timeRaster},reader:new Ext.data.JsonReader({root:"data"},this.TableRecord),remoteSort:true});this.ds.addListener("load",function(){com.hypermanager.data.DPGridRenderers.planUnit=this.timeUnit;this.grid.getView().refresh(true)},this);this.cm=new Ext.grid.ColumnModel(this.configCM);this.cm.defaultSortable=true;this.cm.addListener("columnmoved",function(){this.grid.getSelectionModel().clearSelections()},this);this.displayType=1},buildTbar:function(a){com.hypermanager.resSolution.resSolutionReportProResPanel.superclass.buildTbar.call(this,a);this.dateRangeStartField=new Ext.form.TextField({width:70,name:"startdt",format:"d/m/Y",editable:false,listeners:{focus:this.doChangeDateRange,scope:this}});this.dateRangeEndField=new Ext.form.TextField({width:70,name:"enddt",format:"d/m/Y",editable:false,listeners:{focus:this.doChangeDateRange,scope:this}});var b=new Ext.data.Store({proxy:new Ext.data.MemoryProxy([]),reader:new Ext.data.ArrayReader({},[{name:"typeName",type:"string"},{name:"typeId",type:"int"}])});b.loadData([["Hours",1],["Days",2],["Weeks",3]]);this.timeUnitComboBox=new Ext.form.ComboBox({store:b,displayField:"typeName",mode:"local",triggerAction:"all",width:70,listeners:{select:this.doChangeTimeUnit,scope:this}});this.timeRasterDayButton=new Ext.Button({text:"Day",enableToggle:true,toggleGroup:"toggleTimeRaster",handler:this.doChangeTimeRasterDay,scope:this});this.timeRasterWeekButton=new Ext.Button({text:"Week",enableToggle:true,toggleGroup:"toggleTimeRaster",handler:this.doChangeTimeRasterWeek,scope:this});this.timeRasterMonthButton=new Ext.Button({text:"Month",enableToggle:true,toggleGroup:"toggleTimeRaster",handler:this.doChangeTimeRasterMonth,scope:this});this.timeRasterQuarterButton=new Ext.Button({text:"Quarter",enableToggle:true,toggleGroup:"toggleTimeRaster",handler:this.doChangeTimeRasterQuarter,scope:this});this.timeRasterYearButton=new Ext.Button({text:"Year",enableToggle:true,toggleGroup:"toggleTimeRaster",handler:this.doChangeTimeRasterYear,scope:this});a.tbar.push(this.timeRasterDayButton,this.timeRasterWeekButton,this.timeRasterMonthButton,this.timeRasterQuarterButton,this.timeRasterYearButton,"-",this.timeUnitComboBox,"-",this.dateRangeStartField,new Ext.Toolbar.TextItem("-"),this.dateRangeEndField)},getDataProductInfoRequestParams:function(){return{action:this.actions.getDataProductInfo,prodId:this.productId,objectId:this.objectId,startDate:this.startDate.format("d/m/Y"),endDate:this.endDate.format("d/m/Y"),timeRaster:this.timeRaster,timeUnit:this.timeUnit}},onCellContextMenu:function(b,d,a,c){c.preventDefault()},doCollapseRecord:function(a,b){},doExpandRecord:function(a,b){},getCellClasses:function(d,e,h,f,b,a){var c=com.hypermanager.resSolution.resSolutionBTPanel.superclass.getCellClasses.apply(this,arguments);if(e.type==com.hypermanager.data.DataTypes.COMPUTATOR_COL){c.push("x-dpgrid-cell-computator")}else{if(h.get("id")<0){c.push("x-dpgrid-cell-computator")}else{if(d instanceof com.hypermanager.data.Computator){c.push("x-dpgrid-cell-computator")}else{}}}return c},setValues:function(){this.timeRaster==1?this.timeRasterDayButton.toggle(true):this.timeRaster==2?this.timeRasterWeekButton.toggle(true):this.timeRaster==3?this.timeRasterMonthButton.toggle(true):this.timeRaster==4?this.timeRasterQuarterButton.toggle(true):this.timeRasterYearButton.toggle(true);this.timeUnit==1?this.timeUnitComboBox.setValue("Hours"):this.timeUnit==2?this.timeUnitComboBox.setValue("Days"):this.timeUnitComboBox.setValue("Weeks");this.dateRangeStartField.setValue(this.startDate.format("d/m/Y"));this.dateRangeEndField.setValue(this.endDate.format("d/m/Y"));this.doChangeProduct()},retrieveDefaultParameters:function(a){var b=Ext.Ajax.request({url:this.dataServletURL,params:{action:"getResSolParameters",objectId:a},scope:this,success:function(c,d){jsonResponse=Ext.util.JSON.decode(c.responseText);if((!jsonResponse.parameters)||(jsonResponse.parameters==false)){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error retrieving default parameters")}else{if(jsonResponse.parameters.timeUnit!=0){this.timeUnit=jsonResponse.parameters.timeUnit}else{this.timeUnit=3}if(jsonResponse.parameters.startDate!=null&&jsonResponse.parameters.endDate!=null){this.startDate=new Date(jsonResponse.parameters.startDate);this.endDate=new Date(jsonResponse.parameters.endDate)}else{this.startDate=new Date((new Date().getYear()+1900),0,1);this.endDate=new Date((new Date().getYear()+1900),11,31)}}this.setValues()},failure:function(c,d){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error retrieving default parameters")}})},doStoreParameters:function(a){var d=function(e){return e<10?"0"+e:e};var b=""+this.startDate.getFullYear()+"-"+d(this.startDate.getMonth()+1)+"-"+d(this.startDate.getDate())+"";var c=""+this.endDate.getFullYear()+"-"+d(this.endDate.getMonth()+1)+"-"+d(this.endDate.getDate())+"";Ext.Ajax.request({url:this.dataServletURL,params:{action:this.actions.storeParameters,objid:a,timeUnit:this.timeUnit,timeRaster:this.timeRaster,startDate:b,endDate:c,activeId:this.resId},scope:this,success:function(e,f){if(e.responseText==responseError){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error saving the object parameters")}},failure:function(e,f){com.hypermanager.data.DataUtils.displayErrorMsg("Error","Error saving the object parameters")}})},doChangeTimeRasterDay:function(){this.timeRasterDayButton.toggle(true);this.timeRaster=1;this.doChangeProduct()},doChangeTimeRasterWeek:function(){this.timeRasterWeekButton.toggle(true);this.timeRaster=2;this.doChangeProduct()},doChangeTimeRasterMonth:function(){this.timeRasterMonthButton.toggle(true);this.timeRaster=3;this.doChangeProduct()},doChangeTimeRasterQuarter:function(){this.timeRasterQuarterButton.toggle(true);this.timeRaster=4;this.doChangeProduct()},doChangeTimeRasterYear:function(){this.timeRasterYearButton.toggle(true);this.timeRaster=5;this.doChangeProduct()},doChangeTimeUnit:function(){this.timeUnit=this.timeUnitComboBox.selectedIndex+1;com.hypermanager.data.DPGridRenderers.planUnit=this.timeUnitComboBox.selectedIndex+1;this.grid.getView().refresh(true)},doChangeDateRange:function(){if(this.dateRangeWindow==undefined){var a=new Ext.FormPanel({labelWidth:75,border:false,frame:true,bodyStyle:"padding:5px 5px 0",width:300,defaults:{width:175,format:"d/m/Y"},defaultType:"datefield",items:[{fieldLabel:"Start Date",name:"startdt",startDay:1,value:this.startDate},{fieldLabel:"End Date",name:"enddt",startDay:1,value:this.endDate}]});this.dateRangeWindow=new Ext.Window({title:"Date Range",layout:"fit",modal:true,width:300,height:150,closeAction:"hide",constrain:true,shadow:true,buttonAlign:"center",items:[a],buttons:[{text:"OK",handler:function(){this.startDate=this.dateRangeWindow.find("name","startdt")[0].getValue();this.endDate=this.dateRangeWindow.find("name","enddt")[0].getValue();this.dateRangeStartField.setValue(this.startDate.format("d/m/Y"));this.dateRangeEndField.setValue(this.endDate.format("d/m/Y"));this.dateRangeWindow.hide();this.doChangeProduct()},scope:this},{text:"Cancel",handler:function(){this.dateRangeWindow.hide()},scope:this}]})}this.dateRangeWindow.doLayout();this.dateRangeWindow.show(this)}});Ext.namespace("com.hypermanager.resSolution");com.hypermanager.resSolution.resSolTreePanel=function(a){Ext.apply(this,a);Ext.apply(this,{autoScroll:true,rootVisible:false,root:this.resTreeRootNode,selModel:new Ext.tree.DefaultSelectionModel({listeners:{selectionchange:{fn:this.onSelectionChange,scope:this.scope}}})});this.root=new Ext.tree.TreeNode({id:-1,text:"root"});this.root.appendChild(this.createTreeStructure(this.json));com.hypermanager.resSolution.resSolTreePanel.superclass.constructor.call(this)};Ext.extend(com.hypermanager.resSolution.resSolTreePanel,Ext.tree.TreePanel,{createTreeStructure:function(b){var a=new Array();for(var e=0;e<b.length;e++){var d=b[e];var c=this.createTreeStructure(d.children);var f=new Ext.tree.TreeNode({id:d.id,text:d.name,uiProvider:com.hypermanager.resSolution.HighlightedTreeNodeUI});f.appendChild(c);a.push(f)}return a},activateTreeNode:function(k){if(k>=0||k<-1){var a=this.getRootNode();var h=null;var c=new Array();c=c.concat(a.childNodes);var b=0;while((b<c.length)&&(h==null)){var e=c[b];if(e.id==k){h=e}else{c=c.concat(e.childNodes);b++}}if((h)&&(!h.isSelected())){var c=new Array();var f=h;while(f.parentNode){f=f.parentNode;if(f.id!=-1){c.push(f)}}for(var d=0;d<c.length;d++){var e=c[c.length-d-1];e.expand()}this.getSelectionModel().suspendEvents();h.select();this.getSelectionModel().resumeEvents()}}}});Ext.namespace("com.hypermanager.resSolution");com.hypermanager.resSolution.resSolPreFilterWindow=function(a){com.hypermanager.resSolution.resSolPreFilterWindow.superclass.constructor.call(this,a)};Ext.extend(com.hypermanager.resSolution.resSolPreFilterWindow,com.hypermanager.filter.PreFilterWindow,{resSolServletURL:ServletContext+"json/resSolution",createConditionsGrid:function(){relOperator=new Object();relOperator.allowedTypes=[["AND"],["OR"]];var d=Ext.data.Record.create([{name:"relOperator",type:"string"}]);relOperator.ds=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(relOperator.allowedTypes),reader:new Ext.data.ArrayReader({},d)});relOperator.combo=new Ext.ux.SelectBox({store:relOperator.ds,displayField:"relOperator",valueField:"relOperator"});relOperator.ds.load();var b=Ext.data.Record.create([{name:"id",type:"int"},{name:"FieldName",type:"string"},{name:"Type",type:"int"}]);this.dsFields=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:this.resSolServletURL}),baseParams:{action:"getApplicationFields",idApp:-202},reader:new Ext.data.JsonReader({root:"data"},b),listeners:{load:{scope:this,fn:function(f){var h=this.findById("filtername");h.focus();h.selectText()}}}});this.fieldCombo=new Ext.ux.SelectBox({store:this.dsFields,displayField:"FieldName",valueField:"id"});function e(h,k,f){if(typeof h=="object"){if(h.data&&h.data.items){if(h.data.items.length===0){return"Empty..."}return"Details..."}return"--Invalid Object--"+h}index=this.dsFields.find("id",h);if(index!=-1){return(this.dsFields.getAt(index).get("FieldName"))}}comparisonCombo=new Object();comparisonCombo.allowedTypes=[["&#x2248; ("+this.containsrelText+")",1],["= ("+this.equalsrelText+")",2],["&#x2260; ("+this.notequalsrelText+")",3],["< ("+this.smallerrelText+")",4],["> ("+this.greaterrelText+")",5],["&#x2264; ("+this.lessequalText+")",6],["&#x2265; ("+this.greaterequalText+")",7],["&#x2248; ("+this.startswithText+")",8]];var a=Ext.data.Record.create([{name:"TypeName",type:"string"},{name:"TypeId",type:"int"}]);comparisonCombo.ds=new Ext.data.Store({proxy:new Ext.data.MemoryProxy(comparisonCombo.allowedTypes),reader:new Ext.data.ArrayReader({idIndex:1},a)});comparisonCombo.ds.load();comparisonCombo.combo=new Ext.ux.SelectBox({store:comparisonCombo.ds,displayField:"TypeName",valueField:"TypeId"});renderCondition=function(f){index=comparisonCombo.ds.find("TypeId",f);if(index!=-1){return(comparisonCombo.ds.getAt(index).get("TypeName"))}return"Invalid"};this.conditionRecord=Ext.data.Record.create([{name:"Operation",type:"string"},{name:"FieldName",type:"int"},{name:"Relation",type:"int"},{name:"Valuee",type:"string"}]);this.dsFilterConditions=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:this.servletURL}),baseParams:{action:"getFilterConditions",nodeId:this.nodeId},reader:new Ext.data.JsonReader({root:"data"},this.conditionRecord),listeners:{load:{scope:this,fn:function(f){var h=this.findById("filtername");h.focus();h.selectText()}}}});this.ds1Default={Relation:1,Valuee:"",Operation:"AND"};var c=new Ext.grid.ColumnModel({columns:[{header:this.operationcolText,dataIndex:"Operation",width:80,editor:relOperator.combo},{header:this.fieldcolText,dataIndex:"FieldName",width:150,editor:this.fieldCombo,renderer:e.createDelegate(this)},{header:this.relationcolText,dataIndex:"Relation",width:120,editor:comparisonCombo.combo,renderer:renderCondition},{header:this.valuecolText,dataIndex:"Valuee",width:119,editor:new Ext.form.TextField(),renderer:function(k,l,m){var h=this.dsFields.getAt(this.dsFields.find("id",m.get("FieldName")));switch(h.get("Type")){case com.hypermanager.data.DataTypes.DATE:return(k instanceof Date?k.dateFormat("d/m/Y"):k);case com.hypermanager.data.DataTypes.TIMESTAMP:if(k){var f=k instanceof Date?k:Date.parseDate(k,"U");return f.format("d/m/Y - H:i")}return"";default:return k}}.createDelegate(this)}],editors:{1:new Ext.grid.GridEditor(new Ext.form.TextField({})),2:new Ext.grid.GridEditor(new Ext.form.TextField({})),3:new Ext.grid.GridEditor(new Ext.form.TextField({})),4:new Ext.grid.GridEditor(new Ext.form.NumberField({})),5:new Ext.grid.GridEditor(new Ext.form.DateField({format:"d/m/Y"})),6:new Ext.grid.GridEditor(new Ext.ux.form.DateTime({anchor:"-18",timeFormat:"H:i",timeWidth:60,timeConfig:{altFormats:"H.i|H,i"},hiddenFormat:"U",dateFormat:"d/m/Y",dateConfig:{altFormats:"d/m/y|d/m|d|d.m.Y|d.m.y|d.m|d-m-Y|d-m-y|d-m|d_m_Y|d_m_y|d_m|j/m/Y|j/m/y|j/m|j|j.m.Y|j.m.y|j.m|j-m-Y|j-m-y|j-m|j_m_Y|j_m_y|j_m|d/n/Y|d/n/y|d/n|d.n.Y|d.n.y|d.n|d-n-Y|d-n-y|d-n|d_n_Y|d_n_y|d_n|j/n/Y|j/n/y|j/n|j.n.Y|j.n.y|j.n|j-n-Y|j-n-y|j-n|j_n_Y|j_n_y|j_n"}}))},getCellEditor:function(f,n,m){var k=c.getDataIndex(f);if(k=="Valuee"){var l=this.dsFilterConditions.getAt(n);var h=m.getAt(m.find("id",l.get("FieldName"))).get("Type");return c.editors[h]}return Ext.grid.ColumnModel.prototype.getCellEditor.call(c,f,n)}.createDelegate(this,[this.dsFields],true)});this.conditionGrid=new Ext.grid.EditorGridPanel({enableHdMenu:false,region:"west",clicksToEdit:1,enableColumnMove:false,enableColumnResize:false,width:490,titlebar:false,resizable:false,ds:this.dsFilterConditions,cm:c,selModel:new Ext.grid.RowSelectionModel({singleSelect:true}),enableColLock:false});return this.conditionGrid}});Ext.namespace("com.hypermanager.resSolution");com.hypermanager.resSolution.resSolPreFilterTreePanel=function(a){com.hypermanager.resSolution.resSolPreFilterTreePanel.superclass.constructor.call(this,a)};Ext.extend(com.hypermanager.resSolution.resSolPreFilterTreePanel,com.hypermanager.filter.PreFilterTreePanel,{openPreFilterWindow:function(b,a){if(a){if(this.fireEvent("beforeadd",this,b)===false){return}}var c=new com.hypermanager.resSolution.resSolPreFilterWindow({preFilterId:this.root.attributes.nodeId,nodeId:a?-1:b.attributes.nodeId,parentNodeId:a?b.attributes.nodeId:b.parentNode.attributes.nodeId,name:a?this.newFilterNodeText:b.text});c.on("afterconditionssaved",function(h,d,f,e){if(a){b.expand(null,false,function(k){newNode=k.appendChild(new Ext.tree.TreeNode({nodeId:f,text:e,leaf:true,iconCls:"prefilter-icon-leaf"}));this.fireEvent("click",newNode)}.createDelegate(this))}else{b.setText(e);this.fireEvent("click",b)}},this);c.show()}});Ext.namespace("com.hypermanager.resSolution");com.hypermanager.resSolution.resSolPreFilterControl=function(a,b){this.init(a,b)};com.hypermanager.resSolution.resSolPreFilterControl.prototype={tree:null,init:function(b,c){this.tree=new com.hypermanager.resSolution.resSolPreFilterTreePanel({animate:true,el:b.getEl(),dataUrl:"json/prefilter",rootVisible:false,readOnly:c==-1?true:false,containerScroll:true,enableDD:false,enableRename:true,enableDelete:true,enableNewDir:true,iconPath:iconDir});var a=new Ext.tree.AsyncTreeNode({nodeId:c,text:"Pre-filter",path:"root",allowDrag:false});this.tree.setRootNode(a);this.tree.render();var d=com.hypermanager.security.SecurityMgr;this.tree.adminAuthorized=d.isAuthorized(d.ROLE_DATA_APP_CREATE)||d.isAuthorized(d.ROLE_TABSYSTEM_CREATE);a.expand()},loadPreFilter:function(a){this.tree.root.attributes.nodeId=a;if(a==-1){this.tree.readOnly=true}else{this.tree.readOnly=false}this.tree.root.reload()}};Ext.namespace("com.hypermanager.user");com.hypermanager.user.GroupGridPanel=Ext.extend(Ext.grid.GridPanel,{servletURL:ServletContext+"json/user",colGroupId:"group_id",colGroupName:"groupName",colMemberCount:"memberCount",colUsers:"groupUsers",colAuthorities:"authorities",colTitleGroupName:"Groupname",colTitleMemberCount:"Member Count",allUsersGroupName:"All Users",initComponent:function(){this.dsRecord=Ext.data.Record.create([{name:this.colGroupId,type:"int"},{name:this.colGroupName,type:"string"},{name:this.colMemberCount,type:"int"},{name:this.colUsers},{name:this.colAuthorities}]);var b=[{header:this.colTitleGroupName,dataIndex:this.colGroupName,sortable:true,id:this.colGroupName,renderer:this.renderCell},{header:this.colTitleMemberCount,dataIndex:this.colMemberCount,sortable:true,id:this.colMemberCount}];if(this.initialConfig.selModel){b.splice(0,0,this.initialConfig.selModel)}var a={ds:new Ext.data.JsonStore({url:this.servletURL,baseParams:{action:"getGroupList"},root:"groups",listeners:{load:{scope:this,fn:function(){if(this.getStore().getCount()>0){var c=this.getStore().find(this.colGroupId,1)}if(c>=0){this.getStore().getAt(c).set(this.colGroupName,this.allUsersGroupName);this.getStore().getAt(c).commit()}if(this.selectFirstRowOnLoad){this.getSelectionModel().selectFirstRow()}}}},fields:this.dsRecord}),cm:new Ext.grid.ColumnModel(b),resizable:false,header:false,split:true,enableDragDrop:false,enableHdMenu:false,enableColumnResize:false,enableColumnHide:false,enableColumnHide:false,autoExpandColumn:this.colGroupName,border:false,selModel:this.initialConfig.selModel?this.initialConfig.selModel:new Ext.grid.RowSelectionModel({singleSelect:true}),viewConfig:{emptyText:"No Groups available.",autoFill:true}};Ext.apply(this,Ext.apply(this.initialConfig,a));com.hypermanager.user.GroupGridPanel.superclass.initComponent.apply(this,arguments)},renderCell:function(e,a,b,f,d,c){if(b.get("group_id")==1){a.css="all-user-group-row"}else{a.css="group-row"}return e}});Ext.namespace("com.hypermanager.user");com.hypermanager.user.GroupSelectionDialog=Ext.extend(Ext.Window,{servletURL:ServletContext+"json/user",btnTextCloseDialog:"Cancel",btnTextOkDialog:"Ok",initComponent:function(){var a={};this.buildConfig(a);Ext.apply(this,Ext.apply(this.initialConfig,a));this.addEvents("groupselect");com.hypermanager.user.GroupSelectionDialog.superclass.initComponent.call(this)},buildConfig:function(a){Ext.apply(a,{layout:"fit",closeAction:"hide",modal:true,width:500,height:400,buttonAlign:"center",listeners:{show:{scope:this,fn:function(){this.getComponent(0).getStore().on("load",function(c,b,e){if(this.filterConfig!=null){for(var f=0;f<this.filterConfig.filterRecs.length;f++){var d=c.findExact(this.filterConfig.selectionGridCol,this.filterConfig.filterRecs[f].get(this.filterConfig.filterRecCol));if(d>=0){c.remove(c.getAt(d))}}}},this);this.getComponent(0).getStore().load()}}}});this.buildItems(a);this.buildButtons(a)},buildItems:function(a){a.items=[new com.hypermanager.user.GroupGridPanel({bbar:null,readOnly:true,selModel:new Ext.grid.CheckboxSelectionModel({selectFirstRowOnLoad:false,singleSelect:false,listeners:{beforerowselect:function(e,c,d,b){e.suspendEvents();if(e.isSelected(c)){e.deselectRow(c)}else{e.selectRow(c,true)}e.resumeEvents();return false}}})})]},buildButtons:function(a){a.buttons=[{text:this.btnTextOkDialog,handler:this.onOk,scope:this},{text:this.btnTextCloseDialog,handler:function(){this.hide()},scope:this}]},showFiltered:function(a){this.filterConfig=a;this.show()},onOk:function(){this.hide();var b=this.getComponent(0);if(b.getSelectionModel().hasSelection()){var a=b.getSelectionModel().getSelections();this.fireEvent("groupselect",a,this)}}});Ext.namespace("com.hypermanager.user");com.hypermanager.user.PermissionPanel=Ext.extend(Ext.FormPanel,{adminLabel:"Administrator",tabSystemCreateLabel:"Create Tab Systems",deskCreateLabel:"Create Desks",dataAppCreateLabel:"Create Data Applications",pageCreateLabel:"Create Pages / Websites",isLoadingPermissions:false,initComponent:function(){var a={labelWidth:200,bodyStyle:"padding:10px 10px 0",width:300,border:false,defaults:{handler:this.onPermissionChecked,scope:this},trackResetOnLoad:true,monitorValid:true,defaultType:"checkbox",items:this.createItems()};Ext.apply(this,Ext.apply(this.initialConfig,a));com.hypermanager.user.PermissionPanel.superclass.initComponent.apply(this,arguments)},createItems:function(){var a=com.hypermanager.security.SecurityMgr;return[{fieldLabel:this.adminLabel,name:a.ROLE_ADMIN,disabled:this.initialConfig.readOnly},{fieldLabel:this.tabSystemCreateLabel,name:a.ROLE_TABSYSTEM_CREATE,disabled:this.initialConfig.readOnly},{fieldLabel:this.deskCreateLabel,name:a.ROLE_DESK_CREATE,disabled:this.initialConfig.readOnly},{fieldLabel:this.dataAppCreateLabel,name:a.ROLE_DATA_APP_CREATE,disabled:this.initialConfig.readOnly},{fieldLabel:this.pageCreateLabel,name:a.ROLE_PAGE_CREATE,disabled:this.initialConfig.readOnly}]},onPermissionChecked:function(d,c){if(!this.isLoadingPermissions){this.isLoadingPermissions=true;var f=com.hypermanager.security.SecurityMgr;var b=this.getForm();if(d.name==f.ROLE_ADMIN){for(var a=0;a<b.items.items.length;a++){b.items.items[a].setValue(false);b.items.items[a].setDisabled(c)}d.setValue(c);d.setDisabled(false)}var e=this.getBottomToolbar();if(e!=null){e.getComponent(1).setDisabled(!this.getForm().isDirty())}this.isLoadingPermissions=false}},loadPermissions:function(a){this.isLoadingPermissions=true;var d=a.get("authorities");if(d!=null){for(var b=0;b<d.length;b++){var c=this.getForm().findField(d[b].role);if(c!=null){c.setValue(true);c.originalValue=true}}}this.isLoadingPermissions=false},getPermissionArray:function(d){var c=new Array();for(var b=0;b<this.items.items.length;b++){if(this.getComponent(b).getValue()){var a={role:this.getComponent(b).getName()};c.push(a)}}return c}});Ext.namespace("com.hypermanager.user");com.hypermanager.user.UserAdminDialog=Ext.extend(Ext.Window,{servletURL:ServletContext+"json/user",titleBasic:"User & Group Administration",userTabTitle:"Users",groupTabTitle:"Groups",iconAddUser:"user_add.png",btnTextAddUser:"Add",btnTtipAddUser:"Add New User",iconDelUser:"user_delete.png",btnTextDelUser:"Delete",btnTtipDelUser:"Deletes selected User",iconAddGroup:"group_add.png",btnTextAddGroupUser:"Add User",btnTtipAddGroupUser:"Add User(s) to Group",iconDelGroup:"group_delete.png",btnTextDelGroupUser:"Remove",btnTtipDelGroupUser:"Removes selected User(s) from Group",titleUserSelectionDialog:"Choose User(s) to Add",titleGroupSelectionDialog:"Choose Group(s) to Add User to",colUsername:"Username",confirmDeleteTitle:"Confirm Delete",confirmDeleteText:function(a){return"Are you sure you want to do delete User <b>"+a+"</b>? "},btnTextSave:"Save",deleteCurUserNotAllowedTitle:"Delete User",deleteCurUserNotAllowedText:"Cannot delete currently logged in user.<br/>Log in with another administrator user in order to delete this user.",unsavedChangesTitle:"Unsaved Changes",unsavedChangesUserText:function(a){return"Save Changes to User <b>"+a+"</b>? "},unsavedChangesGroupText:function(a){return"Save Changes to Group <b>"+a+"</b>? "},userDetailsPanelTitle:"User Details",userNameLabel:"Username",userNameBlankText:"Username is required",userNameMinLengthText:"Username should consist of at least 2 Characters.",firstNameLabel:"First Name",lastNameLabel:"Last Name",personalNumberLabel:"Personal Number",passwordLabel:"Password",passwordConfirmationLabel:"Password Confirmation",passwordBlankText:"Password is required.",passwordNoMatchText:"Passwords do not match.",enabledLabel:"Enabled",autoLoginLabel:"Auto-Login",autoLoginQuicktip:"Authenticates user automatically (no login required), if activated. Can only be set on 1 user simultaneously.",userPermissionLabel:"User Permissions",windowCloseButtonText:"Close",titleGroupMemberGrid:"Group Members",btnTextAddUserGroup:"Add",btnTtipAddUserGroup:"Add User to Group(s)",btnTextDelUserGroup:"Remove",btnTtipDelUserGroup:"Removes User from selected Group(s)",titleGroupGrid:"Groups",btnTextAddGroup:"Add",btnTtipAddGroup:"Add Group",dialogTextAddGroup:"Enter Groupname:",btnTextDeleteGroup:"Delete",btnTtipDeleteGroup:"Deletes selected Group",btnTextRenameGroup:"Rename",btnTtipRenameGroup:"Rename selected Group",groupRightsLabel:"Group Rights",writeLimitErrTitle:"Licence Write Permission Limit exceeded",writeLimitErrMsg:function(a){var b="With your current License you are only allowed to have max. "+a+" Users with Write Permission.<br/>";b+="Please adjust Permissions accordingly or upgrade your License to grant write permission to more users.";return b},readLimitErrTitle:"Licence Read Permission Limit exceeded",readLimitErrMsg:function(a){var b="With your current License you are only allowed to have max. "+a+" Users with Read Permission.<br/>";b+="Upgrade your License if you want to add to more users.";return b},userGridPanel:null,userGroupGridPanel:null,userGroupRightsForm:null,userDetailsForm:null,userRightsForm:null,groupTabPanel:null,groupGridPanel:null,groupUserGridPanel:null,groupRightsForm:null,userSelectionDialog:null,groupSelectionDialog:null,loadMask:null,hasAutoLogin:false,initComponent:function(){var a={};this.buildConfig(a);Ext.QuickTips.init();this.loadMask=new Ext.LoadMask(this.getEl());Ext.apply(this,Ext.apply(this.initialConfig,a));com.hypermanager.user.UserAdminDialog.superclass.initComponent.call(this)},buildConfig:function(a){Ext.apply(a,{title:this.titleBasic,modal:true,width:650,height:500,shadow:true,resizable:false,layout:"fit",closable:true,closeAction:"hide",listeners:{hide:{scope:this,fn:this.onClose}}});this.buildItems(a);this.buildButtons(a)},buildItems:function(a){a.items=[{xtype:"tabpanel",activeTab:0,border:false,listeners:{beforetabchange:{scope:this,fn:function(b,d,c){if(c==b.getComponent(0)&&this.hasUnsavedUserChanges()){this.showUserSaveDialog(function(){b.activate(d)},this);return false}else{if(c==b.getComponent(1)&&this.hasUnsavedGroupChanges()){this.showGroupSaveDialog(function(){b.activate(d)},this);return false}}}},tabchange:{scope:this,fn:function(c,b){if(b==c.getComponent(0)){this.userGridPanel.getStore().load()}else{this.groupGridPanel.getStore().load()}}}},items:[{layout:"border",title:this.userTabTitle,border:false,items:[this.createUserGridPanel(),this.createUserTabPanel()]},{layout:"border",title:this.groupTabTitle,border:false,items:[this.createGroupGridPanel(),this.createGroupTabPanel()]}]}]},buildButtons:function(a){a.buttons=[{text:this.windowCloseButtonText,handler:this.onClose,scope:this}]},createUserTabPanel:function(){this.userTabPanel=new Ext.TabPanel({region:"center",activeTab:0,defaults:{autoScroll:true},initialSize:620,titlebar:false,border:true,resizable:false,tabPosition:"top",alwaysShowTabs:true,deferredRender:false,listeners:{beforetabchange:{scope:this,fn:function(a,c,b){if(c==a.getComponent(2)){if(this.hasUnsavedUserChanges()){this.showUserSaveDialog(function(){a.activate(c)},this);return false}return true}return true}},tabchange:{scope:this,fn:function(b,a){if(a==this.userDetailsForm||a==this.userRightsForm){b.getBottomToolbar().show()}else{b.getBottomToolbar().hide()}}}},items:[this.createUserDetailsPanel(),this.createUserRightsPanel(),this.createUserGroupPanel()],bbar:["->",{icon:iconDir+"disk.png",id:"userfrm-save",text:this.btnTextSave,cls:"x-btn-text-icon",handler:this.onSaveUserClicked,scope:this,formBind:true}]});return this.userTabPanel},createUserGridPanel:function(){this.userGridPanel=new Object();this.userGridPanel=new com.hypermanager.user.UserGridPanel({region:"west",showOnlyUsername:true,selectFirstRowOnLoad:true,singleSelect:true,bbar:[{cls:"x-btn-text-icon",text:this.btnTextAddUser,tooltip:this.btnTtipAddUser,minWidth:50,handler:this.onAddUserClicked,scope:this,icon:iconDir+this.iconAddUser},{cls:"x-btn-text-icon",text:this.btnTextDelUser,tooltip:this.btnTtipDelUser,minWidth:50,handler:this.onDeleteUserClicked,scope:this,icon:iconDir+this.iconDelUser}]});this.userGridPanel.getSelectionModel().addListener("rowselect",this.onUserSelected,this,{delay:100});this.userGridPanel.getSelectionModel().addListener("beforerowselect",function(b,d,c,a){if(this.hasUnsavedUserChanges()){this.showUserSaveDialog(function(){b.selectRow(d)},this);return false}},this);return this.userGridPanel},createUserDetailsPanel:function(){Ext.override(Ext.form.Field,{setFieldLabel:function(a){if(this.rendered){this.el.up(".x-form-item",10,true).child(".x
