function ActionData(ab,bb){this.canvas=ab;this.type=bb;this.initMouseX;this.initMouseY;this.mouseUpCallbackObj;this.mouseUpCallbackName;this.firstUpdateCallbackObj;this.firstUpdateCallbackName;this.isUpdateX=true;this.isUpdateY=true;var self=this;var cb=new Array();var db=new Array();var eb=new Array();var fb;var gb,hb,ib,jb;this.setItems=function(kb){cb=new Array();db=new Array();var lb;for(var mb in kb){lb=kb[mb];if(!lb){continue;}
db[lb.node.id]=lb.domSelectRoot;cb[lb.node.id]=lb;}
}
this.setDomItem=function(nb){db=new Array();db[0]=nb;}
this.setDomItems=function(kb){db=new Array();for(var mb in kb){db[mb]=kb[mb];}
}
this.reset=function(e){this.initMouseX=e.clientX;this.initMouseY=e.clientY;gb=0,hb=0,ib=0,jb=0;for(var mb in db){var nb=db[mb];if(!nb){continue;}
var ob=new Object();eb[mb]=ob;var pb=Core.getNodeOffset(nb);ob.initLeft=pb.x;ob.initTop=pb.y;var qb=Core.getDimensions(nb);ob.initWidth=qb[0];ob.initHeight=qb[1];}
}
this.doMouseMove=function(e){rb(e);sb(e);}
this.doMouseUp=function(e){rb(e);if(self.canvas){if(gb==0&&hb==0&&ib==0&&jb==0){var tb=0;var lb;for(var mb in cb){lb=cb[mb];tb++;}
if(tb==1){self.canvas.editor.doOpenPropertyWindow(lb.domNodeRoot);}
}
else{self.updateCanvasItems(e);}
}
if(self.mouseUpCallbackObj){self.mouseUpCallbackObj[self.mouseUpCallbackName](gb,hb,ib,jb);}
}
function rb(e){var ub=e.clientX-self.initMouseX;var vb=e.clientY-self.initMouseY;var wb=0,xb=0,yb=0,zb=0;if(self.type==ActionData.CANVAS_MOUSE_RESIZE){var $b=self.resizeHandler.cursor;if($b=='se-resize'){yb=ub;zb=vb;}
else if($b=='s-resize'){zb=vb;}
else if($b=='n-resize'){xb=vb;zb=vb*(-1);}
else if($b=='ne-resize'){xb=vb;yb=ub;zb=vb*(-1);}
else if($b=='sw-resize'){wb=ub;yb=ub*(-1);zb=vb;}
else if($b=='nw-resize'){wb=ub;xb=vb;yb=ub*(-1);zb=vb*(-1);}
else if($b=='w-resize'){wb=ub;yb=ub*(-1);}
else if($b=='e-resize'){yb=ub;}
}
else{wb=ub;xb=vb;}
gb=wb;hb=xb;ib=yb;jb=zb;}
var MIN=10;function sb(){if(gb==0&&hb==0&&ib==0&&jb==0){return;}
for(var mb in db){var nb=db[mb];var ob=eb[mb];var _b=nb.style;var ac=ob.initLeft;var top=ob.initTop;var bc=false;if(self.isUpdateX&&gb!=0){ac=ob.initLeft+gb;bc=true;}
if(self.isUpdateY&&hb!=0){top=ob.initTop+hb;bc=true;}
if(bc){Core.setLeftTop(nb,ac,top);}
var cc=false;var dc=ob.initWidth;var ec=ob.initHeight;if(ib!=0){dc=ob.initWidth+ib;if(dc>MIN){cc=true;}
}
if(jb!=0){ec=ob.initHeight+jb;if(ec>MIN){cc=true;}
}
var fc=(nb.rect)?nb.rect:nb;if(cc)Core.setDimension(fc,dc,ec);var lb=cb[mb];if(lb&&lb.updateHandlers)lb.updateHandlers();if(ab)ab.expandPadding(ac+dc+8,top+ec+8);}
if(!self.isFirstUpdate){if(self.firstUpdateCallbackObj){self.firstUpdateCallbackObj[self.firstUpdateCallbackName]();}
self.isFirstUpdate=true;}
}
this.doKeyUp=function(e){var gc=(e.charCode)?e.charCode:e.keyCode;if(gc==ActionData.DELETE){self.doDeleteNodes();return;}
var hc;if(_core.isIE){hc=ActionData.PLUS_IE;}
else{hc=ActionData.PLUS;}
var ic;if(_core.isIE){ic=ActionData.MINUS_IE;}
else{ic=ActionData.MINUS;}
var jc;if(_core.isIE){jc=ActionData.LEFT_BRACKET_IE;}
else{jc=ActionData.LEFT_BRACKET;}
var kc;if(_core.isIE){kc=ActionData.RIGHT_BRACKET_IE;}
else{kc=ActionData.RIGHT_BRACKET;}
var lc=false;if(gc==ActionData.ARRAY_LEFT||gc==ActionData.ARRAY_UP||gc==ActionData.ARRAY_RIGHT||gc==ActionData.ARRAY_DOWN||gc==hc||gc==ic||gc==jc||gc==kc){lc=true;}
if(!lc){return;}
var wb=0;var xb=0;var yb=0;var zb=0;var mc=15;if(e.altKey||e.shiftKey||e.ctrlKey||e.metaKey){mc=1;}
if(gc==ActionData.ARRAY_RIGHT){wb=mc;}
else if(gc==ActionData.ARRAY_LEFT){wb=mc*(-1);}
else if(gc==ActionData.ARRAY_UP){xb=mc*(-1);}
else if(gc==ActionData.ARRAY_DOWN){xb=mc;}
else if(gc==hc){yb=mc;}
else if(gc==ic){yb=mc*(-1);}
else if(gc==kc){zb=mc;}
else if(gc==jc){zb=mc*(-1);}
if(wb!=0){self.isUpdateX=true;}
if(xb!=0){self.isUpdateY=true;}
sb(wb,xb,yb,zb);if(self.canvas){for(var mb in cb){var lb=cb[mb];}
}
gb=wb;hb=xb;ib=yb;jb=zb;var nc=self.updateCanvasItems(e);self.saveLayouts();return nc;}
this.keyActionType=function(e){var gc=(e.charCode)?e.charCode:e.keyCode;switch(gc){case ActionData.PLUS_IE:case ActionData.PLUS:case ActionData.MINUS_IE:case ActionData.MINUS:case ActionData.LEFT_BRACKET_IE:case ActionData.LEFT_BRACKET:case ActionData.RIGHT_BRACKET_IE:case ActionData.RIGHT_BRACKET:return ActionData.RESIZE_ACTION;case ActionData.ARRAY_LEFT:case ActionData.ARRAY_UP:case ActionData.ARRAY_RIGHT:case ActionData.ARRAY_DOWN:return ActionData.MOVE_ACTION;default:return;}
}
this.doDeleteNodes=function(){if(self.canvas){for(var mb in cb){var lb=cb[mb];if(!lb){continue;}
oc=lb.node;if(oc){if(!self.canvas.isDeletableNode(oc)){alert('"'+oc.name+'" can not be deleted from here');return;}
}
}
}
var pc=_core.editor.getHttp('deleteChild',self,'doDeleteReady');pc.addParameter('pmBeginTrans','yes');var oc;var tb=0;var qc=0;for(var mb in cb){var lb=cb[mb];oc=lb.node;if(qc<oc.children.length){qc=oc.children.length;}
var rc=pc.nodeToId(oc);pc.addParameter('nodeIds',rc);tb++;}
if(!oc){return;}
pc.node=oc;if(self.isConfirm||tb>1||qc>0){var t='Are you sure that you want to delete all of them?';if(!fb){fb=new DialogConfirm(document.body,'Confirm for Deletion',t,self,'doDeleteClickOkay');fb.isTransparentPadding=true;}
fb.open();fb.http=pc;}
else{pc.call();}
}
this.doDeleteClickOkay=function(){fb.http.call();}
this.doDeleteReady=function(sc,pc){for(var mb in cb){var lb=cb[mb];var tc=lb.node;var parent=tc.parent;if(pc.dbNode.closeClasses){for(var i in pc.dbNode.closeClasses){var uc=tc.getChildByFullName(pc.dbNode.closeClasses[i]);if(!uc)continue;tc.removeChild(uc);_core.editor.updateDeleteChild(uc);}
}
parent.removeChild(tc);_core.editor.updateDeleteChild(tc);_core.editor.navigator.tree.updateDeleteChild(parent,tc);if(lb.canvas)lb.deHighlight();}
if(fb){fb.close();}
if(self.canvas)self.canvas.selectionNode.unSelectNodeAll();cb=new Array();db=new Array();window.status=pc.dbNode.message;}
this.updateCanvasItems=function(e){if(gb==0&&hb==0&&ib==0&&jb==0){return false;}
vc=false;var MARGIN=10;for(var mb in cb){var lb=cb[mb];var wc=lb.getLayout();var xc=self.canvas.isCanvasTopLevel(lb.node);if(!xc){yc=self.canvas.getItem(lb.node.parent).getLayout();}
var zc=false;if(ib!=0){var dc=wc.width+ib;if(dc>MIN){wc.width=dc;}
zc=true;}
if(jb!=0){var ec=wc.height+jb;if(ec>MIN){wc.height=ec;}
zc=true;}
if(gb!=0){var x=wc.x+gb;if(xc){if(x+wc.width<self.canvas.minX){x=self.canvas.minX+MARGIN;}
}
else{if(x+wc.width<0){x=MARGIN;}
else if(x>yc.width){x=yc.width-20;}
}
wc.x=x;}
if(hb!=0){var y=wc.y+hb;if(xc){if(y+wc.height<self.canvas.minY){y=self.canvas.minY+MARGIN;}
}
else{if(y+wc.height<0){y=MARGIN;}
else if(y>yc.height){y=yc.height-20;}
}
wc.y=y;}
if(zc&&(self.canvas.rootNode.jsNodeType.typeId!=IConstant.JS_TYPE_APPLICATION)){lb.node.setChildrenVisible(self.canvas);lb.node.hideChildrenEdges(self.canvas);lb.node.displayChidrenEdges(self.canvas);}
vc=true;}
self.saveLayouts();return vc;}
this.saveLayouts=function(){var pc=_core.editor.getHttp('saveLayouts',self,'saveLayoutsReady');pc.addParameter('pmBeginTrans','yes');var oc;for(var mb in cb){var lb=cb[mb];oc=lb.node;self.canvas.refreshDisplay(oc);lb.updateElementPositions();lb.highlight();oc.updateEdgeFromTo(self.canvas);var wc=lb.getLayout();var $c=_core.editor.JSON().objectToJSONStr(wc);var rc=pc.nodeToId(oc);pc.addParameter('nodeIds',rc);pc.addParameter('layoutChanges',$c);}
if(oc){pc.node=oc;pc.call();}
}
this.saveLayoutsReady=function(sc,pc){window.status=pc.dbNode.message;}
this.setDx=function(_c){gb=_c;}
this.setDy=function(ad){hb=ad;}
}
ActionData.CANVAS_MOUSE_MOVE=1;ActionData.CANVAS_MOUSE_RESIZE=2;ActionData.CANVAS_KEY_DOWN=3;ActionData.ARRAY_LEFT=37;ActionData.ARRAY_UP=38;ActionData.ARRAY_RIGHT=39;ActionData.ARRAY_DOWN=40;ActionData.PLUS_IE=187;ActionData.PLUS=61;ActionData.MINUS_IE=189;ActionData.MINUS=109;ActionData.LEFT_BRACKET=219;ActionData.LEFT_BRACKET_IE=219;ActionData.RIGHT_BRACKET=221;ActionData.RIGHT_BRACKET_IE=221;ActionData.RESIZE_ACTION='resizeAction';ActionData.MOVE_ACTION='moveAction';ActionData.LESS_THAN=188;ActionData.GREAT_THAN=190;ActionData.DELETE=46;ActionData.ENTER=13;ActionData.TAB=9;function Audit(){var bd=new Array
this.addItem=function(lb){bd[bd.length]=lb;}
this.isNewItemExist=function(){return bd.length>0
}
this.getPrevItem=function(lb){return cd(lb,true);}
this.getNextItem=function(lb){return cd(lb);}
function cd(lb,dd){var ed=-1;for(var i=0;i<bd.length;i++){var n=bd[i];if(n.id==lb.id){ed=i;}
}
if(ed<0){return;}
if(dd){if(ed-1>=0){return bd[ed-1];}
}
else{if(ed+1<bd.length){return bd[ed+1];}
}
return null;}
var fd=new Array
this.addEdge=function(gd){fd[fd.length]=gd;}
this.isNewEdgeExist=function(){return fd.length>0
}
}
function Selection(ab){this.canvas=ab;this.list=new Array();var self=this;this.isEmpty=function(){if(self.list.length>0){return false;}
else{return true;}
}
}
function BreakpointManager(){this.displayedBreakpoints={}
;}
BreakpointManager.prototype.addDisplayedBreakpoint=function(gd){this.displayedBreakpoints[gd.name]=gd;}
BreakpointManager.prototype.clearAllDisplayedBreakpoints=function(hd){var pc=hd.getHttp('clearAllBreakpoints',this,'clearBreakpointsReady');pc.addParameter('pmBeginTrans','yes');pc.call();}
BreakpointManager.prototype.clearBreakpointsReady=function(text,pc){for(var name in this.displayedBreakpoints){var gd=this.displayedBreakpoints[name];gd.removeAllBreakpoints();}
}
function Canvas(hd,id){this.editor=hd;this.rootNode=id;this.audit;var self=this;this.domCanvasRoot;this.domEdgeRoot;this.isRootNodeEditable;this.isEditable;this.minX;this.minY;this.isDraggingEdge=false;this.draggingLine=null;this.isDraggingTo;this.isBendingLine=false;this.bendingLine=null;this.enableSelectDrag=false;this.initSelectDrag=false;this.initSelectX;this.initSelectY;this.selectSpan;this.conditionAndBentEdges=[];this.initDisplayOperationEdges=true;this.scroll=function(jd,kd){try{self.domCanvasRoot.scrollLeft=jd;self.domCanvasRoot.scrollTop=kd;}
catch(e){}
}
this.getScrollLeft=function(){return self.domCanvasRoot.scrollLeft;}
this.getScrollTop=function(){return self.domCanvasRoot.scrollTop;}
var ld;var md;function nd(){if(self.editor.isViewOnly==true){return false;}
if(self.rootNode.isDatabase()||self.rootNode.isProcess()||self.rootNode.isApplication()||self.rootNode.isAppMenu()||self.rootNode.isMenuList()||self.rootNode.isAppClassPackage){return true;}
else{return false;}
}
this.init=function(){self.audit=new Audit();self.isRootNodeEditable=nd();var ub=0,vb=0;var od=0,pd=0;var qd=0;var rd=0;var sd=this.rootNode.children;for(var mb in sd){var oc=sd[mb];var wc=oc.getCanvasLayout(self.rootNode.id);if(wc.x<ub){ub=wc.x;}
if(wc.y<vb){vb=wc.y;}
if(ld==null||od<wc.x+wc.width){ld=oc;od=wc.x+wc.width;}
if(md==null||pd<wc.y+wc.height){md=oc;pd=wc.y+wc.height;}
}
this.minX=ub-10;this.minY=vb-10;this.width=qd-this.minX;this.height=rd-this.minY;this.maxX=0;this.maxY=0;this.initLink(this.domCanvasRoot);this.initNode();var td=20;if(self.svgRoot)if(ld){self.displayNode(ld,this.domCanvasRoot,false);}
if(md){self.displayNode(md,this.domCanvasRoot,false);}
}
var ud;var vd;this.initNode=function(){this.domCanvasRoot=Core.addNode(null,'div');this.domCanvasRoot.setAttribute('id','canvas');this.domCanvasRoot.className='canvas';if(this.isRootNodeEditable){this.domCanvasRoot.style.backgroundColor='white';}
else{this.domCanvasRoot.style.backgroundColor='#f1f1f1';}
if(!Core.isIE()&&document.createElementNS){var wd=document.createElementNS(IConstant.SVGNS,'svg');wd.nodeGroup=Core.addNodeSVG(wd,'g');wd.style.position='absolute';this.domCanvasRoot.appendChild(wd);Core.addEvent(wd,'mouseup',self,'doCanvasMouseUp');Core.addEvent(wd,'mousedown',self,'doCanvasMouseDown');Core.addEvent(wd,'mouseover',self,'doCanvasMouseOver');Core.addEvent(wd,'keydown',self,'doCanvasKeyDown');Core.addEvent(wd,'mousemove',self,'doCanvasMouseMove');wd.setAttribute('xmlns:xlink','http://www.w3.org/1999/xlink');var xd=Core.addNodeSVG(wd,'defs');var yd;var zd=_core.getEdgeColors();for(var $d in zd){var _d=zd[$d];var ae=Core.addNodeSVG(xd,'marker');ae.setAttribute('refX','10');ae.setAttribute('refY','3');ae.setAttribute('markerUnits','userSpaceOnUse');ae.setAttribute('markerWidth','10');ae.setAttribute('markerHeight','6');ae.setAttribute('orient','auto');yd=Core.addNodeSVG(ae,'path');yd.setAttribute('d','M0 0 10 3 0 6z');yd.setAttribute('fill',_d);yd.setAttribute('stroke',_d);ae.setAttribute('id','arrow'+self.rootNode.fullName.replace(' ','_','g')+_d.slice(1));}
this.domCanvasRoot.svgRoot=wd;self.svgRoot=wd;}
else{var be=Core.addNode(this.domCanvasRoot,'div');Core.setClassName(be,'canvasClickBackground');this.domCanvasRoot.childNodeRoot=be;Core.addEvent(be,'mouseup',self,'doCanvasMouseUp');if(self.isRootNodeEditable){Core.addEvent(be,'mousedown',self,'doCanvasMouseDown');Core.addEvent(be,'mouseover',self,'doCanvasMouseOver');Core.addEvent(this.domCanvasRoot,'mouseover',self,'doCanvasMouseOver');Core.addEvent(this.domCanvasRoot,'keydown',self,'doCanvasKeyDown');Core.addEvent(this.domCanvasRoot,'mousemove',self,'doCanvasMouseMove');Core.addEvent(be,'mousemove',self,'doCanvasMouseMove');}
}
self.displayChildren(this.rootNode,this.domCanvasRoot,false);ud=Core.addSpace(this.domCanvasRoot,0);ud.style.zIndex=-1000;vd=Core.addSpace(this.domCanvasRoot,0);vd.style.zIndex=-1000;}
this.resize=function(w,h){var s=this.domCanvasRoot.style;s.width=w+'px';s.height=h+'px';self.expandPadding(w,h);}
this.displayViewableChildren=function(){return;var ce=self.rootNode.children;if(!ce||ce.length<1){return;}
var de=self.rootNode.id;var ee=Core.getWindowDimension();var fe=Core.findLoc(self.domCanvasRoot);var ge=self.getScrollLeft()-fe.x;var he=self.getScrollTop()-fe.y;var ie=ge+ee.width;var je=he+ee.height;for(var mb in ce){var oc=ce[mb];var lb=ke[oc.id];if(lb){continue;}
var wc=oc.getCanvasLayout(de);var le=wc.x;var me=le+wc.width;var ne=wc.y;var oe=ne+wc.height;if(le>ge&&me<ie&&ne>he&&oe<je){}
}
}
this.expandPadding=function(x,y){var pe=self.maxX;var qe=self.maxY;var re=false;if(x>pe){pe=x;re=true;}
if(y>qe){qe=y;re=true;}
if(re)self.resizePadding(pe,qe);self.maxX=pe;self.maxY=qe;}
this.resizePadding=function(w,h){if(self.svgRoot){se(w,h);}
if(ud){}
else
ud=Core.addSpace(this.domCanvasRoot,0);if(vd){}
else
vd=Core.addSpace(this.domCanvasRoot,0);ud.setAttribute('width',w);ud.setAttribute('height',1);vd.setAttribute('width',1);vd.setAttribute('height',h);ud.style.position='absolute';vd.style.position='absolute';if(this.domCanvasRoot.childNodeRoot){var s=this.domCanvasRoot.childNodeRoot.style;s.width=w+'px';s.height=h+'px';}
}
function se(w,h){self.svgRoot.setAttribute('width',w);self.svgRoot.setAttribute('height',h);}
var te=[];var ue=[];this.initLink=function(ve){this.domEdgeRoot=self.domCanvasRoot;var we=this.rootNode.edges;if(we.length>0){if(this.initDisplayOperationEdges){self.displayEdges(we);}
for(var mb in we){var gd=we[mb];xe(te,gd,gd.fromFullName);xe(ue,gd,gd.toFullName);}
}
}
this.addtoInitEdgeHash=function(we){for(var mb in we){var gd=we[mb];xe(te,gd,gd.fromFullName);xe(ue,gd,gd.toFullName);}
}
this.initDisplayAll=function(){this.domEdgeRoot=self.domCanvasRoot;if(self.initDisplayOperationEdges){self.displayEdges(self.rootNode.edges);}
}
this.initNodeEdgeHash=function(oc){var ye=te[oc.fullName];var ze=ue[oc.fullName];for(var i in ye){var gd=ye[i];if(!gd.canvas)gd.canvas=self;gd.initToFromItems();if(gd.fromFullChainId){xe($e,gd,gd.fromFullChainId);}
}
for(var i in ze){var gd=ze[i];if(!gd.canvas)gd.canvas=self;gd.initToFromItems();if(gd.toFullChainId){xe(_e,gd,gd.toFullChainId);}
}
}
this.initEdgeHash=function(gd){xe($e,gd,gd.fromFullChainId);xe(_e,gd,gd.toFullChainId);}
var $e=new Array();var _e=new Array();function xe(af,gd,bf){var cf=af[bf];if(!cf){cf=new Array();af[bf]=cf;}
cf[cf.length]=gd;}
function df(af,gd,bf){af[bf]=null;}
this.getFromEdges=function(bf){return $e[bf];}
this.getToEdges=function(bf){return _e[bf];}
this.displayEdges=function(we,ef){if(!we||we.length<0){return;}
for(var mb in we){var gd=we[mb];gd.display(self.domEdgeRoot,self);if(gd.isCondition){gd.show();}
if(ef)self.initEdgeHash(gd);}
}
this.hideEdges=function(we){if(!we||we.length<0){return;}
for(var mb in we){var gd=we[mb];if(gd.line){gd.hide();}
if(gd.isCondition){gd.hide();}
}
}
this.replaceWithCEdge=function(gd,ff){gf(gd);self.initEdgeHash(ff);self.rootNode.edges.push(ff);self.rootNode.edgeMap[ff.name]=ff;self.addToConditionAndBentEdges(ff);}
var cb=new Array();this.findItemByFullName=function(bf,hf){var gc;if(hf){gc=hf+bf;}
else{gc=bf;}
return cb[gc];}
function jf(lb,kf){var oc=lb.node;var gc;if(kf&&kf.isReference()){gc=kf.fullName+oc.fullName;}
else if(oc.isReference()){gc=oc.fullName+oc.fullName;}
else{gc=oc.fullName;}
cb[gc]=lb;}
this.getNodeDomRoot=function(oc){var lb=self.getItem(oc);if(lb){return lb.domNodeRoot;}
}
var ke=new Array();this.getItem=function(oc){return ke[oc.id];}
this.displayNode=function(oc,lf,mf,kf){if(ke[oc.id]){return;}
_core.log('display '+oc.name,IConstant.LOG_DEVELOPER_LEVEL);var lb=new CanvasItem(self,oc);ke[oc.id]=lb;lb.topLevelItem=self.getItem(self.getTopLevelNode(oc));var nf;var of=oc.getJsNodeType();var pf='eCanvasNode '+of.styleClassName;if(!lf.svgRoot){var qf=(lf.childNodeRoot)?lf.childNodeRoot:lf
lb.domSelectRoot=Core.addNode(qf,'span');nf=Core.addNode(qf,'span');}
else{if(oc.isField()){lb.domSelectRoot=Core.addNodeSVG(lf.fieldGroup,'g');var rf=Core.addNodeSVG(lf.fieldGroup,'g');}
else if(lf.svgRoot.nodeGroup){lb.domSelectRoot=Core.addNodeSVG(lf.svgRoot.nodeGroup,'g');var rf=Core.addNodeSVG(lf.svgRoot.nodeGroup,'g');}
else{lb.domSelectRoot=Core.addNodeSVG(lf.svgRoot,'g');var rf=Core.addNodeSVG(lf.svgRoot,'g');}
nf=Core.addNodeSVG(null,'rect');Core.setClassName(nf,pf);rf.appendChild(nf);var sf=Core.addNodeSVG(rf,'svg');nf.svgGroup=rf;nf.svgRoot=sf;nf.fieldGroup=Core.addNodeSVG(sf,'g');sf.rect=nf;rf.id='svg'+oc.id;}
lb.domNodeRoot=nf;nf._glNetworkNode=oc;nf._glCanvasItem=lb;nf.id=oc.id;Core.setClassName(nf,pf);var tf;if(self.isCanvasTopLevel(oc)){tf=oc.fullName;}
else{tf=oc.displayOrder;}
var uf;if(oc.isField()){uf='0';}
else if(oc.isOperation()||oc.isProcess()){uf='4';}
else{uf='0';}
var vf;if(TypeUtil.isDatabaseTemplate(oc)){if(TypeUtil.isTopDatabaseTemplate(oc)){vf=_core.typeUtil.arrayType.iconSrc;}
else{vf=of.iconSrc;}
}
else{if(oc.isOperationType()&&self.rootNode.isMenuList()){vf=_core.typeUtil.menuListType.iconSrc;}
else{vf=of.iconSrc;}
}
var wf=[nf];if(self.svgRoot){var xf=Core.addNodeSVG(sf,'image');var yf=Core.getImageUrl(vf);xf.setAttributeNS(IConstant.XLINKNS,'href',yf);xf.setAttribute('x',0);xf.setAttribute('y',uf);xf.setAttribute('width',16);xf.setAttribute('height',15);var zf=Core.addNodeSVG(sf,'rect');zf.setAttribute('x',0);zf.setAttribute('y',uf);zf.setAttribute('width',16);zf.setAttribute('height',15);zf.setAttribute('style','fill-opacity:0.0');lb.nameIcon=xf;rf.nameIcon=xf;wf.push(zf);zf.eventTarget=nf;wf.push(xf);xf.eventTarget=nf;var $f=Core.addText(sf,' '+oc.name+' ');$f.setAttribute('x',18);$f.setAttribute('y',12+parseInt(uf));wf.push($f);$f.eventTarget=nf;}
else{var s=nf.style;s.backgroundImage='url('+Core.getImageUrl(vf)+')';s.backgroundPosition='left '+uf;s.backgroundRepeat='no-repeat';var _f;if(oc.isOperationType()){_f=20;}
else{_f=16;}
var ag=Core.addSpace(nf,_f);lb.nameIcon=ag;var $f=Core.addText(nf,' '+oc.name+' ');}
oc.domCanvasNameTextNode=$f;for(var i in wf){var bg=wf[i];Core.addEvent(bg,'mouseover',self,'doNodeMouseOver');Core.addEvent(bg,'mouseout',self,'doNodeMouseOut');Core.addEvent(bg,'mouseup',self,'doNodeMouseUp');Core.addEvent(bg,'click',self,'doNodeClick');Core.addEventHandler(bg,'selectstart',Core.preventDefault);if(self.isRootNodeEditable){Core.addEvent(bg,'keydown',self,'doNodeKeyDown');Core.addEvent(bg,'dblclick',self,'onNodeDblClick');Core.addEvent(bg,'mousemove',self,'doCanvasMouseMove');}
Core.addEvent(bg,'mousedown',self,'doNodeMouseDown');}
if(mf){self.displayChildren(oc,nf,mf,kf);}
if(!oc.isField()){if(self.svgRoot){var cg=Core.addText(sf,'');cg.canvas=self;}
else{var cg=Core.addNode(nf,'span');}
Core.setClassName(cg,'eCanvasDisplayOrder');oc.domCanvasDisplayOrderSpan=cg;oc.updateCanvasDisplayOrder();}
else
self.updatePrimaryKeyDisplay(oc);self.refreshDisplay(oc);if(oc.isOperation()){self.addEdgeControl(lb);if(oc.isStartOp){self.updateStartOpLink(oc);}
}
if(!lb.getLayout().isMinimized){self.addNodeOpenCloseChildrenImg(lb);}
jf(lb,kf);self.initNodeEdgeHash(oc);return lb;}
this.updateAddNewNode=function(qf,dg,pc){if(self.isCanvasTopLevel(qf)){var lb=self.getItem(qf);self.checkAndDisplayAllChildren(lb);}
}
this.updateStartOpLink=function(oc){var lb=self.getItem(oc);if(!lb){return;}
var link=lb.startOpLink;if(oc.isStartOp!=true&&link){link.style.visibility='hidden';}
else{if(link){link.style.visibility='visible';return;}
if(lb.domNodeRoot.svgRoot){var eg=Core.addImage(lb.domNodeRoot,'user.gif','Run '+_core.typeUtil.opType.name);var qb=Core.getDimensions(lb.domNodeRoot);eg.setAttribute('x',qb[0]-16-20);eg.setAttribute('y',1);eg.setAttribute('width',16);eg.setAttribute('height',16);lb.startOpLink=eg;}
else{var a=Core.addNode(lb.domNodeRoot,'a');Core.setClassName(a,'eCanvasOpRun');var eg=Core.addImage(a,'user.gif','Run '+_core.typeUtil.opType.name);lb.startOpLink=a;}
eg.setAttribute('border','0');eg.style.backgroundColor='#d8e4f8';eg._glCanvasItem=lb;Core.addEvent(eg,'click',self,'onRunStartOp');}
}
this.updatePrimaryKeyDisplay=function(oc){var lb=self.getItem(oc);if(!lb)return;if(oc.primaryKeyType){Core.appendClassName(lb.domNodeRoot,'eCanvasNodeFieldPrimaryKey');}
else{Core.removeClassName(lb.domNodeRoot,'eCanvasNodeFieldPrimaryKey');}
if(oc.primaryKeyType&&oc.primaryKeyType==IConstant.PRIMARY_KEY_PROPERTY_NAME){lb.setIconImg(IConstant.PRIMARY_KEY_ICON_SRC);}
else{lb.setIconImg(oc.getJsNodeType().iconSrc);}
}
this.onRunStartOp=function(eg,e){var lb=eg._glCanvasItem;if(!lb){return;}
var yf=_core.toRunOpUrl(lb.node);self.editor.savePref(self);window.location.href=yf;return Core.preventDefault(e);}
this.getTopLevelNode=function(fg){var gg=fg;while(gg){if(self.isCanvasTopLevel(gg)){return gg;}
gg=gg.parent;}
return null;}
this.isCanvasTopLevel=function(oc){return oc.level-self.rootNode.level==1;}
this.refreshDisplay=function(oc){var xc=self.isCanvasTopLevel(oc);var nf=self.getNodeDomRoot(oc);var wc=oc.getCanvasLayout(self.rootNode.id);var x=wc.x;if(xc){x-=self.minX;}
var y=wc.y
if(xc){y-=self.minY;}
if(!self.svgRoot){nf.style.left=x+'px';nf.style.top=y+'px';}
else{var sf=nf.svgGroup;Core.setLeftTop(sf,x,y);}
if(self.isCanvasTopLevel(oc)){self.expandPadding(x+wc.width,y+wc.height);}
if(oc.isField()&&self.svgRoot)oc.updateCanvasDisplayName();else if(!oc.isField()||self.svgRoot){var MIN_HEIGHT=22;if(wc.height<MIN_HEIGHT){wc.height=MIN_HEIGHT;}
Core.setDimension(nf,wc.width,wc.height);}
oc.updateCanvasDisplayOrder();}
this.displayChildren=function(oc,lf,mf,kf){if(!oc.children||oc.children.length<1){return;}
for(var mb in oc.children){var tc=oc.children[mb];self.displayNode(tc,lf,mf,kf);}
}
this.updateTitle=function(){self.editor.canvasTabPanel.setItemLabel(self._glTabItem,self.rootNode.name);}
this.computeNodeLayout=function(oc,hg,ig,e,location){var wc=oc.getCanvasLayout(self.rootNode.id);if(location){wc.x=location.x;wc.y=location.y;}
else{wc.x=e.clientX;wc.y=e.clientY;}
var fe=Core.findLoc(hg);wc.x=wc.x-fe.x+self.getScrollLeft();wc.y=wc.y-fe.y+self.getScrollTop();if(ig){wc.x+=self.minX;wc.y+=self.minY;}
}
this.getMousePosition=function(e){var jg=new Point(e.clientX,e.clientY);var fe=Core.findLoc(self.domCanvasRoot);jg.x+=self.getScrollLeft()-fe.x;jg.y+=self.getScrollTop()-fe.y;return jg;}
this.removeNodeEdges=function(oc){var bf=oc.fullName;var kg=Core.nodeToId(oc);var ye=self.getFromEdges(kg);if(ye){for(var mb in ye){var gd=ye[mb];df($e,gd,bf);gd.discard();}
}
var ze=self.getToEdges(kg);if(ze){for(var mb in ze){var gd=ze[mb];df(_e,gd,bf);gd.discard();}
}
for(var mb in oc.children){var tc=oc.children[mb];self.removeNodeEdges(tc);}
}
this.deleteSelectedEdges=function(){var cf=self.selectionEdge.list;for(var mb in cf){var gd=cf[mb];gf(gd);}
_core.hideNodeEdgeTerminals();}
function gf(lg){lg.discard();lg.endActions();self.rootNode.removeEdge(lg);self.removeFromConditionAndBentEdges(lg);var ye=self.getFromEdges(lg.fromFullChainId);if(ye){var mg=new Array();var ng;for(var mb in ye){var gd=ye[mb];if(lg.id==gd.id){ng=gd;}
else{mg[mg.length]=gd;}
}
if(ng){$e[lg.fromFullChainId]=mg;}
}
var ze=self.getToEdges(lg.toFullChainId);if(ze){var mg=new Array();var ng;for(var mb in ze){var gd=ze[mb];if(lg.id==gd.id){ng=gd;}
else{mg[mg.length]=gd;}
}
if(ng){_e[lg.toFullChainId]=mg;}
}
}
this.delteEdge=function(gd){gf(gd);}
this.findItemLocation=function(lb){return Core.findLocUpTo(lb.domNodeRoot,'canvas');}
var og;this.autoExpand=function(oc){og=new Array();re(oc);if(og.length<1){}
var pg=new ActionData(self,ActionData.CANVAS_MOUSE_MOVE);pg.setItems(og);pg.saveLayouts();}
function re(oc){if(oc.level-self.rootNode.level<2){return;}
var qg=ke[oc.id];var rg=ke[oc.parent.id];if(!qg||!rg){return;}
var MARGIN=5;var sg=qg.getLayout();var tg=sg.x+sg.width;var ug=sg.y+sg.height;var vg=rg.getLayout();var wg=vg.width;var xg=vg.height;var yg=tg-wg;if(yg>0){vg.width+=yg+MARGIN;og[rg.node.id]=rg;}
var zg=ug-xg;if(zg>0){vg.height+=zg+MARGIN;og[rg.node.id]=rg;}
if(rg.node.level-self.rootNode.level>1){re(rg.node);}
}
this.displayNewChildren=function(pc,qf,hg,$g,mf){var _g=self.getItem(qf);for(var mb in $g){var tc=$g[mb];var lb=self.displayNode(tc,hg,mf);self.audit.addItem(lb);self.selectionNode.selectNode(lb);}
if(!pc.isTop){for(var mb in $g){}
}
if(self.isCanvasTopLevel(qf)){self.showItemChildrenControlImg(_g);self.openChildrenControlImage(_g);}
}
this.findAllNodesInSelection=function(ah,bh,ch,dh){var ge;var ie;if(ah<ch){ge=ah;ie=ch;}
else{ge=ch;ie=ah;}
var he;var je;if(bh<dh){he=bh;je=dh;}
else{he=dh;je=bh;}
this.selectionNode.unSelectNodeAll();for(var mb in ke){var lb=ke[mb];var wc=lb.getLayout();var le=wc.x;var me=le+wc.width;var ne=wc.y;var oe=ne+wc.height;if(le>ge&&me<ie&&ne>he&&oe<je){this.selectionNode.selectNode(lb);if(!lb.node.isProcess()&&!lb.node.isMenuList())this.selectChildren(lb.node,ge,he,ie,je,true);}
else if(le>=ge||ne>=he||me<=ie||oe<=je){this.selectChildren(lb.node,ge,he,ie,je,false);}
}
}
this.selectChildren=function(oc,ge,he,ie,je,eh){var ce=oc.children;for(var mb in ce){var fh=ce[mb];if(fh!=null){var gh=this.calculateCanvasPosition(fh);var lb=this.getItem(fh);var wc=lb.getLayout();var hh=gh.x;var ih=gh.y;var jh=hh+wc.width;var kh=ih+wc.height;if(eh||(gh.x>ge&&gh.x+wc.width<ie&&gh.y>he&&gh.y+wc.height<je)){this.selectionNode.selectNode(lb);this.selectChildren(fh,ge,he,ie,je,true);}
else if(hh>=ge||ih>=he||jh<=ie||kh<=je){this.selectChildren(fh,ge,he,ie,je,false);}
}
}
}
this.calculateCanvasPosition=function(oc){var lh=oc;var lb=this.getItem(oc);var wc=lb.getLayout();var mh=0;var nh=0;var oh=new Point();while(true){mh+=wc.x;nh+=wc.y;if(lh.parent==self.rootNode){break;}
lh=lh.parent;lb=this.getItem(lh);wc=lb.getLayout();}
oh.x=mh;oh.y=nh;return oh;}
var FIND_BUFFER=50;var ph=new Array();var qh=0;this._searchEndedCallback;this.findNode=function(rh,sh,th){if(self._searchResults&&(self._searchResults.searchTerm==rh))this._locateSearchResult();else{var pc=self.editor.getHttp('searchUserName',self,'findNodeReady');pc.node=self.rootNode;pc.searchTerm=rh;pc.addParameter('userName',rh);if(sh)self._searchEndedCallback=new CallBack(sh,th);else
self._searchEndedCallback=null;pc.call();}
}
this._searchResults;this.findNodeReady=function(sc,pc){var uh=pc.dbNode.foundNodes;self._searchResults={}
;self._searchResults.fullNames=uh;self._searchResults.curInd=0;self._searchResults.searchTerm=pc.searchTerm;self._locateSearchResult();}
this._getSearchResultNode=function(vh){if(self._searchResults.fullNames.length==0)return null;var oc=self.rootNode;var i=self._searchResults.curInd;var wh=self._searchResults.fullNames[i];for(var j=0;j<wh.length;j+=1){oc=oc.getChildByFullName(wh[j]);if((j==0)&&vh)break;}
return oc;}
this._locateSearchResult=function(){var oc=self._getSearchResultNode(true);if(!oc){self._searchEndedCallback.call();return;}
if(oc.isTemplate()&&!oc.isCanvasChildrenDisplayed){var lb=self.getItem(oc);var eg=self.getItemChildrenControlImg(lb);if(!eg)eg=self.addNodeOpenCloseChildrenImg(lb);if(!eg){self._displaySearchResult();return;}
self.setOpenOneReadyCallback(self,'_displaySearchResult');self.doNodeOpenCloseMouseOver(eg);}
else
self._displaySearchResult();}
this._displaySearchResult=function(){self.clearOpenOneReadyCallback();var oc=self._getSearchResultNode();self.scrollToNode(oc);self._searchResults.curInd=(self._searchResults.curInd+1)%self._searchResults.fullNames.length;if(self._searchEndedCallback&&(self._searchResults.curInd==0))self._searchEndedCallback.call();}
this._scrollToNode;this._forceMakeVisible;this.scrollToNode=function(oc){var lb=this.getItem(oc);this._scrollToNode=oc;self._forceMakeVisible=false;if(!lb){var top=self.getTopLevelNode(oc);if(!top)return;var xh=self.getItem(top);if(!xh)return;var eg=self.getItemChildrenControlImg(xh);if(!eg){eg=self.addNodeOpenCloseChildrenImg(xh);}
self._forceMakeVisible=true;self.setOpenOneReadyCallback(self,'scrollToNodeReady');self.doNodeOpenCloseMouseOver(eg);}
else
self.scrollToNodeReady();}
this.scrollToNodeReady=function(){self.clearOpenOneReadyCallback();var oc=this._scrollToNode;this._scrollToNode=null;var lb=self.getItem(oc);self.makeTopLevelVisible(oc);var yh=this.findItemLocation(lb);this.scroll(yh.x-FIND_BUFFER,yh.y-FIND_BUFFER);this.selectionNode.unSelectNodeAll();this.selectionNode.selectNode(lb);}
this.findMatchingNodes=function(rh){var ce=self.rootNode.children;if(!ce||ce.length<1){return false;}
var zh=false;for(var mb in ce){var oc=ce[mb];if(oc.name.toUpperCase()==rh.toUpperCase()){ph[ph.length]=oc;zh=true;}
}
return zh;}
this.makeTopLevelVisible=function(oc){var top=self.getTopLevelNode(oc);var xh=self.getItem(top);var wc=xh.getLayout();if(wc.isMinimized){var $h=self.addMinMaxControl(xh);$h.doMinMax();}
if(!xh.isChildrenOpen){var eg=self.getItemChildrenControlImg(xh);if(!eg&&top.numOfDBChildren==0){top.displayEdges(self);}
if(top.isOperation()&&eg._glIsClose)self.doEdgeControlMouseUp(eg);else if((top.isTemplate()||top.isReference())&&eg)self.doOpenCloseChildrenControl(eg);}
}
this.highlightedActions=[];this._highlightState;this.highlightActions=function(we,_h,sh,th,ai){var bi=(_h=='From')?'fromItem':'toItem';var ci=(_h=='From')?'fromFullName':'toFullName';self._highlightState={}
;if(_h=='From'){self._highlightState.itemKey='fromItem';self._highlightState.fnKey='fromFullName';self._highlightState.parentFnKey='fromParentRef';}
else{self._highlightState.itemKey='toItem';self._highlightState.fnKey='toFullName';self._highlightState.parentFnKey='toParentRef';}
self._highlightState.edges=we;self._highlightState.cbObject=sh;self._highlightState.cbMethod=th;self._highlightState.cbArgs=ai;if(!we){self._doHighlightCallback();return;}
self._highlightNextAction(0);}
this._doHighlightCallback=function(){if(self._highlightState.cbObject)self._highlightState.cbObject[self._highlightState.cbMethod](self._highlightState.cbArgs);}
this.getTopNodeFromFullName=function(bf,di){var ei=bf.split(".",1);var top;if(di)top=self.rootNode.getChildByFullName(di);else
top=self.rootNode.getChildByFullName(ei[0]);return top;}
this._highlightNextAction=function(fi){var we=self._highlightState.edges;for(var i=fi;i<we.length;i+=1){var gd=we[i];var gi=gd[self._highlightState.itemKey];if(!gi){var top=self.getTopNodeFromFullName(gd[self._highlightState.fnKey],gd[self._highlightState.parentFnKey]);var xh=self.getItem(top);var eg=self.getItemChildrenControlImg(xh);if(!eg){eg=self.addNodeOpenCloseChildrenImg(xh);}
self._highlightState.curInd=i;self.setOpenOneReadyCallback(self,'_highlightReady');self.doNodeOpenCloseMouseOver(eg);return;}
self.makeTopLevelVisible(gi.node);gd.highlight();}
self._doHighlightCallback();}
this._highlightReady=function(){self.clearOpenOneReadyCallback();var i=self._highlightState.curInd;self._highlightNextAction(i);}
this.addHighlightedAction=function(gd){self.highlightedActions.push(gd);}
this.deHighlightAllActions=function(){for(var i in self.highlightedActions){var gd=self.highlightedActions[i];gd.deHighlight();}
self.highlightedActions=[];}
this.scrollToEdge=function(gd){var hi=new EdgeHighlighter(self);hi.scrollToAndHighlight(gd);}
this.doLock=function(){var ii=_core.getDialogLock();if(!ii.isInit){ii.init();ii.isInit=true;}
ii.setCanvas(self);ii.open();ii.moveToCenter();}
this.refreshIsEditableDisplay=function(){var ji;var ki;if(this.isEditable){ki='white';ji='lock.gif';}
else{ki='#EEEEEE';ji='lock.gif';}
this.domCanvasRoot.style.backgroundColor=ki;if(self.lockImgDom){self.lockImgDom.src=Core.getImageUrl(ji);var li=self.rootNode.lock;if(li){var mi='Locked by '+li.userId+' '+li.time;self.lockImgDom.setAttribute('alt',mi);self.lockImgDom.setAttribute('title',mi);}
}
if(self._glTabItem&&self._glTabItem.labelTd){self._glTabItem.labelTd.style.backgroundColor=ki;}
}
this.showLockImage=function(){if(self.lockImgDom){self.lockImgDom.style.visibility='visible';}
}
this.hideLockImage=function(){if(self.lockImgDom){self.lockImgDom.style.visibility='hidden';}
}
this.addToConditionAndBentEdges=function(gd){self.conditionAndBentEdges[gd.name]=gd;}
this.removeFromConditionAndBentEdges=function(gd){self.conditionAndBentEdges[gd.name]=undefined;}
}
function CanvasChildrenDisplay(hd,id){this.canvas=Canvas;this.canvas(hd,id);var self=this;if(id.numOfDBChildren>IConstant.MAXIMUM_NODES_EDGE_DISPLAY){this.initDisplayOperationEdges=false;}
else{this.initDisplayOperationEdges=true;}
var ni;if(this.rootNode.typeId==IConstant.JS_TYPE_DATABASE)ni=IConstant.JS_TYPE_DATAFILE_DATABASETABLE;else
ni=IConstant.JS_TYPE_DATAFILE;if(Core.countTypeMax(id.children,ni,IConstant.MAXIMUM_NODES_TEMPLATE_DISPLAY)){this.initDisplayTemplateChildren=false;}
else{this.initDisplayTemplateChildren=true;}
var oi='folder_open.gif';var pi='folder_closed.gif';this.isChildrenOpen=function(lb){var eg=self.getItemChildrenControlImg(lb);if(!eg){return false;}
return lb.isChildrenOpen;}
this.checkAndDisplayAllChildren=function(lb){var oc=lb.node;if(!qi(oc)){self.hideItemChildrenControlImg(oc);return;}
var eg=self.getItemChildrenControlImg(lb);if(!eg){eg=self.addNodeOpenCloseChildrenImg(lb);}
if(eg.src.indexOf(oi)>-1){return;}
var ce=new Array();ce[0]=oc;ri(eg,ce);}
var si=new Array();this.getItemChildrenControlImg=function(lb){return si[lb.id];}
this.showItemChildrenControlImg=function(lb){var eg=self.getItemChildrenControlImg(lb);if(!eg){eg=self.addNodeOpenCloseChildrenImg(lb);}
if(eg){eg.style.visibility='visible';}
}
this.openChildrenControlImage=function(lb){var eg=self.getItemChildrenControlImg(lb);if(eg){eg.src=Core.getImageUrl(oi);}
}
this.hideItemChildrenControlImg=function(lb){var eg=self.getItemChildrenControlImg(lb);if(eg){eg.style.visibility='hidden';}
}
var ti
this.addCanvasOpenCloseChildrenImg=function(lb,hg){ti=Core.addImage(hg,pi,'Display/Hide all Children');ti._glTabItem=lb;ti._glNetworkNode=self.rootNode;ti._glCanvasItem=new CanvasItem(self,self.rootNode);Core.addEvent(ti,'mouseup',self,'doOpenCloseChildrenControl');}
this.addNodeOpenCloseChildrenImg=function(lb){var oc=lb.node;if(!qi(oc)){return;}
var nf=self.getNodeDomRoot(oc);var ui=Core.addImage(nf,pi,'Display/Hide all Children');if(nf.svgRoot){var qb=Core.getDimensions(nf);var vi=19;ui.setAttribute('x',qb[0]-vi-1);ui.setAttribute('y',1);ui.setAttribute('width',vi);ui.setAttribute('height',16);}
ui._glNetworkNode=oc;ui._glCanvasItem=lb;Core.setClassName(ui,'eCanvasDisplayChildrenControl');Core.addEvent(ui,'mouseover',self,'doNodeOpenCloseMouseOver');Core.addEvent(ui,'mouseup',self,'doOpenCloseChildrenControl');si[lb.id]=ui;return ui;}
this.updateOpenClosePosition=function(lb){var wi=lb.domNodeRoot;if(!wi.svgRoot)return;var eg=self.getItemChildrenControlImg(lb);if(!eg)return;var qb=Core.getDimensions(wi);var vi=19;eg.setAttribute('x',qb[0]-vi-1);}
this.showOpenCloseChildrenImg=function(){if(ti){ti.style.visibility='visible';ti.setAttribute('width','19');}
}
this.hideOpenCloseChildrenImg=function(){if(ti){ti.style.visibility='hidden';ti.setAttribute('width','0');}
}
this.doOpenCloseChildrenControl=function(eg,e){var oc=eg._glNetworkNode;if(!oc){return;}
var ce;if(oc.id==self.rootNode.id){ce=oc.children;}
else{ce=new Array();ce[0]=oc;}
ri(eg,ce,e);}
this.doNodeOpenCloseMouseOver=function(eg,e){var oc=eg._glNetworkNode;if(!oc){return;}
if(!oc.isCanvasChildrenDisplayed){self.doOpenCloseChildrenControl(eg,e);var yf=Core.getImageUrl(oi);if(eg.tagName=='image')eg.setAttributeNS(IConstant.XLINKNS,'href',yf);else
eg.src=yf;}
return Core.preventDefault(e);}
this.setInitChildDisplay=function(){if(self.initDisplayTemplateChildren){self.doOpenCloseChildrenControl(ti);}
}
var xi;function ri(eg,ce,e){var lb=eg._glCanvasItem;var yi;var zi;if(lb.isChildrenOpen){yi=pi;zi=$i;}
else{yi=oi;zi=_i;}
lb.isChildrenOpen=!lb.isChildrenOpen;var yf=Core.getImageUrl(yi);if(eg.tagName=='image')eg.setAttributeNS(IConstant.XLINKNS,'href',yf);else
eg.src=yf;xi=false;for(var mb in ce){var oc=ce[mb];zi(oc);if(xi){break;}
var qg=self.getItem(oc);var aj=self.getItemChildrenControlImg(qg);if(aj){if(aj.tagName=='image')aj.setAttributeNS(IConstant.XLINKNS,'href',yf);else
aj.src=yf;qg.isChildrenOpen=lb.isChildrenOpen;}
}
return Core.preventDefault(e);}
function qi(oc){if(!oc||!oc.isTemplate()){return false;}
if(oc.isLeaf()&&oc.numOfDBChildren<1){return false;}
var bj=oc.level-self.rootNode.level;if(bj==1){return true;}
else{return false;}
}
function _i(oc){if(xi){}
else if(!qi(oc)){}
else if(oc.isCanvasChildrenDisplayed){oc.setChildrenVisible(self);var ce=oc.children;for(var mb in ce){var oc=ce[mb];cj(oc);}
}
else{oc.isCanvasChildrenDisplayed=true;if(oc.numOfDBChildren>0){var pc=self.editor.getHttp('loadNode',self,'openOneReady');pc.node=oc;pc.addParameter('loadChildren','true');pc.addParameter('useLoadChildren','true');pc.addParameter('loadLayout','true');pc.addParameter('loadLevel','1000');pc.errorCb=self;pc.errorCbName='onError';pc.call();return;}
else{var nf=self.getNodeDomRoot(oc);self.displayChildren(oc,nf,true);oc.setChildrenVisible(self);oc.displayEdges(self);}
}
if(self.openOneReadyCallBack){self.openOneReadyCallBack.call(self);}
}
this.onError=function(){xi=true;}
this.openOneReady=function(sc,pc){var oc=pc.node;oc.updateChildrenByDbNodeOpenCanvas(pc,self.rootNode.id);oc.updateEdgesByDbNode(pc);var nf=self.getNodeDomRoot(oc);self.displayChildren(oc,nf,true,oc);oc.setChildrenVisible(self);oc.displayEdges(self);oc.numOfDBChildren=0;if(self.openOneReadyCallBack){self.openOneReadyCallBack.call(self);}
}
this.openOneReadyCallBack;this.setOpenOneReadyCallback=function(sh,dj){if(self.openOneReadyCallBack){self.openOneReadyCallBack.cbObject=sh;self.openOneReadyCallBack.cbName=dj;}
else{self.openOneReadyCallBack=new CallBack(sh,dj);}
}
this.clearOpenOneReadyCallback=function(){self.openOneReadyCallBack=null;}
function $i(parent){parent.setChildrenNotVisible(self);var ce=parent.children;for(var mb in ce){var oc=ce[mb];ej(oc);}
}
function cj(oc){var nf=self.getNodeDomRoot(oc);var s;if(nf.svgGroup)s=nf.svgGroup.style;else
s=nf.style;s.visibility='visible';oc.displayEdges(self);}
function ej(oc){var nf=self.getNodeDomRoot(oc);var s;if(nf.svgGroup)s=nf.svgGroup.style;else
s=nf.style;s.visibility='hidden';oc.hideEdges(self);}
this.addEdgeControl=function(lb){if(this.initDisplayOperationEdges){var eg=Core.addImage(lb.domNodeRoot,oi,'Display/Hide '+_core.typeUtil.edgeType.name);eg._glIsClose=false;}
else{var eg=Core.addImage(lb.domNodeRoot,pi,'Display/Hide '+_core.typeUtil.edgeType.name);eg._glIsClose=true;}
var qb=Core.getDimensions(lb.domNodeRoot);var vi=19;eg.setAttribute('x',qb[0]-vi-1);eg.setAttribute('y',1);eg.setAttribute('width',vi);eg.setAttribute('height',16);eg._glNetworkNode=lb.node;Core.setClassName(eg,'eCanvasEdgeControl');Core.addEvent(eg,'mouseover',self,'doEdgeControlMouseOver');Core.addEvent(eg,'mouseup',self,'doEdgeControlMouseUp');si[lb.id]=eg;}
this.doEdgeControlMouseOver=function(eg){if(this.initDisplayOperationEdges){return;}
if(eg._glIsMouseOverAlready==true){return;}
eg._glIsMouseOverAlready=true;this.doEdgeControlMouseUp(eg);}
this.doEdgeControlMouseUp=function(eg,e){eg._glIsClose=!eg._glIsClose;fj(eg);return Core.preventDefault(e);}
function fj(eg){var oc=eg._glNetworkNode;var ji;if(eg._glIsClose){ji=pi;oc.hideEdges(self);}
else{oc.displayEdges(self);ji=oi;}
var yf=Core.getImageUrl(ji);if(eg.tagName=='image')eg.setAttributeNS(IConstant.XLINKNS,'href',yf);else
eg.src=yf;}
}
function CanvasEvent(hd,id){this.canvasChildrenDisplay=CanvasChildrenDisplay;this.canvasChildrenDisplay(hd,id);var self=this;this.selectionNode=new SelectionNode(this);this.selectionEdge=new SelectionEdge(this);this.clear=function(){self.selectionNode.unSelectNodeAll();self.selectionEdge.unSelectAll();}
this.doCanvasMouseDown=function(gj,e){if(!self.isEditable){return;}
if(ContextMenu.isRightClick(e)){return;}
self.clear();if(self.enableSelectDrag){self.initSelectDrag=true;var fe=Core.findLoc(self.domCanvasRoot);hj=fe.x;ij=fe.y;self.initSelectX=e.clientX-hj+self.getScrollLeft();self.initSelectY=e.clientY-ij+self.getScrollTop();}
}
this.doCanvasMouseUp=function(gj,e){_core.clearNewEdgeAction();var id=self.rootNode;if(ContextMenu.isRightClick(e)){var jj=null;if(id.isApplication()){jj=_core.getContextMenuFactory().getCanvasMenuApp();}
else if(id.isAppMenu()){jj=_core.getContextMenuFactory().getCanvasMenuAppMenu();}
else if(id.isProcess()){jj=_core.getContextMenuFactory().getCanvasMenuProcess();}
else if(id.isDbPackage()){jj=_core.getContextMenuFactory().getCanvasMenuDbPackage();}
else if(id.isDatabase()){jj=_core.getContextMenuFactory().getCanvasMenuDb();}
else if(id.isMenuList()){jj=_core.getContextMenuFactory().getCanvasMenuMenuList();}
else if(id.isClassPackage()){jj=_core.getContextMenuFactory().getCanvasMenuClassPackage();}
if(jj){jj.canvas=self;jj.setRightClickData(e);jj.refresh();_core.contextMenu=jj;}
return;}
if(!self.isEditable){return;}
var kj=self.editor.getActionNewNode();if(!kj){if(self.initSelectDrag){if(this.selectSpan!=null){var fe=Core.findLoc(self.domCanvasRoot);hj=fe.x;ij=fe.y;var ch=e.clientX-hj+self.getScrollLeft();var dh=e.clientY-ij+self.getScrollTop();var sd=this.findAllNodesInSelection(self.initSelectX,self.initSelectY,ch,dh);this.selectSpan.style.visibility='hidden';}
self.initSelectDrag=false;self.enableSelectDrag=false;return Core.preventDefault(e);}
else if(self.isBendingLine){self.bendingLine.doMouseUp(self.bendingLine,e);}
return;}
self.initSelectDrag=false;var lj=kj.refNode;if(lj){if(id.isProcess()){if(self.findItemByFullName(lj.fullName)!=null){alert(lj.name+' is already in '+id.name);}
else{self.editor.addNewNode(self,IConstant.JS_TYPE_DATAFILE,true,this.rootNode,e,null,null,kj.nodeType.name);}
}
else if(id.isDbPackage()){if(self.findItemByFullName(lj.fullName)!=null){alert(lj.name+' is already in '+id.name);}
else{self.editor.addNewNode(self,IConstant.JS_TYPE_DATAFILE,true,this.rootNode,e,null,null,kj.nodeType.name,{'packageNode':id.dbPackageNodeId}
);}
}
else if((id.isMenuList()||id.isClassPackage())&&lj.isProcess()){if(id.isClassPackage()&&self.findItemByFullName(lj.fullName)!=null){alert(lj.name+' is already in '+id.name);}
else{self.editor.addNewNode(self,IConstant.JS_TYPE_DATAFILE,true,this.rootNode,e,null,null,kj.nodeType.name);}
}
else if(id.isApplication()&&lj.isProcess()){self.editor.replaceClassFromPackage(lj,e);}
else if(id.isDatabase()&&lj.isDbTable()&&lj.parent!=id){self.editor.replaceClassFromPackage(lj,e);}
else{alert(lj.name+' can not be dropped on '+self.rootNode.name+' directly.');}
}
else{var mj=false;var nj=kj.nodeType.typeId;if(id.isDatabase()||id.isInDatabase()){if(nj==IConstant.JS_TYPE_DATAARRAY){self.editor.addNewNode(self,IConstant.JS_TYPE_DATAFILE,true,this.rootNode,e,null,null,kj.nodeType.name);oj(kj);return;}
}
else if(id.isProcess()){if(nj==IConstant.JS_TYPE_DATAFILE||nj==IConstant.JS_TYPE_OPERATION||nj==IConstant.JS_TYPE_OPERATION_FS){mj=true;}
}
else if(id.isApplication()&&nj==IConstant.JS_TYPE_PROCESS){mj=true;}
else if(id.isAppMenu()&&nj==IConstant.JS_TYPE_MENULIST){mj=true;}
else if(id.isAppClassPackage()&&nj==IConstant.JS_TYPE_CLASS_PACKAGE){mj=true;}
else if(id.isClassPackage()&&nj==IConstant.JS_TYPE_PROCESS){kj.packageNode=this.rootNode;self.editor.addNewNode(self,nj,true,self.editor.navigator.tree.processRootNode,e,null,null,kj.nodeType.name);oj(kj);return;}
else if(id.isDbPackage()&&nj==IConstant.JS_TYPE_DATAARRAY){self.editor.addNewNode(self,IConstant.JS_TYPE_DATAFILE,true,self.editor.navigator.tree.dbRootNode,e,null,null,kj.nodeType.name,{'packageNode':this.rootNode}
);oj(kj);return;}
if(mj){self.editor.addNewNode(self,nj,true,this.rootNode,e,null,null,kj.nodeType.name);}
else{if(nj!=IConstant.JS_TYPE_EDGE){var pj=self.rootNode.getJsNodeType();alert(kj.nodeType.name+' can not be added on '+pj.name+' directly.');}
}
}
oj(kj);}
this.doCanvasMouseOver=function(gj,e){self.clearMinMaxControl();}
this.doCanvasMouseMove=function(gj,e){if(!self.isEditable){return;}
if(self.isDraggingEdge){var fe=Core.findLoc(self.domCanvasRoot);hj=fe.x;ij=fe.y;self.draggingLine.discard(true);self.draggingLine.width=1;self.draggingLine.setZIndex(1000);self.draggingLine.initDrag=false;if(self.draggingLine._vStroke){self.draggingLine._vStroke.setAttribute('DashStyle','solid');}
if(self.isDraggingTo){self.draggingLine.setTo(e.clientX-hj+self.getScrollLeft(),e.clientY-ij+self.getScrollTop());}
else{self.draggingLine.setFrom(e.clientX-hj+self.getScrollLeft(),e.clientY-ij+self.getScrollTop());}
self.draggingLine.draw(self.domCanvasRoot,self);self.draggingLine.attachEvents();}
else if(self.isBendingLine){var fe=Core.findLoc(self.domCanvasRoot);hj=fe.x;ij=fe.y;var ch=e.clientX-hj+self.getScrollLeft();var dh=e.clientY-ij+self.getScrollTop();self.bendingLine.updateBendPoint(ch,dh);self.bendingLine.hideBendPoint();}
else if(self.initSelectDrag){var fe=Core.findLoc(self.domCanvasRoot);var ch=e.clientX-fe.x+self.getScrollLeft();var dh=e.clientY-fe.y+self.getScrollTop();this.drawSelectBox(self.initSelectX,self.initSelectY,ch,dh);}
}
this.drawSelectBox=function(ah,bh,ch,dh){if(this.selectSpan==null||!this.selectSpan){this.selectSpan=Core.addNode(this.domCanvasRoot,'span');}
var _b=this.selectSpan.style;_b.position='absolute';var dc;if(ah<ch){_b.left=ah+'px';dc=ch-ah;}
else{_b.left=ch+'px';dc=ah-ch;}
var ec;if(bh<dh){_b.top=bh+'px';ec=dh-bh;}
else{_b.top=dh+'px';ec=bh-dh;}
if(dc>5)dc=dc-5;if(ec>5)ec=ec-5;_b.width=dc+'px';_b.height=ec+'px';_b.visibility='visible';_b.borderStyle='dashed';_b.borderColor='black';_b.borderWidth=1;}
this.clearMinMaxControl=function(){for(var i=0;i<qj.length;i++){var c=qj[i];c.hide();}
qj=new Array();}
this.doCanvasKeyDown=function(gj,e){var gc=(e.charCode)?e.charCode:e.keyCode;if(gc==ActionData.DELETE){self.selectionEdge.doDelete();return;}
}
var rj;this.getKeyActionData=function(){if(!rj){rj=new ActionData(self,ActionData.CANVAS_KEY_DOWN);}
return rj;}
this.deleteSelectedNodes=function(){if(self.selectionNode.isEmpty()){return;}
this.deleteItems(self.selectionNode.getSelectedNodes());}
this.deleteItems=function(kb){var kj=self.getKeyActionData();kj.setItems(kb);kj.doDeleteNodes();}
this.isDeletableNode=function(oc){if(self.isCanvasTopLevel(oc)){return true;}
var sj=self.getTopLevelNode(oc);if(sj&&(sj.isTopLevelTemplate()||sj.isOperation())){return true;}
return false;}
this.isNodePropertyEditable=function(oc){if(self.isCanvasTopLevel(oc)){if(!(self.rootNode.isDatabase()||self.rootNode.isDbPackage())){if(oc.typeId==IConstant.JS_TYPE_DATAFILE_DATABASETABLE||oc.typeId==IConstant.JS_TYPE_DATAFILE_PROCESSTABLEREFERENCE){return false;}
}
return true;}
var sj=self.getTopLevelNode(oc);if(sj&&(sj.isTopLevelTemplate()||sj.isOperation())){return true;}
return false;}
this.doNodeKeyDown=function(oc,e){if(oc.eventTarget)oc=oc.eventTarget;if(!self.isEditable){return;}
_core.setKeyActionCanvas(self);}
this.showToolTipCB=function(sc,pc){this.showToolTip(pc.node);}
this.showToolTip=function(oc){var tj=oc.getPropertySource();var uj="";if(vj=tj.getPropertyValue(IConstant.DESCRIPTION_PROPERTY_NAME)){uj=vj+'<hr>';}
uj+='Node Type: '+oc.jsNodeType.name
+'<br>Display Order: '+oc.displayOrder;if(oc.typeId==3){uj+='<br>Data Type: '+tj.getProperty(IConstant.DATA_TYPE_PROPERTY_NAME).valueLabel;}
if(hd.currentProductVersion>=4){uj+='<br>System Name: '+oc.fullName;}
Core.addToolTip(uj);}
this.doNodeMouseOver=function(wj,e){if(wj.eventTarget)wj=wj.eventTarget;var oc=wj._glNetworkNode;if(!oc){return;}
if(!oc.isPropertyLoaded){if(!oc.isPropertyLoading){oc.isPropertyLoading=true;var tj=oc.getPropertySource();tj.loadProperty(self,'showToolTipCB');}
}
else{self.showToolTip(oc);}
Core.appendClassName(wj,xj(oc));if(!self.isEditable){return;}
var lb=wj._glCanvasItem;if(self.isDraggingEdge){_core.showNodeEdgeTerminals(self,lb);}
var kj=self.editor.getActionNewNode();if(kj){var nj=kj.nodeType.typeId;if(nj==IConstant.JS_TYPE_EDGE){_core.showNodeEdgeTerminals(self,lb);}
}
if(oc.level-self.rootNode.level==1){yj(lb,wj,e);}
return Core.preventDefault(e);}
var qj=new Array();function yj(lb,wj,e){var zj=self.addMinMaxControl(lb);qj[qj.length]=zj;zj.show();}
this.addMinMaxControl=function(lb){var wj=lb.domNodeRoot;var zj=wj._glNodeMinMaxControl;if(!zj){zj=new NodeMinMaxControl(self,lb);zj.init();wj._glNodeMinMaxControl=zj;}
return zj;}
this.doNodeMouseOut=function(wj,e){UnTip();if(wj.eventTarget)wj=wj.eventTarget;var oc=wj._glNetworkNode;if(!oc){return;}
Core.removeClassName(wj,xj(oc));return Core.preventDefault(e);}
function xj(oc){return oc.getJsNodeType().styleMouseOver;}
this.onNodeDblClick=function(gj,e){if(gj.eventTarget)gj=gj.eventTarget;if(!self.isEditable){return;}
var oc=gj._glNetworkNode;var lb=gj._glCanvasItem;if(!oc||!self.isDeletableNode(oc)){return;}
self.clear();_core.showRenameInput(self,lb,e);}
this.doNodeClick=function(gj,e){if(gj.eventTarget)gj=gj.eventTarget;if(!_glActionData)self.editor.doOpenPropertyWindow(gj);}
this.doNodeMouseUp=function(gj,e){if(gj.eventTarget)gj=gj.eventTarget;var oc=gj._glNetworkNode;var lb=gj._glCanvasItem;if(!oc){return;}
if(ContextMenu.isRightClick(e)&&!_core.contextMenu){var jj=_core.getContextMenuFactory().getNodeMenu(oc);jj.canvas=self;jj.node=oc;jj.item=lb;jj.setRightClickData(e);jj.refresh();_core.contextMenu=jj;return;}
if(!self.isEditable){return;}
if($j()){var _j=new NodeEdgeTerminals(self,lb);_j.canvas=self;_j.doMouseUp(null,e,lb);return;}
_core.clearNewEdgeAction();var kj=self.editor.getActionNewNode();if(!kj){if(self.isBendingLine){self.bendingLine.doMouseUp(self.bendingLine,e);}
return;}
var nj=kj.nodeType.typeId;if(nj==IConstant.JS_TYPE_EDGE){return;}
var lj=kj.refNode;if(lj){var mj=false;var ak=false;if(lj.isTopLevelTemplate()){if(TypeUtil.isProcess(self.rootNode)&&TypeUtil.isProcessTemplate(self.getTopLevelNode(oc))&&(TypeUtil.isProcessTemplate(oc)||TypeUtil.isArray(oc)||TypeUtil.isDataGroup(oc))){mj=true;}
else if(self.rootNode.isDbPackage()&&TypeUtil.isDatabaseTemplate(oc)||TypeUtil.isArray(oc)||TypeUtil.isDataGroup(oc)){mj=true;ak=true;}
else if((TypeUtil.isDatabase(self.rootNode))&&TypeUtil.isDatabaseTemplate(self.getTopLevelNode(oc))&&(TypeUtil.isDatabaseTemplate(oc)||TypeUtil.isArray(oc)||TypeUtil.isDataGroup(oc))){mj=true;}
}
if(mj){kj.refToNode=oc;var bk=null;var ck=IConstant.JS_TYPE_DATAREFERENCE;if(e.ctrlKey||e.altKey||e.shiftKey){bk=new Object();bk.refToNode=kj.refToNode;bk.isCopyRefChildren=true;ck=IConstant.JS_TYPE_DATAFILE_DATABASETABLE;}
if(ak){if(!bk)bk={}
;bk.packageNode=self.rootNode;self.editor.addNewNode(self,ck,true,self.editor.navigator.tree.dbRootNode,e,null,null,null,bk);}
else
self.editor.addNewNode(self,ck,true,this.rootNode,e,null,null,null,bk);}
else{_core.showMessage('Error','"'+lj.name+'" can only be dropped on '+_core.typeUtil.templateType.name
+' or editable '+_core.typeUtil.arrayType.name);}
}
else{var dk=kj.nodeType;var ek=oc.getJsNodeType();var mj=false;if(nj==IConstant.JS_TYPE_DATAGROUP||nj==IConstant.JS_TYPE_DATAARRAY||nj==IConstant.JS_TYPE_DATAELEMENT){if(oc.isInDatabase()){if(ek.typeId==IConstant.JS_TYPE_DATAFILE_DATABASETABLE||ek.typeId==IConstant.JS_TYPE_DATAFILE||ek.typeId==IConstant.JS_TYPE_DATAARRAY||ek.typeId==IConstant.JS_TYPE_DATAGROUP){mj=true;}
}
else{if(ek.typeId==IConstant.JS_TYPE_DATAFILE||ek.typeId==IConstant.JS_TYPE_DATAARRAY||ek.typeId==IConstant.JS_TYPE_DATAGROUP){mj=true;}
}
}
var name;switch(dk.typeId){case IConstant.JS_TYPE_DATAELEMENT:if(oc.isArray()){name=dk.withinArrayName;}
else{name=dk.withinTemplateName;}
break;default:name=dk.name;}
if(mj){self.editor.addNewNode(self,nj,false,oc,e,null,null,name);}
else{alert(kj.nodeType.name+' can not be added to '+ek.name);}
}
oj(kj);return Core.preventDefault(e);}
function oj(kj){if(kj.isLocked){return;}
kj.callback();self.editor.clearActionNewNode(null);}
function $j(){var kj=self.editor.getActionNewNode();if(!kj){return false;}
var nj=kj.nodeType.typeId;if(nj==IConstant.JS_TYPE_EDGE){return true;}
else{return false;}
}
this.doNodeMouseDown=function(gj,e){if(gj.eventTarget)gj=gj.eventTarget;if(!self.isEditable){return;}
var oc=gj._glNetworkNode;var lb=gj._glCanvasItem;if(!oc){return;}
if($j()){var _j=new NodeEdgeTerminals(self,lb);_j.canvas=self;_j.doMouseDown(null,e,lb);return;}
if(ContextMenu.isRightClick(e)){if(!self.selectionNode.isSelected(lb)){self.selectionNode.unSelectNodeAll();self.selectionNode.selectNode(lb,e);}
return;}
self.selectionEdge.unSelectAll();if(!_glActionData){if(_core.activeConditionEdge&&_core.activeConditionEdge.isReady()){if(lb.node.isField()||lb.node.isOperation()){_core.activeConditionEdge.setVariableItem(lb);return Core.preventDefault(e);}
else{_core.activeConditionEdge.setReadyVariable();}
}
self.selectionNode.doSelect(lb,e);}
if(!_core.getRenameObject()||!_core.getRenameObject().isDisplayed())return Core.preventDefault(e);else if(_core.getRenameObject())_core.getRenameObject().doOnblur();}
}
function CanvasItem(ab,oc){this.id=fk();this.canvas=ab;this.node=oc;this.topLevelItem;var self=this;this.domNodeRoot;this.domSelectRoot;var gk;this.getLayout=function(){if(!gk){gk=self.node.getCanvasLayout(self.canvas.rootNode.id);}
return gk;}
this.highlight=function(){var nf=self.domNodeRoot;var s=self.domSelectRoot.style;Core.showNode(self.domSelectRoot);var hk=Core.getNodeOffset(nf);var ac=hk.x;var top=hk.y;qb=Core.getDimensions(nf);var w=qb[0];var h=qb[1];Core.setLeftTop(self.domSelectRoot,ac,top);if(self.domSelectRoot.rect)Core.setDimension(self.domSelectRoot.rect,w,h);else
Core.setDimension(self.domSelectRoot,w,h);self.updateHandlers();}
this.deHighlight=function(){Core.hideNode(self.domSelectRoot);}
function ik(oc){if(oc.isField()){return'eCanvasNodeSelectField'}
else{return'eCanvasNodeSelect';}
}
this.select=function(jk){Core.appendClassName(self.domNodeRoot,ik(self.node));Core.appendClassName(self.domSelectRoot,'eCanvasNodeHighlight');if(!self.isInit){self.isInit=true;if(self.domSelectRoot.namespaceURI==IConstant.SVGNS){var kk=Core.addNodeSVG(self.domSelectRoot,'rect');self.domSelectRoot.rect=kk;}
if(!self.node.isField()){self.selectNodeInit(self.canvas,jk,self.domSelectRoot);}
}
self.highlight();}
this.unSelect=function(jk){Core.removeClassName(self.domNodeRoot,ik(self.node));Core.removeClassName(self.domSelectRoot,'eCanvasNodeHighlight');self.deHighlight();}
this.selectNodeInit=function(ab,jk,hg,lk){var OFF=-7;mk(ab,jk,hg,'nw-resize',OFF,OFF,-9999,-9999,lk);mk(ab,jk,hg,'ne-resize',-9999,OFF,OFF,-9999,lk);mk(ab,jk,hg,'se-resize',-9999,-9999,OFF,OFF,lk);mk(ab,jk,hg,'sw-resize',OFF,-9999,-9999,OFF,lk);}
this.resizeHandlers=new Array();function mk(ab,jk,hg,$b,ac,top,nk,ok,lk){var pk=new ResizeHandler(ab,$b,ac,top,nk,ok);pk.selectNode=jk;pk.editStyle=lk;pk.init(hg);self.resizeHandlers[self.resizeHandlers.length]=pk;self.resizeHandlers[$b]=pk;}
this.onMoveResizeBegin=function(qk,e){if(!self.canvas){return;}
var rk=qk.getActionDataMove();rk.setItems(qk.getSelectedNodesNoChildren());rk.reset(e);if(qk.areAllDeletable())_glActionData=rk;if(self.canvas.clearMinMaxControl){self.canvas.clearMinMaxControl();}
}
this.updateHandlers=function(){if(self.domSelectRoot.namespaceURI!=IConstant.SVGNS)return;var qb=Core.getDimensions(self.domSelectRoot.rect);for(var sk in self.resizeHandlers){var pk=self.resizeHandlers[sk];switch(sk){case'nw-resize':break;case'ne-resize':pk.setLeft(qb[0]);break;case'se-resize':pk.setLeftTop(qb[0],qb[1]);break;case'sw-resize':pk.setTop(qb[1]);break;}
}
}
this.updateElementPositions=function(){if(self.domNodeRoot.namespaceURI!=IConstant.SVGNS)return;var qb=Core.getDimensions(self.domNodeRoot);if(self.startOpLink){self.startOpLink.setAttribute('x',qb[0]-16-20);}
self.canvas.updateOpenClosePosition(self);}
this.updateDisplayOrderPosition=function(){if(self.domNodeRoot.namespaceURI!=IConstant.SVGNS)return;var qb=Core.getDimensions(self.domNodeRoot);var tk=_core.findStringLength(oc.displayOrder);oc.domCanvasDisplayOrderSpan.setAttribute('x',qb[0]-(Math.pow(tk,.85)));oc.domCanvasDisplayOrderSpan.setAttribute('y',qb[1]-(4));}
this.setIconImg=function(uk){if(!this.nameIcon)return;var yf=Core.getImageUrl(uk);if(this.nameIcon.tagName=='image')this.nameIcon.setAttributeNS(IConstant.XLINKNS,'href',yf);else
this.domNodeRoot.style.backgroundImage='url('+yf+')';}
}
function DataItem(oc){this.canvasItem=CanvasItem;this.canvasItem(null,oc);var self=this;this.editStyle;this.onMoveResizeBegin=function(qk,e){self.onMouseDownMoveBegin(null,e);}
this.onMouseDownMoveBegin=function(vk,e){var qk=this.editStyle.canvas.selectionNode
var rk=qk.getActionDataMove(this.editStyle);rk.setItems(qk.list);rk.reset(e);_glActionData=rk;}
this.select=function(jk){Core.appendClassName(self.domSelectRoot,'eCanvasNodeHighlight');if(!self.isInit){self.isInit=true;wk();self.selectNodeInit(null,jk,self.domSelectRoot,self.editStyle);for(var i=0;i<self.resizeHandlers.length;i++){var pk=self.resizeHandlers[i];pk.mouseDownCbObj=self;pk.mouseDownCbName='hideSides';pk.mouseUpCbObj=self;pk.mouseUpCbName='showSides';}
}
self.highlight();}
var xk;var yk;var zk;var $k;var THICKNESS=3;function wk(){xk=_k();yk=_k();zk=_k();$k=_k();var al=(-1*THICKNESS)+'px';xk.style.top=al;yk.style.bottom=al;xk.style.left='0px';yk.style.left='0px';zk.style.left=al;$k.style.right=al;zk.style.top='0px';$k.style.top='0px';}
this.hideSides=function(){xk.style.display='none';yk.style.display='none';zk.style.display='none';$k.style.display='none';self.domSelectRoot.style.border='solid 1px #ff9900';}
this.showSides=function(){xk.style.display='block';yk.style.display='block';zk.style.display='block';$k.style.display='block';self.domSelectRoot.style.border='';}
this.refreshSide=function(dc,ec){var w=dc;var h=ec;xk.setAttribute('width',w);xk.setAttribute('height',THICKNESS);yk.setAttribute('width',w);yk.setAttribute('height',THICKNESS);zk.setAttribute('width',THICKNESS);zk.setAttribute('height',h);$k.setAttribute('width',THICKNESS);$k.setAttribute('height',h);}
function _k(w,h){var eg=Core.addImage(self.domSelectRoot,'transparent.gif');eg.style.backgroundColor='#ff9900';eg.style.position='absolute';eg.style.cursor='move';Core.addEvent(eg,'mousedown',self,'onMouseDownMoveBegin');return eg;}
this.unSelect=function(jk){Core.removeClassName(self.domSelectRoot,'eCanvasNodeHighlight');self.deHighlight();}
this.highlight=function(){var nf=self.domNodeRoot;var s=self.domSelectRoot.style;s.position='absolute';s.display='block';var pb=Core.findLoc(nf);var ac=pb.x;var top=pb.y;window.status=ac+' '+top;var w=nf.offsetWidth;var h=nf.offsetHeight;s.left=ac+'px';s.top=top+'px';s.width=w+'px';s.height=h+'px';this.showSides();this.refreshSide(w,h)}
}
function ChatWindow(){this.massagerBase=MassagerBase;this.massagerBase();var self=this;var bl=Dialog;var cl;var dl;var el;var fl;this.userId;var gl;this.addToUserId=function(hl){if(!gl){gl=new Array();}
gl[hl]=hl;}
this.massagerInit=function(hg){this.timeToPull=3;this.messageCategory=IConstant.MESSAGE_CATEGORY_CHAT;bl=new Dialog(document.body,'Instant Message | Pointdragon');bl.isMovable=true;bl.init();bl.contentCell.style.padding='10 20 20 20';var il=Core.addNode(bl.contentCell,'span');Core.addText(il,'Message');Core.addSpace(il,300);var button=Core.addButton(il,'Invite');button.className='eChatWindowSent';Core.addEvent(button,'mousedown',_core.getDialogUser(),'onInviteIMUser');Core.addNode(il,'br');cl=Core.addNode(il,'div');cl.className='eChatWindowViewArea';Core.addNode(il,'br');dl=Core.addInput(il,'Please type your message here');dl.className='eChatWindowOutInput';Core.addEvent(dl,'keydown',self,'onSendInputKeyDown');Core.addEvent(dl,'mousedown',self,'onSendInputMouseDown');el=Core.addButton(il,'Send');el.className='eChatWindowSent';dl.disabled=true;el.disabled=true;Core.addEvent(el,'click',self,'onSend');Core.addNode(il,'br');fl=Core.addNode(il,'span');fl.className='eChatWindowStatusArea';bl.moveToCenter();bl.callbackOnClose=new CallBack(self,'clearPulling');self.retrieveMessage();}
this.show=function(){bl.open();}
this.close=function(){this.clearPulling();bl.hide();}
this.start=function(){dl.disabled=false;el.disabled=false;jl(self.userId+' is ready');}
this.retrieveMessageReady=function(sc,pc){if(!pc.dbNode){return;}
var kl=pc.dbNode.messages;if(!kl||kl.length<1){return;}
var t='';for(var i=0;i<kl.length;i++){var ll=kl[i];t+='<font color="'+ml(ll.u)+'">';t+=ll.u;t+='> ';t+='</font>';t+=ll.m;t+='  ';t+='<font color="gray" size="-1">';t+=ll.d;t+='</font>';t+='\n<br/>';}
cl.innerHTML+=t;pc.dbNode.messages=null;pc.dbNode=null;}
var nl=new Array();var ol=0;function ml(hl){var _d=nl[hl];if(!_d){_d=pl(ol);ol++;nl[hl]=_d;}
return _d;}
var ql;function pl(ed){if(!ql){ql=new Array();ql[0]='blue';ql[1]='green';ql[2]='red';ql[3]='orange';ql[4]='yellow';}
return ql[ed%ql.length];}
var rl=true;this.onSendInputMouseDown=function(){if(rl){dl.value='';rl=false;}
}
this.onSendInputKeyDown=function(sl,tl){var gc=(tl.charCode)?tl.charCode:tl.keyCode;if(gc==ActionData.ENTER){this.onSend();}
}
this.onSend=function(){if(dl.value&&dl.value.length>0){jl(dl.value);}
dl.value='';}
function jl(ll){if(!ll){return;}
self.sendHttp.clearParameter();self.sendHttp.addParameter('action','broadcast');if(ll){self.sendHttp.addParameter('message',ll);}
if(gl){for(var mb in gl){self.sendHttp.addParameter('toUserIds',mb);}
}
self.sendHttp.call();}
this.sentReady=function(sc,pc){}
}
function Community(hd){this.dialog=Dialog;this.dialog(document.body,'Community');var ul=hd;this.isMovable=true;this.isTransparentPadding=true;var self=this;var vl,wl;var xl,yl;this.dialogInit=function(){var _b=self.contentCell.style;_b.padding='20 20 10 20';_b.fontSize='11';var zl=Core.addNode(self.contentCell,'div');zl.style.border='solid 1px #CCCCCC';zl.style.padding='10 20 10 20';Core.addText(zl,'How do you want to reach the Pointdragon community?');Core.addBr(zl);Core.addBr(zl);vl=$l(zl,"collabOrIM",'Collaboration','onEmailAndIM');Core.addBr(zl);xl=_l(zl);Core.addBr(zl);wl=$l(zl,"collabOrIM",'Instant Message (IM)','onEmailAndIM');Core.addBr(zl);yl=_l(zl);Core.addBr(zl);self.addCancelButton();self.moveToCenter();}
this.reset=function(){vl.checked=false;wl.checked=false;am(xl);am(yl);am(bm);am(cm);if(dm){dm.selectedIndex=0;}
if(em&&em.select){em.select.selectedIndex=0;}
if(fm&&gm.select){fm.select.selectedIndex=0;}
if(hm){hm.value='';}
if(im){im.value='';}
if(jm){jm.checked=false;}
km(lm);km(mm);km(nm);}
function km(button){if(button){button.disabled=true;}
}
var fm;this.onEmailAndIM=function(){if(vl.checked==true){if(!om){pm();}
qm(xl);am(yl);}
else if(wl.checked==true){yl.innerHTML='';_core.getDialogUser().loadUser(self,'loadIMUserReady',true,true);qm(yl);am(xl);}
}
this.setIMRadioChecked=function(al){wl.checked=al;}
var om,rm;var bm,cm;function pm(){om=$l(xl,"postOrIndi",'Community Board','onPostOrInvite');Core.addBr(xl);bm=_l(xl);Core.addBr(xl);rm=$l(xl,"postOrIndi",'Invite people to view or edit this application','onPostOrInvite');cm=_l(xl);Core.addBr(xl);}
var dm;var em;this.onPostOrInvite=function(){if(om.checked==true){if(!sm){tm();}
qm(bm);am(cm);}
else if(rm.checked==true){if(!em){_core.getDialogUser().loadUser(self,'loadInviteUserReady',true);}
else{_core.getDialogUser().reloadUser(em.select,true);}
qm(cm);am(bm);}
self.moveToCenter();}
var hm,lm;var sm;function tm(){sm=Core.addNode(bm,'iframe');sm.setAttribute('width','350');sm.setAttribute('height','150');sm.setAttribute('src','/pdapps-community_app-dev/c.do?o=appke7.Pke16.Pke1622');}
this.onPostCheckData=function(){var um=true;if(!hm.value||hm.value.length<1){um=true;}
else{um=false;}
if(!um){if(dm.selectedIndex<0){um=true;}
}
lm.disabled=um;}
this.onClickPostSendButton=function(){this.hide();this.reset();}
var mm;var vm;var im,jm;this.loadInviteUserReady=function(wm){em=_core.getDialogUser().displaySelectUI(cm,wm,self,'onInviteSelectUserChange');vm=Core.addNode(cm,'span');Core.addBr(vm);Core.addText(vm,'Comment');Core.addBr(vm);im=Core.addTextArea(vm,4,35);im.style.marginLeft='17px';Core.addBr(vm);jm=Core.addCheckbox(vm,false);Core.addText(vm,'Check to include user id and password in the email.');vm.style.display='none';Core.addBr(cm);Core.addBr(cm);mm=Core.addButton(cm,'Submit');Core.addEvent(mm,'click',self,'onClickInvitePreviewButton');mm.disabled=true;}
this.onClickInvitePreviewButton=function(){if(!xm){var select=em.select;var hl=select.options[select.selectedIndex].value;_core.getMassager().inviteUserForDragon(hl);this.hide();this.reset();_core.getMassager().setMessage('Invitation sent');return;}
ym(false);}
function ym(zm,$m){var dj;if(zm){dj='onInviteFinish';}
else{dj='onInvitePreviewReady';}
var select=em.select;var hl=select.options[select.selectedIndex].value;var pc=self.getHttp('inviteUserByEmail',self,dj);pc.addParameter('toUserIds',hl);var ab=_core.editor.getCurrentCanvas();if(ab){pc.addParameter('openCanvasIds',ab.rootNode.fullName);pc.addParameter('pageScrollLeft',ab.getScrollLeft());pc.addParameter('pageScrollTop',ab.getScrollTop());}
if(zm){pc.addParameter('confirmed','true');}
if(im.value){pc.addParameter('message',im.value);}
if(jm.checked==true){pc.addParameter('includeUserId','true');}
if($m){pc.isCallUpdateData=$m;}
pc.call();}
this.onInvitePreviewReady=function(sc,pc){var _m=pc.dbNode;var an=bn();an.setOkayButtonCallback(self,'onInviteConfirmOkay');an.setTitle('Preview Invitation');an.setMessage(sc);an.moveToCenter();an.setTop(50);an.open();}
this.onInviteConfirmOkay=function(){ym(true,true);var an=bn();an.hide();this.hide();this.reset();}
this.onInviteFinish=function(sc,pc){var cn=_core.getMassager();cn.setMessage(pc.dbNode.message);}
var xm;this.onInviteSelectUserChange=function(select){if(select.selectedIndex<1){mm.disabled=true;return;}
var hl=select.options[select.selectedIndex].value;var dn=select.options[select.selectedIndex]._glUser;if(dn.isLogin()){mm.setAttribute('value','Invite Now');vm.style.display='none';xm=false;}
else{mm.setAttribute('value','Preview Email');vm.style.display='block';xm=true;}
mm.disabled=false;}
var nm;this.loadIMUserReady=function(wm){fm=_core.getDialogUser().displaySelectUIIM(yl,wm,self,'onIMSelectUserChange');Core.addBr(yl);nm=Core.addButton(yl,'Invite for IM');Core.addEvent(nm,'click',self,'onClickIMInviteButton');nm.disabled=true;}
this.onClickIMInviteButton=function(){var select=fm.select;var option=select.options[select.selectedIndex];_core.getMassager().inviteUserForIM(option.value,self,'onInviteForIMReady');}
this.onInviteForIMReady=function(sc,pc){this.hide();this.reset();}
this.onIMSelectUserChange=function(select){if(select.selectedIndex<1){nm.disabled=true;return;}
var hl=select.options[select.selectedIndex].value;nm.disabled=false;}
function am(nb){if(nb){nb.style.display='none';}
}
function qm(nb){nb.style.display='block';}
function $l(parent,name,en,fn){var radio=Core.addRadio(parent,"collabOrIM");Core.addEvent(radio,'click',self,fn);Core.addText(parent,' '+en+' ');return radio;}
function _l(parent){var nb=Core.addNode(parent,'span');nb.style.paddingLeft='20px';return nb
}
this.getHttp=function(kj,gn,dj){var pc=new HTTP('community.do',gn,dj);pc.addParameter('action',kj);return pc;}
var hn;function bn(){if(!hn){hn=new DialogPlain(document.body,'Preview');hn.isAddIcon=false;hn.init();}
hn.moveToCenter();return hn;}
}
function KeyValue(gc,jn){this.k=gc;this.v=jn;}
function ConditionItem(ab,kn,oc){this.canvas=ab;this.cEdge=kn;this.node=oc;var self=this;this.domRoot;this.init=function(hg){if(hg.namespaceURI==IConstant.SVGNS){self.domRoot=Core.addNodeSVG(hg,'svg');self.svgWidth=35;self.svgHeight=20;Core.setDimension(self.domRoot,self.svgWidth,self.svgHeight);self.domRoot.rect=Core.addNodeSVG(self.domRoot,'rect');Core.setDimension(self.domRoot.rect,self.svgWidth,self.svgHeight);var bg=self.domRoot.rect;}
else{self.domRoot=Core.addNode(hg,'span');var bg=self.domRoot;}
Core.addEvent(self.domRoot,'keydown',self.cEdge,'doKeyDown');Core.setClassName(self.domRoot,'eCanvasConditionItem');Core.addEvent(bg,'mousedown',self,'doMouseDown');Core.addEvent(bg,'mouseup',self,'doMouseUp');if(self.node){self.displayNode();}
else{self.displaySpace();}
}
this.displaySpace=function(){self.clearRoot();var vf=_core.findNodeType(self.allowedType).iconSrc;self.icon=Core.addImage(self.domRoot,vf);Core.addEvent(self.icon,'mousedown',self,'doMouseDown');if(self.domRoot.namespaceURI==IConstant.SVGNS){Core.setDimension(self.domRoot.rect,self.svgWidth,self.svgHeight);Core.setDimension(self.icon,16,16);Core.setLeftTop(self.icon,0,2);}
else{var s=self.domRoot.style;s.width='35px';}
}
this.displayNode=function(){self.clearRoot();var of=self.node.getJsNodeType();var ag=Core.addImage(self.domRoot,of.iconSrc);ag.setAttribute('border','0');self.icon=ag;Core.addEvent(ag,'mousedown',self,'doMouseDown');Core.addEvent(ag,'mouseup',self.cEdge,'doMouseUp');var $f=Core.addText(self.domRoot,' '+self.node.name+' ');self.text=$f;self.sizeToText();if(self.domRoot.namespaceURI==IConstant.SVGNS){Core.setDimension(ag,16,16);Core.setLeftTop(ag,0,2);Core.setLeftTop($f,17,13);Core.addEvent($f,'mousedown',self,'doMouseDown');Core.addEvent($f,'mouseup',self,'doMouseUp');}
}
this.sizeToText=function(){if(!self.text||(!Core.isSVG(self.text)))return;var ln=self.text.textContent.length;var dc=16;dc+=Math.ceil(ln*5);self.svgWidth=dc;Core.setDimension(self.domRoot,self.svgWidth,self.svgHeight);Core.setDimension(self.domRoot.rect,self.svgWidth,self.svgHeight);}
this.clearRoot=function(){if(self.domRoot.innerHTML!==undefined){self.domRoot.innerHTML='';}
else if(self.domRoot.childNodes){if(self.icon){self.domRoot.removeChild(self.icon);self.icon=undefined;}
if(self.text){self.domRoot.removeChild(self.text);self.text=undefined;}
}
}
this.doMouseDown=function(nb,e){self.cEdge.setReadyVariable(self);return Core.preventDefault(e);}
this.doMouseUp=function(nb,e){if(this.node&&ContextMenu.isRightClick(e)&&!_core.contextMenu){var jj=_core.getContextMenuFactory().getConditionItemMenu(this.node);if(jj){jj.node=this.node;jj.conditionItem=this;jj.item=new CanvasItem(null,this.node);jj.refresh();_core.contextMenu=jj;}
}
}
this.highlight=function(){Core.appendClassName(self.domRoot,'eCanvasConditionItemMouseDown');}
this.unHighlight=function(){Core.removeClassName(self.domRoot,'eCanvasConditionItemMouseDown');}
this.discard=function(){self.domRoot.style.display='none';}
}
function ContextMenuTeam(){this.contextMenu=ContextMenu;this.contextMenu();var self=this;var mn;this.createTeamSubmenu=function(){var nn=new ContextMenu();nn.addItem('Show Session History',self,'onShowHistory');nn.addSeparator();nn.addItem('Set Checkpoint',self,'onCheckPoint');nn.addItem('Show Checkpoint',self,'onViewCheckpoint');nn.addSeparator();nn.addItem('Tag as Version...',self,'onTagAsVersion');mn=nn;return mn;}
this.onCheckPoint=function(){var yf='editor.do?action=doCheckpoint';_core.post(yf);_core.showMessage('Set Checkpoint','Checkpoint has been set successfully.');}
this.onShowHistory=function(){on('Session History',1,'view');}
this.onViewCheckpoint=function(){on('Checkpoint(s)',2,'view');}
this.onTagAsVersion=function(){}
function on(mi,pn,qn){var yf='editor.do?action=viewCheckpoint&checkpointType='+pn+'&checkpointAction='+qn+'&bodyOnly=true'+'&pmBeginTrans=yes';var rn=_core.editor.getCurrentCanvas();if(rn){yf+='&currentCanvasId='+rn.rootNode.fullName;}
_core.openInIframeWindow(mi,yf);}
var sn;this.createCompareWithSubmenu=function(){var nn=new ContextMenu();nn.addItem('Session History ...',self,'onCompareWithHistory');nn.addSeparator();nn.addItem('Checkpoint ...',self,'onCompareWithCheckPoint');nn.addSeparator();nn.addItem('Version ...',self,'onCompareWithVersion');sn=nn;return sn;}
this.onCompareWithHistory=function(cg,e,lb){on('Session History',1,'Compare');}
this.onCompareWithCheckPoint=function(cg,e,lb){on('Checkpoint(s)',2,'Compare');}
this.onCompareWithVersion=function(cg,e,lb){}
var tn;this.createReplaceWithSubmenu=function(){var nn=new ContextMenu();nn.addItem('Session History ...',self,'onReplaceWithHistory');nn.addSeparator();nn.addItem('Checkpoint ...',self,'onReplaceWithCheckPoint');nn.addSeparator();nn.addItem('Version ...',self,'onReplaceWithVersion');tn=nn;return tn;}
this.onReplaceWithHistory=function(cg,e,lb){on('Session History',1,'Replace');}
this.onReplaceWithCheckPoint=function(cg,e,lb){on('Checkpoint',2,'Replace');}
this.onReplaceWithVersion=function(cg,e,lb){}
this.keep=function(){if(tn){var un=_core.undoRedo.getUndoPoints();var vn=tn.items;for(var i=0;i<vn.length;i++){var wn=vn[i];if(i<un.length){wn.undoPoint=un[i];wn.show();}
else{wn.hide();}
}
}
}
}
function ContextMenu(){this.menu=Menu;this.menu(null,document.body);this.editor=_core.editor;var self=this;this.isShowLocationCross;var xn=new Point();this.setRightClickData=function(e){xn.x=e.clientX;xn.y=e.clientY;if(self.canvas){}
}
this.getRightClickLocation=function(){return xn;}
this.refresh=function(){}
this.todo=function(){alert('to be done');}
this.setPasteCallback=function(sh,th){var yn=_core.getDataTransfer();if(yn){yn.setCallback(sh,th);}
}
var zn;this.createHelpItem=function($n){zn=new MenuItem(self,'Help',self,'onHelp','help.gif');zn.helpFileName=$n;return zn;}
this.onHelp=function(_n,e){_core.showHelp(zn.helpFileName);}
this.getSelectedItems=function(){var ao=self.canvas.selectionNode.list;var kb=new Array();if(ao){for(var mb in ao){var lb=ao[mb];if(!lb){continue;}
kb[kb.length]=lb;}
}
return kb;}
this.createShowSourceItem=function(){return new MenuItem(self,'Show Source',self,'onShowSource');}
this.onShowSource=function(nb,e,lb){var bo=new Search(self.editor);bo.showSource(self.item);}
this.createFindReferencesItem=function(){return new MenuItem(self,'Find References',self,'onFindReferences');}
this.onFindReferences=function(){var bo=new Search(self.editor);bo.findReferences(self.item);}
var co;var eo;var fo;var go;this.createCopyItem=function(){co=new MenuItem(self,'Copy',self,'onCopy',null,true);return co;}
this.createCopyWithDispItem=function(){eo=new MenuItem(self,'Copy with Display Options',self,'onCopyWithDisp',null,true);return eo;}
this.createCutItem=function(){fo=new MenuItem(self,'Cut',self,'onCut',null,true);return fo;}
this.createPasteItem=function(){go=new MenuItem(self,'Paste',self,'onPaste',null,true);return go;}
function ho(){var kb=self.getSelectedItems();var ab=self.canvas;if(kb.length<1){return;}
var io=[];var jo=1000000;var ko;for(var i in kb){var oc=kb[i].node;io[oc.id]=oc;if(oc.level<jo){jo=oc.level;ko=oc;}
}
if(!ko)return;var qf=ko.parent;if(qf==null){return;}
var lo=[];for(var i=0;i<kb.length;i++){var lb=kb[i];if((lb.node.typeId==IConstant.JS_TYPE_DATAREFERENCE)){continue;}
if(qf.id!=lb.node.parent.id){var mo=lb.node.parent;var uh=false;while(mo){if(io[mo.id]){uh=true;break;}
mo=mo.parent;}
if(uh)continue;else
return;}
lo.push(lb);}
var yn=new DataTransfer(self.canvas,qf,lo);return yn;}
this.onCopy=function(){var yn=ho();if(yn){_core.setDataTransfer(yn);}
}
this.onCopyWithDisp=function(){var yn=ho();yn.setCopyAltDisplayOptions(true);if(yn){_core.setDataTransfer(yn);}
}
this.onCut=function(){var yn=ho();if(yn){yn.isCut=true;_core.setDataTransfer(yn);}
}
this.onPaste=function(){var yn=_core.getDataTransfer();if(yn){yn.doPaste(self.canvas,self.item,self.getRightClickLocation());_core.clearDataTransfer();}
}
this.refreshCopyCutItem=function(){if(!co&&!fo){return;}
var yn=ho();var no=true;if(yn){no=false;}
if(co){co.setDisabled(no);}
if(eo){eo.setDisabled(no);}
if(fo){fo.setDisabled(no);}
}
this.refreshPasteItem=function(){if(!go){return;}
var yn=_core.getDataTransfer();var no=true;if(yn){if(this.isPasteOkay(yn)){no=false;}
}
go.setDisabled(no);}
this.isPasteOkay=function(yn){return false;}
var oo;this.createUndo=function(){oo=new MenuItem(self,'Undo',self,'onUndo','undo.gif',true);return oo;}
var po;this.createRedo=function(){po=new MenuItem(self,'Redo',self,'onRedo','redo.gif',true);return po;}
this.onUndo=function(){var qo=_core.undoRedo.getUndo();if(qo){qo.undo();_core.undoRedo.addRedo(qo);}
}
this.onRedo=function(){var ro=_core.undoRedo.getRedo();if(ro){ro.redo();_core.undoRedo.addUndo(ro);}
}
this.refreshUndoRedo=function(){var no;if(oo){oo.setDisabled(!_core.undoRedo.isUndoExist());}
if(po){po.setDisabled(!_core.undoRedo.isRedoExist());}
}
this.createWizardSubMenu=function(so){var to=_core.getWizardLauncher();var uo=to.getDataForType(so);if(!uo||uo.length==0){return;}
var nn=new ContextMenu();for(var i in uo){var vo=uo[i];var lb=nn.addItem(vo.name,self,'doWizard');lb.dragonId=vo.dragonId;}
nn.jsType=so;var wo=self.addMenu(nn,'Wizard');self.wizardSubMenu=wo;}
this.doWizard=function(nb,e,lb){var to=_core.getWizardLauncher();to.launchWizard(lb.dragonId,self.getRightClickLocation(),self.canvas,self.node,lb.menu.jsType);}
this.setWizardsDisabled=function(no){if(!self.wizardSubMenu)return;self.wizardSubMenu.setDisabled(no);var kb=self.wizardSubMenu.submenu.items;for(var i in kb){var lb=kb[i];lb.setDisabled(no);}
}
}
ContextMenu.isRightClick=function(e){if(e&&e.button==2){return true;}
return false;}
function ContextMenuFactory(){var xo;this.getEditorMenu=function(){if(!xo){xo=new ContextMenuEditor();xo.initItems();}
return xo;}
var yo;var zo;var $o;var _o;var ap;this.getNavigatorMenu=function(){if(!ap){ap=new ContextMenuNavigator();ap.initItems();}
return ap;}
var bp;this.getCanvasMenuProcess=function(){if(!bp){bp=new ContextMenuCanvasProcess();bp.initItems();}
return bp;}
var cp;this.getCanvasMenuApp=function(){if(!cp){cp=new ContextMenuCanvasApp();cp.initItems();}
return cp;}
var dp;this.getCanvasMenuAppMenu=function(){if(!dp){dp=new ContextMenuCanvasAppMenu();dp.initItems();}
return dp;}
var ep;this.getCanvasMenuMenuList=function(){if(!ep){ep=new ContextMenuCanvasMenuList();ep.initItems();}
return ep;}
var fp;this.getCanvasMenuClassPackage=function(){if(!fp){fp=new ContextMenuCanvasClassPackage();fp.initItems();}
return fp;}
var gp;this.getCanvasMenuDb=function(){if(!gp){gp=new ContextMenuCanvasDatabase();gp.initItems();}
return gp;}
var hp;this.getCanvasMenuDbPackage=function(){if(!hp){hp=new ContextMenuCanvasDatabasePackage();hp.initItems();}
return hp;}
var ip;this.getCanvasMenuPalette=function(){if(!ip){ip=new ContextMenuCanvasPalette();ip.initItems();}
return ip;}
var jp=new Array();this.getNodeMenu=function(oc){var nj=oc.getJsNodeType().typeId;var jj=jp[nj];if(jj){return jj;}
switch(nj){case IConstant.JS_TYPE_OPERATION:case IConstant.JS_TYPE_OPERATION_FS:jj=new ContextMenuCanvasNodeOperation();break;case IConstant.JS_TYPE_DATAFILE:jj=new ContextMenuCanvasNodeTemplate();break;case IConstant.JS_TYPE_DATAFILE_DATABASETABLE:var kp=oc.isInDatabase();nj=''+nj+kp;jj=jp[nj];if(jj)return jj;if(kp){jj=new ContextMenuCanvasNodeTemplate();}
else{jj=new ContextMenuCanvasNodeTemplateRef();}
break;case IConstant.JS_TYPE_DATAREFERENCE:case IConstant.JS_TYPE_DATAFILE_DATABASEREFERENCE:case IConstant.JS_TYPE_DATAFILE_PROCESS:case IConstant.JS_TYPE_DATAFILE_PROCESSTABLEREFERENCE:jj=new ContextMenuCanvasNodeTemplateRef();break;case IConstant.JS_TYPE_DATAELEMENT:jj=new ContextMenuCanvasNodeField();break;case IConstant.JS_TYPE_DATAARRAY:jj=new ContextMenuCanvasNodeArray();break;case IConstant.JS_TYPE_DATAGROUP:jj=new ContextMenuCanvasNodeTemplate();break;case IConstant.JS_TYPE_PROCESS:jj=new ContextMenuCanvasNodeProcess();break;case IConstant.JS_TYPE_MENULIST:jj=new ContextMenuCanvasNodeProcessMenuList();break;default:jj=new ContextMenuCanvasNode();}
jj.initItems();jp[nj]=jj;return jj;}
var lp=new Array();this.getTreeNodeMenu=function(oc){var nj=oc.getJsNodeType().typeId;var jj=lp[nj];if(jj){return jj;}
switch(nj){case IConstant.JS_TYPE_OPERATION:case IConstant.JS_TYPE_OPERATION_FS:jj=new ContextMenuTreeOperation();break;case IConstant.JS_TYPE_DATAFILE:case IConstant.JS_TYPE_DATAFILE_DATABASEREFERENCE:case IConstant.JS_TYPE_DATAFILE_PROCESS:case IConstant.JS_TYPE_DATAFILE_PROCESSTABLEREFERENCE:case IConstant.JS_TYPE_DATAFILE_DATABASETABLE:jj=new ContextMenuTreeTemplate();break;case IConstant.JS_TYPE_DATAELEMENT:jj=new ContextMenuTreeField();break;case IConstant.JS_TYPE_DATAARRAY:jj=new ContextMenuTreeArray();break;case IConstant.JS_TYPE_DATAGROUP:jj=new ContextMenuTreeTemplate();break;case IConstant.JS_TYPE_PROCESS:jj=new ContextMenuTreeProcess();break;case IConstant.JS_TYPE_APPLICATION:jj=new ContextMenuTreeApp();break;case IConstant.JS_TYPE_APP_MENU:jj=new ContextMenuTreeAppMenu();break;case IConstant.JS_TYPE_MENULIST:jj=new ContextMenuTreeMenuList();break;case IConstant.JS_TYPE_DATABASE:jj=new ContextMenuTreeDatabase();break;case IConstant.JS_TYPE_CLASS_PACKAGE:case IConstant.JS_TYPE_DATABASE_PACKAGE:jj=new ContextMenuTreeClassPackage();break;default:jj=new ContextMenuTreeNode();}
jj.initItems();lp[nj]=jj;return jj;}
var mp;this.getCanvasMenuEdge=function(){if(!mp){mp=new ContextMenuEdge();mp.initItems();}
return mp;}
var np=[];this.getConditionItemMenu=function(oc){var nj=oc.getJsNodeType().typeId;var jj=np[nj];if(jj){return jj;}
switch(nj){case IConstant.JS_TYPE_OPERATION:case IConstant.JS_TYPE_OPERATION_FS:jj=new ContextMenuOperationConditionItem();break;case IConstant.JS_TYPE_DATAELEMENT:jj=new ContextMenuFieldConditionItem();break;}
if(!jj)return undefined;jj.initItems();np[nj]=jj;return jj;}
}
function ContextMenuOperation(){this.contextMenu=ContextMenu;this.contextMenu();var self=this;this.initItems=function(){var nn=new ContextMenu();nn.addItem('Initial Phase',self,'todo');nn.addItem('User Input',self,'todo');nn.addItem('Post Phase',self,'todo');nn.addItem('All',self,'todo');self.addMenu(nn,'Display Links',self,'todo');self.addSeparator();self.addItem('Run',self,'todo','run.gif');self.addSeparator();self.addItem('Delete',self,'doDelete','delete.gif');self.addSeparator();self.addItem('Properties',self,'doProperties');}
}
function DataTransfer(op,pp,kb){this.fromCanvas=op;this.fromParentNode=pp;this.items=kb;this.isCut=false;var self=this;this.pasteCallback;this.setCallback=function(qp,rp){if(!qp){self.pasteCallback=null;return;}
else if(!self.pasteCallback)self.pasteCallback=new CallBack();self.pasteCallback.cbObject=qp;self.pasteCallback.cbName=rp;}
this.doPaste=function(sp,tp,location){var kb=self.items;if(kb.length<1){return;}
var pc=_core.editor.getHttp('savePaste',self,'doPasteReady');pc.addParameter('pmBeginTrans','yes');pc.addParameter('canvasRootNodeId',sp.rootNode.fullName);pc.node=sp.rootNode;var up=pc.nodeToId(self.fromParentNode);pc.addParameter('jsonAddChildRefNodeId',up);var vp;var hg;var ig;if(tp){vp=tp.node;hg=tp.domNodeRoot;ig=false;}
else{vp=sp.rootNode;hg=sp.domCanvasRoot;ig=true;}
pc.toCanvas=sp;pc.toItem=tp;pc.toNode=vp;pc.domParent=hg;var wp=pc.nodeToId(vp);pc.addParameter('jsonAddChildParent',wp);var wp=vp.id;var oc;for(var mb in kb){var lb=kb[mb];oc=lb.node;rc=pc.nodeToId(oc);pc.addParameter('nodeIds',rc);if(oc.id==wp){alert('Cannot paste itself: '+lb.node.name);return false;}
}
if(_core.editor){_core.editor.openMessageBox('Pasting...');}
var xp=new NetworkNode(IConstant.JS_TYPE_OPERATION);sp.computeNodeLayout(xp,hg,ig,null,location);var yp=xp.getCanvasLayout(sp.rootNode.id);pc.addParameter('pasteX',yp.x);pc.addParameter('pasteY',yp.y);if(self.copyAltDisplayOptions)pc.addParameter('copyAltDisplayOptions',true);pc.isCallUpdateData=true;pc.call();}
this.doPasteReady=function(sc,pc){var ab=pc.toCanvas;var vp=pc.toNode;var hg=pc.domParent;ab.selectionNode.unSelectNodeAll();vp.updateChildrenByDbNodeOpenCanvas(pc,ab.rootNode.id);ab.rootNode.updateEdgesByDbNode(pc);ab.addtoInitEdgeHash(pc.loadEdges);var $g=pc.loadChildren;var dg=new Array();for(var mb in $g){var tc=$g[mb];var zp;var lb=ab.displayNode(tc,hg,true,zp);ab.audit.addItem(lb);dg[dg.length]=lb;ab.selectionNode.selectNode(lb);}
ab.editor.navigator.updateAddNewNode(vp,$g);pc.isUpdateRefToNodeChildren=true;ab.rootNode.updateChildrenByDbNodeOpenCanvas(pc,ab.rootNode.id);var $g=pc.loadChildren;var dg=new Array();for(var mb in $g){var tc=$g[mb];var zp;zp=tc;hg=ab.domCanvasRoot;var lb=ab.displayNode(tc,hg,true,zp);ab.audit.addItem(lb);dg[dg.length]=lb;ab.selectionNode.selectNode(lb);}
ab.editor.navigator.updateAddNewNode(vp,$g);ab.displayEdges(pc.loadEdges,true);window.status=pc.dbNode.message;if(_core.editor){_core.editor.closeMessageBox();}
if(self.pasteCallback)self.pasteCallback.call(self);}
this.setCopyAltDisplayOptions=function($p){this.copyAltDisplayOptions=$p;}
}
function ContextMenuCanvas(){this.contextMenuTeam=ContextMenuTeam;this.contextMenuTeam();var self=this;this.isShowLocationCross=true;this.canvas;this.templateType=_core.findNodeType(IConstant.JS_TYPE_DATAFILE);this.createCanvasResizeItem=function(){var lb=new MenuItem(self,'Increase Canvas Size',self,'onCanvasResize');return lb;}
this.onCanvasResize=function(){var ab=this.canvas;var w=ab.domCanvasRoot.scrollWidth;var h=ab.domCanvasRoot.scrollHeight;ab.expandPadding(w+w*0.5,h+h*0.5);}
this.createCanvasNodePushItem=function(_p){var lb=new MenuItem(self,'Push Elements '+_p,self,'onPushNodes');lb.direction=_p;return lb;}
this.onPushNodes=function(_n,e,wn){var sk=wn.direction;var ab=self.canvas;var ce=ab.rootNode.children;var aq=self.getRightClickLocation();var location={'x':aq.x,'y':aq.y}
;var fe=Core.findLoc(ab.domCanvasRoot);location.x=location.x-fe.x+ab.getScrollLeft();location.y=location.y-fe.y+ab.getScrollTop();var bq=100;var cq=[];for(var mb in ce){var oc=ce[mb];var lb=ab.getItem(oc);var wc=lb.getLayout();var pb=Core.findLocUpTo(lb.domNodeRoot,'canvas');if((sk=='Right')&&(pb.x>location.x)){cq.push(lb);ab.selectionNode.selectNode(lb);}
else if((sk=='Down')&&(pb.y>location.y)){cq.push(lb);ab.selectionNode.selectNode(lb);}
}
var kj=new ActionData(ab);kj.setItems(cq);var e={'clientX':0,'clientY':0}
;kj.reset(e);if(sk=='Right')kj.setDx(bq);else if(sk=='Down')kj.setDy(bq);kj.updateCanvasItems();ab.selectionNode.unSelectNodeAll();for(var mb in ab.conditionAndBentEdges){var gd=ab.conditionAndBentEdges[mb];if(!gd)continue;if(gd.getConditionCanvasPos){pb=gd.getConditionCanvasPos();if((sk=='Right')&&(pb.x>location.x))gd.moveEnd(bq,0,0,0);else if((sk=='Down')&&(pb.y>location.y)){gd.moveEnd(0,bq,0,0);}
}
else{gd.resetBendPoint();}
}
}
this.createSelectAllNodeItem=function(){var lb=new MenuItem(self,'Select All',self,'onSelectAllNodes');return lb;}
this.onSelectAllNodes=function(_n,e){var ab=self.canvas;var ce=ab.rootNode.children;for(var mb in ce){var oc=ce[mb];var lb=ab.getItem(oc);if(lb){ab.selectionNode.selectNode(lb);}
}
}
this.createSelectAllEdgeItem=function(){var dq=_core.findNodeType(IConstant.JS_TYPE_EDGE);var lb=new MenuItem(self,'Select All '+dq.name,self,'onSelectAllEdges');return lb;}
this.onSelectAllEdges=function(_n,e){var ab=self.canvas;var we=ab.rootNode.edges;for(var mb in we){var gd=we[mb];if(gd.isDisplayed){ab.selectionEdge.select(gd);}
}
}
this.createSelectAreaItem=function(){var lb=new MenuItem(self,'Enable Area Select',self,'onSelectArea');return lb;}
this.onSelectArea=function(e){self.canvas.enableSelectDrag=true;}
var eq;this.addDeleteSelected=function(){eq=self.addItem('Delete',self,'onDeleteSelected','delete.gif',true);}
this.onDeleteSelected=function(_n,e){kb=self.getSelectedItems();if(kb.length>0){self.canvas.deleteItems(kb);}
}
this.refreshDeleteItem=function(){if(eq){var no;kb=self.getSelectedItems();if(kb.length>0){no=false;}
else{no=true
}
eq.setDisabled(no);}
}
this.refresh=function(){this.refreshCopyCutItem();this.refreshPasteItem();this.refreshUndoRedo();}
this.isPasteOkay=function(yn){var op=yn.fromCanvas;var kb=yn.items;for(var i=0;i<kb.length;i++){var lb=kb[i];if(!op.isCanvasTopLevel(lb.node)){return false;}
}
return true;}
var fq;this.createFindItem=function(){fq=new MenuItem(self,'Find',self,'onFindItem');return fq;}
var gq;this.onFindItem=function(e){var mi='Find';var hq='Please Enter the Name of the Node To Find: ';gq=new DialogInput(document.body,mi,hq,self,'doFindOk');gq.init();gq.open();gq.moveToCenter();gq.setInputFocus();}
this.doFindOk=function(){var sl=gq.getInputText();var iq=self.canvas.findNode(sl,self,'foundLast');gq.switchToFindNext();}
this.foundLast=function(){gq.hide();}
}
function ContextMenuCanvasProcess(){this.contextMenuCanvas=ContextMenuCanvas;this.contextMenuCanvas();var self=this;var jq;var dq;this.initItems=function(){jq=_core.typeUtil.opType;var nn=new ContextMenu();nn.addItem(jq.name,self,'onNewOperation',jq.iconSrc);nn.addItem(self.templateType.name,self,'onNewTemplate',self.templateType.iconSrc);self.addMenu(nn,'New');self.createWizardSubMenu(IConstant.JS_TYPE_PROCESS);self.addSeparator();self.add(self.createCanvasResizeItem());self.add(self.createCanvasNodePushItem('Down'));self.add(self.createCanvasNodePushItem('Right'));self.addSeparator();self.add(self.createCopyItem());self.add(self.createPasteItem());self.add(self.createFindItem());self.addSeparator();self.add(self.createSelectAreaItem());self.add(self.createSelectAllNodeItem());self.add(self.createSelectAllEdgeItem());self.addSeparator();dq=_core.findNodeType(IConstant.JS_TYPE_EDGE);nn=new ContextMenu();nn.addItem(dq.name+'s',self,'onViewEdges');self.addMenu(nn,'View');self.addSeparator();self.addMenu(self.createTeamSubmenu(),'Team');self.addMenu(self.createReplaceWithSubmenu(),'Replace With');self.addMenu(self.createCompareWithSubmenu(),'Compare With');}
this.onNewOperation=function(_n,e){self.editor.addNewNode(self.canvas,jq.typeId,true,self.canvas.rootNode,e,self.getRightClickLocation(),null,jq.name);}
this.onNewTemplate=function(_n,e){self.editor.addNewNode(self.canvas,self.templateType.typeId,true,self.canvas.rootNode,e,self.getRightClickLocation(),null,self.templateType.name);}
this.onViewEdges=function(_n,e){var oc=self.canvas.rootNode;var yf=_core.toViewAllLinksUrl(oc);_core.openInIframeWindow(oc.name+' '+dq.name+'s',yf);}
}
function ContextMenuCanvasDatabase(){this.contextMenuCanvas=ContextMenuCanvas;this.contextMenuCanvas();var self=this;var kq;this.initItems=function(){kq=_core.findNodeType(IConstant.JS_TYPE_DATAARRAY);var nn=new ContextMenu();nn.addItem(kq.name,self,'onNewTemplate',kq.iconSrc);self.addMenu(nn,'New');self.createWizardSubMenu(IConstant.JS_TYPE_DATABASE);self.addSeparator();self.add(self.createCanvasResizeItem());self.add(self.createCanvasNodePushItem('Down'));self.add(self.createCanvasNodePushItem('Right'));self.addSeparator();self.add(self.createCopyItem());self.add(self.createPasteItem());self.add(self.createFindItem());self.addSeparator();self.add(self.createSelectAreaItem());self.add(self.createSelectAllNodeItem());}
this.onNewTemplate=function(_n,e){self.editor.addNewNode(self.canvas,self.templateType.typeId,true,self.canvas.rootNode,e,self.getRightClickLocation(),null,kq.name);}
}
function ContextMenuCanvasDatabasePackage(){this.contextMenuCanvasDatabase=ContextMenuCanvasDatabase;this.contextMenuCanvasDatabase();var self=this;var kq=_core.findNodeType(IConstant.JS_TYPE_DATAARRAY);this.initItems=function(){var nn=new ContextMenu();nn.addItem(kq.name,self,'onNewTemplate',kq.iconSrc);self.addMenu(nn,'New');self.addSeparator();self.add(self.createCanvasResizeItem());self.add(self.createCanvasNodePushItem('Down'));self.add(self.createCanvasNodePushItem('Right'));self.addSeparator();self.add(self.createCopyItem());self.add(self.createPasteItem());self.add(self.createFindItem());self.addSeparator();self.add(self.createSelectAreaItem());self.add(self.createSelectAllNodeItem());}
this.onNewTemplate=function(_n,e){self.editor.addNewNode(self.canvas,self.templateType.typeId,true,self.editor.navigator.tree.dbRootNode,e,self.getRightClickLocation(),null,kq.name,{'packageNode':self.canvas.rootNode}
);}
}
function ContextMenuCanvasApp(){this.contextMenuCanvas=ContextMenuCanvas;this.contextMenuCanvas();var self=this;var lq;this.initItems=function(){lq=_core.findNodeType(IConstant.JS_TYPE_PROCESS);var nn=new ContextMenu();nn.addItem(lq.name,self,'onNewProcess',lq.iconSrc);self.addMenu(nn,'New');self.addSeparator();self.add(self.createCanvasResizeItem());self.add(self.createCanvasNodePushItem('Down'));self.add(self.createCanvasNodePushItem('Right'));self.addSeparator();self.add(self.createFindItem());self.addSeparator();self.add(self.createSelectAreaItem());self.add(self.createSelectAllNodeItem());}
this.onNewProcess=function(_n,e){var mq=_core.findNodeType(IConstant.JS_TYPE_OPERATION);self.editor.addNewNode(self.canvas,mq.typeId,true,self.canvas.rootNode,e,self.getRightClickLocation(),null,lq.name);}
}
function ContextMenuCanvasAppMenu(){this.contextMenuCanvas=ContextMenuCanvas;this.contextMenuCanvas();var self=this;var nq;this.initItems=function(){nq=_core.findNodeType(IConstant.JS_TYPE_MENULIST);var nn=new ContextMenu();nn.addItem(nq.name,self,'onNewProcess',nq.iconSrc);self.addMenu(nn,'New');self.addSeparator();self.add(self.createCanvasResizeItem());self.add(self.createCanvasNodePushItem('Down'));self.add(self.createCanvasNodePushItem('Right'));self.addSeparator();self.add(self.createFindItem());self.addSeparator();self.add(self.createSelectAreaItem());self.add(self.createSelectAllNodeItem());}
this.onNewProcess=function(_n,e){self.editor.addNewNode(self.canvas,nq.typeId,true,self.canvas.rootNode,e,self.getRightClickLocation(),null,nq.name);}
}
function ContextMenuCanvasClassPackage(){this.contextMenuCanvasApp=ContextMenuCanvasApp;this.contextMenuCanvasApp();var self=this;var oq=_core.findNodeType(IConstant.JS_TYPE_CLASS_PACKAGE);var mq=_core.findNodeType(IConstant.JS_TYPE_PROCESS);this.onNewProcess=function(_n,e){self.editor.addNewNode(self.canvas,oq.typeId,true,self.editor.navigator.tree.processRootNode,e,self.getRightClickLocation(),null,mq.name,{'packageNode':this.canvas.rootNode}
);}
}
function ContextMenuCanvasMenuList(){this.contextMenuCanvas=ContextMenuCanvas;this.contextMenuCanvas();var self=this;var nq;this.initItems=function(){nq=_core.findNodeType(IConstant.JS_TYPE_MENULIST);self.add(self.createCanvasResizeItem());self.add(self.createCanvasNodePushItem('Down'));self.add(self.createCanvasNodePushItem('Right'));self.addSeparator();self.add(self.createFindItem());self.addSeparator();self.add(self.createSelectAreaItem());self.add(self.createSelectAllNodeItem());self.addSeparator();self.add(self.createHelpItem('menulist.html'));}
this.onNewProcess=function(_n,e){self.editor.addNewNode(self.canvas,nq.typeId,true,self.canvas.rootNode,e,self.getRightClickLocation(),null,nq.name);}
}
function ContextMenuConditionItem(){this.contextMenu=ContextMenu;this.contextMenu();this.conditionItem;this.createRemoveItem=function(){this.removeNodeItem=new MenuItem(this,'Delete',this,'onRemoveFromCondition','delete.gif');return this.removeNodeItem;}
this.onRemoveFromCondition=function(){this.conditionItem.cEdge.setVariableItem();}
}
function ContextMenuOperationConditionItem(){this.contextMenuConditionItem=ContextMenuConditionItem;this.contextMenuConditionItem();this.initItems=function(){this.add(this.createShowSourceItem());this.add(this.createRemoveItem());}
}
function ContextMenuFieldConditionItem(){this.contextMenuConditionItem=ContextMenuConditionItem;this.contextMenuConditionItem();this.initItems=function(){this.add(this.createRemoveItem());}
}
function ContextMenuEditor(){this.contextMenu=ContextMenu;this.contextMenu();var self=this;this.initItems=function(){self.addItem('Back',_core.editor,'doBack','back.gif');self.addSeparator();self.addItem('Refresh',_core.editor,'doRefresh','refresh.gif');self.addSeparator();self.addItem('Logoff',_core.editor,'doLogoff');self.addSeparator();self.addItem('Chat',_core.editor,'doOpenBlog','dragon_head.gif');self.addSeparator();self.addItem('My Preference',self,'onPreference','preference.gif',true);self.addSeparator();self.addItem('Help',self,'onHelp','help.gif');self.addSeparator();self.addItem('About Pointdragon',self,'onAbout');}
this.onPreference=function(){_core.showMessage('Preference','To be done');}
this.onHelp=function(_n,e){_core.showHelp('index.html');}
this.onAbout=function(){var yf='admin.do?action=about&bodyOnly=true';_core.openInIframeWindow('About Pointdragon',yf);}
}
function ContextMenuNavigator(){this.contextMenuTreeNode=ContextMenuTreeNode;this.contextMenuTreeNode();var self=this;this.navigator=_core.editor.navigator;var pq;var qq;var rq;this.initItems=function(){pq=_core.findNodeType(IConstant.JS_TYPE_APPLICATION);qq=_core.findNodeType(IConstant.JS_TYPE_DATABASE);var sq=_core.findNodeType(IConstant.JS_TYPE_CLASS_PACKAGE);var tq=_core.findNodeType(IConstant.JS_TYPE_DATABASE_PACKAGE);var uq=new ContextMenu();uq.addItem(sq.name,self,'onNewClassPackage',sq.iconSrc);uq.addItem(tq.name,self,'onNewDbPackage',tq.iconSrc);self.addMenu(uq,'New');var nn=new ContextMenuTreeNode();nn.add(nn.createAuditExportItem());nn.addSeparator();nn.add(nn.createAuditImportItem());self.addMenu(nn,'Audit');self.addSeparator();self.add(self.createReplaceWithItem());self.add(self.createCompareWithItem());self.addSeparator();rq=self.addItem('Close All',_core.editor,'doRefresh');}
this.onNewApp=function(_n,e){_core.editor.navigator.doNewItem(pq,e);}
this.onNewDb=function(_n,e){_core.editor.navigator.doNewItem(qq,e);}
this.onNewClassPackage=function(_n,e){_core.editor.navigator.addNewPackage(IConstant.JS_TYPE_CLASS_PACKAGE);}
this.onNewDbPackage=function(_n,e){_core.editor.navigator.addNewPackage(IConstant.JS_TYPE_DATABASE_PACKAGE);}
this.refresh=function(){var no;if(self.editor.canvasTabPanel){no=false;}
else{no=true;}
rq.setDisabled(no);}
}
function ContextMenuCanvasPalette(){this.contextMenuEditor=ContextMenuEditor;this.contextMenuEditor();var self=this;this.initItems=function(){self.addItem('Back',_core.editor,'doBack','back.gif');self.addSeparator();self.addItem('Refresh',_core.editor,'doRefresh','refresh.gif');self.addSeparator();self.addItem('Logoff',_core.editor,'doLogoff');self.addSeparator();self.addItem('Chat',_core.editor,'doOpenBlog','dragon_head.gif');self.addSeparator();self.addItem('My Preference',self,'onPreference','preference.gif',true);self.addSeparator();self.addItem('Help',self,'onHelp','help.gif');self.addSeparator();self.addItem('About Pointdragon',self,'onAbout');}
this.onHelp=function(_n,e){_core.showHelp('palette.html');}
}
function ContextMenuNode(){this.contextMenu=ContextMenu;this.contextMenu();var self=this;this.node;this.item;var eq;this.isTopLevelEditable=function(){return self.canvas.isDeletableNode(self.node);}
this.createDeleteItem=function(){eq=new MenuItem(self,'Delete',self,'onDelete','delete.gif',true);return eq;}
this.createPropertiesItem=function(){var lb=new MenuItem(self,'Properties',self,'onProperties');lb.isPropery=true;return lb;}
this.onProperties=function(){self.editor.openPropertyDialog(self.node);}
this.postOpen=function(){if(this.item&&this.item.domNodeRoot){Core.appendClassName(this.item.domNodeRoot,vq());}
}
this.postClose=function(){if(this.item&&this.item.domNodeRoot){Core.removeClassName(this.item.domNodeRoot,vq());}
}
function vq(){if(self.item&&self.item.node&&self.item.node.isField()){return'eCanvasNodeRightClickField';}
return'eCanvasNodeRightClick';}
this.createSelectAllChildrenItem=function(){var lb=new MenuItem(self,'Select All Children',self,'onSelectAllChildren');return lb;}
this.onSelectAllChildren=function(){var ab=self.canvas;ab.selectionNode.unSelectNodeAll();var ce=self.node.children;for(var mb in ce){var oc=ce[mb];var lb=ab.getItem(oc);ab.selectionNode.selectNode(lb);}
}
this.createSortAllChildrenItem=function(){var lb=new MenuItem(self,"Reorder All Children",self,'onSortAllChildren');return lb;}
this.onSortAllChildren=function(){var ab=self.canvas;ab.selectionNode.unSelectNodeAll();var ce=self.node.children;var wq=new Array();var xq=new Array();for(var mb in ce){var oc=ce[mb];var lb=ab.getItem(oc);var yq=lb.getLayout().y;wq[yq]=oc;xq[xq.length]=yq;}
var zq=xq.sort(this.compareAscending);var $q='';var pc=_core.editor.getHttp('updateDisplayOrder',self,'onSortPerformed');for(var i=0;i<zq.length;i++){var _q=zq[i];var fh=wq[_q];$q=$q+pc.nodeToId(fh)+',';fh.displayOrder=i+1;ab.selectionNode.selectNode(ab.getItem(fh));}
$q=$q.substring(0,$q.length-1);pc.addParameter('pmBeginTrans','yes');pc.addParameter('nodeIds',$q);pc.call();}
this.onSortPerformed=function(){var ar=self.canvas.selectionNode.getSelectedNodes();for(var i=0;i<ar.length;i++){var qh=ar[i];if(qh!=null){qh.node.isPropertyLoaded=false;if(qh.domNodeRoot){qh.domNodeRoot.setAttribute('title',qh.node.displayOrder);}
}
}
}
var br;var cr;var dr;var er;var fr;var gr;var hr;var ir;var jr;var kr;var lr;this.createAlignmentMenu=function(){br=new ContextMenu();cr=br.addItem('Align Left',self,'onAlignLeft',null,false);dr=br.addItem('Align Right',self,'onAlignRight',null,false);er=br.addItem('Align Center',self,'onAlignCenter',null,false);br.addSeparator();fr=br.addItem('Align Top',self,'onAlignTop',null,false);gr=br.addItem('Align Bottom',self,'onAlignBottom',null,false);hr=br.addItem('Align Middle',self,'onAlignMiddle',null,false);br.addSeparator();ir=br.addItem('Space Horizontally',self,'onSpaceHorizontal',null,false);jr=br.addItem('Space Vertically',self,'onSpaceVertical',null,false);br.addSeparator();kr=br.addItem('Same Width',self,'onSameWidth',null,false);lr=br.addItem('Same Height',self,'onSameHeight',null,false);return br;}
this.onAlignLeft=function(e){var ar=self.canvas.selectionNode.getSelectedNodes();var mr=self.item.getLayout().x;self.initAlignmentHTTP();for(var i=0;i<ar.length;i++){var qh=ar[i];if(qh==null)continue;qh.getLayout().x=mr;this.saveAlignment(qh);self.canvas.refreshDisplay(qh.node);qh.node.updateEdgeFromTo(self.canvas);qh.highlight();}
self.sendAlignment();}
this.onAlignRight=function(){var ar=self.canvas.selectionNode.getSelectedNodes();var nr=self.item.getLayout().x+self.item.getLayout().width;self.initAlignmentHTTP();for(var i=0;i<ar.length;i++){var qh=ar[i];if(qh==null)continue;qh.getLayout().x=nr-qh.getLayout().width;this.saveAlignment(qh);self.canvas.refreshDisplay(qh.node);qh.node.updateEdgeFromTo(self.canvas);qh.highlight();}
self.sendAlignment();}
this.onAlignCenter=function(){var ar=self.canvas.selectionNode.getSelectedNodes();var or=self.item.getLayout().x+self.item.getLayout().width/2;self.initAlignmentHTTP();for(var i=0;i<ar.length;i++){var qh=ar[i];if(qh==null)continue;qh.getLayout().x=or-qh.getLayout().width/2;this.saveAlignment(qh);self.canvas.refreshDisplay(qh.node);qh.node.updateEdgeFromTo(self.canvas);qh.highlight();}
self.sendAlignment();}
this.onAlignTop=function(){var ar=self.canvas.selectionNode.getSelectedNodes();var pr=self.item.getLayout().y;self.initAlignmentHTTP();for(var i=0;i<ar.length;i++){var qh=ar[i];if(qh==null)continue;qh.getLayout().y=pr;this.saveAlignment(qh);self.canvas.refreshDisplay(qh.node);qh.node.updateEdgeFromTo(self.canvas);qh.highlight();}
self.sendAlignment();}
this.onAlignBottom=function(){var ar=self.canvas.selectionNode.getSelectedNodes();var qr=self.item.getLayout().y+self.item.getLayout().height;self.initAlignmentHTTP();for(var i=0;i<ar.length;i++){var qh=ar[i];if(qh==null)continue;qh.getLayout().y=qr-qh.getLayout().height;this.saveAlignment(qh);self.canvas.refreshDisplay(qh.node);qh.node.updateEdgeFromTo(self.canvas);qh.highlight();}
self.sendAlignment();}
this.onAlignMiddle=function(){var ar=self.canvas.selectionNode.getSelectedNodes();var rr=self.item.getLayout().y+self.item.getLayout().height/2;self.initAlignmentHTTP();for(var i=0;i<ar.length;i++){var qh=ar[i];if(qh==null)continue;qh.getLayout().y=rr-qh.getLayout().height/2;this.saveAlignment(qh);self.canvas.refreshDisplay(qh.node);qh.node.updateEdgeFromTo(self.canvas);qh.highlight();}
self.sendAlignment();}
this.onSpaceHorizontal=function(){var ah=-1;var ch=-1;var sr=0;var ar=self.canvas.selectionNode.list;var tr=new Array();var ur=new Array();for(var mb in ar){var oc=ar[mb];if(oc==null){continue;}
sr+=oc.getLayout().width;var vr=oc.getLayout().x;var wr=vr+oc.getLayout().width;if(ah==-1||ah>vr){ah=vr;}
if(ch==-1||ch<wr){ch=wr;}
tr[vr]=oc;ur[ur.length]=vr;}
var xr=ch-ah;var yr=(xr-sr)/(zr-1);var $r=ah;var _r=ur.sort(this.compareAscending);self.initAlignmentHTTP();for(var i=0;i<_r.length;i++){var as=_r[i];var oc=tr[as];oc.getLayout().x=$r;$r=$r+oc.getLayout().width+yr;this.saveAlignment(oc);self.canvas.refreshDisplay(oc.node);oc.node.updateEdgeFromTo(self.canvas);oc.highlight();}
self.sendAlignment();}
this.onSpaceVertical=function(){var bh=-1;var dh=-1;var bs=0;var ar=self.canvas.selectionNode.list;var cs=new Array();var xq=new Array();for(var mb in ar){var oc=ar[mb];if(oc==null){continue;}
bs+=oc.getLayout().height;var ds=oc.getLayout().y;var es=ds+oc.getLayout().height;if(bh==-1||bh>ds){bh=ds;}
if(dh==-1||dh<es){dh=es;}
cs[ds]=oc;xq[xq.length]=ds;}
var fs=dh-bh;var gs=(fs-bs)/(zr-1);var hs=bh;var zq=xq.sort(this.compareAscending);self.initAlignmentHTTP();for(var i=0;i<zq.length;i++){var _q=zq[i];var oc=cs[_q];oc.getLayout().y=hs;hs=hs+oc.getLayout().height+gs;this.saveAlignment(oc);self.canvas.refreshDisplay(oc.node);oc.node.updateEdgeFromTo(self.canvas);oc.highlight();}
self.sendAlignment();}
this.onSameWidth=function(){var ar=self.canvas.selectionNode.getSelectedNodes();var is=self.item.getLayout().width;self.initAlignmentHTTP();for(var i=0;i<ar.length;i++){var qh=ar[i];if(qh==null)continue;qh.getLayout().width=is;this.saveAlignment(qh);self.canvas.refreshDisplay(qh.node);qh.node.updateEdgeFromTo(self.canvas);qh.highlight();}
self.sendAlignment();}
this.onSameHeight=function(){var ar=self.canvas.selectionNode.getSelectedNodes();var js=self.item.getLayout().height;self.initAlignmentHTTP();for(var i=0;i<ar.length;i++){var qh=ar[i];if(qh==null)continue;qh.getLayout().height=js;this.saveAlignment(qh);self.canvas.refreshDisplay(qh.node);qh.node.updateEdgeFromTo(self.canvas);qh.highlight();}
self.sendAlignment();}
this.compareAscending=function(a,b){return a-b;}
var ks;this.initAlignmentHTTP=function(){ks=_core.editor.getHttp('saveLayouts',self,'saveLayoutsReady');ks.addParameter('pmBeginTrans','yes');}
this.saveAlignment=function(qh){ks.node=qh.node;var $c=_core.editor.JSON().objectToJSONStr(qh.getLayout());var rc=ks.nodeToId(qh.node);ks.addParameter('nodeIds',rc);ks.addParameter('layoutChanges',$c);}
this.saveLayoutsReady=function(sc,pc){window.status=pc.dbNode.message;}
this.sendAlignment=function(){ks.call();ks=null;}
var zr;this.refreshAlignmentMenu=function(){if(!br){return;}
var no=false;if(self.isTopLevelEditable()){var ar=self.canvas.selectionNode.list;zr=0;var parent=null;for(var mb in ar){var oc=ar[mb];if(oc!=null){zr++;if(parent==null){parent=oc.node.parent;}
else{var ls=oc.node.parent;if(parent!=ls){no=true;}
}
}
}
if(zr<=1){no=true;}
}
else
no=true;cr.setDisabled(no);dr.setDisabled(no);er.setDisabled(no);fr.setDisabled(no);gr.setDisabled(no);hr.setDisabled(no);ir.setDisabled(no);jr.setDisabled(no);kr.setDisabled(no);lr.setDisabled(no);}
this.createAddEdgeItem=function(){var lb=new MenuItem(self,'Add Action',self,'onAddEdge','edge.gif');return lb;}
this.onAddEdge=function(_n,e){var _j=new NodeEdgeTerminals(self.canvas,self.item);_j.canvas=self.canvas;var aq=self.getRightClickLocation();e={'clientX':aq.x,'clientY':aq.y}
;var kj=new Action();kj.nodeType=_core.findNodeType(IConstant.JS_TYPE_EDGE);self.canvas.editor.setActionNewNode(kj);_j.doMouseDown(null,e,self.item);self.canvas.newEdgeIgnoreFirstEvent=true;_j.doMouseUp(null,e,self.item);}
this.createShowAllActionsSubMenu=function(){var nn=new ContextMenuNode();nn.add(self.createShowAllActions('From',nn));nn.add(self.createShowAllActions('To',nn));nn.add(self.createShowAllActions('All',nn));nn.addItem('Clear All Highlights',self,'clearAllHighlights');return nn;}
this.createShowAllActions=function(bb,jj){var ms=(bb=='From')?'Outgoing':(bb=='To')?'Incoming':'All';var lb=new MenuItem(jj,'Show '+ms+' Actions',self,'onShowAllActions');lb.type=bb;return lb;}
this.onShowAllActions=function(_n,e,wn){self.canvas.deHighlightAllActions();self.canvas.makeTopLevelVisible(self.node);var kg=Core.nodeToId(self.node);var we=[];if(wn.type=='From'||wn.type=='All'){var ye=self.canvas.getFromEdges(kg);self.canvas.highlightActions(ye,'To',self,'showToActions',wn);}
else
self.showToActions(wn);}
this.showToActions=function(wn){var kg=Core.nodeToId(self.node);if(wn.type=='To'||wn.type=='All'){var ze=self.canvas.getToEdges(kg);self.canvas.highlightActions(ze,'From');}
}
this.clearAllHighlights=function(){self.canvas.deHighlightAllActions();}
}
function ContextMenuCanvasNode(){this.contextMenuNode=ContextMenuNode;this.contextMenuNode();var self=this;this.isShowLocationCross=true;this.canvas;this.onDelete=function(){var kb=self.getSelectedItems();if(kb.length<1){kb[0]=self.item;}
self.editor.deleteItems(kb,false,this.canvas);}
}
function ContextMenuCanvasNodeOperation(){this.contextMenuCanvasNode=ContextMenuCanvasNode;this.contextMenuCanvasNode();var self=this;var ns;var os;var ps;var qs;var eq;this.initItems=function(){self.createWizardSubMenu(IConstant.JS_TYPE_OPERATION);if(self.items.length>0){self.addSeparator();}
self.add(self.createPropertiesItem());self.addSeparator();self.add(self.createCopyItem());self.add(self.createPasteItem());self.addSeparator();rs=self.createAlignmentMenu();self.addMenu(rs,'Align');self.addSeparator();eq=self.createDeleteItem();self.add(eq);self.addSeparator();ns=self.addItem('Run',self,'onRun','user.gif',true);os=self.addItem('Debug',self,'onDebug','bug.png',true);self.addSeparator();ps=self.addItem('Display Control',self,'onDisplayControl','data_display.gif',true);qs=self.addItem('WYSWYG Editor',self,'onWyswyg',null,true);self.addSeparator();self.addMenu(self.createShowAllActionsSubMenu(),'Display Actions');self.add(self.createShowSourceItem());self.add(self.createFindReferencesItem());self.addItem('Find Calls',self,'onFindCalls');}
this.onRun=function(_n,e){var yf=_core.toRunOpUrl(self.item.node);self.canvas.editor.savePref(self.canvas);window.location.href=yf;}
this.onDebug=function(_n,e){var yf=_core.toRunOpUrl(self.item.node);yf+='&debug=true';self.canvas.editor.savePref(self.canvas);_core.openInIframeWindow('Debug '+self.item.node.name,yf);}
this.onDisplayControl=function(_n,e){var yf=_core.toRunOpUrl(self.item.node);yf+='&editDisplayProperty=true';self.canvas.editor.savePref(self.canvas);window.location.href=yf;}
this.onWyswyg=function(_n,e){var yf=_core.toRunOpUrl(self.item.node);yf+='&editStyle=true';self.canvas.editor.savePref(self.canvas);window.location.href=yf;}
this.refresh=function(){var no;if(self.item.node.isStartOp==true){no=false;}
else{no=true;}
ns.setDisabled(no);os.setDisabled(no);ps.setDisabled(no);qs.setDisabled(no);this.refreshCopyCutItem();var ss=self.isTopLevelEditable();if(ss){eq.setDisabled(false);}
else{eq.setDisabled(true);}
this.refreshAlignmentMenu();}
this.onFindCalls=function(){var bo=new Search(self.editor);bo.findCalls(self.item);}
}
function ContextMenuCanvasNodeProcess(){this.contextMenuCanvasNode=ContextMenuCanvasNode;this.contextMenuCanvasNode();var self=this;var dq;var ns;var os;var eq;this.initItems=function(){ns=self.addItem('Run',self,'onRun','run.gif',true);os=self.addItem('Debug',self,'onDebug','run.gif',true);self.addSeparator();rs=self.createAlignmentMenu();self.addMenu(rs,'Align');self.addSeparator();eq=self.createDeleteItem();self.add(eq);eq.setDisabled(false);self.addSeparator();self.add(self.createPropertiesItem());self.addSeparator();dq=_core.findNodeType(IConstant.JS_TYPE_EDGE);nn=new ContextMenu();nn.addItem(dq.name+'s',self,'onViewEdges');self.addMenu(nn,'View');}
this.onRun=function(_n,e){var yf=_core.toRunProcessUrl(self.node);window.location.href=yf;}
this.onDebug=function(_n,e){var yf=_core.toRunProcessUrl(self.item.node);_core.openInIframeWindow('Debug '+self.node.name,yf);}
this.onViewEdges=function(_n,e){var oc=self.node;var yf=_core.toViewAllLinksUrl(oc);_core.openInIframeWindow(oc.name+' '+dq.name+'s',yf);}
this.refresh=function(){var no=!self.node.isWorkflow;ns.setDisabled(no);os.setDisabled(no);this.refreshAlignmentMenu();}
}
function ContextMenuCanvasNodeProcessMenuList(){this.contextMenuCanvasNode=ContextMenuCanvasNode;this.contextMenuCanvasNode();var self=this;var eq;this.initItems=function(){rs=self.createAlignmentMenu();self.addMenu(rs,'Align');self.addSeparator();eq=self.createDeleteItem();self.add(eq);eq.setDisabled(false);self.addSeparator();self.add(self.createPropertiesItem());self.addSeparator();self.add(self.createHelpItem('menulist.html'));}
}
function ContextMenuCanvasNodeTemplate(){this.contextMenuCanvasNode=ContextMenuCanvasNode;this.contextMenuCanvasNode();var self=this;var ts;var kq;var us;var vs;var ws;var xs;var ys;var eq;var zs;var $s;this.initItems=function(){ts=_core.findNodeType(IConstant.JS_TYPE_DATAELEMENT);kq=_core.findNodeType(IConstant.JS_TYPE_DATAARRAY);us=_core.findNodeType(IConstant.JS_TYPE_DATAGROUP);var nn=new ContextMenu();ws=nn.addItem(_s(),self,'onNewField',ts.iconSrc);xs=nn.addItem(kq.name,self,'onNewArray',kq.iconSrc);ys=nn.addItem(us.name,self,'onNewDataGroup',us.iconSrc);vs=self.addMenu(nn,'New');self.createWizardSubMenu(IConstant.JS_TYPE_DATAFILE);self.addSeparator();rs=self.createAlignmentMenu();self.addMenu(rs,'Align');self.addSeparator();self.add(self.createPropertiesItem());self.addSeparator();self.add(self.createSelectAllChildrenItem());zs=self.createSortAllChildrenItem();self.add(zs);self.addSeparator();self.add(self.createCopyItem());self.add(self.createCopyWithDispItem());self.add(self.createPasteItem());self.addSeparator();eq=self.createDeleteItem();self.add(eq);self.addSeparator();self.addItem('Run Query',self,'onRunTableQuery');self.addSeparator();nn=new ContextMenu();nn.addItem('Text Description',self,'onAsTable');self.addMenu(nn,'View');self.addMenu(self.createShowAllActionsSubMenu(),'Display Actions');}
this.onRunTableQuery=function(){var yf='dataManagement.do?action=view&templateId='+self.node.fullName;window.location.href=yf;}
function _s(){var name;if(self.canvas&&self.canvas.rootNode.isDatabase()&&self.canvas.isCanvasTopLevel(self.node)){name=ts.withinArrayName;}
else{name=ts.withinTemplateName;}
return name;}
this.onNewField=function(_n,e){self.editor.addNewNode(self.canvas,ts.typeId,false,self.item.node,e,self.getRightClickLocation(),null,_s());}
this.onNewArray=function(_n,e){self.editor.addNewNode(self.canvas,kq.typeId,false,self.item.node,e,self.getRightClickLocation(),null,kq.name);}
this.onNewDataGroup=function(_n,e){self.editor.addNewNode(self.canvas,us.typeId,false,self.item.node,e,self.getRightClickLocation(),null,us.name);}
var at;this.onAsTable=function(_n,e){if(!at){var mi=self.item.node.name;var yf='editMetatdata.do';at=new DialogIframe(mi,yf);at.init();at.setParameter('action','view');at.setParameter('bodyOnly','true');}
at.setParameter('templateId',self.item.node.fullName);at.open();at.load();}
this.refresh=function(){var ss=self.isTopLevelEditable();this.refreshCopyCutItem();this.refreshPasteItem();if(ss){vs.setDisabled(false);ws.setDisabled(false);xs.setDisabled(false);ys.setDisabled(false);eq.setDisabled(false);zs.setDisabled(false);self.setWizardsDisabled(false);}
else{vs.setDisabled(true);ws.setDisabled(true);xs.setDisabled(true);ys.setDisabled(true);eq.setDisabled(true);zs.setDisabled(true);self.setWizardsDisabled(true);}
this.refreshAlignmentMenu();}
this.isPasteOkay=function(yn){var op=yn.fromCanvas;var kb=yn.items;for(var i=0;i<kb.length;i++){var lb=kb[i];if(!TypeUtil.isDataNode(lb.node)){return false;}
}
return true;}
}
function ContextMenuCanvasNodeTemplateRef(){this.contextMenuCanvasNode=ContextMenuCanvasNode;this.contextMenuCanvasNode();var self=this;var eq;this.initItems=function(){rs=self.createAlignmentMenu();self.addMenu(rs,'Align');self.addSeparator();eq=self.createDeleteItem();eq.setDisabled(false);self.add(eq);self.addSeparator();self.add(self.createPropertiesItem());self.addMenu(self.createShowAllActionsSubMenu(),'Display Actions');self.add(self.createShowSourceItem());}
this.refresh=function(){this.refreshAlignmentMenu();}
}
function ContextMenuCanvasNodeField(){this.contextMenuCanvasNode=ContextMenuCanvasNode;this.contextMenuCanvasNode();var self=this;this.opNode;var ts;var bt,ct;var eq;this.initItems=function(){ts=_core.typeUtil.fieldType;self.typeMenu=new TypeSubMenu();self.typeMenu.initItems();self.typeMenu.parentMenu=self;self.addMenu(self.typeMenu,'Data Type');self.addSeparator();rs=self.createAlignmentMenu();self.addMenu(rs,'Align');self.addSeparator();self.add(self.createPropertiesItem());self.addSeparator();self.add(self.createCopyItem());self.add(self.createCopyWithDispItem());self.addSeparator();eq=self.createDeleteItem();self.add(eq);self.addSeparator();bt=self.addItem('Set Computed',self,'onComputed',null,true);self.addSeparator();ct=self.addItem('File Upload',self,'onFileUpload',null,true);self.addMenu(self.createShowAllActionsSubMenu(),'Display Actions');}
this.onFileUpload=function(){var pc=new HTTP();var dt=self.canvas.getTopLevelNode(self.item.node);var yf='fileUpload.do?';yf+='action=view';yf+='&fromCab=true';yf+='&fileFieldNodeId='+pc.nodeToId(self.item.node);yf+='&header='+self.item.node.name;yf+='&templateId='+encodeURIComponent(dt.fullName);yf+='&primitiveDataId='+encodeURIComponent(self.item.node.fullName);yf+='&bodyOnly=true';yf+='&dummy='+new Date().getTime();_core.openInIframeWindow('File Upload',yf);}
this.refresh=function(){var ss=self.isTopLevelEditable();var no;if(self.item.node.isComputed){no=false;}
else{no=true;var ao=self.canvas.selectionNode.list;for(var mb in ao){var lb=ao[mb];if(!lb){continue;}
var oc=lb.node;if(oc.isComputed){no=false;break;}
}
}
bt.setDisabled(no);self.refreshCopyCutItem();if(ss){eq.setDisabled(false);}
else{eq.setDisabled(true);}
this.refreshAlignmentMenu();if(self.node.isFile){ct.setDisabled(false);}
else{ct.setDisabled(true);}
this.typeMenu.refresh();}
this.onComputed=function(){var sd=new Array();var et=null;var ao=self.canvas.selectionNode.list;var ft;if(self.item.node.isComputed){et=self.item.node;for(var mb in ao){var lb=ao[mb];if(!lb||!lb.node){continue;}
var oc=lb.node;if(oc.id!=et.id){sd[sd.length]=oc;}
}
}
else{for(var mb in ao){var lb=ao[mb];if(!lb||!lb.node){continue;}
var oc=lb.node;if(oc.isComputed){if(et){ft=true;sd[sd.length]=oc;}
else{et=oc;}
}
else{sd[sd.length]=oc;}
}
}
if(et==null){_core.showMessage('Message','Please select at least one computed field');return;}
if(ft){var confirm=_core.getConfirmWindow();var t='There are more than one computed fields in the selection. <br/>'+'The first one selected is "'+et.getFullUserNameForData()+'" and will be used as the computed.<br/><br/>';confirm.setOkayButtonCallback(self,'onConfirmClickOkay');confirm.setMessage(t);confirm.computedNodes=sd;confirm.computedNode=et;confirm.open();confirm.moveToCenter();}
else{gt(et,sd);}
}
this.onConfirmClickOkay=function(){var confirm=_core.getConfirmWindow();gt(confirm.computedNode,confirm.computedNodes);}
this.computedFormulaLoadedCallBack;this.setComputedFormulaLoadedCallBack=function(sh,dj){if(self.computedFormulaLoadedCallBack){self.computedFormulaLoadedCallBack.cbObject=sh;self.computedFormulaLoadedCallBack.cbName=dj;}
else{self.computedFormulaLoadedCallBack=new CallBack(sh,dj);}
}
this.clearComputedFormulaLoadedCallBack=function(){self.computedFormulaLoadedCallBack=undefined;}
var ht;function gt(et,sd){if(!ht){ht=new DialogComputed(self.canvas);ht.init();}
ht.canvas=self.canvas;ht.computedNode=et;ht.nodes=sd;ht.setFormulaLoadedCallBack(self.computedFormulaLoadedCallBack);ht.open();}
this.getComputedWindow=function(){return ht;}
}
function TypeSubMenu(){this.contextMenuCanvasNode=ContextMenuCanvasNode;this.contextMenuCanvasNode();var self=this;this.initItems=function(){var ts=_core.typeUtil.fieldType;var it=ts.properties[IConstant.DATA_TYPE_PROPERTY_NAME];var jt=it.options;for(var i=0;i<jt.length;i++){var kt=jt[i];var lb=self.addItem(kt.v,self,'onChangeTypeTo');lb.typeValue=kt.k;}
}
this.onChangeTypeTo=function(nb,e,lb){var oc=self.parentMenu.item.node;var tj=oc.getPropertySource();var lt='0';if(tj.properties[IConstant.DATA_TYPE_PROPERTY_NAME]){lt=tj.properties[IConstant.DATA_TYPE_PROPERTY_NAME].value;}
tj.addChangedProperty(IConstant.DATA_TYPE_PROPERTY_NAME,lt,lb.typeValue+'');tj.saveProperty();}
this.refresh=function(){if(self.checked)self.checked.setImage();var oc=self.parentMenu.node;self.propSource=self.parentMenu.node.getPropertySource();if(!oc.isPropertyLoaded){self.propSource.loadProperty(self,'propertyReady');}
else
self.propertyReady();}
this.propertyReady=function(){var bb=self.propSource.properties[IConstant.DATA_TYPE_PROPERTY_NAME].value;var ss=self.parentMenu.isTopLevelEditable();for(var i in self.items){var lb=self.items[i];lb.setDisabled(!ss);if(lb.typeValue==bb){lb.setImage('checked.gif');self.checked=lb;}
}
}
}
function ContextMenuCanvasNodeArray(){this.contextMenuCanvasNode=ContextMenuCanvasNode;this.contextMenuCanvasNode();var self=this;var ts;var kq;var us;var vs;var ws;var xs;var ys;var eq;this.initItems=function(){ts=_core.typeUtil.fieldType;kq=_core.typeUtil.arrayType;us=_core.typeUtil.groupType;var nn=new ContextMenu();ws=nn.addItem(ts.withinArrayName,self,'onNewField',ts.iconSrc);xs=nn.addItem(kq.name,self,'onNewArray',kq.iconSrc);ys=nn.addItem(us.name,self,'onNewGroup',us.iconSrc);vs=self.addMenu(nn,'New');self.createWizardSubMenu(IConstant.JS_TYPE_DATAARRAY);self.addSeparator();self.add(self.createPropertiesItem());self.addSeparator();self.add(self.createCopyItem());self.add(self.createCopyWithDispItem());self.add(self.createPasteItem());self.addSeparator();self.add(self.createSelectAllChildrenItem());zs=self.createSortAllChildrenItem();self.add(zs);self.addSeparator();rs=self.createAlignmentMenu();self.addMenu(rs,'Align');self.addSeparator();eq=self.createDeleteItem();self.add(eq);self.addSeparator();self.addMenu(self.createShowAllActionsSubMenu(),'Display Actions');}
this.onNewField=function(_n,e){self.editor.addNewNode(self.canvas,ts.typeId,false,self.item.node,e,self.getRightClickLocation(),null,ts.withinArrayName);}
this.onNewArray=function(_n,e){self.editor.addNewNode(self.canvas,kq.typeId,false,self.item.node,e,self.getRightClickLocation());}
this.onNewGroup=function(_n,e){self.editor.addNewNode(self.canvas,us.typeId,false,self.item.node,e,self.getRightClickLocation(),null,us.name);}
this.refresh=function(){var ss=self.isTopLevelEditable();if(ss){vs.setDisabled(false);ws.setDisabled(false);xs.setDisabled(false);ys.setDisabled(false);eq.setDisabled(false);zs.setDisabled(false);self.setWizardsDisabled(false);}
else{vs.setDisabled(true);ws.setDisabled(true);xs.setDisabled(true);ys.setDisabled(true);eq.setDisabled(true);zs.setDisabled(true);self.setWizardsDisabled(true);}
this.refreshAlignmentMenu();this.refreshCopyCutItem();this.refreshPasteItem();}
this.isPasteOkay=function(yn){var op=yn.fromCanvas;var kb=yn.items;for(var i=0;i<kb.length;i++){var lb=kb[i];if(!TypeUtil.isDataNode(lb.node)){return false;}
}
return true;}
}
function ContextMenuEdge(){this.contextMenuCanvasNode=ContextMenuCanvasNode;this.contextMenuCanvasNode();var self=this;this.opNode;this.initItems=function(){self.typeSubmenu=new EdgeTypeSubMenu();self.typeSubmenu.initItems();self.typeSubmenu.parentMenu=self;self.typeItem=self.addMenu(self.typeSubmenu,'Type');nn=new ContextMenu();nn.addItem('Detail',self,'onViewDetail');self.addMenu(nn,'View');self.addSeparator();self.addItem('Add Condition',self,'onAddCondition');self.addSeparator();var mt=self.createDeleteItem();self.add(mt);mt.setDisabled(false);self.addBreakpointMenu();self.addSeparator();self.add(self.createPropertiesItem());}
this.addBreakpointMenu=function(){var nn=new ContextMenu();self.addBPItem=nn.addItem('Add Breakpoint',self,'onAddBreakpoint');self.removeBPItem=nn.addItem('Remove Breakpoint',self,'onRemovebreakpoint');self.showAllBPItem=nn.addItem('Show All Breakpoints',self,'onShowAllBreakpoints');nn.addItem('Clear All Breakpoints',self,'onClearAllBreakpoints');self.breakpointMenu=self.addMenu(nn,'Breakpoint');}
this.loadPropertyReady=function(){var gd=self.edge;var tj=gd.getPropertySource();var nt=tj.properties[IConstant.TYPE_PROPERTY_NAME];var jt=nt.options;var ln=(jt&&jt.length)?jt.length:0;for(var i=0;i<ln;i++){var kt=jt[i];var lb=self.typeSubmenu.addItem(kt.v,self,'onChangeTypeTo');lb.typeValue=kt.k;}
var ot=self.typeSubmenu.table;while(ot.hasChildNodes()){ot.removeChild(ot.firstChild);}
self.typeSubmenu.subclassInit();if(ln==0){self.typeMenuItem.setDisabled(true);}
else{self.typeMenuItem.setDisabled(false);}
}
this.onChangeTypeTo=function(nb,e,lb){var gd=self.edge;var tj=gd.getPropertySource();var lt='0';if(tj.properties[IConstant.TYPE_PROPERTY_NAME]){lt=tj.properties[IConstant.TYPE_PROPERTY_NAME].value;}
tj.addChangedProperty(IConstant.TYPE_PROPERTY_NAME,lt,lb.typeValue+'');tj.saveProperty();}
var pt;this.onViewDetail=function(_n,e){if(!pt){var mi=self.edge.name;var yf='editEvent.do';pt=new DialogIframe(mi,yf);pt.init();pt.setParameter('action','view');pt.setParameter('bodyOnly','true');}
pt.setParameter('processId',self.canvas.rootNode.fullName);pt.setParameter('eventName',self.edge.name);pt.open();pt.load();}
this.onDelete=function(){var we=new Array();we[0]=self.edge;self.canvas.selectionEdge.doDelete();}
this.onAddCondition=function(_n,e){if(!self.edge.line)return;var aq=self.getRightClickLocation();var e={'clientX':aq.x,'clientY':aq.y}
;var pb=Core.offsetFrom(e,self.canvas.domCanvasRoot);self.edge.line.addCondition(pb);}
this.refresh=function(){self.typeSubmenu.refresh();if(self.edge.type==IConstant.EDGE_MOVE_TO){if(self.edge.toBreakpoint){self.addBPItem.setDisabled(true);self.removeBPItem.setDisabled(false);}
else{self.addBPItem.setDisabled(false);self.removeBPItem.setDisabled(true);}
}
else{self.addBPItem.setDisabled(true);self.removeBPItem.setDisabled(true);}
}
this.onAddBreakpoint=function(_n,e){this.setBreakpoint('add');this.edge.addBreakpoint('to',self.canvas);}
this.onRemovebreakpoint=function(_n,e){self.setBreakpoint('remove');self.edge.removeBreakpoint('to');}
this.setBreakpoint=function(qt){var pc=self.editor.getHttp('setBreakpoint',self,'setBreakpointReady');pc.addParameter('edgeIds',self.edge.name);pc.addParameter('breakpointAction',qt);pc.addParameter('pmBeginTrans','yes');pc.addParameter('canvasRootNodeId',self.canvas.rootNode.fullName);pc.node=self.canvas.rootNode;pc.call();}
this.setBreakpointReady=function(sc,pc){}
this.onShowAllBreakpoints=function(){var bo=new Search(self.editor);bo.showAllBreakpoints();}
this.onClearAllBreakpoints=function(){self.editor.breakpointManager.clearAllDisplayedBreakpoints(self.editor);}
}
function EdgeTypeSubMenu(){this.contextMenuCanvasNode=ContextMenuCanvasNode;this.contextMenuCanvasNode();var self=this;this.propCategories=[];this.initItems=function(){}
this.onChangeTypeTo=function(nb,e,lb){var gd=self.parentMenu.edge;var tj=gd.getPropertySource();var lt='0';if(tj.properties[IConstant.TYPE_PROPERTY_NAME]){lt=tj.properties[IConstant.TYPE_PROPERTY_NAME].value;}
tj.addChangedProperty(IConstant.TYPE_PROPERTY_NAME,lt,lb.typeValue+'');tj.saveProperty();}
this.refresh=function(){var gd=self.parentMenu.edge;self.propSource=gd.getPropertySource();if(!gd.isPropertyLoaded){self.propSource.loadProperty(self,'propertyReady');}
else
self.propertyReady();}
this.propertyReady=function(){var nt=self.propSource.properties[IConstant.TYPE_PROPERTY_NAME];var gd=self.parentMenu.edge;var rt=[];var jt=nt.options;if(!jt||jt.length==0){self.parentMenu.typeItem.setDisabled(true);}
else
self.parentMenu.typeItem.setDisabled(false);var ln=(jt&&jt.length)?jt.length:0;for(var i=0;i<ln;i+=1){var kt=jt[i];if(!self.propCategories[gd.propertyCategory]){var lb=self.addItem(kt.v,self,'onChangeTypeTo');lb.typeValue=kt.k;if(self.table)lb.init();}
rt[kt.v]=true;}
if(ln==0){var al=nt.value;if(!self.propCategories[al]){var lb=self.addItem(al);lb.setDisabled(true);lb.typeValue=al;if(self.table)lb.init();self.propCategories[al]=true;}
rt[al]=true;}
else
self.propCategories[gd.propertyCategory]=true;var bb=nt.value;if(typeof bb=='string'){var st=Core.findSelectIndexByName(jt,bb);if(st>-1)bb=st;}
for(var i in self.items){var lb=self.items[i];if(rt[lb.label])lb.show();else
lb.hide();if(lb.typeValue==bb){lb.setImage('checked.gif');}
else
lb.setImage();}
if(_core.isIE&&self.table){var ot=self.table;}
}
}
function ContextMenuTreeNode(){this.contextMenuNode=ContextMenuNode;this.contextMenuNode();var self=this;this.tree;this.createOpenCanvasItem=function(){var lb=new MenuItem(self,'Open ...',self,'onOpenCanvas');return lb;}
this.onOpenCanvas=function(){self.tree.doOpenCanvasOnly(self.node);}
this.createExpandAllItem=function(){var lb=new MenuItem(self,'Expand',self,'onExpandAll','plus.gif');return lb;}
this.createCollapseAllItem=function(){var lb=new MenuItem(self,'Collapse',self,'onCollapseAll','minus.gif');return lb;}
this.createExportItem=function(){var lb=new MenuItem(self,'Export',self,'todo',null,true);return lb;}
this.createImportItem=function(){var lb=new MenuItem(self,'Import',self,'todo',null,true);return lb;}
this.createAuditExportItem=function(){var lb=new MenuItem(self,'Export',self,'onAuditExport');return lb;}
this.onAuditExport=function(){var yf='auditMetaViewExport.do?action=view';_core.openInIframeWindow('Export',yf);}
this.createAuditImportItem=function(){var lb=new MenuItem(self,'Import',self,'onAuditImport');return lb;}
this.onAuditImport=function(){var yf='auditMetaImport.do?action=view';_core.openInIframeWindow('Import',yf);}
this.createReplaceWithItem=function(){var lb=new MenuItem(self,'Replace With',self,'todo',null,true);return lb;}
this.createCompareWithItem=function(){var lb=new MenuItem(self,'Compare With',self,'todo',null,true);return lb;}
this.onDelete=function(){var kb=new Array();kb[0]=self.item;self.editor.deleteItems(kb,true,null);}
this.onExpandAll=function(_n,e){self.tree.expandAllChildren(self.node);}
this.onCollapseAll=function(_n,e){self.tree.closeAllChildren(self.node);}
}
function ContextMenuTreeApp(){this.contextMenuTreeNode=ContextMenuTreeNode;this.contextMenuTreeNode();var self=this;var lq;var tt;this.initItems=function(){lq=_core.findNodeType(IConstant.JS_TYPE_PROCESS);nq=_core.findNodeType(IConstant.JS_TYPE_MENULIST);self.add(self.createOpenCanvasItem());self.addSeparator();tt=self.addItem('Test',self,'onTest','run.gif',false);}
this.onNewProcess=function(_n,e){var bk=new Object();bk.callNodeType=lq;var mq=_core.typeUtil.opType;self.editor.addNewNode(null,IConstant.JS_TYPE_OPERATION,true,self.node,e,null,true,lq.name,bk);}
this.onTest=function(_n,e){new Test(self.node);}
}
function ContextMenuTreeOperation(){this.contextMenuTreeNode=ContextMenuTreeNode;this.contextMenuTreeNode();var self=this;var ns;var os;this.initItems=function(){ns=self.addItem('Run',self,'onRun','run.gif',true);os=self.addItem('Debug',self,'onDebug','run.gif',true);self.addSeparator();self.add(self.createDeleteItem());self.addSeparator();self.add(self.createPropertiesItem());}
this.onRun=function(_n,e){var yf=_core.toRunOpUrl(self.item.node);window.location.href=yf;}
this.onDebug=function(_n,e){var yf=_core.toRunOpUrl(self.item.node);_core.openInIframeWindow('Debug '+self.item.node.name,yf);}
this.refresh=function(){var no;if(self.item.node.isStartOp==true){no=false;}
else{no=true;}
ns.setDisabled(no);os.setDisabled(no);}
}
function ContextMenuTreeTemplate(){this.contextMenuTreeNode=ContextMenuTreeNode;this.contextMenuTreeNode();var self=this;this.initItems=function(){nn=new ContextMenu();nn.addItem('Text Description',self,'onAsTable');self.addMenu(nn,'View');self.addSeparator();self.add(self.createDeleteItem());self.addSeparator();self.add(self.createPropertiesItem());}
var at;this.onAsTable=function(_n,e){if(!at){var mi=self.item.node.name;var yf='editMetatdata.do';at=new DialogIframe(mi,yf);at.init();at.setParameter('action','view');at.setParameter('bodyOnly','true');}
at.setParameter('templateId',self.item.node.fullName);at.open();at.load();}
}
function ContextMenuTreeField(){this.contextMenuTreeNode=ContextMenuTreeNode;this.contextMenuTreeNode();var self=this;this.initItems=function(){self.add(self.createDeleteItem());self.addSeparator();self.add(self.createPropertiesItem());}
}
function ContextMenuTreeArray(){this.contextMenuTreeNode=ContextMenuTreeNode;this.contextMenuTreeNode();var self=this;this.initItems=function(){self.add(self.createDeleteItem());self.addSeparator();self.add(self.createPropertiesItem());}
}
function ContextMenuTreeAppMenu(){this.contextMenuTreeNode=ContextMenuTreeNode;this.contextMenuTreeNode();var self=this;var lq;this.initItems=function(){lq=_core.findNodeType(IConstant.JS_TYPE_PROCESS);nq=_core.findNodeType(IConstant.JS_TYPE_MENULIST);self.add(self.createOpenCanvasItem());self.addSeparator();self.add(self.createExportItem());self.add(self.createImportItem());}
this.onNewProcess=function(_n,e){var bk=new Object();bk.callNodeType=lq;self.editor.addNewNode(null,IConstant.JS_TYPE_OPERATION,true,self.node,e,null,true,lq.name,bk);}
}
function ContextMenuTreeMenuList(){this.contextMenuTreeNode=ContextMenuTreeNode;this.contextMenuTreeNode();var self=this;var nq;this.initItems=function(){nq=_core.findNodeType(IConstant.JS_TYPE_MENULIST);self.add(self.createOpenCanvasItem());self.addSeparator();self.add(self.createDeleteItem());}
}
function ContextMenuTreeProcess(){this.contextMenuTreeNode=ContextMenuTreeNode;this.contextMenuTreeNode();var self=this;var dq;var ns;var os;var tt;this.initItems=function(){self.add(self.createOpenCanvasItem());self.addSeparator();ns=self.addItem('Run',self,'onRun','run.gif',true);os=self.addItem('Debug',self,'onDebug','run.gif',true);tt=self.addItem('Test',self,'onTest','run.gif',true);self.addSeparator();self.add(self.createDeleteItem());self.addSeparator();self.add(self.createPropertiesItem());self.addSeparator();dq=_core.findNodeType(IConstant.JS_TYPE_EDGE);nn=new ContextMenu();nn.addItem(dq.name+'s',self,'onViewEdges');self.addMenu(nn,'View');self.addSeparator();self.add(self.createExportItem());self.add(self.createImportItem());}
this.onRun=function(_n,e){var yf=_core.toRunProcessUrl(self.node);window.location.href=yf;}
this.onDebug=function(_n,e){var yf=_core.toRunProcessUrl(self.item.node);_core.openInIframeWindow('Debug '+self.node.name,yf);}
this.onTest=function(_n,e){new Test(self.node);}
this.onViewEdges=function(_n,e){var oc=self.node;var yf=_core.toViewAllLinksUrl(oc);_core.openInIframeWindow(oc.name+' '+dq.name+'s',yf);}
this.refresh=function(){no=false;ns.setDisabled(no);os.setDisabled(no);tt.setDisabled(no);}
}
function ContextMenuTreeDatabase(){this.contextMenuTreeNode=ContextMenuTreeNode;this.contextMenuTreeNode();var self=this;this.initItems=function(){self.add(self.createOpenCanvasItem());self.addSeparator();self.add(self.createDeleteItem());self.addSeparator();self.add(self.createPropertiesItem());self.addSeparator();self.add(self.createExportItem());self.add(self.createImportItem());}
}
function ContextMenuTreeClassPackage(){this.contextMenuTreeNode=ContextMenuTreeNode;this.contextMenuTreeNode();var self=this;this.initItems=function(){self.addItem('Rename',self,'onRename');self.addItem('Delete',self,'onDelete');}
this.onRename=function(_n,e){_core.showRenameInput(self.node);}
}
function IConstant(){}
IConstant.JS_TYPE_DATAFILE=1;IConstant.JS_TYPE_DATAARRAY=2;IConstant.JS_TYPE_DATAELEMENT=3;IConstant.JS_TYPE_DATAGROUP=4;IConstant.JS_TYPE_DATAREFERENCE=5;IConstant.JS_TYPE_OPERATION=6;IConstant.JS_TYPE_OPERATION_FS=7;IConstant.JS_TYPE_DATABASE=8;IConstant.JS_TYPE_PROCESS=9;IConstant.JS_TYPE_APPLICATION=10;IConstant.JS_TYPE_DATAFILE_DATABASEREFERENCE=11;IConstant.JS_TYPE_DATAFILE_PROCESS=12;IConstant.JS_TYPE_DATAFILE_DATABASETABLE=13;IConstant.JS_TYPE_DATAFILE_PROCESSTABLEREFERENCE=14;IConstant.JS_TYPE_APP_MENU=15;IConstant.JS_TYPE_MENULIST=16;IConstant.JS_TYPE_EDGE=20;IConstant.JS_TYPE_CONDITION=21;IConstant.JS_TYPE_CLASS_PACKAGE=22;IConstant.JS_TYPE_DATABASE_PACKAGE=23;IConstant.JS_TYPE_APP_CLASS_PACKAGE=24;IConstant.JS_TYPE_APP_DATABASE_PACKAGE=25;IConstant.JS_TYPE_EDITSTYLE=3;IConstant.LOG_DEVELOPER_LEVEL=1;IConstant.LOG_USER_LEVEL=2;IConstant.EDGE_CATEGORY_DATADATA="Data To Data";IConstant.EDGE_CATEGORY_PROCESSDATA="Process To Data";IConstant.EDGE_CATEGORY_PROCESSPROCESS="Process To Process";IConstant.EDGE_MOVE_TO='com.graphlogic.util.MoveDataTo';IConstant.MESSAGE_CATEGORY_CHAT=1;IConstant.MESSAGE_CATEGORY_STATUS=2;IConstant.MESSAGE_TYPE_MESSAGE=1;IConstant.MESSAGE_TYPE_IM_INVITATION=2;IConstant.MESSAGE_TYPE_IM_ACCEPT=3;IConstant.MESSAGE_TYPE_IM_REJECT=4;IConstant.MESSAGE_TYPE_APP_INVITATION=5;IConstant.MESSAGE_TYPE_APP_ACCEPT=6;IConstant.MESSAGE_TYPE_APP_REJECT=7;IConstant.MESSAGE_TYPE_APP_EMAIL=8;IConstant.MESSAGE_TYPE_LOGON=9;IConstant.MESSAGE_TYPE_LOGOFF=10;IConstant.MESSAGE_TYPE_LOCK_REQUEST=11;IConstant.MESSAGE_TYPE_LOCK_REQUEST_ACCEPT=12;IConstant.MESSAGE_TYPE_LOCK_REQUEST_REJECT=13;IConstant.ACTION_SOURCE_DRAG_CURSOR=1;IConstant.NAME_PROPERTY_NAME='name';IConstant.START_TRANSACTION_PROPERTY_NAME='start (constructor)';IConstant.BATCH_METHOD_PROPERTY_NAME='batch method';IConstant.DATA_TYPE_PROPERTY_NAME='data type';IConstant.DEFAULT_VALUE_PROPERTY_NAME='default value';IConstant.TYPE_PROPERTY_NAME='type';IConstant.CONDITIONAL_MAP_PROPERTY_NAME='conditional map';IConstant.COMPARISON_PROPERTY_NAME='comparison';IConstant.DO_NOT_CREATE_PROPERTY_NAME='do not create';IConstant.CHECK_BOX_PROPERTY_NAME='check box';IConstant.VALIDATE_UNIQUENESS_PROPERTY_NAME='validate uniqueness';IConstant.DATE_FORMAT_PROPERTY_NAME='date format';IConstant.MATH_OPERATION_PROPERTY_NAME='math operation';IConstant.APPEND_ONLY_PROPERTY_NAME='append only';IConstant.ARRAY_SIZE_PROPERTY_NAME='array size';IConstant.QUERY_SELECT_PROPERTY_NAME='query select';IConstant.HASH_KEY_PROPERTY_NAME='hash key for table';IConstant.URL_DISPLAY_PAGE_HEADER_PROPERTY_NAME='url display page header';IConstant.URL_VALUE_FIELD_NAME='url value field name';IConstant.VALIDATOR_ACTIVE_PROPERTY_NAME='validator active';IConstant.VALIDATORERROR_MSG_PROPERTY_NAME='validator error msg';IConstant.DO_NOT_CREATE_PROPRETY_NAME='do not create';IConstant.FILTER_PROPERTY_NAME='filter';IConstant.FILE_MOVE_CONTENT_PROPERTY_NAME='file move content';IConstant.FILE_NAME_PROPERTY_NAME='file name';IConstant.FILE_APPEND_PROPERTY_NAME='file append';IConstant.SYSTEM_VARIABLE_TYPE_PROPERTY_NAME='system variable type';IConstant.EXECUTION_ORDER_PROPERTY_NAME='execution order';IConstant.DATA_UNITS_PROPERTY_NAME='data units';IConstant.PARAMETER_PROPERTY_NAME='parameter';IConstant.INDEX_NO_DUPLICATES_PROPERTY_NAME='create index - no duplicate values';IConstant.DUPLICATES_ALLOWED_PROPERTY_NAME='create index - duplicate values allowed';IConstant.INCLUDE_INQUERY_PROPRETY_NAME='include in query';IConstant.VALIDATION_FORMAT_PROPETY_NAME='validation format';IConstant.DISPLAY_PROPERTY_NAME='display';IConstant.EDIT_PROPRETY_NAME='edit';IConstant.DISPAY_CHILD_PROPERTY_NAME='display child';IConstant.REQUIRED_PROPERTY_NAME='required';IConstant.MULTIPLE_RETRIEVES_PROPERTY_NAME='multiple retrieves';IConstant.RETRIEVE_BEFORE_DISPLAY_PROPERTY_NAME='retrieve before display';IConstant.VALIDATE_ONLY_PROPERTY_NAME='validate only';IConstant.VALIDATE_UNIQUE_IN_TABLE_PROPERTY_NAME='validate unique in table';IConstant.DISPLAY_QUEUE_PROPERTY_VALUE='display queue';IConstant.FORMULA_PROPERTY_NAME='formula';IConstant.REGEX_PROPERTY_NAME='regular expression';IConstant.MENU_LIST_PROPERTY_NAME='menu list';IConstant.PRIMARY_KEY_PROPERTY_NAME='primary key';IConstant.DESCRIPTION_PROPERTY_NAME='description';IConstant.EXTERNAL_DB_NAME_PROPERTY_NAME='external db name';IConstant.DISPLAY_OPTION_PROCESS=0;IConstant.DISPLAY_OPTION_OPERATION=1;IConstant.DISPLAY_OPTION_USER=2;IConstant.DISPLAY_OPTION_TRANSACTION=3;IConstant.MAXIMUM_NODES_EDGE_DISPLAY=50;IConstant.MAXIMUM_NODES_TEMPLATE_DISPLAY=4;IConstant.SVGNS='http://www.w3.org/2000/svg';IConstant.HTMLNS='http://www.w3.org/1999/xhtml';IConstant.XLINKNS='http://www.w3.org/1999/xlink';IConstant.PRIMARY_KEY_ICON_SRC='primary_key.gif';function Core(){this.isIE=Core.isIE();this.dbPrefix;this.userPref;this.undoRedo;var self=this;Core.handlerObjectList=new Array();var ut;this.init=function(vt,wt){var xt=Core.parseJSON(vt);yt(xt);this.undoRedo=new UndoRedo();zt=Core.addNode(document.body,'span');var s=zt.style;s.position='absolute';s.left='0px';s.top='0px';s.visibility='hidden';s.whiteSpace='nowrap';self.parameters=Core.parseJSON(wt);}
function yt(xt){self.userPref=new UserPreference();self.userPref.init();self.dbSeqNum=xt.dbSeqNum;self.dbPrefix=xt.dbPrefix;self.conditionOperators=xt.conditionOperators;if(xt.wizards){var to=self.getWizardLauncher();to.init(xt.wizards);}
var nt=xt.jsTypes;ut=new Array();for(var i=0;i<nt.length;i++){var bb=nt[i];if(bb){ut[bb.typeId]=bb;$t(bb);_t(bb,bb.properties);au(bb);}
}
self.typeUtil=new TypeUtil();self.typeUtil.init();}
var bu=false;this.callInit=function(cu,du){if(bu){return;}
bu=true;var pc=new HTTP('editor.do',self,'callInitReady');pc.initCbObject=cu;pc.initCbName=du;pc.addParameter('action','initLoad');pc.isCallUpdateData=true;pc.call();}
this.callInitReady=function(sc,pc){var _m=pc.dbNode;if(!_m){return;}
yt(_m.initData);self.parameters=_m.parameter;if(pc.initCbObject){pc.initCbObject[pc.initCbName]();}
}
function _t(bb,eu){if(!eu){return;}
var fu=new Array();for(var i=0;i<eu.length;i++){var gu=eu[i];var hu=new Property(gu.n,gu.vo.v,gu.ht);if(gu.vo.b==1){hu.isBoolean=true;}
else{if(gu.vo.os){hu.options=gu.vo.os;}
}
fu[hu.name]=hu;}
bb.properties=fu;}
function $t(bb){switch(bb.typeId){case IConstant.JS_TYPE_DATAELEMENT:bb.withinArrayName='Column';bb.withinTemplateName='Field';break;}
}
var iu=new Array();this.getTypePopup=function(bb){var nj=bb.typeId;if(iu[nj]){return iu[nj];}
var ju;switch(bb.typeId){case IConstant.JS_TYPE_DATAFILE:ju=new NewNodeTemplate(bb);break;case IConstant.JS_TYPE_DATAARRAY:ju=new NewNodeArray(bb);break;case IConstant.JS_TYPE_DATAELEMENT:ju=new NewNodeField(bb);break;case IConstant.JS_TYPE_OPERATION:ju=new NewNodeOperation(bb);break;case IConstant.JS_TYPE_PROCESS:ju=new NewNodeProcess(bb);break;case IConstant.JS_TYPE_MENULIST:ju=new NewNodeProcessMenuList(bb);break;default:ju=new NewNode(bb);}
ju.init();iu[nj]=ju;return ju;}
function au(bb){var ku=new Array();switch(bb.typeId){case IConstant.JS_TYPE_PROCESS:ku[IConstant.JS_TYPE_OPERATION]=1;ku[IConstant.JS_TYPE_EDGE]=1;ku[IConstant.JS_TYPE_DATAFILE]=1;ku[IConstant.JS_TYPE_DATAARRAY]=1;ku[IConstant.JS_TYPE_DATAELEMENT]=1;ku[IConstant.JS_TYPE_DATAGROUP]=1;ku[IConstant.JS_TYPE_CONDITION]=1;break;case IConstant.JS_TYPE_DATABASE:case IConstant.JS_TYPE_DATABASE_PACKAGE:ku[IConstant.JS_TYPE_EDGE]=1;ku[IConstant.JS_TYPE_DATAARRAY]=1;ku[IConstant.JS_TYPE_DATAELEMENT]=1;ku[IConstant.JS_TYPE_DATAGROUP]=1;break;case IConstant.JS_TYPE_APPLICATION:ku[IConstant.JS_TYPE_PROCESS]=1;break;case IConstant.JS_TYPE_APP_MENU:ku[IConstant.JS_TYPE_MENULIST]=1;break;case IConstant.JS_TYPE_APP_CLASS_PACKAGE:ku[IConstant.JS_TYPE_CLASS_PACKAGE]=1;break;case IConstant.JS_TYPE_CLASS_PACKAGE:ku[IConstant.JS_TYPE_PROCESS]=1;break;}
bb.paletteActions=ku;}
this.findNodeType=function(nj){var bb=ut[nj];if(bb){return bb;}
alert('Invalid js type id: '+nj);}
var lu;this.findEdgeType=function(nj){if(!lu){lu=new Array();}
var bb=lu[nj];if(bb){return bb;}
return new Object();}
var mu;this.findEdgeColor=function(nu){if(!mu){mu=new Array();mu['0']='black';mu['1']='#0000FF';mu['2']='#FF0000';mu['3']='#00FF00';mu['4']='#FFCC00';mu['5']='#00FFFF';mu['6']='#000066';mu['7']='#00FF00';mu['8']='#006600'; mu['100']='#CCCCCC';}
var _d=mu[nu];if(_d){return _d;}
alert('Faild to find Color '+nu);return'black';}
this.getEdgeColors=function(){self.findEdgeColor(0);return mu;}
var ou;this.getYesNoList=function(){if(ou){return ou;}
ou=new Array();ou[0]=new Object();ou[0].k='0';ou[0].v='yes';ou[1]=new Object();ou[1].k='1';ou[1].v='no';return ou;}
var pu=IConstant.LOG_DEVELOPER_LEVEL;this.log=function(ll,qu){if(pu<=qu){window.status=ll;}
}
var ru;this.findStringLength=function(su){zt.style.visibility='visible';zt.innerHTML=su;var w=zt.offsetWidth;zt.style.visibility='hidden';return w;}
this.activeConditionEdge;var tu;this.getActionConditionEdgeMove=function(){if(!tu){tu=new ActionData();}
return tu;}
var uu;this.getContextMenuFactory=function(){if(!uu){uu=new ContextMenuFactory();}
return uu;}
this.contextMenu;this.showContextMenu=function(e){if(self.contextMenu){self.contextMenu.open();var x=e.clientX+document.body.scrollLeft;var y=e.clientY+document.body.scrollTop;self.contextMenu.setLocation(x,y);if(self.contextMenu.postOpen){self.contextMenu.postOpen();}
if(self.contextMenu.isShowLocationCross){self.showLocationCross(e);}
}
}
this.hideContextMenu=function(){if(self.contextMenu){self.contextMenu.close();if(self.contextMenu.postClose){self.contextMenu.postClose();}
self.hideContextMenuLocationCross();}
self.contextMenu=null;}
var vu;var wu=10;this.showLocationCross=function(e){if(!vu){vu=Core.addImage(document.body,'cross.jpg');vu.style.position='absolute';}
var s=vu.style;s.display='block';if(!e){return;}
var x=e.clientX-wu;var y=e.clientY-wu;s.left=x+'px';s.top=y+'px';}
this.hideContextMenuLocationCross=function(e){if(vu){vu.style.display='none';}
}
var xu;this.showMessage=function(mi,ll){if(!xu){xu=new DialogWindow(document.body);xu.init();}
xu.setTitle(mi);xu.setMessage(ll);xu.open();xu.moveToCenter();}
var yu;this.getConfirmWindow=function(eg,e){if(!yu){yu=new DialogConfirm(document.body);yu.init();}
return yu;}
var zu;this.onHelp=function(eg,e){this.showHelp(eg._cabFileName);}
this.showHelp=function($u,mi,dc,ec){if(!$u){alert('No help file name provided.');return;}
if(!zu){zu=new DialogIframe('Help');zu.init();}
var yf;if($u.indexOf('http:')==0){yf=$u;}
else{yf='doc/pd/'+$u;}
if(mi){zu.setTitle(mi);}
else{zu.setTitle('Help');}
var w;if(dc){w=dc;}
else{w=550;}
var h;if(ec){h=ec;}
else{h=360;}
zu.url=yf;zu.open();zu.setSize(w,h);if(zu.isMaxRestore){zu.doDialogMaxRestore();}
zu.moveToCenter();zu.load();zu.moveToTop();}
this.createHelp=function(hg,$u){var eg=Core.addImage(hg,'help.gif','Help');eg.setAttribute('align','absmiddle');eg._cabFileName=$u;Core.addEvent(eg,'click',self,'onHelp');return eg;}
this.setHelpOkayCallback=function(sh,dj){zu.setOkayButtonCallback(sh,dj);}
this.clearHelpOkayCallback=function(){zu.callbackOnOkay=null;}
var _u;this.openInIframeWindow=function(mi,yf){if(!_u){_u=new DialogIframe();_u.init();}
_u.setTitle(mi);_u.url=yf;_u.open();_u.load();}
this.post=function(yf){var pc=new HTTP(yf);pc.call();}
this.toRunOpUrl=function(oc){var yf='startTransaction.do?';yf+='operationId='+encodeURIComponent(oc.fullName);yf+='&action=save&pmBeginTrans=yes&refreshToTransaction=true';return yf;}
this.toRunProcessUrl=function(oc){var yf='showProcess.do?';yf+='processId='+encodeURIComponent(oc.fullName);yf+='&action=view';return yf;}
this.toViewAllLinksUrl=function(oc){var yf='editEvent.do?';yf+='processId='+encodeURIComponent(oc.fullName);yf+='&action=view';yf+='&bodyOnly=true';return yf;}
var av;this.initDragCursor=function(hg){av=new DragCursor();av.init(hg);}
this.showDragCursor=function(e,bv,uk,text,ki){av.refresh(bv,e,uk,text,ki);av.show();av.startFollowMouseMove(e);}
this.hideDragCursor=function(){if(av){av.hide();av.endFollowMouseMove();}
}
this.showDragCursorOnly=function(){if(av){av.show();}
}
this.hideDragCursorOnly=function(){if(av){av.hide();}
}
var cv;var dv;var ev;var fv;this.setDragMouseDownDom=function(gv,hv,iv,jv){cv=gv;dv=hv;ev=iv
fv=jv;}
this.doDragStart=function(e){if(!cv){return;}
var nb=Core.getNode(e);if(nb&&nb.id==cv.id){dv[ev](fv,e);}
self.clearDrag();}
this.clearDrag=function(){cv=null;}
var kv;this.showRenameInput=function(ab,lb,e){if(!kv){kv=new Rename();kv.init();}
if(lb)kv.show(ab,lb);else
kv.showForTree(ab);}
this.getRenameObject=function(){return kv;}
var lv;this.showNodeEdgeTerminals=function(ab,lb){if(!lv){lv=new NodeEdgeTerminals();lv.init();}
lv.show(ab,lb);}
this.hideNodeEdgeTerminals=function(){if(lv){lv.hide();}
}
this.getNodeEdgeTerminals=function(){return lv;}
var mv;this.setNewEdgeAction=function(kj){mv=kj;}
this.updateNewEdgeAction=function(e){if(mv){mv.updateLineTo(e);}
}
this.clearNewEdgeAction=function(){if(mv){mv.discard();}
mv=null;}
this.getNewEdgeAction=function(){return mv;}
var nv;this.setKeyActionCanvas=function(ab){var ov=1;nv=ab;}
this.doKeyActionCanvas=function(e){if(!nv){return true;}
var kj=nv.getKeyActionData();var pv=kj.keyActionType(e);var kb;if(pv==ActionData.MOVE_ACTION)kb=nv.selectionNode.getSelectedNodesNoChildren();else
kb=nv.selectionNode.getSelectedNodes();kj.setItems(kb);kj.reset(e);if(nv.selectionNode.areAllDeletable())var nc=kj.doKeyUp(e);nv=null;if(nc)return Core.preventDefault(e);}
this.isActionCanvas=function(){return!!(nv);}
var qv;this.setDataTransfer=function(yn){qv=yn;}
this.getDataTransfer=function(){return qv;}
this.clearDataTransfer=function(){qv=null;}
var rv;this.getChatWindow=function(){if(!rv){rv=new ChatWindow();if(self.editor){rv.userId=self.editor.userId;}
rv.init();}
return rv;}
var sv;this.getDialogUser=function(){if(!sv){sv=new DialogUser();}
return sv;}
var tv;this.getMassager=function(){if(!tv){tv=new Massager();tv.init(document.body);}
return tv;}
var uv;this.getCommunity=function(){if(!uv){uv=new Community(self.editor);uv.init();}
return uv;}
this.reloadCommunityUser=function(){if(uv){uv.reset();}
}
var vv=new Array();this.openNewWindow=function(wv,yf){var gc='glPDChildWin'+wv;var xv=vv[gc];if(xv){xv.location.href=yf;xv.focus();}
else{xv=window.open(yf,gc);vv[gc]=xv;}
return xv;}
this.isChildWindow=function(){var name=window.name;if(name&&name.indexOf('glPDChildWin')==0){return true;}
return false;}
var yv;this.getDialogLock=function(){if(!yv){yv=new DialogLock();}
return yv;}
var zv;this.showProgressWindow=function(mi,ll,dc){if(!zv){zv=new DialogProgress(document.body);zv.init();}
zv.setTitle(mi);zv.setMessage(ll);if(dc){zv.setWidth(dc);}
zv.open();zv.moveToCenter();}
var $v;this.getWizardLauncher=function(){if(!$v){$v=new WizardLauncher();}
return $v;}
}
function EdgeType(mb,_d){this.id=mb;this.color=_d;}
Core.addNodeSVG=function(parent,bb){return Core.addNodeNS(parent,bb,IConstant.SVGNS);}
Core.addNodeNS=function(parent,bb,_v){var oc=document.createElementNS(_v,bb);if(parent){parent.appendChild(oc);}
return oc;}
Core.addNode=function(parent,bb){var oc=document.createElement(bb);if(parent){parent.appendChild(oc);}
return oc;}
Core.addText=function(parent,text){if(parent.namespaceURI==IConstant.SVGNS){var t=Core.addNodeSVG(parent,'text');t.textContent=text;return t;}
var t=document.createTextNode(text);if(parent){parent.appendChild(t);}
return t;}
Core.find=function(mb){if(document.getElementById)return document.getElementById(mb);if(document.all)return document.all[mb];}
Core.findInNode=function(oc,mb){if(oc.id==mb)return oc;for(var i=0;i<oc.childNodes.length;i+=1){var aw=Core.findInNode(oc.childNodes[i],mb);if(aw)return aw;}
}
Core.isAncestor=function(tc,bw){var oc=tc.parentNode;while(oc!=null){if(oc==bw)return true;oc=oc.parentNode;}
return false;}
Core.addToolTip=function(cw){Tip(cw,FOLLOWMOUSE,false,SHADOW,true,FADEIN,500,FADEOUT,500,DELAY,1000);}
Core.addImage=function(parent,ji,tf){var yf=Core.getImageUrl(ji);if(parent.namespaceURI==IConstant.SVGNS){var dw=parent;if(parent.svgRoot)dw=parent.svgRoot;var eg=Core.addNodeSVG(dw,'image');eg.setAttributeNS(IConstant.XLINKNS,'href',yf);}
else{var eg=Core.addNode(parent,'img');eg.setAttribute('src',yf);eg.setAttribute('align','ABSMIDDLE');}
if(tf){eg.setAttribute('alt',tf);eg.helpTextItem=tf;}
return eg;}
function ew(gj,e){Core.addToolTip(gj.helpTextItem);}
function fw(){UnTip();}
Core.getImageUrl=function(ji){return'image/'+ji;}
Core.addTable=function(parent,gw,dc,ec){var ot=Core.addNode(parent,'table');if(gw){ot.setAttribute('border',gw);}
if(dc){ot.setAttribute('width',dc);}
if(ec){ot.setAttribute('height',ec);}
ot.setAttribute('cellSpacing','0');ot.setAttribute('cellPadding','0');var hw=Core.addNode(ot,'tbody');return ot;}
Core.addInput=function(hg,jn,iw){var sl;if(_core.isIE){sl=Core.addNode(hg,'<input type="text">');}
else{sl=Core.addNode(hg,'input');sl.setAttribute('type','text');}
if(jn){sl.setAttribute('value',jn);}
if(iw){sl.setAttribute('size',iw);}
return sl;}
Core.addHidden=function(hg,jn,iw){var sl;if(_core.isIE){sl=Core.addNode(hg,'<input type="hidden">');}
else{sl=Core.addNode(hg,'input');sl.setAttribute('type','hidden');}
if(jn){sl.setAttribute('value',jn);}
return sl;}
Core.addTextArea=function(hg,jw,kw,jn){var lw=Core.addNode(hg,'textarea');if(jw){lw.setAttribute('rows',jw);}
if(kw){lw.setAttribute('cols',kw);}
if(jn){lw.innerHMML=jn;}
return lw;}
Core.addCheckbox=function(hg,mw){var checkbox;if(_core.isIE){checkbox=Core.addNode(hg,'<input type="checkbox">');}
else{checkbox=Core.addNode(hg,'input');checkbox.setAttribute('type','checkbox');}
if(mw){checkbox.setAttribute('checked',true);}
return checkbox;}
Core.addSelect=function(hg,nw,jn,ow){var select=Core.addNode(hg,'select');if(ow){var o=Core.addNode(select,'option');o.setAttribute('value','');o.innerHTML=' - ';}
var pw=-1;for(var i=0;i<nw.length;i++){var kt=nw[i];var o=Core.addNode(select,'option');o.setAttribute('value',kt.k);if(kt.k==jn){if(ow){pw=i+1;}
else{pw=i;}
}
if(kt.v=='<'){o.innerHTML=kt.v+' ';}
else{o.innerHTML=kt.v;}
}
if(pw>=0){select.selectedIndex=pw;}
return select;}
Core.resetSelectedIndex=function(select,qw){var nw=select.options;var pw=-1;for(var i=0;i<nw.length;i++){var kt=nw[i];if(kt.value==qw){pw=i;break;}
}
if(pw>=0){select.selectedIndex=pw;}
}
Core.findSelectIndexByName=function(nw,name){pw=-1;for(var j in nw){var option=nw[j];if(option.v==name){pw=j;break;}
}
return pw;}
Core.focus=function(nb){try{nb.focus();}
catch(e){}
;}
Core.select=function(nb){try{nb.select();}
catch(e){}
;}
Core.focusSelect=function(nb){try{nb.focus();nb.select();}
catch(e){}
;}
Core.nullToNone=function(al){if(!al){return'';}
return al;}
Core.addButton=function(hg,en){var sl;if(_core.isIE){sl=Core.addNode(hg,'<input type="button">');}
else{sl=Core.addNode(hg,'input');sl.setAttribute('type','button');}
sl.setAttribute('value',en);return sl;}
Core.addRadio=function(hg,name,mw){var radio;if(_core.isIE){radio=Core.addNode(hg,'<input type="radio" name="'+name+'">');}
else{radio=Core.addNode(hg,'input');radio.setAttribute('type','radio');if(name){radio.setAttribute('name',name);}
}
radio.disabled=false;radio.checked=mw;return radio;}
Core.addBr=function(hg){return Core.addNode(hg,'br');}
Core.moveToCenter=function(nb){var ee=Core.getWindowDimension();var ac=(ee.width-nb.offsetWidth)/2+document.body.scrollLeft;var top=(ee.height-nb.offsetHeight)/3+document.body.scrollTop;if(ac<0){ac=0;}
if(top<0){top=0;}
nb.style.left=ac+'px';nb.style.top=top+'px';}
Core.addSpace=function(parent,rw){var eg=Core.addImage(parent,'transparent.gif');eg.setAttribute('width',rw);eg.setAttribute('height','0');return eg;}
Core.getNode=function(e){if(e.target){return e.target;}
else{return e.srcElement;}
}
Core.addEventHandler=function(element,sw,pk){if(Core.isIE()){element.attachEvent('on'+sw,pk);}
else{element.addEventListener(sw,pk,false);}
}
Core.addEvent=function(oc,bb,tw,uw){Core.addEventHandler(oc,bb,vw);if(!oc._glEventObject){oc._glEventObject=new EditorEvent();Core.handlerObjectList[this.handlerObjectList.length]=oc;}
oc._glEventObject.add(bb,tw,uw);}
Core.removeEventHandler=function(element,sw,pk){if(element.detachEvent){element.detachEvent('on'+sw,pk);}
else{element.removeEventListener(sw,pk,false);}
}
Core.removeEvent=function(oc,bb,tw,uw){Core.removeEventHandler(oc,bb,vw);if(!oc._glEventObject){return;}
oc._glEventObject.remove(bb,tw,uw);}
Core.findLoc=function(ww){return Core.findLocUpTo(ww);}
Core.offsetFrom=function(e,nb){var pb=Core.findLoc(nb);pb.x=e.clientX-pb.x;pb.y=e.clientY-pb.y;return pb;}
Core.isInArea=function(nb,e){var x=e.clientX;var y=e.clientY;var xw=Core.findLoc(nb);var _c=xw.x+nb.offsetWidth;var ad=xw.y+nb.offsetHeight;window.status=x+' '+y+'  ==  '+_c+' '+ad;if(x>xw.x&&x<_c&&y>=xw.y&&y<=ad){return true;}
return false;}
Core.getDefaultNewNamePrefix=function(so){return so.newPrefix+_core.dbPrefix;}
Core.deleteDom=function(nb){var s;if(nb.svgGroup){s=nb.svgGroup.style;}
else{s=nb.style;}
s.display='none';}
Core.clearTable=function(ot){var yw=ot.rows.length;for(var i=yw-1;i>0;i--){ot.deleteRow(i);}
}
Core.findLocUpTo=function(ww,mb){var zw=ww;var x=0;var y=0;while(zw!=null){if((mb!==undefined)&&(zw.id==mb))break;if(zw.x&&zw.x.baseVal){x+=zw.x.baseVal.value;y+=zw.y.baseVal.value;zw=zw.parentNode;}
else if(zw.transform){var $w=zw.transform.baseVal.consolidate();if($w){var _w=$w.matrix;x+=_w.e;y+=_w.f;}
zw=zw.parentNode;}
else if(zw.offsetParent){x+=zw.offsetLeft;y+=zw.offsetTop;zw=zw.offsetParent;}
else{zw=zw.offsetParent;}
}
return new Point(x,y);}
Core.getNodeOffset=function(oc){var x,y;x=y=0;if(oc.namespaceURI==IConstant.SVGNS){if(oc.svgGroup)var ax=oc.svgGroup;else
var ax=oc;var bx=ax.transform.baseVal.consolidate().matrix;x=bx.e;y=bx.f;if(oc.x){x+=oc.x.baseVal.value;y+=oc.y.baseVal.value;}
}
else{x=oc.offsetLeft;y=oc.offsetTop;}
return new Point(x,y);}
Core.sortByName=function(cx,dx){var a=cx.name;var b=dx.name;if(a==b)return 0;if(a<b)return-1;return 1;}
Core.preventDefault=function(tl){if(!tl){return false;}
tl.cancelBubble=true
if(tl.stopPropagation){tl.stopPropagation();tl.returnValue=false;}
if(tl.preventDefault){tl.preventDefault();}
return false;}
Core.onMouseDown=function(tl){if(_core){_core.hideContextMenu();if(_core.editor&&_core.editor.toolbar)_core.editor.toolbar.hideToolbarMenu();if(_core.activeConditionEdge&&_core.activeConditionEdge.isReady()){_core.activeConditionEdge.setReadyVariable();}
}
}
var _glActionData;Core.allowTextSelect=false;Core.onMouseMove=function(tl){var e;if(tl){e=tl;}
else{e=window.event;}
if(!e){return;}
if(_core){_core.doDragStart(e);}
if(_glActionData){_glActionData.doMouseMove(e);}
if(_core){_core.updateNewEdgeAction(e);}
if(!Core.allowTextSelect)return Core.preventDefault(e);}
Core.onMouseUp=function(tl){var e;if(tl){e=tl;}
else{e=window.event;}
Core.allowTextSelect=false;if(!e){return;}
if(ContextMenu.isRightClick(e)){if(_core){if(!_core.contextMenu){_core.contextMenu=_core.getContextMenuFactory().getEditorMenu();}
_core.showContextMenu(e);}
return Core.preventDefault(e);}
if(_glActionData){_glActionData.doMouseUp(e);}
if(_core.editor&&!_core.editor.getActionNewNode()||!_core.editor){_glActionData=null;}
var ab=_core.editor.getCurrentCanvas();var ex=(ab)?ab.domCanvasRoot:null;var gj=Core.getNode(e);if(ex&&Core.isAncestor(gj,ex))Core._nodeKeyFocus=true;else
Core._nodeKeyFocus=false;document.body.style.cursor='auto';return Core.preventDefault(e);}
Core.setAllowTextSelect=function(){Core.allowTextSelect=true;}
Core._nodeKeyFocus=false;Core.onKeyUp=function(tl){var e;if(tl){e=tl;}
else{e=window.event;}
if(!e){return;}
if(e.keyCode==8){var oc=Core.getNode(e);if(oc.tagName.toUpperCase()=='INPUT'||oc.tagName.toUpperCase()=='TEXTAREA'){}
else{return false;}
}
else if(e.keyCode==13){self.editor.executeEnterKeyUp();}
else if(e.keyCode==27){self.editor.executeAndClearActionEscKeyUp();return Core.preventDefault(e);}
if(_core){if(!Core.isIE()&&_core.editor&&_core.editor.getCurrentCanvas()&&!_core.isActionCanvas()&&Core._nodeKeyFocus)_core.setKeyActionCanvas(_core.editor.getCurrentCanvas());_core.doKeyActionCanvas(e);if(!Core.isIE()&&_core.editor.getCurrentCanvas()&&Core._nodeKeyFocus)_core.editor.getCurrentCanvas().doCanvasKeyDown(Core.getNode(e),e);if(_core.activeConditionEdge&&_core.activeConditionEdge.isReady()){_core.activeConditionEdge.doKeyDown(Core.getNode(e),e)}
}
}
Core.setLeftTop=function(nb,x,y){if(nb.offsetLeft!==undefined){var s=nb.style;s.left=x;s.top=y;}
else if(nb.x){nb.setAttribute('x',x);nb.setAttribute('y',y);}
else if(nb.transform){x=Math.round(x);y=Math.round(y);nb.setAttribute('transform','translate('+x+','+y+')');}
else{var s=nb.style;s.left=x;s.top=y;}
}
Core.setDimension=function(nb,w,h){if(w>=0)nb.style.width=w+'px';if(h>=0)nb.style.height=h+'px';if(nb.namespaceURI==IConstant.SVGNS){var fx=nb;if(!nb.width&&nb.rect)fx=nb.rect;fx.setAttribute('width',w);fx.setAttribute('height',h);if(nb.svgRoot){nb.svgRoot.setAttribute('width',w-2);nb.svgRoot.setAttribute('height',h-2);nb.svgRoot.setAttribute('x',1);nb.svgRoot.setAttribute('y',1);}
}
}
Core.showNode=function(oc){if(oc.namespaceURI==IConstant.SVGNS){oc.style.visibility='visible';}
else{oc.style.display='block';}
}
Core.hideNode=function(oc){if(oc.namespaceURI==IConstant.SVGNS){oc.style.visibility='hidden';}
else{oc.style.display='none';}
}
Core.isSVG=function(oc){return(oc.namespaceURI==IConstant.SVGNS);}
Core.sizeToText=function(text,ec){if(!text||(!Core.isSVG(text)))return;var ln=text.textContent.length;var dc=22;dc+=Math.ceil(text.getComputedTextLength());Core.setDimension(text.parentNode,dc,ec);if(text.parentNode.rect)Core.setDimension(text.parentNode.rect,dc,ec);return dc;}
Core.nodeToId=function(oc){if(!oc){return'';}
var gx=new Array();gx[gx.length]=oc;var parent=oc.parent;while(parent&&parent.fullName){gx[gx.length]=parent;parent=parent.parent;}
var hx='{_}';var t='';var tb=0;for(var i=gx.length-1;i>=0;i--){var bf=gx[i].fullName;if(tb>0){t+=hx;}
t+=bf;tb++;}
return t;}
Core.insertTextAtCursor=function(oc,text){var ix=true;if(document.selection&&oc.createTextRange){oc.focus();var jx=document.selection.createRange();jx.text=text;jx.collapse(false);jx.select();ix=false;}
if(oc.selectionStart!==undefined){var fi=oc.selectionStart;var kx=oc.selectionEnd;var lx=(fi==kx)?fi:kx;oc.value=oc.value.substring(0,lx)+text+oc.value.substring(lx);oc.selectionStart=oc.selectionEnd=lx+text.length;ix=false;}
if(ix)oc.value+=text;}
Core.removeAllChildrenListeners=function(oc){if(oc._glEventObject){oc._glEventObject.removeAllEvents(oc);oc._glEventObject=null;}
for(var i=0;i<oc.childNodes.length;i+=1){Core.removeAllChildrenListeners(oc.childNodes[i]);}
}
Core._garbageNodes;Core.removeNode=function(oc){if(!Core._garbageNodes){Core._garbageNodes=Core.addNode(document.body,'div');Core._garbageNodes.style.display='none';}
Core._garbageNodes.appendChild(oc);}
function EditorEvent(){this.listeners=new Array();this.add=function(bb,tw,uw){var mx=new Object();mx.type=bb;mx.sourceObject=tw;mx.methodName=uw;this.listeners[this.listeners.length]=mx;}
this.remove=function(bb,tw,uw){var nx;for(var i=0;i<this.listeners.length;i+=1){var mx=this.listeners[i];if(mx.type==bb&&mx.sourceObject==tw&&mx.methodName==uw){nx=i;break;}
}
if(nx!==undefined){this.listeners.splice(nx,1);}
}
this.removeAllEvents=function(element){for(var i=0;i<this.listeners.length;i+=1){var mx=this.listeners[i];Core.removeEventHandler(element,mx.type,vw);}
this.listeners=new Array();}
this.run=function(bb,oc,e){for(var i=0;i<this.listeners.length;i++){var mx=this.listeners[i];if(mx.type==bb){if(!mx.sourceObject[mx.methodName]){alert('Error: '+mx.sourceObject+' '+mx.methodName);}
var ox=mx.sourceObject[mx.methodName](oc,e);if(ox){return;}
}
}
}
}
function vw(e){var oc=Core.getNode(e);if(oc&&oc._glEventObject){oc._glEventObject.run(e.type,oc,e);}
}
Core.isIE=function(){var px=navigator.userAgent;return(px.indexOf('MSIE')!=-1);}
Core.isGecko=function(){var px=navigator.userAgent;return(px.indexOf('Gecko')!=-1);}
Core.isOpera=function(){var px=navigator.userAgent;return(px.indexOf('Opera')!=-1);}
Core.incompatibleMessage='The pointdragon IDE runs on both Internet Explorer and Firefox. However the<br/>'+'Firefox version was only just released - it is in early beta. The IE version is in<br/>'+'late beta. Other browsers are currently not supported.';Core.isBrowserOkay=function(){return true;var px=navigator.userAgent;var qx;var rx;if((rx=px.indexOf('MSIE'))!=-1){return true;}
else if((rx=px.indexOf('Firefox'))!=-1){qx=px.substring(rx+8);qx=parseFloat(qx);if(qx>=2)return true;else
return false;}
else
return false;}
Core.getWindowDimension=function(){var qb=new Object();var sx=630,tx=460;if(parseInt(navigator.appVersion)>3){if(navigator.appName=="Netscape"){sx=window.innerWidth;tx=window.innerHeight;}
if(navigator.appName.indexOf("Microsoft")!=-1){sx=document.body.offsetWidth;tx=document.body.offsetHeight;}
}
qb.width=sx;qb.height=tx;return qb;}
Core.setClassName=function(nb,pf){if(typeof nb.className=='string'){nb.className=pf;}
else{nb.setAttribute('class',pf);}
}
Core.appendClassName=function(nb,pf){var ux=nb.className;if(typeof ux!='string'){ux=nb.getAttribute('class');}
if(ux&&ux.indexOf(' '+pf)>-1){return;}
Core.setClassName(nb,ux+' '+pf);}
Core.removeClassName=function(nb,pf){var ux=nb.className;if(typeof ux!='string'){ux=nb.getAttribute('class');}
Core.setClassName(nb,ux.replace(pf,'').replace(/\s+/,' '));}
Core.hasClassName=function(nb,pf){var ux=nb.className;if(typeof ux!='string'){ux=nb.getAttribute('class');}
var vx=new RegExp('\\b'+pf+'\\b');var m=vx.exec(ux);return m!=null;}
Core.toValid=function(al){if(!al||al<=0){return 0;}
return al;}
Core.clone=function(cf){var mg=new Array();for(var mb in cf){mg[mb]=cf[mb];}
return mg;}
Core.parsePxValue=function(wx){if(!wx){return 0;}
try{var al=Math.round(wx.replace(/wg/,'')*1);return al;}
catch(e){return 0;}
}
Core.getCursorPositionInTextarea=function(textarea){if(textarea.selectionStart){return textarea.selectionStart;}
if(!document.selection){return-1;}
var c='\001';var jx=document.selection.createRange();var xx=jx.duplicate();var ln=0;xx.moveToElementText(textarea);jx.text=c;ln=(xx.text.indexOf(c));jx.moveStart('character',-1);jx.text='';return ln;}
Core.getDimensions=function(oc){var qb=[];if(oc.offsetWidth!==undefined){qb.push(oc.offsetWidth);qb.push(oc.offsetHeight);}
else{var kk;if(oc.width)kk=oc;else if(oc.rect&&oc.rect.width)kk=oc.rect;qb.push(parseInt(kk.getAttribute('width')));qb.push(parseInt(kk.getAttribute('height')));}
return qb;}
Core.copyPrototype=function(yx,zx){for(var i in yx.prototype){zx.prototype[i]=yx.prototype[i];}
}
function $x(cf){var _x=Math.floor(Math.random()*cf.length);return cf[_x];}
var ay=0;function fk(){ay++;return ay;}
Core.getNextId=function(){return fk();}
function Action(gn,dj){this.cbObject=gn;this.cbName=dj;this.callback=function(){if(this.cbObject&&this.cbName){this.cbObject[this.cbName]();}
}
}
function Point(x,y){this.x=x;this.y=y;this.toString=function(){return x+' '+y;}
}
function UserPreference(){this.isPrompForNewNode=false;this.navigatorWidth=160;this.navigatorHeight=310;var self=this;this.init=function(){if(!this.navigatorHeight){}
}
this.layoutToolbar;this.layoutNavigator;this.layoutProperties;this.layoutCanvas;this.layoutPalette;this.calculateLayout=function(){var fi=new Point(document.body.scrollLeft,document.body.scrollTop);var ee=Core.getWindowDimension();self.layoutToolbar=new Layout(fi.x,fi.y,'100%',26);var BORDER_WIDTH=2;var NAVIGATOR_WIDTH=180;var by=fi.y+self.layoutToolbar.height+BORDER_WIDTH;self.layoutNavigator=new Layout(fi.x,by,NAVIGATOR_WIDTH,ee.height/2);self.layoutCanvas=new Layout(fi.x+NAVIGATOR_WIDTH,by);var OFFW=-24;var OFFH=-34;self.layoutCanvas.width=ee.width-self.layoutNavigator.width+OFFW;self.layoutCanvas.height=ee.height-self.layoutToolbar.height+OFFH;self.layoutPalette=new Layout(0,0);self.layoutPalette.bottom='20px';self.layoutPalette.right='20px';}
}
function TypeUtil(){this.templateType;this.arrayType;this.fieldType;this.groupType;this.opType;this.opFsType;this.appType;this.processType;this.dbType;this.menuListType
this.edgeType;this.init=function(){this.templateType=_core.findNodeType(IConstant.JS_TYPE_DATAFILE);this.arrayType=_core.findNodeType(IConstant.JS_TYPE_DATAARRAY);this.fieldType=_core.findNodeType(IConstant.JS_TYPE_DATAELEMENT);this.groupType=_core.findNodeType(IConstant.JS_TYPE_DATAGROUP);this.opType=_core.findNodeType(IConstant.JS_TYPE_OPERATION);this.opFsType=_core.findNodeType(IConstant.JS_TYPE_OPERATION_FS);this.appType=_core.findNodeType(IConstant.JS_TYPE_APPLICATION);this.processType=_core.findNodeType(IConstant.JS_TYPE_PROCESS);this.dbType=_core.findNodeType(IConstant.JS_TYPE_DATABASE);this.menuListType=_core.findNodeType(IConstant.JS_TYPE_MENULIST);this.edgeType=_core.findNodeType(IConstant.JS_TYPE_EDGE);}
}
TypeUtil.isProcess=function(oc){return oc.typeId==IConstant.JS_TYPE_PROCESS;}
TypeUtil.isDatabase=function(oc){return oc.typeId==IConstant.JS_TYPE_DATABASE;}
TypeUtil.isDatabaseTemplate=function(oc){return oc.typeId==IConstant.JS_TYPE_DATAFILE_DATABASETABLE;}
TypeUtil.isTopDatabaseTemplate=function(oc){return oc.parent.isDatabase()||oc.parent.isDbPackage();}
TypeUtil.isProcessTemplate=function(oc){return oc.typeId==IConstant.JS_TYPE_DATAFILE;}
TypeUtil.isDataGroup=function(oc){return oc.typeId==IConstant.JS_TYPE_DATAGROUP;}
TypeUtil.isArray=function(oc){return oc.typeId==IConstant.JS_TYPE_DATAARRAY;}
TypeUtil.isField=function(oc){return oc.typeId==IConstant.JS_TYPE_DATAELEMENT;}
TypeUtil.isDataNode=function(oc){if(oc.isField()||oc.isArray()||oc.isTemplate()||oc.isDataGroup()){return true;}
return false;}
Core.countTypeMax=function(sd,nj,cy){var dy=0;for(var i in sd){var oc=sd[i];if(oc.typeId==nj){dy+=1;if(dy>cy){return true;}
}
}
return false;}
var _core=new Core();function Dialog(hg,mi,ey){this.panel=Panel;this.panel(null,hg);this.title=mi;this.content=ey;this.isTransparentPadding=false;this.isMaxRestoreable=false;var self=this;this.isMaximable=false;this.isMovable=false;this.titleSpan;this.contentCell;this.callbackOnClose;this.resizable=false;this.minHeight=36;this.minWidth=36;this._actionEscKeyUp=null;this.moveToTop=function(){this.table.style.zIndex=fk();}
this.subclassInit=function(){this.table.className='eDialog';this.table.style.backgroundColor='buttonface';if(self.width){this.table.setAttribute('width',self.width);}
fy();gy();if(self.resizable)self.initResize();self.moveToCenter(self.table);if(self.dialogInit){self.dialogInit();}
}
this.close=function(){self.hide();if(self.callbackOnClose){self.callbackOnClose.call();}
}
var hy=self.open;this.open=function(){self.setActionEscCancel();if(self.isMaxRestore)self.doDialogMaxRestore();hy();}
this.setTitle=function(mi){self.title=mi;self.titleSpan.innerHTML=self.title;}
this.setContent=function(ey){self.content=ey;self.contentCell.innerHMTL=self.content;}
this.titleCell;function fy(){var iy=self.table.insertRow(self.table.rows.length);self.titleCell=iy.insertCell(iy.cells.length);self.titleCell.className='eDialogTitle';self.titleCell.setAttribute('nowrap','true');var jy=Core.addImage(self.titleCell,'pd_dialog_icon.gif','Close');jy.style.display='inline';Core.addEvent(jy,'click',self,'close');self.titleSpan=Core.addNode(self.titleCell,'span');self.titleSpan.style.paddingLeft='5px';self.setTitle(self.title);if(self.isMovable){self.addMove(self.titleSpan);self.addMove(self.titleCell);}
if(self.isMaximable){}
_n=iy.insertCell(iy.cells.length);_n.className='eDialogTitleClose';_n.setAttribute('align','right');if(self.isMaximable){self.addMaxMinImage(_n,true);_n.style.width='50px';}
if(self.isMaxRestoreable){ky=Core.addImage(_n,'window_max.gif','Maximize');Core.addEvent(ky,'click',self,'doDialogMaxRestore');}
var ly=Core.addImage(_n,'window_close.gif','Close');ly.setAttribute('width','18');ly.setAttribute('height','18');Core.addEvent(ly,'click',self,'close');}
var ky;this.maxInitLeft;this.maxInitTop;this.maxInitWidth;this.maxInitHeight;this.maxInitSubDomWidth;this.maxInitSubDomHeight;this.doDialogMaxRestore=function(eg,e){var mi;if(this.isMaxRestore){ky.src=Core.getImageUrl('window_max.gif');mi='Maximize';self.moveTo(self.maxInitLeft,self.maxInitTop);var s=self.table.style;self.setSize(self.maxInitWidth,self.maxInitHeight);if(my){var ny=my.style;ny.width=self.maxInitSubDomWidth+'px';ny.height=self.maxInitSubDomHeight+'px';}
self.showResizer()}
else{ky.src=Core.getImageUrl('window_restore.gif');mi='Restore';self.maxInitLeft=self.table.offsetLeft;self.maxInitTop=self.table.offsetTop;self.maxInitWidth=self.table.offsetWidth;self.maxInitHeight=self.table.offsetHeight;if(my){if(_core.isIE){this.maxInitSubDomWidth=my.offsetWidth;this.maxInitSubDomHeight=my.offsetHeight;}
}
var ee=Core.getWindowDimension();var w,h;if(_core.isIE){w=ee.width-23;h=ee.height-5;}
else{w=ee.width;h=ee.height;}
var s=self.table.style;s.left='0px';s.top='0px';if(_core.isIE){s.width=w+'px';s.height=h+'px';}
else{if(self.setSize){self.setSize(w,h);}
else{s.width='100%';s.height='100%';}
}
if(my){var oy,py;var ny=my.style;if(_core.isIE){oy=Core.toValid(w-40);py=Core.toValid(h-100);ny.width=oy+'px';ny.height=py+'px';}
else{if(false&&my.tagName=='IFRAME'){oy=Core.toValid(w-40);py=Core.toValid(h-100);ny.width=oy+'px';ny.height=py+'px';}
}
}
self.hideResizer()}
ky.setAttribute('title',mi);ky.setAttribute('alt',mi);this.isMaxRestore=!this.isMaxRestore;return Core.preventDefault(e);}
var my;this.setMaxRestoreSubDom=function(nb){my=nb;}
function gy(){var iy=self.table.insertRow(self.table.rows.length);iy.setAttribute('vAlign','top');self.contentCell=iy.insertCell(iy.cells.length);self.contentCell.setAttribute('colSpan','2');self.contentCell.className='eDialogBody';if(self.content){self.contentCell.innerHTML=self.content;}
if(self.width){self.contentCell.style.width=self.width+'px';}
}
this.initResize=function(){var qy=Core.addNode(self.table,'tfoot');var ry=qy.insertRow(0);var sy=ry.insertCell(0);sy.colspan=2;self.resizer=Core.addNode(sy,'div');Core.setClassName(self.resizer,'dialogResizer');self.resizer.style.position='absolute';self.resizer.style.bottom='0px';self.resizer.style.right='0px';self.resizer.style.background='url(image/resize.gif) no-repeat center';self.resizer.style.width='15px';self.resizer.style.height='15px';Core.addEvent(self.resizer,'mousedown',self,'startResize');}
this.showResizer=function(){if(self.resizer)self.resizer.style.display='block';}
this.hideResizer=function(){if(self.resizer)self.resizer.style.display='none';}
this.startResize=function(oc,e){self.startResizeSize={x:self.table.offsetWidth,y:self.table.offsetHeight}
;self.startResizePos={x:e.clientX,y:e.clientY}
;function ty(e){self.resizeDialog(e);}
function uy(e){self.resizeDialog(e);Core.removeEventHandler(document.body,'mousemove',ty);Core.removeEventHandler(document.body,'mouseup',uy);}
Core.addEventHandler(document.body,'mousemove',ty);Core.addEventHandler(document.body,'mouseup',uy);return Core.preventDefault(e);}
this.resizeDialog=function(e){var x=self.startResizeSize.x+(e.clientX-self.startResizePos.x);if(x<this.minWidth)x=this.minWidth;var y=self.startResizeSize.y+(e.clientY-self.startResizePos.y);if(y<this.minHeight)y=this.minHeight;self.setSize(x,y);}
this.buttonCell;this.addButton=function(en,gn,dj,pf){var vy=false;if(!this.buttonCell){var iy=self.table.insertRow(self.table.rows.length);this.buttonCell=iy.insertCell(iy.cells.length);this.buttonCell.setAttribute('colSpan','2');this.buttonCell.setAttribute('align','center');this.buttonCell.style.padding='10 10 5 10';vy=true;}
if(!vy){Core.addText(this.buttonCell,' ');}
var button=Core.addButton(this.buttonCell,en);Core.addEvent(button,'click',gn,dj);var ux='eDialogButton';if(pf){ux+=' '+wy.className;}
button.className=ux;return button;}
this.callbackOnOkay;this.addOkayButton=function(gn,dj){if(gn&&dj){self.callbackOnOkay=new CallBack(gn,dj);}
var button=this.addButton('OK',self,'onClickOkay');this.okayButton=button;return button;}
this.setOkayButtonCallback=function(gn,dj){if(!this.callbackOnOkay){this.callbackOnOkay=new CallBack();}
this.callbackOnOkay.cbObject=gn;this.callbackOnOkay.cbName=dj;}
this.onClickOkay=function(){var xy=false;if(self.callbackOnOkay){xy=self.callbackOnOkay.call(self);}
if(!xy){self.hide();}
}
this.callbackOnCancel;this.addCancelButton=function(gn,dj){if(gn&&dj){self.callbackOnCancel=new CallBack(gn,dj);}
this.cancelButton=this.addButton('Cancel',self,'onClickCancel');return this.cancelButton;}
this.setCancelButtonCallback=function(gn,dj){if(!this.callbackOnCancel){this.callbackOnCancel=new CallBack();}
this.callbackOnCancel.cbObject=gn;this.callbackOnCancel.cbName=dj;}
this.onClickCancel=function(){self.hide();if(self.callbackOnCancel){self.callbackOnCancel.call(self);}
}
this.callbackOnClose;this.addCloseButton=function(gn,dj){if(gn&&dj){self.callbackOnClose=new CallBack(gn,dj);}
return this.addButton('Close',self,'onClickClose');}
this.setCloseButtonCallback=function(gn,dj){if(!this.callbackOnClose){this.callbackOnClose=new CallBack();}
this.callbackOnClose.cbObject=gn;this.callbackOnClose.cbName=dj;}
this.onClickClose=function(){self.hide();if(self.callbackOnClose){self.callbackOnClose.call(self);}
}
this.setActionEscCancel=function(){if(!self._actionEscKeyUp){self._actionEscKeyUp=new Action(self,'onClickCancel');}
if(_core.editor){_core.editor.setActionEscKeyUp(self._actionEscKeyUp);}
}
var yy=this.hide;this.hide=function(){if(_core.editor){_core.editor.clearActionEscKeyUp();}
yy();}
}
function CallBack(gn,dj){this.cbObject=gn;this.cbName=dj;this.call=function(zy){return this.cbObject[this.cbName](zy);}
}
function DialogPlain(hg,mi,hq,$y,_y){this.dialog=Dialog;this.dialog(hg,mi);this.message=hq;this.okayCBObject=$y;this.okayCBName=_y;this.isMovable=true;var self=this;var az;this.dialogInit=function(){var _b=self.contentCell.style;_b.padding='20 40 10 40';_b.fontSize='11';var zl=Core.addNode(self.contentCell,'div');zl.style.border='solid 1px #CCCCCC';zl.style.padding='10 20 10 20';az=Core.addNode(zl,'span');self.addOkayButton(self.okayCBObject,self.okayCBName);self.addCancelButton();}
this.setMessage=function(ll){az.innerHTML=ll;}
}
function DialogComputed(ab,et,sd){this.canvas=ab;this.computedNode=et;this.nodes=sd;var self=this;this.dialog;var bz;var cz;var dz;var ez;var fz;var gz;var WIDTH=400;var HEIGHT=90;this.init=function(){self.dialog=new Dialog(document.body,'Set Computed');self.dialog.isMovable=true;self.dialog.isTransparentPadding=true;self.dialog.editor=self.canvas.editor;self.dialog.init();var hz=self.dialog.contentCell;var s=hz.style;s.padding='10 20 0 20';s.fontSize=11;Core.addText(hz,'Formula ');_core.createHelp(hz,'computed.html');Core.addNode(hz,'br');var iz=hz;if(Core.isGecko()){var jz=Core.addNode(hz,'div');jz.style.display='none';jz.style.overflow='auto';setTimeout(function(){jz.style.display='block';}
,10);iz=jz;}
dz=Core.addTextArea(iz,4);dz.style.marginLeft='20px';dz.style.width=WIDTH+'px';dz.id='eComputedForumula';Core.addEvent(dz,'mousedown',Core,'setAllowTextSelect');Core.addNode(hz,'br');Core.addNode(hz,'br');ez=Core.addNode(hz,'span');Core.addText(ez,'Regular Expression ');var yf='http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Pattern.html';_core.createHelp(ez,yf);Core.addNode(ez,'br');fz=Core.addTextArea(ez,2);fz.style.marginLeft='20px';fz.style.width=WIDTH+'px';Core.addNode(ez,'br');Core.addNode(ez,'br');Core.addText(hz,'Variables ');var kz=new PanelScrollable(hz,WIDTH,HEIGHT);kz.init();kz.table.style.marginLeft='20px';var lz=kz.scrollableDiv;lz.style.border='solid 1px #CCCCCC';gz=Core.addNode(lz,'div');mz=Core.addNode(hz,'span');nz();self.dialog.addOkayButton(self,'onSave');self.dialog.addCancelButton();}
var mz;var oz='_';function nz(){var pz=new Array('Clear','','','','','','','7','8','9','+','&','<','(','4','5','6','-','|','>',')','1','2','3','*','=','>=',oz,'0','.','^','/','!','<=','more');var qz=new Array();qz['*']='Multiply';qz['/']='Divide';qz['^']='Power';qz['&']='And';qz['|']='Or';qz['!']='Equal';qz['!']='Not';qz[oz]='Space';var tb=0;var ot=Core.addTable(mz);ot.style.marginLeft='20px';for(var i=0;i<5;i++){var iy=ot.insertRow(ot.rows.length);for(var j=0;j<7;j++){var _n=iy.insertCell(iy.cells.length);var rz=pz[tb];sz(_n,rz,qz[rz]);tb++;}
}
}
function sz(_n,rz,mi){if(!rz){return;}
var button=Core.addButton(_n,rz);if(mi){button.setAttribute('title',mi);button.setAttribute('alt',mi);}
Core.addEvent(button,'click',self,'onClickOnSign');var s=_n.style;s.padding='3px';s.fontSize='11';button.style.width='48px';}
this.onClickOnSign=function(button,e){var al=button.value;if(!al){return;}
var v;if(al==oz){v=' ';}
else if(al=='more'){_core.showHelp('computed.html');return;}
else if(al=='Clear'){dz.value='';return;}
else{v=al;}
Core.insertTextAtCursor(dz,v);try{dz.focus();}
catch(e){}
}
var tz=3;var uz;function vz(){var mi=self.computedNode.getFullUserNameForData()+' Computation';self.dialog.setTitle(mi);gz.innerHTML='';var yw=self.nodes.length/tz+1;uz=new Array();var iy,_n;var qd=0;for(var i=0;i<self.nodes.length;i++){var oc=self.nodes[i];if(i>0&&i%tz==0){Core.addNode(gz,'br');}
var button=wz(oc);if(qd<button.offsetWidth){qd=button.offsetWidth;}
uz[oc.id]=button;}
for(var mb in uz){var button=uz[mb];}
if(self.computedNode.isComputedString){ez.style.display='block';}
else{ez.style.display='none';}
try{dz.focus();dz.select();}
catch(e){}
}
function wz(oc){var name;var xz=yz[oc.fullName];if(xz.displayProperty=='name'){name=oc.name;}
else{name=oc.getFullUserNameForData();}
var button=Core.addButton(gz,name);button.setAttribute('title',name+' ('+oc.fullName+')');button.setAttribute('alt',name+' ('+oc.fullName+')');button._cabNode=oc;Core.addEvent(button,'click',self,'onClickNode');return button;}
var zz='[';var $z=']';this.onClickNode=function(button,e){var oc=button._cabNode;if(!oc){return;}
var _z=zz+a$(oc)+$z;var jn=dz.value;if(!jn||jn.length<1){dz.value=_z;}
else{var rz;if(self.computedNode.isComputedString){rz='+';}
else{rz=' ';}
Core.insertTextAtCursor(dz,rz+_z);}
dz.focus();}
this.open=function(pc,e){if(!self.dialog){b$();}
c$();}
this.hide=function(){if(self.dialog){self.dialog.hide();}
}
this.appendToForumula=function(d$){dz.value+=d$;}
this.getButtons=function(){return uz;}
function e$(kj,f$){var pc=_core.editor.getHttp(kj,self,f$);pc.isCallUpdateData=true;pc.addParameter('pmBeginTrans','yes');pc.addParameter('canvasRootNodeId',self.canvas.rootNode.fullName);pc.node=self.computedNode;return pc;}
function c$(){dz.value='';fz.value='';var pc=e$('loadComputed','onLoadFormulaReady');pc.call();}
var yz;var g$;var h$;function i$(j$,xz,k$){var cf=j$[xz[k$]];if(!cf){cf=new Array();j$[xz[k$]]=cf;}
cf[xz.fullName]=xz;}
function l$(qp){i=0;for(var j in qp){i+=1;}
return i;}
this.formulaLoadedCallBack;this.setFormulaLoadedCallBack=function(m$){self.formulaLoadedCallBack=m$;}
var n$;this.onLoadFormulaReady=function(sc,pc){var _m=pc.dbNode;n$=new Array();var o$=_m.symbolMap;yz=new Array();g$=new Array();h$=new Array();if(o$){for(var i=0;i<o$.length;i++){var p$=o$[i];var xz=new Object();xz.symbol=p$.symbol;xz.fullName=p$.fullName;xz.name=p$.name;xz.fullUserName=p$.fullUserName;n$[xz.fullName]=xz;yz[xz.fullName]=xz;i$(g$,xz,'name');i$(h$,xz,'fullUserName');}
}
var q$=Core.clone(self.nodes);q$[q$.length]=self.computedNode;var r$=0;for(var i=0;i<q$.length;i++){var oc=q$[i];var xz=n$[oc.fullName];if(!xz){xz=new Object();xz.symbol=s$(r$);xz.fullName=oc.fullName;xz.name=oc.name;xz.fullUserName=oc.getFullUserNameForData();r$++;}
yz[xz.fullName]=xz;i$(g$,xz,'name');i$(h$,xz,'fullUserName');}
for(var mb in yz){var xz=yz[mb];var t$=g$[xz.name];var u$;if(!t$||l$(t$)<2){u$='name';}
else{var v$=h$[xz.fullUserName];if(!v$||l$(v$)<2){u$='fullUserName';}
else{u$='symbol';}
}
xz.displayProperty=u$;}
var w$=_m.formula;if(w$&&o$){for(var i=0;i<o$.length;i++){var p$=o$[i];var xz=yz[p$.fullName];var x$=new RegExp(xz.symbol,"g");w$=w$.replace(x$,zz+xz[xz.displayProperty]+$z);}
}
if(w$){dz.value=w$;}
if(_m.regex){fz.value=_m.regex;}
self.dialog.open();vz();self.dialog.moveToCenter();y$=dz.value;z$=fz.value;if(self.formulaLoadedCallBack){self.formulaLoadedCallBack.call(self);}
}
var y$;var z$;function s$(ed){if(ed<123){return String.fromCharCode(97+ed);}
else{var $$=ed-123;return'a'+String.fromCharCode(97+$$);}
}
function a$(oc){var xz=yz[oc.fullName];return xz[xz.displayProperty];}
function _$(){return null;var w$=dz.value;if(!w$){return;}
var t='';for(var mb in n$){var xz=n$[mb];if(w$.indexOf(xz.symbol)>-1){if(w$.indexOf(zz+xz.symbol+$z)<0){t+=xz.symbol+' '+xz.fullUserName+' '+xz.fullName+'<br/>';}
}
}
return t;}
this.onSave=function(){var w$=dz.value;var x$=fz.value;if((y$==w$)&&(z$==x$)){return;}
var ll=_$();if(ll&&ll.length>0){var t='Formula contains invalid information:<br/>';t+=ll;_core.showMessage('Formula Error',t);return;}
var pc=e$('saveComputed','onSaveReady');pc.addParameter('computedFormula',dz.value);pc.addParameter('computedRegex',fz.value);pc.computedNode=self.computedNode;for(var i=0;i<self.nodes.length;i++){var oc=self.nodes[i];var _z=zz+a$(oc)+$z;var ed=w$.indexOf(_z);if(ed<0){continue;}
var rc=pc.nodeToId(oc);pc.addParameter('nodeIds',rc);pc.addParameter('computedVariableSymbol',_z);}
pc.call();}
this.filterDuplicateEdges=function(pc){var a_=this.computedNode.computedEdges;if(!a_){a_=new Array();this.computedNode.computedEdges=a_;}
var _m=pc.dbNode;var b_=new Array();if(_m.edges&&_m.edges.length>0){for(var i=0;i<_m.edges.length;i++){var c_=_m.edges[i];if(a_[c_.n]){continue;}
b_[b_.length]=c_;a_[c_.n]=true;alert(c_.n+' '+a_[c_.n]);}
}
_m.edges=b_;}
this.onSaveReady=function(sc,pc){self.canvas.rootNode.updateEdgesByDbNode(pc);var b_=pc.loadEdges;self.canvas.displayEdges(b_,true);var d_=pc.dbNode.removeEdges;if(d_&&d_.length>0){var kg=Core.nodeToId(pc.computedNode);var ye=ab.getFromEdges(kg);for(var i in d_){var name=d_[i];var gd=null;for(var j in ye){gd=ye[j];if(name==gd.name)break;}
self.canvas.delteEdge(gd);}
}
var tj=pc.computedNode.getPropertySource();if(pc.dbNode.formula||pc.dbNode.formula=="")tj.setPropertyValue(IConstant.FORMULA_PROPERTY_NAME,pc.dbNode.formula);if(pc.dbNode.regex||pc.dbNode.regex=="")tj.setPropertyValue(IConstant.REGEX_PROPERTY_NAME,pc.dbNode.regex);window.status='Saved';}
}
function DialogConfirm(hg,mi,hq,$y,_y,e_,f_){this.dialog=Dialog;this.dialog(hg,mi);this.message=hq;this.okayCBObject=$y;this.okayCBName=_y;this.cancelCBObject=e_;this.cancelCBName=f_;this.isMovable=true;var self=this;var az;this.dialogInit=function(){var _b=self.contentCell.style;_b.padding='20 40 10 40';_b.fontSize='11';var eg=Core.addImage(self.contentCell,'confirm.gif');eg.setAttribute('align','ABSMIDDLE');eg.style.marginRight='10px';az=Core.addNode(self.contentCell,'span');if(self.message){self.setMessage(self.message);}
self.addOkayButton(self.okayCBObject,self.okayCBName);self.addCancelButton(this.cancelCBObject,this.cancelCBName);self.moveToCenter();}
this.setMessage=function(ll){az.innerHTML=ll;}
}
function DialogIframe(mi,yf,$y,_y){this.dialog=Dialog;this.dialog(document.body,mi);this.url=yf;this.okayCBObject=$y;this.okayCBName=_y;this.isMovable=true;this.isTransparentPadding=true;this.isMaxRestoreable=true;var self=this;this.minWidth=this.width=550;this.minHeight=this.height=360;this.resizable=true;this.widthBuf=40;this.heightBuf=80;var g_;this.dialogInit=function(){var _b=self.contentCell.style;_b.padding='20 15 0 15';g_=Core.addNode(self.contentCell,'iframe');var s=g_.style;s.width='100%';s.height='100%';if(self.width){this.setIFrameWidth(self.width-self.widthBuf);}
if(self.height){this.setIFrameHeight(self.height-self.heightBuf);}
var button=self.addOkayButton(self.okayCBObject,self.okayCBName);button.setAttribute('value','Close');self.moveToCenter();self.setMaxRestoreSubDom(g_);}
this.clear=function(){if(!g_){return;}
t='';t+='<div class="mainBody">';t+='<ul>';t+='Please wait ......';t+='</ul>';t+=' </div>';try{var h_=g_.contentDocument;if(h_==undefined||h_==null)h_=g_.contentWindow.document;h_.open();h_.write(t);h_.close();}
catch(e){}
}
this.setSize=function(w,h){if(w>0){this.setWidth(w);this.setIFrameWidth(w-self.widthBuf);}
if(h>0){this.setHeight(h);this.setIFrameHeight(h-self.heightBuf);}
}
this.setIFrameWidth=function(w){g_.style.width=w+'px';}
this.setIFrameHeight=function(h){g_.style.height=h+'px';}
var i_=new Array();this.setParameter=function(name,jn){i_[name]=jn;}
this.load=function(){var j_='';var rz='?';for(var name in i_){var jn=i_[name];j_+=rz+name;j_+='=';j_+=jn;rz='&';}
g_.src=self.url+j_;}
this.setOverflow=function(k_){g_.style.overflow=k_;}
}
function DialogInput(hg,mi,hq,$y,_y){this.dialog=Dialog;this.dialog(hg,mi);this.message=hq;this.okayCBObject=$y;this.okayCBName=_y;this.isMovable=true;var self=this;var az;var l_;var WIDTH=250;var m_;this.dialogInit=function(){var _b=self.contentCell.style;_b.padding='20 20 10 20';_b.fontSize='11';var zl=Core.addNode(self.contentCell,'div');zl.style.border='solid 1px #CCCCCC';zl.style.padding='10 20 10 20';var eg=Core.addImage(zl,'confirm.gif');eg.style.marginRight='10px';az=Core.addNode(zl,'span');this.setMessage(hq);Core.addNode(zl,'br');l_=Core.addInput(zl);l_.style.marginLeft='2px';l_.style.width=WIDTH+'px';l_.focus();Core.addNode(zl,'br');Core.addNode(zl,'br');m_=self.addButton('Find',self.okayCBObject,self.okayCBName);self.addCancelButton();self.moveToCenter();}
this.setMessage=function(ll){az.innerHTML=ll;}
this.getInputText=function(){return l_.value;}
this.setInputFocus=function(){try{l_.focus();l_.select();}
catch(e){}
}
this.switchToFindNext=function(){m_.setAttribute('value','Find Next');}
this.setButtonLabel=function(en){m_.setAttribute('value',en);}
}
function DialogLock(){this.dialog=Dialog;this.dialog(document.body,'Lock');this.isMovable=true;var self=this;var n_;var o_;var az;var p_;var q_;var r_;this.dialogInit=function(){var _b=self.contentCell.style;_b.padding='20 20 10 20';_b.fontSize='11';var zl=Core.addNode(self.contentCell,'div');zl.style.border='solid 1px #CCCCCC';zl.style.padding='10 20 10 20';zl.style.backgroundColor='white';Core.addNode(zl,'br');Core.addText(zl,'Status: ');az=Core.addNode(zl,'span');Core.addNode(zl,'br');r_=Core.addButton(zl,'Request to Unlock');r_.style.marginLeft='40px';r_.style.fontSize='10px';Core.addEvent(r_,'click',self,'doRequestUnLock');p_=Core.addButton(zl,'Lock');p_.style.fontSize='10px';p_.style.width='60px';Core.addEvent(p_,'click',self,'doLock');Core.addSpace(zl,10);q_=Core.addButton(zl,'Unlock');q_.style.fontSize='10px';q_.style.width='60px';Core.addEvent(q_,'click',self,'doUnLock');p_.style.display='none';q_.style.display='none';Core.addNode(zl,'br');Core.addNode(zl,'br');var button=self.addOkayButton(self.okayCBObject,self.okayCBName);button.setAttribute('value','Close');}
this.setCanvas=function(ab){n_=ab;self.setTitle(n_.rootNode.name);var ll;var li=n_.rootNode.lock;if(li){p_.disabled=true;if(n_.editor.userId==li.userId){ll='Locked by yourself at '+li.time+'<br/><br/>';ll+='To unlock, simply close the "'+n_.rootNode.name+'" canvas.<br/><br/>';ll+='<font color="gray">When locked, the canvas is NOT editable to other people.</font><br/>';r_.disabled=true;q_.disabled=false;}
else{ll='Locked by '+li.userId+' at '+li.time;ll+='<br/><br/>';r_.disabled=false;q_.disabled=true;}
}
else{ll='Not locked';p_.disabled=false;q_.disabled=true;r_.disabled=true;}
az.innerHTML=ll;}
this.doLock=function(){self.save(n_,DialogLock.LOCK_ACTION_LOCK,self,'onSaveReady');}
this.doUnLock=function(){self.save(n_,DialogLock.LOCK_ACTION_UNLOCK,self,'onSaveReady');}
this.save=function(ab,s_,gn,dj){var pc=new HTTP('community.do',gn,dj);pc.addParameter('canvasId',ab.rootNode.fullName);pc.addParameter('action','doLockUnlock');pc.isCallUpdateData=true;pc.canvas=ab;pc.addParameter('lockAction',s_);pc.call();}
this.onSaveReady=function(sc,pc){var ab=pc.canvas;ab.rootNode.lock=pc.dbNode.lock;self.setCanvas(ab);}
this.doRequestUnLock=function(){_core.getMassager().doRequestUnlock(n_,n_.rootNode.lock);_core.getMassager().setTempTimeToPull(5,20);self.hide();}
}
DialogLock.LOCK_ACTION_LOCK=1;DialogLock.LOCK_ACTION_UNLOCK=2;DialogLock.LOCK_ACTION_RETRIEVE=3;function DialogMessage(hg,mi,hq,$y,_y){this.dialog=Dialog;this.dialog(hg,mi);this.message=hq;this.okayCBObject=$y;this.okayCBName=_y;this.isMovable=true;var self=this;var az;this.dialogInit=function(){var _b=self.contentCell.style;_b.padding='20 40 10 40';_b.fontSize='11';var eg=Core.addImage(self.contentCell,'alert.gif');eg.style.marginRight='10px';az=Core.addNode(self.contentCell,'span');var button=self.addOkayButton(self.okayCBObject,self.okayCBName);button.setAttribute('value','Close');self.moveToCenter();}
}
function DialogWindow(hg,mi,hq,t_,u_){this.dialog=Dialog;this.dialog(hg,mi);this.message=hq;this.closeCBObject=t_;this.closeCBName=u_;this.isMovable=true;this.isTransparentPadding=true;var self=this;this.div;this.dialogInit=function(){var _b=self.contentCell.style;_b.padding='20 20 10 20';_b.fontSize='11';this.div=Core.addNode(self.contentCell,'div');this.div.style.border='solid 1px #CCCCCC';this.div.style.padding='10 20 10 20';if(this.message){this.div.innerHTML=this.message;}
Core.addBr(this.div);var button=self.addCloseButton(self.closeCBObject,self.closeCBName);if(self.isMaxRestoreable){self.setMaxRestoreSubDom(this.div);}
}
this.setMessage=function(ll){this.div.innerHTML=ll;}
}
function DialogProgress(hg,mi,hq,$y,_y){this.dialog=Dialog;this.dialog(hg,mi);this.message=hq;this.okayCBObject=$y;this.okayCBName=_y;this.isMovable=true;this.isDisplayWaitImage=false;this.isTransparentPadding=true;var self=this;var v_;this.div;this.dialogInit=function(){var _b=self.contentCell.style;_b.padding='20 20 30 20';_b.fontSize='13';v_=Core.addNode(self.contentCell,'div');var s=v_.style;s.backgroundColor='white';s.border='solid 1px #CCCCCC';s.padding='20 20 20 20';s.color='blue';this.div=Core.addNode(v_,'div');if(this.message){this.div.innerHTML=this.message;Core.addNode(v_,'br');}
if(this.isDisplayWaitImage==true){var w_=Core.addNode(v_,'center');this.waitImageDom=Core.addImage(w_,'wait.gif');}
this.div.style.width='400px';self.moveToCenter();}
this.setMessage=function(ll){this.div.innerHTML=ll;}
this.setWidth=function(dc){if(dc>0){this.div.style.width=dc+'px';}
}
}
function DialogNewApp(){this.dialog=Dialog;this.dialog(document.body,'New Application');this.isTransparentPadding=true;this.isMaxRestoreable=true;var self=this;this.widthBuf=40;this.heightBuf=120;this.div;this.dialogInit=function(){var _b=self.contentCell.style;_b.padding='20 20 10 20';_b.fontSize='14';this.div=Core.addNode(self.contentCell,'div');this.div.style.border='solid 1px #CCCCCC';this.div.style.padding='10 20 10 20';this.div.style.backgroundColor='white';this.div.style.height='350px';this.div.style.overflow='auto';var button=self.addOkayButton(self,'OnNewAppOkayButton');button.value='Add';self.addCancelButton();self.setMaxRestoreSubDom(this.div);}
this.OnNewAppOkayButton=function(){var x_=GL_findField(document.forms['editorForm'],'newDatabaseName');if(!x_.value){var cg=Core.find('errorMsg');cg.innerHTML='Please enter new application name.';return true;}
var t='Please wait while we create and deploy the application. <br/>It might take more than 30 seconds.';_core.showProgressWindow('Please wait...',t);document.forms['editorForm'].submit();}
this.updateFileName=function(y_,z_){var $_;if(y_){$_='CopyOf'+z_;}
else{$_='';}
var form=document.forms['editorForm'];var __=GL_findField(form,'newDatabaseName');__.value=$_;var aab=y_+':=:true';for(var i=0;i<form.length;i++){if(form.elements[i].name=='lib'){bab=form.elements[i];if(bab.value==aab){bab.checked=true;}
else{bab.checked=false;}
}
}
}
this.setSize=function(w,h){if(w>0){this.setWidth(w);}
if(h>0){this.setHeight(h);this.div.style.height=(h-self.heightBuf)+'px';}
}
}
function DialogResizable(mi){this.dialog=Dialog;this.dialog(document.body,mi);this.isMovable=true;var self=this;this.resizableDiv;this.dialogInit=function(){if(self.width){}
if(self.height){}
this.resizableDiv=Core.addNode(self.contentCell,'div');var s=this.resizableDiv.style;s.overflow='scroll';}
}
function DialogSearchResults(mi){this.dialog=Dialog;this.dialog(document.body,mi);this.isMovable=true;}
DialogSearchResults.prototype.dialogInit=function(){Core.setDimension(this.contentCell,400,250);var cab=Core.addTable(this.contentCell);Core.setClassName(cab,'eSearchResultsHeaderTable');var dab=cab.insertRow(cab.rows.length);Core.setClassName(dab,'eSearchResultsHeader');this.nameHeader=dab.insertCell(dab.cells.length);this.nameHeader.innerHTML='Method';Core.setClassName(this.nameHeader,'eSearchResultsHeaderCell');var eab=dab.insertCell(dab.cells.length);eab.innerHTML='Class';Core.setClassName(eab,'eSearchResultsHeaderCell');var lz=Core.addNode(this.contentCell,'div');Core.setClassName(lz,'eSearchResultsScrollDiv');this.resultsTable=Core.addTable(lz);Core.setClassName(this.resultsTable,'eSearchResultsTable');}
DialogSearchResults.prototype.setResults=function(fab,sh,th){var yw=this.resultsTable.rows.length;for(var i=yw-1;i>=0;i--){var gab=this.resultsTable.rows[i];Core.removeNode(gab);}
this.searchCbObj=sh;this.searchCbMethod=th;for(var i in fab){var hab=fab[i];var gab=this.resultsTable.insertRow(this.resultsTable.rows.length);Core.setClassName(gab,'eSearchResultRow');var iab=gab.insertCell(gab.cells.length);iab.innerHTML=hab.name;var jab=gab.insertCell(gab.cells.length);jab.innerHTML=hab.className;var kab=[iab,jab];for(var j in kab){var lab=kab[j];Core.addEvent(lab,'click',this,'showResult');Core.addEvent(lab,'mouseover',this,'mouseOver');Core.addEvent(lab,'mouseout',this,'mouseOut');lab.resultData=hab.data;Core.setClassName(lab,'eSearchResultCell');}
}
}
DialogSearchResults.prototype.showResult=function(oc,e){this.searchCbObj[this.searchCbMethod](oc.resultData);}
DialogSearchResults.prototype.mouseOver=function(oc,e){Core.appendClassName(oc.parentNode,'eSearchResultCellMouseOver');}
DialogSearchResults.prototype.mouseOut=function(oc,e){Core.removeClassName(oc.parentNode,'eSearchResultCellMouseOver');}
DialogSearchResults.prototype.setNameHeader=function(name){this.nameHeader.innerHTML=name;}
function DialogTestResults(){this.dialog=Dialog;this.dialog(document.body,"Test Results");this.isMovable=true;}
DialogTestResults.prototype.dialogInit=function(){Core.setDimension(this.contentCell,400,250);this.progressBar=new TestProgressBar(this.contentCell);var lz=Core.addNode(this.contentCell,'div');Core.setClassName(lz,'eSearchResultsScrollDiv');this.resultsTable=Core.addTable(lz);Core.setClassName(this.resultsTable,'eSearchResultsTable');}
DialogTestResults.prototype.testCompleted=function(mab){if(!mab.passed){this.progressBar.fail();this.progressBar.incrementFailed();}
else{this.progressBar.incrementPassed();}
this.addTestRow(mab);}
DialogTestResults.prototype.addTestRow=function(mab){var gab=this.resultsTable.insertRow(this.resultsTable.rows.length);Core.setClassName(gab,'eSearchResultRow');var nab=gab.insertCell(gab.cells.length);Core.setClassName(nab,'eSearchResultCell');nab.innerHTML=mab.name;if(mab.error){nab.innerHTML+=' ';var oab=Core.addNode(nab,'em');oab.innerHTML=mab.error;this.attachEvents(oab);Core.appendClassName(nab,'testFailure');}
this.attachEvents(nab);nab.canvasFullName=mab.cfn;nab.fullName=mab.nfn;nab.packageFullName=mab.pfn;}
DialogTestResults.prototype.attachEvents=function(oc){Core.addEvent(oc,'mouseover',this,'mouseOver');Core.addEvent(oc,'mouseout',this,'mouseOut');Core.addEvent(oc,'click',this,'gotoTestMethod');}
DialogTestResults.prototype.getTargetCell=function(oc){while(!oc.fullName){oc=oc.parentNode;}
return oc;}
DialogTestResults.prototype.gotoTestMethod=function(oc,e){var bo=new Search(_core.editor);oc=this.getTargetCell(oc);bo.showResult(oc);}
DialogTestResults.prototype.mouseOver=function(oc,e){oc=this.getTargetCell(oc);Core.appendClassName(oc.parentNode,'eSearchResultCellMouseOver');}
DialogTestResults.prototype.mouseOut=function(oc,e){oc=this.getTargetCell(oc);Core.removeClassName(oc.parentNode,'eSearchResultCellMouseOver');}
DialogTestResults.prototype.reset=function(){if(this.resultsTable){var yw=this.resultsTable.rows.length;for(var i=yw-1;i>=0;i-=1){var gab=this.resultsTable.rows[i];Core.removeNode(gab);}
}
if(this.progressBar){this.progressBar.numCompleted=this.progressBar.numPassed=0;this.progressBar.refreshDisplay();this.progressBar.pass();}
}
DialogTestResults.getDialog=function(){if(!DialogTestResults.dialog)DialogTestResults.dialog=new DialogTestResults();return DialogTestResults.dialog;}
function TestProgressBar(parent){this.numCompleted=0;this.numPassed=0;this.outerBar=Core.addNode(parent,'div');Core.setClassName(this.outerBar,'testProgressBarOuter');this.innerBar=Core.addNode(this.outerBar,'div');Core.setClassName(this.innerBar,'testProgressBarInner testProgressBarInnerPass');this.labelSpan=Core.addNode(this.outerBar,'span');}
TestProgressBar.prototype.setTotalNumberTest=function(n){this.totalTests=n;}
TestProgressBar.prototype.fail=function(){Core.removeClassName(this.innerBar,'testProgressBarInnerPass');Core.appendClassName(this.innerBar,'testProgressBarInnerFail');}
TestProgressBar.prototype.pass=function(){Core.removeClassName(this.innerBar,'testProgressBarInnerFail');Core.appendClassName(this.innerBar,'testProgressBarInnerPass');}
TestProgressBar.prototype.setTestCompleted=function(n){var pab=100*(n+0.0)/this.totalTests;this.innerBar.style.width=pab+'%';}
TestProgressBar.prototype.incrementPassed=function(){this.numCompleted+=1;this.numPassed+=1;this.refreshDisplay();}
TestProgressBar.prototype.incrementFailed=function(){this.numCompleted+=1;this.refreshDisplay();}
TestProgressBar.prototype.refreshDisplay=function(){this.labelSpan.innerHTML='Tests: '+this.numPassed+'/'+this.numCompleted;this.setTestCompleted(this.numCompleted);}
function DialogYesNoCancel(hg,mi,hq,qab,rab){this.dialog=Dialog;this.dialog(hg,mi);this.message=hq;this.yesCBObject=qab;this.yesCBName=rab;this.isMovable=true;var self=this;var az;this.dialogInit=function(){var _b=self.contentCell.style;_b.padding='20 40 10 40';_b.fontSize='11';var eg=Core.addImage(self.contentCell,'confirm.gif');eg.setAttribute('align','ABSMIDDLE');eg.style.marginRight='10px';az=Core.addNode(self.contentCell,'span');if(self.message){self.setMessage(self.message);}
self.addOkayButton(self.yesCBObject,self.yesCBName);self.okayButton.setAttribute('value','Yes');self.addNoButton();self.addCancelButton();self.moveToCenter();}
this.setMessage=function(ll){az.innerHTML=ll;}
this.callbackOnNo;this.addNoButton=function(gn,dj){if(gn&&dj){self.callbackOnCancel=new CallBack(gn,dj);}
this.noButton=this.addButton('No',self,'onClickNo');return this.noButton;}
this.setNoButtonCallback=function(gn,dj){if(!this.callbackOnNo){this.callbackOnNo=new CallBack();}
this.callbackOnNo.cbObject=gn;this.callbackOnNo.cbName=dj;}
this.onClickNo=function(){self.hide();if(self.callbackOnNo){self.callbackOnNo.call(self);}
}
}
function Edge(name,bb,sab,tab,nu,uab,vab,wab){this.id=fk();this.name=name;this.type=bb;this.fromFullName=sab;this.toFullName=tab;this.colorId=nu;this.executionOrder;this.sourceTerminal=uab;this.targetTerminal=vab;this.propertyCategory=wab;this.isEdge=true;this.fromBreakpoint=false;this.toBreakpoint=false;var self=this;this.fromItem;this.toItem;this.isDisplayed=false;this.line;this.bendPointString;var xab;this.getPropertySource=function(){if(!xab){xab=new PropertySourceTable(null,self);}
return xab;}
this.display=function(yab,ab){this.canvas=ab;if(self.bendPointString)ab.addToConditionAndBentEdges(self);if(self.isDisplayed){if(this.line){if(this.isParentClosed(this.fromItem)||this.isParentClosed(this.toItem)){return;}
this.line.show();this.showAllBreakpoints(ab);}
return;}
if(!this.fromItem){this.fromItem=ab.findItemByFullName(this.fromFullName,self.fromParentRef);}
if(!this.fromItem){return;}
this.fromFullChainId=Core.nodeToId(this.fromItem.node);if(!this.toItem){this.toItem=ab.findItemByFullName(this.toFullName,self.toParentRef);}
if(!this.toItem){return;}
this.toFullChainId=Core.nodeToId(this.toItem.node);if(this.isParentClosed(this.fromItem)||this.isParentClosed(this.toItem)){return;}
if(!self.linkChildren){if(this.fromItem.id==this.toItem.id&&this.sourceTerminal==this.targetTerminal){this.targetTerminal=zab(this.targetTerminal);}
}
var $ab=Edge.getTerminalLocation(this.fromItem,this.sourceTerminal,ab);var _ab=Edge.getTerminalLocation(this.toItem,this.targetTerminal,ab);self.isDisplayed=true;self.draw(yab,$ab,_ab,ab);}
this.isParentClosed=function(lb){if(lb==this.fromItem){return!this.fromItem.node.isVisible;}
else if(lb==this.toItem){return!this.toItem.node.isVisible;}
return false;}
this.draw=function(yab,$ab,_ab,ab){this.line=new Line(self,$ab,_ab,_core.findEdgeColor(self.colorId));this.line.canvas=ab;this.line.updateBendFromArray(self.bendPointString);this.line.draw(yab,ab);this.line.attachEvents();if(this.fromBreakpoint)this.drawBreakpoint($ab,'from',yab,ab);if(this.toBreakpoint)this.drawBreakpoint(_ab,'to',yab,ab);}
this.getBreakpointImg=function(kx,yab,ab){var name=kx+'BreakpointImg';if(!self[name]&&yab&&ab){self[name]=Core.addImage(yab,'bpDot.gif');self[name].style.position='absolute';ab.editor.breakpointManager.addDisplayedBreakpoint(self);}
return self[name];}
this.drawBreakpoint=function(abb,kx,yab,ab){var eg=self.getBreakpointImg(kx,yab,ab);eg.style.display='block';Core.setLeftTop(eg,abb.x-4,abb.y-4);}
this.addBreakpoint=function(kx,ab){var abb=Edge.getTerminalLocation(self[kx+'Item'],this.targetTerminal,ab);this.drawBreakpoint(abb,kx,ab.domCanvasRoot,ab);self[kx+'Breakpoint']=true;}
this.removeBreakpoint=function(kx){this.hideBreakpoint(kx);self[kx+'Breakpoint']=false;}
this.hideBreakpoint=function(kx){var eg=this.getBreakpointImg(kx);if(eg)eg.style.display='none';}
this.hideAllBreakpoints=function(){if(this.toBreakpoint)this.hideBreakpoint('to');if(this.fromBreakpoint)this.hideBreakpoint('from');}
this.removeAllBreakpoints=function(){if(this.toBreakpoint)this.removeBreakpoint('to');if(this.fromBreakpoint)this.removeBreakpoint('from');}
this.showAllBreakpoints=function(ab){var _ab=Edge.getTerminalLocation(this.toItem,this.targetTerminal,ab);if(this.toBreakpoint)this.drawBreakpoint(_ab,'to');var $ab=Edge.getTerminalLocation(this.fromItem,this.sourceTerminal,ab);if(this.fromBreakpoint)this.drawBreakpoint($ab,'from');}
this.resetBendPoint=function(){if(this.line){this.line.updateBendFromArray(self.bendPointString);this.line.refreshDisplay();}
}
function zab(bbb){if(bbb=='E')return'S';if(bbb=='S')return'W';if(bbb=='W')return'N';if(bbb=='N')return'E';}
this.updateFromDisplay=function(ab){if(!self.isDisplayed){return;}
var $ab=Edge.getTerminalLocation(this.fromItem,this.sourceTerminal,ab);this.line.setFrom($ab.x,$ab.y);if(this.fromBreakpoint)this.drawBreakpoint($ab,'from');}
this.updateToDisplay=function(ab){if(!self.isDisplayed){return;}
var _ab=Edge.getTerminalLocation(this.toItem,this.targetTerminal,ab);this.line.setTo(_ab.x,_ab.y);if(this.toBreakpoint)this.drawBreakpoint(_ab,'to');}
this.discard=function(){if(self.line){self.line.discard();self.line.hideBendPoint();self.hideAllBreakpoints();}
}
this.endActions=function(){if(self.line)self.line.endActions();}
this.setColor=function(nu){self.colorId=nu;var _d=_core.findEdgeColor(nu);self.line.setColor(_d);}
this.initToFromItems=function(){if(!this.fromItem){this.fromItem=self.canvas.findItemByFullName(self.fromFullName,self.fromParentRef);if(this.fromItem)this.fromFullChainId=Core.nodeToId(self.fromItem.node);}
if(!this.toItem){this.toItem=self.canvas.findItemByFullName(self.toFullName,self.toParentRef);if(this.toItem)this.toFullChainId=Core.nodeToId(self.toItem.node);}
}
this.highlight=function(){self.line.highlight();self.canvas.addHighlightedAction(self);}
this.deHighlight=function(){self.line.deHighlight();}
this.hide=function(){self.line.hide();self.hideAllBreakpoints();}
}
Edge.getTerminalLocation=function(lb,_h,ab){var wi=lb.domNodeRoot;var pb=Core.findLocUpTo(wi,'canvas');var w=(wi.offsetWidth!==undefined)?wi.offsetWidth:wi.width.baseVal.value;var h=(wi.offsetHeight!==undefined)?wi.offsetHeight:wi.height.baseVal.value;switch(_h){case'S':pb.x+=w/2;pb.y+=h;break;case'W':pb.y+=h/2;break;case'N':pb.x+=w/2;break;default:pb.x+=w;pb.y+=h/2;break;}
return pb;}
function EdgeCondition(name,bb,sab,tab,nu,uab,vab,wab){this.edge=Edge;this.edge(name,bb,sab,tab,nu,uab,vab,wab);this.isCondition=true;var self=this;this.linkChildren;this.layout;this.linkLayout;this.operator;var cbb;var dbb;var ebb;var fbb;var gbb;var hbb;var ibb;var jbb;var kbb;var bz;var lbb;var mbb;var nbb;var obb=29;var pbb;var qbb;var rbb=this.display;this.display=function(yab,ab){ab.addToConditionAndBentEdges(self);var sbb=self.layout;gbb=sbb.x-ab.minX;fbb=sbb.y-ab.minY+(sbb.height-obb)/2;if(gbb<0){gbb=10;}
if(fbb<0){fbb=10;}
rbb.call(self,yab,ab);}
this.draw=function(yab,$ab,_ab,ab){pbb=_core.findNodeType(IConstant.JS_TYPE_CONDITION);cbb=new ConditionItem(ab,self);dbb=new ConditionItem(ab,self);ebb=new ConditionItem(ab,self);cbb.allowedType=dbb.allowedType=IConstant.JS_TYPE_DATAELEMENT;ebb.allowedType=IConstant.JS_TYPE_OPERATION;if(!self.operator){self.operator='=';}
var ce=self.linkChildren;var sbb=self.layout;if(!sbb.width||sbb.width<1){sbb.width=150;}
if(!sbb.height||sbb.height<1){sbb.height=150;}
gbb=sbb.x-ab.minX;fbb=sbb.y-ab.minY+(sbb.height-obb)/2;if(gbb<0){gbb=10;}
if(fbb<0){fbb=10;}
self.canvas=ab;ab.addToConditionAndBentEdges(self);var tbb=[cbb,dbb];var ubb=0;for(var i in ce){var vbb=ce[i];if(vbb.isOperationType())ebb.node=vbb;else{tbb[ubb].node=vbb;ubb+=1;}
}
hbb=new Point();ibb=new Point();jbb=new Point();kbb=new Point();wbb(obb,obb);if(yab.svgRoot){bz=Core.addNodeSVG(yab.svgRoot,'g');bz.rect=Core.addNodeSVG(bz,'rect');lbb=Core.addNodeSVG(bz,'g');nbb=Core.addNodeSVG(lbb,'g');Core.addEvent(bz.rect,'mousedown',self,'doMouseDownMove');Core.addEvent(bz.rect,'mousemove',ab,'doCanvasMouseMove');}
else{bz=Core.addTable(yab,0);var iy=bz.insertRow(0);lbb=iy.insertCell(0);lbb.setAttribute('align','center');lbb.setAttribute('vAlign','center');nbb=Core.addNode(lbb,'span');nbb.style.padding='3px';Core.addEvent(lbb,'mousedown',self,'doMouseDownMove');Core.addEvent(lbb,'mousemove',ab,'doCanvasMouseMove');}
Core.setClassName(bz,'eCanvasCondition');Core.setLeftTop(bz,jbb.x,kbb.y);var _d=_core.findEdgeColor(self.colorId);var xbb=this.getPointForTerminal(this.linkLayout.nodeIncomingTerminal);xbb={'x':xbb.x,'y':xbb.y}
;this.fromLine=new Line(self,$ab,xbb,_d);this.fromLine.draw(ab.domEdgeRoot,ab);this.fromLine.attachEvents();var ybb=this.getPointForTerminal(this.linkLayout.nodeOutgoingTerminal);ybb={'x':ybb.x,'y':ybb.y}
;this.toLine=new Line(self,ybb,_ab,_d);this.toLine.draw(ab.domEdgeRoot,ab);this.toLine.attachEvents();if(this.fromBreakpoint)this.drawBreakpoint($ab,'from',yab,ab);if(this.toBreakpoint)this.drawBreakpoint(_ab,'to',yab,ab);self.refreshDisplay();}
this.hide=function(){if(self.toLine!=null)self.toLine.hide();if(self.fromLine!=null)self.fromLine.hide();if(bz!=null&&bz.style!=null)bz.style.visibility='hidden';if(nbb)Core.hideNode(nbb);if(mbb)Core.hideNode(mbb);if(zbb)Core.hideNode(zbb);if($bb!=null){_bb($bb);_bb(acb);_bb(bcb);_bb(ccb);}
self.hideAllBreakpoints();}
this.show=function(){if(self.toLine&&self.fromLine){if(this.isParentClosed(self.toLine.edge.toItem)||this.isParentClosed(self.fromLine.edge.fromItem)){return;}
}
if(self.toLine!=null)self.toLine.show();if(self.fromLine!=null)self.fromLine.show();if(bz!=null&&bz.style!=null)bz.style.visibility='visible';if($bb!=null){dcb($bb);dcb(acb);dcb(bcb);dcb(ccb);}
if(pbb)self.refreshDisplay();}
this.getPointForTerminal=function(ecb){if(ecb=='N'){return kbb;}
if(ecb=='S'){return ibb;}
if(ecb=='E'){return hbb;}
if(ecb=='W'){return jbb;}
}
this.getConditionCanvasPos=function(){if(bz)return Core.findLocUpTo(bz,'canvas');else
return new Point(gbb,fbb);}
this.doMouseDownMove=function(wi,e){Core.appendClassName(bz,'eCanvasConditionSelected');var rk=_core.getActionConditionEdgeMove();rk.mouseUpCallbackObj=self;rk.mouseUpCallbackName='moveEnd';if(zbb&&Core.isSVG(bz))rk.setDomItems([bz,zbb]);else
rk.setDomItem(bz);rk.reset(e);_glActionData=rk;Core.preventDefault(e);}
this.moveEnd=function(_c,ad,yg,zg){if(_c==0&&ad==0){return;}
self.layout.x+=_c;self.layout.y+=ad;self.save(true,false,false);gbb+=_c;fbb+=ad;if(!bz||(bz.style.visibility=='hidden'))return;wbb(self.layout.width,self.layout.height);Core.removeClassName(bz,'eCanvasConditionSelected');self.refreshDisplay();}
function wbb(dc,ec){var fcb=dc/2;var gcb=ec/2;hbb.x=gbb+dc;hbb.y=fbb;ibb.x=gbb+fcb;ibb.y=fbb+gcb;jbb.x=gbb;jbb.y=fbb;kbb.x=gbb+fcb;kbb.y=fbb-gcb;}
function hcb(){var w=hbb.x-jbb.x;var h=ibb.y-kbb.y;Core.setLeftTop(bz,jbb.x,kbb.y);Core.setDimension(bz,w,h);self.canvas.expandPadding(jbb.x+w,kbb.y+h);}
function dcb(icb){if(icb){icb.refreshDisplay();icb.show();}
}
function _bb(icb){if(icb){icb.hide();}
}
function jcb(){var tf='';var ji=pbb.iconSrc;if(ebb.node){ji=ebb.node.getJsNodeType().iconSrc;tf=ebb.node.name;}
else{if(cbb.node){tf=cbb.node.name;ji=cbb.node.getJsNodeType().iconSrc;}
if(dbb.node){tf+=' '+self.operator;tf+=' '+dbb.node.name;}
}
qbb=tf;mbb=Core.addImage(lbb,ji,tf);if(mbb.tagName=='image'){Core.setDimension(mbb,16,16);var fe=(obb-16)/2;Core.setLeftTop(mbb,fe,fe)}
Core.addEvent(mbb,'mouseover',self,'doMouseOver');Core.addEvent(mbb,'mouseout',self,'doMouseOut');Core.addEvent(mbb,'mouseup',self,'doMouseUp');}
this.doMouseOver=function(wi,e){Core.addToolTip(qbb);}
this.doMouseOut=function(){UnTip();}
this.doMouseUp=function(wi,e){self.layout.isMinimized=!self.layout.isMinimized;self.refreshDisplay();Core.preventDefault(e);}
this.refreshDisplay=function(){if(self.layout.isMinimized){if(!mbb){jcb();}
Core.showNode(mbb);Core.hideNode(nbb);if(zbb)Core.hideNode(zbb);wbb(obb,obb);bz.style.backgroundImage='url('+Core.getImageUrl('condition.gif')+')';_bb($bb);_bb(acb);_bb(bcb);_bb(ccb);self.setReadyVariable();}
else{if(mbb){Core.hideNode(mbb);}
Core.showNode(nbb);if(!$bb){self.initMaximized(self.canvas);}
if(zbb)Core.showNode(zbb);bz.style.backgroundImage='none';var sbb=self.layout;self.positionSVG();sbb.width=nbb.offsetWidth;sbb.height=nbb.offsetWidth;wbb(sbb.width,sbb.height);dcb($bb);dcb(acb);dcb(bcb);dcb(ccb);}
this.updateFromDisplay(self.canvas);this.updateToDisplay(self.canvas);hcb();dcb(self.fromLine);dcb(self.toLine);}
var $bb;var acb;var bcb;var ccb;var zbb;this.initMaximized=function(ab){var _d=_core.findEdgeColor(self.colorId);$bb=new Line(self,hbb,ibb,_d);$bb.isArrow=false;$bb.draw(ab.domEdgeRoot,ab);acb=new Line(self,ibb,jbb,_d);acb.isArrow=false;acb.draw(ab.domEdgeRoot,ab);bcb=new Line(self,jbb,kbb,_d);bcb.isArrow=false;bcb.draw(ab.domEdgeRoot,ab);ccb=new Line(self,kbb,hbb,_d);ccb.isArrow=false;ccb.draw(ab.domEdgeRoot,ab);if(nbb.namespaceURI==IConstant.SVGNS){var _n=nbb;var kcb=nbb;}
else{var ot=Core.addTable(nbb,0);ot.setAttribute('cellPadding',2);var kcb=ot.insertRow(0).insertCell(0);Core.setClassName(kcb,'eCanvasConditionOperationRow');kcb.colSpan=3;var iy=ot.insertRow(ot.rows.length);var _n=iy.insertCell(iy.cells.length);}
cbb.init(_n);var lcb=Core.addImage(nbb,'collapse.gif','Click to minimize');if(lcb.tagName=='image'){lcb.setAttribute('width',16);lcb.setAttribute('height',16);}
else{lcb.style.position='absolute';lcb.style.top='0px';lcb.style.left='0px';lcb.style.zIndex=100;}
Core.addEvent(lcb,'mouseup',self,'doMouseUp');if(nbb.namespaceURI==IConstant.SVGNS){_n=nbb;if(!zbb)zbb=Core.addNode(this.canvas.domCanvasRoot,'span');zbb.style.position='absolute';zbb.style.zIndex=40;this.onShowOperator(zbb);_n=nbb;}
else{_n=iy.insertCell(iy.cells.length);zbb=Core.addNode(_n,'span');zbb.setAttribute('title','Click to change the operator');this.onShowOperator(zbb);_n=iy.insertCell(iy.cells.length);}
dbb.init(_n);ebb.init(kcb);}
this.positionSVG=function(){if(nbb.namespaceURI==IConstant.SVGNS){var mcb=50;var ncb=25;var ocb=3;var pcb=cbb.svgWidth+ocb*2;if(dbb.domRoot)pcb+=mcb+dbb.svgWidth;if(ebb.svgWidth>pcb)pcb=ebb.svgWidth;var top=Math.ceil((pcb-ncb)/2);Core.setLeftTop(cbb.domRoot,0,top);var pb=Core.findLocUpTo(nbb,'canvas');if(dbb.domRoot){Core.setLeftTop(dbb.domRoot,cbb.svgWidth+mcb+ocb*2,top);Core.setLeftTop(zbb,pb.x+cbb.svgWidth+ocb,fbb-pcb/2+top);}
if(ebb.domRoot){var qcb=top-Math.ceil(ncb/2)-ebb.svgHeight;var rcb=Math.ceil((pcb-ebb.svgWidth)/2);Core.setLeftTop(ebb.domRoot,rcb,qcb);}
nbb.offsetWidth=pcb;}
}
var scb;this.showConditionEdgeTerminals=function(ab,lb){if(!scb){scb=new ConditionEdgeTerminal();scb.init(ab);}
scb.show(ab,lb);}
this.hideConditionEdgeTerminals=function(ab,lb){if(scb){scb.hide();}
_core.hideNodeEdgeTerminals();}
var tcb;this.onShowOperator=function(cg,e){cg.innerHTML='';tcb=Core.addNode(cg,'select');Core.addEvent(tcb,'change',self,'onChangeSaveOperator');var nw=_core.conditionOperators;var pw=-1;for(var i=0;i<nw.length;i++){var kt=nw[i];var o=Core.addNode(tcb,'option');o.setAttribute('value',kt);if(kt==self.operator){pw=i;}
Core.addText(o,kt);}
if(pw>=0){tcb.selectedIndex=pw;}
tcb.className='ePropertyCell';if(!self.canvas.isEditable)tcb.disabled='disabled';}
this.onChangeSaveOperator=function(){self.operator=tcb.selectedIndex;self.save(false,false,true);}
this.updateFromDisplay=function(ab){if(!self.isDisplayed){return;}
var $ab=Edge.getTerminalLocation(this.fromItem,this.sourceTerminal,ab);this.fromLine.setFrom($ab.x,$ab.y);var _ab=this.getPointForTerminal(this.linkLayout.nodeIncomingTerminal);this.fromLine.setTo(_ab.x,_ab.y);this.fromLine.updateHandlerLocations();if(this.fromBreakpoint)this.drawBreakpoint($ab,'from');}
this.updateToDisplay=function(ab){if(!self.isDisplayed){return;}
var _ab=Edge.getTerminalLocation(this.toItem,this.targetTerminal,ab);this.toLine.setTo(_ab.x,_ab.y);var $ab=this.getPointForTerminal(this.linkLayout.nodeOutgoingTerminal);this.toLine.setFrom($ab.x,$ab.y);this.toLine.updateHandlerLocations();if(this.toBreakpoint)this.drawBreakpoint(_ab,'to');}
this.readyVariable;this.setReadyVariable=function(ucb){if(self.readyVariable){self.readyVariable.unHighlight();}
self.readyVariable=ucb;if(!ucb){_core.activeConditionEdge=undefined;}
else{self.readyVariable.highlight();_core.activeConditionEdge=self;}
}
this.setVariableItem=function(lb){if(self.layout.isMinimized||!self.readyVariable){return;}
if(lb){if((self.readyVariable==ebb)&&!lb.node.isOperationType()){alert('The method variable may only be set to a method.');return;}
else if((self.readyVariable!=ebb)&&!lb.node.isField()){alert('The field variable must be set to a field or column.');return;}
self.readyVariable.node=lb.node;self.readyVariable.displayNode();}
else{self.readyVariable.node=null;self.readyVariable.displaySpace();}
self.readyVariable.unHighlight();self.readyVariable=null;self.refreshDisplay();_core.newConditionEdge=null;self.save(true,true,true);vcb=true;}
this.isReady=function(){if(self.readyVariable&&self.layout&&!self.layout.isMinimized){return true;}
return false;}
this.doKeyDown=function(gj,e){var gc=(e.charCode)?e.charCode:e.keyCode;if(gc==ActionData.DELETE){self.setVariableItem();}
}
this.save=function(wcb,xcb,ycb){var pc=_core.editor.getHttp('saveConditionEdge',self,'saveReady');pc.isCallUpdateData=true;pc.addParameter('pmBeginTrans','yes');pc.addParameter('canvasRootNodeId',self.canvas.rootNode.fullName);pc.addParameter('edgeIds',self.name);if(wcb){var wc=new Layout;wc.x=self.layout.x;wc.y=self.layout.y;wc.width=self.layout.width;wc.height=self.layout.height;var $c=_core.editor.JSON().objectToJSONStr(wc);pc.addParameter('layoutChanges',$c);var zcb=_core.editor.JSON().objectToJSONStr(this.linkLayout);pc.addParameter('linkLayoutChanges',zcb);}
if(xcb){rc=pc.nodeToId(ebb.node);pc.addParameter('nodeIds',rc);var rc=pc.nodeToId(cbb.node);pc.addParameter('nodeIds',rc);rc=pc.nodeToId(dbb.node);pc.addParameter('nodeIds',rc);}
if(ycb&&tcb){pc.addParameter('condOperator',tcb.selectedIndex);}
pc.call();}
this.saveReady=function(sc,pc){window.status=pc.dbNode.message;}
this.discard=function(){if(bz){bz.style.display='none';}
if(zbb){Core.hideNode(zbb);}
$cb(self.fromLine);$cb(self.toLine);$cb($bb);$cb(acb);$cb(bcb);$cb(ccb);self.hideAllBreakpoints();}
function $cb(icb){if(icb){icb.discard();}
}
this.getVarA=function(){return cbb;}
this.getVarB=function(){return dbb;}
this.getVarOp=function(){return ebb;}
this.getOperator=function(){return tcb;}
this.setColor=function(nu){self.colorId=nu;var _d=_core.findEdgeColor(nu);self.fromLine.setColor(_d);self.toLine.setColor(_d);if($bb){$bb.setColor(_d);acb.setColor(_d);bcb.setColor(_d);ccb.setColor(_d);}
}
this.highlight=function(){var _cb=[self.toLine,self.fromLine];for(var i in _cb){var icb=_cb[i];if(icb)icb.highlight();}
self.canvas.addHighlightedAction(self);}
this.deHighlight=function(){var _cb=[self.toLine,self.fromLine];for(var i in _cb){var icb=_cb[i];if(icb)icb.deHighlight();}
}
function ConditionEdgeTerminal(){this.canvas;this.edgeCondition;this.nHandler;this.sHandler;this.eHandler;this.wHandler;var self=this;var adb;var bdb=10;this.init=function(ab){this.canvas=ab;adb=Core.addNode(self.canvas.domCanvasRoot,'span');var s=adb.style;s.zIndex=90;s.position='absolute';this.nHandler=new ConditionHandler(self,'N');this.nHandler.init(adb,bdb);this.sHandler=new ConditionHandler(self,'S');this.sHandler.init(adb,bdb);this.eHandler=new ConditionHandler(self,'E');this.eHandler.init(adb,bdb);this.wHandler=new ConditionHandler(self,'W');this.wHandler.init(adb,bdb);adb.style.visibility='hidden';}
this.show=function(ab,lb){this.canvas=ab;this.edgeCondition=lb;var cdb=bdb/2;this.nHandler.setLeftTop(kbb.x-cdb,kbb.y-cdb);this.sHandler.setLeftTop(ibb.x-cdb,ibb.y-cdb);this.eHandler.setLeftTop(hbb.x-cdb,hbb.y-cdb);this.wHandler.setLeftTop(jbb.x-cdb,jbb.y-cdb);adb.style.display='block';adb.style.visibility='visible';}
this.hide=function(){adb.style.visibility='hidden';}
this.doMouseUp=function(eg,e){if(self.canvas.isDraggingEdge){self.canvas.isDraggingEdge=false;var icb=self.canvas.draggingLine;icb.width=1;var pk=eg._glEdgeHander;if(icb==self.edgeCondition.toLine){icb.sourceTerminal=pk.terminal;this.edgeCondition.linkLayout.nodeOutgoingTerminal=pk.terminal;this.edgeCondition.updateToDisplay(self.canvas);}
else if(icb==self.edgeCondition.fromLine){icb.targetTerminal=pk.terminal;this.edgeCondition.linkLayout.nodeIncomingTerminal=pk.terminal;this.edgeCondition.updateFromDisplay(self.canvas);}
if(icb._vStroke){icb._vStroke.setAttribute('DashStyle','solid');}
icb.refreshDisplay();icb.show();icb.fromHandler.show();icb.toHandler.show();icb.edge.hideConditionEdgeTerminals();this.edgeCondition.save(true,false,false);return Core.preventDefault(e);}
}
this.doMoveLinkReady=function(sc,pc){var gd=self.canvas.draggingLine.edge;self.canvas.selectionEdge.unSelectAll();self.canvas.selectionEdge.select(gd);}
}
function ConditionHandler(ddb,_h){this.conditionEdgeTerminals=ddb;this.terminal=_h;var self=this;var edb;this.init=function(hg,iw){edb=Core.addImage(hg,'transparent.gif');edb._glEdgeHander=self;edb.setAttribute('width',iw);edb.setAttribute('height',iw);Core.setClassName(edb,'conditionEdgeHandler');var s=edb.style;Core.addEvent(edb,'mouseup',self.conditionEdgeTerminals,'doMouseUp');Core.addEvent(edb,'mouseover',self,'doMouseOver');Core.addEvent(edb,'mouseout',self,'doMouseOut');}
this.doMouseOver=function(){Core.appendClassName(edb,'conditionEdgeHandlerMouseOver');}
this.doMouseOut=function(){Core.removeClassName(edb,'conditionEdgeHandlerMouseOver');}
this.setLeftTop=function(ac,top){var s=edb.style;s.left=ac+'px';s.top=top+'px';}
}
}
function EdgeHighlighter(ab){this.canvas=ab;}
EdgeHighlighter.prototype.openDAMForNode=function(bf,hf,sh,th){var top=this.canvas.getTopNodeFromFullName(bf,hf);var xh=this.canvas.getItem(top);var eg=this.canvas.getItemChildrenControlImg(xh);if(!eg){eg=this.canvas.addNodeOpenCloseChildrenImg(xh);}
this.canvas.setOpenOneReadyCallback(sh,th);this.canvas.doNodeOpenCloseMouseOver(eg);}
EdgeHighlighter.prototype.scrollToAndHighlight=function(gd){this.edge=gd;this.canvas.deHighlightAllActions();var fdb=gd.fromItem;if(!fdb){this.openDAMForNode(gd.fromFullName,gd.fromParentRef,this,'_scrollToEdgeCheckTo');return;}
else
this._scrollToEdgeCheckTo();}
EdgeHighlighter.prototype._scrollToEdgeCheckTo=function(){var tp=this.edge.toItem;if(!tp){this.openDAMForNode(this.edge.toFullName,this.edge.toParentRef,this,'_performScrollAndHighlight');return;}
else
this._performScrollAndHighlight();}
EdgeHighlighter.prototype._performScrollAndHighlight=function(){this.canvas.clearOpenOneReadyCallback();var fdb=this.edge.fromItem;var tp=this.edge.toItem;this.canvas.makeTopLevelVisible(fdb.node);this.canvas.makeTopLevelVisible(tp.node);this.edge.highlight();this.scrollToEdge(this.edge);}
EdgeHighlighter.prototype.scrollToEdge=function(gd){var gdb;if(gd.getConditionCanvasPos){gdb=gd.getConditionCanvasPos();}
else{var hdb=Edge.getTerminalLocation(gd.fromItem,gd.sourceTerminal,this.canvas);var idb=Edge.getTerminalLocation(gd.toItem,gd.targetTerminal,this.canvas);gdb=new Point((hdb.x+idb.x)/2,(hdb.y+idb.y)/2);}
var jdb=Core.getDimensions(this.canvas.domCanvasRoot);var x=gdb.x-jdb[0]/2;var y=gdb.y-jdb[1]/2;this.canvas.scroll(x,y);}
function Editor(){var self=this;this.version;this.toolbar;this.navigator;this.canvasTabPanel;this.propertyWindow;this.palette;var kdb;var ldb;this.canvasList=new Array();var mdb;this.currentProductVersion;this.allProductVersions;this.userId;this.listeners=new Array();this.breakpointManager=new BreakpointManager();this.init=function(){_core.editor=self;document.oncontextmenu=Core.preventDefault;document.onmousedown=Core.onMouseDown;document.onmousemove=Core.onMouseMove;document.onmouseup=Core.onMouseUp;document.onkeydown=Core.onKeyUp;document.body.style.backgroundColor='buttonface';}
function ndb(){var px=navigator.userAgent;var qx;var rx;if((rx=px.indexOf('MSIE'))!=-1){return true;}
else if((rx=px.indexOf('Firefox'))!=-1){qx=px.substring(rx+8);qx=parseFloat(qx);if(qx>=2)return true;else
return false;}
else
return false;if(document.all){return true;}
else{return false;}
}
function odb(){var t=Core.incompatibleMessage;var pdb=new DialogWindow(document.body);pdb.init();pdb.setTitle('Browser Incompatibility');pdb.setMessage(t);pdb.open();pdb.moveToCenter();}
this.show=function(vt,wt,qx,aab,qdb,rdb,hl,sdb,tdb,udb,vdb,wdb){if(udb=='false'){if(!Core.isBrowserOkay()){odb();}
}
this.version=qx;this.dbName=aab;this.currentProductVersion=qdb;this.allProductVersions=rdb;this.userId=hl;this.appManContextPath=sdb;this.isDragon=tdb;this.isDev=udb;this.isViewOnly=vdb;this.isDebugMode=wdb;_core.init(vt,wt);xdb();kdb=Core.addNode(document.body,'span');ldb=Core.addNode(document.body,'span');self.toolbarMenuFactory=new ToolbarMenuFactory();self.toolbar=new Toolbar(self,ldb);self.toolbar.init();self.navigator=new Navigator(self,ldb);self.navigator.init();self.navigator.initTree(new Tree(self,self.navigator));Core.addEventHandler(window,'resize',self.refreshDisplay);ydb=new ResizeSide(false,self,'onNavResizeWidthFinish');ydb.init(ldb,'e-resize');zdb=new ResizeSide(true,self,'onNavResizeHeightFinish');zdb.init(ldb,'n-resize');self.refreshDisplay();_core.initDragCursor(ldb);}
var $db=new Array();this.findCanvasByFullName=function(bf){return $db[bf];}
this.doOpenCanvas=function(oc,jd,kd){var _db=false;if(!self.palette){self.palette=new Palette(self,ldb);self.palette.init();_db=true;}
else{self.palette.resetSelect();}
var ab=this.canvasList[oc.id];if(ab){this.canvasTabPanel.open(oc.id,oc.name,ab.domCanvasRoot,ab);}
else{if(!this.canvasTabPanel){this.canvasTabPanel=new TabPanel(self,kdb);this.canvasTabPanel.init();_db=true;}
ab=new CanvasEvent(this,oc);ab.init();this.canvasList[oc.id]=ab;this.canvasTabPanel.open(oc.id,oc.name,ab.domCanvasRoot,ab);ab.setInitChildDisplay();ab.initDisplayAll();$db[ab.rootNode.fullName]=ab;_db=true;}
ab.scroll(jd,kd);self.clearActionNewNode();if(_db){this.refreshDisplay();}
self.executeActionOpenCanvas();}
this.setCurrentCanvas=function(ab){mdb=ab;}
this.getCurrentCanvas=function(){return mdb;}
this.clearCurrentCanvas=function(){if(mdb){mdb.clear();}
}
this.updateCanvasTitle=function(oc){var ab=this.canvasList[oc.id];if(ab){ab.updateTitle();}
}
this.updateStartOperations=function(oc){for(var mb in this.canvasList){var ab=this.canvasList[mb];if(ab){ab.updateStartOpLink(oc);}
}
}
this.updatePrimaryKeyFields=function(oc){for(var mb in this.canvasList){var ab=this.canvasList[mb];if(ab){ab.updatePrimaryKeyDisplay(oc);}
}
}
this.updateDeleteChild=function(oc){var aeb;var mg=new Array();for(var mb in this.canvasList){var ab=this.canvasList[mb];if(ab.rootNode.id==oc.id){aeb=ab;continue;}
mg[ab.rootNode.id]=ab;ab.removeNodeEdges(oc);var beb=ab.getNodeDomRoot(oc);if(beb){Core.deleteDom(beb);}
}
if(aeb){self.canvasTabPanel.doCloseItem(aeb);self.canvasList=mg;}
}
var ceb;this.getPropertyDialog=function(){if(!ceb){ceb=new PropertyWindow();ceb.editor=self;ceb.init();}
return ceb;}
this.openPropertyDialog=function(oc){if(!ceb){ceb=new PropertyWindow();ceb.editor=self;ceb.init();ceb.show(oc);ceb.dialog.setTitle(oc.name+' Properties');ceb.dialog.moveToCenter();}
else{ceb.show(oc);ceb.dialog.setTitle(oc.name+' Properties');}
}
this.openPropertyWindow=function(oc){if(!ceb||!ceb.dialog.isOpen()){return;}
self.openPropertyDialog(oc);return;if(!self.propertyWindow){self.propertyWindow=new PropertyWindow(self,ldb);self.propertyWindow.init();this.refreshDisplay();}
self.propertyWindow.show(oc);}
this.doOpenPropertyWindow=function(wi){var oc=wi._glNetworkNode;if(!oc){return;}
self.openPropertyWindow(oc);return true;}
this.showStatus=function(su){window.status=su;}
this.getHttp=function(kj,gn,dj){var pc=new HTTP('editor.do',gn,dj);pc.addParameter('action',kj);return pc;}
var deb;var eeb;this.openMessageBox=function(ll){if(!deb){feb();}
deb.innerHTML=ll;eeb.style.display='block';}
this.closeMessageBox=function(){if(deb){eeb.style.display='none';}
}
function feb(){eeb=Core.addTable(document.body,1);eeb.setAttribute('width','');eeb.setAttribute('height','');eeb.style.position='absolute';eeb.style.zIndex=1000;var gab=eeb.insertRow(0);deb=gab.insertCell(0);deb.setAttribute('align','center');deb.className='messagebox';geb();}
function geb(){var ac=(self.winDim.width-eeb.offsetWidth)/2+document.body.scrollLeft;var top=(self.winDim.height-eeb.offsetHeight)/3+document.body.scrollTop;eeb.style.left=ac+'px';eeb.style.top=top+'px';}
var heb=null;this.getActionNewNode=function(){return heb;}
this.setActionNewNode=function(ieb){heb=ieb;if(heb){}
}
this.clearActionNewNode=function(){if(heb){heb.callback();}
heb=null;_core.clearDrag();_core.hideDragCursor();_core.hideNodeEdgeTerminals();}
var jeb=null;this.setActionEscKeyUp=function(keb){jeb=keb;}
this.clearActionEscKeyUp=function(){jeb=null;}
this.executeAndClearActionEscKeyUp=function(){if(jeb){jeb.callback();}
self.clearActionEscKeyUp();}
var leb=null;this.setActionEnterKeyUp=function(meb){leb=meb;}
this.clearActionEnterKeyUp=function(){leb=null;}
this.executeEnterKeyUp=function(){if(leb){leb.callback();}
}
var neb=null;this.setActionOpenCanvas=function(kj){neb=kj;}
this.executeActionOpenCanvas=function(){if(neb){neb.callback();}
neb=null;}
var oeb;this.JSON=function(){if(!oeb){oeb=new JSON();}
return oeb;}
this.deleteSelectedNodesAndEdges=function(){if(!mdb){return;}
mdb.deleteSelectedNodes();mdb.selectionEdge.doDelete();}
this.isCurrentCanvasReadyForDrop=function(oc){if(!mdb){return false;}
var id=mdb.rootNode;if(id.isProcess()){return true;}
if(id.isDatabase()){return true;}
if(id.isMenuList()&&oc.isProcess()){return true;}
if(id.isClassPackage()&&oc.isProcess()){return true;}
if(id.isApplication()&&oc.isProcess()&&oc.parent.isClassPackage())return true;if(id.isDbPackage()&&oc.isDbTable()){return true;}
return false;}
this.processParameters=function(){var peb=_core.parameters.openCanvasIds;if(!peb||peb.length<1){_core.getMassager().retrieveMessage();return;}
self.openMessageBox('loading ...');for(var i=0;i<peb.length;i++){var mb=peb[i];qeb(mb);}
}
function qeb(reb){var seb=reb.split('.');var teb=new Array();var bf='';for(var i=0;i<seb.length;i++){bf+=seb[i];teb[i]=bf;bf+='.';}
$g(self.navigator.rootNode,teb,0);}
function $g(oc,teb,ed){if(ed>teb.length){return;}
var ueb;var tc=oc.getChildByFullName(teb[ed]);if(tc){if(tc.level==1||tc.level==0){tc=self.navigator.tree.processRootNode;}
if(ed+1==teb.length){var jd=_core.parameters.canvasScrollLeft;var kd=_core.parameters.canvasScrollTop;self.navigator.tree.doOpenCanvasOnly(tc,jd,kd);return;}
ueb=tc;}
else{ueb=oc;}
if(ed+1>=teb.length){return;}
var pc=self.getHttp('loadNode',self,'loadChildrenReady');pc.node=ueb;pc.fullNames=teb;pc.index=ed;pc.addParameter('loadChildren','true');if(ueb.isProcess()||ueb.isDatabase()){}
pc.call();}
this.loadChildrenReady=function(sc,pc){pc.node.updateChildrenByDbNode(pc);$g(pc.node,pc.fullNames,pc.index+1);self.closeMessageBox();_core.getMassager().retrieveMessage();}
this.savePref=function(ab){if(!ab){return;}
var pc=self.getHttp('savePref',self,'savePrefReady');pc.addParameter('pmBeginTrans','yes');pc.addParameter('canvasScrollLeft',ab.getScrollLeft());pc.addParameter('canvasScrollTop',ab.getScrollTop());pc.call();}
this.savePrefReady=function(sc,pc){}
var veb;var web;function xdb(){if(_core.isIE){veb=2;web=35;}
else{veb=2;web=32; }
self.winDim=Core.getWindowDimension();}
this.getVScrollbarWidth=function(){return veb;}
this.getHScrollbarHeight=function(){return web;}
var ydb;var zdb;this.onNavResizeWidthFinish=function(_c,ad){var w=_core.userPref.navigatorWidth+_c;if(w<160){w=160;}
_core.userPref.navigatorWidth=w;self.refreshDisplay();}
this.onNavResizeHeightFinish=function(_c,ad){var h=_core.userPref.navigatorHeight+ad;if(h<10){return;}
_core.userPref.navigatorHeight=h;self.refreshDisplay();}
function xeb(yeb){var h=yeb.height;if(self.palette){h+=self.palette.getHeight();}
var rd=Core.getWindowDimension().height-yeb.y;ydb.refreshToRightSide(self.navigator.table,Math.min(h,rd));zdb.refreshToBottomSide(self.navigator.table);}
function zeb(){if(self.navigator.isMax){self.navigator.doMax();return true;}
else if(self.propertyWindow&&self.propertyWindow.isMax){self.propertyWindow.doMax();return true;}
else if(self.canvasTabPanel&&self.canvasTabPanel.isMax){self.canvasTabPanel.doMax();return true;}
return false;}
this.refreshDisplay=function(){self.doNormalDisplay();if(zeb()){return;}
}
this.doNormalDisplay=function(){var PALETTE_HEIGHT=275;var $eb=_core.userPref.navigatorWidth;var ee=Core.getWindowDimension();var _eb=self.toolbar.layout;_eb.height=self.toolbar.table.clientHeight;var yeb=self.navigator.layout;yeb.x=0;yeb.y=_eb.height;yeb.width=$eb;yeb.height=afb(ee.height-_eb.height-PALETTE_HEIGHT);if(self.isViewOnly&&self.isDragon!='true'){yeb.height=Math.max(yeb.height,(ee.height-_eb.height)/2);document.body.style.overflow='hidden';}
self.navigator.refreshDisplay();if(self.propertyWindow){var bfb=self.propertyWindow.layout;bfb.x=0;bfb.y=yeb.y+yeb.height;bfb.width=$eb;bfb.height=afb(ee.height-yeb.height-_eb.height-web);self.propertyWindow.refreshDisplay();}
if(self.canvasTabPanel){var cfb=self.canvasTabPanel.layout;cfb.x=$eb;cfb.y=yeb.y;cfb.width=afb(ee.width-$eb-veb);cfb.height=afb(ee.height-_eb.height-web);self.canvasTabPanel.refreshDisplay();}
if(self.palette){self.palette.moveTo(0,yeb.y+yeb.height);self.palette.setWidth($eb);self.palette.setHeight(PALETTE_HEIGHT-4);}
xeb(yeb);}
function afb(al){if(al<0){return 0;}
else{return al;}
}
var dfb='/pdapps-Feedback-dev/c.do?o=appke7.Pke3508.Pke3512';this.doFeedback=function(){window.open(dfb+'&pdusername='+this.userId);}
this.doRefresh=function(){var yf='editor.do?action=view&refresh=true';if(mdb){yf+='&openCanvasIds='+mdb.rootNode.fullName;}
window.location.href=yf;}
this.doReOpen=function(efb){var yf='editor.do?action=view';if(efb){yf+='&openCanvasIds='+efb;}
else if(mdb){yf+='&openCanvasIds='+mdb.rootNode.fullName;}
window.location.href=yf;}
this.doRefreshNoOpen=function(){var yf='editor.do?action=view';window.location.href=yf;}
this.doBack=function(){var yf='editor.do?action=forwardToLastPage&exceptPath=editor.do';window.location.href=yf;}
this.doLogoff=function(){var yf='logoff.do';window.location.href=yf;}
this.doMyProfile=function(){var yf='editRegistration.do?action=view&bodyOnly=true&editUserId='+self.userId;_core.openInIframeWindow('My Profile',yf);}
this.doMyApps=function(){this.showMyApps();}
this.showMyApps=function(ffb){var yf='';if(this.appManContextPath){}
yf+='editor.do?action=viewApp';if(ffb){yf+='&sessionId='+ffb;}
window.location.href=yf;}
this.doOpenBlog=function(){var gfb=_core.getChatWindow();gfb.show();}
var hfb;this.deleteItems=function(kb,ifb,ab){if(!hfb){hfb=new ActionData(null,ActionData.CANVAS_KEY_DOWN);}
hfb.canvas=ab;hfb.isConfirm=ifb;hfb.setItems(kb);hfb.doDeleteNodes();}
var jfb=new Array();function kfb(oc){var tb=jfb[oc.id];if(!tb){tb=1;}
else{tb=tb+1;}
jfb[oc.id]=tb;return tb;}
function lfb(oc,mfb){var nfb={}
;var tc;for(var i=0;i<oc.children.length;i+=1){tc=oc.children[i];if(!tc)continue;nfb[tc.name]=true;}
var ofb;var dy;for(dy=oc.children.length+1;true;dy+=1){ofb='New '+mfb+' '+dy;if(!nfb[ofb]){nfb[ofb]=true;break;}
}
return dy;}
function pfb(oc,ab){if(ab){return oc.getCanvasLayout(ab.rootNode.id);}
else{return oc.getLayout();}
}
this.addNewNode=function(ab,nj,ig,qf,e,location,qfb,name,bk,rfb){var kj=self.getActionNewNode();var dk;if(kj){dk=kj.nodeType;}
else{dk=_core.findNodeType(nj);}
if(!dk){alert('Invalid type id '+nj);}
var pc=self.getHttp('addChild',self,'doNewNodeReady');pc.addParameter('pmBeginTrans','yes');pc.node=qf;pc.isTop=ig;pc.canvas=ab;pc.parameter=bk;if(ab){pc.canvasRootNode=ab.rootNode;}
var sfb;switch(nj){case IConstant.JS_TYPE_PROCESS:case IConstant.JS_TYPE_CLASS_PACKAGE:sfb=new NetworkNode(IConstant.JS_TYPE_OPERATION);break;case IConstant.JS_TYPE_MENULIST:sfb=new NetworkNode(IConstant.JS_TYPE_OPERATION);pc.addParameter('propertyNames','menu list');pc.addParameter('propertyValues','0');break;case IConstant.JS_TYPE_DATAFILE:if(ab&&ab.rootNode.isMenuList()){pc.addParameter('propertyNames','menu list');pc.addParameter('propertyValues','0');}
sfb=new NetworkNode(nj);break;default:sfb=new NetworkNode(nj);break;}
if(rfb){pc.addParameter('assignLayout',true);}
var wc=pfb(sfb,ab);if(ab){var hg;if(ig){hg=ab.domCanvasRoot;pc.displayLevel=0;}
else{hg=ab.getNodeDomRoot(qf);pc.displayLevel=2;}
pc.domParent=hg;ab.computeNodeLayout(sfb,hg,ig,e,location);}
if((kj&&kj.packageNode)||(bk&&bk.packageNode)){var tfb=(kj&&kj.packageNode)?kj.packageNode:bk.packageNode;var ufb=(typeof tfb=='string')?tfb:pc.nodeToId(tfb);pc.addParameter('packageNodeId',ufb);pc.packageNode=tfb;if(kj)kj.packageNode=null;}
if(kj&&kj.refNode){var vfb=pc.nodeToId(kj.refNode);pc.addParameter('jsonAddChildRefNodeId',vfb);if(kj.refToNode){var wfb=pc.nodeToId(kj.refToNode);pc.addParameter('jsonAddChildRefToNodeId',wfb);pc.addParameter('sourceTerminal','E');pc.addParameter('targetTerminal','W');var SPACE=15;var xfb=pfb(ab.getTopLevelNode(kj.refToNode),ab);wc.x=xfb.x+xfb.width+SPACE;wc.y=xfb.y;var yfb=pfb(kj.refNode,ab);wc.width=yfb.width;wc.height=yfb.height;pc.refToNode=kj.refToNode;}
else{var yfb=pfb(kj.refNode,ab);wc.width=yfb.width;wc.height=yfb.height;}
pc.refNode=kj.refNode;kj.refNode=null;kj.refToNode=null;}
else{if(!ig&&sfb.typeId==IConstant.JS_TYPE_DATAFILE){var SCALE_DOWN=0.8;wc.width=wc.width*SCALE_DOWN;wc.height=wc.height*SCALE_DOWN;}
if(name){pc.addParameter('propertyNames','name');pc.addParameter('propertyValues','New '+name+' '+lfb(qf,name));}
}
if(bk){var fu=bk.properties;for(var mb in fu){pc.addParameter('propertyNames',mb);pc.addParameter('propertyValues',fu[mb]);}
}
qf.getJsNodeType();sfb.getJsNodeType();var zfb=new JSON();var p=self.JSON().nodeToJSONStr(qf,ab);var c=self.JSON().nodeToJSONStr(sfb,ab);if(ab){pc.addParameter('canvasRootNodeId',ab.rootNode.fullName);}
pc.addParameter('jsonAddChildParent',p);pc.addParameter('jsonAddChildChild',c);self.addAutoDisplayProperty(pc,nj);var $fb;if(qfb==true){$fb=qfb;}
else{if(kj&&kj.refNode){$fb=false;}
else{$fb=_core.userPref.isPrompForNewNode;}
}
if($fb){if(qf.isApplication()&&bk&&bk.callNodeType){_core.getTypePopup(bk.callNodeType).open(e,pc,location,true);_core.hideContextMenuLocationCross();}
else{_core.getTypePopup(dk).open(e,pc,location,true);}
}
else{pc.call();}
}
this.addAutoDisplayProperty=function(pc,nj){if(self.currentProductVersion>1){return;}
if(nj==IConstant.JS_TYPE_DATAFILE||nj==IConstant.JS_TYPE_DATAGROUP||nj==IConstant.JS_TYPE_DATAARRAY||nj==IConstant.JS_TYPE_DATAELEMENT){pc.addParameter('propertyNames','display');pc.addParameter('propertyValues','0');if(nj==IConstant.JS_TYPE_DATAELEMENT){pc.addParameter('propertyNames','edit');pc.addParameter('propertyValues','0');}
}
}
this.doNewNodeReady=function(sc,pc){var oc=(pc.packageNode&&typeof pc.packageNode!='string')?pc.packageNode:pc.node;var ab=pc.canvas;if(pc.refToNode&&ab.rootNode!=oc)oc=ab.rootNode;var bk=pc.parameter;var _fb=null;if(ab){_fb=new CheckPointAddChild(pc,self);_fb.node=oc;_core.undoRedo.addUndo(_fb);oc.updateChildrenByDbNodeOpenCanvas(pc,ab.rootNode.id);oc.updateEdgesByDbNode(pc);}
else{oc.updateChildrenByDbNode(pc);}
var $g=pc.loadChildren;if(ab){ab.selectionNode.unSelectNodeAll();ab.selectionEdge.unSelectAll();ab.displayNewChildren(pc,oc,pc.domParent,$g,false);var b_=pc.loadEdges;if(b_&&b_.length>0){for(var mb in b_){var gd=b_[mb];gd.display(ab.domEdgeRoot,ab);ab.initEdgeHash(gd);}
}
_fb.loadChildren=$g;_fb.newEdges=b_;}
self.navigator.updateAddNewNode(oc,$g);if(ab&&bk&&bk.isCopyRefChildren){var agb=bk.refToNode;var bgb=ab.getNodeDomRoot(agb);pc.isUpdateRefToNodeChildren=true;agb.updateChildrenByDbNodeOpenCanvas(pc,ab.rootNode.id);var cgb=pc.loadChildren
ab.displayNewChildren(pc,agb,bgb,cgb,true);ab.selectionEdge.unSelectAll();ab.selectionNode.unSelectNodeAll();}
if((oc.isClassPackage()||oc.isApplication()||(oc.isDbPackage()&&!pc.refToNode)||(oc.isDatabase()&&pc.undisplayRefNode))&&pc.refNode){var tc;for(var i in $g){tc=$g[i];break;}
this.classMoveDisplayUpdate(pc.refNode);var dgb=pc.refNode.parent;if(!pc.isUpdateRefToNodeChildren){for(var i in pc.dbNode.newRefToNodeChildren){var egb=pc.dbNode.newRefToNodeChildren[i];var fgb=dgb.getChildByFullName(egb.f);this.classMoveDisplayUpdate(fgb);}
}
}
this.fireNodeAdded(oc,$g);}
this.fireNodeAdded=function(parent,ce){var tc;for(var j in ce){tc=ce[j];break;}
for(var ggb in this.listeners){this.listeners[ggb].onEvent(parent,tc);}
}
this.classMoveDisplayUpdate=function(lj,sfb){var dgb=lj.parent;var ab=self.canvasList[lj.id];var hgb=self.canvasTabPanel.isNodeOpen(lj);dgb.removeChild(lj);self.updateDeleteChild(lj);self.navigator.tree.updateDeleteChild(dgb,lj);var igb=self.canvasList[dgb.id];if(igb){var jgb=igb.getItem(lj);jgb.deHighlight();}
}
this.replaceClassFromPackage=function(uc,e,ufb){var kgb=(uc.isDbTable())?self.navigator.tree.dbRootNode:self.navigator.tree.processRootNode;var ab=this.canvasList[kgb.id];var pc=self.getHttp('resetDefaultPackage',self,'doNewNodeReady');pc.addParameter('pmBeginTrans','yes');pc.node=kgb;pc.canvas=ab;pc.domParent=ab.domCanvasRoot;var jg=ab.getMousePosition(e);var zfb=new JSON();pc.addParameter('layoutChanges',zfb.objectToJSONStr(jg));pc.addParameter('loadChildren','true');pc.addParameter('canvasRootNodeId',kgb.fullName);pc.addParameter('loadLayout',true);var mb=pc.nodeToId(uc);pc.refNode=uc;pc.undisplayRefNode=true;pc.addParameter('nodeInPackageId',mb);if(ufb)pc.addParameter('packageNodeId',ufb);pc.call();}
var lgb;this.doDragon=function(){if(!lgb){lgb=new DialogIframe('Wizards');lgb.init();lgb.url='wizard.do?action=view&bodyOnly=true';}
lgb.open();if(lgb.isMaxRestore){lgb.doDialogMaxRestore();}
lgb.moveToCenter();lgb.load();lgb.moveToTop();return;}
this.doExitDragon=function(){self.doRefresh();}
this.doCommunity=function(){var mgb=_core.getCommunity();mgb.open();mgb.moveToCenter();}
var ngb;this.getSupportUrls=function(){if(!ngb){ngb={}
;var ogb='&pdusername='+this.userId;ngb.boardUrl='/pdapps-community_app-dev/c.do?o=appke7.Pke16.Pke1622'+ogb;ngb.newsUrl='/pdapps-news-dev/c.do?o=appke7.Pke2807.Pke2810'+ogb;ngb.feedbackUrl=dfb+ogb;ngb.bugUrl='/pdapps-BugTracker-dev/c.do?o=appke7.Pke12.Pke20'+ogb;}
return ngb;}
var pgb;this.doSupport=function(){if(!pgb){var qgb=self.getSupportUrls();var rgb=qgb.boardUrl;var sgb=qgb.newsUrl;var tgb=qgb.feedbackUrl;var ugb=qgb.bugUrl;var t='';t+='<ul style="list-style:url(image/pd_dialog_icon.gif)">';t+=' <li> &nbsp; <a class="msgLink" target="_newPdWin" href="'+sgb+'">News</a>. The latest pointdragon news.</li><br/>';t+=' <li> &nbsp; <a class="msgLink" target="_newPdWin" href="'+tgb+'">Feedback</a>. Provide feedback to the developers of pointdragon.</li><br/>';t+=' <li> &nbsp; <a class="msgLink" target="_newPdWin" href="'+ugb+'">PD Issue Tracker</a>. Report problems, request enhancements, check the status of issues</li><br/>';t+=' <li> &nbsp; <a class="msgLink" target="_newPdWin" href="'+rgb+'">Community Board</a>. Join community discussions.</li>';t+='</ul>';pgb=new DialogWindow(document.body,'Support',t);pgb.init();pgb.div.style.backgroundColor='white';pgb.setWidth(440);}
pgb.open();pgb.moveToCenter();}
this.doUnload=function(){var pc=new HTTP('community.do');pc.addParameter('action','doEditorUnload');pc.call();self.unloadJs();}
this.networkNodes=[];this.unloadJs=function(){for(var i in self.networkNodes){var oc=self.networkNodes[i];if(oc.unload)oc.unload();self.networkNodes[i]=null;}
self.networkNodes=null;}
}
Editor.prototype.addListener=function(l){this.listeners.push(l);}
Editor.prototype.removeListener=function(l){for(var ggb in this.listeners){if(this.listeners[ggb]==l){this.listeners.splice(ggb,1);}
}
}
function GLUser(hl,name,vgb,wgb){this.userId=hl;this.name=name;this.email=vgb;this.loginTime=wgb;var self=this;this.isLogin=function(){if(self.loginTime){return true;}
else{return false;}
}
}
function DialogUser(){this.dialog=Dialog;this.dialog(document.body,'Users');this.isMovable=true;var self=this;var yl;this.dialogInit=function(){var _b=self.contentCell.style;_b.padding='20 20 10 20';_b.fontSize='11';var zl=Core.addNode(self.contentCell,'div');zl.style.border='solid 1px #CCCCCC';zl.style.padding='10 20 10 20';yl=Core.addNode(zl,'span');Core.addBr(zl);self.addCancelButton();}
this.createNewUserLink=function(hg){var cg=Core.addNode(hg,'span');cg.innerHTML='Add a new User';var s=cg.style;s.textDecoration='underline';s.cursor='default';Core.addEvent(cg,'click',self,'onClickAddNewUser');return cg;}
this.onClickAddNewUser=function(){var yf='newRegistration.do?action=view';window.location.href=yf;}
this.createUserSelect=function(hg,wm){var select=Core.addNode(hg,'select');xgb(select,wm);return select;}
function xgb(select,wm){var o=Core.addNode(select,'option');o.setAttribute('value','');o.innerHTML=' Please select a user ';for(var i=0;i<wm.length;i++){var u=wm[i];var en=u.name;if(u.loginTime){en+='  -  '+u.loginTime;}
var o=Core.addNode(select,'option');o._glUser=u;o.setAttribute('value',u.userId);o.innerHTML=en;}
}
var ygb;this.reloadUser=function(select,zgb,$gb){ygb=select;self.loadUser(self,'reloadUserReady',zgb,$gb);}
this.reloadUserReady=function(wm){select=ygb;select.innerHTML='';xgb(select,wm);}
this.displaySelectUI=function(hg,wm,sh,dj){var qp=new Object();var select;if(wm.length<1){Core.addText(hg,'Please add a user first');Core.addBr(hg);}
else{Core.addBr(hg);select=self.createUserSelect(hg,wm);Core.addEvent(select,'change',sh,dj);Core.addSpace(hg,20);}
var _gb=self.createNewUserLink(hg);Core.addBr(hg);qp.select=select;qp.newUserLink=_gb;return qp;}
this.displaySelectUIIM=function(hg,wm,sh,dj){var qp=new Object();var select;if(wm.length<1){Core.addText(hg,'No other users available');Core.addBr(hg);}
else{Core.addBr(hg);select=self.createUserSelect(hg,wm);Core.addEvent(select,'change',sh,dj);Core.addSpace(hg,20);}
var _gb=self.createNewUserLink(hg);Core.addBr(hg);qp.select=select;qp.newUserLink=_gb;return qp;}
this.loadUser=function(sh,dj,zgb,$gb){var pc=this.getHttp('loadUser',self,'loadUserReady');if(zgb){pc.addParameter('loadLoginInfo',zgb);}
if($gb){pc.addParameter('loadCurrentUser',$gb);}
pc.loadUserCBObj=sh;pc.loadUserCBName=dj;pc.isCallUpdateData=true;pc.call();}
this.loadUserReady=function(sc,pc){var ahb=pc.dbNode.users;var wm=new Array();for(var i=0;i<ahb.length;i++){var bhb=ahb[i];var dn=new GLUser(bhb.id,bhb.n,bhb.e,bhb.lt);wm[wm.length]=dn;}
if(pc.loadUserCBObj){pc.loadUserCBObj[pc.loadUserCBName](wm);}
}
this.getHttp=function(kj,gn,dj){var pc=new HTTP('community.do',gn,dj);pc.addParameter('action',kj);return pc;}
this.onInviteIMUser=function(){var mgb=_core.getCommunity();mgb.setIMRadioChecked(true);mgb.onEmailAndIM();mgb.open();mgb.moveToCenter();}
}
function chb(link,dhb,ehb){var yf=(link)?link.href:unescape(escape(ehb));var pc=new HTTP(yf);pc.addParameter('fromAjax','true');pc.isFromAjax=false;pc.link=link;pc.target=fhb(dhb);pc.cbObject=pc;pc.cbName='loadIntoTarget';pc.call();}
function HTTP(yf,gn,dj){this.url=yf;this.cbObject=gn;this.cbName=dj;this.isCallUpdateData;this.isFromAjax=true;var ghb=false;var self=this;var i_=new Array();this.addParameter=function(name,jn){var p=new Object();p.name=name;p.value=encodeURIComponent(jn);i_[i_.length]=p;}
this.loadIntoTarget=function(sc){var t;if(this.target){t=this.target;}
if(!t){return;}
t.style.position='absolute';t.style.visibility='visible';t.innerHTML=sc;}
function hhb(){var oc=self.node;if(oc&&oc.fullName){self.addParameter('nodeId',oc.fullName);ihb(oc);}
}
this.clearParameter=function(){i_=new Array();}
this.call=function(){ghb=null;if(window.XMLHttpRequest){ghb=new XMLHttpRequest();if(ghb.overrideMimeType){ghb.overrideMimeType('text/html');}
}
else if(window.ActiveXObject){try{ghb=new ActiveXObject("Msxml2.XMLHTTP");}
catch(e){try{ghb=new ActiveXObject("Microsoft.XMLHTTP");}
catch(e){}
}
}
if(!ghb){alert('Failed to create XMLHTTP instance');return false;}
if(self.node){hhb();}
if(self.isFromAjax){self.addParameter('fromAjax','true');}
ghb.onreadystatechange=self.handleResponse;try{_core.log('Call: '+this.url,IConstant.LOG_USER_LEVEL);}
catch(e){}
ghb.open('POST',this.url,true);ghb.setRequestHeader("Content-type","application/x-www-form-urlencoded");var j_='';var rz='';for(var i=0;i<i_.length;i++){var p=i_[i];j_+=rz+p.name;j_+='=';j_+=p.value;rz='&';}
ghb.send(j_);}
this.getFullUrl=function(){var j_='';var rz='';for(var i=0;i<i_.length;i++){var p=i_[i];j_+=rz+p.name;j_+='=';j_+=p.value;rz='&';}
return this.url+'?'+j_;}
this.handleResponse=function(){if(!ghb){return;}
if(ghb.readyState==4){if(ghb.status==200){if(self.cbObject&&self.cbName){if(self.node||self.isCallUpdateData){if(jhb()){self.cbObject[self.cbName](ghb.responseText,self);}
}
else{self.cbObject[self.cbName](ghb.responseText,self);}
}
else{if(self.errorCb){self.errorCb[self.errorCbName](ghb.responseText,self);}
khb();}
}
else{if(self.errorCb){self.errorCb[self.errorCbName](ghb.responseText,self);}
else{if(ghb.status*1>=400){alert('Server error: '+ghb.status+'\n'+ghb.statusText);}
}
}
ghb=null;}
}
function ihb(oc){var gx=new Array();var parent=oc.parent;while(parent){gx[gx.length]=parent;parent=parent.parent;}
if(gx.length<1){return;}
for(var i=gx.length-1;i>=0;i--){var bf=gx[i].fullName;if(bf&&bf!='root'){self.addParameter('parents',bf);}
}
}
function khb(){var sc=ghb.responseText;if(!_core){return true;}
var _m=Core.parseJSON(sc);if(!_m){return true;}
if(_m.isError){alert('Internal error: '+_m.message);return false;}
return true;}
function jhb(){var sc=ghb.responseText;_core.log('json parsing begin.',IConstant.LOG_DEVELOPER_LEVEL);var _m=Core.parseJSON(sc);_core.log('json parsing end.',IConstant.LOG_DEVELOPER_LEVEL);if(!_m){if(_core&&_core.editor){_core.editor.closeMessageBox();}
return false;}
if(_m.isError){if(_m.isLogonInError){if(self.errorCb){self.errorCb[self.errorCbName](ghb.responseText,self);}
alert('Your session has timed out, please login again.');window.location.href='index.do';return;}
if(_core){if(_core.editor){_core.editor.closeMessageBox();_core.editor.clearActionNewNode(null);alert(_m.message);}
_glActionData=null;}
else{alert(_m.message);}
if(self.errorCb){self.errorCb[self.errorCbName](ghb.responseText,self);}
return false;}
self.dbNode=_m;return true;}
}
HTTP.prototype.nodeToId=function(oc){return Core.nodeToId(oc);}
Core.parseJSON = function (str) { 
try { 
return (/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/.test(str)) && 
eval('(' + str + ')'); 
} catch (e) { 
alert('Wrong JSON format\n' + str); 
} 
} 
function JSON () { 
this.nodeToJSONStr = function(node, canvas, includeFullId) { 
var layout; 
if ( canvas ) { 
layout = node.getCanvasLayout(canvas.rootNode.id); 
} else { 
layout = node.getLayout(); 
} 
node.currentLayout = layout; 
 
var listOfProperties = 'id typeId name nodeType fullName currentLayout '; 
if (!includeFullId) 
return this.objectToJSONStr(node, listOfProperties); 
else { 
var propStr = this.toObjectPropertyStr(node, listOfProperties); 
if (node.fullName){ 
var id = Core.nodeToId(node); 
propStr += ',"nodeId":' + s.string(id); 
} 
return '{' + propStr + '}'; 
} 
} 
this.objectToJSONStr = function(obj, listOfProperties) { 
return '{' + this.toObjectPropertyStr(obj, listOfProperties) + '}'; 
} 
 
this.toObjectPropertyStr = function(obj, listOfProperties){ 
var a = []; 
for (var p in obj) { 
if (listOfProperties && listOfProperties.indexOf(p + ' ') < 0 ) { 
continue; 
} 
var value = obj[p]; 
var fn = s[typeof value]; 
var b; 
if ( fn ) { 
var jsonVal = fn(value); 
if (typeof jsonVal == 'string') { 
if (b) { 
a[a.length] = ','; 
} 
a.push(s.string(p), ':', jsonVal); 
b = true; 
} 
} 
} 
return a.join(''); 
} 
var m = { 
'\b': '\\b', 
'\t': '\\t', 
'\n': '\\n', 
'\f': '\\f', 
'\r': '\\r', 
'"' : '\\"', 
'\\': '\\\\' 
}; 
 
s = { 
array: function (x) { 
var a = ['['], b, f, i, l = x.length, v; 
for (i = 0; i < l; i += 1) { 
v = x[i]; 
f = s[typeof v]; 
if (f) { 
v = f(v); 
if (typeof v == 'string') { 
if (b) { 
a[a.length] = ','; 
} 
a[a.length] = v; 
b = true; 
} 
} 
} 
a[a.length] = ']'; 
return a.join(''); 
}, 
'boolean': function (x) { 
return String(x); 
}, 
'null': function (x) { 
return "null"; 
}, 
number: function (x) { 
return isFinite(x) ? String(x) : 'null'; 
}, 
object: function (x) { 
if (x) { 
if (x instanceof Array) { 
return s.array(x); 
} 
var a = ['{'], b, f, i, v; 
for (i in x) { 
v = x[i]; 
f = s[typeof v]; 
if (f) { 
v = f(v); 
if (typeof v == 'string') { 
if (b) { 
a[a.length] = ','; 
} 
a.push(s.string(i), ':', v); 
b = true; 
} 
} 
} 
a[a.length] = '}'; 
return a.join(''); 
} 
return 'null'; 
}, 
string: function (x) { 
if (/["\\\x00-\x1f]/.test(x)) { 
x = x.replace(/([\x00-\x1f\\"])/g, function(a, b) { 
var c = m[b]; 
if (c) { 
return c; 
} 
c = b.charCodeAt(); 
return '\\u00' + 
Math.floor(c / 16).toString(16) + 
(c % 16).toString(16); 
}); 
} 
return '"' + x + '"'; 
} 
}; 
 
this.format = s; 
 
this.pair = function(a, b){ 
return s.string(a) + ':' + s.string(b); 
} 
} 
function Layout(x,y,dc,ec,lhb,mhb){this.x=x;this.y=y;this.width=dc;this.height=ec;this.normalWidth=lhb;this.normalHeight=mhb;this.toString=function(){return'x='+this.x+', y='+this.y+', width='+this.width+', height='+this.height;}
}
function LinkLayout(nhb,uab,ohb,vab){var E='E';var S='S';var W='W';var N='N';this.nodeIncomingTerminal=nhb;this.sourceTerminal=uab;this.nodeOutgoingTerminal=ohb;this.targetTerminal=vab;this.toString=function(){return'nodeOutgoingTerminal='+this.nodeOutgoingTerminal+', targetTerminal='+this.targetTerminal;}
}
function Line(gd,$ab,_ab,_d,dc){this.edge=gd;this.from=$ab;this.to=_ab;this.color=_d;this.width=dc;this.isArrow=true;this.canvas;this.bendPoint=new Point();this.isBendSet=false;this.bendHandler;this.bendParentNode;var self=this;var phb;var qhb;var rhb=4;this.draw=function(ve,ab){self.canvas=ab;this.bendParentNode=ve;if(ab.svgRoot)shb(ab.svgRoot);else
thb(ve);self.canvas=ab;}
this.getLineDom=function(){return phb;}
this.setZIndex=function(uhb){vhb(phb,uhb);}
function vhb(nb,uhb){if(nb){nb.style.zIndex=uhb;}
}
var whb=false;this.attachEvents=function(){if(phb&&((phb.namespaceURI!=IConstant.SVGNS)||!whb)){whb=true;Core.addEvent(phb,'mouseup',self,'doMouseUp');Core.addEvent(phb,'click',self,'doClick');Core.addEvent(phb,'mouseover',self,'doMouseOver');Core.addEvent(phb,'mouseout',self,'doMouseOut');if(_core.editor&&_core.editor.isViewOnly!=true){Core.addEvent(phb,'dblclick',self,'doDblClick');Core.addEvent(phb,'mousemove',self.canvas,'doCanvasMouseMove');Core.addEvent(phb,'mousedown',self,'doMouseDown');}
}
}
this.show=function(){xhb(phb,'visible');}
this.hide=function(){xhb(phb,'hidden');}
function xhb(nb,yhb){if(nb){nb.style.visibility=yhb;}
}
this.discard=function(zhb){if(!zhb||!Core.isSVG(phb))$hb(phb);if(self.fromHandler){self.fromHandler.discard();}
if(self.toHandler){self.toHandler.discard();}
if(self.bendHandler){self.bendHandler.discard();}
}
this.endActions=function(){if(self.canvas){self.canvas.isBendingLine=false;self.canvas.isDraggingEdge=false;}
}
function $hb(wi){if(wi){wi.style.display='none';}
}
function thb(ve){phb=Core.addNode(ve,'v:polyline');phb.stroked="true";phb.filled="false";Core.setClassName(phb,'line');_hb(self.color);aib(self.width);phb.style.position='absolute';bib();qhb=Core.addNode(phb,'v:stroke');if(self.isArrow){qhb.setAttribute('endarrow','block');qhb.setAttribute('endarrowwidth','narrow');}
}
function shb(sf){if(!phb){phb=Core.addNodeSVG(null,'path');Core.setClassName(phb,'line');sf.appendChild(phb);}
if(self.isArrow){phb.setAttribute('marker-end','url(#arrow'+self.canvas.rootNode.fullName.replace(' ','_','g')+')');Core.setClassName(phb,'action');}
_hb(self.color);cib();}
function dib(al){if(al){return al;}
return 0;}
this.refreshDisplay=function(){if(phb&&Core.isSVG(phb))cib();else
bib();}
this.setFrom=function(x,y){this.from.x=x;this.from.y=y;if(!this.isBendSet){self.bendPoint.x=this.getHalfX();self.bendPoint.y=this.getHalfY();}
eib(phb,'from',this.from);}
this.setTo=function(x,y){this.to.x=x;this.to.y=y;if(!this.isBendSet){self.bendPoint.x=this.getHalfX();self.bendPoint.y=this.getHalfY();}
eib(phb,'to',this.to);}
this.setColor=function(_d){this.color=_d;_hb(this.color);}
this.setWidth=function(dc){this.width=dc;aib(this.width);}
function eib(il,fib,abb){if(il&&abb&&abb.x&&abb.y){gib(il,fib,abb.x,abb.y);}
}
function gib(il,fib,x,y){if(_core.isIE){bib();}
else{cib();}
}
function _hb(_d){if(_d){if(phb.tagName=='path'){phb.setAttribute('stroke',_d);if(self.isArrow)phb.setAttribute('marker-end','url(#arrow'+self.canvas.rootNode.fullName.replace(' ','_','g')+_d.slice(1)+')');}
phb.setAttribute('strokecolor',_d);}
}
function aib(dc){if(dc){phb.setAttribute('strokeweight',dc);}
}
function bib(){var hib=self.from.x+'px, '+self.from.y+'px, ';if(self.isBendSet){hib+=self.bendPoint.x+'px, '+self.bendPoint.y+'px, ';}
hib+=self.to.x+'px, '+self.to.y+'px';if(phb&&phb.points){phb.points.value=hib;}
}
function cib(){var hib='M '+self.from.x+' '+self.from.y+' L ';self.canvas.expandPadding(self.from.x,self.from.y);if(self.isBendSet){hib+=self.bendPoint.x+' '+self.bendPoint.y+' L ';self.canvas.expandPadding(self.bendPoint.x,self.bendPoint.y);}
hib+=self.to.x+' '+self.to.y;self.canvas.expandPadding(self.to.x,self.to.y);phb.setAttribute('d',hib);}
this.highlight=function(){self.prevWidth=this.width;this.width=3;aib(3);Core.appendClassName(phb,'highlightEdge');}
this.deHighlight=function(){self.width=self.prevWidth;if(self.width){aib(self.width)}
else{aib(1);}
Core.removeClassName(phb,'highlightEdge');}
this.showToolTip=function(){var tj=this.edge.getPropertySource();var uj='Type: '+tj.properties[IConstant.TYPE_PROPERTY_NAME].getDisplayValue()+'<br>Execution Order: '+this.edge.executionOrder;Core.addToolTip(uj);}
this.doMouseOver=function(){var gd=self.edge;if(qhb){qhb.setAttribute('DashStyle','dash');}
aib(2);var kj=self.canvas.editor.getActionNewNode();if(kj&&kj.nodeType.typeId==IConstant.JS_TYPE_CONDITION){aib(2);}
if(!gd.isPropertyLoaded){if(!gd.isPropertyLoading){gd.isPropertyLoading=true;var tj=gd.getPropertySource();tj.loadProperty(self,'showToolTip');}
}
else{self.showToolTip();}
}
this.doMouseOut=function(){var gd=self.edge;UnTip();if(self.width){aib(self.width)}
else{aib(1);}
if(qhb){qhb.setAttribute('DashStyle','solid');}
}
this.doMouseDown=function(iib,e){var gd=self.edge;gd.canvas=self.canvas;gd.isEdge=true;if(ContextMenu.isRightClick(e)){var ab=self.canvas;ab.selectionNode.unSelectNodeAll();if(!ab.selectionEdge.isSelected(gd)){ab.selectionEdge.unSelectAll();ab.selectionEdge.select(gd);}
return;}
var kj=self.canvas.editor.getActionNewNode();if(kj){return;}
self.canvas.selectionEdge.doSelect(gd,e);}
this.doMouseUp=function(iib,e){var gd=self.edge;gd.canvas=self.canvas;gd.isEdge=true;if(ContextMenu.isRightClick(e)){var jj=_core.getContextMenuFactory().getCanvasMenuEdge();jj.canvas=self.canvas;jj.edge=self.edge;jj.node=self.edge;jj.setRightClickData(e);jj.refresh();_core.contextMenu=jj;return;}
if(_core&&_core.editor&&_core.editor.isViewOnly){return;}
if(self.canvas.isBendingLine){var fe=Core.findLoc(self.canvas.domCanvasRoot);hj=fe.x;ij=fe.y;var ch=e.clientX-hj+self.canvas.getScrollLeft();var dh=e.clientY-ij+self.canvas.getScrollTop();self.discard(true);self.width=1;self.setZIndex(1000);self.initDrag=false;if(self._vStroke){self._vStroke.setAttribute('DashStyle','solid');}
self.updateBendPoint(ch,dh);self.draw(self.canvas.domCanvasRoot,self.canvas);self.attachEvents();self.canvas.isBendingLine=false;self.hideBendPoint();var pc=self.canvas.editor.getHttp('moveLink',self,'doMoveLinkReady');pc.addParameter('pmBeginTrans','yes');pc.addParameter('canvasRootNodeId',self.canvas.rootNode.fullName);pc.node=self.canvas.rootNode;pc.addParameter('edgeIds',self.edge.name);pc.addParameter('sourceTerminal',self.edge.sourceTerminal);pc.addParameter('targetTerminal',self.edge.targetTerminal);pc.addParameter('nodeIncomingTerminal',self.edge.linkLayout.nodeIncomingTerminal);pc.addParameter('nodeOutgoingTerminal',self.edge.linkLayout.nodeOutgoingTerminal);var jib=self.getBendHttpArray();pc.addParameter('bendPoints',jib);if(self.edge){self.edge.bendPointString=jib.join('::').replace(/,/g,':');self.canvas.addToConditionAndBentEdges(self.edge);}
pc.call();return Core.preventDefault(e);}
var kj=self.canvas.editor.getActionNewNode();if(kj){var nj=kj.nodeType.typeId;if(nj==IConstant.JS_TYPE_CONDITION){var pb=Core.offsetFrom(e,self.canvas.domCanvasRoot);self.addCondition(pb);if(!kj.isLocked){kj.callback();self.canvas.editor.clearActionNewNode(null);}
else
return Core.preventDefault(e);}
}
}
this.addCondition=function(pb){var kib=new EdgeCondition(self.edge.name,self.edge.type,self.edge.fromFullName,self.edge.toFullName,self.edge.colorId,self.edge.sourceTerminal,self.edge.targetTerminal,self.edge.propertyCategory);kib.fromParentRef=self.edge.fromParentRef;kib.toParentRef=self.edge.toParentRef;_core.activeConditionEdge=kib;kib.name=self.edge.name;kib.colorId=self.edge.colorId;kib.linkChildren=new Array();var HALF_SIZE=63;var x=pb.x+self.canvas.minX-HALF_SIZE+self.canvas.getScrollLeft();var y=pb.y+self.canvas.minY-HALF_SIZE+self.canvas.getScrollTop();kib.layout=new Layout(x,y);kib.layout.isMinimized=false;kib.linkLayout=new LinkLayout('N',self.edge.sourceTerminal,'S',self.edge.targetTerminal);kib.display(self.canvas.domEdgeRoot,self.canvas);self.canvas.replaceWithCEdge(self.edge,kib);self.discard();self.canvas.selectionEdge.unSelectAll();self.canvas.selectionNode.unSelectNodeAll();self.canvas.clearMinMaxControl();}
this.doClick=function(iib,e){_core.editor.openPropertyWindow(self.edge);}
this.doDblClick=function(iib,e){var gd=self.edge;gd.canvas=self.canvas;gd.isEdge=true;_core.editor.openPropertyDialog(gd);}
this.doMoveLinkReady=function(sc,pc){var gd=self.edge;self.canvas.selectionEdge.unSelectAll();self.canvas.selectionEdge.select(gd);}
this.getHalfX=function(){var lib;if(this.to.x<this.from.x){lib=(this.from.x-this.to.x)/2+this.to.x;}
else{lib=(this.to.x-this.from.x)/2+this.from.x;}
return lib;}
this.getHalfY=function(){var mib;if(this.to.y<this.from.y){mib=(this.from.y-this.to.y)/2+this.to.y;}
else{mib=(this.to.y-this.from.y)/2+this.from.y;}
return mib;}
this.updateBendPoint=function(x,y){if(x&&y){self.bendPoint.x=x;self.bendPoint.y=y;self.isBendSet=true;}
else if(!self.isBendSet){self.bendPoint.x=self.getHalfX();self.bendPoint.y=self.getHalfY();}
gib();}
this.updateBendFromArray=function(jib){if(!self.from.x||!self.from.y||!jib||jib=='undefined'){return;}
var nib=new Array(jib);for(var i=0;i<nib.length;i++){var oib=nib[i].split(":");var pib=self.from.x-oib[0];var qib=self.from.y-oib[1];self.bendPoint.x=pib;self.bendPoint.y=qib;self.isBendSet=true;}
}
this.getBendHttpArray=function(){var rib=self.from.x-self.bendPoint.x;var sib=self.from.y-self.bendPoint.y;var tib=self.to.x-self.bendPoint.x;var uib=self.to.y-self.bendPoint.y;var jib=rib+","+sib+","+tib+","+uib;var vib=new Array();vib[0]=jib;return vib;}
this.showBendPoint=function(){if(!self.bendHandler){self.bendHandler=new ResizeHandler(self.canvas,'default',-9999,-9999,-9999,-9999);self.bendHandler.isBendHandler=true;self.bendHandler.init(self.bendParentNode);self.bendHandler.selectLine=self;}
this.updateBendPoint();self.bendHandler.setLeftTop(self.bendPoint.x-rhb,self.bendPoint.y-rhb);self.bendHandler.show();}
this.hideBendPoint=function(){if(self.bendHandler){self.bendHandler.hide();}
}
this.showHandler=function(){if(!self.fromHandler){var wib=new ResizeHandler(self.canvas,'default',-9999,-9999,-9999,-9999);var xib=new ResizeHandler(self.canvas,'default',-9999,-9999,-9999,-9999);wib.init(self.canvas.domCanvasRoot);xib.init(self.canvas.domCanvasRoot);self.fromHandler=wib;self.toHandler=xib;}
self.fromHandler.selectLine=self;self.fromHandler.isLineTo=false;self.toHandler.selectLine=self;self.toHandler.isLineTo=true;self.updateHandlerLocations();self.fromHandler.show();self.toHandler.show();}
this.updateHandlerLocations=function(){if(self.fromHandler){self.fromHandler.setLeftTop(self.from.x-rhb,self.from.y-rhb);self.toHandler.setLeftTop(self.to.x-rhb,self.to.y-rhb);}
}
this.hideHandler=function(){if(self.fromHandler){self.fromHandler.hide();self.toHandler.hide();}
}
}
function LineSVG(gd,$ab,_ab,_d,dc){this.draw=function(ve){if(!_core.isIE){yib(ve);}
if(phb){Core.addEvent(phb,'mouseover',self,'doMouseOver');Core.addEvent(phb,'mouseout',self,'doMouseOut');}
}
var zib;var $ib;this.getSvgDoc=function(ve){if(!zib){_ib(ve);}
return zib;}
this.getSvgRoot=function(ve){if(!$ib){_ib(ve);}
return $ib;}
function _ib(ve){zib=Core.addNode(ve,'svg');zib.setAttribute('xmlns','http://www.w3.org/2000/svg');zib.setAttribute('xmlns:xlink','http://www.w3.org/1999/xlink');$ib=self.addSvgNode(zib,'g');}
this.addSvgNode=function(ve,bb){var ajb="http://www.w3.org/2000/svg";var oc=this.getSvgDoc(ve).createElementNS(ajb,bb);this.getSvgRoot(ve).appendChild(oc);return oc;}
function yib(ve){var sf=self.addSvgNode(ve,'line');if(!sf){return;}
phb=Core.addNode(sf,'line');bjb();cjb();djb();ejb();alert(sf.innerHTML);}
function bjb(){if(phb&&self.from&&self.from.x&&self.from.y){phb.setAttributeNS(null,'x1',self.from.x);phb.setAttributeNS(null,'y1',self.from.y);}
}
function cjb(){if(phb&&self.to&&self.to.x&&self.to.y){phb.setAttributeNS(null,'x2',self.to.x);phb.setAttributeNS(null,'y2',self.to.y);}
}
function djb(){if(!phb){return;}
var _d=self.color;if(!_d){_d='black';}
phb.setAttribute('stroke',_d);}
function ejb(){if(!phb){return;}
var dc=self.width;if(!dc){dc='1';}
phb.setAttribute('stroke-width',dc);}
}
function Massager(){this.massagerBase=MassagerBase;this.massagerBase();var self=this;var adb;var fjb;this.massagerInit=function(hg){this.timeToPull=120;this.messageCategory=IConstant.MESSAGE_CATEGORY_STATUS;adb=Core.addNode(hg,'span');adb.className='massager';fjb=Core.addNode(adb,'span');var eg=Core.addImage(adb,'delete.gif','Close');Core.addEvent(eg,'click',self,'clearMessageAndHide');var s=eg.style;s.position='absolute';s.right='-4px';s.top='-4px';this.hide();}
this.show=function(){adb.style.display='block';}
this.hide=function(hq){adb.style.display='none';}
this.setMessage=function(hq){if(hq){fjb.innerHTML=hq;self.show();}
}
this.clearMessage=function(){fjb.innerHTML='';}
this.clearMessageAndHide=function(){self.clearMessage();self.hide();}
this.retrieveMessageReady=function(sc,pc){var kl=pc.dbNode.messages;if(!kl||kl.length<1){return;}
self.clearMessage();var gjb=true;for(var i=0;i<kl.length;i++){var hjb=kl[i];var ijb;switch(hjb.t){case IConstant.MESSAGE_TYPE_IM_INVITATION:ijb=new MessageIMInvitation();break;case IConstant.MESSAGE_TYPE_IM_ACCEPT:ijb=new MessageIMAccept();gjb=false;break;case IConstant.MESSAGE_TYPE_APP_INVITATION:ijb=new MessageAppInvitation();break;case IConstant.MESSAGE_TYPE_LOGON:ijb=new MessageLogon();break;case IConstant.MESSAGE_TYPE_LOCK_REQUEST:ijb=new MessageLockRequest();break;default:ijb=new MessagePlain();}
ijb.massager=self;ijb.update(hjb);ijb.display(fjb);}
if(gjb){self.show();}
pc.dbNode.messages=null;pc.dbNode=null;}
this.sentReady=function(sc,pc){}
this.inviteUserForIM=function(hl,sh,dj){var ll=new MessageIMInvitation();ll.status='Inviting '+hl;ll.serverResponseMessage=hl+' invited';ll.addToUserId(hl);self.postMessage(ll,sh,dj);}
this.inviteUserForDragon=function(hl,sh,dj){var ll=new MessageAppInvitation();ll.status='Inviting '+hl;ll.serverResponseMessage=hl+' invited';ll.addToUserId(hl);var ab=_core.editor.getCurrentCanvas();if(ab){var jjb=new Array();jjb['openCanvasIds']=ab.rootNode.fullName;jjb['pageScrollLeft']=ab.getScrollLeft();jjb['pageScrollTop']=ab.getScrollTop();ll.parameters=jjb;}
self.postMessage(ll,sh,dj);}
this.doRequestUnlock=function(ab,li,sh,dj){var hl=li.userId;var ll=new MessageLockRequest();ll.status='Request unlock to '+hl;ll.serverResponseMessage=hl+' requested';ll.addToUserId(hl);ll.value=ab.rootNode.name;var kjb=new Array();kjb['canvasId']=ab.rootNode.fullName;kjb['canvasName']=ab.rootNode.name;ll.parameterPair=kjb;self.postMessage(ll,sh,dj);}
}
function MassagerBase(){var self=this;this.pullHttp;this.sendHttp;this.timeToPull;this.messageCategory;this.init=function(hg){self.pullHttp=new HTTP('chat.do',self,'retrieveMessageReady');self.pullHttp.isCallUpdateData=true;self.pullHttp.errorCb=self;self.pullHttp.errorCbName='clearPulling';self.sendHttp=new HTTP('chat.do',self,'sentReady');self.sendHttp.isCallUpdateData=true;this.massagerInit(hg);}
var ljb;var mjb;var njb;this.setTempTimeToPull=function(ojb,pjb){njb=0;mjb=ojb;ljb=ljb;}
var qjb;this.retrieveMessage=function(){if(_core.isChildWindow()){return;}
if(_core.editor&&_core.editor.isDebugMode)return;self.pullHttp.clearParameter();self.pullHttp.addParameter('action','retreive');self.pullHttp.addParameter('messageCategory',self.messageCategory);self.pullHttp.call();var rjb;if(mjb&&njb<ljb){njb++;rjb=mjb;}
else{rjb=self.timeToPull;}
qjb=window.setTimeout(self.retrieveMessage,rjb*1000);}
this.clearPulling=function(){window.clearTimeout(qjb);}
var sjb,tjb;this.postMessage=function(ll,sh,dj){sjb=sh;tjb=dj;if(ll.status){self.setMessage(ll.status);}
var pc=new HTTP('community.do',self,'postMessageReady');pc.msg=ll;pc.isCallUpdateData=true;pc.addParameter('action','postMessage');pc.addParameter('messageType',ll.type);if(ll.value){pc.addParameter('message',ll.value);}
if(ll.serverResponseMessage){pc.addParameter('serverResponseMessage',ll.serverResponseMessage);}
if(ll.toUsers){for(var i=0;i<ll.toUsers.length;i++){var hl=ll.toUsers[i];pc.addParameter('toUserIds',hl);}
}
var jjb=ll.parameters;if(jjb){for(var name in jjb){pc.addParameter(name,jjb[name]);}
}
var kjb=ll.parameterPair;if(kjb){for(var n in kjb){if(!n){continue;}
var v=kjb[n];if(!v){v='';}
pc.addParameter('msgParameterNames',n);pc.addParameter('msgParameterValues',v);}
}
pc.call();}
this.postMessageReady=function(sc,pc){var ll=pc.msg;if(ll.serverResponseMessage){self.setMessage(pc.dbNode.message);}
if(sjb){sjb[tjb](sc,pc);}
}
}
function Menu(hd,hg){this.panel=Panel;this.panel(hd,hg);this.items=new Array();this.minWidth=140;var self=this;this.MARGIN=18;this.add=function(lb){self.items[self.items.length]=lb;}
this.addItem=function(en,ujb,vjb,uk,no){var lb=new MenuItem(self,en,ujb,vjb,uk,no);self.add(lb);return lb;}
this.addSeparator=function(){var lb=self.addItem();lb.isSeparator=true;return lb;}
this.addMenu=function(jj,en,ujb,vjb,uk,no){var lb=self.addItem(en,ujb,vjb,uk,no);lb.submenu=jj;return lb;}
this.subclassInit=function(){var ot=self.table;ot.className='eMenu';ot.setAttribute('cellSpacing','2');for(var i=0;i<self.items.length;i++){var lb=self.items[i];lb.init();}
if(_core.isIE){if(ot.offsetWidth<self.minWidth-10){ot.setAttribute('width',self.minWidth);}
}
var w=ot.offsetWidth;var ln=self.items.length;for(var i=0;i<ln;i++){var lb=self.items[i];if(lb.isSeparator){lb.rightImg.setAttribute('width',w);}
}
}
this.close=function(){am(self);}
this.setLocation=function(wjb,xjb,lj){var yjb=Core.getWindowDimension();var w=self.table.offsetWidth;var h=self.table.offsetHeight;var x=wjb;var pb;if(wjb+w>yjb.width){if(lj){pb=Core.findLoc(lj);x=pb.x-w;}
else
x=wjb-w;}
var y=xjb;if(xjb+h>yjb.height){if(lj){if(!pb)pb=Core.findLoc(lj);y=pb.y-h;}
else
y=xjb-h;if(y<0){y=0;}
}
self.moveTo(x,y);}
function am(jj){if(!jj.table){return;}
jj.hide();for(var i=0;i<jj.items.length;i++){var lb=jj.items[i];if(lb.submenu){am(lb.submenu);}
}
}
this.instanceInit=null;this.executeInstanceInit=function(){if(this.instanceInit){self.items.length=0;self.instanceInit(self);}
}
this.executeInstanceInitChildren=function(){self.executeInstanceInit();for(var i in self.items){var lb=self.items[i];if(lb.submenu){lb.submenu.executeInstanceInit();}
}
}
}
function MenuItem(jj,en,ujb,vjb,uk,no){this.menu=jj;this.label=en;this.callbackObj=ujb;this.callbackName=vjb;this.imgSrc=uk;this.isDisabled=no;this.isSeparator;this.submenu;this.tr;var self=this;this.rightImg;var zjb;var $jb;this.init=function(){var ot=self.menu.table;var iy=ot.insertRow(ot.rows.length);zjb=iy.insertCell(iy.cells.length);zjb.className='eMenuItem';if(self.isSeparator){var eg=Core.addSpace(zjb,1);eg.setAttribute('height',1);eg.style.backgroundColor='#CCCCCC';this.rightImg=eg;}
else{_jb();}
this.tr=iy;if(self.isHidden){self.hide();}
}
function _jb(){Core.addSpace(zjb,self.menu.MARGIN);$jb=Core.addText(zjb,self.label);self.rightImg=Core.addSpace(zjb,self.menu.MARGIN);Core.addEvent(zjb,'mouseover',self,'doMouseOver');Core.addEvent(zjb,'mouseout',self,'doMouseOut');Core.addEvent(zjb,'mousedown',self,'doMouseDown');if(self.imgSrc){zjb.style.backgroundImage='url('+Core.getImageUrl(self.imgSrc)+')';zjb.style.backgroundPosition='left center';zjb.style.backgroundRepeat='no-repeat';}
self.setDisabled(self.isDisabled);if(self.submenu){zjb.style.backgroundImage='url('+Core.getImageUrl('mac_closed_arrow.gif')+')';zjb.style.backgroundPosition='right center';zjb.style.backgroundRepeat='no-repeat';}
}
this.setDisabled=function(no){if(self.isPropery!=true&&_core.editor&&_core.editor.getCurrentCanvas()&&!_core.editor.getCurrentCanvas().isEditable){no=true;}
self.isDisabled=no;if(!zjb){return;}
var pf='eMenuItem';if(self.isDisabled){pf+=' eMenuItemDisabled';}
zjb.className=pf;}
this.doMouseOver=function(){if(self.menu.prevSubmenu){self.menu.prevSubmenu.hide();}
if(self.submenu){var pb=Core.findLoc(zjb);var x=pb.x+document.body.scrollLeft+zjb.offsetWidth-3;var y=pb.y+document.body.scrollTop-3;self.submenu.executeInstanceInit();self.submenu.open();self.submenu.setLocation(x,y,zjb);}
Core.appendClassName(zjb,'eMenuItemMouseOver');}
this.doMouseOut=function(){Core.removeClassName(zjb,'eMenuItemMouseOver');self.menu.prevSubmenu=self.submenu;}
this.doMouseDown=function(_n,e){if(self.isDisabled||self.submenu){return;}
_core.hideContextMenu();if(self.callbackObj){self.callbackObj[self.callbackName](_n,e,self);}
}
this.hide=function(){if(this.tr){this.tr.style.display='none';}
}
this.show=function(){if(this.tr){this.tr.style.display='';}
}
this.setImage=function(uk){self.imgSrc=uk;if(!zjb)return;if(uk){zjb.style.backgroundImage='url('+Core.getImageUrl(self.imgSrc)+')';zjb.style.backgroundPosition='left center';zjb.style.backgroundRepeat='no-repeat';}
else
zjb.style.backgroundImage='';}
this.setLabel=function(en){$jb.nodeValue=en;}
}
function MessageBase(bb){this.type=bb;this.fromUserId;this.value;this.date;var self=this;this.update=function(hjb){this.type=hjb.t;this.fromUserId=hjb.u;this.value=hjb.m;this.date=hjb.d;var akb=hjb.p;if(akb&&akb.length>0){var jjb=new Array();for(var i=0;i<akb.length;i++){var p=akb[i];jjb[p.n]=p.v;}
this.parameters=jjb;}
}
this.getParameter=function(name){return self.parameters[name];}
this.root;this.display=function(hg){this.root=Core.addNode(hg,'span');this.displayMessage();Core.addBr(this.root);}
this.addToUserId=function(hl){if(!this.toUsers){this.toUsers=new Array();}
this.toUsers[this.toUsers.length]=hl;}
this.hide=function(){this.root.style.display='none';}
}
function MessagePlain(){this.messageBase=MessageBase;this.messageBase();var self=this;this.displayMessage=function(hg){var t;switch(self.type){case IConstant.MESSAGE_TYPE_IM_REJECT:t=bkb();break;case IConstant.MESSAGE_TYPE_APP_ACCEPT:t=ckb();break;case IConstant.MESSAGE_TYPE_APP_REJECT:t=dkb();break;case IConstant.MESSAGE_TYPE_LOGOFF:_core.reloadCommunityUser();t=ekb();break;case IConstant.MESSAGE_TYPE_LOCK_REQUEST_ACCEPT:t=fkb();break;case IConstant.MESSAGE_TYPE_LOCK_REQUEST_REJECT:t=gkb();break;default:t=hkb();}
if(t&&t.length>0){Core.addText(this.root,t);}
}
function fkb(){var t='';t+=self.fromUserId;t+=' unlocked "'+self.getParameter('canvasName')+'" ';var ab=_core.editor.findCanvasByFullName(self.getParameter('canvasId'));if(ab){var ii=_core.getDialogLock();ii.save(ab,DialogLock.LOCK_ACTION_RETRIEVE,self,'doLockReqeustAcceptLockReady');}
return t;}
this.doLockReqeustAcceptLockReady=function(sc,pc){var li=pc.dbNode.lock;var ab=_core.editor.findCanvasByFullName(self.getParameter('canvasId'));if(ab){ab.isEditable=true;ab.refreshIsEditableDisplay();ab.editor.palette.refresh(ab);ab.rootNode.lock=li;}
}
function gkb(){var t='';t+=self.fromUserId;t+=' rejected unlock request for "'+self.getParameter('canvasName')+'"';t+=' ';return t;}
function ckb(){var t='';t+=self.fromUserId;t+=' Accepted';t+=self.date;t+=' ';return t;}
function dkb(){var t='';t+=self.fromUserId;t+=' Rejected, ';t+=self.date;t+=' ';return t;}
function bkb(){var t='';t+=self.fromUserId;t+=' Rejected IM, ';t+=self.date;t+=' ';return t;}
function ekb(){var t='';t+=self.fromUserId;t+=' Logoff, ';t+=self.date;t+=' ';return t;}
function hkb(){var t='';if(self.value){t+=self.value
t+=', ';}
t+=self.fromUserId;t+=', ';t+=self.date;t+=' ';return t;}
}
function MessageIMInvitation(){this.messageBase=MessageBase;this.messageBase(IConstant.MESSAGE_TYPE_IM_INVITATION);var self=this;this.displayMessage=function(){var t='';t+=this.fromUserId;t+=' invited IM, ';t+=this.date;t+=' ';Core.addText(this.root,t);var button=Core.addButton(this.root,'Accept');button.className='ePropertyCell';Core.addEvent(button,'click',self,'onClickAccept');Core.addText(this.root,' ');var button=Core.addButton(this.root,'Reject');button.className='ePropertyCell';Core.addEvent(button,'click',self,'onClickReject');}
this.onClickAccept=function(button){this.hide();jl(IConstant.MESSAGE_TYPE_IM_ACCEPT,'Acceptance');self.massager.clearMessageAndHide();var gfb=_core.getChatWindow();gfb.addToUserId(self.fromUserId);gfb.show();gfb.start();}
this.onClickReject=function(button){jl(IConstant.MESSAGE_TYPE_IM_REJECT,'Rejection','Rejection sent');}
function jl(nj,hq,ikb){var ll=new MessageBase();ll.type=nj;ll.status='Sending '+hq;ll.serverResponseMessage=ikb;ll.addToUserId(self.fromUserId);self.massager.postMessage(ll);self.hide();}
}
function MessageIMAccept(){this.messageBase=MessageBase;this.messageBase(IConstant.MESSAGE_TYPE_IM_ACCEPT);var self=this;this.displayMessage=function(){self.massager.clearMessageAndHide();var gfb=_core.getChatWindow();gfb.addToUserId(self.fromUserId);gfb.show();gfb.start();}
}
function MessageAppInvitation(){this.messageBase=MessageBase;this.messageBase(IConstant.MESSAGE_TYPE_APP_INVITATION);var self=this;this.displayMessage=function(){var t='';t+=this.fromUserId;t+=' invited to view/edit app., ';t+=this.date;t+=' ';Core.addText(this.root,t);var button=Core.addButton(this.root,'Accept');button.className='ePropertyCell';Core.addEvent(button,'click',self,'onClickAccept');Core.addText(this.root,' ');var button=Core.addButton(this.root,'Reject');button.className='ePropertyCell';Core.addEvent(button,'click',self,'onClickReject');}
this.onClickAccept=function(button){this.hide();jl(IConstant.MESSAGE_TYPE_APP_ACCEPT,'Acceptance');self.massager.clearMessageAndHide();_core.openNewWindow('glNewAppWin',self.value);}
this.onClickReject=function(button){jl(IConstant.MESSAGE_TYPE_APP_REJECT,'Rejection','Rejection sent');}
function jl(nj,hq,ikb){var ll=new MessageBase();ll.type=nj;ll.status='Sending '+hq;ll.serverResponseMessage=ikb;ll.addToUserId(self.fromUserId);self.massager.postMessage(ll);self.hide();}
}
function MessageLogon(){this.messageBase=MessageBase;this.messageBase(IConstant.MESSAGE_TYPE_LOGON);var self=this;var jkb;var kkb;this.displayMessage=function(){var t='';t+=self.fromUserId;t+=' Logon, ';t+=self.date;t+=' ';Core.addText(this.root,t);jkb=Core.addButton(this.root,'Invite to IM');jkb.className='ePropertyCell';jkb.style.width='85px';Core.addEvent(jkb,'click',self,'onInviteToIM');Core.addText(this.root,' ');kkb=Core.addButton(this.root,'Invite to Dragon');kkb.className='ePropertyCell';kkb.style.width='85px';Core.addEvent(kkb,'click',self,'onInviteToDragon');_core.reloadCommunityUser();}
this.onInviteToIM=function(){self.massager.inviteUserForIM(self.fromUserId);self.hide();self.massager.clearMessageAndHide();}
this.onInviteToDragon=function(){self.massager.inviteUserForDragon(self.fromUserId);self.hide();self.massager.clearMessageAndHide();}
}
function MessageLockRequest(){this.messageBase=MessageBase;this.messageBase(IConstant.MESSAGE_TYPE_LOCK_REQUEST);var self=this;this.displayMessage=function(){var t='';t+=this.fromUserId;t+=' requested to unlock ';t+=this.getParameter('canvasName');t+=' ';t+=this.date;t+=' ';Core.addText(this.root,t);var button=Core.addButton(this.root,'Accept');button.className='ePropertyCell';Core.addEvent(button,'click',self,'onClickAccept');Core.addText(this.root,' ');var button=Core.addButton(this.root,'Reject');button.className='ePropertyCell';Core.addEvent(button,'click',self,'onClickReject');}
this.onClickAccept=function(button){this.hide();jl(IConstant.MESSAGE_TYPE_LOCK_REQUEST_ACCEPT,'Acceptance');self.massager.clearMessageAndHide();var pc=new HTTP('community.do',self,'doAcceptUnlockReady');pc.addParameter('canvasId',self.getParameter('canvasId'));pc.addParameter('action','doLockUnlock');pc.addParameter('lockUserId',self.fromUserId);pc.isCallUpdateData=true;pc.addParameter('lockAction',DialogLock.LOCK_ACTION_UNLOCK);pc.call();}
this.doAcceptUnlockReady=function(sc,pc){var ab=_core.editor.findCanvasByFullName(self.getParameter('canvasId'));if(ab){ab.isEditable=false;ab.refreshIsEditableDisplay();ab.editor.palette.refresh(ab);ab.rootNode.lock=pc.dbNode.lock;}
}
this.onClickReject=function(button){jl(IConstant.MESSAGE_TYPE_LOCK_REQUEST_REJECT,'Rejection','Rejection sent');}
function jl(nj,hq,ikb){var ll=new MessageBase();ll.type=nj;ll.status='Sending '+hq;ll.serverResponseMessage=ikb;ll.addToUserId(self.fromUserId);var kjb=new Array();kjb['canvasId']=self.getParameter('canvasId');kjb['canvasName']=self.getParameter('canvasName');ll.parameterPair=kjb;self.massager.postMessage(ll);self.hide();}
}
function DragCursor(){var self=this;var lkb;var bz;var zjb;this.init=function(hg){bz=Core.addTable(hg);bz.className='eDragCursor';var iy=bz.insertRow(0);zjb=iy.insertCell(0);zjb.setAttribute('align','middle');zjb.setAttribute('nowrap','true');zjb.style.whiteSpace='nowrap';bz.style.display='none';}
this.refresh=function(bv,e,uk,text,ki){lkb=bv;zjb.innerHTML='';if(ki){zjb.style.backgroundColor=ki;}
else{zjb.style.backgroundColor='white';}
zjb.style.padding='0 5 0 5';var ag=Core.addImage(zjb,uk);ag.setAttribute('height','15');Core.addText(zjb,' '+text+' ');var MARGIN=5;var s=bz.style;s.left=(e.clientX+MARGIN)+'px';s.top=(e.clientY+MARGIN)+'px';}
var mkb;this.show=function(){bz.style.display='block';}
this.hide=function(){bz.style.display='none';}
this.startFollowMouseMove=function(e){if(!mkb){mkb=new ActionData(null,ActionData.CANVAS_MOUSE_MOVE);mkb.actionSourceId=IConstant.ACTION_SOURCE_DRAG_CURSOR;mkb.setDomItem(bz);}
mkb.reset(e);_glActionData=mkb;}
this.endFollowMouseMove=function(e){if(_glActionData&&_glActionData.actionSourceId==IConstant.ACTION_SOURCE_DRAG_CURSOR){_glActionData=null;}
}
}
function Navigator(hd,hg){this.panel=Panel;this.panel(hd,hg);var self=this;this.tree;this.appType;this.appMenuType;this.dbType;this.processType;this.templateType;this.arrayType;var nkb;this.subclassInit=function(){this.appType=_core.findNodeType(IConstant.JS_TYPE_APPLICATION);this.appMenuType=_core.findNodeType(IConstant.JS_TYPE_APP_MENU);this.dbType=_core.findNodeType(IConstant.JS_TYPE_DATABASE);this.processType=_core.findNodeType(IConstant.JS_TYPE_PROCESS);this.templateType=_core.findNodeType(IConstant.JS_TYPE_DATAFILE);this.arrayType=_core.findNodeType(IConstant.JS_TYPE_DATAARRAY);this.appClassPackageType=_core.findNodeType(IConstant.JS_TYPE_APP_CLASS_PACKAGE);this.classPackageType=_core.findNodeType(IConstant.JS_TYPE_CLASS_PACKAGE);this.appDbPackageType=_core.findNodeType(IConstant.JS_TYPE_APP_DATABASE_PACKAGE);this.dbPackageType=_core.findNodeType(IConstant.JS_TYPE_DATABASE_PACKAGE);this.table.className='shadowBorder';this.table.style.left='0px';var iy=this.table.insertRow(0);var _n=iy.insertCell(0);_n.setAttribute('align','center');_n.setAttribute('width','100%');_n.className='eTreeTitle';_n.innerHTML='Explorer';Core.addSpace(_n,15);this.addNewClassImage(_n);Core.addSpace(_n,15);this.addMaxMinImage(_n);Core.addEvent(_n,'dblclick',self,'doMinMaxDisplay');iy=this.table.insertRow(1);iy.setAttribute('vAlign','top');_n=iy.insertCell(0);_n.setAttribute('width','100%');_n.setAttribute('height','100%');_n.className='eTree';var zl=Core.addNode(_n,'div');zl.style.overflow='auto';zl.style.width=(_core.userPref.navigatorWidth-7)+'px';zl.style.height='100%';Core.addEvent(zl,'mouseup',self,'doMouseUp');nkb=zl;}
this.initTree=function(okb){this.tree=okb;this.tree.loadRoot(nkb);}
this.doMouseUp=function(nb,e){self.editor.clearActionNewNode();if(ContextMenu.isRightClick(e)){var jj=_core.getContextMenuFactory().getNavigatorMenu();jj.refresh();_core.contextMenu=jj;return;}
}
this.refreshDisplay=function(){var wc=self.layout;var s=self.table.style;s.top=wc.y+'px';s.width=wc.width+'px';self.table.setAttribute('width',wc.width);s.height=wc.height+'px';nkb.style.width=(_core.userPref.navigatorWidth-7)+'px';var pkb=self.table.rows[0];var qkb=wc.height-pkb.offsetHeight;nkb.style.height=qkb+'px';}
this.subMaximize=function(w,h){var s=self.table.style;var rkb=23;var skb=5;s.width=(w-rkb)+'px';s.height=(h-skb)+'px';nkb.style.width=(w-self.editor.getVScrollbarWidth()-10)+'px';nkb.style.height=(h-self.editor.getHScrollbarHeight()-10)+'px';}
this.doMouseDownNewItem=function(eg,e){var dk=eg._glNodeType;if(dk){this.doNewItem(dk,e);}
}
this.doNewItem=function(dk,e,tkb){var pc=self.editor.getHttp('addAppOrDB',self,'doNewItemReady');pc.addParameter('pmBeginTrans','yes');pc.node=self.rootNode;var sfb=new NetworkNode(dk.typeId);sfb.name=Core.getDefaultNewNamePrefix(dk);sfb.getJsNodeType();var zfb=new JSON();var c=self.editor.JSON().nodeToJSONStr(sfb);pc.addParameter('jsonAddChildChild',c);if(tkb){pc.call();}
else{var ju=_core.getTypePopup(dk);ju.open(e,pc);ju.dialog.moveToCenter(e);}
return Core.preventDefault(e);}
this.doNewItemReady=function(sc,pc){var oc=pc.node;oc.updateChildrenByDbNode(pc);var $g=pc.loadChildren;for(var mb in $g){var tc=$g[mb];this.tree.addNode(oc.treeDomRoot,tc);}
}
this.updateAddNewNode=function(qf,ukb){self.tree.updateControlImage(qf);if(self.tree.areTreeChildrenLoaded(qf)){for(var mb in ukb){var tc=ukb[mb];self.tree.addNode(qf.treeDomRoot,tc);}
}
}
this.doShow=function(){self.editor.refreshDisplay();self.open();}
this.doHide=function(){self.editor.refreshDisplay();var ee=Core.getWindowDimension();var vkb=self.editor.canvasTabPanel;var cfb=vkb.layout;cfb.x=0;cfb.width=ee.width;vkb.refreshDisplay();self.hide();}
this.addNewClassImage=function(oc){var wkb=Core.addImage(oc,'class.gif','Add New Class');Core.addEvent(wkb,'click',self,'promptClassName');}
this.askAddClass=function(){self.tree.askAddClass();}
var xkb;this.promptClassName=function(){xkb=new DialogInput(document.body,'Class Name','Enter a name for the new Class',self,'doAddNewClass');xkb.isTransparentPadding=true;xkb.init();xkb.setButtonLabel('Okay');xkb.open();}
var ykb;this.doAddNewClass=function(){xkb.hide();ykb=xkb.getInputText();var oc=hd.navigator.tree.processRootNode;var kj=new Action(self,'doCanvasOpened');self.editor.setActionOpenCanvas(kj);self.editor.navigator.tree.doOpenCanvasOnly(oc);}
var zkb;this.doCanvasOpened=function(){var oc=self.editor.navigator.tree.processRootNode;var ab=self.editor.canvasList[oc.id];var location=new Object();location.x=200;location.y=50*(oc.children.length+1)+50;self.editor.addNewNode(ab,IConstant.JS_TYPE_PROCESS,true,oc,null,location,null,'Class');var $kb=new Object();$kb.onEvent=_kb;self.editor.addListener($kb);function _kb(parent,tc){zkb=tc;self.editor.removeListener($kb);var alb=tc.getPropertySource();alb.loadProperty(self,'loadNewClassProperties');}
}
this.loadNewClassProperties=function(){var alb=zkb.getPropertySource();var blb=alb.getProperty(IConstant.NAME_PROPERTY_NAME).value;alb.addChangedProperty(IConstant.NAME_PROPERTY_NAME,blb,ykb);alb.saveProperty();self.editor.navigator.tree.loadOrOpenNode(self.editor.navigator.tree.processRootNode,true);self.editor.navigator.tree.doOpenCanvasOnly(zkb);}
this.addNewPackage=function(nj){var clb=self.rootNode;var parent=(nj==IConstant.JS_TYPE_CLASS_PACKAGE)?self.tree.classPackageRootNode:self.tree.dbPackageRootNode;var sq=_core.findNodeType(nj);var dlb=new Object();dlb.onEvent=elb;self.editor.addListener(dlb);self.editor.addNewNode(null,nj,true,parent,null,location,null,sq.name);function elb(parent,tc){self.editor.removeListener(dlb);_core.showRenameInput(tc);}
}
this.getScrollLeft=function(){return nkb.scrollLeft;}
this.getScrollTop=function(){return nkb.scrollTop;}
}
function NetworkNode(nj,name,qu){this.id=fk();this.typeId=nj;this.name=name;this.nodeType;this.fullName;this.numOfDBChildren;this.displayOrder;this.level=qu;this.parent;this.layout;if(_core.editor)_core.editor.networkNodes.push(this);this.isVisible=true;var self=this;this.children=new Array();this.jsNodeType;this.getJsNodeType=function(){if(!this.jsNodeType){this.jsNodeType=_core.findNodeType(this.typeId);}
return this.jsNodeType;}
var xab;this.getPropertySource=function(){if(!xab){xab=new PropertySourceTable(null,self);}
return xab;}
this.isLeaf=function(){if(this.children<1){return true;}
else{return false;}
}
var yz;function flb(){if(!yz){yz=new Array();for(var mb in self.children){var tc=self.children[mb];yz[tc.fullName]=tc;}
}
return yz;}
this.getChildByFullName=function(bf){return flb()[bf];}
this.getEdgeByFullName=function(bf){return self.edgeMap[bf];}
this.updateByDbNode=function(_m,glb){_core.log('update node '+_m.u,IConstant.LOG_DEVELOPER_LEVEL);self.fullName=_m.f;self.typeId=_m.t;self.name=_m.u;self.nodeType=_m.nt;self.numOfDBChildren=_m.nc;self.displayOrder=_m.dso;if(_m.oId){self.oId=_m.oId;}
switch(self.typeId*1){case IConstant.JS_TYPE_OPERATION:case IConstant.JS_TYPE_OPERATION_FS:if(_m.isStartOp){self.isStartOp=_m.isStartOp;}
if(_m.isFS){self.isFS=_m.isFS;}
break;case IConstant.JS_TYPE_PROCESS:if(_m.isWorkflow){self.isWorkflow=_m.isWorkflow;}
self.lock=_m.lock;break;case IConstant.JS_TYPE_DATAELEMENT:if(_m.isComputed){self.isComputed=_m.isComputed;self.isComputedString=_m.isComputedString;}
if(_m.isFile){self.isFile=_m.isFile;}
self.primaryKeyType=_m.primaryKeyType;break;case IConstant.JS_TYPE_PROCESS:case IConstant.JS_TYPE_DATABASE:case IConstant.JS_TYPE_APPLICATION:case IConstant.JS_TYPE_MENULIST:case IConstant.JS_TYPE_APP_MENU:self.lock=_m.lock;break;}
var hlb=_m.layout;if(hlb){if(glb){ilb(self.getCanvasLayout(glb),hlb);}
else{ilb(self.getLayout(),hlb);}
}
if(_m.fi){self.functionIndex=_m.fi;}
jlb(_m,null,null,glb);}
function ilb(wc,hlb){if(!hlb){return;}
wc.x=hlb.x;wc.y=hlb.y;if(hlb.w>0){wc.width=hlb.w;}
if(hlb.h>0){wc.height=hlb.h;}
wc.isMinimized=hlb.m;if(hlb.nw>0){wc.normalWidth=hlb.nw;}
if(hlb.nh>0){wc.normalHeight=hlb.nh;}
}
this.updateChildrenByDbNode=function(pc){jlb(pc.dbNode,pc);}
this.updateChildrenByDbNodeOpenCanvas=function(pc,glb){jlb(pc.dbNode,pc,true,glb);}
function jlb(_m,pc,klb,glb){var llb=new Array();var ce;if(pc&&pc.isUpdateRefToNodeChildren){ce=_m.newRefToNodeChildren;}
else{ce=_m.children;}
if(ce&&ce.length>0){for(var i=0;i<ce.length;i++){var mlb=ce[i];var nlb=self.getChildByFullName(mlb.f);if(!nlb){nlb=new NetworkNode();self.addChild(nlb);flb()[mlb.f]=nlb;llb[nlb.id]=nlb;}
nlb.level=self.level+1;nlb.updateByDbNode(mlb,glb);}
}
if(pc){pc.loadChildren=llb;}
}
this.edges=new Array();this.edgeMap=[];this.updateEdgesByDbNode=function(pc){var _m=pc.dbNode;var b_=new Array();if(_m.edges&&_m.edges.length>0){for(var i=0;i<_m.edges.length;i++){var c_=_m.edges[i];_core.log('update edge '+c_.n,IConstant.LOG_DEVELOPER_LEVEL);var gd;var olb=c_.linkChildren;if(olb&&olb.length>0){gd=new EdgeCondition(c_.n,c_.t,c_.ff,c_.tf,c_.c,c_.st,c_.tt,c_.pc);gd.linkChildren=new Array();for(var k=0;k<olb.length;k++){var mlb=olb[k];var nlb=self.getChildByFullName(mlb.f);if(!nlb){var nlb=new NetworkNode();nlb.updateByDbNode(mlb);}
gd.linkChildren[gd.linkChildren.length]=nlb;}
gd.operator=c_.operator;gd.layout=new Layout();ilb(gd.layout,c_.layout);gd.layout.isMinimized=true;if(c_.nit=='null'||c_.not=='null'){c_.nit='N';c_.not='S';}
gd.linkLayout=new LinkLayout(c_.nit,c_.st,c_.not,c_.tt);}
else{gd=new Edge(c_.n,c_.t,c_.ff,c_.tf,c_.c,c_.st,c_.tt,c_.pc);if(c_.nit=='null'||c_.not=='null'){c_.nit='N';c_.not='S';}
gd.linkLayout=new LinkLayout(c_.nit,c_.st,c_.not,c_.tt);}
if(c_.fpr){gd.fromParentRef=c_.fpr;}
if(c_.tpr){gd.toParentRef=c_.tpr;}
if(c_.bp){gd.bendPointString=c_.bp;}
if(c_.tbp){gd.toBreakpoint=c_.tbp;if(_core.editor)_core.editor.breakpointManager.addDisplayedBreakpoint(gd);}
gd.executionOrder=c_.eo;b_[gd.id]=gd;self.edges[gd.id]=gd;self.edgeMap[gd.name]=gd;}
}
pc.loadEdges=b_;}
var plb;this.getFullUserNameForData=function(){if(plb){return plb;}
plb=self.name;var parent=self.parent;while(parent&&parent.name){plb=parent.name+'.'+plb;if(parent.isTopLevel()){break;}
parent=parent.parent;}
return plb;}
this.addChild=function(tc){this.children[this.children.length]=tc;tc.parent=this;}
this.findChild=function(mb){return this.children[tc.id];}
this.removeChild=function(qlb){var mg=new Array();var rlb;for(var mb in this.children){var tc=this.children[mb];if(qlb.id==tc.id){rlb=tc;}
else{mg[mb]=tc;}
}
if(rlb){this.children=mg;flb()[qlb.fullName]=null;}
}
this.removeEdge=function(lg){var mg=new Array();var ng;for(var mb in this.edges){var gd=this.edges[mb];if(lg.id==gd.id){ng=gd;}
else{mg[mb]=gd;}
}
if(ng){this.edges=mg;}
this.edgeMap[lg.name]=undefined;}
this.getLayout=function(){if(!this.layout){this.layout=slb();}
return this.layout;}
var tlb=new Array();this.getCanvasLayout=function(glb){var wc=tlb[glb];if(!wc){wc=slb();tlb[glb]=wc;}
return wc;}
function slb(){var so=self.getJsNodeType();var x=0;var y=0;var dc=so.defaultWidth;var ec=so.defaultHeight;return new Layout(x,y,dc,ec);}
this.updateEdgeFromTo=function(ab){var kg=Core.nodeToId(self);var ye=ab.getFromEdges(kg);if(ye){for(var mb in ye){var gd=ye[mb];gd.updateFromDisplay(ab);}
}
var ze=ab.getToEdges(kg);if(ze){for(var mb in ze){var gd=ze[mb];gd.updateToDisplay(ab);}
}
for(var mb in this.children){var tc=this.children[mb];tc.updateEdgeFromTo(ab);}
}
this.displayEdges=function(ab){var kg=Core.nodeToId(self);ab.displayEdges(ab.getFromEdges(kg));ab.displayEdges(ab.getToEdges(kg));var wc=self.getCanvasLayout(ab.rootNode.id);if(!wc.isMinimized){self.displayChidrenEdges(ab);}
}
this.displayChidrenEdges=function(ab){for(var mb in this.children){var tc=this.children[mb];tc.displayEdges(ab);}
}
this.hideEdges=function(ab){var kg=Core.nodeToId(self);ab.hideEdges(ab.getFromEdges(kg));ab.hideEdges(ab.getToEdges(kg));self.hideChildrenEdges(ab);}
this.hideChildrenEdges=function(ab){for(var mb in this.children){var tc=this.children[mb];tc.hideEdges(ab);}
}
this.setChildrenNotVisible=function(){for(var mb in this.children){var tc=this.children[mb];tc.isVisible=false;tc.setChildrenNotVisible();}
}
this.setChildrenVisible=function(ab){for(var mb in this.children){var tc=this.children[mb];if(this.isChildDrawn(ab,tc)){tc.isVisible=true;tc.setChildrenVisible(ab);}
else{tc.isVisible=false;tc.setChildrenNotVisible();}
}
}
this.isChildDrawn=function(ab,tc){var ulb=self.getCanvasLayout(ab.rootNode.id);var vlb=ab.calculateCanvasPosition(self);var hh=vlb.x;var jh=hh+ulb.width;var ih=vlb.y;var kh=ih+ulb.height;var wlb=ab.getItem(tc);if(!wlb)return false;var xlb=wlb.getLayout();var ylb=ab.calculateCanvasPosition(tc);var le=ylb.x;var me=le+xlb.width;var ne=ylb.y;var oe=ne+xlb.height;if(le>hh&&le<jh
&&ne>ih&&ne<kh){return true;}
else if(me>hh&&me<jh
&&ne>ih&&ne<kh){return true;}
else if(le>hh&&le<jh
&&oe>ih&&oe<kh){return true;}
else if(me>hh&&me<jh
&&oe>ih&&oe<kh){return true;}
else{return false;}
}
this.updateCanvasDisplayName=function(){var zlb=' '+self.name;if(self.domCanvasNameTextNode&&(self.domCanvasNameTextNode.namespaceURI==IConstant.SVGNS)){self.domCanvasNameTextNode.textContent=zlb;if(self.isField())Core.sizeToText(self.domCanvasNameTextNode,17);}
else if(self.domCanvasNameTextNode){self.domCanvasNameTextNode.nodeValue=zlb;}
}
this.updateCanvasDisplayOrder=function(){if(self.domCanvasDisplayOrderSpan&&(self.domCanvasDisplayOrderSpan.namespaceURI==IConstant.SVGNS)){self.domCanvasDisplayOrderSpan.textContent=self.displayOrder;self.domCanvasDisplayOrderSpan.canvas.getItem(self).updateDisplayOrderPosition();}
else if(self.domCanvasDisplayOrderSpan){self.domCanvasDisplayOrderSpan.innerHTML=self.displayOrder;}
}
this.updateTreeDisplayName=function(){if(self.domTreeNameTextNode){self.domTreeNameTextNode.nodeValue=' '+self.name;}
}
this.isOperationType=function(){return self.typeId==IConstant.JS_TYPE_OPERATION||self.typeId==IConstant.JS_TYPE_OPERATION_FS;}
this.isOperation=function(){return(self.level==3&&(self.typeId==IConstant.JS_TYPE_OPERATION||self.typeId==IConstant.JS_TYPE_OPERATION_FS));}
this.isProcess=function(){return self.typeId==IConstant.JS_TYPE_PROCESS;}
this.isAppMenu=function(){return self.typeId==IConstant.JS_TYPE_APP_MENU;}
this.isMenuList=function(){return self.typeId==IConstant.JS_TYPE_MENULIST;}
this.isDatabase=function(){return self.typeId==IConstant.JS_TYPE_DATABASE;}
this.isApplication=function(){return self.typeId==IConstant.JS_TYPE_APPLICATION;}
this.isAppClassPackage=function(){return self.typeId==IConstant.JS_TYPE_APP_CLASS_PACKAGE;}
this.isClassPackage=function(){return self.typeId==IConstant.JS_TYPE_CLASS_PACKAGE;}
this.isDbPackage=function(){return self.typeId==IConstant.JS_TYPE_DATABASE_PACKAGE;}
this.isDbTable=function(){return self.typeId==IConstant.JS_TYPE_DATAFILE_DATABASETABLE;}
this.isTemplate=function(){return self.typeId==IConstant.JS_TYPE_DATAFILE||self.typeId==IConstant.JS_TYPE_DATAREFERENCE||self.typeId==IConstant.JS_TYPE_DATAFILE_DATABASETABLE||self.typeId==IConstant.JS_TYPE_DATAFILE_PROCESSTABLEREFERENCE||self.typeId==IConstant.JS_TYPE_DATAFILE_DATABASEREFERENCE;}
this.isTopLevelTemplate=function(){if(self.typeId==IConstant.JS_TYPE_DATAFILE){return true;}
if(self.isInDatabase()&&self.typeId==IConstant.JS_TYPE_DATAFILE_DATABASETABLE){return true;}
return false;}
this.isTopLevel=function(){if(self.typeId==IConstant.JS_TYPE_DATAFILE||self.typeId==IConstant.JS_TYPE_DATAFILE_DATABASETABLE){return true;}
return false;}
this.isInDatabase=function(){var p=self.parent;while(p){if(p.isDatabase()||p.isDbPackage()){return true;}
p=p.parent;}
}
this.isArray=function(){return self.typeId==IConstant.JS_TYPE_DATAARRAY;}
this.isField=function(){return self.typeId==IConstant.JS_TYPE_DATAELEMENT;}
this.isReference=function(){return self.typeId==IConstant.JS_TYPE_DATAREFERENCE;}
this.isDataGroup=function(){return self.typeId==IConstant.JS_TYPE_DATAGROUP;}
this.unload=function(){self.treeIconImg=self.domCanvasDisplayOrderSpan=self.treeControlImg=self.treeDomRoot=self.treeTd=null;if(xab)xab.unload();}
}
function NewEdgeData(ab,fdb){this.line=Line;this.canvas=ab;this.fromItem=fdb;this.beginTerminal;this.targetTerminal;this.toItem;var self=this;this.listeners=new Array();var hj;var ij;this.initDraw=function(e){var fe=Core.findLoc(self.canvas.domCanvasRoot);hj=fe.x;ij=fe.y;var $ab=Edge.getTerminalLocation(self.fromItem,self.beginTerminal,self.canvas);self.line(new Edge(),$ab,new Point($ab.x,$ab.y),'black',1);self.isArrow=false;self.draw(self.canvas.domCanvasRoot,self.canvas);self.setZIndex(1000);var $lb=self.getLineDom();Core.addEvent($lb,'click',self,'discard');Core.addEvent($lb,'mouseup',self,'doLineUp');}
this.doLineUp=function(icb,e){var _j=_core.getNodeEdgeTerminals();if(!_j||_j.isShow!=true||!_j.item){return;}
var _lb=new NodeEdgeTerminals(null);_lb.canvas=self.canvas;_lb.doMouseUp(null,e,_j.item);}
this.updateLineTo=function(e){self.setTo(e.clientX-hj+self.canvas.getScrollLeft(),e.clientY-ij+self.canvas.getScrollTop());}
this.setToItem=function(tp){if(self.toItem){if(self.toItem.id==tp.id){return;}
else{self.clearToItem();}
}
self.toItem=tp;var nb=self.toItem.domNodeRoot;Core.appendClassName(nb,'eCanvasNodeReadyForNewEdge');}
this.clearToItem=function(){if(self.toItem){var nb=self.toItem.domNodeRoot;Core.removeClassName(nb,'eCanvasNodeReadyForNewEdge');self.toItem=null;}
}
this.finishDraw=function(e){if(!self.toItem){return;}
var $ab=Edge.getTerminalLocation(self.fromItem,self.beginTerminal,self.canvas);self.setFrom($ab.x,$ab.y);var vab=self.targetTerminal;var _ab=Edge.getTerminalLocation(self.toItem,vab,self.canvas);self.setTo(_ab.x,_ab.y);var pc=self.canvas.editor.getHttp('addLink',self,'doAddLinkReady');pc.addParameter('pmBeginTrans','yes');pc.addParameter('canvasRootNodeId',self.canvas.rootNode.fullName);pc.node=self.canvas.rootNode;var amb=pc.nodeToId(self.fromItem.node);var bmb=pc.nodeToId(self.toItem.node);pc.addParameter('addLinkFromId',amb);pc.addParameter('addLinkToId',bmb);pc.addParameter('sourceTerminal',self.beginTerminal);pc.addParameter('targetTerminal',vab);if(this.overlapEdges()){pc.addParameter('bendPoints',self.getBendHttpArray());}
self.clearToItem();pc.call();}
this.overlapEdges=function(){var cmb=Core.nodeToId(self.fromItem.node);var dmb=ab.getFromEdges(cmb);var emb=Core.nodeToId(self.toItem.node);var fmb=ab.getToEdges(emb);var gmb=0;for(var amb in dmb){var hmb=dmb[amb];for(var bmb in fmb){var imb=fmb[bmb];if(hmb==imb&&hmb.sourceTerminal==this.beginTerminal&&hmb.targetTerminal==this.targetTerminal){gmb++;break;}
}
}
var jmb=ab.getFromEdges(cmb);var kmb=ab.getToEdges(emb);for(var amb in jmb){var hmb=jmb[amb];for(var bmb in kmb){var imb=kmb[bmb];if(hmb==imb&&hmb.targetTerminal==this.beginTerminal&&hmb.sourceTerminal==this.targetTerminal){gmb++;break;}
}
}
if(gmb>0){var x=this.getHalfX();var y=this.getHalfY();x=x+(15*gmb);y=y+(15*gmb);self.updateBendPoint(x,y);return true;}
return false;}
this.doAddLinkReady=function(sc,pc){var oc=pc.node;oc.updateEdgesByDbNode(pc);var b_=pc.loadEdges;if(!b_||b_.length<1){return;}
for(var mb in b_){var gd=b_[mb];gd.display(self.canvas.domEdgeRoot,self.canvas);self.canvas.initEdgeHash(gd);}
var kj=self.canvas.editor.getActionNewNode();if(kj&&!kj.isLocked){kj.callback();self.canvas.editor.clearActionNewNode(null);}
this.fireNodeAdded(oc,b_);self.discard();}
this.fireNodeAdded=function(parent,ce){var tc;for(var j in ce){tc=ce[j];break;}
for(var ggb in this.listeners){this.listeners[ggb].onEvent(parent,tc);}
}
}
function NodeEdgeTerminals(){this.canvas;this.item;var self=this;var adb;var lmb,mmb,nmb,omb;var bdb=6;this.init=function(){adb=Core.addNode(document.body,'span');var s=adb.style;s.zIndex=10;s.position='absolute';lmb=new EdgeHandler(self,'N');lmb.init(adb,bdb);mmb=new EdgeHandler(self,'S');mmb.init(adb,bdb);nmb=new EdgeHandler(self,'E');nmb.init(adb,bdb);omb=new EdgeHandler(self,'W');omb.init(adb,bdb);adb.style.display='none';}
this.isShow=false;this.show=function(ab,lb){this.isShow=true;this.canvas=ab;this.item=lb;var nb=lb.domNodeRoot;var w,h;if(nb.offsetWidth){w=nb.offsetWidth;h=nb.offsetHeight;}
else{w=nb.width.baseVal.value;h=nb.height.baseVal.value;}
var cdb=bdb/2;var pmb=(w-bdb)/2;var qmb=(h-bdb)/2;var pb=Core.findLoc(nb);var x=pb.x-ab.getScrollLeft();var y=pb.y-ab.getScrollTop();lmb.setLeftTop(x+pmb,y-cdb);mmb.setLeftTop(x+pmb,y+h-cdb);nmb.setLeftTop(x+w-cdb,y+qmb);omb.setLeftTop(x-cdb,y+qmb);adb.style.display='block';}
this.hide=function(){this.isShow=false;adb.style.display='none';}
this.doMouseDown=function(eg,e,rmb){var smb=_core.getNewEdgeAction();if(smb){return;}
var kj=self.canvas.editor.getActionNewNode();if(kj){var nj=kj.nodeType.typeId;if(nj==IConstant.JS_TYPE_EDGE){var ab=self.canvas;var _h;var lb;if(rmb){lb=rmb;_h=self.getTerminal(lb,e);}
else{var pk=eg._glEdgeHander;_h=pk.terminal;lb=self.item;}
smb=new NewEdgeData(ab,lb);smb.beginTerminal=_h;smb.fromItem=lb;smb.initDraw(e);_core.setNewEdgeAction(smb);return Core.preventDefault(e);}
}
}
this.doMouseUp=function(eg,e,rmb){var kj=self.canvas.editor.getActionNewNode();if(kj){var nj=kj.nodeType.typeId;if(nj==IConstant.JS_TYPE_EDGE){var smb=_core.getNewEdgeAction();if(!smb){return;}
var _h;var lb;if(rmb){lb=rmb;_h=self.getTerminal(lb,e);}
else{var pk=eg._glEdgeHander;_h=pk.terminal;lb=self.item;}
if(lb.id==smb.fromItem.id&&_h==smb.beginTerminal){return;}
smb.targetTerminal=_h;smb.toItem=lb;smb.finishDraw(e);smb.fromItem=null;smb.toItem=null;_core.setNewEdgeAction(null);return Core.preventDefault(e);}
}
else if(self.canvas.isDraggingEdge){self.canvas.isDraggingEdge=false;var icb=self.canvas.draggingLine;icb.width=1;var pk=eg._glEdgeHander;if(self.canvas.isDraggingTo){icb.edge.targetTerminal=pk.terminal;}
else{icb.edge.sourceTerminal=pk.terminal;}
icb.edge.updateToDisplay(self.canvas);icb.edge.updateFromDisplay(self.canvas);if(icb._vStroke){icb._vStroke.setAttribute('DashStyle','solid');}
icb.refreshDisplay();icb.show();_core.hideNodeEdgeTerminals();if(icb.edge.hideConditionEdgeTerminals)icb.edge.hideConditionEdgeTerminals();var pc=self.canvas.editor.getHttp('moveLink',self,'doMoveLinkReady');pc.addParameter('pmBeginTrans','yes');pc.addParameter('canvasRootNodeId',self.canvas.rootNode.fullName);pc.node=self.canvas.rootNode;var amb=pc.nodeToId(icb.edge.fromItem.node);var bmb=pc.nodeToId(icb.edge.toItem.node);pc.addParameter('edgeIds',icb.edge.name);pc.addParameter('sourceTerminal',icb.edge.sourceTerminal);pc.addParameter('targetTerminal',icb.edge.targetTerminal);pc.addParameter('nodeIncomingTerminal',icb.edge.linkLayout.nodeIncomingTerminal);pc.addParameter('nodeOutgoingTerminal',icb.edge.linkLayout.nodeOutgoingTerminal);pc.call();return Core.preventDefault(e);}
}
this.doMoveLinkReady=function(sc,pc){var gd=self.canvas.draggingLine.edge;self.canvas.selectionEdge.unSelectAll();self.canvas.selectionEdge.select(gd);}
this.getTerminal=function(lb,e){var nf=lb.domNodeRoot;var pb=Core.findLoc(nf);var qb=Core.getDimensions(nf);var w=qb[0];var h=qb[1];var _c=w/3;var ad=h/3;var _h;var tmb=e.clientX-pb.x;var umb=e.clientY-pb.y;var qe;if(tmb>2*_c){_h='E';}
else if(tmb<_c){_h='W';}
else{if(umb<h/2){_h='N';}
else{_h='S';}
}
return _h;}
}
function EdgeHandler(_j,_h){this.nodeEdgeTerminals=_j;this.terminal=_h;var self=this;var edb;this.init=function(hg,iw){edb=Core.addImage(hg,'transparent.gif');edb._glEdgeHander=self;edb.setAttribute('width',iw);edb.setAttribute('height',iw);var s=edb.style;s.backgroundColor='#ff9900';s.border='solid 1px black';s.position='absolute';Core.addEvent(edb,'mousedown',self.nodeEdgeTerminals,'doMouseDown');Core.addEvent(edb,'mouseup',self.nodeEdgeTerminals,'doMouseUp');Core.addEvent(edb,'mouseover',self,'doMouseOver');Core.addEvent(edb,'mouseout',self,'doMouseOut');}
this.doMouseOver=function(){edb.style.backgroundColor='blue';edb.style.border='solid 2px blue';}
this.doMouseOut=function(){edb.style.backgroundColor='#ff9900';edb.style.border='solid 1px black';}
this.setLeftTop=function(ac,top){var s=edb.style;s.left=ac+'px';s.top=top+'px';}
}
NewEdgeData.prototype.addListener=function(l){this.listeners.push(l);}
NewEdgeData.prototype.removeListener=function(l){for(var ggb in this.listeners){if(this.listeners[ggb]==l){this.listeners.splice(ggb,1);}
}
}
function NewNode(bb){this.type=bb;this.canvas;this.item;var self=this;this.http;this.dialog;this.isDisplayMore=true;this.tableWidth=340;this.properties=new Array();this.table;this.focusIndex;this.isSave;var vmb;var wmb;this.init=function(){self.dialog=new Dialog(document.body,'New');self.dialog.isMovable=true;self.dialog.init();var hz=self.dialog.contentCell;hz.style.padding='20px';hz.style.paddingBottom='0px';if(self.subInit){self.subInit();}
var xmb=self.properties;self.table=Core.addTable(hz,1);self.table.className='eDialogNewNode';if(self.tableWidth){self.table.setAttribute('width',340);}
for(var mb in xmb){var k$=xmb[mb];var iy=self.table.insertRow(self.table.rows.length);var _n=iy.insertCell(iy.cells.length);_n.className='ePropertyCell ePropertyCellName';_n.setAttribute('title',k$.name+': '+k$.value);_n.innerHTML=k$.name;_n=iy.insertCell(iy.cells.length);_n.className='ePropertyCell ePropertyCellValue';var nb;if(k$.isTextArea){nb=Core.addTextArea(_n,k$.textAreaRows,k$.textAreaCols,k$.value);}
else if(k$.isBoolean){nb=Core.addSelect(_n,_core.getYesNoList(),k$.value);}
else if(!k$.options||k$.options.length<1){nb=Core.addInput(_n,k$.value,k$.inputSize);}
else{nb=Core.addSelect(_n,k$.options,k$.value,true);if(k$.commonOps){k$.allOpsDom=nb;nb=Core.addSelect(_n,k$.commonOps,k$.value,true);k$.commonOpDom=nb;var cg=Core.addNode(_n,'span');cg.style.color='blue';cg.style.paddingLeft='5px';cg.style.cursor='pointer';cg._glPropObj=k$;Core.addEvent(cg,'click',self,'onSwitchOptions');k$.switchDom=cg;k$.isDiplayCommon=true;ymb(k$);}
}
k$.domUI=nb;nb.className='ePropertyCell';nb._glEProperty=k$;}
if(self.isDisplayMore&&self.canvas){zmb();}
self.dialog.addOkayButton(self,'onClickOkayButton');self.dialog.addCancelButton(self,'onClickCancelButton');self.focusIndex=0;self.dialog.moveToCenter();}
function zmb(){var iy=self.table.insertRow(self.table.rows.length);var _n=iy.insertCell(iy.cells.length);_n.className='ePropertyCell ePropertyCellName';_n.setAttribute('colSpan','2');_n.setAttribute('align','right');var cg=Core.addNode(_n,'span');cg.style.fontSize='12';cg.style.color='blue';cg.style.cursor='pointer';cg.innerHTML='more ...';Core.addEvent(cg,'click',self,'onMore');vmb=Core.addNode(_n,'span');vmb.style.paddingTop='5px';Core.addText(vmb,'Next: ');wmb=Core.addButton(vmb,'Edit: ');wmb.style.fontSize='10';Core.addEvent(wmb,'click',self,'onNext');}
function ymb(k$){if(k$.isDiplayCommon){k$.commonOpDom.style.display='block';k$.allOpsDom.style.display='none';k$.switchDom.innerHTML='more ...';}
else{k$.commonOpDom.style.display='none';k$.allOpsDom.style.display='block';k$.switchDom.innerHTML='less';}
}
this.onSwitchOptions=function(nb,e){var k$=nb._glPropObj;if(!k$){return;}
k$.isDiplayCommon=!k$.isDiplayCommon;ymb(k$);}
this.onMore=function(){self.hide();self.canvas.editor.openPropertyDialog(self.item.node);}
this.onNext=function(button,e){var ab=self.canvas;var fh=ab.audit.getNextNode(self.item.node);if(!fh){return;}
self.dialog.hide();$mb();var _mb=self.canvas.getItem(fh);if(_mb){var ju=_core.getTypePopup(fh.getJsNodeType());ju.refresh(ab,_mb);ju.isSave=true;self.dialog.moveToCenter();ju.open();}
}
this.open=function(e,pc,location,anb){self.http=pc;self.dialog.open();var bnb=self.properties[self.focusIndex];if(anb==true){_core.showLocationCross();}
}
this.reset=function(){var xmb=self.properties;for(var mb in xmb){var k$=xmb[mb];k$.resetUI();}
}
this.refresh=function(ab,lb){self.canvas=ab;self.item=lb;var oc=lb.node;self.dialog.setTitle(oc.name);self.focusIndex=0;self.isSave=false;if(vmb){vmb.style.display='none';}
if(oc.isPropertyLoaded){self.refreshProperties();}
else{oc.getPropertySource().loadProperty(self,'refreshProperties');}
cnb();}
function cnb(){if(!self.canvas){return;}
var oc=self.item.node;var fh=self.canvas.audit.getNextNode(self.item.node);if(fh){wmb.value=fh.name;vmb.style.display='block';}
}
this.refreshProperties=function(){var dnb=self.item.node.getPropertySource();var xmb=self.properties;for(var mb in xmb){var k$=xmb[mb];var enb=dnb.getPropertyValue(k$.name);k$.setValueAndUI(enb);}
}
this.hide=function(){if(self.dialog){self.dialog.hide();}
}
this.onClickOkayButton=function(){var pc=self.http;if(pc){var xmb=self.properties;for(var mb in xmb){var k$=xmb[mb];var al=k$.getUIValue();if(al){pc.addParameter('propertyNames',k$.name);pc.addParameter('propertyValues',k$.getUIValue());}
}
pc.call();}
_core.hideContextMenuLocationCross();if(self.isSave){$mb();}
if(self.onClickOkayButtonSub){self.onClickOkayButtonSub();}
}
function $mb(){var oc=self.item.node;var tj=oc.getPropertySource();var xmb=self.properties;for(var mb in xmb){var k$=xmb[mb];var qw=k$.getUIValue();tj.addChangedProperty(k$.name,k$.value,qw);}
tj.saveProperty(self.savePropertyReadyCbObj,self.savePropertyReadyCbName);}
this.onClickCancelButton=function(){_core.hideContextMenuLocationCross();}
this.add=function(name,jn){var k$;if(self.type&&self.type.properties){k$=self.type.properties[name];}
if(!k$){k$=new Property(name,jn);}
self.properties[self.properties.length]=k$;return k$;}
this.setTextArea=function(k$,fnb,gnb){k$.isTextArea=true;var jw;if(fnb){jw=fnb;}
else{jw=3;}
k$.textAreaRows=jw;var kw;if(gnb){kw=gnb;}
else{kw=35;}
k$.textAreaCols=kw;}
}
function NewNodeProcess(bb){this.newNode=NewNode;this.newNode(bb);var self=this;this.subInit=function(){self.add('name');self.add('display order');self.add('workflow system');self.add('transaction system');}
}
function NewNodeProcessMenuList(bb){this.newNode=NewNode;this.newNode(bb);var self=this;this.subInit=function(){self.add('name');}
}
function NewNodeOperation(bb){this.newNode=NewNode;this.newNode(bb);var self=this;this.canvas;this.subInit=function(){self.add('name');self.add('display order');self.add('display operation');self.add(IConstant.START_TRANSACTION_PROPERTY_NAME);}
}
function NewNodeField(bb){this.newNode=NewNode;this.newNode(bb);var self=this;this.subInit=function(){self.add('name');var k$=self.add('data type');k$.commonOps=hnb();self.add('default value');self.add('display');self.add('display order');}
function hnb(){var jt=new Array();inb(jt,'0','string');inb(jt,'1','integer');inb(jt,'2','double');inb(jt,'21','long');inb(jt,'3','date');inb(jt,'4','file');inb(jt,'22','system variable');inb(jt,'9','email address');inb(jt,'10','web address');inb(jt,'7','computed');inb(jt,'14','computed string');return jt;}
function inb(jt,k,v){var kt=new Object();kt.k=k;kt.v=v;jt[jt.length]=kt;}
}
function NewNodeArray(bb){this.newNode=NewNode;this.newNode(bb);var self=this;this.subInit=function(){self.add('name');self.add('display order');self.add('array size');}
}
function NewNodeTemplate(bb){this.newNode=NewNode;this.newNode(bb);var self=this;this.subInit=function(){self.add('name');self.add('display order');self.add('display');self.add('display child');self.add('edit');}
}
function NewNodeEditStyle(bb){this.newNode=NewNode;this.newNode(bb);var self=this;self.isDisplayMore=false;self.tableWidth=null;this.subInit=function(){var k$=self.add('name');k$.inputSize=55;k$=self.add('display layout');self.setTextArea(k$);k$=self.add('default value');self.setTextArea(k$);k$=self.add('value style');self.setTextArea(k$);self.savePropertyReadyCbObj=self;self.savePropertyReadyCbName='onSavePropertyReady';}
this.onSavePropertyReady=function(){self.editStyle.reload();}
}
function PromptForNewNode(){var self=this;var jnb;var knb;this.init=function(hg){var eg=Core.addImage(hg,'preference.gif','Click to set my preference');Core.addNode(hg,'br');jnb=Core.addNode(hg,'span');Core.addEvent(eg,'click',self,'showHidePrompForNewNode');return eg;}
this.showHidePrompForNewNode=function(){var lnb=jnb.style.display;if(lnb=='block'){jnb.style.display='none';}
else{if(!knb){knb=Core.addCheckbox(jnb,true);knb.className='ePropertyCell';Core.addEvent(knb,'mouseup',self,'prompForNewNodeCheckboxChange');var m=' always display prompt';Core.addText(jnb,m);}
knb.checked=_core.userPref.isPrompForNewNode;jnb.style.display='block';}
}
this.hidePrompForNewNode=function(){if(jnb){jnb.style.display='none';}
}
this.prompForNewNodeCheckboxChange=function(){_core.userPref.isPrompForNewNode=!_core.userPref.isPrompForNewNode;knb.checked=_core.userPref.isPrompForNewNode;self.showHidePrompForNewNode();if(_core.userPref.isPrompForNewNode){_core.editor.palette.hidePrefRow();}
else{_core.editor.palette.showPrefRow();}
}
}
function NodeMinMaxControl(ab,lb){this.canvas=ab;this.item=lb;var self=this;var edb;var mnb='collapse.gif';var nnb='uncollapse.gif';var IMG_WIDTH=8;var IMG_HEIGHT=8;this.init=function(){var wc=self.item.getLayout();var ji;if(wc.isMinimized){ji=nnb;}
else{ji=mnb;}
edb=Core.addImage(self.canvas.domCanvasRoot,ji,'Click to maximize/minimize');var s=edb.style;s.zIndex=100;s.position='absolute';Core.addEvent(edb,'click',self,'doMinMax');}
this.show=function(){var pb=self.canvas.findItemLocation(self.item);var s=edb.style;s.left=(pb.x+1)+'px';s.top=(pb.y+1)+'px';s.display='block';}
this.hide=function(){edb.style.display='none';}
this.doMinMax=function(){self.canvas.selectionNode.unSelectNodeAll();self.canvas.selectionEdge.unSelectAll();var wc=self.item.getLayout();var nf=self.item.domNodeRoot;wc.isMinimized=!wc.isMinimized;var ji;if(wc.isMinimized){onb(wc,nf);ji=nnb;}
else{pnb(wc,nf);ji=mnb;}
edb.src=Core.getImageUrl(ji);qnb();}
function onb(wc,nf){var qb=Core.getDimensions(nf);var rnb=qb[0];var snb=qb[1];nf.offsetHeight;var tnb=_core.findStringLength(self.item.node.name);var CHILD_CONTROL_IMG_OFFSET=40;var unb=tnb+CHILD_CONTROL_IMG_OFFSET;if(unb>rnb){unb=rnb;}
var vnb=self.item.node.getJsNodeType().minimizedHeight;if(vnb>snb){vnb=snb;}
if(vnb<12){vnb=12;}
Core.setDimension(nf,unb,vnb);self.item.node.setChildrenNotVisible(self.canvas);self.item.node.hideChildrenEdges(self.canvas);self.item.node.updateEdgeFromTo(self.canvas);self.canvas.hideItemChildrenControlImg(self.item);wc.width=unb;wc.height=vnb;wc.normalWidth=rnb;wc.normalHeight=snb;}
function pnb(wc,nf){wc.width=wc.normalWidth;wc.height=wc.normalHeight
Core.setDimension(nf,wc.normalWidth,wc.normalHeight);self.item.node.setChildrenVisible(self.canvas);self.item.node.displayChidrenEdges(self.canvas);self.item.node.updateEdgeFromTo(self.canvas);self.canvas.showItemChildrenControlImg(self.item);self.canvas.refreshDisplay(lb.node);}
function qnb(){var pc=_core.editor.getHttp('saveLayouts',self,'saveLayoutsReady');pc.addParameter('pmBeginTrans','yes');pc.addParameter('saveMinMax','true');pc.node=self.item.node;var $c=_core.editor.JSON().objectToJSONStr(self.item.getLayout());var rc=pc.nodeToId(self.item.node);pc.addParameter('nodeIds',rc);pc.addParameter('layoutChanges',$c);pc.call();}
this.saveLayoutsReady=function(sc,pc){window.status=pc.dbNode.message;}
}
function Palette(hd,hg){this.panel=Panel;this.panel(hd,hg);var self=this;var wnb;var xnb;var ynb=new Array();this.tableCells=new Array();this.subclassInit=function(){this.table.setAttribute('border','1');this.table.className='shadowBorder';this.table.setAttribute('cellPadding','3');this.table.style.backgroundColor='buttonface';var s=self.table.style;var _n=self.initPaletteOneRow(null,this.table,null,'Palette');_n.setAttribute('align','center');_n.style.fontSize='90%';_n.style.cursor='move';xnb=self.initPaletteOneRow(null,this.table,'select.gif','Select');znb(xnb);self.select(xnb);var nt=new Array(IConstant.JS_TYPE_PROCESS,IConstant.JS_TYPE_OPERATION,IConstant.JS_TYPE_DATAFILE,IConstant.JS_TYPE_DATAARRAY,IConstant.JS_TYPE_DATAGROUP,IConstant.JS_TYPE_DATAELEMENT,IConstant.JS_TYPE_EDGE,IConstant.JS_TYPE_CONDITION,IConstant.JS_TYPE_MENULIST);var $nb=self.getHelpTexts();for(var i=0;i<nt.length;i++){var dk=_core.findNodeType(nt[i]);var kj=new Action(self,'resetSelect');var _nb=new Action(self.editor,'clearActionNewNode');ynb[dk.typeId]=kj;kj.nodeType=dk;_n=self.initPaletteOneRow(kj,this.table,dk.iconSrc,dk.name);_n.setAttribute('id','pltItm'+i);_n.helpText=$nb[nt[i]];znb(_n);_n._glAction=kj;_n.glActionEsc=_nb;kj.td=_n;Core.addEvent(_n,'mouseover',self,'onMouseOver');Core.addEvent(_n,'mouseout',self,'onMouseOut');self.tableCells[nt[i]]=_n;}
var iy=this.table.insertRow(this.table.rows.length);_n=iy.insertCell(0);_n.className='ePaletteItem';_n.setAttribute('align','right');aob=Core.addNode(_n,'span');}
var aob;this.showPrefRow=function(){aob.style.display='block';}
this.hidePrefRow=function(){aob.style.display='none';}
function znb(_n){Core.addEvent(_n,'mouseover',self,'doMouseOver');Core.addEvent(_n,'mouseout',self,'doMouseOut');Core.addEvent(_n,'mousedown',self,'doMouseDown');}
this.doMouseOver=function(_n){var kj=_n._glAction;if(!kj){return;}
if(kj.isDisabled){return;}
Core.appendClassName(_n,'ePaletteItemMouseOver');}
this.doMouseOut=function(_n){Core.removeClassName(_n,'ePaletteItemMouseOver');}
this.doMouseDown=function(_n,e){if(ContextMenu.isRightClick(e)){var jj=_core.getContextMenuFactory().getCanvasMenuPalette();if(jj){jj.canvas=self;jj.setRightClickData(e);jj.refresh();_core.contextMenu=jj;}
return Core.preventDefault(e);}
_core.hideNodeEdgeTerminals();var kj=_n._glAction;if(!kj){self.editor.clearActionNewNode();return;}
if(kj.isDisabled){self.editor.setActionNewNode(null);return;}
var _nb=_n.glActionEsc;self.editor.clearCurrentCanvas();var dk=kj.nodeType;self.select(_n);self.editor.setActionNewNode(kj);self.editor.setActionEscKeyUp(_nb);_core.showDragCursor(e,_n,dk.iconSrc,dk.name);return Core.preventDefault(e);}
function bob(kj){var ji;if(kj.isLocked){ji=cob;}
else{ji=dob;}
kj.pinImg.src=Core.getImageUrl(ji);}
this.select=function(eob){if(!eob){return;}
if(eob.src){_n=eob.td;}
else{_n=eob;}
var ux;if(wnb){ux=wnb.className;wnb.className=ux.replace(' ePaletteItemSelected','');var kj=wnb._glAction;if(kj){kj.isLocked=false;bob(kj);kj.pinImg.style.visibility='hidden';}
}
ux=_n.className;_n.className=ux+' ePaletteItemSelected';wnb=_n;var kj=wnb._glAction;if(kj){kj.isLocked=false;bob(kj);kj.pinImg.style.visibility='visible';}
}
this.resetSelect=function(){self.select(xnb);self.editor.clearActionEscKeyUp();}
var dob='pin_unlock.jpg';var cob='pin_lock.jpg';this.initPaletteOneRow=function(kj,ot,uk,en){var iy=ot.insertRow(ot.rows.length);iy.setAttribute('vAlign','top');var _n=iy.insertCell(0);_n.className='ePaletteItem';if(uk){_n.style.backgroundImage='url('+Core.getImageUrl(uk)+')';_n.style.backgroundPosition='3 center';_n.style.backgroundRepeat='no-repeat';var fob=Core.addSpace(_n,21);fob.setAttribute('height','0');}
Core.addText(_n,en);if(!kj){return _n;}
var gob=Core.addImage(_n,dob);var s=gob.style;s.position='relative';s.visibility='hidden';s.marginLeft='15px';kj.pinImg=gob;gob._glAction=kj;Core.addEvent(gob,'click',self,'onClickPin','Click to lock/unlock');return _n;}
this.onClickPin=function(eg,e){var kj=eg._glAction;kj.isLocked=!kj.isLocked;bob(kj);if(!kj.isLocked){self.editor.clearActionNewNode();}
}
this.refresh=function(ab){if(!ab){for(var mb in ynb){var kj=ynb[mb];Core.appendClassName(kj.td,'ePaletteItemDisabled');kj.isDisabled=true;}
return;}
var hob=ab.rootNode.getJsNodeType().paletteActions;for(var mb in ynb){var kj=ynb[mb];if(ab.isEditable&&hob[kj.nodeType.typeId]){kj.td.className='ePaletteItem';kj.isDisabled=false;self.setHelpText(kj.td,ab);}
else{Core.appendClassName(kj.td,'ePaletteItemDisabled');kj.isDisabled=true;kj.td.removeAttribute('title');}
}
}
this.doShow=function(){self.open();}
this.doHide=function(){self.hide();}
this.getHelpTexts=function(){var iob=[];iob[IConstant.JS_TYPE_PROCESS]='A container for related program logic and data. It provides the canvas ';iob[IConstant.JS_TYPE_OPERATION]='A unit of execution. The actions associated with a method will be executed together.';iob[IConstant.JS_TYPE_DATAFILE]='May only be placed directly on a Class canvas. It is a container for Tables, Fields, and Data Groups.';iob[IConstant.JS_TYPE_DATAARRAY]=[];iob[IConstant.JS_TYPE_DATAARRAY][IConstant.JS_TYPE_DATABASE]='When placed directly on the Canvas, a Database Table is created. This allows for the long term storage of data. A Table may also be be placed inside another table.';iob[IConstant.JS_TYPE_DATAARRAY]['default']='May be placed in a Data Action Map, Data Group, or Table. A table consists of rows. Each row contains of data.';iob[IConstant.JS_TYPE_DATAGROUP]='May be placed in a Data Action Map, Data Group, or Table. It is a container for grouping related data.';iob[IConstant.JS_TYPE_DATAELEMENT]='A single data value. The specific type of data is determined by the Data Type property.';iob[IConstant.JS_TYPE_EDGE]='Connects one node to another. Actions allow data to be manipulated and determine the control flow of an application.';iob[IConstant.JS_TYPE_CONDITION]='A condition may be added to an Action. An Action will execute only when its condition is true. An Action Condition is also used to perform a function call.';iob[IConstant.JS_TYPE_MENULIST]='A Menu appears in the header of applications pages. Classes that are added to the Menu will appear as items in the menu.';return iob;}
this.setHelpText=function(lab,ab){var job=lab.helpText;var text;if(typeof job=='string')text=job;else{text=job[ab.rootNode.jsNodeType.typeId];if(!text)text=job['default'];}
lab.setAttribute('title',text);lab.helpTextItem=text;}
this.onMouseOver=function(gj,e){Core.addToolTip(gj.helpTextItem);}
this.onMouseOut=function(){UnTip();}
}
function Panel(hd,hg){this.editor=hd;this.domParent=hg;this.layout=new Layout();this.position='absolute';this.addPaddingToDomParent=false;var self=this;this.isMax=false;this.table;var kob;this.init=function(){if(self.isTransparentPadding){if(!kob){var lob=(self.addPaddingToDomParent)?this.domParent:document.body;kob=new TransparentPadding(lob);}
kob.show();}
this.table=Core.addTable(self.domParent);if(this.position){this.table.style.position=this.position;}
this.subclassInit();}
this.getWidth=function(){return self.table.offsetWidth;}
this.getHeight=function(){return self.table.offsetHeight;}
var mob;this.addMaxMinImage=function(wi,nob){mob=Core.addImage(wi,'maximize.gif','Maximize');mob.setAttribute('align','absmiddle');if(!nob){if(_core.isIE){mob.style.position='absolute';}
else{mob.style.position='relative';}
mob.style.right='0px';}
Core.addEvent(mob,'click',self,'doMinMaxDisplay');return mob;}
var oob;this.doMinMaxDisplay=function(nb,e){var mi;if(this.isMax){self.table.style.zIndex=0;if(mob){mob.src=Core.getImageUrl('maximize.gif');}
self.editor.doNormalDisplay();if(_core.isIE&&oob){oob.hide();}
mi='Maximize';}
else{this.doMax();mi='Minimize';}
mob.setAttribute('title',mi);mob.setAttribute('alt',mi);this.isMax=!this.isMax;return Core.preventDefault(e);}
this.doMax=function(){pob();if(_core.isIE){if(!oob){oob=new IFramePadding(self.table);}
oob.show();}
}
function pob(){var s=self.table.style;s.left='0px';s.top='0px';s.zIndex=1;var ee=Core.getWindowDimension();var w=ee.width;var h=ee.height;if(mob){mob.src=Core.getImageUrl('restore.gif');}
if(self.subMaximize){self.subMaximize(w,h);}
}
this.open=function(){if(!self.table){self.init();}
self.table.style.display='block';self.table.style.zIndex=fk();if(kob){kob.show();}
}
this.hide=function(){self.table.style.display='none';if(kob){kob.hide();}
}
this.moveTo=function(ac,top){self.table.style.left=ac+'px';this.setTop(top);}
this.setTop=function(top){self.table.style.top=top+'px';}
this.moveToCenter=function(){Core.moveToCenter(self.table);}
this.moveToMouseLocation=function(e){self.moveTo(e.clientX+document.body.scrollLeft,e.clientY+document.body.scrollTop);}
this.setWidth=function(w){self.table.style.width=w+'px';}
this.setHeight=function(h){self.table.style.height=h+'px';}
this.setSize=function(w,h){if(w>0){this.setWidth(w);}
if(h>0){this.setHeight(h);}
}
var mkb;this.addMove=function(wi){Core.addEvent(wi,'mousedown',self,'doMouseDownMove');mkb=new ActionData(null,ActionData.CANVAS_MOUSE_MOVE);}
this.doMouseDownMove=function(wi,e){mkb.setDomItem(self.table);mkb.reset(e);_glActionData=mkb;}
this.isOpen=function(){if(self.table){if(self.table.style.display=='none'){return false;}
else{return true;}
}
else{return false;}
}
}
function IFramePadding(nb){this.dom=nb;var self=this;var g_;this.show=function(){if(!g_){b$();}
qob();}
this.hide=function(){g_.style.visibility='hidden';}
function qob(){var pb=Core.findLoc(self.dom);var s=g_.style;s.left=pb.x+'px';s.top=pb.y+'px';s.width=self.dom.offsetWidth+'px';s.height=self.dom.offsetHeight+'px';s.visibility='visible';}
function b$(){g_=Core.addNode(document.body,'iframe');var s=g_.style;s.position='absolute';s.visibility='hidden';}
}
function PanelScrollable(hg,dc,ec){this.panel=Panel;this.panel(null,hg);this.position=null;var self=this;this.width=dc;this.height=ec;this.scrollableCell;this.scrollableDiv;this.subclassInit=function(){this.table.setAttribute('width',this.width);this.table.setAttribute('height',this.height);var iy=self.table.insertRow(self.table.rows.length);this.scrollableCell=iy.insertCell(iy.cells.length);this.scrollableCell.setAttribute('vAlign','top');this.scrollableDiv=Core.addNode(this.scrollableCell,'div');var s=this.scrollableDiv.style;s.overflow='scroll';s.width='100%';s.height='100%';}
}
function Property(name,jn,$nb){this.name=name;this.value=jn;this.helpText=$nb;this.domUI;var self=this;this.getDom=function(){if(self.commonOps){if(self.isDiplayCommon){return self.commonOpDom;}
else{return self.allOpsDom;}
}
return self.domUI;}
this.getUIValue=function(){var nb=self.getDom();if(nb){if(nb.options){return nb.options[nb.selectedIndex].value;}
else{return nb.value;}
}
}
this.resetUI=function(){var nb=self.getDom();if(nb){if(nb.options){}
else{nb.value='';}
}
}
this.setValueAndUI=function(qw){if(this.value==qw){return;}
this.value=qw;this.refreshUI();}
this.refreshUI=function(){var nb=self.getDom();if(!nb){return;}
if(nb.options){Core.resetSelectedIndex(nb,this.value);}
else{nb.value=Core.nullToNone(this.value);}
}
this.getDisplayValue=function(){var al;if(self.isBoolean){try{al=_core.getYesNoList()[self.value*1].v;}
catch(e){}
}
else if(!self.options||self.options.length<1){al=self.value;}
else{if(self.valueNotInVersion){if(self.valueLabel){al=self.valueLabel;}
else{al=self.value;}
}
else{try{if(self.options&&self.options.length>0){for(var i=0;i<self.options.length;i++){var kt=self.options[i];if(self.value*1==kt.k){al=kt.v;break;}
}
}
}
catch(e){al='';}
}
}
al=al+'';if(!al){al='&nbsp';}
return al;}
}
function PropertySource(rob,oc){this.propertyWindow=rob;this.node=oc;this.properties=new Array();var self=this;this.setProperty=function(name,jn){this.properties[name]=jn;}
this.getProperty=function(name){return this.properties[name];}
var sob,tob;this.loadProperty=function(gn,dj){var oc=self.node;sob=gn;tob=dj;var pc=_core.editor.getHttp('loadProperty',self,'loadPropertyReady');if(oc.isEdge){var gd=oc;pc.addParameter('canvasRootNodeId',gd.canvas.rootNode.fullName);pc.addParameter('edgeIds',gd.name);}
else{var rc=pc.nodeToId(oc);pc.addParameter('nodeIds',rc);}
pc.node=oc;pc.call();}
this.loadPropertyReady=function(sc,pc){var oc=pc.node;self.updatePropertiesByDb(pc);oc.isPropertyLoaded=true;if(sob){sob[tob](sc,pc);}
return true;}
this.updatePropertiesByDb=function(pc){var _m=pc.dbNode;var eu=_m.properties;if(!eu||eu.length<1){return;}
self.properties=new Array();for(var i=0;i<eu.length;i++){var gu=eu[i];var hu=new Property(gu.n,gu.vo.v,gu.ht);hu.isEditable=gu.e;hu.isAlternateProcessing=gu.ap;if(gu.vo.b==1){hu.isBoolean=true;}
else{if(gu.vo.os){hu.options=gu.vo.os;}
}
if(gu.vo.vl){hu.valueLabel=gu.vo.vl;if(gu.vo.isVNInCV){hu.valueNotInVersion=gu.vo.isVNInCV;}
}
self.properties[hu.name]=hu;}
var oc=self.node;if(oc.isEdge){oc.type=_m.t;oc.colorId=_m.c;oc.setColor(_m.c);oc.executionOrder=_m.eo;}
else{oc.nodeType=_m.nt;self.displayOrder=_m.dso;uob(oc,_m);}
}
function uob(oc,_m){if(!oc.isField()){return;}
oc.isComputed=_m.isComputed;oc.isComputedString=_m.isComputedString;oc.isFile=_m.isFile;}
this.doOnKeyDown=function(vob,tl){var hu=vob._glEProperty;if(!hu){return;}
self.addChangedProperty(hu.name,hu.value,vob.value);var gc=(tl.charCode)?tl.charCode:tl.keyCode;if(gc==13){self.saveProperty();}
}
this.doOnblur=function(vob,e){var hu=vob._glEProperty;if(!hu){return;}
self.addChangedProperty(hu.name,hu.value,vob.value);self.saveProperty();return Core.preventDefault(e);}
this.doOnChange=function(select,e){var hu=select._glEProperty;if(!hu){return;}
var name=hu.name;var jn=select.options[select.selectedIndex].value;self.addChangedProperty(name,hu.value,jn);self.saveProperty();}
function wob(jn){return jn*1==0;}
var xob;this.addChangedProperty=function(name,yob,qw){if(!qw&&!yob){return;}
if(qw==yob){return;}
if(!xob){xob=new Array();}
xob[name]=qw;}
var zob,$ob;this.saveProperty=function(_ob,apb){zob=_ob;$ob=apb;if(!xob){return;}
var lk=self.editStyle;var oc=self.node;var pc;if(lk){pc=lk.getHttp('saveStyle',self,'savePropertyReady');}
else{pc=_core.editor.getHttp('saveProperty',self,'savePropertyReady');pc.errorCb=self;pc.errorCbName='savePropertyError';}
var tb=0;var bpb=0;var cpb=new Array();var dpb=[];for(var name in xob){var jn=xob[name];if(self.properties[name]&&self.properties[name].isAlternateProcessing){dpb[name]=jn;bpb+=1;}
else{pc.addParameter('propertyNames',name);pc.addParameter('propertyValues',jn);cpb[name]=jn;}
if(oc.isEdge){epb(oc,name,jn);}
else{fpb(oc,name,jn);}
self.setPropertyValue(name,jn);tb++;}
if(tb<1){return;}
if(tb==bpb){self.performAltProcessing(dpb);xob=null;return;}
else if(bpb>0){pc.altProcessingProperties=dpb;}
var gpb=false;if(oc.isEdge){var we=hpb(oc);if(we.length>1){gpb=true;}
}
else{var sd=ipb(oc);if(sd.length>1){gpb=true;}
}
pc.savedProperties=cpb;pc.addParameter('pmBeginTrans','yes');if(lk){pc.addParameter('dataIds',self.node.dom.id);}
else{if(oc.isEdge){var icb=oc;pc.addParameter('canvasRootNodeId',oc.canvas.rootNode.fullName);jpb(pc,oc);}
else{kpb(pc,oc);}
}
pc.node=oc;pc.call();if(xob['type']||xob['data type']){pc.isReloadDisplay=true;}
xob=null;}
this.performAltProcessing=function(fu){pc=_core.editor.getHttp('beginAltPropertyProcessing',self,'altPropertyProcessingBegan');pc.errorCb=self;pc.errorCbName='savePropertyError';for(var name in fu){var jn=fu[name];pc.addParameter('propertyNames',name);pc.propertyName=name;pc.addParameter('propertyValues',jn);pc.propertyValue=jn;}
pc.addParameter('pmBeginTrans','yes');var oc=self.node;pc.node=oc;if(oc.isEdge){var icb=oc;pc.addParameter('canvasRootNodeId',oc.canvas.rootNode.fullName);jpb(pc,oc);}
else{kpb(pc,oc);}
pc.call();}
this.altPropertyProcessingBegan=function(sc,pc){if(pc.propertyName==IConstant.EXTERNAL_DB_NAME_PROPERTY_NAME){var lpb=pc.dbNode.sst;var hq='Do you wish to copy data from the listed tables to the database "'+pc.propertyValue+'"?<br/>';;hq+='<ul>';for(var i=0;i<lpb.length;i+=1){hq+='<li>'+lpb[i]+'</li>';}
var confirm=new DialogConfirm(document.body,'Copy Data',hq,self,'doCopyDBData',self,'cancelCopyDBData');confirm.isTransparentPadding=true;confirm.http=pc;confirm.open();}
}
this.doCopyDBData=function(mpb){self.completeAltPropertyProcessing(mpb.http,true);}
this.cancelCopyDBData=function(mpb){self.completeAltPropertyProcessing(mpb.http,false);self.savePropertyError(null,mpb.http);}
this.completeAltPropertyProcessing=function(npb,confirm){pc=_core.editor.getHttp('completeAltPropertyProcessing',self,'altPropertyProcessingComplete');pc.errorCb=self;pc.errorCbName='savePropertyError';pc.addParameter('propertyNames',npb.propertyName);pc.addParameter('propertyValues',npb.propertyValue);pc.addParameter('comfirmAltPropertyProcessing',confirm);pc.addParameter('pmBeginTrans','yes');var oc=npb.node;pc.node=oc;if(oc.isEdge){var icb=oc;pc.addParameter('canvasRootNodeId',oc.canvas.rootNode.fullName);jpb(pc,oc);}
else{kpb(pc,oc);}
pc.call();}
this.altPropertyProcessingComplete=function(sc,pc){}
function hpb(oc){var we=new Array();if(_core.editor){var ab=_core.editor.getCurrentCanvas();if(ab){var opb=ab.selectionEdge.list;for(var mb in opb){var e=opb[mb];if(e){we[we.length]=e;}
}
}
}
return we;}
function jpb(pc,oc){var we=hpb(oc);if(we.length>1){for(var i=0;i<we.length;i++){var e=we[i];pc.addParameter('edgeIds',e.name);}
pc.resetPropertyLoadedNodes=we;}
else{pc.addParameter('edgeIds',oc.name);}
pc.nodes=we;}
function ipb(oc){var sd=new Array();if(_core.editor){var ab=_core.editor.getCurrentCanvas();if(ab){var opb=ab.selectionNode.list;for(var mb in opb){var lb=opb[mb];if(lb&&lb.node){if(lb.node.typeId==oc.typeId){sd[sd.length]=lb.node;}
}
}
}
}
return sd;}
function kpb(pc,oc){var sd=ipb(oc);if(sd.length>1){for(var i=0;i<sd.length;i++){var n=sd[i];var rc=pc.nodeToId(n);pc.addParameter('nodeIds',rc);}
pc.resetPropertyLoadedNodes=sd;}
else{var rc=pc.nodeToId(oc);pc.addParameter('nodeIds',rc);}
pc.nodes=sd;}
this.getPropertyValue=function(name){var k$=self.properties[name];if(k$){return k$.value;}
return null;}
this.setPropertyValue=function(name,jn){var k$=self.properties[name];if(k$){k$.value=jn;}
}
this.savePropertyError=function(sc,pc){for(var i in pc.nodes){var oc=pc.nodes[i];var ppb=oc.getPropertySource();ppb.loadProperty(ppb,'show');}
}
this.savePropertyReady=function(sc,pc){if(pc.isReloadDisplay||pc.dbNode.r){self.updatePropertiesByDb(pc);self.show();if(oc.isEdge){oc.setColor(oc.colorId);}
}
if(pc.resetPropertyLoadedNodes){var cpb=pc.savedProperties;var sd=pc.resetPropertyLoadedNodes;for(var i=0;i<sd.length;i++){var n=sd[i];if(cpb){for(var name in cpb){var jn=cpb[name];if(oc.isEdge){epb(n,name,jn,oc.colorId);}
else{fpb(n,name,jn,pc);}
}
}
if(oc.typeId==IConstant.JS_TYPE_DATAELEMENT){uob(n,oc);}
n.isPropertyLoaded=false;}
}
if(zob){zob[$ob]();}
}
function fpb(oc,name,jn,pc){switch(name){case'name':oc.name=jn;oc.updateCanvasDisplayName();oc.updateTreeDisplayName();_core.editor.updateCanvasTitle(oc);break;case'display order':oc.displayOrder=jn;oc.updateCanvasDisplayOrder();break;case IConstant.START_TRANSACTION_PROPERTY_NAME:if(oc.isOperation&&oc.isOperation()){if(wob(jn)){oc.isStartOp=true;}
else{oc.isStartOp=false;}
_core.editor.updateStartOperations(oc);}
break;case'workflow system':oc.isWorkflow=wob(jn);break;case'menu list':if(oc.isApplication()){var qpb=wob(jn);if(qpb){_core.editor.navigator.tree.changeMenuListToTrue(oc);}
else{_core.editor.navigator.tree.changeMenuListToFalse(oc);}
}
break;case IConstant.INDEX_NO_DUPLICATES_PROPERTY_NAME:case IConstant.DUPLICATES_ALLOWED_PROPERTY_NAME:case IConstant.PRIMARY_KEY_PROPERTY_NAME:if(oc.isField&&oc.isField()){oc.primaryKeyType=rpb(name,jn);_core.editor.updatePrimaryKeyFields(oc);}
break;}
}
function rpb(hu,jn){var spb=[IConstant.PRIMARY_KEY_PROPERTY_NAME,IConstant.INDEX_NO_DUPLICATES_PROPERTY_NAME,IConstant.DUPLICATES_ALLOWED_PROPERTY_NAME];for(var i=0;i<spb.length;i+=1){var k$=spb[i];var tpb;if(k$==hu)tpb=jn;else{var upb=self.getProperty(k$);if(upb)tpb=self.getProperty(k$).value;else
tpb=1;}
if(wob(tpb))return k$;}
return null;}
function epb(oc,name,jn,vpb){switch(name){case'type':if(vpb){oc.setColor(vpb);}
break;case'execution order':oc.executionOrder=jn;break;}
}
}
function PropertySourceTable(rob,oc){this.propertySource=PropertySource;this.propertySource(rob,oc);var self=this;var bz;this.init=function(hg){if(bz)bz=null;bz=Core.addTable(hg,1);bz.className='ePropertyTable';bz.setAttribute('width','100%');}
this.show=function(){if(!bz){return;}
var ab=_core.editor.getCurrentCanvas();wpb=true;if((_core.editor.isViewOnly||!_core.editor.getCurrentCanvas().isEditable)&&(_core.editor.isDragon!="true")){wpb=false;}
else{if(!self.node.isEdge&&ab){wpb=ab.isNodePropertyEditable(self.node);}
}
bz.style.display='block';if(bz.rows.length<1){var iy=bz.insertRow(bz.rows.length);var _n=iy.insertCell(iy.cells.length);_n.className='ePropertyCell ePropertyCellHeader';_n.setAttribute('align','right');_n.innerHTML='Name';_n.setAttribute('width','50%');_n=iy.insertCell(iy.cells.length);_n.className='ePropertyCell ePropertyCellHeader';_n.innerHTML='Value';_n.setAttribute('width','50%');}
var yw=bz.rows.length;for(var i=yw-1;i>0;i--){var gab=bz.rows[i];Core.removeNode(gab);}
var fu=self.properties;var xpb=new Array();xpb[0]=fu['name'];if(self.node.isField&&self.node.isField()){xpb[1]=fu['data type'];}
else{xpb[1]=fu['type'];}
xpb[2]=fu['default value'];xpb[3]=fu['display order'];xpb[4]=fu['execution order'];xpb[5]=fu['system name'];for(var name in xpb){var k$=xpb[name];if(k$){k$.groupId=1;}
}
var xmb=new Array();for(var name in fu){var k$=fu[name];if(k$&&!k$.groupId){xmb[xmb.length]=k$;}
}
ypb(xpb);xmb.sort(Core.sortByName);ypb(xmb);var zpb=self.getProperty('name');if(zpb.input){Core.addEvent(zpb.input,'mousedown',self,'doMouseDownForName');}
}
this.doMouseDownForName=function(sl){var name=sl.value;if(!name)return;var $pb=Core.getDefaultNewNamePrefix(oc.getJsNodeType());if(name.indexOf($pb)>-1){sl.value='';}
}
this.doMouseUp=function(){var qu=_core.editor.currentProductVersion;if(self.node.isField&&self.node.isField()){if(qu=='1'){_core.showHelp('datatypes1.html');}
else if(qu=='2'){_core.showHelp('datatypes2.html');}
else if(qu=='3'){_core.showHelp('datatypes3.html');}
else{_core.showHelp('datatypes4.html');}
}
else{if(self.node.propertyCategory==IConstant.EDGE_CATEGORY_DATADATA){if(qu=='1'){_core.showHelp('actions1dd.html');}
else if(qu=='2'){_core.showHelp('actions2dd.html');}
else{_core.showHelp('actions3dd.html');}
}
else if(self.node.propertyCategory==IConstant.EDGE_CATEGORY_PROCESSDATA){if(qu=='1'){_core.showHelp('actions1dm.html');}
else if(qu=='2'){_core.showHelp('actions2dm.html');}
else{_core.showHelp('actions3dm.html');}
}
else if(self.node.propertyCategory==IConstant.EDGE_CATEGORY_PROCESSPROCESS){if(qu=='1'){_core.showHelp('actions1mm.html');}
else if(qu=='2'){_core.showHelp('actions2mm.html');}
else{_core.showHelp('actions3mm.html');}
}
}
}
var wpb=false;function ypb(xmb,_pb,aqb){var it;if(self.node.isField&&self.node.isField()){it=self.getProperty('data type');}
else{it=self.getProperty('type');}
var ln=xmb.length;for(var i=0;i<ln;i++){var k$=xmb[i];if(!k$)continue;var iy=bz.insertRow(bz.rows.length);var _n=iy.insertCell(iy.cells.length);_n.className='ePropertyCell ePropertyCellName';if(k$.helpText.length>0){_n.setAttribute('title',k$.helpText);}
else{_n.setAttribute('title',k$.name);}
_n.innerHTML=k$.name;if(it==k$){_n.style.color='blue';var eg=Core.addImage(_n,'help.gif','Help');Core.addEvent(eg,'click',self,'doMouseUp');Core.addEvent(_n,'click',self,'doMouseUp');}
_n=iy.insertCell(iy.cells.length);_n.className='ePropertyCell ePropertyCellValue';var nb;if(wpb&&k$.isEditable){if(k$.isBoolean){nb=Core.addSelect(_n,_core.getYesNoList(),k$.value);Core.addEvent(nb,'change',self,'doOnChange');k$.select=nb;}
else if(!k$.options||k$.options.length<1){nb=Core.addInput(_n,k$.value,35);Core.addEvent(nb,'blur',self,'doOnblur');Core.addEvent(nb,'keyup',self,'doOnKeyDown');Core.addEvent(nb,'focus',self,'onFocus');Core.addEvent(nb,'mousedown',Core,'setAllowTextSelect');k$.input=nb;}
else{var ow=true;if(k$.name=='data type'||k$.name=='url action'){ow=false;}
var pw=k$.value;if(typeof k$.value=='string'){var st=Core.findSelectIndexByName(k$.options,k$.value);if(st>-1)pw=st;}
var nb=Core.addSelect(_n,k$.options,pw,ow);if(k$.valueNotInVersion){nb.style.display='none';Core.appendClassName(_n,'ePropertyCellValueUneditable');var cg=Core.addNode(_n,'span');if(k$.valueLabel){cg.innerHTML=k$.valueLabel;}
else{cg.innerHTML=k$.value;}
}
Core.addEvent(nb,'change',self,'doOnChange');k$.select=nb;}
nb.className='ePropertyCell';nb._glEProperty=k$;}
else{Core.appendClassName(_n,'ePropertyCellValueUneditable');var cg=Core.addNode(_n,'span');cg.innerHTML=k$.getDisplayValue();}
k$.tr=iy;}
}
this.hide=function(){bz.style.display='none';}
this.onFocus=function(sl,e){Core.select(sl);}
this.unload=function(){bz=null;}
}
function PropertyWindow(hd,hg){this.dialog;this.editor=hd;var self=this;var WIDTH=400;var HEIGHT=300;var adb;var bqb;var lz;this.init=function(){self.dialog=new Dialog(document.body,'Properties');self.dialog.isMovable=true;self.dialog.editor=self.editor;self.dialog.init();var hz=self.dialog.contentCell;var s=hz.style;s.padding='10 20 0 20';s.fontSize=11;var kz=new PanelScrollable(hz,WIDTH,HEIGHT);kz.init();lz=kz.scrollableDiv;lz.style.border='solid 1px #CCCCCC';adb=Core.addNode(lz,'div');self.dialog.addOkayButton(self,'onClickOnOkayButton');self.dialog.okayButton.setAttribute('value','Close');}
this.onClickOnOkayButton=function(){cqb.getPropertySource().saveProperty();}
this.getScrollDiv=function(){return lz;}
var cqb;this.show=function(oc){cqb=oc;if(!oc.isPropertyLoaded){oc.getPropertySource().loadProperty(self,'loadPropertyReady');}
else{dqb(oc);}
self.dialog.open();if(!_core.isIE){self.dialog.table.setAttribute('height',400);adb.style.height='300px';}
}
function dqb(oc){if(bqb){if(oc.id==bqb.id){return;}
}
bqb=oc;while(adb.firstChild){Core.removeNode(adb.firstChild);}
var eqb=oc.getPropertySource();eqb.init(adb);eqb.show();var jd=0;if(oc.isEdge){jd=50;}
else if(oc.isOperation()||oc.isProcess()){jd=115;}
else if(oc.isTemplate()){jd=80;}
else if(oc.isArray()){jd=80;}
else if(oc.isField()){jd=140;}
}
this.loadPropertyReady=function(sc,pc){var oc=pc.node;dqb(oc);return true;}
this.getCurrentCanvas=function(){if(self.editor){return self.editor.getCurrentCanvas();}
}
}
function Rename(){this.canvas;this.item;var self=this;var fqb;this.init=function(){fqb=Core.addInput(document.body);fqb.style.fontSize='11';fqb.style.position='absolute';fqb.style.border='solid 1px black';fqb.style.zIndex=1000;Core.addEvent(fqb,'blur',self,'doOnblur');Core.addEvent(fqb,'keydown',self,'doOnKeyDown');Core.addEvent(fqb,'dblclick',self,'doDblClick');}
this.getDomInput=function(){return fqb;}
this.show=function(ab,lb){self.canvas=ab;self.item=lb;self.node=null;var oc=lb.node;var ag=lb.nameIcon;var pb=Core.findLoc(ag);if(!ag.getAttribute('align'))pb.y+=5;var gqb=Core.getDimensions(ag);var x=pb.x+gqb[0]-ab.getScrollLeft()+2;var hqb;if(oc.isOperation()){hqb=8;}
else{hqb=5;}
var y=pb.y-ab.getScrollTop()-hqb;var iqb=Core.getDimensions(lb.domNodeRoot);var w=iqb[0]-gqb[0];if(lb.node.isField()){w+=20;}
else{w-=10;}
var h=20;fqb.value=lb.node.name;var s=fqb.style;s.left=x+'px';s.top=y+'px';s.width=w+'px';s.height=h+'px';s.display='block';try{fqb.focus();fqb.select();}
catch(e){}
}
this.showForTree=function(oc){self.canvas=null;self.item=null;self.node=oc;if(!_core.editor)return;var ag=oc.treeIconImg;var pb=Core.findLoc(ag);var gqb=Core.getDimensions(ag);var x=pb.x+gqb[0]-_core.editor.navigator.getScrollLeft()+2;var hqb=(oc.isDbPackage)?1:5;var y=pb.y-_core.editor.navigator.getScrollTop()-hqb;var iqb=Core.getDimensions(oc.treeTd);var w=Math.max(iqb[0]-gqb[0],25);var h=20;fqb.value=oc.name;var s=fqb.style;s.left=x+'px';s.top=y+'px';s.width=w+'px';s.height=h+'px';s.display='block';try{fqb.focus();fqb.select();}
catch(e){}
}
this.doOnblur=function(){this.save();this.hide();}
this.hide=function(){fqb.style.display='none';}
this.isDisplayed=function(){return(fqb.style.display=='block');}
this.doOnKeyDown=function(sl,tl){var gc=(tl.charCode)?tl.charCode:tl.keyCode;switch(gc){case ActionData.ENTER:this.save();this.hide();break;case ActionData.ARRAY_DOWN:this.save();jqb();return Core.preventDefault(tl);case ActionData.ARRAY_UP:this.save();jqb(true);return Core.preventDefault(tl);}
}
this.doDblClick=function(sl,e){if(self.item)kqb(e);}
function kqb(e){var oc=self.item.node;_core.editor.openPropertyDialog(oc);return;var ju=_core.getTypePopup(oc.getJsNodeType());ju.refresh(self.canvas,self.item);ju.isSave=true;ju.dialog.moveToCenter();ju.open(e);}
function jqb(dd){if(!self.item)return;var ab=self.canvas;var oc=self.item.node;var _mb;if(dd){_mb=ab.audit.getPrevItem(self.item);}
else{_mb=ab.audit.getNextItem(self.item);}
if(!_mb){fh=lqb(oc,dd);if(fh)_mb=ab.getItem(fh);}
if(_mb){self.show(self.canvas,_mb);}
}
function lqb(oc,dd){var fh;var parent=oc.parent;if(parent){var mqb=oc.displayOrder;var ce=parent.children;var nqb=100000;for(var mb in ce){var tc=ce[mb];if(tc.typeId!=oc.typeId){continue;}
var bj;if(dd){bj=mqb-tc.displayOrder;}
else{bj=tc.displayOrder-mqb;}
if(bj>=0&&bj<nqb){if(tc.id!=oc.id){fh=tc;nqb=bj;}
}
}
}
return fh;}
this.save=function(){var lb=self.item;var oc;if(!lb)oc=self.node;else
oc=lb.node;if(!oc){return;}
var tj=oc.getPropertySource();tj.addChangedProperty('name',oc.name,fqb.value);tj.saveProperty();oc.name=fqb.value;}
}
function ResizeHandler(ab,$b,ac,top,nk,ok){this.canvas=ab;this.cursor=$b;this.left=ac;this.top=top;this.right=nk;this.bottom=ok;this.selectNode;this.selectLine;this.isLineTo;this.mouseDownCbObj;this.mouseDownCbName;this.mouseUpCbObj;this.mouseUpCbName;this.isBendHandler=false;var self=this;var mkb;var edb;this.init=function(hg){edb=Core.addImage(hg,'handler.gif');if(edb.tagName=='image'){edb.setAttribute('width',8);edb.setAttribute('height',8);}
edb.style.zIndex=100;self.setLeftTop(self.left,self.top);var s=edb.style;s.cursor=self.cursor;if(hg.namespaceURI==IConstant.SVGNS){var qb=Core.getDimensions(hg.rect);if(self.right!=-9999)edb.setAttribute('x',qb[0]-self.right);if(self.bottom!=-9999)edb.setAttribute('y',qb[1]-self.bottom);}
else{s.position='absolute';if(self.right!=-9999){s.right=this.getStyleValString(self.right);}
if(self.bottom!=-9999){s.bottom=this.getStyleValString(self.bottom);}
}
mkb=new ActionData(self.canvas,ActionData.CANVAS_MOUSE_RESIZE);if(self.editStyle){mkb.mouseUpCallbackObj=self.editStyle;mkb.mouseUpCallbackName='onMoveResizeEnd';}
mkb.resizeHandler=self;Core.addEvent(edb,'mousedown',self,'onMouseDown');Core.addEvent(edb,'mouseup',self,'onMouseUp');return edb;}
this.setLocation=function(abb){if(abb){self.setLeftTop(abb.x,abb.y);}
}
this.setLeftTop=function(ac,top){if(edb.tagName=='image'){edb.setAttribute('x',ac);edb.setAttribute('y',top);return;}
var s=edb.style;if(ac!=-9999){s.left=this.getStyleValString(ac);}
if(top!=-9999){s.top=this.getStyleValString(top);}
}
this.setLeft=function(ac){if(edb.tagName=='image')edb.setAttribute('x',ac);else
edb.style.left=this.getStyleValString(ac);}
this.setTop=function(top){if(edb.tagName=='image')edb.setAttribute('y',top);else
edb.style.top=this.getStyleValString(top);}
this.show=function(){edb.style.visibility='visible';}
this.hide=function(){edb.style.visibility='hidden';}
this.discard=function(){edb.style.visibility='hidden';}
this.onMouseDown=function(eg,e){if(ContextMenu.isRightClick(e)){return Core.preventDefault(e);}
if(!self.canvas.isEditable)return;if(self.selectNode&&!self.selectNode.areAllDeletable())return;if(self.selectNode!=null){mkb.setItems(self.selectNode.getSelectedNodes());mkb.reset(e);_glActionData=mkb;if(this.mouseDownCbObj){this.mouseDownCbObj[this.mouseDownCbName](self,e);}
}
else if(self.selectLine!=null){if(self.isBendHandler){self.canvas.isBendingLine=true;self.canvas.bendingLine=self.selectLine;}
else if(!self.canvas.isDraggingEdge){self.canvas.isDraggingEdge=true;self.canvas.draggingLine=self.selectLine;if(self.isLineTo){self.canvas.isDraggingTo=true;}
else{self.canvas.isDraggingTo=false;}
if(self.selectLine.edge.isCondition){if((self.isLineTo&&self.selectLine==self.selectLine.edge.fromLine)||(!self.isLineTo&&self.selectLine==self.selectLine.edge.toLine)){self.selectLine.edge.showConditionEdgeTerminals(self.canvas,self.selectLine.edge);}
}
}
}
return Core.preventDefault(e);}
this.onMouseUp=function(eg,e){if(self.selectLine&&ContextMenu.isRightClick(e)){self.selectLine.doMouseUp(eg,e);return;}
if(_glActionData){_glActionData.doMouseUp(e);}
_glActionData=null;if(this.mouseUpCbObj){this.mouseUpCbObj[this.mouseUpCbName](self,e);}
return Core.preventDefault(e);}
this.getImg=function(){return edb;}
this.getActionData=function(){return mkb;}
this.getStyleValString=function(jn){if(typeof jn=='number'){return jn+'px';}
else
return jn;}
}
ResizeHandler.noPos=-9999;function ResizeSide(oqb,pqb,qqb){this.mouseUpCallbackObj=pqb;this.mouseUpCallbackName=qqb;var self=this;this.isVertical=oqb;var edb;var mkb;this.normalWidthOrHeight=4;this.onResizeWidthOrHeight=2;this.init=function(hg,$b){edb=Core.addImage(hg,'transparent.gif','onResize');Core.addEvent(edb,'mousedown',self,'onResize');var s=edb.style;s.position='absolute';s.zIndex=1;s.cursor=$b;rqb(self.normalWidthOrHeight);mkb=new ActionData(null,ActionData.CANVAS_MOUSE_MOVE);mkb.mouseUpCallbackObj=self;mkb.mouseUpCallbackName='onResizeFinish';if(self.isVertical){mkb.isUpdateX=false;}
else{mkb.isUpdateY=false;}
}
function rqb(sqb){if(self.isVertical){edb.setAttribute('height',sqb);}
else{edb.setAttribute('width',sqb);}
}
this.setLeft=function(x){edb.style.left=x+'px';}
this.setTop=function(y){edb.style.top=y+'px';}
this.setWidth=function(w){edb.setAttribute('width',w);}
this.setHeight=function(h){edb.setAttribute('height',h);}
this.refreshToRightSide=function(nb,tqb){var pb=Core.findLoc(nb);self.setLeft(pb.x+nb.offsetWidth-4);self.setTop(pb.y);var h;if(tqb){h=tqb
}
else{h=nb.offsetHeight;}
self.setHeight(h);}
this.refreshToBottomSide=function(nb,uqb){var pb=Core.findLoc(nb);self.setLeft(pb.x);self.setTop(pb.y+nb.offsetHeight-4);var w;if(uqb){w=uqb
}
else{w=nb.offsetWidth;}
self.setWidth(w);}
this.onResize=function(eg,e){rqb(self.onResizeWidthOrHeight);edb.style.backgroundColor='#ff9900';mkb.setDomItem(edb);mkb.reset(e);_glActionData=mkb;return Core.preventDefault(e);}
this.onResizeFinish=function(_c,ad){rqb(self.normalWidthOrHeight);edb.style.backgroundColor='transparent';if(self.mouseUpCallbackObj){self.mouseUpCallbackObj[self.mouseUpCallbackName](_c,ad);}
}
}
function Search(hd){this.editor=hd;this.tree=this.editor.navigator.tree;this.processNode=this.tree.processRootNode;this.dbRootNode=this.tree.dbRootNode;}
Search.prototype.openCanvasByFullName=function(bf){this.canvasNode=null;if(bf)this.canvasFullName=bf;if(this.canvasFullName==this.dbRootNode.fullName){if(this.packageFullName){this.canvasNode=this.tree.getPackageNodeByFullname(this.packageFullName);this.canvasFullName=this.packageFullName;}
else
this.canvasNode=this.dbRootNode;this.treeReady();return;}
this.loadNodeTree=(this.packageFullName)?this.tree.getPackageNodeByFullname(this.packageFullName):this.processNode;this.tree.setloadOrOpenNodeCallBack(this,'treeReady');this.tree.loadOrOpenNode(this.loadNodeTree,true);}
Search.prototype.treeReady=function(){this.tree.clearLoadOrOpenNodeCallBack();if(!this.canvasNode)this.canvasNode=this.loadNodeTree.getChildByFullName(this.canvasFullName);this.tree.setOpenCanvasOnlyCallBack(this,'scrollToNode');this.tree.doOpenCanvasOnly(this.canvasNode);}
Search.prototype.scrollToNode=function(){this.tree.clearOpenCanvasOnlyCallBack();var ab=this.editor.findCanvasByFullName(this.canvasFullName);if(this.scrollToEdge){var gd=ab.rootNode.getEdgeByFullName(this.nodeFullName);ab.scrollToEdge(gd);}
else{var oc=ab.rootNode.getChildByFullName(this.nodeFullName);ab.scrollToNode(oc);}
}
Search.prototype.showResult=function(cj){this.canvasFullName=cj.canvasFullName;this.nodeFullName=cj.fullName;this.packageFullName=cj.packageFullName;this.scrollToEdge=false;this.openCanvasByFullName();}
Search.prototype.showEdge=function(qp){this.canvasFullName=qp.canvasFullName;this.nodeFullName=qp.fullName;this.packageFullName=qp.packageFullName;this.scrollToEdge=true;this.openCanvasByFullName();}
Search.prototype.showSource=function(lb){var pc=this.editor.getHttp('openDeclaration',this,'doShowSourceReady');pc.node=lb.node;pc.call();}
Search.prototype.doShowSourceReady=function(sc,pc){this.showResult({'canvasFullName':pc.dbNode.cfn,'fullName':pc.dbNode.nfn,'packageFullName':pc.dbNode.pfn}
);}
Search.prototype.findReferences=function(lb){var pc=this.editor.getHttp('findReferences',this,'findReferencesReady');pc.node=lb.node;pc.call();}
Search.prototype.findReferencesReady=function(sc,pc){var mpb=Search.getDialog();mpb.setNameHeader('Method');var uh=pc.dbNode.foundReferences;var fab=[];for(var i in uh){var lb=uh[i];var qp={}
;qp.name=lb.un;qp.className=lb.cun;qp.data={'fullName':lb.fn,'canvasFullName':lb.cfn,'packageFullName':lb.pfn}
;fab.push(qp);}
mpb.setResults(fab,this,'showResult');mpb.open();}
Search.prototype.findCalls=function(lb){var pc=this.editor.getHttp('findCalls',this,'findCallsReady');pc.node=lb.node;pc.call();}
Search.prototype.findCallsReady=function(sc,pc){var mpb=this.getActionResultsDialog(pc.dbNode.foundEdges);mpb.open();}
Search.prototype.getActionResultsDialog=function(uh){var mpb=Search.getDialog();mpb.setNameHeader('Action');var fab=[];for(var i in uh){var lb=uh[i];var qp={}
;qp.name=lb.fun+' to '+lb.tun;qp.className=lb.cun;qp.data={}
;qp.data.fullName=lb.fn;qp.data.canvasFullName=lb.cfn;qp.data.packageFullName=lb.pfn;fab.push(qp);}
mpb.setResults(fab,this,'showEdge');return mpb;}
Search.prototype.showAllBreakpoints=function(){var pc=this.editor.getHttp('getAllBreakpoints',this,'allBreakpointsReady');pc.isCallUpdateData=true;pc.call();}
Search.prototype.allBreakpointsReady=function(sc,pc){var mpb=this.getActionResultsDialog(pc.dbNode.foundEdges);mpb.open();}
Search.getDialog=function(){if(!Search.resultsDialog){Search.resultsDialog=new DialogSearchResults('Search Results');Search.resultsDialog.init();}
return Search.resultsDialog;}
function SelectionEdge(ab){this.selection=Selection;this.selection(ab);var self=this;this.getSelectedEdges=function(){return self.list;}
this.doSelect=function(gd,e){self.canvas.selectionNode.unSelectNodeAll();if(self.isSelected(gd)){if(e.ctrlKey||e.shiftKey){vqb(gd);}
if(!_core.getRenameObject()||!_core.getRenameObject().isDisplayed())return Core.preventDefault(e);}
else{if(!(e.ctrlKey||e.shiftKey)){self.unSelectAll();}
self.select(gd);return Core.preventDefault(e);}
}
this.unSelectAll=function(){for(var mb in self.list){vqb(self.list[mb]);}
self.list=new Array();}
this.isSelected=function(gd){if(self.list[gd.id]){return true;}
else{return false;}
}
this.select=function(gd){var wqb=self.list[gd.id];if(wqb){return;}
if(gd.isCondition){gd.fromLine.showHandler();gd.toLine.showHandler();}
else{gd.line.showHandler();gd.line.showBendPoint();}
self.list[gd.id]=gd;}
function vqb(gd){if(!gd){return;}
if(gd.isCondition){gd.fromLine.hideHandler();gd.toLine.hideHandler();}
else{gd.line.hideHandler();gd.line.hideBendPoint();}
self.list[gd.id]=null;}
var fb;this.doDelete=function(){if(self.isEmpty()){return;}
this.doDeleteOnly(self.list);}
this.doDeleteOnly=function(we){var pc=_core.editor.getHttp('deleteEdge',self,'doDeleteReady');pc.addParameter('pmBeginTrans','yes');pc.addParameter('canvasRootNodeId',self.canvas.rootNode.fullName);var gd;var tb=0;for(var mb in we){gd=we[mb];if(gd){pc.addParameter('edgeIds',gd.name);tb++;}
}
if(!gd){return;}
pc.node=gd;if(tb>1){var t='Are you sure that you want to delete all of them?';if(!fb){fb=new DialogConfirm(document.body,'Confirm for Deletion',t,self,'doDeleteClickOkay');fb.isTransparentPadding=true;}
fb.open();fb.http=pc;}
else{pc.call();}
}
this.doDeleteClickOkay=function(){fb.http.call();}
this.doDeleteReady=function(sc,pc){self.canvas.deleteSelectedEdges();if(fb){fb.close();}
window.status=pc.dbNode.message;}
}
function SelectionNode(ab){this.selection=Selection;this.selection(ab);var self=this;this.getSelectedNodes=function(){return self.list;}
this.getSelectedNodesNoChildren=function(){var xqb=[];for(var mb in self.list){var lb=self.list[mb];if(!lb)continue;var yqb=false;var parent=lb.node.parent;while(parent!=null){if(self.list[parent.id]){yqb=true;break;}
parent=parent.parent;}
if(!yqb)xqb[mb]=lb;}
return xqb;}
this.doSelect=function(lb,e){if(!lb){return;}
if(this.isSelected(lb)){if(e.ctrlKey||e.shiftKey){zqb(lb);}
else{lb.onMoveResizeBegin(self,e);}
return Core.preventDefault(e);}
else{if(!(e.ctrlKey||e.shiftKey)){self.unSelectNodeAll();}
self.selectNode(lb);lb.onMoveResizeBegin(self,e);}
}
this.unSelectNodeAll=function(){for(var mb in self.list){zqb(self.list[mb]);}
self.list=new Array();}
this.isSelected=function(lb){if(self.list[lb.node.id]){return true;}
else{return false;}
}
this.selectNode=function(lb){var wqb=self.list[lb.node.id];if(wqb){return;}
self.list[lb.node.id]=lb;lb.select(self);}
function zqb(lb){if(!lb){return;}
self.list[lb.node.id]=null;lb.unSelect(self);}
var $qb;this.getActionDataMove=function(lk){if(!$qb){$qb=new ActionData(self.canvas,ActionData.CANVAS_MOUSE_MOVE);if(lk){$qb.mouseUpCallbackObj=lk;$qb.mouseUpCallbackName='onMoveResizeEnd';}
else{$qb.firstUpdateCallbackObj=self;$qb.firstUpdateCallbackName='onFirstUpdate';$qb.mouseUpCallbackObj=self;$qb.mouseUpCallbackName='onMoveResizeEnd';}
}
return $qb;}
this.onFirstUpdate=function(){for(var mb in self.list){var lb=self.list[mb];if(lb){lb.domSelectRoot.style.zIndex=1000;}
}
}
this.onMoveResizeEnd=function(){for(var mb in self.list){var lb=self.list[mb];if(lb){lb.domSelectRoot.style.zIndex=0;}
}
}
this.areAllDeletable=function(){for(var i in self.list){var oc=self.list[i];if(!oc)continue;if(!self.canvas.isDeletableNode(oc.node))return false;}
return true;}
}
function TabPanel(hd,hg){this.panel=Panel;this.panel(hd,hg);var self=this;this.items=[];this.openItemStack=new Array();var _qb;var arb;var brb;var crb;var drb;var erb;this.subclassInit=function(){var iy=this.table.insertRow(0);var _n=iy.insertCell(0);_n.setAttribute('height','10');_n.style.backgroundColor='buttonface';var frb=Core.addTable(_n);_qb=frb.insertRow(0);erb=_qb.insertCell(_qb.cells.length);erb.className='eTabLabel';erb.setAttribute('width','100%');erb.setAttribute('align','right');self.addTabMenu();var grb=self.addMaxMinImage(erb,true);Core.addEvent(erb,'dblclick',self,'doMinMaxDisplay');iy=this.table.insertRow(this.table.rows.length);arb=iy.insertCell(0);arb.setAttribute('vAlign','top');}
this.addTabMenu=function(){this.tabMenu=hd.toolbarMenuFactory.getCanvasTabMenu();drb=Core.addImage(erb,'viewpulldown.gif');drb.className='toolbarGroup';Core.addEvent(drb,'mouseover',hd.toolbar,'onGroupMouseOver');Core.addEvent(drb,'mouseout',hd.toolbar,'onGroupMouseOut');Core.addEvent(drb,'mousedown',hd.toolbarMenuFactory,'showCanvasTabMenu');}
this.open=function(mb,en,wi,ab){var lb=this.items[mb];if(!lb){lb=this.add(mb,en,wi,ab);}
this.openItem(lb);return lb;}
this.openItem=function(lb){if(crb){if(crb.id==lb.id){return;}
crb.domNode.style.display='none';Core.removeClassName(crb.labelTd,'eTabLabelSelected');crb.canvas.hideOpenCloseChildrenImg();crb.canvas.hideLockImage();crb.labelTd.style.backgroundColor='buttonface';}
var ab=lb.canvas;lb.domNode.style.display='block';lb.domNode.style.visibility='visible';Core.appendClassName(lb.labelTd,'eTabLabelSelected');ab.showOpenCloseChildrenImg();ab.showLockImage();crb=lb;this.openItemStack[this.openItemStack.length]=crb;erb.style.visibility='visible';self.editor.setCurrentCanvas(ab);if(ab.isRootNodeEditable){var ii=_core.getDialogLock();ii.save(ab,DialogLock.LOCK_ACTION_LOCK,self,'doOpenItemLockReady');}
else{self.editor.setCurrentCanvas(ab);self.editor.palette.refresh(ab);ab.refreshIsEditableDisplay();}
self.refreshTabs(lb);}
this.doOpenItemLockReady=function(sc,pc){var li=pc.dbNode.lock;var ab=pc.canvas;if(li.userId==ab.editor.userId){ab.isEditable=true;}
else{ab.isEditable=false;}
self.editor.palette.refresh(ab);ab.refreshIsEditableDisplay();ab.rootNode.lock=li;}
this.doOpenItem=function(_n){var lb=_n._glTabItem;if(!lb){return;}
this.openItem(lb);}
this.add=function(mb,en,wi,ab){var lb=new Object();lb.id=mb;lb.label=en;lb.domNode=wi;lb.canvas=ab;ab._glTabItem=lb;this.items[mb]=lb;var _n=_qb.insertCell(_qb.cells.length-1);_n.setAttribute('nowrap','true');_n.setAttribute('align','center');_n.className='eTabLabel';_n.setAttribute('id',lb.id);if(ab.isRootNodeEditable){var hrb=Core.addImage(_n,'lock.gif');hrb.style.marginRight='5px';ab.lockImgDom=hrb;Core.addEvent(hrb,'click',ab,'doLock');}
ab.addCanvasOpenCloseChildrenImg(lb,_n);var $f=Core.addText(_n,' '+lb.label+' ');lb.textNode=$f;Core.addEvent(_n,'dblclick',self,'doMinMaxDisplay');Core.addSpace(_n,5);var ly=Core.addImage(_n,'delete.gif','Close');ly.style.position='relative';ly.style.right='2px';ly.setAttribute('width','16');ly._glTabItem=lb;Core.addEvent(ly,'mouseup',self,'doCloseItem');lb.closeImg=ly;lb._glTabItem=ly;_n._glTabItem=lb;lb.labelTd=_n;Core.addEvent(_n,'mouseup',self,'doOpenItem');Core.addEvent(_n,'mouseover',self,'doMouseOver');Core.addEvent(_n,'mouseout',self,'doMouseOut');if(!ab.isAddedInTab){arb.appendChild(wi);ab.isAddedInTab=true;}
return lb;}
this.doMouseOver=function(_n){Core.appendClassName(_n,'eTabLabelMouseOver');}
this.doMouseOut=function(_n){Core.removeClassName(_n,'eTabLabelMouseOver');}
this.doCloseItem=function(eg){if(!eg._glTabItem){return;}
if(self.isMax){return;}
var lb=eg._glTabItem;lb.domNode.style.display='none';var kab=_qb.cells;var irb=-1;for(var i=0;i<kab.length;i++){kab[i].style.display='';if(kab[i].id==lb.id){irb=i;}
}
if(irb>-1){_qb.deleteCell(irb);}
var dg=new Array();for(var mb in this.items){var jrb=this.items[mb];if(jrb.id!=lb.id){dg[jrb.id]=jrb;}
}
this.items=dg;var krb=new Array();for(var i=0;i<this.openItemStack.length;i++){var jrb=this.openItemStack[i];if(jrb.id!=lb.id){krb[krb.length]=jrb;}
}
this.openItemStack=krb;if(!crb)return;else if(crb&&crb.id!=lb.id){self.refreshTabs(crb);return;}
crb.domNode.style.display='none';if(crb.canvas.isRootNodeEditable){var ii=_core.getDialogLock();ii.save(crb.canvas,DialogLock.LOCK_ACTION_UNLOCK,self,'releaseLockReady');}
crb=null;if(this.openItemStack.length>0){self.openItem(this.openItemStack[this.openItemStack.length-1]);}
else{erb.style.visibility='hidden';self.editor.palette.refresh();}
}
this.releaseLockReady=function(sc,pc){pc.canvas.rootNode.lock=null;}
function lrb(kb,mrb){var dg=new Array();for(var mb in kb){var lb=kb[mb];if(lb.id!=mrb){dg[lb.id]=lb;}
}
return dg;}
this.updateDimension=function(w,h){arb.setAttribute('width',w);arb.setAttribute('height',h);}
this.getBodyRoot=function(){return arb;}
this.refreshDisplay=function(){var wc=self.layout;var s=self.table.style;s.left=wc.x+'px';s.top=wc.y+'px';self.table.setAttribute('width',wc.width);self.table.setAttribute('height',wc.height);var h=Core.toValid(wc.height);arb.setAttribute('height',h);for(var mb in this.items){var lb=this.items[mb];lb.canvas.resize(wc.width,h);}
self.refreshTabs(crb);}
this.refreshTabs=function(nrb){this.tabMenu.clearCanvasItems();drb.style.display='';var w=0;var orb=self.layout.width;if(nrb){nrb.labelTd.style.display='';orb-=nrb.labelTd.offsetWidth;}
var prb=false;for(var i in self.items){var lb=self.items[i];if(lb==nrb)continue;lb.labelTd.style.display='';w+=lb.labelTd.offsetWidth;if(w+erb.offsetWidth>orb){w-=lb.labelTd.offsetWidth;lb.labelTd.style.display='none';this.tabMenu.addCanvasItem(lb);prb=true;}
}
if(!prb){drb.style.display='none';}
}
this.subMaximize=function(uqb,tqb){var w=Core.toValid(uqb-25);var h=Core.toValid(tqb-30);self.table.setAttribute('width',w);self.table.setAttribute('height',h);arb.setAttribute('height',h);for(var mb in this.items){var lb=this.items[mb];lb.canvas.resize(w,h);}
}
this.setItemLabel=function(lb,en){lb.label=en;lb.textNode.nodeValue=en+' ';this.tabMenu.setItemLabel(lb);}
this.isNodeOpen=function(oc){return(!!this.items[oc.id]);}
}
function Test(uc){this.classNode=uc;this.start();}
Test.prototype.start=function(){var pc=new HTTP('test.do',this,'testStarted');pc.addParameter('action','runTests');pc.addParameter('processId',this.classNode.fullName);pc.isCallUpdateData=true;pc.call();this.dialog=DialogTestResults.getDialog();this.dialog.reset();this.dialog.open();}
Test.prototype.testStarted=function(text,pc){this.dialog.progressBar.setTotalNumberTest(pc.dbNode.total);this.fetchResults();}
Test.prototype.fetchResults=function(){var pc=new HTTP('test.do',this,'loadResults');pc.addParameter('action','getTestResults');pc.addParameter('noPmRequired','yes');pc.isCallUpdateData=true;pc.call();}
Test.prototype.loadResults=function(text,pc){var fab=pc.dbNode.testResults;for(var hab in fab){this.dialog.testCompleted(fab[hab]);}
if(!pc.dbNode.complete){this.fetchResults();}
}
function Toolbar(hd,hg){this.panel=Panel;this.panel(hd,hg);var self=this;this.navigatorShowHide;this.paletteShowHide;var qrb;var rrb;var srb;var trb;var uu;this.subclassInit=function(){uu=hd.toolbarMenuFactory;this.table.setAttribute('width','100%');this.table.className='toolbar';var gab=this.table.insertRow(this.table.rows.length);var urb=gab.insertCell(gab.cells.length);urb.setAttribute('nowrap','nowrap');urb.style.whiteSpace='nowrap';urb.style.backgroundColor='buttonface';urb.style.padding='5px';vrb(urb,'back_to_app.gif','Back to App',self.editor,'doBack','Run Current Application');wrb(urb);var xrb=vrb(urb,'refresh.gif','Refresh',self.editor,'doRefresh','Refresh');trb=xrb.span;wrb(urb);rrb=self.editor.allProductVersions.split(",");var qx=rrb[self.editor.currentProductVersion-1];var yrb=vrb(urb,null,qx,self,'editProductVersions','Change Product Version');srb=yrb.span;if(!_core.isChildWindow()){wrb(urb);vrb(urb,null,'Community',self.editor,'doCommunity','Reach pointdragon community');}
var zrb=gab.insertCell(gab.cells.length);zrb.setAttribute('nowrap','nowrap');zrb.className='title';zrb.setAttribute('align','middle');var $rb=Core.addNode(zrb,'span');$rb.style.position='relative';var cg=Core.addNode($rb,'span');cg.className='title';cg.innerHTML=self.editor.dbName;var _rb='';if(self.editor.isViewOnly){}
var asb=Core.addNode($rb,'span');asb.className='titlePadding';asb.innerHTML=self.editor.dbName+_rb;var _n=gab.insertCell(gab.cells.length);_n.nowrap=true;_n.setAttribute('nowrap','nowrap');_n.style.whiteSpace='nowrap';_n.style.padding='5px';_n.setAttribute('align','right');var bsb=vrb(_n,null,'Feedback',self.editor,'doFeedback','Submit comments and feedback',true);wrb(_n);var csb=bsb.span;csb.style.color='red';csb.style.fontWeight='bold';csb.style.fontSize='120%';vrb(_n,null,'My Apps',self.editor,'doMyApps','Manage my Applications');wrb(_n);vrb(_n,null,self.editor.userId,self.editor,'doMyProfile','Edit my Profile');wrb(_n);vrb(_n,null,'Logoff',self.editor,'doLogoff','Logoff');wrb(_n);if(self.editor.isDragon=='true'){vrb(_n,null,'Close Wizard',self.editor,'doExitDragon','Close Wizard');}
else{dsb(_n,null,'Wizard',self.editor,'doDragon','Run Wizard',false,uu,'showWizardMenu');}
wrb(_n);dsb(_n,null,'Support',self.editor,'doSupport','Support',false,uu,'showSupportMenu');wrb(_n);var qp=vrb(_n,'help.gif','Help',_core,'onHelp','Help');qp.img._cabFileName='index.html';qp.span._cabFileName='index.html';}
function vrb(hg,uk,text,gn,dj,mi,esb){var fsb=new Object();var cg=Core.addNode(hg,'span');if(mi){cg.setAttribute('title',mi);cg.helpTextItem=mi;}
fsb.span=cg;cg.className='toolbarGroup';if(!esb&&self.editor.isViewOnly){Core.appendClassName(cg,'toolbarGroupDisabled');}
if(uk){var eg=Core.addImage(cg,uk,uk);eg.setAttribute('border','0');Core.addEvent(eg,'click',gn,dj);fsb.img=eg;}
Core.addText(cg,' '+text);if(esb||!self.editor.isViewOnly){Core.addEvent(cg,'click',gn,dj);}
Core.addEvent(cg,'mouseover',self,'onGroupMouseOver');Core.addEvent(cg,'mouseout',self,'onGroupMouseOut');return fsb;}
function dsb(hg,uk,text,gn,dj,mi,esb,gsb,hsb){var fsb=new Object();var cg=Core.addNode(hg,'span');fsb.group=vrb(cg,uk,text,gn,dj,mi,esb);var eg=Core.addImage(cg,'viewpulldown.gif');eg.className='toolbarGroup';Core.addEvent(eg,'mouseover',self,'onGroupMouseOver');Core.addEvent(eg,'mouseout',self,'onGroupMouseOut');if(!esb&&self.editor.isViewOnly){Core.appendClassName(eg,'toolbarGroupDisabled');}
if(esb||!self.editor.isViewOnly){Core.addEvent(eg,'mousedown',gsb,hsb);}
fsb.span=cg;return fsb;}
this.onGroupMouseOver=function(cg){Core.appendClassName(cg,'toolbarGroupMouseOver');Core.addToolTip(cg.helpTextItem);}
this.onGroupMouseOut=function(cg){Core.removeClassName(cg,'toolbarGroupMouseOver');UnTip();}
function wrb(hg){var eg=Core.addImage(hg,'transparent.gif');eg.setAttribute('border',0);eg.setAttribute('width',1);eg.setAttribute('height',12);eg.className='toolbarSeparator';return eg;}
this.refreshDisplay=function(){this.table.setAttribute('height',self.layout.height-6);}
this.editProductVersions=function(){srb.innerHTML='';var isb=new Array();for(i=0;i<rrb.length;i++){isb[i]=new Object();isb[i].k=i+1;isb[i].v=rrb[i];}
qrb=Core.addSelect(srb,isb,self.editor.currentProductVersion,false);qrb.style.fontSize='90%';Core.addEvent(qrb,'change',self,'doVersionUpdate');}
this.doVersionUpdate=function(){var pc=new HTTP('updateProductVersion.do',self,'versionReady');pc.addParameter('action','doUpdate');var pw=qrb.selectedIndex+1;pc.addParameter('productVersion',pw);pc.addParameter('pmBeginTrans','yes');pc.call();}
this.versionReady=function(){this.editor.doRefresh();}
this.getRefreshSpan=function(){return trb;}
this.hideToolbarMenu=function(){uu.hideCurrent();}
}
function ShowHide(jsb,ksb,lsb,msb,nsb){this.actionObject=jsb;this.showSrc=ksb;this.hideSrc=lsb;this.showAlt=msb;this.hideAlt=nsb;this.isShow=false
var self=this;this.img;this.init=function(hg){self.img=Core.addImage(hg,this.showSrc);Core.addEvent(self.img,'click',self,'doShowHide');osb();return self.img;}
this.doShowHide=function(eg,e){self.isShow=!self.isShow;osb();}
function osb(){var eg=self.img;var ji,tf;if(self.isShow){ji=self.hideSrc;tf=self.showAlt;if(self.actionObject){self.actionObject.doHide();}
}
else{ji=self.showSrc;tf=self.hideAlt;if(self.actionObject){self.actionObject.doShow();}
}
eg.src=Core.getImageUrl(ji);eg.setAttribute('title',tf);eg.setAttribute('alt',tf);}
}
function ToolbarMenu(){this.menu=Menu;this.menu(null,document.body);var self=this;this.setPosition=function(oc){self.table.style.left=0;var w=self.table.offsetWidth;var pb=Core.findLoc(oc);var qb=Core.getDimensions(oc);var x=pb.x+qb[0]-w;var y=pb.y+qb[1];self.moveTo(x,y);}
}
function SupportMenu(){this.toolbarMenu=ToolbarMenu;this.toolbarMenu();var self=this;this.initItems=function(){if(_core.editor)var qgb=_core.editor.getSupportUrls();else
return;var lb=self.addItem('News',self,'doOpenSupport');lb.supportUrl=qgb.newsUrl;lb=self.addItem('Feedback',self,'doOpenSupport');lb.supportUrl=qgb.feedbackUrl;lb=self.addItem('Report a bug',self,'doOpenSupport');lb.supportUrl=qgb.bugUrl;lb=self.addItem('Community board',self,'doOpenSupport');lb.supportUrl=qgb.boardUrl;}
this.doOpenSupport=function(_n,e,lb){window.open(lb.supportUrl);}
}
function WizardMenu(){this.toolbarMenu=ToolbarMenu;this.toolbarMenu();var self=this;this.initItems=function(){if(_core.editor)var qgb=_core.editor.getSupportUrls();else
return;var nt=[WizardLauncher.CONSTRUCT,WizardLauncher.INTERACTIVE];var to=_core.getWizardLauncher();psb=_core.editor.allProductVersions.split(",");for(var i in nt){var bb=nt[i];var qsb=to.getDataForType(bb);for(var rsb in qsb){var en=bb+' '+psb[rsb-1];var nn=new Menu(null,document.body);var uo=qsb[rsb];if(uo.length==0)continue;for(var j in uo){var vo=uo[j];var ssb=nn.addItem(vo.name,self,'doLaunchWizard');ssb.dragonId=vo.dragonId;}
self.addMenu(nn,en);}
}
}
this.doLaunchWizard=function(_n,e,lb){window.location.href='editor.do?action=view&dragon=true&dragonId='+lb.dragonId;}
}
function CanvasTabMenu(){this.toolbarMenu=ToolbarMenu;this.toolbarMenu();this.canvasTabItems=[];this.canvasTabMenuItems=[];}
CanvasTabMenu.prototype.initItems=function(){}
CanvasTabMenu.prototype.clearCanvasItems=function(){this.canvasTabItems=[];}
CanvasTabMenu.prototype.addCanvasItem=function(lb){this.canvasTabItems[lb.id]=lb;}
CanvasTabMenu.prototype.refresh=function(){for(var mb in this.canvasTabItems){if(!this.canvasTabMenuItems[mb]){var tsb=this.canvasTabItems[mb];var lb=this.addItem(tsb.label,this,'onOpenCanvas');lb.canvasId=mb;this.canvasTabMenuItems[mb]=lb;if(this.table)lb.init();}
}
for(var mb in this.canvasTabMenuItems){if(this.canvasTabItems[mb])this.canvasTabMenuItems[mb].show();else
this.canvasTabMenuItems[mb].hide();}
}
CanvasTabMenu.prototype.onOpenCanvas=function(_n,e,lb){var tsb=this.canvasTabItems[lb.canvasId];_core.editor.canvasTabPanel.openItem(tsb);}
CanvasTabMenu.prototype.setItemLabel=function(lb){var wn=this.canvasTabMenuItems[lb.id];if(wn){wn.setLabel(lb.label);}
}
function ToolbarMenuFactory(){var self=this;var usb;var vsb;var wsb;this.getSupportMenu=function(){if(!wsb){wsb=new SupportMenu();wsb.initItems();}
return wsb;}
;this.showSupportMenu=function(oc,e){var jj=self.getSupportMenu();xsb(jj,oc);}
var ysb;this.getWizardMenu=function(){if(!ysb){ysb=new WizardMenu();ysb.initItems();}
return ysb;}
;this.showWizardMenu=function(oc,e){var jj=self.getWizardMenu();xsb(jj,oc);}
var zsb;this.getCanvasTabMenu=function(){if(!zsb){zsb=new CanvasTabMenu();zsb.initItems();}
return zsb;}
;this.showCanvasTabMenu=function(oc,e){var jj=self.getCanvasTabMenu();xsb(jj,oc);}
function xsb(jj,oc){if(jj==usb){self.hideCurrent();return;}
else if(usb)self.hideCurrent();usb=jj;vsb=false;if(jj.refresh)jj.refresh();jj.open();jj.setPosition(oc);}
this.hideCurrent=function(){if(usb){if(!vsb)vsb=true;else{usb.close();usb=null;}
}
}
}
function TransparentPadding(nb,$sb,_sb){this.dom=nb;this.showActivityAnim=$sb;this.useScrollSize=_sb;var self=this;var atb,edb;this.show=function(){if(!atb){b$();}
atb.style.display='block';}
this.hide=function(){atb.style.display='none';}
function b$(){if(!self.dom)self.dom=document.body;atb=Core.addNode(self.dom,'div');var s=atb.style;s.backgroundImage='url('+Core.getImageUrl('pd_large_bg.png')+')';s.backgroundColor='black';s.position='absolute';s.left='0px';s.top='0px';s.width='100%';s.height='100%';s.width=document.body.scrollWidth+'px';s.height=document.body.scrollHeight+'px';s.display='block';if(_core.isIE){s.filter='alpha(opacity=40)';var px=navigator.userAgent;var rx=px.indexOf('MSIE');var qx=px.substring(rx+5);qx=parseFloat(qx);if(qx<=6.5){self.isIE6=true;s.overflow='hidden';var btb=Core.addNode(atb,'iframe');btb.className='select_fix_iframe';var ctb=btb.style;ctb.display='block';ctb.position='absolute';ctb.top='0px';ctb.left='0px';ctb.zIndex=-1;ctb.filter='mask()';ctb.width='3000px';ctb.height='3000px';}
}
else{s.opacity=0.4;}
dtb();}
function dtb(){if(!self.showActivityAnim||self.isIE6)return;edb=Core.addImage(atb,'indicator_big.gif');var yg=atb.offsetWidth;var etb=edb.offsetWidth;var x=(yg-etb)/2;var s=edb.style;s.position='absolute';s.left=x+'px';s.top='25%';}
}
function GL_ShowWaiting(){var asb=new TransparentPadding(document.body,true,true);setTimeout(asb.show,100);}
function Tree(hd,navigator){this.editor=hd;this.navigator=navigator;var self=this;var OPEN_IMAGE='tree_open.gif';var CLOSE_IMAGE='tree_close.gif';var VLINE_IMAGE='tree_vline.gif';var LEAF_IMAGE='tree_leaf.gif';var wnb;this.loadRoot=function(hg){var ftb=new NetworkNode();ftb.level=0;ftb.treeDomRoot=Core.addNode(hg,'span');ftb.treeDomRoot.style.display='none';Core.addEvent(ftb.treeDomRoot,'mouseup',self.navigator,'doMouseUp');self.editor.navigator.rootNode=ftb;gtb(ftb,'doLoadRootReady');}
this.onRootLoadedCallback;this.setRootLoadedCallback=function(th){self.onRootLoadedCallback=th;}
this.processRootNode;this.dbRootNode;this.menuRootNode;this.doLoadRootReady=function(sc,pc){var oc=pc.node;var _m=pc.dbNode;var ce=_m.children;self.processRootNode=new NetworkNode();self.menuRootNode=new NetworkNode();self.dbRootNode=new NetworkNode();self.processRootNode.updateByDbNode(ce[0]);self.processRootNode.level=1;self.menuRootNode.updateByDbNode(ce[0]);self.menuRootNode.level=1;self.dbRootNode.updateByDbNode(ce[1]);self.dbRootNode.level=1;self.processRootNode.name=self.navigator.appType.name;self.processRootNode.numOfDBChildren=_m.numOfProcess;self.menuRootNode.name=self.navigator.appMenuType.name;self.menuRootNode.typeId=self.navigator.appMenuType.typeId;self.menuRootNode.numOfDBChildren=_m.numOfMenu;self.menuRootNode.isMenuApp=true;self.dbRootNode.name=self.navigator.dbType.name;self.dbRootNode.numOfDBChildren=_m.numOfDefaultDBTables;self.classPackageRootNode=new NetworkNode();self.classPackageRootNode.updateByDbNode(ce[0]);self.classPackageRootNode.level=0;self.classPackageRootNode.name=self.navigator.appClassPackageType.name;self.classPackageRootNode.typeId=self.navigator.appClassPackageType.typeId;self.classPackageRootNode.numOfDBChildren=_m.classPackages.length;self.dbPackageRootNode=new NetworkNode();self.dbPackageRootNode.updateByDbNode(ce[1]);self.dbPackageRootNode.level=0;self.dbPackageRootNode.name=self.navigator.appDbPackageType.name;self.dbPackageRootNode.typeId=self.navigator.appDbPackageType.typeId;self.dbPackageRootNode.numOfDBChildren=_m.dbPackages.length;oc.addChild(self.processRootNode);oc.addChild(self.dbRootNode);oc.addChild(self.menuRootNode);self.addChildren(oc,true);open(oc);_m.children=_m.classPackages;self.classPackageRootNode.updateChildrenByDbNode(pc);oc.addChild(self.classPackageRootNode);self.addNode(oc.treeDomRoot,self.classPackageRootNode,false,true);self.addChildren(self.classPackageRootNode);open(self.classPackageRootNode);self.classPackageRootNode.isChildDisplayed=true;_m.children=_m.dbPackages;self.dbPackageRootNode.updateChildrenByDbNode(pc);oc.addChild(self.dbPackageRootNode);self.addNode(oc.treeDomRoot,self.dbPackageRootNode,false,true);self.addChildren(self.dbPackageRootNode);open(self.dbPackageRootNode);self.dbPackageRootNode.isChildDisplayed=true;self.editor.closeMessageBox();if(self.editor.isDragon!="true"){var htb=true;for(var mb in oc.children){var c=oc.children[mb];if(c.numOfDBChildren>0){htb=false;break;}
}
if(htb){itb();}
}
if(self.onRootLoadedCallback){self.onRootLoadedCallback();}
self.editor.processParameters();}
function jtb($ab,_ab){_ab.fullName=$ab.f;_ab.typeId=$ab.t;_ab.nodeType=$ab.nt;}
function itb(){_core.showHelp('welcome.html','Welcome to PointDragon',680,450);_core.setHelpOkayCallback(self,'onCloseHelp');}
this.onCloseHelp=function(){_core.clearHelpOkayCallback();self.askAddClass();}
this.askAddClass=function(){var ktb=_core.findNodeType(IConstant.JS_TYPE_APPLICATION);var t='Do you want to create a new Class?';var mpb=new DialogConfirm(document.body,'Tip',t,self,'onClickOkayButton');mpb.isTransparentPadding=true;mpb.width=400;mpb.open();}
this.onClickOkayButton=function(button,e){self.navigator.promptClassName();}
var ltb=new Array();this.getNodeTable=function(oc){return ltb[oc.id];}
this.addNode=function(wi,oc,mtb,ntb){_core.log('display '+oc.name,IConstant.LOG_DEVELOPER_LEVEL);if(!ntb){var ot=Core.addTable(wi,0);ltb[oc.id]=ot;var iy=ot.insertRow(ot.rows.length);for(var i=1;i<oc.level;i++){var _n=iy.insertCell(iy.cells.length);Core.addEvent(_n,'mouseup',self.editor,'clearActionNewNode');_n.className='eTreeControlCell';Core.addSpace(_n,10);_n.style.backgroundImage='url('+Core.getImageUrl(VLINE_IMAGE)+')';}
var of=oc.getJsNodeType();var _n=iy.insertCell(iy.cells.length);_n.className='eTreeControlCell';var	eg=Core.addImage(_n,CLOSE_IMAGE);eg._glNetworkNode=oc;oc.treeControlImg=eg;if(oc.numOfDBChildren<1&&oc.isLeaf()){eg.src=Core.getImageUrl(LEAF_IMAGE);}
else{oc.treeControlImg.style.visibility='visible';}
Core.addEvent(eg,'click',self,'doControlImage');_n.style.backgroundImage='url('+Core.getImageUrl(VLINE_IMAGE)+')';var _n=iy.insertCell(iy.cells.length);znb(_n);_n.className='eTreeLabelCell';_n.id=oc.id;_n._glNetworkNode=oc;oc.treeTd=_n;var vf;if(TypeUtil.isDatabaseTemplate(oc)){if(TypeUtil.isTopDatabaseTemplate(oc)){vf=_core.typeUtil.arrayType.iconSrc;}
else{vf=of.iconSrc;}
}
else{vf=of.iconSrc;}
var ag=Core.addImage(_n,vf,oc.fullName);ag._glNetworkNode=oc;oc.treeIconImg=ag;znb(ag);var $f=Core.addText(_n,' ');oc.domTreeNameTextNode=$f;oc.updateTreeDisplayName();}
oc.treeDomRoot=Core.addNode(wi,'span');oc.treeDomRoot.style.display='none';self.updateMenuListIcon(oc);}
this.updateMenuListIcon=function(oc){if(oc.isMenuList()){self.changeMenuListToTrue(oc);}
}
this.changeMenuListToTrue=function(oc){var otb=_core.findNodeType(IConstant.JS_TYPE_MENULIST);oc.typeId=IConstant.JS_TYPE_MENULIST;oc.jsNodeType=otb;oc.treeIconImg.src=Core.getImageUrl(otb.iconSrc);}
this.changeMenuListToFalse=function(oc){oc.typeId=IConstant.JS_TYPE_PROCESS;oc.jsNodeType=null;oc.treeIconImg.src=Core.getImageUrl(oc.getJsNodeType().iconSrc);}
this.updateDeleteChild=function(parent,tc){if(!parent.treeDomRoot){return;}
var ot=self.getNodeTable(tc);if(ot){Core.deleteDom(ot);}
if(tc.treeDomRoot){Core.deleteDom(tc.treeDomRoot);}
if(parent.isLeaf()){self.updateControlImage(parent);}
}
this.updateControlImage=function(oc){var eg=oc.treeControlImg;if(!eg){return;}
if(oc.isLeaf()){eg.src=Core.getImageUrl(LEAF_IMAGE);}
else{if(self.isNodeOpen(oc)){eg.src=Core.getImageUrl(OPEN_IMAGE);}
else{eg.src=Core.getImageUrl(CLOSE_IMAGE);}
}
}
function znb(_n){Core.addEvent(_n,'mouseover',self,'doMouseOver');Core.addEvent(_n,'mouseout',self,'doMouseOut');Core.addEvent(_n,'mousedown',self,'doMouseDown');Core.addEvent(_n,'mouseup',self,'doMouseUp');Core.addEvent(_n,'dblclick',self,'doDblclick');Core.addEventHandler(_n,'selectstart',Core.preventDefault);}
this.addChildren=function(parent,ptb){var ce=parent.children;self.addChildrenToParent(parent,ce,ptb);}
this.addChildrenToParent=function(parent,ce,ptb){if(!ce||ce.length<1){return;}
if(!ptb){ce.sort(Core.sortByName);}
var qtb=ce.length;var mtb=true;var tb=0;for(var mb in ce){tb++;var tc=ce[mb];if(tb==qtb){mtb=false
}
self.addNode(parent.treeDomRoot,tc,mtb);}
parent.isChildDisplayed=true;}
this.doMouseOver=function(_n){var ux=_n.className;var oc=_n._glNetworkNode;_n.className=ux+' eTreeLabelCellMouseOver';if(oc&&!oc.isPropertyLoaded){if(!oc.isPropertyLoading){oc.isPropertyLoading=true;var tj=oc.getPropertySource();tj.loadProperty(self,'showToolTipCB');}
}
else if(oc){self.showToolTip(oc);}
}
this.showToolTipCB=function(sc,pc){this.showToolTip(pc.node);}
this.showToolTip=function(oc){var tj=oc.getPropertySource();var uj="";if(vj=tj.getPropertyValue(IConstant.DESCRIPTION_PROPERTY_NAME)){uj=vj;}
if(uj)Core.addToolTip(uj);}
this.doMouseOut=function(_n){var ux=_n.className;_n.className=ux.replace(' eTreeLabelCellMouseOver','');UnTip();}
this.getCurrentSelect=function(){return wnb;}
this.refreshSelectDisplay=function(_n){var ux;if(wnb){Core.removeClassName(wnb,'eTreeLabelCellSelected');}
Core.appendClassName(_n,'eTreeLabelCellSelected');wnb=_n;}
this.doMouseDown=function(_n,e){if(self.editor.getActionNewNode()!=null){self.editor.clearActionNewNode();return;}
self.refreshSelectDisplay(_n);var oc=_n._glNetworkNode;self.editor.openPropertyWindow(oc);if(!(oc.isProcess()||oc.isOperation()||oc.isTopLevelTemplate())){return;}
if(!self.editor.isCurrentCanvasReadyForDrop(oc)){return;}
var rtb=new Object();rtb.node=oc;rtb.td=_n;_core.setDragMouseDownDom(_n,self,'onDragStart',rtb);return Core.preventDefault(e);}
var stb;this.onDragStart=function(rtb,e){var oc=rtb.node;var _n=rtb.td;if(!stb){stb=new Action();}
var dk=oc.getJsNodeType();stb.nodeType=dk
self.editor.setActionNewNode(stb,_n);stb.refNode=oc;var ki=null;if(e.ctrlKey&&oc.isTopLevelTemplate()){ki='#cccccc';}
_core.showDragCursor(e,_n,dk.iconSrc,oc.name,ki);}
this.doMouseUp=function(_n,e){self.editor.clearActionNewNode();var oc=_n._glNetworkNode;if(ContextMenu.isRightClick(e)&&!_core.contextMenu){var jj=_core.getContextMenuFactory().getTreeNodeMenu(oc);jj.tree=self;jj.node=oc;jj.item=new CanvasItem(null,oc);jj.refresh();_core.contextMenu=jj;}
return;}
this.doDblclick=function(_n,e){var oc=_n._glNetworkNode;if(!oc){return Core.preventDefault();}
self.doOpenCanvasOnly(oc);return Core.preventDefault(e);}
this.isCanvasOpenable=function(oc){if(oc.isDatabase()||oc.isProcess()||oc.isApplication()||oc.isAppMenu()||oc.isMenuList()||oc.isAppClassPackage()||oc.isClassPackage()||oc.isDbPackage()){return true;}
else{return false;}
}
this.openCanvasOnlyCallBack;this.setOpenCanvasOnlyCallBack=function(sh,ttb){if(self.openCanvasOnlyCallBack){self.openCanvasOnlyCallBack.cbObject=sh;self.openCanvasOnlyCallBack.cbName=ttb;}
else{self.openCanvasOnlyCallBack=new CallBack(sh,ttb);}
}
this.clearOpenCanvasOnlyCallBack=function(){self.openCanvasOnlyCallBack=null;}
this.doOpenCanvasOnly=function(oc,jd,kd){if(self.isCanvasOpenable(oc)){var ab=self.editor.canvasList[oc.id];if(!ab){var pc=gtb(oc,'doOpenCanvasLoadReady',oc.fullName);pc.scrollLeft=jd;pc.scrollTop=kd;return;}
else{self.editor.doOpenCanvas(oc,jd,kd);}
}
else{var ab=self.editor.getCurrentCanvas();if(ab){ab.scrollToNode(oc);}
}
if(self.openCanvasOnlyCallBack){self.openCanvasOnlyCallBack.call();}
}
this.doOpenCanvasLoadReady=function(sc,pc){var oc=pc.node;if(pc.dbNode){oc.lock=pc.dbNode.lock;}
self.editor.openMessageBox('rendering ...');oc.updateChildrenByDbNodeOpenCanvas(pc,oc.id);oc.updateEdgesByDbNode(pc);self.editor.doOpenCanvas(oc,pc.scrollLeft,pc.scrollTop);self.editor.closeMessageBox();if(self.openCanvasOnlyCallBack){self.openCanvasOnlyCallBack.call();}
}
function gtb(oc,ttb,glb){var pc=self.editor.getHttp('loadNode',self,ttb);pc.addParameter('pmBeginTrans','yes');pc.node=oc;pc.addParameter('loadChildren','true');if(oc.isProcess()||oc.isDatabase()||oc.isDbPackage()){pc.addParameter('loadLinks','true');}
if(glb){pc.addParameter('canvasRootNodeId',glb);pc.addParameter('loadLayout',true);}
if(oc.isMenuApp){pc.addParameter('loadMenu','true')}
else if(oc.isAppClassPackage()){pc.addParameter('loadClassPackage','true');}
else if(oc.isDbPackage()){pc.addParameter('packageNodeId',oc.dbPackageNodeId);}
self.editor.openMessageBox('loading ...');pc.call();return pc;}
this.doControlImage=function(eg){if(!eg._glNetworkNode){return;}
if(eg.src.indexOf(LEAF_IMAGE)>-1){return;}
var oc=eg._glNetworkNode;this.loadOrOpenNode(oc);}
this.loadOrOpenNodeCallBack;this.setloadOrOpenNodeCallBack=function(sh,ttb){if(self.loadOrOpenNodeCallBack){self.loadOrOpenNodeCallBack.cbObject=sh;self.loadOrOpenNodeCallBack.cbName=ttb;}
else{self.loadOrOpenNodeCallBack=new CallBack(sh,ttb);}
}
this.clearLoadOrOpenNodeCallBack=function(){self.loadOrOpenNodeCallBack=undefined;}
this.loadOrOpenNode=function(oc,utb){if(oc.numOfDBChildren>0&&oc.children.length<1){gtb(oc,'doControlImageLoadReady');return;}
else if(!oc.isChildDisplayed){self.addChildren(oc);open(oc);}
else{if(utb){open(oc);}
else{if(self.isNodeOpen(oc)){close(oc);}
else{open(oc);}
}
}
if(self.loadOrOpenNodeCallBack){self.loadOrOpenNodeCallBack.call();}
}
this.doControlImageLoadReady=function(sc,pc){self.editor.openMessageBox('rendering ...');var oc=pc.node;oc.updateChildrenByDbNode(pc);oc.updateEdgesByDbNode(pc);self.addChildren(oc);open(oc);self.editor.closeMessageBox();if(self.loadOrOpenNodeCallBack){self.loadOrOpenNodeCallBack.call();}
}
this.areTreeChildrenLoaded=function(oc){return(!!oc.isChildDisplayed);}
function open(oc){if(oc.treeDomRoot){oc.treeDomRoot.style.display='block';}
if(oc.treeControlImg){oc.treeControlImg.setAttribute('src',Core.getImageUrl(OPEN_IMAGE));}
}
function close(oc){if(oc.treeDomRoot){oc.treeDomRoot.style.display='none';}
if(oc.treeControlImg){oc.treeControlImg.setAttribute('src',Core.getImageUrl(CLOSE_IMAGE));}
}
this.onLoadNodeCallback;this.setOnLoadNodeCallback=function(sh,ttb){if(!self.onLoadNodeCallback){self.onLoadNodeCallback=new Object();}
self.onLoadNodeCallback.cbObject=sh;self.onLoadNodeCallback.cbMethod=ttb;}
this.loadOnly=function(oc){if(oc.numOfDBChildren>0&&oc.children.length<1){gtb(oc,'doLoadOnlyReady');}
else if(self.onLoadNodeCallback){var m$=self.onLoadNodeCallback;m$.cbObject[m$.cbMethod]();}
}
this.doLoadOnlyReady=function(sc,pc){var oc=pc.node;oc.updateChildrenByDbNode(pc);oc.updateEdgesByDbNode(pc);self.addChildren(oc);self.editor.closeMessageBox();if(self.onLoadNodeCallback){var m$=self.onLoadNodeCallback;m$.cbObject[m$.cbMethod]();}
}
this.isNodeOpen=function(oc){if(oc.treeDomRoot&&oc.treeDomRoot.style.display=='none'){return false;}
return true;}
this.expandAllChildren=function(oc){vtb(oc,true);}
this.closeAllChildren=function(oc){close(oc);}
this.getPackageNodeByFullname=function(bf){var oc=this.classPackageRootNode.getChildByFullName(bf);if(!oc)oc=this.dbPackageRootNode.getChildByFullName(bf);return oc;}
}
function UndoRedo(){var self=this;var wtb=new Array;var xtb=new Array;this.addUndo=function(ytb){wtb.push(ytb);}
this.getUndo=function(){return wtb.pop();}
this.getUndoPoints=function(){return wtb;}
this.isUndoExist=function(){return wtb.length>0;}
this.addRedo=function(ytb){xtb.push(ytb);}
this.getRedo=function(){return xtb.pop();}
this.isRedoExist=function(){return xtb.length>0;}
this.saveUndo=function(){var pc=_core.editor.getHttp('undo',self,'saveUndoReady');pc.addParameter('pmBeginTrans','yes');pc.addParameter('undoTime',self.time.getTime());pc.isCallUpdateData=true;pc.call();}
this.saveUndoReady=function(sc,pc){window.status=pc.dbNode.message;}
}
function CheckPoint(pc){this.http=pc;this.time=new Date();this.time.setTime(pc.dbNode.saveTime);this.getDisplayTime=function(){var t=this.time;var o=t.getHours()+':'+t.getMinutes()+':'+t.getSeconds()+' '+(t.getMonth()+1)+'/'+t.getDate()+'/'+t.getYear();return o;}
}
function CheckPointAddChild(ztb,ab){this.checkPoint=CheckPoint;this.checkPoint(ztb);var self=this;var n_=ab;this.undo=function(){alert('working on it: '+this.time);}
this.redo=function(){alert('working on it: '+this.time);}
}
