var c; var _utils="null"; var currentColorMode="__textColor"; var saveBox; var submitBox; var uploadBox; var authBox; var emailBox; var embedHTMLBox; var uploadLogoBox; var previousPaletteID="basic"; var prevShapeID=""; var toolbar_MENUBAR_1; var toolbar_MENUBAR_2; var toolbar_FILL_COLOR_ID=13; var toolbar_FILL_COLOR_INDICATOR_ID=131; var toolbar_LINE_COLOR_ID=17; var toolbar_LINE_COLOR_INDICATOR_ID=171; var toolbar_TEXT_COLOR_ID=2009; var toolbar_DWF_COLOR_ID=2010; var toolbar_TEXT_COLOR_INDICATOR_ID=20091; var toolbar_LINE_WIDTH_ID=15; var toolbar_LINE_STYLE=16; var toolbar_OPACITY_ID=18; var toolbar_GRADIENT_ID=19; var toolbar_SHADOW_ID=21; var toolbar_FONT_ID=2001; var toolbar_FONT_SIZE_ID=2002; var toolbar_BOLD_ID=2004; var toolbar_OFFLINE_ID=200414; var toolbar_ONLINE_ID=200415; var toolbar_ITALIC_ID=2005; var toolbar_LEFT_ALIGN_ID=2006; var toolbar_CENTER_ALIGN_ID=2007; var toolbar_RIGHT_ALIGN_ID=2008; var toolbar_TEXT_MODE_ID=200100; var toolbar_LINE_MODE_ID=200101; var toolbar_ORTHO_MODE_ID=200102; var toolbar_CURVE_MODE_ID=200103; var toolbar_SELECT_MODE_ID=200104; var toolbar_ZOOM_TEXT_ID=200108; var toolbar_DRAG_STARTED=false; toolbar_DRAG_OVER=false; var onMouseOverListener=null; var dragDropObj=null; toolbar_DRAG_CLONE_ID=null; var auth=false; var rulerEnabled=true; var activeTab="_shapeTab"; var gridSize=25; var currentFile=""; var cachedCommand; var cachedParm; var visibleProperties="_pageTable"; var lastSaveUrl; var connected=true; var db; var xml; var current_id; var local_loginid; var local_file_extension; var local_assetid; var local_last_modified_date; var local_rastertype; var local_id; var el; function loadScripts(){ ie=navigator.appVersion.match(/MSIE (\d\.\d)/); opera=(navigator.userAgent.toLowerCase().indexOf("opera")!=-1); if((!ie)||(opera)){ var _1=document.createElement("script"); _1.type="text/javascript"; _1.src="scripts/svgrenderer.js"; document.getElementsByTagName("head")[0].appendChild(_1); }else{ var _1=document.createElement("script"); _1.type="text/javascript"; _1.src="scripts/vmlrenderer.js"; document.getElementsByTagName("head")[0].appendChild(_1); } } function createNew(){ var _2=confirm("Would you like to save your current work before starting a new drawing?\nClick Cancel to procced without saving"); if(_2==false){ this.currentFile=""; c.reset(); } } document.onselectstart=function(_3){ if($("_saveBox").style.visibility=="visible"){ return true; } if($("__imageURLWizard").style.visibility=="visible"){ return; } if($("_submitBox").style.visibility=="visible"){ return true; } if($("_uploadLogoBox").style.visibility=="visible"){ return true; } if(c&&c.isTextEditMode()){ return true; } return false; }; function showDialogBox(_4){ _4.style.position="absolute"; var _5=Element.getDimensions($("_body")); var _6=Element.getDimensions(_4); _4.style.marginLeft=(_5.width/2)-(_6.width/2); _4.style.marginTop="100"; _4.style.visibility="visible"; } function upload(){ if(!uploadBox){ uploadBox=$("_uploadBox"); } showDialogBox(uploadBox); $("__fileUploadId").value=createUUID(); cancelSave(); } function uploadLogo(){ if(!uploadLogoBox){ uploadLogoBox=$("_uploadLogoBox"); } showDialogBox(uploadLogoBox); $("__fileUploadId").value=createUUID(); cancelSave(); } function startUpload(_7){ uploadBox.style.visibility="hidden"; var _8="UploadStatusProvider"; var id=$("__fileUploadId").value; var _a="ID="+id; var _b=new Ajax.Request(_8,{method:"post",parameters:_a,onComplete:uploadFileComplete}); } function uploadLogoFromLocalDiskOrURL(_c){ var _d=$("__imageURL").value; if(_d.toLowerCase().indexOf("https://")==0||_d.toLowerCase().indexOf("http://")==0){ insertImage(); cancelOpen(); return false; }else{ storeData(); startLogoUpload(_c); return true; } } function startLogoUpload(_e){ if(!auth&&isOnline()){ alert("You must be logged in to upload images to the server."); cachedCommand="startLogoUpload"; cachedParm=$("_uploadLogoFile").value; authenticated(); return; } uploadLogoBox.style.visibility="hidden"; if(isOnline()){ setHelp("Uploading image..."); var _f="UploadLogoStatusProvider"; var id=$("__logoUploadId").value; var _11="ID="+id; var _12=new Ajax.Request(_f,{method:"post",parameters:_11,onComplete:uploadLogoComplete}); }else{ setHelp("Uploading image locally..."); var _13=$("_uploadLogoFile").value; saveImageToLocalDB(_13); } } function uploadFileComplete(_14){ setHelp("Uploaded editable diagram file"); var _15=_14.responseText; if(_15&&_15.indexOf("UPLOAD_COMPLETE:")>=0){ var _16=_15.split("<beginDrawObject>")[1]; var div=c.getValidDocumentFromResponse(_16); c.open(div); }else{ alert("Unable to process file due to server error"+_14.responseText); } loadRefreshData(); } function uploadLogoComplete(_18){ var _19=_18.responseText; if(_19&&_19.indexOf("UPLOAD_COMPLETE:")>=0){ this.loadAssetPalette("_imageAssets"); if(this.activeTab!="_imageTab"){ this.highlightTab("_imageTab",0); } setHelp("Uploaded image"); }else{ alert("Unable to process file due to server error"+_18.responseText); } loadRefreshData(); } function saveToServer(_1a){ if(!auth&&isOnline()){ alert("You must be logged in to save your work to the server."); cachedCommand="saveToServer"; cachedParm=$(_1a); authenticated(); return; } setHelp(SAVE_BEGIN_MESSAGE); var _1b=_1a.responseText; if(_1b&&_1b.indexOf("SUCCESS")>=0){ setHelp(SAVE_SUCCESS_MESSAGE); loadFilePalette("_fileAssets"); if(activeTab!="_fileTab"){ highlightTab("_fileTab",0); } }else{ alert("Unable to process file due to server error"+_1a.responseText); } setHelp("File saved"); } function cancelOpen(){ uploadBox=$("_uploadBox"); uploadBox.style.visibility="hidden"; uploadLogoBox=$("_uploadLogoBox"); uploadLogoBox.style.visibility="hidden"; } function startSave(){ if(isOnline()){ setHelp("Select export format and provide a file name"); if(!saveBox){ saveBox=$("_saveBox"); } showDialogBox(saveBox); var _1c=unescape(this.currentFile); $("_DOCUMENT_NAME").value=_1c; $("submitName").value=_1c; saveBox.style.zIndex=c.renderer.maxIndex+50; cancelOpen(); }else{ alert("Export functionality is not available offline."); } } function startSaveToServer(){ if(!auth&&isOnline()){ alert("You must be logged in to save your work to the server."); cachedCommand="startSaveToServer"; authenticated(); return; } setHelp("Submit your drawing!"); if(!submitBox){ submitBox=$("_submitBox"); } showDialogBox(submitBox); $("submitName").value=unescape(this.currentFile); submitBox.style.zIndex=c.renderer.maxIndex+51; cancelOpen(); } function saveAs(){ setHelp("<font color='red'>Processing...Please Wait</font>"); var _1d=CLUtilities.prototype.trim($("_DOCUMENT_NAME").value); this.currentFile=_1d; var _1e=""; if($("_JPEG").checked){ _1e="JPG"; }else{ if($("_PNG").checked){ _1e="PNG"; }else{ if($("_SVG").checked){ _1e="SVG"; }else{ if($("_PDF").checked){ _1e="PDF"; }else{ if($("_MMD").checked){ _1e=c.renderer.EXTENSION; }else{ if($("_DWF").checked){ _1e="DWF"; }else{ if($("_DWFX").checked){ _1e="DWFX"; }else{ if($("_DWF2").checked){ _1e="DWF2"; }else{ alert("please select a download format"); return; } } } } } } } } var _1f=$("_DOCUMENT_NAME").value; if(!_1f){ alert("Please enter a file name."); return; } var _1d=CLUtilities.prototype.trim(_1f); if(!_1d){ alert("Please enter a file name."); return; } if(_1f.length>255){ alert("File name is too long."); return; } if(_1e=="DWF2"){ var _20=c.getPageSize(); _20=_20.width+"x"+_20.height; saveBox.style.visibility="hidden"; var url="ImageProcessor"; var _22=screen.logicalXDPI/72; var _23=getAllData(_1e); var _24=(_23.innerHTML)?_23.innerHTML:_23.xml; var _25=c.getZoom(); var _26="GET_DWF_LINK"; var _27={DATA:_24,SIZE:_20,FORMAT:_1e,XDPI:_22,TYPE:c.renderer.TYPE,ZOOM:_25,REQUEST_TYPE:_26}; var _28=new Ajax.Request(url,{method:"post",parameters:_27,onComplete:displayIframe}); return; } _1f=escape(_1f); var _20=c.getPageSize(); _20=_20.width+"x"+_20.height; saveBox.style.visibility="hidden"; var url="ImageProcessor"; var _22=screen.logicalXDPI/72; var _23=getAllData(_1e); var _24=(_23.innerHTML)?_23.innerHTML:_23.xml; var _25=c.getZoom(); var _27={DATA:_24,SIZE:_20,FORMAT:_1e,XDPI:_22,TYPE:c.renderer.TYPE,ZOOM:_25}; var _28=new Ajax.Request(url,{method:"post",parameters:_27,onComplete:beginDownload}); var _29=(_24)?_24.length:0; _29=_29/1024; _29=Math.round(_29); setHelp("<font color='red'><b>Sending "+_29+"KB to server, this may take a few seconds...</b></font>"); } function displayIframe(_2a){ var obj=new Object(); try{ saveBox.style.visibility="hidden"; var _2c=_2a.responseText; obj.id=1; obj.href=FW_URL+"/dwf_s.aspx?"+_2c; } catch(e){ alert(e.message); textOut(e.message); } return iframePop(obj); } function submitAs(){ var _2d=$("submitName").value; if(!_2d){ alert("Please enter a file name."); return; } var _2e=CLUtilities.prototype.trim(_2d); if(!_2e){ alert("Please enter a file name."); return; } if(_2d.length>255){ alert("File name is too long.  Maximum length of a filename is 255."); return; } _2d=escape(_2d); setHelp("<font color='red'><b>Submitting diagram...please wait</b></font>"); var _2f=c.getPageSize(); _2f=_2f.width+"x"+_2f.height; var url="UploadFileServlet"; var _31=screen.logicalXDPI/72; var _32="SVG"; var _33=getAllData(_32); var _34=(_33.innerHTML)?_33.innerHTML:_33.xml; var _35=c.getZoom(); if(isOnline()){ var _36={REQUEST_TYPE:"CHECKFILENAME",NAME:_2d,TYPE:c.renderer.TYPE}; new Ajax.Request(url,{method:"post",parameters:_36,onSuccess:function(_37){ if(_37.responseText.match("FILENAME_OK")){ setHelp("<font color='red'><b>Saving your file...</b></font>"); var _38=c.getZoom(); var _39={DATA:_34,SIZE:_2f,FORMAT:_32,XDPI:_31,TYPE:c.renderer.TYPE,NAME:_2d,ZOOM:_38}; var _3a=new Ajax.Request(url,{method:"post",parameters:_39,onComplete:saveToServer}); submitBox.style.visibility="hidden"; }else{ setHelp("<font color='red'><b>File already exists.</b></font>"); $("submitName").disable(); $("_submitButton").disable(); $("_cancelSubmitButton").disable(); new Insertion.After("submitBoxMessage","<span id='override_warning' STYLE='color: red; font-size: 10pt'><br/>A file with this name already exists.  Are you sure you want to create another file with the same name?  <p>"+"<FORM action='javascript:overrideSave();' method='post'><INPUT type='submit' value='Yes, use the same file name'/></FORM>"+"<FORM action='javascript:cancelSubmit();startSaveToServer();' method='post'><INPUT type='submit' value='No, let me rename the file'/></FORM>"+"</p></span>"); } }}); }else{ submitAsToLocalDB(_34,_32,_31,c.renderer.TYPE,_2d,_35); } this.currentFile=_2d; } function quietSubmit(){ if(isOnline()){ var _3b=currentFile; if(!_3b){ startSaveToServer(); return; } setHelp("<font color='red'><b>Submitting diagram...please wait</b></font>"); var _3c=c.getPageSize(); _3c=_3c.width+"x"+_3c.height; var url="UploadFileServlet"; var _3e=screen.logicalXDPI/72; var _3f="SVG"; var _40=getAllData(_3f); var _41=(_40.innerHTML)?_40.innerHTML:_40.xml; var _42=c.getZoom(); var _43={DATA:_41,SIZE:_3c,FORMAT:_3f,XDPI:_3e,TYPE:c.renderer.TYPE,NAME:_3b,ZOOM:_42}; var _44=new Ajax.Request(url,{method:"post",parameters:_43,onComplete:saveToServer}); }else{ quietSubmitToLocalDB(); } } function overrideSave(){ var _45=$("submitName").value; _45=escape(_45); setHelp("<font color='red'><b>Saving your file...</b></font>"); var url="UploadFileServlet"; var _47=screen.logicalXDPI/72; var _48="SVG"; var _49=getAllData(_48); var _4a=(_49.innerHTML)?_49.innerHTML:_49.xml; var _4b=c.getPageSize(); _4b=_4b.width+"x"+_4b.height; var _4c=c.getZoom(); var _4d={DATA:_4a,SIZE:_4b,FORMAT:_48,XDPI:_47,TYPE:c.renderer.TYPE,NAME:_45,ZOOM:_4c}; var _4e=new Ajax.Request(url,{method:"post",parameters:_4d,onComplete:saveToServer}); $("override_warning").remove(); $("submitName").enable(); $("_submitButton").enable(); $("_cancelSubmitButton").enable(); submitBox.style.visibility="hidden"; } function getAllData(_4f){ c.clearSystemShapes(); var _50=c.getZoom(); var _51=null; if(c.renderer.TYPE!="SVG"){ c.renderer.savePolyLinePaths(); _51=c.getRealData(); }else{ _51=c.getRealData(); } var _52=_51.getElementsByTagName("TEXTAREA")[0]; c.renderer.remove(_52); var _53=_51.getElementsByTagName("span")[0]; c.renderer.remove(_53); var _54=$A(_51.getElementsByTagName("div")); for(i=0;i<_54.length;i++){ c.renderer.remove(_54[i]); } var _55=c.renderer.createElement("zoom-factor"); var _56=window.screen.logicalXDPI?(window.screen.logicalXDPI/72):1.3333; _55.setAttribute("factor",_50); _55.setAttribute("xdpi",_56); c.appendPageAttribute(_51,_55); var _57=c.getPageSize(); var _58=c.renderer.createElement("page-size"); _58.setAttribute("width",_57.width); _58.setAttribute("height",_57.height); c.appendPageAttribute(_51,_58); return _51; } function cancelSave(){ setHelp(""); saveBox=$("_saveBox"); saveBox.style.visibility="hidden"; } function cancelDownload(){ var _59=$("__download"); _59.src=lastSaveUrl+"&CANCEL=true"; $("_downloadBox").style.visibility="hidden"; setHelp("Download canceled"); } function cancelSubmit(){ if($("override_warning")){ $("override_warning").remove(); } $("submitName").enable(); $("_submitButton").enable(); $("_cancelSubmitButton").enable(); submitBox=$("_submitBox"); submitBox.style.visibility="hidden"; } function cancelAuth(){ $("_authBox").style.visibility="hidden"; $("authTable").style.visibility="hidden"; $("username").value=""; $("password").value=""; } function beginDownload(_5a){ saveBox.style.visibility="hidden"; var _5b=_5a.responseText; if(_5b&&_5b.indexOf("SUCCESS:")>=0){ setHelp("<font color='red'><b>Request Complete, starting download</b></font>"); var id=_5b.split("SUCCESS:")[1]; var _5d=$("__download"); var _5e=$("_DOCUMENT_NAME").value; var _5f=_5e; if(_5f&&_5f.length>0){ _5f="&DOCUMENT_NAME="+_5f; }else{ _5f=""; } lastSaveUrl="ImageProvider"+"?ID="+id+_5f; startDownload(lastSaveUrl,_5e); }else{ alert("Unable to process file due to server error"+_5a.responseText); } } function finishDownload(){ setHelp("Downloading...."); var _60=$("__download"); _60.src=lastSaveUrl; $("_downloadBox").style.visibility="hidden"; return false; } function startDownload(url,_62){ setHelp("Begin File Download"); var _63=$("_downloadBox"); $("_saveurl").href=lastSaveUrl; $("_downloadText").innerHTML="Download file: "+_62; showDialogBox(_63); } function buildPicker(){ var _64=new Array("#000000","#000033","#000066","#000099","#0000CC","#0000FF","#003300","#003333","#003366","#003399","#0033CC","#0033FF","#006600","#006633","#006666","#006699","#0066CC","#0066FF","#009900","#009933","#009966","#009999","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#00FF00","#00FF33","#00FF66","#00FF99","#00FFCC","#00FFFF","#330000","#330033","#330066","#330099","#3300CC","#3300FF","#333300","#333333","#333366","#333399","#3333CC","#3333FF","#336600","#336633","#336666","#336699","#3366CC","#3366FF","#339900","#339933","#339966","#339999","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#33FF00","#33FF33","#33FF66","#33FF99","#33FFCC","#33FFFF","#660000","#660033","#660066","#660099","#6600CC","#6600FF","#663300","#663333","#663366","#663399","#6633CC","#6633FF","#666600","#666633","#666666","#666699","#6666CC","#6666FF","#669900","#669933","#669966","#669999","#6699CC","#6699FF","#66CC00","#66CC33","#66CC66","#66CC99","#66CCCC","#66CCFF","#66FF00","#66FF33","#66FF66","#66FF99","#66FFCC","#66FFFF","#990000","#990033","#990066","#990099","#9900CC","#9900FF","#993300","#993333","#993366","#993399","#9933CC","#9933FF","#996600","#996633","#996666","#996699","#9966CC","#9966FF","#999900","#999933","#999966","#999999","#9999CC","#9999FF","#99CC00","#99CC33","#99CC66","#99CC99","#99CCCC","#99CCFF","#99FF00","#99FF33","#99FF66","#99FF99","#99FFCC","#99FFFF","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC6666","#CC6699","#CC66CC","#CC66FF","#CC9900","#CC9933","#CC9966","#CC9999","#CC99CC","#CC99FF","#CCCC00","#CCCC33","#CCCC66","#CCCC99","#CCCCCC","#CCCCFF","#CCFF00","#CCFF33","#CCFF66","#CCFF99","#CCFFCC","#CCFFFF","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF6666","#FF6699","#FF66CC","#FF66FF","#FF9900","#FF9933","#FF9966","#FF9999","#FF99CC","#FF99FF","#FFCC00","#FFCC33","#FFCC66","#FFCC99","#FFCCCC","#FFCCFF","#F0F0F0","#F3F3F3","#F6F6F6","#F9F9F9","#FCFCFC","#FFFFFF","#DDFF00","#DDFF33","#DDFF66","#DDFF99","#DDFFCC","#DDFFFF","#EEFF00","#EEFF33","#EEFF66","#EEFF99","#EEFFCC","#EEFFFF","#FFFF00","#FFFF33","#FFFF66","#FFFF99","#FFFFCC","#FFFFFF","#000000","#030303","#060606","#090909","#0C0C0C","#0F0F0F","#303030","#333333","#363636","#393939","#3C3C3C","#3F3F3F","#606060","#636363","#666666","#696969","#6C6C6C","#6F6F6F","#909090","#939393","#969696","#999999","#9C9C9C","#9F9F9F","#C0C0C0","#C3C3C3","#C6C6C6","#C9C9C9","#CCCCCC","#CFCFCF","#F0F0F0","#F3F3F3","#F6F6F6","#F9F9F9","#FCFCFC","#FFFFFF"); var Obj=document.getElementById("cpicker"); for(var i=0;i<_64.length;i++){ var _67=document.createElement("div"); _67.style.background=_64[i]; _67.onclick=selectColour; _67.style.border="1px black"; Obj.appendChild(_67); } } function selectColour(){ $("cpicker").style.visibility="hidden"; if(currentColorMode==toolbar_TEXT_COLOR_ID){ setFontColor(this.style.backgroundColor); }else{ if(currentColorMode==toolbar_FILL_COLOR_ID){ setFillColor(this.style.backgroundColor); }else{ if(currentColorMode==toolbar_LINE_COLOR_ID){ setLineColor(this.style.backgroundColor); }else{ if(currentColorMode==toolbar_DWF_COLOR_ID){ setDWFColor(this.style.backgroundColor); } } } } } function closeColorPicker(){ $("cpicker").style.visibility="hidden"; } function displayShapeProperties(){ var _68=Position.cumulativeOffset($("_surround")); var _69=Element.getDimensions($("_surround")).width; var x=_68[0]-120+(_69*1); var y=_68[1]; var x=19; var y=420; displayFloatingDiv("shapeProperties","<font size='2px'>Properties </font>",x,y); } function connectorActive(img){ connectorInactive(); img.style.visibility="hidden"; img.style.zIndex=0; var _6d=img.style.left.split("px")[0]; var top=img.style.top.split("px")[0]; c.active_connector=img.id; var _6f=c.renderer.showActiveConnectionPoint(img.style.left,img.style.top); if(_6f){ Event.stopObserving(_6f,"mouseout",this.connectorInactive); Event.observe(_6f,"mouseout",this.connectorInactive); } } function connectorInactive(){ var img=$(c.active_connector); c.active_connector=null; if(!img){ return; } img.style.visibility="visible"; img.style.zIndex=10000; c.renderer.hideActiveConnectionPoint(); } function connectorMouseDown(img){ } function updatePageSize(_72){ var _73=0; var _74=0; if(!_72){ _73=$("_pageWidth").value; _74=$("_pageHeight").value; if(c.unit=="in"&&(_73>42||_74>42)){ setHelp("Size too large, please use a smaller size"); return; } if(c.unit=="mm"&&(_73>600||_74>600)){ setHelp("Size too large, please use a smaller size"); return; } }else{ _73=_72.split("x")[0]; _74=_72.split("x")[1]; if(c.orientation=="LANDSCAPE"){ var _75=_73; _73=_74; _74=_75; } $("_pageWidth").value=_73; $("_pageHeight").value=_74; } c.setPageSize(_73+c.unit,_74+c.unit); } function enableLandscape(){ if(c.orientation=="LANDSCAPE"){ c.orientation="PORTRAIT"; }else{ c.orientation="LANDSCAPE"; } var _76=$("_pageWidth").value; var _77=$("_pageHeight").value; $("_pageWidth").value=_77; $("_pageHeight").value=_76; updatePageSize(); } function initializeEditor(){ var _78; if(_utils=="null"){ _utils=new CLUtilities(); } ie=navigator.appVersion.match(/MSIE (\d\.\d)/); opera=(navigator.userAgent.toLowerCase().indexOf("opera")!=-1); if((!ie)||(opera)){ _78=new SVGRenderer(); $("_surround").style.width="99%"; $("_surround").style.height="94%"; $("_containerTable").style.width="100%"; }else{ _78=new VMLRenderer(); $("_containerTable").style.width="100%"; $("_containerTable").style.height="99%"; $("_surround").style.width="100%"; $("_surround").style.height="90%"; } createMenubar(); var _79=screen.width; if(_79){ $("toolbar").style.width="100%"; $("toolbar2").style.width="100%"; } displayShapeProperties(); c=new CDEditor($("CDEditor"),_78); c.onselect=onSelect; c.onunselect=onUnselect; c.editCommand("fillcolor","white"); c.editCommand("linecolor","black"); c.editCommand("linewidth","1px"); setZoom(1); c.setMode("select"); buildPicker(); this.c=c; loadPalette("basic"); loadRefreshData(); c.updateShapeInfo(); dragDropObj=new DHTMLgoodies_dragDrop(); dragDropObj.addSource("dragTarget",true,true,true,null,"beginShapeDrag"); dragDropObj.addTarget("CDEditor","dropItems"); dragDropObj.setSlide(false); dragDropObj.init(); dragDropObj.setSlide(false); this.onWindowResize=this.onWindowResize.bindAsEventListener(this); this.connectorInactive=this.connectorInactive.bindAsEventListener(this); Event.observe(window,"resize",this.onWindowResize); this.onWindowResize(); $("__imageURL").value=LOGO_DEFAULT; $("shareDiagram").style.visibility="visible"; } function onWindowResize(_7a){ var _7b=$("_surround"); var _7c=Position.cumulativeOffset(_7b); var _7d=Element.getDimensions(_7b); var _7e=Element.getDimensions($("_body")); var _7f=_7e["width"]-_7c[0]-5; var _80=_7e["height"]-_7c[1]-5; if(_7f>=0){ _7b.style.width=_7f; } if(_80>=0&&ie){ _7b.style.height=_80; }else{ if(_80<400){ _7b.style.height="80%"; }else{ _7b.style.height="94%"; } } } function createMenubar(){ var _81=new DHTMLSuite.menuModel(); _81.addItemsFromMarkup("menuModel"); _81.init(); toolbar_MENUBAR_1=new DHTMLSuite.menuBar(); toolbar_MENUBAR_1.addMenuItems(_81); toolbar_MENUBAR_1.setTarget("toolbar"); toolbar_MENUBAR_1.init(); toolbar_MENUBAR_1.setMenuItemState(toolbar_FILL_COLOR_INDICATOR_ID,"disabled"); toolbar_MENUBAR_1.setMenuItemState(toolbar_LINE_COLOR_INDICATOR_ID,"disabled"); setMenuItemWidth(toolbar_FILL_COLOR_INDICATOR_ID,5); setMenuItemWidth(toolbar_LINE_COLOR_INDICATOR_ID,5); var _82=new DHTMLSuite.menuModel(); _82.addItemsFromMarkup("menuModel2"); _82.init(); toolbar_MENUBAR_2=new DHTMLSuite.menuBar(); toolbar_MENUBAR_2.addMenuItems(_82); toolbar_MENUBAR_2.setTarget("toolbar2"); toolbar_MENUBAR_2.init(); toolbar_MENUBAR_2.setMenuItemState(toolbar_ZOOM_TEXT_ID,"disabled"); toolbar_MENUBAR_2.setMenuItemState(toolbar_TEXT_COLOR_INDICATOR_ID,"disabled"); setMenuItemWidth(toolbar_TEXT_COLOR_INDICATOR_ID,5); toggleMenuItemsForOnlineMode(); } function showSplashScreen(_83){ if(_83){ var _84=$("_splashScreen"); showDialogBox(_84); _84.style.zIndex=400; }else{ $("_splashScreen").style.zIndex=0; $("_splashScreen").style.visibility="hidden"; } } function setSplashScreenMessage(_85){ $("_splashMessage").innerHTML=_85; } function loadRefreshData(){ if(isOnline()){ var url="ImageProcessor"; var _87="REQUEST_TYPE=PAGE_LOAD"; var _88=new Ajax.Request(url,{method:"post",parameters:_87,onComplete:loadRefreshComplete}); }else{ loadRefreshDataFromLocalDB(); } } function loadRefreshComplete(_89){ var _8a=_89.responseText; if(_8a){ var _8b=_8a; var div=c.getValidDocumentFromResponse(_8b); c.open(div); var _8d=(c.getZoom()*100).toFixed(0); toolbar_MENUBAR_2.setText(toolbar_ZOOM_TEXT_ID,(_8d+"%")); updateGrid(_8d); } } function storeData(){ var _8e=getAllData(c.renderer.EXTENSION); var _8f=(_8e.innerHTML)?_8e.innerHTML:_8e.xml; if(isOnline()){ var url="ImageProcessor"; var _91={DATA:_8f,REQUEST_TYPE:"PAGE_UNLOAD"}; var _92=new Ajax.Request(url,{method:"post",parameters:_91}); }else{ storeDataInLocalSession(_8f); } } function pingServer(){ if(isOnline()){ var url="ImageProcessor"; var _94="?name="+createUUID(); var _95=new Ajax.Request(url,{method:"get",parameters:_94}); setTimeout("pingServer()",PING_INTERVAL); } } function setShapeMode(_96,_97){ _96=getModeFromItem(_96); if(_96=="line"||_96=="ortho-line"||_96=="curve-line"){ setHelp("<font color='red'>Connector Mode:</font>To Draw the connector, move your mouse over to the drawing area, click and drag"); }else{ if(_96=="text"){ setHelp("<font color='red'>Text Mode:</font>To Draw the Text shape, move your mouse over to the drawing area, click and drag"); }else{ if(_96=="select"){ setHelp("<font color='red'>Select Mode</font>"); }else{ setHelp("To Draw this shape, move your mouse over to the drawing area, click and drag"); } } } setMode(_96,_97); } function zoomIn(){ setZoom(1.25); } function zoomOut(){ setZoom(0.8); } function navigateToHome(){ window.location="http://labs.autodesk.com"; } function setZoom(_98){ c.editCommand("zoom",_98); var _99=(c.getZoom()*100).toFixed(0); toolbar_MENUBAR_2.setText(toolbar_ZOOM_TEXT_ID,(_99+"%")); updateGrid(_99); } function getModeFromItem(_9a){ if(!_9a.modelItemRef){ return _9a; } var id=_9a.modelItemRef.id; if(id==toolbar_LINE_MODE_ID){ return "line"; }else{ if(id==toolbar_ORTHO_MODE_ID){ return "ortho-line"; }else{ if(id==toolbar_CURVE_MODE_ID){ return "curve-line"; }else{ if(id==toolbar_TEXT_MODE_ID){ return "text"; }else{ if(id==toolbar_SELECT_MODE_ID){ return "select"; } } } } } } function setMode(_9c,_9d){ c.editCommand("mode",_9c); if(_9c=="line"){ setMenuItemSelected(toolbar_LINE_MODE_ID,true); setMenuItemSelected(toolbar_TEXT_MODE_ID,false); setMenuItemSelected(toolbar_ORTHO_MODE_ID,false); setMenuItemSelected(toolbar_CURVE_MODE_ID,false); setMenuItemSelected(toolbar_SELECT_MODE_ID,false); return; }else{ if(_9c=="ortho-line"){ setMenuItemSelected(toolbar_LINE_MODE_ID,false); setMenuItemSelected(toolbar_TEXT_MODE_ID,false); setMenuItemSelected(toolbar_ORTHO_MODE_ID,true); setMenuItemSelected(toolbar_CURVE_MODE_ID,false); setMenuItemSelected(toolbar_SELECT_MODE_ID,false); return; }else{ if(_9c=="text"){ setMenuItemSelected(toolbar_LINE_MODE_ID,false); setMenuItemSelected(toolbar_TEXT_MODE_ID,true); setMenuItemSelected(toolbar_ORTHO_MODE_ID,false); setMenuItemSelected(toolbar_CURVE_MODE_ID,false); setMenuItemSelected(toolbar_SELECT_MODE_ID,false); return; return; }else{ if(_9c=="curve-line"){ setMenuItemSelected(toolbar_LINE_MODE_ID,false); setMenuItemSelected(toolbar_TEXT_MODE_ID,false); setMenuItemSelected(toolbar_ORTHO_MODE_ID,false); setMenuItemSelected(toolbar_CURVE_MODE_ID,true); setMenuItemSelected(toolbar_SELECT_MODE_ID,false); return; return; }else{ if(_9c=="select"){ setMenuItemSelected(toolbar_LINE_MODE_ID,false); setMenuItemSelected(toolbar_TEXT_MODE_ID,false); setMenuItemSelected(toolbar_ORTHO_MODE_ID,false); setMenuItemSelected(toolbar_CURVE_MODE_ID,false); setMenuItemSelected(toolbar_SELECT_MODE_ID,true); return; }else{ setMenuItemSelected(toolbar_LINE_MODE_ID,false); setMenuItemSelected(toolbar_TEXT_MODE_ID,false); setMenuItemSelected(toolbar_ORTHO_MODE_ID,false); setMenuItemSelected(toolbar_CURVE_MODE_ID,false); setMenuItemSelected(toolbar_SELECT_MODE_ID,true); var _9e=$(prevShapeID); if(_9e){ _9e.style.border="0"; } $(_9c).style.bordercolor="#0000ff"; $(_9c).style.border="2px solid"; prevShapeID=_9c; } } } } } } function setMenuItemSelected(id,_a0){ if(_a0){ $("DHTMLSuite_menuItem"+id).style.backgroundColor="#FFEEC2"; $("DHTMLSuite_menuItem"+id).style.color="#000000"; $("DHTMLSuite_menuItem"+id).name="on"; }else{ $("DHTMLSuite_menuItem"+id).style.backgroundColor=""; $("DHTMLSuite_menuItem"+id).style.color=""; $("DHTMLSuite_menuItem"+id).name="off"; } } function isMenuItemSelected(id){ var _a2=$("DHTMLSuite_menuItem"+id).name; if(_a2&&_a2=="on"){ return true; } } function setIndicatorColor(id,_a4){ if(id&&_a4){ $("DHTMLSuite_menuItem"+id).style.backgroundColor=_a4; } } function setMenuItemWidth(id,_a6){ if(id&&_a6){ $("DHTMLSuite_menuItem"+id).style.padding="0"; $("DHTMLSuite_menuItem"+id).style.width=_a6; } } function setGrid(_a7){ var _a8=_a7.options[_a7.selectedIndex].value; var _a9=$("_page"); if(_a8=="Grid"){ var _aa=(c.getZoom()*100).toFixed(0); updateGrid(_aa); }else{ $("_page").style.backgroundImage=""; } } function updateGrid(_ab){ $("_page").style.backgroundImage="url(images/grids/grid"+c.unit+_ab+".jpg)"; $("_horzRuler").style.backgroundImage="url(images/rulers/ruler-horiz"+c.unit+_ab+".jpg)"; $("_vertRuler").style.backgroundImage="url(images/rulers/ruler-vert"+c.unit+_ab+".jpg)"; } function enableRuler(){ rulerEnabled=!rulerEnabled; var _ac=null; var _ad=null; if(!rulerEnabled){ _ad="hidden"; _ac="1px"; }else{ _ad="visible"; _ac="21px"; } $("_horzRuler").style.visibility=_ad; $("_vertRuler").style.visibility=_ad; c.container.style.marginLeft=_ac; c.container.style.marginTop=_ac; } function deleteShape(){ setHelp("You can also use the delete key on the keyboard"); c.deleteSelection(); } function cutShape(){ setHelp("To cut, you can also use <b>CTRL+X</b>"); c.cut(); } function copyShape(){ setHelp("To copy, you can also use <b>CTRL+C</b>"); c.copy(); } function pasteShape(){ setHelp("To paste, you can also use <b>CTRL+V</b>"); c.paste(); } function setFillColor(_ae){ c.editCommand("fillcolor",_ae); setIndicatorColor(toolbar_FILL_COLOR_INDICATOR_ID,_ae); } function setLineColor(_af){ c.editCommand("linecolor",_af); setIndicatorColor(toolbar_LINE_COLOR_INDICATOR_ID,_af); } function setLineWidth(_b0){ c.editCommand("linewidth",_b0); toolbar_MENUBAR_1.setText(toolbar_LINE_WIDTH_ID,_b0); } function setLineDashStyle(_b1){ c.editCommand("linedashstyle",_b1); } function setOpacity(_b2){ c.editCommand("opacity",_b2); toolbar_MENUBAR_1.setText(toolbar_OPACITY_ID,"Opacity: "+_b2); } function flipShadow(){ var _b3=c.queryCommand("shadow"); if(_b3=="true"){ _b3=false; }else{ _b3=true; } c.editCommand("shadow",_b3); setMenuItemSelected(toolbar_SHADOW_ID,_b3); } function flipGradient(){ var _b4=c.queryCommand("gradient"); if(_b4=="gradient"){ c.editCommand("gradient","solid"); }else{ c.editCommand("gradient","gradient"); } setMenuItemSelected(toolbar_GRADIENT_ID,!("gradient"==_b4)); } function formatFontFamilyForDisplay(_b5){ if(!_b5||_b5.length==0){ return "Font"; } _b5=_b5.replace(/'/,""); _b5=_b5.replace(/'/,""); return "<font face='"+_b5+"'>"+_b5+"</font>"; } function setFontFamily(_b6){ c.editCommand("fontFamily",_b6); _b6=formatFontFamilyForDisplay(_b6); toolbar_MENUBAR_2.setText(toolbar_FONT_ID,_b6); } function setFontSize(_b7){ c.editCommand("fontSize",_b7); toolbar_MENUBAR_2.setText(toolbar_FONT_SIZE_ID,"Size: "+_b7+"px"); } function setFontColor(_b8){ c.editCommand("fontColor",_b8); setIndicatorColor(toolbar_TEXT_COLOR_INDICATOR_ID,_b8); } function RGB2Hex(str){ var _ba=function(n){ if(n<10){ return n; }else{ return String.fromCharCode(87+n); } }; var _bc=function(n){ var n1=Math.floor(n/16); n=n%16; return [_ba(n1),_ba(n)].join(""); }; var _bf=function(s){ var _c1=s.length; var i=0; var obj=new Array(); var n=null; var asc=0; for(i=0;i<_c1;++i){ asc=s.charCodeAt(i); if(asc>=48&&asc<=57){ if(n==null){ n=asc-48; }else{ n*=10; n+=asc-48; } }else{ if(n!=null){ obj.push(n); n=null; } } } if(n!=null){ obj.push(n); } return obj; }; var num=_bf(str); if(num.length<3){ return ""; } return [_bc(num[0]),_bc(num[1]),_bc(num[2])].join(""); } function setDWFColor(_c7){ $("DWFColor").style.background=_c7; if(_c7.toLowerCase().indexOf("rgb")!=-1){ _c7=RGB2Hex(_c7); } $("_dwfbackcolor").value=_c7; } function flipBold(){ c.editCommand("bold",null); var _c8=isMenuItemSelected(toolbar_BOLD_ID); setMenuItemSelected(toolbar_BOLD_ID,!_c8); } function flipItalics(){ c.editCommand("italic",null); var _c9=isMenuItemSelected(toolbar_ITALIC_ID); setMenuItemSelected(toolbar_ITALIC_ID,!_c9); } function setAlign(_ca){ c.editCommand("align",_ca); if(_ca=="left"){ setMenuItemSelected(toolbar_LEFT_ALIGN_ID,true); }else{ setMenuItemSelected(toolbar_LEFT_ALIGN_ID,false); } if(_ca=="center"){ setMenuItemSelected(toolbar_CENTER_ALIGN_ID,true); }else{ setMenuItemSelected(toolbar_CENTER_ALIGN_ID,false); } if(_ca=="right"){ setMenuItemSelected(toolbar_RIGHT_ALIGN_ID,true); }else{ setMenuItemSelected(toolbar_RIGHT_ALIGN_ID,false); } } function sendToBack(){ c.sendToBack(); } function bringToFront(){ c.bringToFront(); } function getOptionByValue(_cb,_cc){ if(!_cb){ return; } for(var i=0;i<_cb.length;i++){ if(_cb.options[i].value==_cc){ return i; } } return -1; } function showColorPalette(img){ var _cf=$("cpicker"); var _d0=Position.cumulativeOffset(img.divElement); _cf.style.visibility="visible"; _cf.style.position="absolute"; _cf.style.overflow="visible"; _cf.style.left=_d0[0]; _cf.style.top=_d0[1]; _cf.style.zIndex=100; currentColorMode=img.modelItemRef.id; } function formatLineWidthForDisplay(_d1){ var _d2=""; if(!_d1||_d1.length==0){ return _d2; } if(_d1.indexOf("px")<1){ return _d2; } var num=_d1.split("px")[0]; num=Math.round(num); _d2=_d2+num+"px"; return _d2; } function onSelect(){ toolbar_MENUBAR_1.setText(toolbar_LINE_WIDTH_ID,formatLineWidthForDisplay(c.queryCommand("linewidth"))); toolbar_MENUBAR_1.setText(toolbar_OPACITY_ID,"Opacity: "+c.queryCommand("opacity")); var _d4=c.queryCommand("gradient"); setMenuItemSelected(toolbar_GRADIENT_ID,(_d4=="gradient")); var _d5=c.queryCommand("shadow"); var _d6=c.queryCommand("fillcolor"); setIndicatorColor(toolbar_FILL_COLOR_INDICATOR_ID,_d6); var _d7=c.queryCommand("linecolor"); setIndicatorColor(toolbar_LINE_COLOR_INDICATOR_ID,_d7); setMenuItemSelected(toolbar_SHADOW_ID,(_d5=="true")); var _d8=c.queryCommand("font"); toolbar_MENUBAR_2.setText(toolbar_FONT_ID,formatFontFamilyForDisplay(_d8.family)); var _d9=""; if(_d8.size&&_d8.size.length>0){ _d9=_d8.size+"px"; } toolbar_MENUBAR_2.setText(toolbar_FONT_SIZE_ID,"Size: "+_d9); if(_d8.bold=="bold"){ setMenuItemSelected(toolbar_BOLD_ID,true); }else{ setMenuItemSelected(toolbar_BOLD_ID,false); } if(_d8.italics=="italic"){ setMenuItemSelected(toolbar_ITALIC_ID,true); }else{ setMenuItemSelected(toolbar_ITALIC_ID,false); } if(_d8.align=="left"){ setMenuItemSelected(toolbar_LEFT_ALIGN_ID,true); }else{ setMenuItemSelected(toolbar_LEFT_ALIGN_ID,false); } if(_d8.align=="center"){ setMenuItemSelected(toolbar_CENTER_ALIGN_ID,true); }else{ setMenuItemSelected(toolbar_CENTER_ALIGN_ID,false); } if(_d8.align=="right"){ setMenuItemSelected(toolbar_RIGHT_ALIGN_ID,true); }else{ setMenuItemSelected(toolbar_RIGHT_ALIGN_ID,false); } setIndicatorColor(toolbar_TEXT_COLOR_INDICATOR_ID,_d8.color); } function onUnselect(){ onSelect(); } function setLineStyle(_da){ c.editCommand("linestyle",_da); } function setHelp(_db){ $("help").innerHTML=_db; } function loadPalette(id){ var _dd=$("_shapePaletteContent"); if(_dd){ _dd.innerHTML="reLoading, Please Wait"; } var div=_dd; var _df=div.getElementsByTagName("div"); if(_df.length==0){ var _e0=c.loadPalette(id); div.innerHTML=_e0.xml; previousPaletteID=id; hideDragTarget(); } } function deleteLogo(_e1,_e2){ var x=window.confirm("Are you sure you want to delete "+unescape(_e2)+"?"); if(x){ var url="FileAndLogoProcessor"; var _e5="REQUEST_TYPE=DELETE_LOGO"+"&ASSETID="+_e1; var _e6=new Ajax.Request(url,{method:"post",parameters:_e5,onComplete:loadLogoComplete}); } } function deleteFile(_e7,_e8){ deactivateImagePreview(); var x=window.confirm("Are you sure you want to delete "+unescape(_e8)+"?"); if(x){ var url="FileAndLogoProcessor"; var _eb="REQUEST_TYPE=DELETE_FILE"+"&ASSETID="+_e7; var _ec=new Ajax.Request(url,{method:"post",parameters:_eb,onComplete:loadFilesComplete}); this.currentFile=""; } } function loadFileFromFileSystem(_ed,_ee){ this.currentFile=_ee; var x=window.confirm("Loading this file will clear the contents of the canvas.  If you have not saved your work, you may want to click 'Cancel'."); if(x){ var url="FileAndLogoProcessor"; var _f1="REQUEST_TYPE=LOAD_FILE_FROM_FILESERVER"+"&ASSETID="+_ed; var _f2=new Ajax.Request(url,{method:"post",parameters:_f1,onComplete:loadRefreshData}); } } function loadAssetPalette(id){ if(!auth&&isOnline()){ alert("You must be logged in to see your saved images."); cachedCommand="loadAssetPalette"; cachedParm=$(id); authenticated(); return; } $("_imageAssets").innerHTML="Loading images, please wait."; if(isOnline()){ var div=$(id); var _f5=div.getElementsByTagName("div"); if(_f5.length==0){ var url="FileAndLogoProcessor"; var _f7="?name="+createUUID()+"&REQUEST_TYPE=GET_LOGOS"; var _f8=new Ajax.Request(url,{method:"post",parameters:_f7,onComplete:loadLogoComplete}); } }else{ loadAssetPaletteFromLocalDB(); } } function loadLogoComplete(_f9){ hideDragTarget(); $("_imageAssets").innerHTML="Loading Images"; $("_imageAssets").innerHTML=_f9.responseText; } function loadFilePalette(id){ if(isOnline()){ if(!auth){ alert("You must be logged in to see your saved diagrams."); cachedCommand="loadFilePalette"; cachedParm=$(id); authenticated(); return; } $("_fileAssets").innerHTML="Loading files"; var div=$(id); var _fc=div.getElementsByTagName("div"); if(_fc.length==0){ var url="FileAndLogoProcessor"; var _fe="REQUEST_TYPE=GET_FILES"; var _ff=new Ajax.Request(url,{method:"post",parameters:_fe,onSuccess:loadFilesComplete,onFailure:function(){ alert("Sorry, but the file you were trying to load no longer exists."); }}); } } } function loadFilesComplete(_100){ hideDragTarget(); $("_fileAssets").innerHTML="Loading files"; $("_fileAssets").innerHTML=_100.responseText; document.getElementById("previewDiv").height=0; document.getElementById("previewDiv").width=0; document.getElementById("previewDiv").border=0; } function loadFileAssetsPalette(id){ var div=$(id); var _103=div.getElementsByTagName("div"); if(_103.length==0){ var url="FileAndLogoProcessor"; var pars="REQUEST_TYPE=GET_FILES"; var _106=new Ajax.Request(url,{method:"post",parameters:pars,onComplete:loadFileAssetsComplete}); } } function loadFileAssetsComplete(_107){ $("_fileAssets").innerHTML=_107.responseText; } function updateShapeProperties(){ var _108=$("_width").value; var _109=$("_height").value; var x=$("_x").value; var y=$("_y").value; var _10c=$("_rotation").value; c.updateShape(_108,_109,x,y,_10c); if(DWFShape&&isDWF2D(DWFShape)){ var _10d=$("_transparent").value; var _10e=$("_dwfbackcolor").value; _10e=_10e.replace("#",""); if(_10d.length==2&&_10e.length==6){ changeFreewheelProperty(DWFShape,{bg:_10d+_10e}); } } } function updateScale(_10f){ c.scale=_10f; } function setUnit(_110){ if(!_110){ return; } var _111=c.unit; c.unit=_110; c.updateConversionFactor(); if(c.unit=="in"){ $("__imperialSizes").className="pageSizeSelectBox"; $("__metricSizes").className="pageSizeSelectBoxInvisible"; $("__gridSize").className="gridSizeSelectBox"; $("__gridSizemm").className="gridSizeSelectBoxInvisible"; $("__shapeUnitsDescriptor").innerHTML="<b>(in)</b>"; $("__connectorUnitsDescriptor").innerHTML="<b>(in)</b>"; var _112=c.getGridSize(); if(_112!=1){ c.GRID_SIZE_MM=_112; c.setGridSize(c.GRID_SIZE_IN+""); } }else{ if(c.unit=="mm"){ $("__imperialSizes").className="pageSizeSelectBoxInvisible"; $("__metricSizes").className="pageSizeSelectBox"; $("__gridSizemm").className="gridSizeSelectBox"; $("__gridSize").className="gridSizeSelectBoxInvisible"; $("__shapeUnitsDescriptor").innerHTML="<b>(mm)</b>"; $("__connectorUnitsDescriptor").innerHTML="<b>(mm)</b>"; var _112=c.getGridSize(); if(_112!=1){ c.GRID_SIZE_IN=_112; c.setGridSize(c.GRID_SIZE_MM+""); } } } var _113=(c.getZoom()*100).toFixed(0); updateGrid(_113); if(_111!=c.unit){ var _114=$("_pageWidth").value; var _115=$("_pageHeight").value; if(c.orientation=="LANDSCAPE"){ var temp=_114; _114=_115; _115=temp; } var _117=25.4; if(c.unit=="in"){ _117=1/_117; } _114=(_114*_117).toFixed(2); _115=(_115*_117).toFixed(2); updatePageSize(_114+c.unit+"x"+_115+c.unit); } } function isValidNumber(evt,_119){ var _11a=(evt.which)?evt.which:event.keyCode; if(_11a==46){ return (_119.value.indexOf(".")<0); } if(_11a>31&&(_11a<48||_11a>57)){ return false; } return true; } function isNumberKey(evt){ var _11c=(evt.which)?evt.which:event.keyCode; if(_11c>31&&(_11c<48||_11c>57)){ return false; } return true; } function openWindow(url,_11e,_11f){ window.open(url,"_help","height="+_11e+",width="+_11f+",left=100,top=100,resizable=yes,scrollbars=yes,toolbar=no,menubar=no,status=no"); } function saveToDelicious(){ window.open("http://del.icio.us/post?v=4&noui&jump=close&url="+encodeURIComponent("http://draw.labs.autodesk.com")+"&title="+encodeURIComponent("Project Draw"),"delicious","toolbar=no,width=700,height=400"); } function showDragTarget(img){ setMode("select"); var _121=$("dragTarget"); var _122=Position.cumulativeOffset(img); var _123=Position.realOffset(_121); var _124=Position.realOffset(img); _121.style.left=_122[0]-_124[0]+_123[0]+5; _121.style.top=_122[1]-_124[1]+_123[1]+5; var _125=_121.getElementsByTagName("img")[0]; var src=img.getAttribute("src"); _125.setAttribute("src",src); var type=img.getAttribute("type"); if(type&&type=="LOGO"){ _125.setAttribute("width","100"); _125.setAttribute("height","100"); $("dragImage").setAttribute("width","100"); $("dragImage").setAttribute("height","100"); _121.setAttribute("type","LOGO"); }else{ _125.setAttribute("width",img.getAttribute("width")); _125.setAttribute("height",img.getAttribute("height")); $("dragImage").setAttribute("width",img.getAttribute("width")); $("dragImage").setAttribute("height",img.getAttribute("height")); _121.setAttribute("type",null); } $("dragImage").setAttribute("src",src); _121.style.visibility="visible"; _121.setAttribute("srcId",img.id); setHelp("To draw this shape, drag it to the drawing area"); } function hideDragTarget(){ var _128=$("dragTarget"); _128.style.visibility="hidden"; } function beginShapeDrag(_129){ toolbar_DRAG_STARTED=true; toolbar_DRAG_CLONE_ID=_129; if(!onMouseOverListener){ onMouseOverListener=createNewShape.bindAsEventListener(this); } Event.observe(document,"mousemove",onMouseOverListener); } function dropItems(_12a,_12b,x,y){ if(toolbar_DRAG_STARTED){ createNewShape(null,x,y); } c.endCreateNewShape(); } function createNewShape(_12e,x,y){ if(_12e&&toolbar_DRAG_STARTED){ var _131=Position.cumulativeOffset($("_surround")); if(!Position.within(c.container.parentNode,Event.pointerX(_12e),Event.pointerY(_12e))){ return; } } if(toolbar_DRAG_STARTED){ toolbar_DRAG_STARTED=false; Event.stopObserving(document,"mousemove",onMouseOverListener); var _132=0; var _133=0; var type=$("dragTarget").getAttribute("type"); var src=$("dragImage").getAttribute("src"); var _136=$(toolbar_DRAG_CLONE_ID); _136.style.visibility="hidden"; var id=$("dragTarget").getAttribute("srcId"); var _136=$(toolbar_DRAG_CLONE_ID); _136.style.visibility="hidden"; var _132=dragDropObj.mouse_x; var _133=dragDropObj.mouse_y; if(_12e){ _132=Event.pointerX(_12e); _133=Event.pointerY(_12e); }else{ _132=x; _133=y; } if(type&&type=="LOGO"){ c.createNewImage(src,_132,_133,100,100,true); dragDropObj.__stop_dragDropElement(toolbar_DRAG_CLONE_ID); }else{ var _138=$(id); var _139=_138.getAttribute("render-width"); var _13a=_138.getAttribute("render-height"); var _13b=_138.getAttribute("render-shadow"); if(!_139){ _139=96; } if(!_13a){ _13a=96; } if(_13b&&_13b=="off"){ _13b=false; }else{ _13b=true; } dragDropObj.__stop_dragDropElement(toolbar_DRAG_CLONE_ID); c.createNewShape(id,_132,_133,_139*c.zoom,_13a*c.zoom,true,_13b); } } } function cancelDragShape(){ toolbar_DRAG_STARTED=false; Event.stopObserving(document,"mousemove",onMouseOverListener); } function startImageWizard(){ setHelp("Insert image"); var _13c=$("__imageURLWizard"); _13c.style.position="absolute"; showDialogBox(_13c); $("__imageURLMessage").innerHTML=" "; var _13d=$("__imageURL"); _13d.focus="true"; if(_13d.value==null||_13d.value.length==0){ $("__imageURL").value="http://draw.labs.autodesk.com/ADDraw/images/logo-projectDraw.gif"; } } function startFreewheelWizard(){ setHelp("Insert Freewheel"); var _13e=$("__DWFURLWizard"); _13e.style.position="absolute"; showDialogBox(_13e); $("__DWFURLMessage").innerHTML=" "; var _13f=$("__DWFURL"); _13f.focus="true"; $("__DWFURL").value=FW_URL+"/sample/CompositeSuspension.dwf"; } function cancelImageInsert(){ var _140=$("__imageURLWizard"); _140.style.visibility="hidden"; } function cancelFreewheelInsert(){ var _141=$("__DWFURLWizard"); _141.style.visibility="hidden"; } function insertImage(){ var url=$("__imageURL").value; if(!url||url.length==0){ $("__imageURLMessage").innerHTML="Please provide a valid image URL "; }else{ var left=258+c.container.parentNode.scrollLeft; var top=160+c.container.parentNode.scrollTop; c.createNewImage(url,left,top,150,150); cancelImageInsert(); } } function insertFreewheel(){ var url=$("__DWFURL").value; if(!url||url.length==0){ $("__DWFURLMessage").innerHTML="Please provide a valid DWF URL "; }else{ var left=258+c.container.parentNode.scrollLeft; var top=160+c.container.parentNode.scrollTop; var _148=[]; if($("FW_Transparent").checked){ _148["bg"]="t"; } c.createNewFreewheel(url,left,top,150,150,_148); cancelFreewheelInsert(); } } function alignLeft(){ c.align("LEFT"); } function alignTop(){ c.align("TOP"); } function alignRight(){ c.align("RIGHT"); } function alignBottom(){ c.align("BOTTOM"); } function alignHorizontalCenter(){ c.align("HORIZONTAL_CENTER"); } function alignVerticalCenter(){ c.align("VERTICAL_CENTER"); } function initialize(){ var _149=new CookieManager(); var _14a=unescape(_149.getCookie("csp")); var _14b=unescape(_149.getCookie("csp_autodesklabs_rememberme")); var _14c=unescape(_149.getCookie("eidm_user")); if(_14a!="null"||_14b!="null"||_14c!="null"){ if(!auth&&isOnline()){ auth=true; authenticated(); } } initializeEditor(); var url=window.location.toString(); if(url&&url.indexOf("?")>=0){ var _14e=url.toQueryParams()["_o"]; var _14f=url.toQueryParams()["_a"]; var _150=url.toQueryParams()["_cachedCommand"]; var _151=url.toQueryParams()["_cachedParm"]; cachedCommand=_150; cachedParm=_151; if(_150){ }else{ if(_14e){ loadUserFileFromFileSystem(_14e,_14f); } } } if(isOnline()){ setMenuItemSelected(toolbar_OFFLINE_ID,false); setMenuItemSelected(toolbar_ONLINE_ID,true); }else{ setMenuItemSelected(toolbar_ONLINE_ID,false); setMenuItemSelected(toolbar_OFFLINE_ID,true); } } function authenticated(){ var _152=new CookieManager(); var _153=escape(DEBUG_EIDM_COOKIE_VALUE); if(USE_DEBUG_COOKIE){ _152.setCookie("eidm_user",_153); } if(!auth){ var _154="?_cachedCommand="+cachedCommand; if(cachedParm){ _154=_154+"&_cachedParm="+cachedParm.id; } _154=encodeURIComponent(_154); var _155=CL_URL+_154; window.location=_155; } } function checkAuthenticated(_156){ var _157=_156.responseText; if(_157&&_157.indexOf("TRUE")>=0){ auth=true; if(_utils=="null"){ initializeEditor(); } if(cachedCommand=="loadAssetPalette"){ loadAssetPalette(cachedParm); if(activeTab!="_imageTab"){ highlightTab("_imageTab",0); } } if(cachedCommand=="loadFilePalette"){ loadFilePalette(cachedParm); if(activeTab!="_fileTab"){ highlightTab("_fileTab",0); } } if(cachedCommand=="startLogoUpload"){ uploadLogo(); } if(cachedCommand=="saveToServer"){ saveToServer(cachedParm); } if(cachedCommand=="startSaveToServer"){ startSaveToServer(); } if(cachedCommand=="getLatestFilesFromServer"){ getLatestFilesFromServer(); } if(cachedCommand=="removeStore"){ removeStore(); } if(cachedCommand=="flipOnline"){ flipOnline(); } if(cachedCommand=="flipOffline"){ flipOffline(); } cachedCommand=null; cachedParm=null; }else{ auth=false; } } function newAuth(){ var _158=new CookieManager(); var _159=unescape(_158.getCookie("eidm_user")); if(_159==null||_159=="null"||_159==""){ return; }else{ } var _15a="AUTHENTICATED"; var url="SecurityManager"; var pars={REQUEST_TYPE:_15a,CL_COOKIE:_159}; var _15d=new Ajax.Request(url,{method:"post",parameters:pars,onComplete:checkAuthenticated}); } function enableSnapToGrid(){ var _15e=c.getGridSize(); if(_15e==1){ c.setGridSize(c.LAST_SAVED_GRID_SIZE+""); c.setRotationalGridSize(c.LAST_SAVED_ROTATIONAL_GRID+""); }else{ c.setGridSize("1"); c.setRotationalGridSize("1"); } } function setGridSize(num){ if(c.getGridSize()!=1){ c.setGridSize(num); } } function setRotationalGridSize(num){ if(c.GRID_ROTATE!=1){ c.setRotationalGridSize(num); } } function enableTrendLines(){ c.trendLineEnabled=!c.trendLineEnabled; } function tabOnMouseOut(div){ var id=div.id; if(id==activeTab){ div.className="verticalTabActive"; }else{ div.className="verticalTab"; } } function tabOnMouseClick(div){ var id=div.id; $(activeTab).className="verticalTab"; div.className="verticalTabActive"; activeTab=id; var _165=$("_shapePalette"); var _166=$("_filePalette"); var _167=$("_imagePalette"); var _168=null; var _169=null; var _16a=null; if(id=="_shapeTab"){ _168=_165; _169=_166; _16a=_167; } if(id=="_imageTab"){ _169=_165; _16a=_166; _168=_167; loadAssetPalette("_imageAssets"); } if(id=="_fileTab"){ _169=_165; _168=_166; _16a=_167; if(isOnline()){ loadFilePalette("_fileAssets"); }else{ loadFilesFromLocalDB(); } } _168.style.position=""; _168.style.visibility="visible"; _169.style.position="absolute"; _169.style.visibility="hidden"; _16a.style.position="absolute"; _16a.style.visibility="hidden"; } function highlightTab(id,num){ if(num>8){ return; } if(num%2==0){ $(id).className="verticalTab"; }else{ $(id).className="verticalTabHover"; } setTimeout(function(){ highlightTab(id,++num); },400); } function activateImagePreview(_16d,_16e){ var pd=$("previewImage"); pd.src=_16e; pd.className="previewActivated"; } function deactivateImagePreview(){ var pd=$("previewImage"); pd.className="previewDeactivated"; } function hideShapeProperties(){ var _171=$("shapeProperties"); if(_171.className=="shapePropertiesVisible"){ _171.className="shapePropertiesInvisible"; $(visibleProperties).style.visibility="hidden"; }else{ _171.className="shapePropertiesVisible"; $(visibleProperties).style.visibility="visible"; } } function setPropertiesVisible(_172){ if(_172==visibleProperties){ return; } visibleProperties=_172; $("_shapeTable").style.visibility="hidden"; $("_pageTable").style.visibility="hidden"; $("_connectorTable").style.visibility="hidden"; if($("shapeProperties").className=="shapePropertiesVisible"){ $(visibleProperties).style.visibility="visible"; } } function openEmailDialog(_173,_174,_175){ _175=encodeURIComponent(_175); if(!auth){ alert("You must be logged in to email diagrams."); authenticated(); return; } deactivateImagePreview(); if(!emailBox){ emailBox=$("_emailBox"); } showDialogBox(emailBox); $("_diagramOwner").value=_173; $("_diagramID").value=_175; } function openEmbedHTMLDialog(_176,_177,env){ _176=encodeURIComponent(_176); _177=encodeURIComponent(_177); var _179=new Date(); var _17a=window.location.toString().split("ADDraw")[0]; var _17b=window.open("info.html",null,"height=200,width=1000,status=no,toolbar=no,menubar=no,location=no"); _17b.document.write("<html><head></head><body>"); _17b.document.write("<h4>Paste this HTML into your web page/blog/wiki to embed this diagram:</h4>"); _17b.document.write("<textarea rows='10' cols='120'>"); _17b.document.write("<a href='"+_17a+env+"/draw.html?_a="+_176+"&_o="+_177+"&_t="+_179.getTime()+"' target='_blank'>"); _17b.document.write("<IMG src='"+_17a+env+"/FileAndLogoProcessor?REQUEST_TYPE=LOAD_IMAGE&_a="+_176+"&_o="+_177+"&_t="+_179.getTime()+"' border='0' >"); _17b.document.write("</a>"); _17b.document.write("</textarea>"); _17b.document.write("</body></html>"); _17b.document.close(); } function loadUserFileFromFileSystem(_17c,_17d){ var _17e="LOAD_USER_FILE_FROM_FILESERVER"; var url="FileAndLogoProcessor"; var pars={REQUEST_TYPE:_17e,FILENAME:_17d,OWNER:_17c}; var _181=new Ajax.Request(url,{method:"post",parameters:pars,onSuccess:loadRefreshData,onFailure:function(){ alert("Sorry, but the file you were trying to load no longer exists."); }}); } function emailDiagram(){ var _182=$("rEmail").value; var _183=$("senderMessage").value; if(!checkEmail(_182)){ _182.focus(); return false; } var _184=$("_diagramID").value; this.setHelp("Emailing diagram..."); var _185=window.location.toString().split("?")[0]; var url="EmailProcessor"; var pars="REQUEST_TYPE=EMAIL_DIAGRAM"+"&FILENAME="+_184+"&RECIP_EMAIL="+_182+"&SENDER_MSG="+_183+"&SERVER="+_185; var _188=new Ajax.Request(url,{method:"post",parameters:pars,onSuccess:emailDiagramComplete,onFailure:function(){ alert("Sorry, we had some trouble sending that email. Try again."); this.setHelp("Diagram was not emailed successfully"); }}); } function emailDiagramComplete(_189){ cancelEmail(); this.setHelp("Diagram emailed successfully"); } function checkEmail(_18a){ if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(_18a)){ return (true); } alert("Invalid email Address! Please re-enter."); return (false); } function cancelEmail(){ setHelp(""); emailBox=$("_emailBox"); emailBox.style.visibility="hidden"; } function textLimit(_18b,_18c){ if(_18b.value.length>_18c+1){ alert("Your message has been truncated."); } if(_18b.value.length>_18c){ _18b.value=_18b.value.substring(0,_18c); } } function getLatestFilesFromServer(){ if(!auth){ alert("You must be logged in to initiate the offline mode."); cachedCommand="getLatestFilesFromServer"; authenticated(); return; } overlay(); var url="FileAndLogoProcessor"; var pars="REQUEST_TYPE=GET_FILES_JSON"; var _18f=new Ajax.Request(url,{method:"post",parameters:pars,onSuccess:getLatestFilesFromServerComplete}); } function getLatestFilesFromServerComplete(_190){ if(window.google&&google.gears){ init(); try{ db=google.gears.factory.create("beta.database","1.0ext"); db.open("addraw_local"); db.doo("create table if not exists asset_local"+" (id int, login varchar(60), assetid varchar(60), filetype varchar(20), rastertype varchar(20), filename varchar(120), file_extension varchar(30),last_modified_date int, modified_flag varchar(30), size varchar(30), type varchar(30), xdpi varchar(30), zoomLevel varchar(30), xml TEXT)"); } catch(ex){ alert(ex.message); setError("Could not create database: "+ex.message); } var _191=_190.responseText; var _192=eval("("+_191+")"); _192.assets.each(function(_193){ var dup=false; if(db){ try{ var rs=db.execute("select assetid from asset_local"); var _196; while(rs.isValidRow()){ _196=rs.field(0); if(_196==_193.assetid){ dup=true; } rs.next(); } rs.close(); if(!dup){ if(_193.type=="FILE"){ getFileFromFileSystem(_193.id,_193.assetid,_193.file_extension); } db.execute("insert into asset_local values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)",[_193.id,_193.loginid,_193.assetid,_193.type,_193.rastertype,_193.filename,_193.file_extension,_193.last_modified_date,"no","","","","",this.xml]); this.xml=""; } } catch(e){ alert("getLatestFilesFromServerComplete - "+e.message); throw new Error(e.message); } } }); createStore(); setGearsState("T"); } loadFilesFromLocalDB(); loadAssetPaletteFromLocalDB(); } function getFileFromFileSystem(id,_198,_199){ this.current_id=id; var url="FileAndLogoProcessor"; var pars="REQUEST_TYPE=GET_FILE_FROM_FILESERVER"+"&ASSETID="+_198+_199; var _19c=new Ajax.Request(url,{method:"post",asynchronous:false,parameters:pars,onComplete:getFileFromFileSystemComplete}); } function getFileFromFileSystemComplete(_19d){ var _19e=_19d.responseText; this.xml=_19e; } function loadFileFromLocalDB(_19f){ this.currentFile=_19f; if(window.google&&google.gears){ var x=window.confirm("Loading this file will clear the contents of the canvas.  If you have not saved your work, you may want to click 'Cancel'."); if(x){ var xml; try{ db=google.gears.factory.create("beta.database","1.0ext"); db.open("addraw_local"); var rs=db.execute("select xml, login, file_extension, assetid, last_modified_date, rastertype, id from asset_local where filename = '"+_19f+"' and filetype = 'FILE'"); while(rs.isValidRow()){ xml=rs.field(0); currentFile=_19f; local_loginid=rs.field(1); local_file_extension=rs.field(2); local_assetid=rs.field(3); local_last_modified_date=rs.field(4); local_rastertype=rs.field(5); local_id=rs.field(6); rs.next(); } rs.close(); } catch(e){ alert("loadFileFromLocalDB - "+e.message); throw new Error(e.message); } var div=c.getValidDocumentFromResponse(xml); c.open(div); storeData(); loadRefreshData(); } } } function loadFilesFromLocalDB(){ var html=""; try{ db=google.gears.factory.create("beta.database","1.0ext"); db.open("addraw_local"); var rs=db.execute("select filename from asset_local where filetype = 'FILE' order by last_modified_date desc"); while(rs.isValidRow()){ currentFile=rs.field(0); if(currentFile!=""&&currentFile!=undefined){ html=html+"<A HREF=\"javascript:deleteFileFromLocalDB('"+escape(currentFile)+"')\">"+"<IMG SRC=\"images/file_delete_icon.gif\" ALT=\"delete file\" border='0'></A> "+"<A HREF=\"javascript:loadFileFromLocalDB('"+escape(currentFile)+"')\">"+unescape(currentFile)+"</A><br/>"; } rs.next(); } rs.close(); } catch(e){ alert("loadFilesFromLocalDB - "+e.message); throw new Error(e.message); } $("_fileAssets").innerHTML="Loading local files"; $("_fileAssets").innerHTML=html; } function quietSubmitToLocalDB(){ if(!currentFile||currentFile==""||currentFile==undefined){ startSaveToServer(); return; } var _1a6=escape(currentFile); var size=c.getPageSize(); size=size.width+"x"+size.height; var _1a8=screen.logicalXDPI/72; var _1a9=c.getZoom(); var type=c.renderer.TYPE; var _1ab="SVG"; var _1ac=getAllData(_1ab); var data=(_1ac.innerHTML)?_1ac.innerHTML:_1ac.xml; var ts=""; var time=new Date().getTime(); if(db){ try{ db.transaction(function(db){ var rs=db.execute("select datetime('now')"); while(rs.isValidRow()){ ts=rs.field(0); rs.next(); } rs.close(); db.execute("delete from asset_local where filename like '"+_1a6+"'"); db.execute("insert into asset_local values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)",[time,local_loginid,local_assetid,"FILE",local_rastertype,_1a6,local_file_extension,ts,"yes",size,type,_1a8,_1a9,data]); }); } catch(e){ alert("quietSubmitToLocalDB"+e.message); throw new Error(e.message); } } loadFilesFromLocalDB(); if(activeTab!="_fileTab"){ highlightTab("_fileTab",0); } } function submitAsToLocalDB(data,_1b3,_1b4,_1b5,_1b6,_1b7){ if(!checkFileNameIsDuplicateLocalDB(_1b6)){ setHelp("<font color='red'><b>Saving your file locally...</b></font>"); var _1b7=c.getZoom(); saveToLocalDB(data,_1b3,_1b4,_1b5,_1b6,_1b7); submitBox.style.visibility="hidden"; }else{ setHelp("<font color='red'><b>File already exists.</b></font>"); $("submitName").disable(); $("_submitButton").disable(); $("_cancelSubmitButton").disable(); new Insertion.After("submitBoxMessage","<span id='override_warning' STYLE='color: red; font-size: 10pt'><br/>A file with this name already exists.  Are you sure you want to create another file with the same name?  <p>"+"<FORM action='javascript:overrideSaveToLocalDB();' method='post'><INPUT type='submit' value='Yes, use the same file name'/></FORM>"+"<FORM action='javascript:cancelSubmit();startSaveToServer();' method='post'><INPUT type='submit' value='No, let me rename the file'/></FORM>"+"</p></span>"); } } function overrideSaveToLocalDB(){ var _1b8=$("submitName").value; _1b8=escape(_1b8); setHelp("<font color='red'><b>Saving your file locally...</b></font>"); var _1b9=screen.logicalXDPI/72; var _1ba="SVG"; var _1bb=getAllData(_1ba); var data=(_1bb.innerHTML)?_1bb.innerHTML:_1bb.xml; var size=c.getPageSize(); size=size.width+"x"+size.height; var _1be=c.getZoom(); saveToLocalDB(data,_1ba,_1b9,"FILE",_1b8,_1be); $("override_warning").remove(); $("submitName").enable(); $("_submitButton").enable(); $("_cancelSubmitButton").enable(); submitBox.style.visibility="hidden"; setHelp("<font color='red'><b>File saved locally.</b></font>"); } function checkFileNameIsDuplicateLocalDB(_1bf){ var dup=false; if(db){ try{ var rs=db.execute("select filename from asset_local where filetype = 'FILE'"); var _1c2; while(rs.isValidRow()){ _1c2=rs.field(0); if(_1c2==_1bf){ dup=true; } rs.next(); } rs.close(); } catch(e){ alert("checkFileNameIsDuplicateLocalDB - "+e.message); throw new Error(e.message); } } return dup; } function saveToLocalDB(data,_1c4,_1c5,_1c6,_1c7,_1c8){ var ts=""; var time=new Date().getTime(); var _1cb; if(c.renderer.TYPE!="SVG"){ _1cb=".mmd"; }else{ _1cb=".fmd"; } var size=c.getPageSize(); size=size.width+"x"+size.height; var _1c5=screen.logicalXDPI/72; var _1c8=c.getZoom(); var type=c.renderer.TYPE; if(db){ try{ db.transaction(function(db){ var rs=db.execute("select datetime('now')"); while(rs.isValidRow()){ ts=rs.field(0); rs.next(); } rs.close(); db.execute("delete from asset_local where filename like '"+_1c7+"'"); db.execute("insert into asset_local values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)",[time,"local_loginid",time,"FILE","na",_1c7,_1cb,ts,"yes",size,type,_1c5,_1c8,data]); }); } catch(e){ alert("saveToLocalDB - "+e.message); throw new Error(e.message); } } loadFilesFromLocalDB(); setHelp("<font color='red'><b>File saved locally</b></font>"); if(activeTab!="_fileTab"){ highlightTab("_fileTab",0); } } function deleteFileFromLocalDB(_1d0){ var x=window.confirm("Are you sure you want to delete "+unescape(_1d0)+"?  Note that you are only deleting your local copy - the original still exists on the Project Draw server."); if(x){ performLocalDeletion(_1d0); } loadFilesFromLocalDB(); loadAssetPaletteFromLocalDB(); } function performLocalDeletion(_1d2){ if(db){ try{ db.execute("delete from asset_local where filename = '"+_1d2+"'"); } catch(e){ alert("performLocalDeletion - "+e.message); throw new Error(e.message); } } } function loadAssetPaletteFromLocalDB(){ var html=""; var _1d4; var _1d5; var _1d6; var _1d7=window.location.toString().split("ADDraw")[0]; try{ db=google.gears.factory.create("beta.database","1.0ext"); db.open("addraw_local"); var rs=db.execute("select filename, assetid, login from asset_local where filetype = 'LOGO' order by last_modified_date desc"); while(rs.isValidRow()){ _1d4=rs.field(0); _1d5=rs.field(1); _1d6=rs.field(2); if(_1d4!=""&&_1d4!=undefined){ html=html+"<A HREF=\"javascript:deleteFileFromLocalDB('"+_1d4+"')\">"+"<IMG SRC=\"images/file_delete_icon.gif\" ALT=\"delete file\" border='0'></A> "+"<IMG  type='LOGO' HEIGHT=\"100\" WIDTH=\"100\"  onmouseover='showDragTarget(this)' SRC=\""+_1d7+_1d6+"/logos/"+_1d5+"\"><br/>"; } rs.next(); } rs.close(); } catch(e){ alert("loadAssetPaletteFromLocalDB - "+e.message); throw new Error(e.message); } hideDragTarget(); $("_imageAssets").innerHTML="Loading Images"; $("_imageAssets").innerHTML=html; } function loadImageFromLocalDB(_1d9){ if(window.google&&google.gears){ var x=window.confirm("Loading this file will clear the contents of the canvas.  If you have not saved your work, you may want to click 'Cancel'."); if(x){ var xml; try{ db=google.gears.factory.create("beta.database","1.0ext"); db.open("addraw_local"); var rs=db.execute("select xml, login, file_extension, assetid, last_modified_date, rastertype, id from asset_local where filename = '"+filename+"' and filetype = 'FILE'"); while(rs.isValidRow()){ xml=rs.field(0); local_loginid=rs.field(1); local_file_extension=rs.field(2); local_assetid=rs.field(3); local_last_modified_date=rs.field(4); local_rastertype=rs.field(5); local_id=rs.field(6); rs.next(); } rs.close(); } catch(e){ alert("loadImageFromLocalDB - "+e.message); throw new Error(e.message); } var div=c.getValidDocumentFromResponse(xml); c.open(div); loadRefreshData(); } } } function saveImageToLocalDB(_1de){ var ts=""; var time=new Date().getTime(); if(db){ try{ db.transaction(function(db){ var rs=db.execute("select datetime('now')"); while(rs.isValidRow()){ ts=rs.field(0); rs.next(); } rs.close(); db.execute("insert into asset_local values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)",[time,"local_loginid",time,"LOGO","na",_1de,"na",ts,"na","na","na","na","na","na"]); }); } catch(e){ alert("saveImageToLocalDB - "+e.message); throw new Error(e.message); } } loadAssetPaletteFromLocalDB(); setHelp("<font color='red'><b>Image saved locally</b></font>"); if(activeTab!="_imageTab"){ highlightTab("_imageTab",0); } } function toggleMenuItemsForOnlineMode(){ if(!isOnline()){ toolbar_MENUBAR_1.hideMenuItem(2); toolbar_MENUBAR_1.hideMenuItem(3); this.toolbar_MENUBAR_2.hideMenuItem(200121); toolbar_MENUBAR_2.hideMenuItem(200407); toolbar_MENUBAR_2.hideMenuItem(200110); toolbar_MENUBAR_2.hideMenuItem(200408); }else{ toolbar_MENUBAR_1.showMenuItem(2); toolbar_MENUBAR_1.showMenuItem(3); this.toolbar_MENUBAR_2.showMenuItem(200121); toolbar_MENUBAR_2.showMenuItem(200407); toolbar_MENUBAR_2.showMenuItem(200110); toolbar_MENUBAR_2.showMenuItem(200408); } } function overlay(){ el=document.getElementById("overlay"); el.style.visibility=(el.style.visibility=="visible")?"hidden":"visible"; } function uploadFromImageURL(){ if($("_fromIMGURL").checked){ insertImage(); cancelOpen(); return true; } return false; } function quietSubmitForAPI(){ var url=window.location.toString(); if(url&&url.indexOf("?")>=0){ var _1e4=url.toQueryParams()["_o"]; var _1e5=url.toQueryParams()["_a"]; _1e5=encodeURIComponent(_1e5); setHelp("<font color='red'><b>Submitting diagram for session "+_1e5+" ...please wait</b></font>"); var size=c.getPageSize(); size=size.width+"x"+size.height; var url="UploadFileServlet"; var _1e7=screen.logicalXDPI/72; var _1e8="SVG"; var _1e9=getAllData(_1e8); var data=(_1e9.innerHTML)?_1e9.innerHTML:_1e9.xml; var _1eb=c.getZoom(); var pars={DATA:data,SIZE:size,FORMAT:_1e8,XDPI:_1e7,TYPE:c.renderer.TYPE,NAME:_1e5,ZOOM:_1eb,OWNER:_1e4}; var _1ed=new Ajax.Request(url,{method:"post",parameters:pars,onComplete:saveToServerForAPI}); } } function saveToServerForAPI(_1ee){ setHelp(SAVE_BEGIN_MESSAGE); var _1ef=_1ee.responseText; if(_1ef&&_1ef.indexOf("SUCCESS")>=0){ setHelp(SAVE_SUCCESS_MESSAGE); }else{ alert("Unable to process file due to server error "+_1ee.responseText); } setHelp("File saved.  Please close this browser window when you are done editing this diagram."); } function runApiOverides(){ toolbar_MENUBAR_1.hideMenuItem(200414); toolbar_MENUBAR_1.hideMenuItem(200415); } function enableByControl(_1f0,_1f1){ $(_1f1).disabled=false; $(_1f0).disabled=true; } function toggleSubmitButton(_1f2,_1f3){ if($(_1f2).value==""){ $(_1f3).disabled=true; }else{ $(_1f3).disabled=false; } } function CDEditor(elem,_1f5){ this.container=elem; this.PAGE_ID="_page"; this.page=$(this.PAGE_ID); this.unit="in"; this.width="17in"; this.height="11in"; this.DEFAULT_PAGE_WIDTH="17in"; this.DEFAULT_PAGE_HEIGHT="11in"; this.DPI=96; this.conversionFactor=1/this.DPI; this.scale=1; this.orientation="LANDSCAPE"; this.MAX_WIDTH=10000; this.MAX_HEIGHT=10000; this.gridX=1; this.gridY=1; this.GRID_ROTATE=15; this.GRID_SIZE=24; this.LAST_SAVED_GRID_SIZE=24; this.LAST_SAVED_ROTATIONAL_GRID=5; this.GRID_SIZE_IN=24; this.GRID_SIZE_MM=5*(this.DPI/25.4); this.mouseDownX=0; this.mouseDownY=0; this.handleIndex=0; this.prevHandleX=0; this.prevHandleY=0; this.prevZoom=1; this.zoom=1; this.prevWidth=0; this.prevHeight=0; this.prevMode=""; this.mode="select"; this.resizeMode=""; this.fillColor=""; this.lineColor=""; this.lineWidth=""; this.lineStyle="none"; this.opacity="1.0"; this.gradient="solid"; this.shadowOn="false"; this.SHIFT_MODE=false; this.selected=null; this.trendLineEnabled=true; this.lineActiveShape=null; this.dragStarted=false; this.textEditMode=false; this.textToolBeginNew=true; this.resizeCounter=0; this.dragCounter=0; this.active_connector=null; this.new_line_connector=null; var font=new Object(); font.size=""; font.family=""; font.color=""; font.align=""; font.italics=""; font.bold=""; this.fillUpFont(font); this.font=font; this.shapeProps=new Array(); this.shapeProps["table"]=$("_shapeTable"); this.shapeProps["x"]=$("_x"); this.shapeProps["y"]=$("_y"); this.shapeProps["width"]=$("_width"); this.shapeProps["height"]=$("_height"); this.shapeProps["rotation"]=$("_rotation"); this.shapeProps["transparentBG"]=$("_transparentBG"); this.shapeProps["FWLButton"]=$("_openInFreewheel"); this.shapeProps["FWLTransparent"]=$("_changeDWFTransparent"); this.shapeProps["FWLBackground"]=$("_changeDWFBackground"); this.lineProps=new Array(); this.lineProps["table"]=$("_connectorTable"); this.lineProps["x1"]=$("_x1"); this.lineProps["x2"]=$("_x2"); this.lineProps["y1"]=$("_y1"); this.lineProps["y2"]=$("_y2"); this.lineProps["type"]=$("_lineType"); this.pageProps=new Array(); this.pageProps["table"]=$("_pageTable"); this.pageProps["x"]=$("_pageX"); this.pageProps["y"]=$("_pageY"); this.pageProps["width"]=$("_pageWidth"); this.pageProps["height"]=$("_pageHeight"); this.clipboard=null; this.selectedBounds={x:0,y:0,width:0,height:0}; this.multipleSelectShapes=new SelectedShapes(); this.multipleSelectShapes.init(_1f5); this.onselect=function(){ }; this.onunselect=function(){ }; this.renderer=_1f5; this.renderer.init(this.container); this.onMouseDownListener=this.onMouseDown.bindAsEventListener(this); this.onMouseUpListener=this.onMouseUp.bindAsEventListener(this); this.onDragListener=this.onDrag.bindAsEventListener(this); this.onDrawListener=this.onDraw.bindAsEventListener(this); this.onPageDragListener=this.onPageDrag.bindAsEventListener(this); this.onHitListener=this.onHit.bindAsEventListener(this); this.onSelectStartListener=this.onSelectStart.bindAsEventListener(this); this.onMouseOverListener=this.onMouseOver.bindAsEventListener(this); this.onMouseOutListener=this.onMouseOut.bindAsEventListener(this); this.onShapeMouseOutListener=this.onShapeMouseOut.bindAsEventListener(this); this.onShapeMouseEnterListener=this.onShapeMouseEnter.bindAsEventListener(this); this.onKeyPressListener=this.onKeyPress.bindAsEventListener(this); this.onKeyDownListener=this.onKeyDown.bindAsEventListener(this); this.onKeyUpListener=this.onKeyUp.bindAsEventListener(this); this.onDblClickListener=this.onDblClick.bindAsEventListener(this); this.onTextEditEndListener=this.onTextEditEnd.bindAsEventListener(this); this.onScrollListener=this.onScroll.bindAsEventListener(this); Event.observe(this.container.parentNode,"scroll",this.onScrollListener); Event.observe(this.container,"mousedown",this.onMouseDownListener); Event.observe(this.container,"mouseup",this.onMouseUpListener); Event.observe(this.container,"mouseout",this.onMouseOutListener); Event.observe(this.container,"selectstart",this.onSelectStartListener); Event.observe(this.container.ownerDocument,"keypress",this.onKeyPressListener); Event.observe(this.container.ownerDocument,"keyup",this.onKeyUpListener); Event.observe(this.container.ownerDocument,"keydown",this.onKeyDownListener); } CDEditor.prototype.fillUpFont=function(font){ if(font.size==""){ font.size=16; } if(font.family==""){ font.family="'Arial'"; } if(font.italics==""){ font.italics="normal"; } if(font.bold==""){ font.bold="normal"; } if(font.align==""){ font.align="center"; } if(font.color==""){ font.color="black"; } }; CDEditor.prototype.onScroll=function(){ var _1f8=this.container.parentNode.scrollLeft; var _1f9=this.container.parentNode.scrollTop; $("_horzRuler").style.marginTop=_1f9; $("_vertRuler").style.marginLeft=_1f8; }; CDEditor.prototype.deleteSelection=function(){ if(this.selected){ if($(this.renderer.TRACKER_GROUP_ID)){ Event.stopObserving($(this.renderer.TRACKER_GROUP_ID),"mouseover",this.onMouseOverListener); } if($(this.renderer.LINE_TRACKER_GROUP_ID)){ Event.stopObserving($(this.renderer.LINE_TRACKER_GROUP_ID),"mouseover",this.onMouseOverListener); } Event.stopObserving(this.selected,"dblclick",this.onDblClickListener); this.renderer.hideTrackerGroup(); this.renderer.hideLineTrackerGroup(); if(this.renderer.isMultipleSelect(this.selected)){ var _1fa=this.multipleSelectShapes.getShapes(); for(var i=0;i<_1fa.length;i++){ this.renderer.remove(_1fa[i]); } this.multipleSelectShapes.reset(); this.renderer.hideMultipleSelector(); } this.renderer.remove(this.selected); this.hideDimensions(); this.selected=null; }else{ setHelp("Select a shape to delete"); } }; CDEditor.prototype.cut=function(){ if(this.selected){ this.copy(); this.deleteSelection(); this.unselect(); }else{ setHelp("Nothing to cut,Please select a shape first"); } }; CDEditor.prototype.copy=function(){ if(this.selected){ this.clipboard=new Array(); var _1fc=this.multipleSelectShapes.getShapes(); if(!this.renderer.isMultipleSelect(this.selected)){ _1fc[_1fc.length]=this.selected; } for(var i=0;i<_1fc.length;i++){ this.clipboard[this.clipboard.length]=this.renderer.copy(_1fc[i]); } }else{ setHelp("Nothing to copy,Please select a shape first"); } }; CDEditor.prototype.paste=function(){ if(this.clipboard!=null&&this.clipboard.length>0){ var _1fe=new Object(); var _1ff=new Object(); var _200=new Object(); for(var i=0;i<this.clipboard.length;i++){ var _202=this.clipboard[i]; if(this.renderer.isConnector(_202)){ _1fe[_202.id]=_202; }else{ _1ff[_202.id]=_202; } } var _203=Object.values(_1fe); for(var i=0;i<_203.length;i++){ var _202=_203[i]; var _204=this.renderer.paste(_202); _200[_202.id]=_204; this.addNewShapeListeners(_204); var _205=this.renderer.getConnectionShape(_202,true); var _206=this.renderer.getConnectionShape(_202,false); if(_1ff[_205.shapeid]!=null){ var _207=_200[_205.shapeid]; if(_207==null){ _207=this.renderer.paste(_1ff[_205.shapeid]); this.addNewShapeListeners(_207); _200[_205.shapeid]=_207; } this.renderer.connectLineToShapeByPointIndex(_207,_204,"from",_205.shapepoint); } if(_1ff[_206.shapeid]!=null){ var _207=_200[_206.shapeid]; if(_207==null){ _207=this.renderer.paste(_1ff[_206.shapeid]); _200[_206.shapeid]=_207; this.addNewShapeListeners(_207); } this.renderer.connectLineToShapeByPointIndex(_207,_204,"to",_206.shapepoint); } } var _208=Object.values(_1ff); for(var i=0;i<_208.length;i++){ var _202=_208[i]; var _207=_200[_202.id]; if(_207==null){ _207=this.renderer.paste(_1ff[_202.id]); this.addNewShapeListeners(_207); _200[_202.id]=_207; } } this.multipleSelectShapes.reset(); var _209=Object.values(_200); if(_209.length>1){ this.multipleSelectShapes.setSelectedShapes(_209); this.resetMultipleSelectorDummy(); this.renderer.updateTracker(this.selected); }else{ if(_209.length==1){ this.unselect(); this.select(_209[0]); this.renderer.updateTracker(this.selected); } } this.copy(); this.clearShapeText(); this.resetShapeText(); }else{ setHelp("Nothing to paste,Use copy or cut on selected shape"); } }; CDEditor.prototype.addNewShapeListeners=function(_20a){ if(!_20a){ return; } Event.observe(_20a,"mousedown",this.onHitListener); Event.observe(_20a,"mouseover",this.onShapeMouseEnterListener); Event.observe(_20a,"mouseout",this.onShapeMouseOutListener); }; CDEditor.prototype.bringToFront=function(_20b){ var _20c=(_20b)?_20b:this.selected; var _20d=new Array(); var _20e=this.renderer.isMultipleSelect(_20c); if(_20e){ _20d=this.multipleSelectShapes.getShapes(); }else{ _20d[0]=_20c; } for(var i=0;i<_20d.length;i++){ _20c=this.renderer.bringToFront(_20d[i]); if(_20c){ this.addNewShapeListeners(_20c); if(!_20e){ this.select(_20c); } } } }; CDEditor.prototype.sendToBack=function(_210){ var _211=(_210)?_210:this.selected; var _212=new Array(); var _213=this.renderer.isMultipleSelect(_211); if(_213){ _212=this.multipleSelectShapes.getShapes(); }else{ _212[0]=_211; } for(var i=0;i<_212.length;i++){ _211=this.renderer.sendToBack(_212[i]); if(_211){ this.addNewShapeListeners(_211); if(!_213){ this.select(_211); } } } }; CDEditor.prototype.select=function(elem){ if(elem==this.selected){ return; } try{ var str=elem.getAttribute("name"); if(str.indexOf("freewheel:")==0){ DWFShape=elem; var obj=getPropertyForDWFImage(elem); str=obj.path.replace("?","&"); var _218=window.location.href; var _219=_218.lastIndexOf("/"); _218=_218.substring(0,_219); valueInIFrame=FW_URL+"/dwf.aspx?ui=file,zoom,pan,orbit,wheel&css="+encodeURIComponent(_218+"/css/Freewheel.css")+str; }else{ DWFShape=null; } } catch(e){ DWFShape=null; } this.selected=elem; this.renderer.showTracker(this.selected); var _21a=$("tracker-group"); if(_21a){ Event.observe($("tracker-group"),"mouseover",this.onMouseOverListener); } Event.observe(this.selected,"dblclick",this.onDblClickListener); setHelp("To move the shape, drag it.  To resize, use the blue resize boxes.  For finer moves use arrow keys.  <b>To set the text, double click the shape.</b>"); if(DWFShape){ setHelp("To open this DWF in Project Freewheel, double click this shape or click the 'Open DWF' button in the shape property box to the left."); } this.onselect(this); this.updateShapeInfo(this.selected); this.showDimensions(this.selected); }; CDEditor.prototype.unselect=function(){ DWFShape=null; if(this.selected!=null){ if(this.textEditMode){ this.finishTextEdit(); this.textEditMode=false; } if(this.mode!="text"){ this.textModeBeginNew=false; } Event.stopObserving(this.selected,"dblclick",this.onDblClickListener); this.selected=null; this.onunselect(this); var _21b=$("tracker-group"); if(_21b){ Event.stopObserving($("tracker-group"),"mouseover",this.onMouseOverListener); } this.updateShapeInfo(null); this.renderer.hideTrackerGroup(); this.renderer.hideLineTrackerGroup(); this.hideDimensions(null); } }; CDEditor.prototype.onDblClick=function(_21c){ if(!this.selected){ return false; }else{ if(this.selected==DWFShape){ openView(); }else{ if(!this.renderer.isMultipleSelect(this.selected)){ this.startTextEdit(this.selected); }else{ setHelp("<font color='red'>Text editing is not allowed in multiple select mode</font>"); } } } }; CDEditor.prototype.startTextEdit=function(_21d){ setHelp("Enter your text and then click anywhere outside the text area"); var text=$("__shapeText"); var _21f=this.renderer.getShapeText(_21d); if(_21f){ text.value=_21f; }else{ text.value=""; } text.style.visibility="visible"; var _220=this.renderer.getTextBounds(_21d,"",this.zoom); text.style.marginLeft=_220.x>3?(_220.x-3):0; text.style.marginTop=_220.y>3?(_220.y-3):0; if(_220.width>=35){ text.style.width=parseInt(_220.width)+6; }else{ text.style.width=35; } if(_220.height>=35){ text.style.height=parseInt(_220.height)+6; }else{ text.style.height=35; } this.setTextAreaFont(text); this.renderer.remove(text); this.container.appendChild(text); text.focus(); text.style.zIndex=this.renderer.maxIndex; Event.stopObserving(this.container,"mousedown",this.onMouseDownListener); Event.stopObserving(this.container,"mouseup",this.onMouseUpListener); Event.stopObserving(this.container,"selectstart",this.onSelectStartListener); Event.stopObserving(this.container,"keypress",this.onKeyPressListener); Event.stopObserving(this.container,"keyup",this.onKeyUpListener); Event.stopObserving(this.container,"mousemove",this.onDragListener); Event.observe(this.container,"mousedown",this.onTextEditEndListener); setTimeout("c.manageTextSize()",100); this.textEditMode=true; }; CDEditor.prototype.manageTextSize=function(){ if(!this.selected||(!this.renderer.isConnector(this.selected)&&(!this.selected.getElementsByTagName("text-bound")>0))){ return; } var text=$("__shapeText"); if(!text.style.visibility=="visible"){ return; } var _222=this.renderer.getTextBounds(this.selected,text.value,this.zoom); text.style.marginLeft=_222.x>3?(_222.x-3):0; text.style.marginTop=_222.y>3?(_222.y-3):0; if(_222.width>=35){ text.style.width=parseInt(_222.width)+6; }else{ text.style.width=35; } if(_222.height>=35){ text.style.height=parseInt(_222.height)+6; }else{ text.style.height=35; } setTimeout("c.manageTextSize()",50); }; CDEditor.prototype.setTextAreaFont=function(text){ var _224=this.renderer.getFont(this.selected); if(_224.size!=""){ text.style.fontSize=(_224.size*this.zoom); }else{ text.style.fontSize=(this.font.size*this.zoom); } if(_224.color!=""){ text.style.strokecolor=_224.color; text.style.color=_224.color; }else{ text.style.strokecolor=this.font.color; text.style.color=this.font.color; } if(_224.family!=""){ text.style.fontFamily=_224.family; }else{ text.style.fontFamily=this.font.family; } if(_224.bold!=""){ text.style.fontWeight=_224.bold; }else{ text.style.fontWeight=this.font.bold; } if(_224.italics!=""){ text.style.fontStyle=_224.italics; }else{ text.style.fontStyle=this.font.italics; } }; CDEditor.prototype.onTextEditEnd=function(_225){ if(!this.selected||!this.textEditMode||!_225){ return; }else{ var _226=Event.element(_225); if(_225&&_226&&_226.id=="__shapeText"){ return; } this.finishTextEdit(); this.unselect(); } }; CDEditor.prototype.finishTextEdit=function(){ setHelp("Finished editing text"); var _227=$("__shapeText"); var text=_227.value; if(!text||text.length==0){ text=" "; } this.clearShapeText(); var _229=this.renderer.getFont(this.selected); this.renderer.setShapeText(this.selected,text,this.font,false,_229,this.zoom); if(!this.renderer.isConnector(this.selected)){ this.resetTextForAttachedConnectors(this.selected); } _227.style.visibility="hidden"; this.textEditMode=false; Event.observe(this.container,"mousedown",this.onMouseDownListener); Event.observe(this.container,"mouseup",this.onMouseUpListener); Event.observe(this.container,"selectstart",this.onSelectStartListener); Event.observe(this.container,"keypress",this.onKeyPressListener); Event.observe(this.container,"keyup",this.onKeyUpListener); Event.stopObserving(this.container,"mousedown",this.onTextEditEndListener); }; CDEditor.prototype.clearShapeText=function(_22a){ var _22b=null; if(!_22a&&!this.selected){ return; } if(!_22a){ _22b=this.multipleSelectShapes.getShapes(); if(!this.renderer.isMultipleSelect(this.selected)){ _22b[_22b.length]=this.selected; } }else{ _22b=new Array(); _22b[_22b.length]=_22a; } for(var i=0;i<_22b.length;i++){ var _22d=_22b[i]; this.renderer.clearShapeText(_22d); if(!this.renderer.isConnector(_22d)){ this.clearTextForAttachedConnectors(_22d); } } }; CDEditor.prototype.resetShapeText=function(_22e){ if(!_22e&&!this.selected){ return; } var _22f=null; if(!_22e){ _22f=this.multipleSelectShapes.getShapes(); if(!this.renderer.isMultipleSelect(this.selected)){ _22f[_22f.length]=this.selected; } }else{ _22f=new Array(); _22f[_22f.length]=_22e; } for(var i=0;i<_22f.length;i++){ var _231=_22f[i]; var text=this.renderer.getShapeText(_231); var _233=this.renderer.getFont(_231); if(text){ this.renderer.setShapeText(_231,text,this.font,false,_233,this.zoom); } if(!this.renderer.isConnector(_231)){ this.resetTextForAttachedConnectors(_231); } } }; CDEditor.prototype.clearTextForAttachedConnectors=function(_234){ var _235=_234; if(!_235){ _235=this.selected; } var _236=this.renderer.getAllConnectorsForShape(_235); for(var i=0;i<_236.length;i++){ if(_236[i]){ this.clearShapeText(_236[i]); } } }; CDEditor.prototype.resetTextForAttachedConnectors=function(_238){ var _239=_238; if(!_239){ _239=this.selected; } var _23a=this.renderer.getAllConnectorsForShape(_238); for(var i=0;i<_23a.length;i++){ if(_23a[i]){ this.resetShapeText(_23a[i]); } } }; CDEditor.prototype.getSelectedElement=function(){ return this.selected; }; CDEditor.prototype.setGridSize=function(_23c){ this.LAST_SAVED_GRID_SIZE=this.GRID_SIZE; var val=splitUnits(_23c); var _23c=0; if(val[1]=="in"){ _23c=val[0]*this.DPI; }else{ if(val[1]=="mm"){ _23c=val[0]*(this.DPI/25.4); }else{ _23c=val[0]; } } this.GRID_SIZE=_23c*1; }; CDEditor.prototype.setRotationalGridSize=function(_23e){ this.LAST_SAVED_ROTATIONAL_GRID=this.GRID_ROTATE; this.GRID_ROTATE=_23e; }; CDEditor.prototype.getGridSize=function(){ return this.GRID_SIZE; }; CDEditor.prototype.open=function(div){ this.removeAll(); var _240=div.getElementsByTagName("zoom-factor"); var _241=0.8; if(_240&&_240.length>0){ _241=_240.item(0).getAttribute("factor"); } this.prevZoom=this.zoom; this.zoom=_241; this.renderer.open(div); var _242=this.renderer.getAllShapes(this.container); var _243=$A(_242); _242=this.renderer.getAllConnectors(this.container); for(var i=0;i<_242.length;i++){ _243[_243.length]=_242[i]; } for(var i=0;i<_243.length;i++){ var _245=_243[i]; this.addNewShapeListeners(_245); this.renderer.updateRotation(_245); var text=this.renderer.getShapeText(_245,this.container); var font=this.renderer.getFont(_245); this.renderer.clearShapeText(_245); if(text){ this.renderer.setShapeText(_245,text,this.font,false,font,_241); } } var _248=div.getElementsByTagName("page-size"); var _249=this.DEFAULT_PAGE_WIDTH; var _24a=this.DEFAULT_PAGE_HEIGHT; if(_248&&_248.length>0){ _249=_248.item(0).getAttribute("width"); _24a=_248.item(0).getAttribute("height"); } this.setPageSize(_249,_24a); }; CDEditor.prototype.reset=function(){ this.removeAll(); this.setPageSize(this.DEFAULT_PAGE_WIDTH,this.DEFAULT_PAGE_HEIGHT); }; CDEditor.prototype.removeAll=function(){ this.unselect(); this.clearConnectionPoints(); var _24b=this.renderer.getAllShapes(this.container.ownerDocument); var _24c=$A(_24b); _24b=this.renderer.getAllConnectors(this.container.ownerDocument); for(var i=0;i<_24b.length;i++){ _24c[_24c.length]=_24b[i]; } for(var i=0;i<_24c.length;i++){ var node=_24c[i]; this.renderer.remove(node); } }; CDEditor.prototype.setMode=function(_24f){ var _250=this.mode; this.mode=_24f; if(_24f=="line"){ this.renderer.setCursor(this.container,"./cursors/line-draw.cur"); this.showConnectionPoints(); }else{ if(_24f=="ortho-line"){ this.renderer.setCursor(this.container,"./cursors/orth-draw.cur"); this.showConnectionPoints(); }else{ if(_24f=="curve-line"){ this.renderer.setCursor(this.container,"./cursors/curve-draw.cur"); this.showConnectionPoints(); }else{ if(_24f=="text"){ this.renderer.setCursor(this.container,"./cursors/text.cur"); }else{ this.renderer.setCursor(this.container,"default"); this.clearConnectionPoints(); } } } } }; CDEditor.prototype.clearConnectionPoints=function(){ var _251=$("connectors"); if(!_251){ return; } var _252=_251.cloneNode(false); _252.innerHTML=""; _251.parentNode.replaceChild(_252,_251); this.renderer.hideActiveConnectionPoint(); this.active_connector=null; }; CDEditor.prototype.showConnectionPoints=function(){ var _253=this.renderer.getAllShapes(this.container); var _254=""; for(var i=0;i<_253.length;i++){ var _256=_253[i]; var _257=this.renderer.getNamespacedElement(_256,"c","connection-point"); var _258=this.renderer.bounds(_256); for(var j=0;j<_257.length;j++){ var x=_257[j].getAttribute("x"); var y=_257[j].getAttribute("y"); var conX=(_258.x*1)+((x/1000)*_258.width); var conY=(_258.y*1)+((y/1000)*_258.height); var _25e=this.renderer.getRotatedPoint(conX,conY,_258); _25e.x=(_25e.x*1)-5; _25e.y=(_25e.y*1)-5; var id=_256.id+"--"+j; _254+="<img id='"+id+"' src='images/connect.gif' style='z-index:0;position:absolute;left:"+_25e.x+";top:"+_25e.y+";z-index:10000'   onMouseover='connectorActive(this)'/>"; } } var _260=$("connectors"); if(_260==null){ _260=this.container.ownerDocument.createElement("span"); _260.setAttribute("id","connectors"); _260=this.container.appendChild(_260); } var _261=_260.cloneNode(false); _261.innerHTML=_254; _260.parentNode.replaceChild(_261,_260); }; CDEditor.prototype.editCommand=function(cmd,_263){ if(cmd=="mode"){ this.setMode(_263); } if(cmd=="zoom"){ this.setZoom(_263); this.hideDimensions(); }else{ if(this.selected==null){ if(cmd=="fillcolor"){ this.fillColor=_263; }else{ if(cmd=="linecolor"){ this.lineColor=_263; }else{ if(cmd=="linewidth"){ this.lineWidth=parseInt(_263)+"px"; }else{ if(cmd=="opacity"){ this.opacity=_263; }else{ if(cmd=="gradient"){ this.gradient=_263; }else{ if(cmd=="shadow"){ this.shadowOn=_263; }else{ if(cmd=="linestyle"){ this.lineStyle=_263; }else{ if(cmd=="fontSize"){ this.font.size=_263; }else{ if(cmd=="fontFamily"){ this.font.family=_263; }else{ if(cmd=="bold"){ if(this.font.bold=="bold"){ this.font.bold="normal"; }else{ this.font.bold="bold"; } }else{ if(cmd=="italic"){ if(this.font.italics=="italic"){ this.font.italics="normal"; }else{ this.font.italics="italic"; } }else{ if(cmd=="fontColor"){ this.font.color=_263; }else{ if(cmd=="align"){ this.font.align=_263; } } } } } } } } } } } } } }else{ var _264=this.multipleSelectShapes.getShapes(); if(_264.length==0){ _264[_264.length]=this.selected; } for(var i=0;i<_264.length;i++){ this.renderer.editCommand(_264[i],cmd,_263,this.zoom); } if(this.textEditMode==true){ if(cmd=="fontColor"||cmd=="align"||cmd=="italic"||cmd=="bold"||cmd=="fontFamily"||cmd=="fontSize"){ this.setTextAreaFont($("__shapeText")); } } } } }; CDEditor.prototype.isTextEditMode=function(){ return this.textEditMode; }; CDEditor.prototype.setPageSize=function(_266,_267){ this.width=_266; this.height=_267; var _268=splitUnits(_266); var _269=splitUnits(_267); this.width=_266; this.height=_267; this.page.style.width=(_268[0]*this.zoom)+_268[1]; this.page.style.height=(_269[0]*this.zoom)+_269[1]; this.unit=_268[1]; this.updateShapeInfo(null); }; function splitUnits(val){ if(!val){ return; } if(val.indexOf("in")>=0){ return {0:val.split("in")[0],1:"in"}; } if(val.indexOf("cm")>=0){ return {0:val.split("cm")[0],1:"cm"}; } if(val.indexOf("mm")>=0){ return {0:val.split("mm")[0],1:"mm"}; } if(val.indexOf("px")>=0){ return {0:val.split("px")[0],1:"px"}; }else{ return {0:val,1:"px"}; } } CDEditor.prototype.getPageSize=function(){ var size=new Array(); size["width"]=this.width; size["height"]=this.height; return size; }; CDEditor.prototype.setZoom=function(_26c){ _26c=(this.zoom*_26c).toFixed(5); if(_26c<0.15||_26c>4){ return; } this.prevZoom=this.zoom; this.zoom=_26c; var _26d=splitUnits(this.width); var _26e=splitUnits(this.height); this.page.style.width=(_26d[0]*(_26c))+_26d[1]; this.page.style.height=(_26e[0]*(_26c))+_26e[1]; this.clearConnectionPoints(); this.setShapeZoom(this.container,_26c,this.prevZoom); this.setMode(this.mode); }; CDEditor.prototype.setShapeZoom=function(doc,_270,_271){ this.renderer.remove($(this.renderer.ACTIVE_SHAPE_TRACKER_ID)); var _272=this.renderer.getAllShapes(doc); var _273=_272.length; for(var i=0;i<_272.length;i++){ var _275=_272[i]; var rect=this.renderer.trueBounds(_275); if(rect["width"]=="NaN"||rect["width"]==""){ continue; } if(rect["height"]=="NaN"||rect["height"]==""){ continue; } rect.x=(rect.x=="")?0:rect.x; rect.y=(rect.y=="")?0:rect.y; this.renderer.setWidth(_275,parseFloat(rect["width"])*(_270/_271)); this.renderer.setHeight(_275,parseFloat(rect["height"])*(_270/_271)); this.renderer.setY(_275,parseFloat(rect["y"])*(_270/_271)); this.renderer.setX(_275,parseFloat(rect["x"])*(_270/_271)); this.renderer.updateRotation(_275); var text=this.renderer.getShapeText(_275,doc); var font=this.renderer.getFont(_275); this.renderer.clearShapeText(_275); if(text){ this.renderer.setShapeText(_275,text,this.font,false,font,_270); } } this.setLineZoom(doc,_270,_271); this.renderer.updateTracker(this.selected); }; CDEditor.prototype.setLineZoom=function(doc,_27a,_27b){ var _27c=this.renderer.getAllConnectors(doc); var _27d=_27c.length; for(var i=0;i<_27c.length;i++){ var _27f=_27c[i]; var _280=this.renderer.getConnectorFromX(_27f)*(_27a/_27b); var _281=this.renderer.getConnectorFromY(_27f)*(_27a/_27b); var toX=this.renderer.getConnectorToX(_27f)*(_27a/_27b); var toY=this.renderer.getConnectorToY(_27f)*(_27a/_27b); this.renderer.moveLinePoint(_27f,_280,_281,true); this.renderer.moveLinePoint(_27f,toX,toY,false); if(this.renderer.getConnectorType(_27f)=="curve-line"){ var _284=this.renderer.getControl1(_27f); var cx1=_284.x*(_27a/_27b); var cy1=_284.y*(_27a/_27b); this.renderer.setControl1(_27f,cx1,cy1); var _287=this.renderer.getControl2(_27f); var cx2=_287.x*(_27a/_27b); var cy2=_287.y*(_27a/_27b); this.renderer.setControl2(_27f,cx2,cy2); } var text=this.renderer.getShapeText(_27f,doc); var font=this.renderer.getFont(_27f); this.renderer.clearShapeText(_27f); if(text){ this.renderer.setShapeText(_27f,text,this.font,false,font,_27a,doc); } } }; CDEditor.prototype.getZoom=function(){ return this.zoom; }; CDEditor.prototype.queryCommand=function(cmd){ if(cmd=="mode"){ return this.mode; }else{ if(this.selected==null){ if(cmd=="fillcolor"){ return this.fillColor; }else{ if(cmd=="linecolor"){ return this.lineColor; }else{ if(cmd=="linewidth"){ return this.lineWidth; }else{ if(cmd=="opacity"){ return this.opacity; }else{ if(cmd=="gradient"){ return this.gradient; }else{ if(cmd=="shadow"){ return this.shadowOn; }else{ if(cmd=="fontSize"){ return this.font.size; }else{ if(cmd=="fontFamily"){ return this.font.family; }else{ if(cmd=="bold"){ return this.font.bold; }else{ if(cmd=="italics"){ return this.font.italics; }else{ if(cmd=="fontColor"){ return this.font.color; }else{ if(cmd=="align"){ return this.font.align; }else{ if(cmd=="font"){ return this.font; }else{ if(cmd=="linestyle"){ return this.lineStyle; } } } } } } } } } } } } } } }else{ return this.renderer.queryCommand(this.selected,cmd); } } }; CDEditor.prototype.onSelectStart=function(_28d){ return false; }; CDEditor.prototype.onKeyUp=function(_28e){ this.SHIFT_MODE=_28e.shiftKey; var code=_28e.keyCode; if((code==46||code==37||code==38||code==39||code==40)&&this.textEditMode==true){ return true; } if(code==37||code==38||code==39||code==40||code==82||code==76){ var _290=Event.element(_28e); if(_290&&(_290.id=="_file"||_290.id=="_DOCUMENT_NAME"||_290.id=="__imageURL")){ return; } this.clearShapeText(); this.resetShapeText(); this.selectedBounds=this.renderer.trueBounds(this.selected); this.multipleSelectShapes.updateShapeBounds(); } }; CDEditor.prototype.onKeyDown=function(_291){ this.SHIFT_MODE=_291.shiftKey; }; CDEditor.prototype.onKeyPress=function(_292){ if($("_saveBox").style.visibility=="visible"){ return true; } if($("__imageURLWizard").style.visibility=="visible"){ return true; } if($("_submitBox").style.visibility=="visible"){ return true; } if($("_uploadLogoBox").style.visibility=="visible"){ return true; } if($("_authBox").style.visibility=="visible"){ return true; } if($("_emailBox").style.visibility=="visible"){ return true; } var _293=Event.element(_292); if(_293.nodeName=="INPUT"&&_293.type=="text"){ return true; } var code=_292.keyCode; var stop=false; var _296=_292.charCode?_292.charCode:_292.keyCode; var _297=String.fromCharCode(_296); _297=_297.toLowerCase(); this.SHIFT_MODE=_292.shiftKey; if((code==46||code==37||code==38||code==39||code==40)&&this.textEditMode==true){ return; } if(46==code&&!this.textEditMode){ this.deleteSelection(); stop=true; }else{ if(37==code&&!this.textEditMode){ this.clearShapeText(); this.fineMove(1,0,0,0); stop=true; }else{ if(38==code&&!this.textEditMode){ this.clearShapeText(); this.fineMove(0,0,1,0); stop=true; }else{ if(39==code&&!this.textEditMode){ this.clearShapeText(); this.fineMove(0,1,0,0); stop=true; }else{ if(40==code&&!this.textEditMode){ this.clearShapeText(); this.fineMove(0,0,0,1); stop=true; }else{ if("r"==_297){ if(_292.shiftKey&&!this.textEditMode){ this.clearShapeText(); this.fineRotateSelection(1); stop=true; } }else{ if("l"==_297){ if(_292.shiftKey&&!this.textEditMode){ this.clearShapeText(); this.fineRotateSelection(-1); stop=true; } }else{ if("x"==_297){ if(_292.ctrlKey&&!this.textEditMode){ this.cut(); } stop=true; }else{ if("c"==_297){ if(_292.ctrlKey&&!this.textEditMode){ this.copy(); } stop=true; }else{ if("v"==_297){ if(_292.ctrlKey&&!this.textEditMode){ this.paste(); } stop=true; }else{ if("b"==_297){ if(_292.ctrlKey){ this.editCommand("bold"); stop=true; } }else{ if("i"==_297){ if(_292.ctrlKey){ this.editCommand("italic"); stop=true; } }else{ if("s"==_297){ if(_292.ctrlKey){ quietSubmit(); stop=true; } }else{ stop=false; } } } } } } } } } } } } } if(stop&&!this.textEditMode){ Event.stop(_292); return false; }else{ return true; } }; CDEditor.prototype.onMouseOver=function(_298){ var _299=Event.element(_298); if(!_299||!_299.id){ return; } if(_299.id=="resize-bottom"||_299.id=="resize-right"||_299.id=="tracker-rotate"||_299.id=="resize-left"||_299.id=="resize-top"||_299.id=="resize-top-left"||_299.id=="resize-bottom-left"||_299.id=="resize-top-right"||_299.id=="resize-bottom-right"){ var _29a=this.renderer.bounds(this.selected)["rotation"]; _29a=_29a%360; if(_299.id=="resize-bottom"){ _299.style.cursor="s-resize"; if(_29a!=null&&((_29a>=45&&_29a<=135)||(_29a>=225&&_29a<=315))){ _299.style.cursor="e-resize"; }else{ _299.style.cursor="s-resize"; } }else{ if(_299.id=="resize-top"){ _299.style.cursor="s-resize"; if(_29a!=null&&((_29a>=45&&_29a<=135)||(_29a>=225&&_29a<=315))){ _299.style.cursor="e-resize"; }else{ _299.style.cursor="s-resize"; } }else{ if(_299.id=="resize-top-left"){ _299.style.cursor="nw-resize"; if(_29a!=null&&((_29a>=45&&_29a<=135)||(_29a>=225&&_29a<=315))){ _299.style.cursor="sw-resize"; }else{ _299.style.cursor="nw-resize"; } }else{ if(_299.id=="resize-bottom-left"){ _299.style.cursor="ne-resize"; if(_29a!=null&&((_29a>=45&&_29a<=135)||(_29a>=225&&_29a<=315))){ _299.style.cursor="nw-resize"; }else{ _299.style.cursor="ne-resize"; } }else{ if(_299.id=="resize-top-right"){ _299.style.cursor="sw-resize"; if(_29a!=null&&((_29a>=45&&_29a<=135)||(_29a>=225&&_29a<=315))){ _299.style.cursor="nw-resize"; }else{ _299.style.cursor="sw-resize"; } }else{ if(_299.id=="resize-bottom-right"){ _299.style.cursor="nw-resize"; if(_29a!=null&&((_29a>=45&&_29a<=135)||(_29a>=225&&_29a<=315))){ _299.style.cursor="ne-resize"; }else{ _299.style.cursor="nw-resize"; } }else{ if(_299.id=="resize-right"){ _299.style.cursor="e-resize"; if(_29a!=null&&((_29a>=45&&_29a<=135)||(_29a>=225&&_29a<=315))){ _299.style.cursor="s-resize"; }else{ _299.style.cursor="e-resize"; } }else{ if(_299.id=="resize-left"){ _299.style.cursor="e-resize"; if(_29a!=null&&((_29a>=45&&_29a<=135)||(_29a>=225&&_29a<=315))){ _299.style.cursor="s-resize"; }else{ _299.style.cursor="e-resize"; } }else{ if(_299.id=="tracker-rotate"){ this.renderer.setCursor(_299,"move"); this.resizeMode="rotate"; } } } } } } } } } } return false; }; CDEditor.prototype.onMouseDown=function(_29b){ var _29c=Position.cumulativeOffset(this.container); var _29d=this.GRID_SIZE*this.zoom; var _29e=this.GRID_SIZE*this.zoom; var _29f=Math.round((Event.pointerX(_29b)-_29c[0])/_29d)*_29d; var _2a0=Math.round((Event.pointerY(_29b)-_29c[1])/_29e)*_29e; var _2a1=Event.element(_29b); if(_2a1.id=="resize-bottom"||_2a1.id=="resize-right"||_2a1.id=="tracker-rotate"||_2a1.id=="resize-left"||_2a1.id=="resize-top"||_2a1.id=="resize-from"||_2a1.id=="resize-to"||_2a1.id=="resize-top-left"||_2a1.id=="resize-bottom-left"||_2a1.id=="resize-top-right"||_2a1.id=="resize-bottom-right"||_2a1.id=="control1"||_2a1.id=="control2"||_2a1.id.indexOf("tracker-handle:")>=0){ this.prevMode=this.mode; this.setMode("resize"); if(this.selected){ this.mouseDownX=_29f; this.mouseDownY=_2a0; var rect=this.renderer.bounds(this.selected); this.prevWidth=rect["width"]; this.prevHeight=rect["height"]; this.prevX=rect["x"]; this.prevY=rect["y"]; this.prevRotation=rect["rotation"]; if(_2a1&&_2a1.id){ if(_2a1.id=="resize-from"){ this.resizeMode="line-from"; this.showConnectionPoints(); }else{ if(_2a1.id=="resize-to"){ this.resizeMode="line-to"; this.showConnectionPoints(); }else{ if(_2a1.id=="control1"){ this.resizeMode="control1"; }else{ if(_2a1.id=="control2"){ this.resizeMode="control2"; }else{ if(_2a1.id=="resize-bottom"){ this.resizeMode="bottom-stretch"; this.multipleSelectShapes.recalculateBounds(); }else{ if(_2a1.id=="resize-top"){ this.resizeMode="top-stretch"; this.multipleSelectShapes.recalculateBounds(); }else{ if(_2a1.id=="resize-top-left"){ this.resizeMode="top-left-stretch"; this.multipleSelectShapes.recalculateBounds(); }else{ if(_2a1.id=="resize-bottom-left"){ this.resizeMode="bottom-left-stretch"; this.multipleSelectShapes.recalculateBounds(); }else{ if(_2a1.id=="resize-bottom-right"){ this.resizeMode="bottom-right-stretch"; this.multipleSelectShapes.recalculateBounds(); }else{ if(_2a1.id=="resize-top-right"){ this.resizeMode="top-right-stretch"; this.multipleSelectShapes.recalculateBounds(); }else{ if(_2a1.id=="resize-right"){ this.resizeMode="right-stretch"; this.multipleSelectShapes.recalculateBounds(); }else{ if(_2a1.id=="resize-left"){ this.resizeMode="left-stretch"; this.multipleSelectShapes.recalculateBounds(); }else{ if(_2a1.id=="tracker-rotate"){ this.resizeMode="rotate"; this.multipleSelectShapes.recalculateBounds(); }else{ if(_2a1.id.indexOf("tracker-handle:")>=0){ this.resizeMode="move-handle"; this.handleIndex=_2a1.id.split("tracker-handle:")[1]; var _2a3=this.renderer.getShapeHandleLocation(this.selected,this.handleIndex); this.prevHandleX=_2a3.x; this.prevHandleY=_2a3.y; } } } } } } } } } } } } } } if(this.resizeMode!="handle"){ this.clearShapeText(); } } } if(this.resizeMode=="rotate"){ if(this.renderer.isMultipleSelect(this.selected)){ setHelp("Drag your mouse to rotate this selection"); this.multipleSelectShapes.recalculateBounds(); }else{ setHelp("Drag your mouse to rotate selected shape, For Fine rotation use <B>Shift+R</B> and <B>Shift+L</B>"); } } Event.observe(this.container,"mousemove",this.onDrawListener); }else{ if(this.mode!="select"&&this.mode!="resize"&&this.mode!="PAGE_DRAG"){ this.unselect(); setHelp("Drag your mouse to size the selected shape"); this.mouseDownX=_29f; this.mouseDownY=_2a0; if(this.mode!="line"&&this.mode!="ortho-line"&&this.mode!="curve-line"){ var _2a4=(this.mouseDownX*1)+this.container.parentNode.scrollLeft; var _2a5=(this.mouseDownY*1)+this.container.parentNode.scrollTop; this.selected=this.renderer.create(this.mode,this.fillColor,this.lineColor,this.lineWidth,_2a4,_2a5,1,1,this.opacity,this.gradient,this.shadowOn); this.selected.setAttribute("id","shape:"+createUUID()); this.addNewShapeListeners(this.selected); if(this.mode=="text"){ this.textToolBeginNew=true; } }else{ var _2a4=(this.mouseDownX*1)+this.container.parentNode.scrollLeft; var _2a5=(this.mouseDownY*1)+this.container.parentNode.scrollTop; this.unselect(); this.selected=this.renderer.createLine(this.mode,this.lineColor,this.lineWidth,_2a4,_2a5,this.lineStyle); this.select(this.selected); this.selected.setAttribute("id","connector:"+createUUID()); this.renderer.moveLine(this.selected,_2a4,_2a5,true); if(this.active_connector!=null){ this.new_line_connector=this.active_connector; var _2a6=this.active_connector.split("--")[0]; var _2a7=this.active_connector.split("--")[1]; connectorInactive(); var _2a8=$(_2a6); while($(this.selected.id)==null){ } this.renderer.connectLine(_2a8,this.selected,"from",_2a7); } this.addNewShapeListeners(this.selected); } this.renderer.setCursor(this.container,"crosshair"); Event.observe(this.container,"mousemove",this.onDrawListener); }else{ if(this.mouseDownX!=_29f||this.mouseDownY!=_2a0){ this.unselect(); } this.multipleSelectShapes.recalculateBounds(); if(_2a1.id==this.container.id||_2a1.id==this.PAGE_ID||_2a1.id==this.renderer.SVG_ROOT_ID){ var _2a9=this.renderer.getMultipleSelector(); var sx=(_29f*1)+this.container.parentNode.scrollLeft; var sy=(_2a0*1)+this.container.parentNode.scrollTop; this.renderer.setX(_2a9,sx); this.renderer.setY(_2a9,sy); this.renderer.setWidth(_2a9,0); this.renderer.setHeight(_2a9,0); this.mouseDownX=_29f; this.mouseDownY=_2a0; Event.observe(this.container,"mousemove",this.onPageDragListener); this.mode="PAGE_DRAG"; } } } this.active_connector=null; return false; }; CDEditor.prototype.isLineDrawMode=function(){ return (this.mode=="line"||this.resizeMode=="line-from"||this.resizeMode=="line-to"||this.mode=="ortho-line"||this.mode=="curve-line"); }; CDEditor.prototype.onShapeMouseEnter=function(_2ac){ if(!this.isLineDrawMode()&&this.mode!="text"){ this.renderer.setCursor(this.container,"move"); } }; CDEditor.prototype.onShapeMouseOut=function(_2ad){ if(!this.isLineDrawMode()&&this.mode!="text"){ this.renderer.setCursor(this.container,"default"); } }; CDEditor.prototype.onMouseOut=function(_2ae){ if(_2ae.toElement&&(_2ae.toElement.id=="_body"||_2ae.toElement.id=="_surround"||_2ae.toElement.id=="palette")){ Event.stopObserving(this.container,"mousemove",this.onDrawListener); Event.stopObserving(this.container,"mousemove",this.onDragListener); this.renderer.hideMultipleSelector(); Event.stopObserving(this.container,"mousemove",this.onPageDragListener); } }; CDEditor.prototype.getContainedShapeList=function(_2af){ var _2b0=this.renderer.getAllShapes(this.container); var _2b1=this.renderer.getAllConnectors(this.container); var list=new Array(); for(var i=0;i<_2b0.length;i++){ if(_2b0[i].id==this.renderer.MULTIPLE_SELECTOR_DUMMY_ID||_2b0[i].id==this.renderer.MULTIPLE_SELECTOR_TRACKER_ID){ continue; } var bbox=this.renderer.getBoundingBox(_2b0[i]); if(parseInt(bbox.x)>parseInt(_2af.x)&&parseInt(bbox.y)>parseInt(_2af.y)&&(parseInt(bbox.x)+parseInt(bbox.width))<(parseInt(_2af.x)+parseInt(_2af.width))&&(parseInt(bbox.y)+parseInt(bbox.height))<(parseInt(_2af.y)+parseInt(_2af.height))){ list[list.length]=_2b0[i]; } } for(var i=0;i<_2b1.length;i++){ var bbox=this.renderer.getBoundingBox(_2b1[i]); if(bbox.x>_2af.x&&bbox.y>_2af.y&&(parseInt(bbox.x)+parseInt(bbox.width))<(parseInt(_2af.x)+parseInt(_2af.width))&&(parseInt(bbox.y)+parseInt(bbox.height))<(parseInt(_2af.y)+parseInt(_2af.height))){ list[list.length]=_2b1[i]; } } return list; }; CDEditor.prototype.resetMultipleSelectorDummy=function(){ var _2b5=this.renderer.getMultipleSelectorDummyShape(); this.renderer.sendToBack(_2b5); _2b5=this.renderer.getMultipleSelectorDummyShape(); _2b5.style.visibility="visible"; this.selected=_2b5; this.renderer.setRotation(this.selected,0); this.multipleSelectShapes.sizeMultipleSelectDummy(this.selected); Event.stopObserving(this.selected,"mousedown",this.onHitListener); this.addNewShapeListeners(this.selected); }; CDEditor.prototype.onMouseUp=function(_2b6){ if(this.mode!="select"&&this.mode!="resize"&&this.mode!="line"&&this.mode!="ortho-line"){ setHelp("Click on the shape to select it"); } this.renderer.hideTrendLines(); Event.stopObserving(this.container,"mousemove",this.onDrawListener); Event.stopObserving(this.container,"mousemove",this.onDragListener); Event.stopObserving(this.container,"mousemove",this.onPageDragListener); if(this.dragStarted){ Event.stopObserving(this.container,"mousemove",this.onDragListener); this.resetShapeText(); this.dragStarted=false; } if(this.mode=="PAGE_DRAG"){ this.mode="select"; var list=this.getContainedShapeList(this.renderer.bounds(this.renderer.getMultipleSelector())); if(list.length>1){ this.multipleSelectShapes.setSelectedShapes(list); this.resetMultipleSelectorDummy(); }else{ if(list.length==1){ this.selected=list[0]; this.renderer.hideMultipleSelectorDummyShape(); }else{ this.renderer.hideMultipleSelectorDummyShape(); this.multipleSelectShapes.reset(); } } this.renderer.hideMultipleSelector(); this.renderer.updateTracker(this.selected); }else{ this.renderer.hideMultipleSelector(); if(!this.renderer.isMultipleSelect(this.selected)){ this.renderer.hideMultipleSelectorDummyShape(); this.multipleSelectShapes.reset(); } } if(this.mode=="line"||this.mode=="curve-line"||this.resizeMode=="line-from"||this.resizeMode=="line-to"||this.mode=="ortho-line"){ if(this.active_connector!=null){ var _2b8=this.active_connector.split("--")[0]; var _2b9=this.active_connector.split("--")[1]; var _2ba=$(_2b8); if(this.resizeMode=="line-from"){ this.renderer.connectLine(_2ba,this.selected,"from",_2b9,this.active_connector); }else{ if(this.resizeMode=="line-to"){ this.renderer.connectLine(_2ba,this.selected,"to",_2b9,this.active_connector); } } if(this.mode=="line"||this.mode=="ortho-line"||this.mode=="curve-line"){ if(this.active_connector!=this.new_line_connector){ this.renderer.connectLine(_2ba,this.selected,"to",_2b9,this.active_connector); } } } this.lineActiveShape=null; this.clearShapeText(); this.resetShapeText(); this.renderer.updateTracker(this.selected); } if(this.mode=="text"&&this.textToolBeginNew){ this.beginTextToolEdit(this.selected); this.textToolBeginNew=false; }else{ if(this.mode=="text"&&!this.textToolBeginNew){ setHelp("<font color='red'>Text Mode:</font>Click again to draw another text shape"); } } if(this.mode=="resize"){ this.clearShapeText(); this.resetShapeText(); this.setMode(this.prevMode); this.resizeMode=""; if(this.selected==DWFShape){ adjustDWFImage(DWFShape); } } if(this.mode!="select"&&this.mode!="line"&&this.mode!="ortho-line"&&this.mode!="text"&&this.mode!="curve-line"){ this.setMode("select"); }else{ this.setMode(this.mode); } }; CDEditor.prototype.beginTextToolEdit=function(_2bb){ this.renderer.setStrokeWidth(_2bb,"0px"); this.renderer.setOpacity(_2bb,"0.0"); this.startTextEdit(_2bb); }; CDEditor.prototype.onDrag=function(_2bc){ if(!this.selected){ Event.stopObserving(this.container,"mousemove",this.onDragListener); } var _2bd=Position.cumulativeOffset(this.container); var _2be=Event.pointerX(_2bc)-_2bd[0]; var _2bf=Event.pointerY(_2bc)-_2bd[1]; var _2c0=(this.GRID_SIZE*this.zoom).toFixed(10); var _2c1=(this.GRID_SIZE*this.zoom).toFixed(10); if(this.SHIFT_MODE){ _2c0=_2c1=1; } var _2c2=_2be-this.mouseDownX; var _2c3=_2bf-this.mouseDownY; if(_2c2==0&&_2c3==0){ return; } var _2c4=this.multipleSelectShapes.getShapes(); _2c4[_2c4.length]=this.selected; var _2c5=this.renderer.isMultipleSelect(this.selected); var _2c6=null; if(!this.dragStarted==true){ this.dragStarted=true; this.clearShapeText(); } for(var i=0;i<_2c4.length;i++){ if(!_2c5||_2c4[i].id==this.renderer.MULTIPLE_SELECTOR_DUMMY_ID){ _2c6=this.selectedBounds; }else{ _2c6=this.multipleSelectShapes.getSelectedBounds(_2c4[i].id); } if(this.renderer.isConnector(_2c4[i])){ if(!_2c5){ this.renderer.disconnectLineFromShape(_2c4[i],"to"); this.renderer.disconnectLineFromShape(_2c4[i],"from"); }else{ var _2c8=this.renderer.getConnectionShape(_2c4[i],true); var _2c9=this.renderer.getConnectionShape(_2c4[i],false); if(!this.multipleSelectShapes.containsById(_2c8.shapeid)){ this.renderer.disconnectLineFromShape(_2c4[i],"from"); } if(!this.multipleSelectShapes.containsById(_2c9.shapeid)){ this.renderer.disconnectLineFromShape(_2c4[i],"to"); } } this.renderer.moveCompleteLine(_2c4[i],_2c6,_2c2,_2c3); }else{ var _2ca=0; var _2cb=0; if(_2c5){ _2ca=(_2c6.x*1)+_2c2; _2cb=(_2c6.y*1)+_2c3; }else{ _2ca=(Math.round(((_2c6.x*1)+_2c2)/_2c0)*_2c0).toFixed(10); _2cb=(Math.round(((_2c6.y*1)+_2c3)/_2c1)*_2c1).toFixed(10); if(!this.SHIFT_MODE){ setHelp("To override snap to grid during drag, press the shift key"); } } this.renderer.move(_2c4[i],_2ca,_2cb); this.renderer.moveLineWithShape(_2c4[i]); this.updateTrendLines(_2c4[i]); } } this.renderer.updateTracker(this.selected); this.updateShapeInfo(this.selected); }; CDEditor.prototype.updateTrendLines=function(_2cc,_2cd){ if(this.trendLineEnabled){ if(this.renderer.isMultipleSelect(this.selected)){ return; } var bbox=this.renderer.getBoundingBox(_2cc); this.renderer.drawTrendLine(_2cc,bbox); } this.showDimensions(_2cc); }; CDEditor.prototype.hideDimensions=function(_2cf){ var _2d0=$(this.renderer.DIMENSION_WIDTH_ID); var _2d1=$(this.renderer.DIMENSION_HEIGHT_ID); if(_2d0){ _2d0.style.visibility="hidden"; } if(_2d1){ _2d1.style.visibility="hidden"; } }; CDEditor.prototype.showDimensions=function(_2d2){ if(!_2d2){ return; } if(this.renderer.isMultipleSelect(this.selected)){ return; } if(this.renderer.isConnector(_2d2)){ return; } var rect=this.renderer.trueBounds(_2d2); var _2d4=this.conversionFactor; var _2d5=((rect["width"]*_2d4*(1/this.zoom))*this.scale).toFixed(2)+" "+this.unit; var _2d6=((rect["height"]*_2d4*(1/this.zoom))*this.scale).toFixed(2)+" "+this.unit; var _2d7=$(this.renderer.DIMENSION_WIDTH_ID); var _2d8=$(this.renderer.DIMENSION_HEIGHT_ID); var _2d9=(((rect["x"]*1)+(rect["width"]*1)/2))-30; var _2da=rect["y"]-25; var obj=this.renderer.getRotatedPoint(_2d9,_2da,rect); _2d7.style.marginLeft=obj.x; _2d7.style.marginTop=obj.y; _2d7.innerHTML=_2d5; _2d7.style.visibility="visible"; var _2dc=rect["x"]-70; var _2dd=(((rect["y"]*1)+(rect["height"]*1)/2))-10; obj=this.renderer.getRotatedPoint(_2dc,_2dd,rect); _2d8.style.marginLeft=obj.x; _2d8.style.marginTop=obj.y; _2d8.innerHTML=_2d6; _2d8.style.visibility="visible"; }; CDEditor.prototype.fineMove=function(left,_2df,up,down){ if(this.selected){ var _2e2=this.multipleSelectShapes.getShapes(); _2e2[_2e2.length]=this.selected; for(var i=0;i<_2e2.length;i++){ var _2e4=_2df-left; var _2e5=down-up; if(this.renderer.isConnector(_2e2[i])){ if(!this.renderer.isMultipleSelect(this.selected)){ this.renderer.disconnectLineFromShape(_2e2[i],"to"); this.renderer.disconnectLineFromShape(_2e2[i],"from"); }else{ var _2e6=this.renderer.getConnectionShape(_2e2[i],true); var _2e7=this.renderer.getConnectionShape(_2e2[i],false); if(!this.multipleSelectShapes.containsById(_2e6.shapeid)){ this.renderer.disconnectLineFromShape(_2e2[i],"from"); } if(!this.multipleSelectShapes.containsById(_2e7.shapeid)){ this.renderer.disconnectLineFromShape(_2e2[i],"to"); } } var _2e8=this.renderer.bounds(_2e2[i]); this.renderer.moveCompleteLine(_2e2[i],_2e8,_2e4,_2e5); }else{ if(_2e5==0){ this.renderer.fineMove(_2e2[i],_2e4,true); }else{ this.renderer.fineMove(_2e2[i],_2e5,false); } this.renderer.moveLineWithShape(_2e2[i]); } } this.renderer.updateTracker(this.selected); }else{ setHelp("Select a shape for Fine move"); } }; CDEditor.prototype.onDraw=function(_2e9){ if(this.selected==null){ return; } var _2ea=Position.cumulativeOffset(this.container); var _2eb=Event.pointerX(_2e9)-_2ea[0]; var _2ec=Event.pointerY(_2e9)-_2ea[1]; var _2ed=this.GRID_SIZE*this.zoom; var _2ee=this.GRID_SIZE*this.zoom; if(this.SHIFT_MODE){ _2ed=_2ee=1; } var _2ef=Math.round((_2eb)/(_2ed))*(_2ed); var _2f0=Math.round((_2ec)/(_2ee))*(_2ee); this.mouseDownX=Math.round((this.mouseDownX)/(_2ed))*(_2ed); this.mouseDownY=Math.round((this.mouseDownY)/(_2ee))*(_2ee); if(this.mode!="resize"&&this.mode!="select"){ return this.resizeNewShape(_2ef,_2f0,_2eb,_2ec); } if(this.mode=="resize"||this.mode=="select"){ this.resizeCounter++; if(this.resizeCounter!=1){ return; } this.resizeCounter=0; var _2f1=this.multipleSelectShapes.getShapes(); _2f1[_2f1.length]=this.selected; var _2f2=this.renderer.isMultipleSelect(this.selected); for(var i=0;i<_2f1.length;i++){ var _2f4=_2f1[i]; var _2f5=0; var _2f6=0; if(!_2f2||this.renderer.isMultipleSelect(_2f1[i])){ _2f6=this.prevWidth; _2f5=this.prevHeight; }else{ var _2f7=this.multipleSelectShapes.getSelectedBounds(_2f4.id); _2f6=_2f7.width; _2f5=_2f7.height; } _2f6=Math.round((_2f6)/(_2ed))*(_2ed); _2f5=Math.round((_2f5)/(_2ee))*(_2ee); if(this.resizeMode=="move-handle"){ var sx=(_2ef*1)+this.container.parentNode.scrollLeft; var sy=(_2f0*1)+this.container.parentNode.scrollTop; this.renderer.updateShapeHandle(_2f4,this.handleIndex,this.prevHandleX,this.prevHandleY,this.mouseDownX,this.mouseDownY,_2ef,_2f0); this.renderer.moveLine(_2f4,sx,sy,true); } if(this.resizeMode=="line-from"){ var sx=(_2eb*1)+this.container.parentNode.scrollLeft; var sy=(_2ec*1)+this.container.parentNode.scrollTop; this.renderer.disconnectLineFromShape(this.selected,"from"); this.renderer.moveLine(_2f4,sx,sy,true); }else{ if(this.resizeMode=="line-to"){ var sx=(_2eb*1)+this.container.parentNode.scrollLeft; var sy=(_2ec*1)+this.container.parentNode.scrollTop; this.renderer.disconnectLineFromShape(_2f4,"to"); this.renderer.moveLine(_2f4,sx,sy,false); }else{ if(this.resizeMode=="control1"){ var sx=(_2eb*1)+this.container.parentNode.scrollLeft; var sy=(_2ec*1)+this.container.parentNode.scrollTop; this.renderer.setControl1(_2f4,sx,sy); }else{ if(this.resizeMode=="control2"){ var sx=(_2eb*1)+this.container.parentNode.scrollLeft; var sy=(_2ec*1)+this.container.parentNode.scrollTop; this.renderer.setControl2(_2f4,sx,sy); }else{ if(this.renderer.isConnector(_2f4)){ continue; } } } } } if(this.resizeMode=="right-stretch"||this.resizeMode=="top-right-stretch"||this.resizeMode=="bottom-right-stretch"){ if(_2f2&&!this.renderer.isMultipleSelect(_2f4)){ var _2fa=this.renderer.trueBounds(this.selected); if(_2fa.width>1){ var _2fb=this.multipleSelectShapes.getPropotionalBoundsWidth(_2fa,_2f4.id,this.prevWidth,false); if(_2fb.width>1){ this.renderer.setWidth(_2f4,_2fb.width); } this.renderer.setX(_2f4,_2fb.x); this.renderer.updateRotation(_2f4); } }else{ this.renderer.resizeWidth(_2f4,_2ef,_2f0,this.mouseDownX,this.mouseDownY,_2f6,true); this.updateTrendLines(_2f4,true); } this.renderer.moveLineWithShape(_2f4); } if(this.resizeMode=="left-stretch"||this.resizeMode=="bottom-left-stretch"||this.resizeMode=="top-left-stretch"){ if(_2f2&&!this.renderer.isMultipleSelect(_2f4)){ var _2fa=this.renderer.trueBounds(this.selected); if(_2fa.width>1){ var _2fb=this.multipleSelectShapes.getPropotionalBoundsWidth(_2fa,_2f4.id,this.prevWidth,true); this.renderer.setX(_2f4,_2fb.x); if(_2fb.width>1){ this.renderer.setWidth(_2f4,_2fb.width); } this.renderer.updateRotation(_2f4); } }else{ this.renderer.resizeWidth(_2f4,_2ef,_2f0,this.mouseDownX,this.mouseDownY,_2f6,false); this.updateTrendLines(_2f4,true); } this.renderer.moveLineWithShape(_2f4); } if(this.resizeMode=="bottom-stretch"||this.resizeMode=="bottom-left-stretch"||this.resizeMode=="bottom-right-stretch"){ if(_2f2&&!this.renderer.isMultipleSelect(_2f4)){ var _2fa=this.renderer.trueBounds(this.selected); if(_2fa.height>1){ var _2fb=this.multipleSelectShapes.getPropotionalBoundsHeight(_2fa,_2f4.id,this.prevHeight,false); if(_2fb.height>1){ this.renderer.setHeight(_2f4,_2fb.height); } this.renderer.setY(_2f4,_2fb.y); this.renderer.updateRotation(_2f4); } }else{ this.renderer.resizeHeight(_2f4,_2ef,_2f0,this.mouseDownX,this.mouseDownY,_2f5,true); this.updateTrendLines(_2f4,true); } this.renderer.moveLineWithShape(_2f4); } if(this.resizeMode=="top-stretch"||this.resizeMode=="top-left-stretch"||this.resizeMode=="top-right-stretch"){ if(_2f2&&!this.renderer.isMultipleSelect(_2f4)){ var _2fa=this.renderer.trueBounds(this.selected); if(_2fa.height>1){ var _2fb=this.multipleSelectShapes.getPropotionalBoundsHeight(_2fa,_2f4.id,this.prevHeight,true); if(_2fb.height>1){ this.renderer.setHeight(_2f4,_2fb.height); } this.renderer.setY(_2f4,_2fb.y); this.renderer.updateRotation(_2f4); } }else{ this.renderer.resizeHeight(_2f4,_2ef,_2f0,this.mouseDownX,this.mouseDownY,_2f5,false); this.updateTrendLines(_2f4,true); } this.renderer.moveLineWithShape(_2f4); }else{ if(this.resizeMode=="rotate"){ var _2fc=(this.mouseDownX*1)+this.container.parentNode.scrollLeft; var _2fd=(this.mouseDownY*1)+this.container.parentNode.scrollTop; var sx=(_2eb*1)+this.container.parentNode.scrollLeft; var sy=(_2ec*1)+this.container.parentNode.scrollTop; if(_2f2&&!this.renderer.isMultipleSelect(_2f4)){ var _2fa=this.renderer.bounds(this.selected); var _2fe=this.getRotationAngle(this.selected,sx,sy,_2fc,_2fd); _2fe=_2fe-this.prevRotation; var _2ff=this.multipleSelectShapes.getPropotionalBoundsRotation(_2fa,_2f4.id,_2fe); var _2f7=this.multipleSelectShapes.getSelectedBounds(_2f4.id); this.renderer.rotate(_2f4,(_2f7.rotation*1)+Math.round(_2fe)); this.renderer.setX(_2f4,_2ff.x); this.renderer.setY(_2f4,_2ff.y); this.renderer.updateRotation(_2f4); }else{ this.processRotate(_2f4,sx,sy,_2fc,_2fd); this.updateTrendLines(_2f4); } this.renderer.moveLineWithShape(_2f4); } } } this.renderer.updateTracker(this.selected); this.updateShapeInfo(this.selected); } return false; }; CDEditor.prototype.resizeNewShape=function(_300,_301,_302,_303){ var _304=(this.mouseDownX*1)+this.container.parentNode.scrollLeft; var _305=(this.mouseDownY*1)+this.container.parentNode.scrollTop; var _306=this.renderer.isConnector(this.selected); if(_306){ _300=_302; _301=_303; } var sx=(_300*1)+this.container.parentNode.scrollLeft; var sy=(_301*1)+this.container.parentNode.scrollTop; var _309=this.renderer.trueBounds(this.selected); this.renderer.resize(this.selected,_309.x,_309.y,sx,sy); this.updateShapeInfo(this.selected,_309); if(this.renderer.isConnector(this.selected)){ } return; }; CDEditor.prototype.onPageDrag=function(_30a){ if(this.mode!="PAGE_DRAG"){ return; } var _30b=Position.cumulativeOffset(this.container); var _30c=Math.round((Event.pointerX(_30a)-_30b[0])/this.gridX)*this.gridX; var _30d=Math.round((Event.pointerY(_30a)-_30b[1])/this.gridY)*this.gridY; var _30e=(this.mouseDownX*1)+this.container.parentNode.scrollLeft; var _30f=(this.mouseDownY*1)+this.container.parentNode.scrollTop; var sx=(_30c*1)+this.container.parentNode.scrollLeft; var sy=(_30d*1)+this.container.parentNode.scrollTop; var _312=this.renderer.getMultipleSelector(); _312.style.visibility="visible"; this.renderer.resize(_312,_30e,_30f,sx,sy); }; CDEditor.prototype.fineRotateSelection=function(_313){ if(this.selected==null){ setHelp("Please select a shape to rotate"); return false; } if(this.renderer.isMultipleSelect(this.selected)){ return; } var _314=this.selected; this.renderer.fineRotateSelection(_314,_313); this.renderer.moveLineWithShape(_314); this.renderer.updateTracker(this.selected); this.selectedBounds=this.renderer.trueBounds(this.selected); }; CDEditor.prototype.processRotate=function(_315,_316,_317,_318,_319){ var grid=this.GRID_ROTATE; if(this.SHIFT_MODE){ grid=1; } var _31b=this.getRotationAngle(_315,_316,_317,_318,_319); _31b=Math.round(_31b/grid)*grid; this.renderer.rotate(_315,_31b); if(!this.SHIFT_MODE){ setHelp("To override rotational grid, press Shift key during rotate"); } }; CDEditor.prototype.getRotationAngle=function(_31c,_31d,_31e,_31f,_320){ var rect=this.renderer.bounds(_31c); var _322=(rect["x"]*1)+(rect["width"]/2); var _323=(rect["y"]*1)+(rect["height"]/2); var _324=_31d-_322; var _325=_31e-_323; var _326=(_324*0)+(_325*(-10)); var _327=(10)*Math.sqrt(Math.pow(_324,2)+Math.pow(_325,2)); var _328=_326/_327; _328=Math.acos(_328); _328=rad2Deg(_328); if(_324<=0){ _328=360-_328; } return _328; }; CDEditor.prototype.onHit=function(_329){ if(this.textEditMode){ return; } if(this.mode=="select"){ if(!this.SHIFT_MODE&&!this.renderer.isMultipleSelect(this.selected)){ this.unselect(); } var _32a=Event.element(_329); var _32b=this.renderer.getShapeFromEventSource(_32a); if(!this.selected){ this.select(_32b); this.selected=_32b; this.renderer.updateTracker(this.selected); this.multipleSelectShapes.reset(); this.renderer.hideMultipleSelectorDummyShape(); }else{ if(!this.renderer.isMultipleSelect(_32b)&&this.SHIFT_MODE){ if(this.renderer.isMultipleSelect(this.selected)){ if(this.multipleSelectShapes.contains(_32b)){ this.multipleSelectShapes.removeShape(_32b); setHelp("<font color='red'>Shape removed from multiple selector</font>"); }else{ this.multipleSelectShapes.addShape(_32b,this.renderer.getBoundingBox(_32b)); setHelp("<font color='red'>New Shape added to multiple selector</font>"); } }else{ this.multipleSelectShapes.addShape(this.selected,this.renderer.getBoundingBox(this.selected)); this.multipleSelectShapes.addShape(_32b,this.renderer.getBoundingBox(_32b)); setHelp("<font color='red'>New Shape added to multiple selector</font>"); } var _32c=this.multipleSelectShapes.getShapes(); if(_32c.length>1){ this.multipleSelectShapes.reset(); this.multipleSelectShapes.setSelectedShapes(_32c); this.resetMultipleSelectorDummy(); }else{ if(_32c.length==1){ this.select(_32c[0]); this.multipleSelectShapes.reset(); this.renderer.hideMultipleSelectorDummyShape(); } } this.select(this.selected); this.renderer.updateTracker(this.selected); } } this.selectedBounds=this.renderer.trueBounds(this.selected); if(this.renderer.isMultipleSelect(this.selected)){ } var _32d=Position.cumulativeOffset(this.container); var _32e=this.GRID_SIZE*this.zoom; var _32f=this.GRID_SIZE*this.zoom; this.mouseDownX=Math.round((Event.pointerX(_329)-_32d[0])/_32e)*_32e; this.mouseDownY=Math.round((Event.pointerY(_329)-_32d[1])/_32f)*_32f; Event.observe(this.container,"mousemove",this.onDragListener); } }; CDEditor.prototype.createNewImage=function(url,x,y,_333,_334){ this.unselect(); this.multipleSelectShapes.reset(); this.renderer.hideMultipleSelectorDummyShape(); var _335=Position.cumulativeOffset(this.container.parentNode); var _336=Math.round((x-_335[0])); var _337=Math.round((y-_335[1])); var _338=_336+this.container.parentNode.scrollLeft; var _339=_337+this.container.parentNode.scrollTop; _338=(_338-_333/2)-20; _339=(_339-_334/2)-20; var _33a=this.renderer.createImage(url,_338,_339,_333,_334); _33a.setAttribute("id","shape:"+createUUID()); this.addNewShapeListeners(_33a); this.select(_33a); this.selectedBounds=this.renderer.trueBounds(_33a); this.mouseDownX=_336; this.mouseDownY=_337; Event.stopObserving(this.container,"mousemove",this.onDragListener); Event.stopObserving(this.container,"mousemove",this.onDragListener); Event.observe(this.container,"mousemove",this.onDragListener); Event.observe(this.container,"mousemove",this.onDragListener); }; CDEditor.prototype.createNewFreewheel=function(url,x,y,_33e,_33f,_340){ this.unselect(); this.multipleSelectShapes.reset(); this.renderer.hideMultipleSelectorDummyShape(); var _341=Position.cumulativeOffset(this.container.parentNode); var _342=Math.round((x-_341[0])); var _343=Math.round((y-_341[1])); var _344=_342+this.container.parentNode.scrollLeft; var _345=_343+this.container.parentNode.scrollTop; _344=(_344-_33e/2)-20; _345=(_345-_33f/2)-20; if(url.indexOf("path=")==-1){ url="&path="+encodeURIComponent(url); }else{ url="&"+url.replace("?",""); } var _346=this.renderer.createImage("",_344,_345,_33e,_33f); _346.setAttribute("id","shape:"+createUUID()); if(_340){ _340["path"]=url; setPropertyForDWFImage(_346,_340); }else{ setPropertyForDWFImage(_346,{path:url}); } this.addNewShapeListeners(_346); this.select(_346); this.selectedBounds=this.renderer.trueBounds(_346); this.mouseDownX=_342; this.mouseDownY=_343; Event.stopObserving(this.container,"mousemove",this.onDragListener); Event.stopObserving(this.container,"mousemove",this.onDragListener); Event.observe(this.container,"mousemove",this.onDragListener); Event.observe(this.container,"mousemove",this.onDragListener); adjustDWFImage(_346); }; CDEditor.prototype.createNewShape=function(id,x,y,_34a,_34b,_34c,_34d){ this.unselect(); this.multipleSelectShapes.reset(); this.renderer.hideMultipleSelectorDummyShape(); var _34e=Position.cumulativeOffset(this.container); var _34f=this.GRID_SIZE*this.zoom; var _350=this.GRID_SIZE*this.zoom; var _351=Math.round((x-_34e[0])/_34f)*_34f; var _352=Math.round((y-_34e[1])/_350)*_350; var _353=_351+this.container.parentNode.scrollLeft; var _354=_352+this.container.parentNode.scrollTop; _353=_353-_34a/2; _354=_354-_34b/2; _353=Math.round((_353)/(_34f))*(_34f); _354=Math.round((_354)/(_350))*(_350); var _355=this.renderer.create(id,0,0,0,_353,_354,_34a,_34b,1,true,_34d); _355.setAttribute("id","shape:"+createUUID()); this.addNewShapeListeners(_355); this.select(_355); this.selectedBounds=this.renderer.trueBounds(_355); if(_34c){ this.mouseDownX=_351; this.mouseDownY=_352; Event.stopObserving(this.container,"mousemove",this.onDragListener); Event.observe(this.container,"mousemove",this.onDragListener); } }; CDEditor.prototype.endCreateNewShape=function(){ Event.stopObserving(this.container,"mousemove",this.onDragListener); }; CDEditor.prototype.updateShapeInfo=function(_356,_357){ this.shapeProps.FWLButton.style.display="none"; this.shapeProps.FWLTransparent.style.display="none"; this.shapeProps.FWLBackground.style.display="none"; if(this.renderer.isMultipleSelect(_356)){ return; } var rect=new Object(); if(_356==null){ rect["width"]=splitUnits(this.width)[0]; rect["height"]=splitUnits(this.height)[0]; this.pageProps.width.value=rect["width"]; this.pageProps.height.value=rect["height"]; setPropertiesVisible(this.pageProps.table); }else{ if(_357){ rect=_357; }else{ rect=this.renderer.trueBounds(_356); } if(!this.renderer.isConnector(_356)){ var _359=this.conversionFactor; rect["x"]=(rect["x"]*_359*(1/this.zoom))*this.scale; rect["y"]=(rect["y"]*_359*(1/this.zoom))*this.scale; rect["width"]=(rect["width"]*_359*(1/this.zoom))*this.scale; rect["height"]=(rect["height"]*_359*(1/this.zoom))*this.scale; this.shapeProps.width.value=(rect["width"]).toFixed(2); this.shapeProps.height.value=(rect["height"]).toFixed(2); this.shapeProps.x.value=(rect["x"]).toFixed(2); this.shapeProps.y.value=(rect["y"]).toFixed(2); this.shapeProps.rotation.value=rect["rotation"]; setPropertiesVisible(this.shapeProps.table); if(DWFShape&&isDWF2D(DWFShape)){ this.shapeProps.FWLButton.style.display=""; this.shapeProps.FWLTransparent.style.display=""; this.shapeProps.FWLBackground.style.display=""; } }else{ var _359=this.conversionFactor; rect["x"]=(rect["x"]*_359*(1/this.zoom))*this.scale; rect["y"]=(rect["y"]*_359*(1/this.zoom))*this.scale; rect["x2"]=(rect["x2"]*_359*(1/this.zoom))*this.scale; rect["y2"]=(rect["y2"]*_359*(1/this.zoom))*this.scale; this.lineProps.x1.innerHTML=rect["x"].toFixed(2); this.lineProps.x2.innerHTML=rect["x2"].toFixed(2); this.lineProps.y1.innerHTML=rect["y"].toFixed(2); this.lineProps.y2.innerHTML=rect["y2"].toFixed(2); this.lineProps.type.innerHTML=rect["type"]; setPropertiesVisible(this.lineProps.table); } } if(DWFShape){ $("_transparent").selectedIndex=0; $("DWFColor").style.background="#000000"; $("_dwfbackcolor").value="#000000"; var obj=getPropertyForDWFImage(DWFShape); if(obj){ if(obj.bg&&obj.bg.length==8){ var _35b=obj.bg.toUpperCase(); var _35c=_35b.substring(0,1); if(_35c=="0"||_35c=="1"||_35c=="2"){ $("_transparent").selectedIndex=5; }else{ if(_35c=="3"||_35c=="4"||_35c=="5"){ $("_transparent").selectedIndex=4; }else{ if(_35c=="6"||_35c=="7"||_35c=="8"){ $("_transparent").selectedIndex=3; }else{ if(_35c=="9"||_35c=="A"||_35c=="B"){ $("_transparent").selectedIndex=2; }else{ if(_35c=="C"||_35c=="D"||_35c=="E"){ $("_transparent").selectedIndex=1; }else{ if(_35c=="F"){ $("_transparent").selectedIndex=0; } } } } } } _35b="#"+_35b.substring(2); $("DWFColor").style.background=_35b; $("_dwfbackcolor").value=_35b; } } } }; CDEditor.prototype.appendPageAttribute=function(div,_35e){ this.renderer.appendPageAttribute(div,_35e); }; CDEditor.prototype.getRealData=function(){ return this.renderer.getRealData(); }; CDEditor.prototype.getValidDocumentFromResponse=function(_35f){ return this.renderer.getValidDocumentFromResponse(_35f); }; CDEditor.prototype.loadPalette=function(id){ var _361=this.renderer.loadXML("shapes/palettes/"+id+".xml"); return _361.getElementsByTagName("palette")[0]; }; CDEditor.prototype.updateConversionFactor=function(){ this.conversionFactor=1/this.DPI; if(this.unit=="mm"){ this.conversionFactor=this.conversionFactor*25.4; } }; CDEditor.prototype.updateShape=function(_362,_363,x,y,_366){ if(this.selected&&!this.renderer.isMultipleSelect(this.selected)){ var rect=this.selected; var _368=1/this.conversionFactor; _362=((_362*_368*(this.zoom/1)))/this.scale; _363=((_363*_368*(this.zoom/1)))/this.scale; x=((x*_368*(this.zoom/1)))/this.scale; y=((y*_368*(this.zoom/1)))/this.scale; this.renderer.setWidth(this.selected,_362); this.renderer.setHeight(this.selected,_363); this.renderer.setX(this.selected,x); this.renderer.setY(this.selected,y); this.renderer.setRotation(this.selected,_366); this.renderer.updateTracker(this.selected); this.renderer.moveLineWithShape(this.selected); this.clearShapeText(this.selected); this.resetShapeText(this.selected); adjustDWFImage(this.selected); }else{ setHelp("Please select a single shape to update"); } }; CDEditor.prototype.align=function(_369){ if(!this.renderer.isMultipleSelect(this.selected)){ setHelp("Please select multiple shapes to align"); return; } var _36a=this.multipleSelectShapes.getShapes(); var _36b=_36a[0]; var _36c=this.renderer.getBoundingBox(_36b); for(var i=1;i<_36a.length;i++){ if(this.renderer.isConnector(_36a[i])){ continue; } var _36e=this.renderer.getBoundingBox(_36a[i]); if(_369=="LEFT"){ this.alignLeft(_36a[i],_36e,_36c); }else{ if(_369=="TOP"){ this.alignTop(_36a[i],_36e,_36c); }else{ if(_369=="RIGHT"){ this.alignRight(_36a[i],_36e,_36c); }else{ if(_369=="BOTTOM"){ this.alignBottom(_36a[i],_36e,_36c); }else{ if(_369=="HORIZONTAL_CENTER"){ this.alignHorizontalCenter(_36a[i],_36e,_36c); }else{ if(_369=="VERTICAL_CENTER"){ this.alignVerticalCenter(_36a[i],_36e,_36c); } } } } } } this.renderer.updateRotation(_36a[i]); this.renderer.moveLineWithShape(_36a[i]); this.clearShapeText(_36a[i]); this.resetShapeText(_36a[i]); } this.renderer.updateTracker(this.selected); this.updateShapeInfo(this.selected); }; CDEditor.prototype.alignLeft=function(_36f,_370,_371){ var _372=(_370.x*1)+(_371.x-_370.x); this.renderer.setX(_36f,_372); }; CDEditor.prototype.alignTop=function(_373,_374,_375){ var _376=(_374.y*1)+(_375.y-_374.y); this.renderer.setY(_373,_376); }; CDEditor.prototype.alignRight=function(_377,_378,_379){ var _37a=(_378.x*1)+((_379.x*1)+(_379.width*1)-(_378.x*1)-(_378.width*1)); this.renderer.setX(_377,_37a); }; CDEditor.prototype.alignBottom=function(_37b,_37c,_37d){ var _37e=(_37c.y*1)+((_37d.y*1)+(_37d.height*1)-(_37c.y*1)-(_37c.height*1)); this.renderer.setY(_37b,_37e); }; CDEditor.prototype.alignVerticalCenter=function(_37f,_380,_381){ var _382=(_380.y*1)+((_381.y*1)+(_381.height/2)-(_380.y*1)-(_380.height/2)); this.renderer.setY(_37f,_382); }; CDEditor.prototype.alignHorizontalCenter=function(_383,_384,_385){ var _386=(_384.x*1)+((_385.x*1)+(_385.width/2)-(_384.x*1)-(_384.width/2)); this.renderer.setX(_383,_386); }; CDEditor.prototype.clearSystemShapes=function(){ this.unselect(); this.renderer.remove($(this.renderer.ACTIVE_SHAPE_TRACKER_ID)); this.renderer.remove($(this.renderer.TRACKER_GROUP_ID)); this.renderer.remove($(this.renderer.LINE_TRACKER_GROUP_ID)); this.renderer.remove($(this.renderer.MULTIPLE_SELECTOR_DUMMY_ID)); this.renderer.remove($(this.renderer.MULTIPLE_SELECTOR_TRACKER_ID)); this.renderer.remove($(this.renderer.TREND_LINE_ID)); }; function rad2Deg(_387){ return _387*(180/Math.PI); } function createUUID(){ return [4,2,2,2,6].map(function(_388){ var _389=""; for(var i=0;i<_388;i++){ var _38b=parseInt((Math.random()*256)).toString(16); if(_38b.length==1){ _38b="0"+_38b; } _389+=_38b; } return _389; }).join("-"); } function AbstractRenderer(){ this.VML_SVG_NAMESPACE="VML_SVG"; this.SVG_ROOT_ID="SVG_ROOT"; this.TRACKER_COLOR="rgb(99,175,218)"; this.multipleSelector=null; this.MULTIPLE_SELECTOR_TRACKER_ID="multiple-select-tracker"; this.MULTIPLE_SELECTOR_TRACKER_SHAPE_ID="multiple-select-tracker-shape"; this.MULTIPLE_SELECTOR_DUMMY_ID="multiple-select-dummy"; this.MULTIPLE_SELECTOR_DUMMY_SHAPE_ID="multiple-select-dummy-shape"; this.TEXT_TEMPLATE_PREFIX="text:template"; this.TRACKER_GROUP_ID="tracker-group"; this.LINE_TRACKER_GROUP_ID="line-tracker-group"; this.LINE_TRACKER_ID="line-tracker"; this.ACTIVE_SHAPE_TRACKER_ID="active-shape-tracker"; this.TREND_LINE_ID="trend-line"; this.CONNECTION_POINTS="connectors"; this.IMAGE_TEMPLATE="image"; this.MAX_WIDTH=2000; this.MAX_HEIGHT=2000; this.DIMENSION_WIDTH_ID="dimension-width"; this.DIMENSION_HEIGHT_ID="dimension-height"; } AbstractRenderer.prototype.init=function(elem){ }; AbstractRenderer.prototype.bounds=function(_38d){ return {x:0,y:0,width:0,height:0}; }; AbstractRenderer.prototype.create=function(_38e,_38f,_390,_391,left,top,_394,_395,_396,_397){ }; AbstractRenderer.prototype.createImage=function(_398,left,top,_39b,_39c){ }; AbstractRenderer.prototype.remove=function(_39d){ }; AbstractRenderer.prototype.move=function(_39e,left,top){ }; AbstractRenderer.prototype.fineMove=function(_3a1,move,_3a3){ }; AbstractRenderer.prototype.getShapeFromEventSource=function(_3a4){ }; AbstractRenderer.prototype.getConnectorFromX=function(_3a5){ }; AbstractRenderer.prototype.getConnectorFromY=function(_3a6){ }; AbstractRenderer.prototype.getConnectorToX=function(_3a7){ }; AbstractRenderer.prototype.getConnectorToY=function(_3a8){ }; AbstractRenderer.prototype.setWidth=function(_3a9,_3aa){ }; AbstractRenderer.prototype.setHeight=function(_3ab,_3ac){ }; AbstractRenderer.prototype.setX=function(_3ad,left){ }; AbstractRenderer.prototype.setY=function(_3af,top){ }; AbstractRenderer.prototype.getAllShapes=function(doc){ }; AbstractRenderer.prototype.getAllConnectors=function(doc){ }; AbstractRenderer.prototype.resize=function(_3b3,_3b4,_3b5,toX,toY){ }; AbstractRenderer.prototype.editCommand=function(_3b8,cmd,_3ba){ }; AbstractRenderer.prototype.queryCommand=function(_3bb,cmd){ }; AbstractRenderer.prototype.showTracker=function(_3bd){ }; AbstractRenderer.prototype.updateTracker=function(_3be){ }; AbstractRenderer.prototype.getMarkup=function(){ return null; }; AbstractRenderer.prototype.fineRotateSelection=function(_3bf,_3c0){ }; AbstractRenderer.prototype.rotate=function(_3c1,_3c2){ }; AbstractRenderer.prototype.setCursor=function(_3c3,_3c4){ }; AbstractRenderer.prototype.setFillColor=function(_3c5,_3c6){ }; AbstractRenderer.prototype.setShapeText=function(_3c7,text,font,_3ca,zoom){ }; AbstractRenderer.prototype.getShapeText=function(_3cc){ }; AbstractRenderer.prototype.clearShapeText=function(_3cd){ }; AbstractRenderer.prototype.sendToBack=function(_3ce){ }; AbstractRenderer.prototype.bringToFront=function(_3cf){ }; AbstractRenderer.prototype.updateZIndex=function(_3d0){ }; AbstractRenderer.prototype.setLineStyle=function(_3d1,_3d2){ }; AbstractRenderer.prototype.getLineStyle=function(_3d3){ }; AbstractRenderer.prototype.setStrokeWidth=function(_3d4,_3d5){ }; AbstractRenderer.prototype.getStrokeWidth=function(_3d6){ }; AbstractRenderer.prototype.isConnector=function(_3d7){ }; AbstractRenderer.prototype.createLine=function(mode,_3d9,_3da,left,top,_3dd,_3de){ }; AbstractRenderer.prototype.moveLine=function(line,toX,toY,_3e2){ }; AbstractRenderer.prototype.moveLinePoint=function(line,toX,toY,_3e6){ }; AbstractRenderer.prototype.moveLineWithShape=function(_3e7){ }; AbstractRenderer.prototype.connectLine=function(_3e8,line,_3ea){ }; AbstractRenderer.prototype.savePolyLinePaths=function(){ }; AbstractRenderer.prototype.appendPageAttribute=function(div,att){ }; AbstractRenderer.prototype.getRealData=function(){ }; AbstractRenderer.prototype.updateRotation=function(_3ed){ }; AbstractRenderer.prototype.getAllSubShapes=function(_3ee){ }; AbstractRenderer.prototype.getShapeSubject=function(_3ef){ }; AbstractRenderer.prototype.appendChild=function(_3f0,_3f1){ _3f0.appendChild(_3f1); return _3f1; }; AbstractRenderer.prototype.drawTrendLine=function(_3f2,bbox,_3f4,_3f5){ }; AbstractRenderer.prototype.getMultipleSelector=function(){ this.multipleSelector=$(this.MULTIPLE_SELECTOR_TRACKER_ID); if(this.multipleSelector==null){ this.multipleSelector=this.createMultipleSelector(); } this.bringToFront(this.multipleSelector); this.multipleSelector=$(this.MULTIPLE_SELECTOR_TRACKER_ID); return this.multipleSelector; }; AbstractRenderer.prototype.hideMultipleSelector=function(){ var _3f6=$(this.MULTIPLE_SELECTOR_TRACKER_ID); if(_3f6){ _3f6.style.visibility="hidden"; } }; AbstractRenderer.prototype.hideTrackerGroup=function(){ var _3f7=$(this.TRACKER_GROUP_ID); if(_3f7){ _3f7.style.visibility="hidden"; this.hideHandles(_3f7); } }; AbstractRenderer.prototype.hideHandles=function(_3f8){ var _3f9=$A(_3f8.getElementsByTagName("rect")); if(_3f9.length>8){ for(var i=8;i<_3f9.length;i++){ if(_3f9[i].id.indexOf("tracker-handle")>=0){ _3f9[i].style.visibility="hidden"; } } } }; AbstractRenderer.prototype.clearHandles=function(_3fb){ var _3fc=$A(_3fb.getElementsByTagName("rect")); if(_3fc.length>8){ for(var i=8;i<_3fc.length;i++){ if(_3fc[i].id.indexOf("tracker-handle")>=0){ this.remove(_3fc[i]); } } } }; AbstractRenderer.prototype.hideTrendLines=function(){ var _3fe=$(this.TREND_LINE_ID); if(_3fe){ _3fe.style.visibility="hidden"; } }; AbstractRenderer.prototype.getBoundingBox=function(_3ff){ if(!_3ff){ return; } var rect=new Object(); if(this.isConnector(_3ff)){ var _401=this.bounds(_3ff); rect["x"]=Math.min(_401.x,_401.x2); rect["y"]=Math.min(_401.y,_401.y2); rect["width"]=Math.abs(_401.x-_401.x2); rect["height"]=Math.abs(_401.y-_401.y2); }else{ rect=this.bounds(_3ff); if(rect.rotation==0){ rect.x=parseInt(rect.x); rect.y=parseInt(rect.y); rect.width=parseInt(rect.width); rect.height=parseInt(rect.height); }else{ var left=this.getRotatedPoint(rect.x,rect.y,rect); var _403=this.getRotatedPoint(rect.x,(rect.y*1)+(rect.height*1),rect); var _404=this.getRotatedPoint((rect.x*1)+(rect.width*1),(rect.y*1),rect); var _405=this.getRotatedPoint((rect.x*1)+(rect.width*1),(rect.y*1)+(rect.height*1),rect); var x=Math.min(Math.min(left.x,_403.x),Math.min(_404.x,_405.x)); var y=Math.min(Math.min(left.y,_403.y),Math.min(_404.y,_405.y)); var xMax=Math.max(Math.max(left.x,_403.x),Math.max(_404.x,_405.x)); var yMax=Math.max(Math.max(left.y,_403.y),Math.max(_404.y,_405.y)); rect.x=x; rect.y=y; rect.width=xMax-x; rect.height=yMax-y; } } return rect; }; AbstractRenderer.prototype.getMultipleSelectorDummyShape=function(){ this.multipleSelectorDummyShape=$(this.MULTIPLE_SELECTOR_DUMMY_ID); if(this.multipleSelectorDummyShape==null){ this.multipleSelectorDummyShape=this.createMultipleSelectorDummyShape(); } this.multipleSelectorDummyShape=$(this.MULTIPLE_SELECTOR_DUMMY_ID); return this.multipleSelectorDummyShape; }; AbstractRenderer.prototype.hideMultipleSelectorDummyShape=function(){ var _40a=$(this.MULTIPLE_SELECTOR_DUMMY_ID); if(_40a){ _40a.style.visibility="hidden"; } }; AbstractRenderer.prototype.isMultipleSelect=function(_40b){ return (_40b&&_40b.id==this.MULTIPLE_SELECTOR_DUMMY_ID); }; AbstractRenderer.prototype.resize=function(_40c,_40d,_40e,toX,toY){ var _411=toX-_40d; var _412=toY-_40e; if(this.isConnector(_40c)){ var type=this.getConnectorType(_40c); if(type=="line"){ this.setLineTo(_40c,toX,toY); return; }else{ if(type=="ortho-line"){ this.drawOrthoLine(_40c,_40d,_40e,toX,toY); return; }else{ if(type=="curve-line"){ this.drawCurveLine(_40c,_40d,_40e,toX,toY,false); return; } } } } if(_411<0){ this.setX(_40c,toX); this.setWidth(_40c,-_411); }else{ this.setWidth(_40c,_411); } if(_412<0){ this.setY(_40c,toY); this.setHeight(_40c,-_412); }else{ this.setHeight(_40c,_412); } this.updateRotation(_40c); }; AbstractRenderer.prototype.resizeWidth=function(_414,_415,_416,_417,_418,_419,_41a){ var _41b=this.bounds(_414); var _41c=_41b.rotation; if(!_41c||_41c=="undefined"){ _41c=0; } _41c=_41c%360; var snpX=(_415*Math.cos((Math.PI/180)*(-_41c)))-(_416*Math.sin((Math.PI/180)*(-_41c))); var _41e=(_417*Math.cos((Math.PI/180)*(-_41c)))-(_418*Math.sin((Math.PI/180)*(-_41c))); distanceA=snpX-_41e; if(!_41a){ distanceA=-distanceA; } var _41f=_419; _41f=(_41f*1)+distanceA; if(_41f<1){ return false; } var obj=null; if(_41a){ obj=this.getRotatedPoint(_41b.x,_41b.y,_41b); }else{ obj=this.getRotatedPoint((_41b.x*1)+(_41b.width*1),(_41b.y*1)+(_41b.height*1),_41b); } this.setWidth(_414,_41f); var _421=this.bounds(_414); var _422=null; if(_41a){ _422=this.getRotatedPoint(_421.x,_421.y,_421); }else{ _422=this.getRotatedPoint((_421.x*1)+(_421.width*1),(_421.y*1)+(_421.height*1),_421); } var _423=Math.round(obj.x)-Math.round(_422.x); var _424=Math.round(obj.y)-Math.round(_422.y); this.setX(_414,(_421.x*1)+_423); this.setY(_414,(_421.y*1)+_424); this.updateRotation(_414); }; AbstractRenderer.prototype.hideActiveConnectionPoint=function(left,top){ var _427=$("active-shape-tracker"); if(_427){ _427.style.visibility="hidden"; } }; AbstractRenderer.prototype.resizeHeight=function(_428,_429,_42a,_42b,_42c,_42d,_42e){ var _42f=this.bounds(_428); var _430=_42f.rotation; if(!_430||_430=="undefined"){ _430=0; } _430=_430%360; var snpY=(_42a*Math.cos((Math.PI/180)*(-_430)))+(_429*Math.sin((Math.PI/180)*(-_430))); var _432=(_42c*Math.cos((Math.PI/180)*(-_430)))+(_42b*Math.sin((Math.PI/180)*(-_430))); distanceA=snpY-_432; if(!_42e){ distanceA=-distanceA; } var _433=_42d; _433=(_433*1)+distanceA; if(_433<1){ return false; } var obj=null; if(_42e){ obj=this.getRotatedPoint(_42f.x,_42f.y,_42f); }else{ obj=this.getRotatedPoint((_42f.x*1)+(_42f.width*1),(_42f.y*1)+(_42f.height*1),_42f); } this.setHeight(_428,_433); var _435=this.bounds(_428); var _436=null; if(_42e){ _436=this.getRotatedPoint(_435.x,_435.y,_435); }else{ _436=this.getRotatedPoint((_435.x*1)+(_435.width*1),(_435.y*1)+(_435.height*1),_435); } var _437=Math.round(obj.x)-Math.round(_436.x); var _438=Math.round(obj.y)-Math.round(_436.y); this.setX(_428,(_435.x*1)+_437); this.setY(_428,(_435.y*1)+_438); this.updateRotation(_428); }; AbstractRenderer.prototype.moveCompleteLine=function(_439,_43a,_43b,_43c){ if(!this.isConnector(_439)){ return; } var type=_43a.type; var _43e=(_43a.x*1)+_43b; var _43f=(_43a.y*1)+_43c; var toX=(_43a.x2*1)+_43b; var toY=(_43a.y2*1)+_43c; this.moveLine(_439,_43e,_43f,true); this.moveLine(_439,toX,toY,false); if(type=="curve-line"){ var _442=(_43a.controlX*1)+_43b; var _443=(_43a.controlY*1)+_43c; var _444=(_43a.controlX2*1)+_43b; var _445=(_43a.controlY2*1)+_43c; this.setControl1(_439,_442,_443); this.setControl2(_439,_444,_445); } }; AbstractRenderer.prototype.getConnectorCenterPoint=function(_446){ var _447=this.bounds(_446); var type=this.getConnectorType(_446); var obj=new Object(); if(type=="line"){ obj.x=((_447.x*1)+(_447.x2*1))/2; obj.y=((_447.y*1)+(_447.y2*1))/2; }else{ if(type=="curve-line"){ var _44a=((_447.controlX*1)+(_447.controlX2*1))/2; var _44b=((_447.controlY*1)+(_447.controlY2*1))/2; var _44c=((_447.x*1)+(_447.x2*1))/2; var _44d=((_447.y*1)+(_447.y2*1))/2; obj.x=((_44a*1)+(_44c))/2; obj.y=((_44b*1)+(_44d))/2; }else{ if(type=="ortho-line"){ var _447=this.getOrthoLineCenterSegment(_446); obj.x=((_447.x*1)+(_447.x2*1))/2; obj.y=((_447.y*1)+(_447.y2*1))/2; } } } return obj; }; AbstractRenderer.prototype.getConnectorTextSize=function(_44e,_44f,zoom,_451){ var text=null; var font=_451; if(_44f){ text=_44f; }else{ text=this.getShapeText(_44e); } if(font==null){ font=this.getFont(_44e); } if(font.size.length==0){ this.fillUpFont(font); font.size=font.size*zoom; } var _454=1; var last=0; while(true){ last=text.indexOf("\n",last+1); if(last==-1){ break; } _454++; } var _456=_454*font.size*1.5; var _457=text.split("\n"); var _458=50; for(var i=0;i<_457.length;i++){ if(_457[i].length*font.size/2>_458){ _458=_457[i].length*font.size/2; } } _458=(_458*1)+10; var obj=new Object(); obj.width=_458; obj.height=_456; return obj; }; AbstractRenderer.prototype.calculateOrthoLinePath=function(_45b,_45c,_45d,toX,toY){ var _460=this.getClearancePoints(_45b,_45c,_45d,toX,toY,true); var _461=this.getClearancePoints(_45b,toX,toY,_460[_460.length-1].x,_460[_460.length-1].y,false); var x1=_460[_460.length-1].x; var y1=_460[_460.length-1].y; var x2=_461[_461.length-1].x; var y2=_461[_461.length-1].y; var obj=new Object(); obj.x=x1; obj.y=y2; _460[_460.length]=obj; for(var i=_461.length-1;i>=0;i--){ _460[_460.length]=_461[i]; } var path=""; for(var i=0;i<_460.length;i++){ path+=_460[i].x+","; path+=_460[i].y+","; } return path; }; AbstractRenderer.prototype.getClearancePoints=function(line,_46a,_46b,toX,toY,_46e){ var TOP=0; var _470=1; var _471=2; var LEFT=3; var _473=12; var _474=new Array(); var obj=new Object(); obj.x=_46a; obj.y=_46b; _474[_474.length]=obj; var _476=this.getConnectionShape(line,_46e); if(!$(_476.shapeid)){ return _474; } var _477=$(_476.shapeid); var _478=this.bounds(_477); var loc=this.getConnectionPointLocation(_477,_476.shapepoint,_478); var _47a=this.getRotatedClearancePoints(_478,loc,_473); var _47b=(parseInt((_478.rotation)/90)+(loc*1))%4; obj=new Object(); if(_47b==TOP){ var _47c=Math.abs(_46b-toY)/2; if(_47c<_473){ _47c=_473; } obj.y=_474[_474.length-1].y-_473; obj.x=_474[_474.length-1].x; }else{ if(_47b==_471){ var _47c=Math.abs(_46b-toY)/2; if(_47c<_473){ _47c=_473; } obj.y=_474[_474.length-1].y+_473; obj.x=_474[_474.length-1].x; }else{ if(_47b==_470){ var _47c=Math.abs(_46a-toX)/2; if(_47c<_473){ _47c=_473; } obj.x=_474[_474.length-1].x+_473; obj.y=_474[_474.length-1].y; }else{ if(_47b==LEFT){ var _47c=Math.abs(_46a-toX)/2; if(_47c<_473){ _47c=_473; } obj.x=_474[_474.length-1].x-_473; obj.y=_474[_474.length-1].y; } } } } _474[_474.length]=obj; if(_47b==TOP&&obj.y<toY){ var _47d=new Object(); if(toX<_46a){ _47d.x=toX>((_47a[0].x*1)-_473)?toX:((_47a[0].x*1)-_473); }else{ _47d.x=toX<((_47a[1].x*1)+(_473*1))?toX:((_47a[1].x*1)+(_473*1)); } _47d.y=obj.y; _474[_474.length]=_47d; }else{ if(_47b==_471&&obj.y>toY){ var _47d=new Object(); if(toX<_46a){ _47d.x=toX>((_47a[1].x*1)-(_473*1))?toX:((_47a[1].x*1)-(_473*1)); }else{ _47d.x=toX<((_47a[0].x*1)+(_473*1))?toX:((_47a[0].x*1)+(_473*1)); } _47d.y=obj.y; _474[_474.length]=_47d; }else{ if(_47b==_470&&obj.x>toX){ var _47d=new Object(); if(toY<_46b){ _47d.y=toY>((_47a[0].y*1)-_473)?toY:((_47a[0].y*1)-_473); }else{ _47d.y=toY<((_47a[1].y*1)+(_473*1))?toY:((_47a[1].y*1)+(_473*1)); } _47d.x=obj.x; _474[_474.length]=_47d; }else{ if(_47b==LEFT&&obj.x<toX){ var _47d=new Object(); if(toY<_46b){ _47d.y=toY>((_47a[1].y*1)-_473)?toY:((_47a[1].y*1)-_473); }else{ _47d.y=toY<((_47a[0].y*1)+(_473*1))?toY:((_47a[0].y*1)+(_473*1)); } _47d.x=obj.x; _474[_474.length]=_47d; } } } } return _474; }; AbstractRenderer.prototype.getConnectionPointLocation=function(_47e,_47f,_480){ var TOP=0; var _482=1; var _483=2; var LEFT=3; var _485=this.getNamespacedElement(_47e,"c","connection-point")[_47f]; var x=this.getAttribute(_485,"x"); var y=this.getAttribute(_485,"y"); x=(_480.x*1)+(_480.width*(x/this.COORD_X)); y=(_480.y*1)+(_480.height*(y/this.COORD_Y)); if(x<(_480.x*1+_480.width/2)){ return LEFT; }else{ if(x>(_480.x*1)+(_480.width/2)){ return _482; }else{ if(y<=_480.y){ return TOP; }else{ return _483; } } } }; AbstractRenderer.prototype.getRotatedClearancePoints=function(_488,loc,_48a){ var TOP=0; var _48c=1; var _48d=2; var LEFT=3; var _48f=new Array(); _48f[_48f.length]=new Object(); _48f[_48f.length]=new Object(); if(loc==TOP){ _48f[0].x=_488.x; _48f[0].y=_488.y; _48f[1].x=(_488.x*1)+(_488.width*1); _48f[1].y=_488.y; }else{ if(loc==_48c){ _48f[0].x=(_488.x*1)+(_488.width*1); _48f[0].y=_488.y; _48f[1].x=(_488.x*1)+(_488.width*1); _48f[1].y=(_488.y*1)+(_488.height*1); }else{ if(loc==_48d){ _48f[0].x=(_488.x*1)+(_488.width*1); _48f[0].y=(_488.y*1)+(_488.height*1); _48f[1].x=(_488.x*1); _48f[1].y=(_488.y*1)+(_488.height*1); }else{ _48f[0].x=(_488.x*1); _48f[0].y=(_488.y*1)+(_488.height*1); _48f[1].x=(_488.x*1); _48f[1].y=(_488.y*1); } } } return _48f; }; AbstractRenderer.prototype.getConnectionShape=function(line,_491){ var _492=this.getNamespacedElement(line,"c","connection"); var _493=""; var _494=""; for(var i=0;i<_492.length;i++){ var type=this.getAttribute(_492[i],"type"); if(_491&&type=="from"){ _493=this.getAttribute(_492[i],"shapeid"); _494=this.getAttribute(_492[i],"shapepoint"); }else{ if(!_491&&type=="to"){ _493=this.getAttribute(_492[i],"shapeid"); _494=this.getAttribute(_492[i],"shapepoint"); } } } var obj=new Object(); obj.shapeid=_493; obj.shapepoint=_494; return obj; }; AbstractRenderer.prototype.moveLineWithShape=function(_498,_499){ if(!_498){ return; } var rect=this.bounds(_498); var left=rect["x"]; var top=rect["y"]; var _49d=rect["width"]; var _49e=rect["height"]; var _49f=parseInt(left*1)+parseInt(_49d/2); var _4a0=parseInt(top*1)+parseInt(_49e/2); var _4a1=rect["rotation"]; if(!_4a1){ _4a1=0; } coordX=1000; coordY=1000; var _4a2=this.getNamespacedElement(_498,"c","connection"); for(var i=0;i<_4a2.length;i++){ var _4a4=_4a2.item(i); var _4a5=_4a4.parentNode; var _4a6=_4a4.getAttribute("lineid"); if(_499&&_4a6!=_499){ continue; } var _4a7=_4a4.getAttribute("type"); var conX=(left*1)+((_4a5.getAttribute("x")/this.COORD_X)*_49d); var conY=(top*1)+((_4a5.getAttribute("y")/this.COORD_Y)*_49e); conX=conX-_49f; conY=conY-_4a0; var _4aa=Math.round((conX*Math.cos((Math.PI/180)*(_4a1)))-(conY*Math.sin((Math.PI/180)*(_4a1)))*1)+(_49f*1); var _4ab=Math.round((conX*Math.sin((Math.PI/180)*(_4a1)))+(conY*Math.cos((Math.PI/180)*(_4a1)))*1)+(_4a0*1); var line=$(_4a6); if(_4a7=="to"){ this.moveLine(line,_4aa,_4ab,false); }else{ this.moveLine(line,_4aa,_4ab,true); } } }; AbstractRenderer.prototype.getAllConnectorsForShape=function(_4ad){ if(!_4ad){ return; } var _4ae=this.getNamespacedElement(_4ad,"c","connection"); var _4af=new Array(); for(var i=0;i<_4ae.length;i++){ var _4b1=_4ae.item(i); var _4b2=_4b1.parentNode; var _4b3=_4b1.getAttribute("lineid"); if($(_4b3)){ _4af[_4af.length]=$(_4b3); } } return _4af; }; AbstractRenderer.prototype.connectLine=function(_4b4,_4b5,_4b6,_4b7){ if(!_4b5||!_4b4){ return; } this.disconnectLineFromShape(_4b5,_4b6); this.connectLineToShapeByPointIndex(_4b4,_4b5,_4b6,_4b7); this.moveLineWithShape(_4b4,_4b5.id); setHelp("Connected line to shape"); }; AbstractRenderer.prototype.connectLineToShapeByPointIndex=function(_4b8,line,_4ba,_4bb){ var _4bc=this.getNamespacedElement(_4b8,"c","connection-point"); _4bc=_4bc[parseInt(_4bb)]; this.connectLineToShape(_4b8,line,_4ba,_4bc,_4bb); }; AbstractRenderer.prototype.connectLineToShape=function(_4bd,line,_4bf,_4c0,_4c1){ if(!_4bd||!line||(_4c1<0)){ return; } var _4c2=this.getNamespacedElement(line,"c","connection"); for(var i=0;i<_4c2.length;i++){ var node=_4c2.item(i); var type=node.getAttribute("type"); if(type==_4bf){ node.setAttribute("shapeid",_4bd.id); node.setAttribute("shapepoint",_4c1); var doc=this.container.ownerDocument; var _4c7=this.createElement("c:connection","CUMULATE_LABS"); _4c7.setAttribute("lineid",line.id); _4c7.setAttribute("type",_4bf); _4c0.appendChild(_4c7); } } }; AbstractRenderer.prototype.disconnectLineFromShape=function(line,_4c9){ if(!line){ return; } var _4ca=this.getNamespacedElement(line,"c","connection"); for(var i=0;i<_4ca.length;i++){ var node=_4ca.item(i); var type=node.getAttribute("type"); if(type==_4c9){ var _4ce=node.getAttribute("shapeid"); var _4cf=node.getAttribute("shapepoint"); if(_4ce&&_4ce.length>0){ var _4d0=$(_4ce); if(_4d0){ setHelp("Disconnected line from shape"); var _4d1=this.getNamespacedElement(_4d0,"c","connection-point").item(_4cf*1); var _4d2=this.getNamespacedElement(_4d1,"c","connection"); for(var i=0;i<_4d2.length;i++){ var _4d3=_4d2.item(i); if((_4d3.getAttribute("lineid")==line.id)&&(_4d3.getAttribute("type")==type)){ this.remove(_4d3); break; } } } node.setAttribute("shapeid","xx"); node.setAttribute("shapepoint","-1"); } } } }; AbstractRenderer.prototype.getCenterPoint=function(_4d4){ if(_4d4){ var left=_4d4.x; var top=_4d4.y; var _4d7=_4d4.width; var _4d8=_4d4.height; var obj=new Object(); obj.centerX=(left*1)+(_4d7/2); obj.centerY=(top*1)+(_4d8/2); return obj; } }; AbstractRenderer.prototype.getRotatedPoint=function(conX,conY,_4dc){ var _4dd=_4dc.rotation; var _4de=this.getCenterPoint(_4dc); var _4df=_4de.centerX; var _4e0=_4de.centerY; conX=conX-_4df; conY=conY-_4e0; var obj=new Object(); obj.x=((conX*Math.cos((Math.PI/180)*(_4dd)))-(conY*Math.sin((Math.PI/180)*(_4dd)))*1)+(_4df*1); obj.y=((conX*Math.sin((Math.PI/180)*(_4dd)))+(conY*Math.cos((Math.PI/180)*(_4dd)))*1)+(_4e0*1); return obj; }; AbstractRenderer.prototype.setShapeText=function(_4e2,text,font,_4e5,_4e6,_4e7){ var _4e8=_4e6; if(!_4e8){ _4e8=this.getFont(_4e2); } if(_4e8.size==""||_4e5){ _4e8.size=font.size; } if(_4e8.color==""){ _4e8.color=font.color; } if(_4e8.family==""){ _4e8.family=font.family; } if(_4e8.align==""){ _4e8.align=font.align; } if(_4e8.bold==""){ _4e8.bold=font.bold; } if(_4e8.italics==""){ _4e8.italics=font.italics; } var _4e9=_4e8.size; var _4ea=_4e8.size*_4e7; _4e8.size=_4ea; var rect=this.getTextBounds(_4e2,text,_4e7,_4e8); var _4ec=rect["width"]; var _4ed=rect["height"]; var x=rect["x"]; var y=rect["y"]; if(_4ec<25){ _4ec=25; } if(_4ed==0){ _4ed=1; } var cpl=((_4ec/_4ea))*2; cpl=Math.ceil(cpl); var _4f1=text.wordWrap(cpl,this.LINE_DELIMITER,false); var _4f2=this.createTextSet(_4f1); if(_4f2.length==0){ return false; } var _4f3=this.createLines(_4f2,cpl); var _4f4=Math.ceil(_4f3.length/2); var _4f5=null; if(this.isConnector(_4e2)){ _4f5=this.handleConnectorTextLinePositioning(_4ed,_4ec,x,y,_4f4,_4ea,_4f3,_4e8,_4e2); }else{ _4f5=this.handleTextLinePositioning(_4ed,_4ec,x,y,_4f4,_4ea,_4f3,_4e8,_4e2,_4e7); } var _4f6=new Object(); _4f6.type=_4e2.id; _4f6.text=""; _4e8.size=_4e9; _4f5[_4f5.length]=this.createTextShape(_4f6,false,x,y,x,y,_4e8,_4e2); if(this.isConnector(_4e2)){ this.handleConnectorTextBackgroundPositioning(_4e2,rect,text); } for(var i=0;i<_4f5.length;i++){ _4f5[i]=this.appendChild(_4e2,_4f5[i]); } var _4f8=this.setTextData(_4e2,text); }; AbstractRenderer.prototype.getConnectorBackgroundShape=function(_4f9){ var _4fa=null; if(_4f9.getElementsByTagName("rect").length>0){ _4fa=_4f9.getElementsByTagName("rect")[0]; }else{ _4fa=this.createElement("rect",this.VML_SVG_NAMESPACE); _4fa.style.position="absolute"; this.setFillColor(_4f9,"white"); this.setOpacity(_4f9,"1.0"); var _4fb=this.getShapeSubject(_4f9); _4fa.style.zIndex=_4fb.style.zIndex; this.setStrokeWidth(_4fa,"0px"); } return _4fa; }; AbstractRenderer.prototype.setTextData=function(_4fc,text){ if(!text){ text=""; } var _4fe=this.getNamespacedElement(_4fc,"c","textData"); var _4ff=$A(_4fe); for(var i=0;i<_4ff.length;i++){ var node=_4ff[i]; this.remove(node); } var _502=this.createElement("c:textData","CUMULATE_LABS"); var _503=this.container.ownerDocument.createComment(_utils.encodeHTML(text)); _502.appendChild(_503); _502.setAttribute("version","0.3.7"); _502=this.appendChild(_4fc,_502); }; AbstractRenderer.prototype.getShapeText=function(_504,_505){ if(!_504){ return; } var _506=document.getElementById("text:dummy"+_504.id); if(_506){ return this.getShapeTextDeprecated(_504,_505); } var _507=this.getNamespacedElement(_504,"c","textData"); var _508=null; if(_507.length>0){ _508=_507[0].getAttribute("version"); } if(_507.length==0||_508==null||_508==""){ return this.getShapeTextDeprecated(_504,_505); }else{ var _509=_507[0].firstChild; if(_509==null){ return ""; } var text=_509.nodeValue; if(_508=="0.3.6"){ text=unescape(text); }else{ text=_utils.decodeHTML(text); } return text; } }; AbstractRenderer.prototype.getShapeTextDeprecated=function(_50b,_50c){ if(!_50b){ return null; } var _50d=document.getElementById("text:dummy"+_50b.id); if(_50d){ return _50d.string; }else{ var _50e=""; var _50f=this.getNamespacedElement(_50b,"c","textData"); for(var i=0;i<_50f.length;i++){ _50e+=_50f[i].getAttribute("string"); } return _50e; } }; AbstractRenderer.prototype.createLines=function(_511,_512){ var _513=new Array(); for(var i=0;i<_511.length;i++){ var _515=_511[i]; if(_515.length<_512){ var _516=new Object(); _516.text=_515; _516.type="normal"; _513[_513.length]=_516; }else{ var _517=Math.floor((_515.length/_512)); var _518=_515.length%_512; var j=0; for(j=0;j<_517;j++){ var line=_515.substr((j*_512),_512); var _516=new Object(); _516.text=line; if(j==0){ _516.type="newline"; }else{ _516.type="normal"; } _513[_513.length]=_516; } if(_518>0){ var line=_515.substr((j*_512),_518); var _516=new Object(); _516.text=line; if(_517==0){ _516.type="newline"; }else{ _516.type="normal"; } _513[_513.length]=_516; } } } return _513; }; AbstractRenderer.prototype.getTextBounds=function(_51b,_51c,_51d,font){ if(this.isConnector(_51b)){ var _51f=this.getConnectorCenterPoint(_51b); var _520=this.getConnectorTextSize(_51b,_51c,_51d,font); var _521=new Object(); _521.width=_520.width; _521.height=_520.height; _521.x=(_51f.x-_521.width/2); _521.y=(_51f.y-_521.height/2); return _521; }else{ var rect=this.bounds(_51b); var _523=this.getNamespacedElement(_51b,"c","text-bound"); if(_523.length==0){ return rect; }else{ var _521=rect; var _524=_523[0]; var x=this.getAttribute(_524,"fromX"); var y=this.getAttribute(_524,"fromY"); var x2=this.getAttribute(_524,"toX"); var y2=this.getAttribute(_524,"toY"); var newX=(x*_521.width/1000)+(_521.x*1); var newY=(y*_521.height/1000)+(_521.y*1); var _52b=(x2-x)*(_521.width/1000); var _52c=(y2-y)*(_521.height/1000); _521.x=_521.left=newX; _521.y=_521.top=newY; var _520=this.getConnectorTextSize(_51b,_51c,_51d,font); _521.width=_520.width; _521.height=_520.height; return _521; } } }; AbstractRenderer.prototype.createTextSet=function(text){ var _52e=new Array(); if(!text||text.length==0){ return _52e; }else{ _52e=text.split(this.LINE_DELIMITER); return _52e; } }; AbstractRenderer.prototype.fillUpFont=function(font){ if(font.size==""){ font.size=16; } if(font.family==""){ font.family="'Arial'"; } if(font.italics==""){ font.italics="normal"; } if(font.bold==""){ font.bold="normal"; } if(font.align==""){ font.align="center"; } if(font.color==""){ font.color="black"; } }; AbstractRenderer.prototype.remove=function(_530){ if(_530){ Element.remove(_530); } }; AbstractRenderer.prototype.getHandles=function(_531){ var _532=new Array(); if(!_531){ return _532; } var _533=this.getNamespacedElement(_531,"c","handle"); if(_533.length==0){ return _532; } var box=this.bounds(_531); for(var i=0;i<_533.length;i++){ var _536=this.createElement("rect",this.VML_SVG_NAMESPACE); var _537=_533[i].getAttribute("x"); var _538=_533[i].getAttribute("y"); this.setHandleAttributes(_537,_538,_536,box); _532[_532.length]=_536; } return _532; }; AbstractRenderer.prototype.getShapeHandleLocation=function(_539,_53a){ if(!_539){ return; } var obj=new Object(); var _53c=this.getNamespacedElement(_539,"c","handle")[_53a]; obj.x=_53c.getAttribute("x"); obj.y=_53c.getAttribute("y"); return obj; }; AbstractRenderer.prototype.updateShapeHandle=function(_53d,_53e,_53f,_540,_541,_542,_543,_544){ if(!_53d){ return; } var _545=this.bounds(_53d); var _546=_545.rotation; var sX=(_543*Math.cos((Math.PI/180)*(-_546)))-(_544*Math.sin((Math.PI/180)*(-_546))); var mX=(_541*Math.cos((Math.PI/180)*(-_546)))-(_542*Math.sin((Math.PI/180)*(-_546))); var sY=(_544*Math.cos((Math.PI/180)*(-_546)))+(_543*Math.sin((Math.PI/180)*(-_546))); var mY=(_542*Math.cos((Math.PI/180)*(-_546)))+(_541*Math.sin((Math.PI/180)*(-_546))); var _54b=sX-mX; var _54c=sY-mY; var _54d=this.getNamespacedElement(_53d,"c","handle")[_53e]; var x=(_53f*1)+(_54b*Math.round(1000/_545.width)); var y=(_540*1)+(_54c*Math.round(1000/_545.height)); var xMin=_54d.getAttribute("xrange").split(",")[0]; var xMax=_54d.getAttribute("xrange").split(",")[1]; var yMin=_54d.getAttribute("yrange").split(",")[0]; var yMax=_54d.getAttribute("yrange").split(",")[1]; var _53f=_54d.getAttribute("x"); var _540=_54d.getAttribute("y"); if(x>xMin&&x<xMax){ _54d.setAttribute("x",x); } if(y>yMin&&y<yMax){ _54d.setAttribute("y",y); } this.updateHandleTracker(_53d,_54d,_53e,_545); var dx=Math.round(_54d.getAttribute("x")-_53f); var dy=Math.round(_54d.getAttribute("y")-_540); this.updateShapeSegments(_53d,_54d,dx,dy); }; AbstractRenderer.prototype.updateShapeSegments=function(_556,_557,dx,dy){ var _55a=this.getNamespacedElement(_557,"c","adjust"); for(var _55b=0;_55b<_55a.length;_55b++){ var _55c=_55a[_55b]; var vals=_55c.getAttribute("val"); var _55e=_55c.getAttribute("shapenum"); vals=vals.split(","); var _55f=_55c.getAttribute("templateNum"); if(_55f==null||_55f==""){ _55f=0; } var _560=this.getNamespacedElement(_556,"c","handle-template")[_55f]; var _561=_560.getAttribute("pathTemplate"); for(var i=0;i<vals.length;i++){ var _563=vals[i]; var id=_563.split(":")[0]; var _565=_563.split(":")[1]; var _566=new RegExp(id+":[-]*[0-9]*","g"); var _567=_561.match(_566); _567=_567[0]; var _568=_567.split(":")[1]; if(_565=="dx"){ _568=(_568*1)+(dx*1); }else{ if(_565=="dy"){ _568=(_568*1)+(dy*1); }else{ if(_565=="-dx"){ _568=(_568*1)-(dx*1); }else{ if(_565=="-dy"){ _568=(_568*1)-(dy*1); } } } } _561=_561.replace(_566,id+":"+_568); } _560.setAttribute("pathTemplate",_561); var _569=_561.replace(/[0-9]*@[0-9]*:/g,""); this.updateShapePath(_556,_569,_55e); } }; AbstractRenderer.prototype.trueBounds=function(_56a){ if(!_56a){ return; } if(this.isConnector(_56a)){ return this.bounds(_56a); } var _56b=this.bounds(_56a); var x=this.getExtendedAttribute(_56a,"left"); var y=this.getExtendedAttribute(_56a,"top"); var _56e=this.getExtendedAttribute(_56a,"width"); var _56f=this.getExtendedAttribute(_56a,"height"); _56b.x=(x==null||x=="")?_56b.x:x; _56b.y=(y==null||y=="")?_56b.y:y; _56b.width=(_56e==null||_56e=="")?_56b.width:_56e; _56b.height=(_56f==null||_56f=="")?_56b.height:_56f; return _56b; }; AbstractRenderer.prototype.getExtendedAttribute=function(_570,_571){ if(!_570){ return null; } var _572=this.getNamespacedElement(_570,"c","attributes"); if(!_572||_572.length==0){ return null; }else{ return this.getAttribute(_572[0],_571); } }; AbstractRenderer.prototype.setExtendedAttribute=function(_573,_574,_575){ if(!_573){ return; } var _576=this.getNamespacedElement(_573,"c","attributes"); if(!_576||_576.length==0){ _576=this.createElement("attributes","CUMULATE_LABS"); _576=this.appendChild(_573,_576); }else{ _576=_576[0]; } _576.setAttribute(_574,_575); }; function SelectedShapes(){ } SelectedShapes.prototype.init=function(_577){ this.bbox=new Object(); this.selectedShapeMap=new Object(); this.selectedShapeBounds=new Object(); this.renderer=_577; this.mouseDownX=0; this.mouseDownY=0; this.idHighest=null; this.idLowest=null; }; SelectedShapes.prototype.recalculateBounds=function(){ this.setSelectedShapes(this.getShapes()); }; SelectedShapes.prototype.reset=function(){ this.bbox.x=null; this.bbox.y=null; this.bbox.width=null; this.bbox.height=null; this.bbox.right=null; this.bbox.bottom=null; this.selectedShapeMap=new Object(); this.selectedShapeBounds=new Object(); this.idLowest=null; this.idHighest=null; }; SelectedShapes.prototype.setSelectedShapes=function(_578){ this.reset(); for(var i=0;i<_578.length;i++){ this.addShape(_578[i],this.renderer.getBoundingBox(_578[i])); } }; SelectedShapes.prototype.addShape=function(_57a,bbox){ if(!_57a||_57a.id==null){ return; } var _57c=this.bbox.x; var _57d=this.bbox.y; if(!this.selectedShapeMap[_57a.id]){ this.selectedShapeMap[_57a.id]=_57a; } if(this.bbox.x==null||(bbox.x<this.bbox.x)){ this.bbox.x=bbox.x; this.idLowest=_57a.id; } if(this.bbox.y==null||bbox.y<this.bbox.y){ this.bbox.y=bbox.y; this.idLowest=_57a.id; } if(this.bbox.width==null||(parseInt(bbox.x)+parseInt(bbox.width))>(parseInt(_57c)+parseInt(this.bbox.width))){ this.bbox.right=parseInt(bbox.x)+parseInt(bbox.width); this.idHighest=_57a.id; } if(this.bbox.height==null||(parseInt(bbox.y)+parseInt(bbox.height))>(parseInt(_57d)+parseInt(this.bbox.height))){ this.bbox.bottom=parseInt(bbox.y)+parseInt(bbox.height); this.idHighest=_57a.id; } this.bbox.width=this.bbox.right-this.bbox.x; this.bbox.height=this.bbox.bottom-this.bbox.y; this.selectedShapeBounds[_57a.id]=this.renderer.bounds(_57a); }; SelectedShapes.prototype.sizeMultipleSelectDummy=function(_57e){ this.renderer.setX(_57e,this.bbox.x); this.renderer.setY(_57e,this.bbox.y); this.renderer.setWidth(_57e,this.bbox.width); this.renderer.setHeight(_57e,this.bbox.height); }; SelectedShapes.prototype.removeShape=function(_57f){ this.selectedShapeMap[_57f.id]=null; if(_57f.id==this.idLowest||_57f.id==this.idHighest){ this.recalculateBounds(); return true; } return false; }; SelectedShapes.prototype.contains=function(_580){ return (_580&&this.selectedShapeMap[_580.id]!=null); }; SelectedShapes.prototype.containsById=function(_581){ return (_581&&this.selectedShapeMap[_581]!=null); }; SelectedShapes.prototype.getShapes=function(){ return Object.values(this.selectedShapeMap); }; SelectedShapes.prototype.updateShapeBounds=function(){ var keys=Object.keys(this.selectedShapeMap); for(var i=0;i<keys.length;i++){ this.selectedShapeBounds[keys[i]]=this.renderer.bounds(this.selectedShapeMap[keys[i]]); this.setSelectedShapes(Object.values(this.selectedShapeMap)); } }; SelectedShapes.prototype.getSelectedBounds=function(id){ return this.selectedShapeBounds[id]; }; SelectedShapes.prototype.getPropotionalBoundsWidth=function(_585,id,_587,_588){ var _589=this.selectedShapeBounds[id]; var rect=new Object(); rect.width=(_585.width/_587)*_589.width; if(_588){ if((_589.x-this.bbox.x==0)){ rect.x=_585.x; }else{ rect.x=(_585.x*1)+(_585.width*((_589.x-this.bbox.x)/_587)); } }else{ rect.x=(_589.x*1)+((_585.width-_587)*((_589.x-this.bbox.x)/_587)); } return rect; }; SelectedShapes.prototype.getPropotionalBoundsHeight=function(_58b,id,_58d,_58e){ var _58f=this.selectedShapeBounds[id]; var rect=new Object(); rect.height=(_58b.height/_58d)*_58f.height; if(_58e){ if((_58f.y-this.bbox.y==0)){ rect.y=_58b.y; }else{ rect.y=(_58b.y*1)+(_58b.height*((_58f.y-this.bbox.y)/_58d)); } }else{ rect.y=(_58f.y*1)+((_58b.height-_58d)*((_58f.y-this.bbox.y)/_58d)); } return rect; }; SelectedShapes.prototype.getPropotionalBoundsRotation=function(_591,id,_593){ var _594=this.selectedShapeBounds[id]; var obj=new Object(); _591.rotation=_593; var _596=_594.rotation; _594.rotation=_593; var _597=this.renderer.getRotatedPoint(_594.x,_594.y,_594); var _598=this.renderer.getRotatedPoint(_594.x,_594.y,_591); obj.x=(_594.x*1)+(_598.x-_597.x); obj.y=(_594.y*1)+(_598.y-_597.y); _594.rotation=_596; return obj; }; function CLUtilities(){ } CLUtilities.prototype.encode=function(text){ var _59a=text; var amp=/&/gi; var gt=/>/gi; var lt=/</gi; var quot=/"/gi; var apos=/'/gi; var _5a0="&gt;"; var _5a1="&lt;"; var _5a2="&amp;"; var _5a3="&quot;"; var _5a4="&apos;"; _59a=_59a.replace(amp,_5a2); _59a=_59a.replace(quot,_5a3); _59a=_59a.replace(lt,_5a1); _59a=_59a.replace(gt,_5a0); _59a=_59a.replace(apos,_5a4); return _59a; }; CLUtilities.prototype.decode=function(text){ var _5a6=text; var amp=/&amp;/gi; var gt=/&gt;/gi; var lt=/&lt;/gi; var quot=/&quot;/gi; var apos=/&apos;/gi; var nbsp=/&nbsp;/gi; var _5ad=">"; var _5ae="<"; var _5af="&"; var _5b0="\""; var _5b1="'"; var _5b2=" "; _5a6=_5a6.replace(amp,_5af); _5a6=_5a6.replace(quot,_5b0); _5a6=_5a6.replace(lt,_5ae); _5a6=_5a6.replace(gt,_5ad); _5a6=_5a6.replace(apos,_5b1); _5a6=_5a6.replace(nbsp,_5b2); return _5a6; }; CLUtilities.prototype.encodeHTML=function(_5b3){ var _5b4=""; for(var i=0;i<_5b3.length;i++){ var _5b6=_5b3.charCodeAt(i); _5b4+="&#"+_5b6+";"; } return _5b4; }; CLUtilities.prototype.decodeHTML=function(_5b7){ var _5b8=""; if(_5b7.indexOf("&")<0){ _5b8=_5b7; }else{ for(var i=0;i<_5b7.length;i++){ var _5ba=_5b7.charAt(i); var _5bb=""; if(_5ba=="&"){ var _5bc=_5b7.indexOf(";",i+1); if(_5bc>0){ var _5bd=_5b7.substring(i+1,_5bc); if((_5bd.length>1)&&(_5bd.charAt(0)=="#")){ try{ if((_5bd.charAt(1)=="x")||(_5bd.charAt(1)=="X")){ _5bb=String.fromCharCode(_5bd.substring(2)); }else{ _5bb=String.fromCharCode(_5bd.substring(1)); } } catch(e){ i++; } } } } _5b8+=_5bb; } } return this.decode(_5b8); }; CLUtilities.prototype.trim=function(_5be){ if(_5be.length<1){ return ""; } _5be=this.RTrim(_5be); _5be=this.LTrim(_5be); if(_5be==""){ return ""; }else{ return _5be; } }; CLUtilities.prototype.RTrim=function(_5bf){ var _5c0=String.fromCharCode(32); var _5c1=_5bf.length; var _5c2=""; if(_5c1<0){ return ""; } var _5c3=_5c1-1; while(_5c3>-1){ if(_5bf.charAt(_5c3)==_5c0){ }else{ _5c2=_5bf.substring(0,_5c3+1); break; } _5c3=_5c3-1; } return _5c2; }; CLUtilities.prototype.LTrim=function(_5c4){ var _5c5=String.fromCharCode(32); if(_5c6<1){ return ""; } var _5c6=_5c4.length; var _5c7=""; var _5c8=0; while(_5c8<_5c6){ if(_5c4.charAt(_5c8)==_5c5){ }else{ _5c7=_5c4.substring(_5c8,_5c6); break; } _5c8=_5c8+1; } return _5c7; }; CLUtilities.prototype.parseColorFilter=function(_5c9){ var _5ca=new Array(); var list=_5c9.split("|"); for(var i=0;i<list.length;i++){ var str=list[i].match(/^(\d):(\d.\d\d),(\d.\d\d),(\d.\d\d)$/); _5ca[_5ca.length]={index:str[1],r:str[2],g:str[3],b:str[4]}; } return _5ca; }; CLUtilities.prototype.decodeColor=function(str){ if(/^#?([\da-f]{3}|[\da-f]{6})$/i.test(str)){ function _(s,i){ return parseInt(s.substr(i,2),16); } str=str.replace(/^#/,"").replace(/^([\da-f])([\da-f])([\da-f])$/i,"$1$1$2$2$3$3"); return {r:_(str,0),g:_(str,2),b:_(str,4)}; }else{ if(/^rgb *\( *\d{0,3} *, *\d{0,3} *, *\d{0,3} *\)$/i.test(str)){ str=str.match(/^rgb *\( *(\d{0,3}) *, *(\d{0,3}) *, *(\d{0,3}) *\)$/i); return {r:parseInt(str[1]),g:parseInt(str[2]),b:parseInt(str[3])}; } } }; String.prototype.wordWrap=function(m,b,c){ var i,j,l,s,r=this.split("\n"); if(m>0){ for(i in r){ for(s=r[i],r[i]="";s.length>m;j=c?m:(j=s.substr(0,m).match(/\S*$/)).input.length-j[0].length||m,r[i]+=s.substr(0,j)+((s=s.substr(j)).length?b:"")){ } r[i]+=s; } } return r.join("\n"); }; var _colors=new Array("RGB(0,0,0)","RGB(255,255,255)","RGB(190,192,194)","RGB(255,201,7)","RGB(0,120,33)","RGB(0,88,37)","RGB(0,42,0)","RGB(206,23,30)","RGB(176,1,37)","RGB(93,0,0)","RGB(94,171,237)","RGB(0,72,144)","RGB(0,64,11)","RGB(0,64,113)","RGB(0,54,99)","RGB(91,70,139)","RGB(242,101,34)","RGB(254,216,97)","RGB(204,204,204)","RGB(254,252,223)"); var SAVE_SUCCESS_MESSAGE="<font color='red'><b>File Saved to Server</b></font>"; var SAVE_BEGIN_MESSAGE="<font color='red'><b>Saving File to Server.</b></font>"; var LOGO_DEFAULT="http://www.coins-global.com/cp_root/storage/images/ad_autodesk_1.jpg"; var PING_INTERVAL=240000; var USE_DEBUG_COOKIE=false; var DEBUG_CSP_COOKIE_VALUE="TOY7gL7jsE9ELX+wqWLI+lxSGJY3Z0VDqbuG8otvG/yOIGlrwlEV/cFoGjjMzk7yl7sFoIji6UXaqxTLVZL+gCtTFtJ4WVMqq1tdpxhaz4H8J8rtqjPK0Q=="; var GEARS_RETURN_URL="http://draw.labs.autodesk.com/ADDraw/draw.html"; var DEBUG_EIDM_COOKIE_VALUE="ZcsemdibK9CeiDzldNfVxGefFfc7D37gfjRfUhrWleayRSzPWeeR1ttqfpp7g8EZHiNDMFEPHXOsxI9cOQtCxXGpIsLtldOEiJDCPo7zLAKbY9dvw15mEBSjc6UPyVsqoHeIa9sx2tlVUzL+R4KaLvxMsHhk3hZhPdZXM6d8Nib1VK17YmZk71YUIYwndqL9NaD4UaCAlCWf7ZJSpIT1VA==M7nSpGom0Bg0SpZXFXjOwyV2Ep1RHNIg05ZCvp7QDgML3ipBiyHI9AleyAPiFbR4RNWXbbgmeqovcI0P7I4bZfJyXkzG/OSIWTSjryXW8i8wsEffm6BfxQYgAEfP2MT0EnlgdkCYzWpl8knOutE2JkwDQN2u3giKMwRqDSLaA1k==ac"; var CL_URL="http://labs.autodesk.com/ConsolidatedLogin/html/login.action?handoffURL=http://draw.labs.autodesk.com/ADDraw/draw.html"; var FW_URL="http://freewheel.labs.autodesk.com"; var uploadDwfFilePostUrl="http://freewheel.labs.autodesk.com/upload2.aspx"; var uploadDwfFileBackUrl="http://draw.labs.autodesk.com/ADDraw/upload.html"; CookieManager=Class.create(); CookieManager.prototype={BROWSER_IS_IE:(document.all&&window.ActiveXObject&&navigator.userAgent.toLowerCase().indexOf("msie")>-1&&navigator.userAgent.toLowerCase().indexOf("opera")==-1),BROWSER_IS_OPERA:(navigator.userAgent.toLowerCase().indexOf("opera")!=-1),initialize:function(_5d9){ },getCookie:function(name){ var dc=document.cookie; var _5dc=name+"="; var _5dd=dc.indexOf("; "+_5dc); if(_5dd==-1){ _5dd=dc.indexOf(_5dc); if(_5dd!=0){ return null; } }else{ _5dd+=2; } var end=document.cookie.indexOf(";",_5dd); if(end==-1){ end=dc.length; } return unescape(dc.substring(_5dd+_5dc.length,end)); },setCookie:function(_5df,_5e0){ if(this.BROWSER_IS_IE&&this.userDataForIE){ this.store.setAttribute(_5df,_5e0); this.store.save(this.IE_CACHE_NAME); }else{ if(this.BROWSER_IS_OPERA){ _5e0=_5e0.replace(/"/g,"%22"); } var date=new Date(); date.setTime(date.getTime()+(this.cookieShelfLife*24*60*60*1000)); var _5e2="; expires="+date.toGMTString(); document.cookie=_5df+"="+_5e0; } },clearCookie:function(_5e3){ if(this.BROWSER_IS_IE&&this.userDataForIE){ this.store.load(this.IE_CACHE_NAME); this.store.removeAttribute(_5e3); this.store.save(this.IE_CACHE_NAME); }else{ document.cookie=_5e3+"=;expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/"; } }}; function notifyOnLogin(){ document.getElementById("debug").innerHTML="&nbsp;&nbsp;&nbsp;Logging in ..."; setTimeout("addIFramListener ()",100); } function addIFramListener(){ var _5e4=document.getElementById("loginResponse"); if(window.addEventListener){ _5e4.addEventListener("load",loginComplete,false); }else{ if(_5e4.attachEvent){ _5e4.attachEvent("onload",loginComplete); }else{ document.getElementById("debug").innerHTML="&nbsp;&nbsp;&nbsp;Logging in ... error"; } } } function loginComplete(){ authenticated(); $("_authBox").style.visibility="hidden"; authBox.style.zIndex=0; $("authTable").style.visibility="hidden"; if(!auth){ document.getElementById("debug").innerHTML="&nbsp;&nbsp;&nbsp;User ID or Password invalid"; authBox.style.zIndex=10; }else{ document.getElementById("debug").innerHTML="&nbsp;&nbsp;&nbsp;Log in successful...initializing..."; $("_authBox").style.visibility="hidden"; authBox.style.zIndex=0; } $("username").value=""; $("password").value=""; } (function(){ if(window.google&&google.gears){ return; } var _5e5=null; if(typeof GearsFactory!="undefined"){ _5e5=new GearsFactory(); }else{ try{ _5e5=new ActiveXObject("Gears.Factory"); } catch(e){ if(navigator.mimeTypes["application/x-googlegears"]){ _5e5=document.createElement("object"); _5e5.style.display="none"; _5e5.width=0; _5e5.height=0; _5e5.type="application/x-googlegears"; document.documentElement.appendChild(_5e5); } } } if(!_5e5){ return; } if(!window.google){ window.google={}; } if(!google.gears){ google.gears={factory:_5e5}; } })(); var STORE_NAME="my_offline_docset"; var MANIFEST_FILENAME="manifest.json"; var localServer; var store; var startTime; function init(){ try{ if(!window.google||!google.gears){ textOut("NOTE:  You must install Google Gears first."); }else{ localServer=google.gears.factory.create("beta.localserver","1.0"); store=localServer.createManagedStore(STORE_NAME); textOut("Initializing Google Gears.  Please wait..."); } } catch(e){ textOut(e.message); throw new Error(e.message); } } function createStore(){ if(!window.google||!google.gears){ alert("You must install Google Gears first."); textOut("You must install Google Gears to use this functionality."); return; } startTime=new Date().getTime(); if(c.renderer.TYPE!="SVG"){ MANIFEST_FILENAME="manifest.ie.json"; }else{ MANIFEST_FILENAME="manifest.ff.json"; } var url="GearsManifestManager"; var pars="REQUEST_TYPE=PREPARE_MANIFEST"+"&MANIFEST="+MANIFEST_FILENAME; var _5e8=new Ajax.Request(url,{method:"post",asynchronous:false,parameters:pars,onComplete:getManifestURL}); } function getManifestURL(_5e9){ var _5ea=_5e9.responseText; store.enabled=true; store.manifestUrl=_5ea; store.checkForUpdate(); var _5eb=window.setInterval(function(){ if(store.currentVersion){ window.clearInterval(_5eb); var _5ec=new Date().getTime(); var _5ed=(_5ec-startTime); textOut("Project Draw is ready for offline use!"); overlay(); }else{ if(store.updateStatus==3){ textOut("Error: "+store.lastErrorMessage); }else{ if(store.updateStatus==2){ setTimeout("textOut('Downloading files for offline use...');",300); setTimeout("textOut('');",250); } } } },500); } function removeStore(){ if(!auth){ alert("You must be logged in to initiate the online mode."); cachedCommand="removeStore"; authenticated(); return; } var _5ee; var _5ef; var _5f0; var _5f1; var _5f2; var _5f3; var xml; var _5f5; var size; var xdpi; var type; var _5f9; if(c.renderer.TYPE!="SVG"){ _5f2=".mmd"; }else{ _5f2=".fmd"; } if(!window.google||!google.gears){ alert("You must install Google Gears first."); textOut("You must install Google Gears to use this functionality."); return; } init(); this.store.enabled=false; localServer=null; try{ db=google.gears.factory.create("beta.database","1.0ext"); db.open("addraw_local"); db.transaction(function(db){ var rs=db.execute("select filename, assetid, login, last_modified_date, file_extension, filetype, xml, modified_flag, size, type, xdpi, zoomLevel from asset_local order by last_modified_date asc"); while(rs.isValidRow()){ _5ee=rs.field(0); _5ef=rs.field(1); _5f0=rs.field(2); _5f1=rs.field(3); _5f3=rs.field(5); xml=rs.field(6); _5f5=rs.field(7); size=rs.field(8); type=rs.field(9); xdpi=rs.field(10); _5f9=rs.field(11); if(_5f5=="yes"){ var url="OfflineFileSynchServlet"; var pars={DATA:xml,SIZE:size,FORMAT:"format",XDPI:xdpi,TYPE:type,NAME:_5ee,ZOOM:_5f9,ASSETID:_5ef}; var _5fe=new Ajax.Request(url,{method:"post",parameters:pars,onComplete:syncComplete(_5ee)}); }else{ syncComplete(_5ee); } rs.next(); } rs.close(); }); setGearsState("F"); } catch(ex){ setError("In removeStore(): "+ex.message); } loadAssetPalette("_imageAssets"); setTimeout("loadFilePalette('_fileAssets')",4000); } function syncComplete(_5ff,_600){ performLocalDeletion(_5ff); this.setHelp("Offline -> Online synchronization complete!"); setMenuItemSelected(toolbar_OFFLINE_ID,false); setMenuItemSelected(toolbar_ONLINE_ID,true); } function textOut(s){ setHelp(s); } function isOnline(){ if(!window.google||!google.gears){ return true; } if(window.google&&google.gears){ var _602; try{ db=google.gears.factory.create("beta.database","1.0ext"); db.open("addraw_local"); db.doo("create table if not exists gearsState (isOffline TEXT)"); var rs=db.execute("select isOffline from gearsState"); while(rs.isValidRow()){ _602=rs.field(0); rs.next(); } rs.close(); } catch(e){ return true; } if(_602=="F"||_602==undefined){ return true; }else{ return false; } } } function checkIsOnline(){ alert("online: "+isOnline()); } function setGearsState(_604){ try{ db=google.gears.factory.create("beta.database","1.0ext"); db.open("addraw_local"); db.doo("create table if not exists gearsState (isOffline TEXT)"); db.execute("delete from gearsState"); db.execute("insert into gearsState values (?)",[_604]); } catch(ex){ setError("Issue with gearsState table: "+ex.message); } } function hasPermission(){ var _605=true; if(window.google&&google.gears){ _605=!!(window.google&&google.gears); try{ var ls=google.gears.factory.create("beta.localserver","1.0"); var str=ls.createManagedStore(STORE_NAME); } catch(e){ _605=false; } } return _605; } function storeDataInLocalSession(xml){ try{ db=google.gears.factory.create("beta.database","1.0ext"); db.open("addraw_local"); db.transaction(function(db){ db.doo("create table if not exists session_local (xml TEXT)"); db.execute("delete from session_local"); db.execute("insert into session_local values (?)",[xml]); }); } catch(e){ alert("storeDataInLocalSession - "+e.message); throw new Error(e.message); } } function loadRefreshDataFromLocalDB(){ if(!isOnline()){ var _60a; setSplashScreenMessage("Refreshing canvas from local..."); try{ db=google.gears.factory.create("beta.database","1.0ext"); db.open("addraw_local"); db.doo("create table if not exists session_local (xml TEXT)"); var rs=db.execute("select xml from session_local"); while(rs.isValidRow()){ _60a=rs.field(0); rs.next(); } rs.close(); } catch(e){ throw new Error(e.message); } if(_60a){ var _60c=_60a; var div=c.getValidDocumentFromResponse(_60c); c.open(div); var _60e=(c.getZoom()*100).toFixed(0); toolbar_MENUBAR_2.setText(toolbar_ZOOM_TEXT_ID,(_60e+"%")); updateGrid(_60e); } setSplashScreenMessage("Finished refreshing canvas from local."); } } function flipOffline(){ if(!auth){ alert("You must be logged in to initiate the offline mode."); cachedCommand="flipOffline"; authenticated(); return; } var _60f=navigator.userAgent; if(navigator.onLine){ if(!window.google||!google.gears){ var x=window.confirm("This feature allows you to use Project Draw offline.  You will be able to draw and save your diagrams without an internet connection.  When you go back online, your files will be synchronized with the server automatically.  \n\nTo use this feature you will need to install Google Gears.  Please note that the Google Gears installation requires you to restart your browser. \n\n Click \"OK\" to install Google Gears."); if(!x){ return; } location.href="http://gears.google.com/?action=install&message=To use Autodesk Lab's Project Draw offline, please install Google Gears"+"&return="+GEARS_RETURN_URL; return; } if(hasPermission()){ if(isOnline()){ var _611=confirm("You are about to synchronize your files for offline use.  This could take a few minutes. \n\nIf you have not saved your current diagram, please do so before proceeding.\n\nIf at any time during the synchronization process you decide to cancel this operation,\nplease follow these steps:\n\n1) Press F5 to refresh your browser.\n\n2) Click the \"ONLINE\" button."); if(_611){ getLatestFilesFromServer(); setMenuItemSelected(toolbar_OFFLINE_ID,true); setMenuItemSelected(toolbar_ONLINE_ID,false); setHelp("Preparing for offline use.  Please wait..."); toolbar_MENUBAR_1.hideMenuItem(2); toolbar_MENUBAR_1.hideMenuItem(3); this.toolbar_MENUBAR_2.hideMenuItem(200121); toolbar_MENUBAR_2.hideMenuItem(200407); toolbar_MENUBAR_2.hideMenuItem(200110); toolbar_MENUBAR_2.hideMenuItem(200408); toolbar_MENUBAR_1.hideMenuItem(100122); c.reset(); } }else{ alert("You are already in offline mode"); } }else{ alert("To take Project Draw offline, it must be added to Google Gears' 'Allowed Sites' list.  Please follow these steps:\n\n"+"1) Locate the menu item 'Google Gears Settings' in your browser's 'Tools' menu.\n\n"+"2) If Project Draw is listed in the 'Denied Sites' list, remove it.\n\n"+"3) If you do not see Project Draw in either the 'Allowed' or 'Denied' lists, refresh your browser.\n\n"+"4) When the 'Google Gears Security Warning' dialog pops up, allow Project Draw to use Google Gears."); } }else{ alert("You must be connected to the Project Draw server to use this functionality.\nPlease check your network connection."); } } function flipOnline(){ if(!auth){ alert("You must be logged in to initiate the online mode."); cachedCommand="flipOnline"; authenticated(); return; } if(navigator.onLine){ if(!isOnline()){ removeStore(); setMenuItemSelected(toolbar_OFFLINE_ID,false); setMenuItemSelected(toolbar_ONLINE_ID,true); setHelp("You are now online."); toolbar_MENUBAR_1.showMenuItem(2); toolbar_MENUBAR_1.showMenuItem(3); this.toolbar_MENUBAR_2.showMenuItem(200121); toolbar_MENUBAR_2.showMenuItem(200407); toolbar_MENUBAR_2.showMenuItem(200110); toolbar_MENUBAR_2.showMenuItem(200408); toolbar_MENUBAR_1.showMenuItem(100122); }else{ alert("You are already in online mode"); } }else{ alert("You must be connected to the Project Draw server to use this functionality.\nPlease check your network connection."); } } function detectNetworkConnectivity(){ var _612=new NetworkDetection("ping.html"); _612.addEventListener("online",function(eAja){ $("display").innerHTML=""; $("display").removeClassName("offline"); this.connected=true; }); _612.addEventListener("offline",function(eAja){ $("display").innerHTML="d\ni\ns\nc\no\nn\nn\ne\nc\nt\ne\nd"; $("display").addClassName("offline"); setHelp("You are disconnected from the Project Draw server."); this.connected=false; }); } if(!window.google||!google.gears){ }else{ (function(){ function _db(_615){ this.innerDb_=_615; this.nesting_=0; this.rollback_=0; this.lastInsertRowId=null; this.open=function(name){ return this.innerDb_.open(name); }; this.execute=function(_617,_618){ var ret=this.innerDb_.execute(_617,_618); this.lastInsertRowId=this.innerDb_.lastInsertRowId; return ret; }; this.close=function(){ return this.innerDb_.close(); }; this.quote=function(v){ if(typeof (v)=="string"){ return this.selectSingle("select quote(?)",[v]); }else{ var r=[]; var n; while((n=v.shift())){ r.push(this.selectSingle("select quote(?)",[n])); } return r; } }; this.doo=function(_61d,_61e){ this.execute(_61d,_61e).close(); return 0; }; this.doForEach=function(_61f,fn){ var _621; var ret=0; while((_621=fn.call(null))){ ret+=this.doo(_61f,_621); } return ret; }; this.doArray=function(_623,_624){ var _625=_624.slice(); return this.doForEach(_623,function(){ return _625.shift(); }); }; this.transaction=function(fn){ var ret; if(this.nesting_==0){ this.doo("BEGIN"); this.rollback_=0; } try{ ++this.nesting_; ret=fn.call(null,this); if(this.nesting_==1){ if(this.rollback_){ this.doo("ROLLBACK"); }else{ this.doo("COMMIT"); } } } catch(e){ if(this.nesting_==1){ this.doo("ROLLBACK"); } this.rollback_=1; throw e; } finally{ if(!--this.nesting_){ this.rollback_=0; } } return ret; }; this.rollback=function(){ if(this.nesting_){ this.rollback_=1; } }; this.selectSingle=function(_628,_629){ var rs=this.execute(_628,_629); var ret; try{ if(rs.fieldCount()!=1){ throw ("selectSingle() requires exactly one field"); } if(!rs.isValidRow()){ ret=null; }else{ ret=rs.field(0); rs.next(); if(rs.isValidRow()){ throw ("selectSingle() requires one or zero rows"); } } } finally{ rs.close(); } return ret; }; this.selectColumn=function(_62c,_62d){ var rs=this.execute(_62c,_62d); var ret=[]; try{ if(rs.fieldCount()!=1){ throw ("selectColumn() requires exactly one field"); } while(rs.isValidRow()){ ret.push(rs.field(0)); rs.next(); } } finally{ rs.close(); } return ret; }; this.selectRow=function(_630,_631){ var rs=this.execute(_630,_631); var ret={}; try{ if(rs.isValidRow()){ var cols=rs.fieldCount(); for(var i=0;i<cols;i++){ ret[rs.fieldName(i)]=rs.field(i); } rs.next(); if(rs.isValidRow()){ throw ("selectRow() requires one or zero rows"); } }else{ return null; } } finally{ rs.close(); } return ret; }; this.select=function(_636,_637,_638){ var rs=this.execute(_636,_637); var ret=[]; try{ var cols=rs.fieldCount(); var _63c=[]; for(var i=0;i<cols;i++){ _63c.push(rs.fieldName(i)); } var _63e; while(rs.isValidRow()){ _63e={}; for(var i=0;i<cols;i++){ _63e[_63c[i]]=rs.field(i); } ret.push(_638.call(null,_63e)); rs.next(); } } finally{ rs.close(); } return ret; }; this.selectAll=function(_63f,_640){ return this.select(_63f,_640,function(_641){ return _641; }); }; this.selectAllAsArrays=function(_642,_643){ var rs=this.execute(_642,_643); var ret=[]; try{ var cols=rs.fieldCount(); var _647; while(rs.isValidRow()){ _647=[]; for(var i=0;i<cols;i++){ _647.push(rs.field(i)); } ret.push(_647); rs.next(); } } finally{ rs.close(); } return ret; }; } function _factory(_649){ this.innerFactory_=_649; this.create=function(_64a,_64b){ if(_64a=="beta.database"&&_64b=="1.0ext"){ var db=this.innerFactory_.create(_64a,"1.0"); return db?new _db(db):db; } return this.innerFactory_.create(_64a,_64b); }; this.getBuildInfo=function(){ return this.innerFactory_.getBuildInfo(); }; } var _64d=new _factory(google.gears.factory); google.gears={factory:_64d}; })(); } var moveObj=null; var objLocation={x:0,y:0}; var moveLocation={x:0,y:0}; var nn6=document.getElementById&&!document.all; var valueInIFrame=FW_URL+"/dwf_S.aspx?path=http%3a%2f%2f${fwl.domain}%2fsample%2fCompositeSuspension.dwf"; var orgFun={mousemove:null,mouseup:null,mouseout:null}; var divFreewhellMove=function(e){ if(moveObj==null){ orgFun.mousemove=document.onmousemove; orgFun.mouseup=document.onmouseup; orgFun.mouseout=document.onmouseout; } moveObj=document.getElementById("_showDWFBox"); document.onmousemove=function(e){ if(moveObj!=null){ var subX=nn6?e.clientX:event.clientX; subX-=moveLocation.x; var subY=nn6?e.clientY:event.clientY; subY-=moveLocation.y; moveObj.style.left=objLocation.x+subX; moveObj.style.top=objLocation.y+subY; } }; document.onmouseup=function(e){ moveObj=null; document.onmousemove=orgFun.mousemove; document.onmouseup=orgFun.mouseup; document.onmouseout=orgFun.mouseout; }; objLocation.x=Number(moveObj.style.left.replace("px","")); objLocation.y=Number(moveObj.style.top.replace("px","")); moveLocation.x=nn6?e.clientX:event.clientX; moveLocation.y=nn6?e.clientY:event.clientY; }; var DWFShape=null; var DWFShape1=null; var setPropertyForDWFImage=function(_653,obj){ var str="freewheel:"; for(x in obj){ if(typeof obj[x]!="function"){ str+=x+":"+obj[x]+"::"; } } _653.setAttribute("name",str); }; var changeFreewheelProperty=function(_656,_657){ obj=getPropertyForDWFImage(_656); for(name in _657){ if(typeof _657[name]!="function"){ obj[name]=_657[name]; } } setPropertyForDWFImage(_656,obj); adjustDWFImage(_656); }; var isDWF2D=function(_658){ var obj=getPropertyForDWFImage(_658); if(obj!=null&&obj.model=="2D"){ return true; } return false; }; var getPropertyForDWFImage=function(_65a){ str=_65a.getAttribute("name"); if(str!=null&&str.indexOf("freewheel:")==0){ str=str.replace("freewheel:",""); }else{ return null; } var obj1=str.split("::"); var obj2=null; var _65d=[]; if(obj1.length==1&&str.indexOf(":")==-1){ _65d["path"]=str; } while(obj1.length>0){ obj2=obj1.pop().split(":"); if(obj2.length>=2){ _65d[obj2[0]]=obj2[1]; } } return _65d; }; var adjustDWFImage=function(_65e){ var obj=getPropertyForDWFImage(_65e); if(obj==null||obj.path==null){ return; } strPic=FW_URL+"/dwfimage.aspx?width=600&height=600"+obj.path.replace("?","&"); if(obj.bg!=null&&obj.bg.length>0){ strPic+="&bg="+obj.bg; } var _660=""; var _661=""; var img=new Image(); var _663=_65e.getElementsByTagName("image")[0]; if(_65e.tagName=="g"){ _660=_663.getAttribute("width"); if(_660!=null&&_660.length>0){ _660=parseInt(_660); _660=_660-(_660%2); strPic=strPic.replace(/width=\d+/g,"width="+_660); } _661=_663.getAttribute("height"); if(_661!=null&&_661.length>0){ _661=parseInt(_661); strPic=strPic.replace(/height=\d+/g,"height="+_661); } var _664="http://www.w3.org/1999/xlink"; _663.setAttributeNS(_664,"xlink:href",strPic); }else{ _660=_65e.style.width; if(_660!=null&&_660.length>0){ _660=parseInt(_660); _660=_660-(_660%2); strPic=strPic.replace(/width=\d+/g,"width="+_660); } _661=_65e.style.height; if(_661!=null&&_661.length>0){ _661=parseInt(_661); strPic=strPic.replace(/height=\d+/g,"height="+_661); } _663.setAttribute("src",strPic); } }; var getPositionForDWFShape=function(_665){ var t=0,l=0; if(_665.tagName=="g"){ var svg=_665.getElementsByTagName("svg")[0]; l=Number(svg.getAttribute("x").replace("px","")); t=Number(svg.getAttribute("y").replace("px","")); }else{ l=Number(_665.style.left.replace("px","")); t=Number(_665.style.top.replace("px","")); } return {left:(l+180)+"px",top:(t+92)+"px"}; }; function showColorPaletteForDWF(div){ var _66a=$("cpicker"); var _66b=Position.cumulativeOffset(div); _66a.style.visibility="visible"; _66a.style.position="absolute"; _66a.style.overflow="visible"; _66a.style.left=_66b[0]; _66a.style.top=_66b[1]; _66a.style.zIndex=10002; currentColorMode=div.id; } var freewheelobj=null; var isNewFwShape=false; var attachCameraId=-1; function OpenSelectFwDiv(){ var obj=document.getElementById("_uploadDWFBox"); obj.style.display="inline"; obj.style.visibility="visible"; } function openView(){ str=getPropertyForDWFImage(DWFShape).path; DWFShape1=DWFShape; openDWFFileFromURLParameter(str); var p=getPositionForDWFShape(DWFShape1); $("_showDWFBox").style.left=p.left; $("_showDWFBox").style.top=p.top; } function openDWFFileFromURLParameter(_66e){ var obj=document.getElementById("_showDWFBox"); obj.style.visibility="visible"; obj.style.display="inline"; document.getElementById("_dwfUpdateBtn").style.display="none"; document.getElementById("_dwfWindowClose").style.left="260px"; _showDWFShape.openDWFFileFromURLParameter(_66e); if(!_showDWFShape.isAttaching()){ _showDWFShape.attachCameraChange(attachCamera); } isNewFwShape=false; } var attachCamera=function(str){ if(!DWFShape1){ return; } uploadDWFStatus(); }; function openDWFFile(_671){ var obj=document.getElementById("_showDWFBox"); obj.style.visibility="visible"; obj.style.display="inline"; document.getElementById("_dwfUpdateBtn").style.display="inline"; document.getElementById("_dwfUpdateBtn").value="Create New Shape"; document.getElementById("_dwfWindowClose").style.left="360px"; _showDWFShape.openFreewheel(_671); if(!_showDWFShape.isAttaching()){ _showDWFShape.attachCameraChange(attachCamera); } isNewFwShape=true; document.getElementById("_waitDWFResponse").style.display="none"; document.getElementById("_uploadDWFBox").style.visibility="hidden"; } function openDwfFromURL(){ openDWFFile(document.getElementById("_dwfUrl").value); } function updateDWFFromLocal(str){ var m=str.substring(str.indexOf("path=")+"path=".length); m=decodeURIComponent(m); openDWFFile(m); } function openDwfFromLocal(){ var obj=document.getElementById("_uploadDWFfile"); if(obj.value==""){ return false; } document.getElementById("fwUploadForm").action=uploadDwfFilePostUrl+"?url="+uploadDwfFileBackUrl; document.getElementById("_waitDWFResponse").style.display="inline"; document.getElementById("fwUploadForm").submit(); } function uploadDWFStatus(){ var str=_showDWFShape.getURLParameter(); var _677=_showDWFShape.canTransparent(); if(_677){ _677="2D"; }else{ _677="3D"; } if(isNewFwShape){ var left=258+c.container.parentNode.scrollLeft; var top=160+c.container.parentNode.scrollTop; c.createNewFreewheel(str,left,top,150,150,{model:_677}); document.getElementById("_showDWFBox").style.display="none"; }else{ if(DWFShape1){ changeFreewheelProperty(DWFShape1,{path:str,model:_677}); } } if(DWFShape&&isDWF2D(DWFShape)){ $("_changeDWFTransparent").style.display=""; $("_changeDWFBackground").style.display=""; }else{ $("_changeDWFTransparent").style.display="none"; $("_changeDWFBackground").style.display="none"; } } function closeDWFBox(){ $("_showDWFBox").style.display="none"; DWFShape1=null; } function uploadDWF(){ if($("_fromDWFURL").checked){ openDwfFromURL(); }else{ openDwfFromLocal(); } } var EventDispatcher=function(){ }; Object.extend(EventDispatcher.prototype,{buildListenerChain:function(){ if(!this.listenerChain){ this.listenerChain={}; } },addEventListener:function(type,_67b){ this.buildListenerChain(); if(!this.listenerChain[type]){ this.listenerChain[type]=[_67b]; }else{ this.listenerChain[type].push(_67b); } },hasEventListener:function(type){ return (typeof this.listenerChain[type]!="undefined"); },removeEventListener:function(type,_67e){ if(!this.hasEventListener(type)){ return false; } for(var i=0;i<this.listenerChain[type].length;i++){ if(this.listenerChain[type][i]==_67e){ this.listenerChain.splice(i,1); } } },dispatchEvent:function(type,args){ this.buildListenerChain(); if(!this.hasEventListener(type)){ return false; } this.listenerChain[type].any(function(f){ return (f(args)==false?true:false); }); }}); Ajax.Application={}; Ajax.Application.Base=Class.create(); Ajax.Application.Cache=Class.create(); Object.extend(Ajax.Application.Base.prototype,{method:"post",sendRequest:function(dto,cb){ var p=this.compileDTO(dto); new Ajax.Request(this.url,{parameters:p,method:this.method,onSuccess:this.receiveRequest.bind(this,cb),onFailure:this.ajaxFailure.bind(this),onException:this.ajaxException.bind(this)}); },receiveRequest:function(cb,eAja){ cb(eAja); },ajaxFailure:function(){ if(typeof console=="object"){ console.log("Ajax Request failed args = %o ",arguments); }else{ alert("Ajax request has failed. Application integrity has been compromised."); } },ajaxException:function(){ if(typeof console=="object"){ console.log("ajax exception occured args = %o",arguments); } },compileDTO:function(dto){ if(typeof dto=="object"){ return $H(dto).toQueryString(); }else{ if(typeof dto=="string"){ return dto; }else{ throw {message:"object sent to sendRequest was invalid type.  Type = "+typeof dto}; } } }}); Object.extend(Object.extend(Ajax.Application.Cache.prototype,Ajax.Application.Base.prototype),{getCache:function(){ if(!this.requestCache){ this.requestCache={}; } return this.requestCache; },setCache:function(obj){ Object.extend(this.requestCache,obj||{}); },sendRequest:function(dto,cb){ var _68c=this.getCache(); var key=this.compileDTO(dto); if(!_68c[key]){ var _68e=this.registerCache.bind(this,cb,key); Ajax.Application.Base.prototype.sendRequest.apply(this,[key,_68e]); }else{ cb(_68c[key]); } },registerCache:function(cb,key,eAja){ var _692={}; _692[key]=eAja; this.setCache(_692); cb(eAja); }}); Ajax.Application.Event=function(){ }; Object.extend(Object.extend(Ajax.Application.Event.prototype,Ajax.Application.Base.prototype),EventDispatcher.prototype); Ajax.Service={}; Ajax.Service.Base=function(){ }; Ajax.Service.History=function(){ }; Object.extend(Object.extend(Ajax.Service.Base.prototype,Ajax.Application.Event.prototype),{sendRequest:function(dto,cb){ this.dispatchEvent("request",dto); Ajax.Application.Event.prototype.sendRequest.apply(this,[dto,cb]); },receiveRequest:function(cb,eAja){ this.dispatchEvent("response",eAja); Ajax.Application.Event.prototype.receiveRequest.apply(this,[cb,eAja]); }}); Object.extend(Object.extend(Ajax.Service.History.prototype,Ajax.Service.Base.prototype),{buildInterface:function(obj){ this.historyArr=[]; this.historyIndex=undefined; this.container=$(obj); this.historyFrame=this.container.down("iframe"); this.form=this.container.down("form"); },attachListener:function(){ Event.observe(this.historyFrame,"load",this.reloadHandle); },createListener:function(){ this.reloadHandle=this.handleReload.bindAsEventListener(this); },handleReload:function(e){ var _699=this.getHistoryIndex(); var obj=this.historyArr[_699]; if(!obj){ return true; } this.historyIndex=_699+1; this.dispatchEvent("reload",[obj,_699]); this.dispatchEvent(obj.type,obj.arg); },getHistoryIndex:function(){ return parseInt(this.getIndex(this.historyFrame.contentWindow.location.toString())); },getIndex:function(str){ return str.replace(/.*index=/gi,""); },getQuery:function(str){ return str.replace(/[^?]+?/gi,""); },registerRequest:function(type,eAja){ if(this.historyIndex&&this.historyIndex<this.historyArr.length){ this.historyArr.length=this.historyIndex; } this.form.index.value=this.historyArr.length; this.historyArr.push({type:type,arg:eAja}); this.form.submit(); }}); Ajax.Service.Bookmark=Class.create(); Object.extend(Object.extend(Ajax.Service.Bookmark.prototype,Ajax.Service.Base.prototype),{getBookmarkHash:function(){ if(!this.bookmarkHash){ return this.bookmarkHash=$H(); } return this.bookmarkHash; },getOperation:function(name){ return this.getBookmarkHash()[name]; },setOperation:function(name,arg){ this.getBookmarkHash()[name]=arg; },getOperationKeys:function(){ return this.getBookmarkHash().keys(); }}); Ajax.Service.BookmarkHistory=Class.create(); Object.extend(Object.extend(Ajax.Service.BookmarkHistory.prototype,Ajax.Service.History.prototype),{buildInterface:function(){ Ajax.Service.History.prototype.buildInterface.apply(this,arguments); this.historyRequestList=[]; },sendRequest:function(dto,cb){ Ajax.Application.Base.prototype.sendRequest.apply(this,arguments); this.registerRequest(dto,cb); },registerRequest:function(dto){ this.historyRequestList.push(dto); },registerResponse:function(){ Ajax.Service.History.prototype.registerRequest.apply(this,arguments); },handleReload:function(e){ var _6a6=this.getHistoryIndex(); var obj=this.getResponseHistory(_6a6); if(!obj){ return true; } var _6a8=this.getRequestHistory(_6a6); this.historyIndex=_6a6+1; this.dispatchEvent("request",_6a8); this.dispatchEvent("response",obj); this.dispatchEvent(obj.type,obj.arg); },getResponseHistory:function(num){ return this.historyArr[num]; },getRequestHistory:function(num){ return this.historyRequestList[num]; },getBookmarkHash:function(){ if(!this.bookmarkHash){ return this.bookmarkHash=$H(); } return this.bookmarkHash; },getOperation:function(name){ return this.getBookmarkHash()[name]; },setOperation:function(name,arg){ this.getBookmarkHash()[name]=arg; },getOperationKeys:function(){ return this.getBookmarkHash().keys(); }}); var NetworkDetection=Class.create(); Object.extend(Object.extend(NetworkDetection.prototype,Ajax.Service.Base.prototype),{initialize:function(url,_6af){ this.url=url; this.options=Object.extend({interval:9000},_6af||{}); this.createListener(); this.status="online"; this.startTimer(); },startTimer:function(){ this.stopTimer(); this.timer=window.setInterval(this.checkNetwork.bind(this),this.options.interval); },stopTimer:function(){ window.clearInterval(this.timer); },createListener:function(){ this.receiveNetworkHandle=this.receiveNetwork.bind(this); },checkNetwork:function(){ this.sendRequest({},this.receiveNetworkHandle); },receiveNetwork:function(eAja){ this.toggleNetwork("online",eAja); },ajaxFailure:function(eAja){ this.toggleNetwork("offline",eAja); },ajaxException:function(eAja){ this.toggleNetwork("offline",eAja); },toggleNetwork:function(str,eAja){ if(this.status!=str){ this.dispatchEvent(str,eAja); this.setStatus(str); } },setStatus:function(str){ this.status=str; },getStatus:function(){ return this.status; }});    			/*Copyright 2007-2009 Autodesk, Inc. All Rights Reserved.*/ 		  