home *** CD-ROM | disk | FTP | other *** search
/ Flash MX Savvy / FlashMX Savvy.iso / pc / WIN / UltraDev / UltraDev_Trial.exe / Disk1 / data1.cab / Configuration_En / Commands / Flash Text.js < prev    next >
Encoding:
JavaScript  |  2000-12-11  |  18.3 KB  |  538 lines

  1. // Copyright 2000 Macromedia, Inc. All rights reserved.
  2. //*************** GLOBAL CONSTANTS *****************
  3. var helpDoc = MM.HELP_objFlashText;
  4. var FILE_CONFIG_PATH = dw.getConfigurationPath();
  5. var FILE_TEXT_TEMPLATE_PATH = FILE_CONFIG_PATH + "/Flash Objects/Flash Text/text template.swt";
  6. var TYPE_STR = "Flash Text";
  7. var STYLE_EXT_STR = "swt";
  8. var TYPE_PARAMETER = "dwType";
  9. var YIELD_PATH = "../Shared/MM/Images/yield.gif";
  10. var DEFAULT_SIZE = 30;
  11. var MAX_FILE_LENGTH = 23;
  12. //*************** GLOBAL VARIABLES *****************
  13. // UI Elements
  14. var MENU_FONTS, MENU_TARGET;
  15. var TEXT_SIZE, TEXT_URL, TEXT_SAVE_AS;
  16. var TEXTAREA_TEXT;
  17. var CHECKBOX_FONT, CHECKBOX_SIZE;
  18. var TEXT_TEXT_COLOR, TEXT_ROLLOVER_COLOR, TEXT_BG_COLOR;
  19. var COLORP_TEXT, COLORP_ROLLOVER, COLORP_BG;
  20. var IBTN_boldBtn, IBTN_italicBtn;
  21. var IBTN_rightAlignBtn, IBTN_leftAlignBtn, IBTN_centerAlignBtn, IBTN_justifyAlignBtn;
  22. var IBTN_GROUP_ALIGN;
  23. var AREA_WARNING;
  24. // other globals
  25. var ARRAY_TARGET_STR = new Array("","_blank","_parent","_self","_top");
  26. var REEDIT_SWF_PATH;
  27. var URL_BROWSE;
  28. var ALIGN_MAP = new Array();
  29. var ALIGNMENT = new Array("left","right","center","justified");
  30. var ALIGNMENT_BTNS = new Array("leftAlignBtn","rightAlignBtn","centerAlignBtn","justifyAlignBtn");
  31. var FLAG_OVERWRITE = new Object();
  32. FLAG_OVERWRITE.state = false;
  33. FLAG_OVERWRITE.reEdit = false;
  34. var FILE_CURRENT_DOC_PATH;
  35. var WIDTH_PERCENT;
  36. var HEIGHT_PERCENT;
  37. var LAST_SIZE=DEFAULT_SIZE;
  38. //******************* API **********************
  39.  
  40. function commandButtons()
  41. {
  42.    return new Array( BTN_OK,  "cmdOK(); "
  43.            , BTN_Apply, "cmdApply();"
  44.                    , BTN_Cancel, "cmdCancel();"
  45.                    , BTN_Help, 'displayHelp()');
  46. }
  47.  
  48. function cmdOK()
  49. {
  50.   var done = insertTextHTML();
  51.   if (done)
  52.     window.close();
  53. }
  54.  
  55. function cmdApply()
  56. {
  57.  var filename = document.saveAsField.getAttribute("value");
  58.  insertTextHTML();
  59.  FLAG_OVERWRITE.state = true;
  60.  FLAG_OVERWRITE.file = addExtention(filename, "swf");
  61. //  var dom = dw.getDocumentDOM();
  62. //  dom.insertHTML("test apply", true);
  63. }
  64.  
  65. function cmdCancel()
  66. {
  67.   window.close();
  68. }
  69.  
  70. function receiveArguments(swfPath)
  71. {
  72.   var fileName, fileObj;
  73.   var dom = dw.getDocumentDOM('document');
  74.   var sizeArray = SWFFile.getNaturalSize(swfPath);
  75.   var widthHTML = getSelectedNodeAttr("WIDTH",dom);
  76.   var heightHTML = getSelectedNodeAttr("HEIGHT",dom);
  77.   FILE_CURRENT_DOC_PATH = dw.getDocumentPath("document");
  78.   if (swfPath)
  79.   {
  80.     REEDIT_SWF_PATH = swfPath;
  81. //    fileObj = new File(REEDIT_SWF_PATH);
  82. //  fileName = fileObj.getName();
  83.     FLAG_OVERWRITE.state = true;
  84.   FLAG_OVERWRITE.reEdit = true;
  85. //    FLAG_OVERWRITE.file = fileName;
  86.   FLAG_OVERWRITE.file = absoluteToRelativeURL(swfPath, FILE_CURRENT_DOC_PATH,false);
  87.   WIDTH_PERCENT = widthHTML/sizeArray[0];
  88.     HEIGHT_PERCENT = heightHTML/sizeArray[1];
  89.   }
  90. }
  91. //***************** LOCAL FUNCTIONS  ******************
  92.  
  93. function initializeUI()
  94. {
  95.   var fontArray, targetArray, docFramesArray, swfButtonParams;
  96.   FILE_CURRENT_DOC_PATH = dw.getDocumentPath("document");
  97.   MENU_FONTS = new ListControl("fontMenu");
  98.   MENU_TARGET = new ListControl("targetMenu");
  99.   fontArray = filterFonts(dw.getSystemFontList("TrueType"));
  100.   if (!fontArray)
  101.   {
  102.     alert(MSG_NoFontsInstalled);
  103.   window.close();
  104.   return "";
  105.   }
  106.   else
  107.     MENU_FONTS.setAll(fontArray,fontArray);
  108.   docFramesArray = dw.getDocumentDOM().getFrameNames();
  109.   targetArray = ARRAY_TARGET_STR;
  110.   if (docFramesArray)
  111.     targetArray = targetArray.concat(docFramesArray);
  112.   MENU_TARGET.setAll(targetArray, targetArray);
  113.   TEXT_SIZE = document.theForm.sizeField;
  114.   TEXTAREA_TEXT = document.theForm.textInputField;
  115.   TEXT_URL = document.theForm.linkField;
  116.   TEXT_SAVE_AS = document.theForm.saveAsField;
  117.   TEXT_TEXT_COLOR = document.theForm.textColorField;
  118.   TEXT_ROLLOVER_COLOR = document.theForm.rolloverColorField;
  119.   TEXT_BG_COLOR = document.theForm.bgColorField;
  120.   COLORP_TEXT = document.theForm.textColorP;
  121.   COLORP_ROLLOVER = document.theForm.rolloverColorP;
  122.   COLORP_BG = document.theForm.bgColorP;
  123.   CHECKBOX_FONT = document.theForm.fontCheckBox;
  124.   CHECKBOX_SIZE = document.theForm.sizeCheckBox;
  125.   IBTN_boldBtn = new ImageButton("boldBtn","IBTN_boldBtn","sSd");
  126.   IBTN_italicBtn = new ImageButton("italicBtn","IBTN_italicBtn","sSd");
  127.   IBTN_rightAlignBtn = new ImageButton("rightAlignBtn");
  128.   IBTN_leftAlignBtn = new ImageButton("leftAlignBtn");
  129.   IBTN_centerAlignBtn = new ImageButton("centerAlignBtn");
  130.   IBTN_GROUP_ALIGN = new ImageButtonGroup(IBTN_rightAlignBtn, IBTN_leftAlignBtn, IBTN_centerAlignBtn);
  131.   IBTN_GROUP_ALIGN.select('leftAlignBtn');
  132.  
  133.   for (var i=0; i< ALIGNMENT_BTNS.length; i++)
  134.     ALIGN_MAP[ALIGNMENT_BTNS[i]] = ALIGNMENT[i];
  135.   AREA_WARNING = document.theForm.warningMessage;
  136.   if (REEDIT_SWF_PATH)
  137.   {
  138. //  REEDIT_SWF_PATH =File.getFullUrl(REEDIT_SWF_PATH, FILE_CURRENT_DOC_PATH);  // modify text does not pass in full path
  139.     swfButtonParams = SWFFile.readFile(REEDIT_SWF_PATH);
  140.     swfButtonParams.unshift("templatePath");
  141. //    if (navigator.platform != "Win32")
  142.     if (!hasDoubleByteChar(swfButtonParams[1]))
  143.       swfButtonParams[1] = unescape(swfButtonParams[1]);
  144.     if (swfButtonParams.length % 2 != 0) // if last parameter has no value array is odd
  145.       swfButtonParams.push("");
  146.     populateUI(swfButtonParams,absoluteToRelativeURL(REEDIT_SWF_PATH, FILE_CURRENT_DOC_PATH,true));
  147.   }
  148.   else
  149.   {
  150.     updateUI("fontMenu");
  151.     TEXT_SAVE_AS.value = createUniqueFilename("text", getDocumentDir(FILE_CURRENT_DOC_PATH),MAX_FILE_LENGTH);
  152.   }
  153.   TEXTAREA_TEXT.focus();
  154.   TEXTAREA_TEXT.select();
  155.   return "";
  156. }
  157.  
  158. function updateUI(itemName)
  159. {
  160.   var styleAttribute, replacementStr,browseURL, pattern, theLink, fontStyles,theFont;
  161.   switch(itemName)
  162.   {
  163.     case "fontMenu":
  164.   {
  165.     if (CHECKBOX_FONT.checked == true)
  166.     {
  167.       theFont = MENU_FONTS.get();
  168.       replacementStr = "font-family:" + theFont + ";";
  169.       pattern = /font-family:.*;/ ;
  170.       updateStyle(TEXTAREA_TEXT,pattern, replacementStr);
  171.       (!hasDoubleByteChar(theFont)) ? IBTN_boldBtn.enable() : IBTN_boldBtn.disable();
  172. //      fontStyles = dw.getFontStyles(theFont);
  173. //      (fontStyles[0]==true) ? IBTN_boldBtn.enable() : IBTN_boldBtn.disable();
  174. //      (fontStyles[1]==true) ? IBTN_italicBtn.enable() : IBTN_italicBtn.disable();
  175.     }
  176.     break;
  177.   }
  178.   case "boldBtn":
  179.   {
  180. //    theFont = MENU_FONTS.get();
  181. //    fontStyles = dw.getFontStyles(theFont);
  182. //    if (IBTN_boldBtn.value == true && fontStyles[2]==false)
  183. //      IBTN_italicBtn.disable();
  184. //    else if (fontStyles[1]==true)
  185. //      IBTN_italicBtn.enable();
  186.   }
  187.   case "italicBtn":
  188.   {
  189. //    theFont = MENU_FONTS.get();
  190. //    fontStyles = dw.getFontStyles(theFont);
  191. //    if (IBTN_italicBtn.value == true && fontStyles[2]==false)
  192. //      IBTN_boldBtn.disable();
  193. //    else if (fontStyles[0]==true)
  194. //      IBTN_boldBtn.enable();
  195.   }
  196.   case "sizeField":
  197.   {
  198.     if (!isInteger(TEXT_SIZE.value))
  199.     {
  200.       TEXT_SIZE.value = LAST_SIZE;
  201.     }
  202.     else
  203.       LAST_SIZE = TEXT_SIZE.value
  204. /*
  205.     if (CHECKBOX_SIZE.checked == true)
  206.     {
  207.       replacementStr = "font-size:" + TEXT_SIZE.value + ";";
  208.       pattern = /font-size:\s*\w*\s*;/ ;
  209.       updateStyle(TEXTAREA_TEXT,pattern, replacementStr);
  210.     }
  211. */
  212.     break;
  213.   }
  214.   case "fontCheckBox":
  215.   {
  216.     if (CHECKBOX_FONT.checked == false)
  217.     {
  218.       replacementStr = "font-family:;";
  219.       pattern = /font-family:.*;/;
  220.       updateStyle(TEXTAREA_TEXT,pattern, replacementStr);
  221.     }
  222.     else
  223.       updateUI("fontMenu")
  224.     break;
  225.   }
  226. /*  case "sizeCheckBox":
  227.   {
  228.     if (CHECKBOX_SIZE.checked == false)
  229.     {
  230.       replacementStr = "font-size:;";
  231.       pattern = /font-size:\s*\w*\s*;/ ;
  232.       updateStyle(TEXTAREA_TEXT,pattern, replacementStr);
  233.     }
  234.     else
  235.       updateUI("sizeField");
  236.     break;
  237.   }
  238. */
  239.   case "linkField":
  240.   {
  241.     theLink = TEXT_URL.value;
  242.     if (isSiteRelative(theLink))
  243.       AREA_WARNING.innerHTML = createWarningMsgHTML(MSG_SiteRelLinkWarning, YIELD_PATH);
  244.     else if (isDocRel(theLink))
  245.       AREA_WARNING.innerHTML = createWarningMsgHTML(MSG_DocRelLinkWarning, YIELD_PATH);
  246.     else if (theLink.indexOf("file:///")!=-1)
  247.       AREA_WARNING.innerHTML = createWarningMsgHTML(MSG_LocalURLLinkWarning, YIELD_PATH);
  248.     else
  249.       AREA_WARNING.innerHTML = "";
  250.     break;
  251.   }
  252.   case "linkButton":
  253.   {
  254.     browseURL = dreamweaver.browseForFileURL("select",LABEL_Select, false, true);
  255.     if (browseURL)
  256.       TEXT_URL.setAttribute("value", browseURL);
  257.     updateUI("linkField");
  258.     break;
  259.   }
  260.   case "saveAsButton":
  261.   {
  262. //    browseURL = dreamweaver.browseForFolderURL(LABEL_SelectFolder);
  263.     browseURL = dreamweaver.browseForFileURL("save",LABEL_Select, false, true);
  264.     browseURL = absoluteToRelativeURL(browseURL, FILE_CURRENT_DOC_PATH,false);
  265.     if (browseURL)
  266.       TEXT_SAVE_AS.setAttribute("value", browseURL);
  267.     break;
  268.   }
  269.   case "textColorP":
  270.   {
  271.     updateColorPicker("colorPicker", COLORP_TEXT, TEXT_TEXT_COLOR);
  272.     if (COLORP_TEXT.value == "")
  273.       TEXT_TEXT_COLOR.setAttribute("value","#000000");
  274.   }
  275.     case "textColorField":
  276.   {
  277.     updateColorPicker("colorField", COLORP_TEXT, TEXT_TEXT_COLOR);
  278. //    replacementStr = "color:" + COLORP_TEXT.value + ";";
  279. //    pattern = /color:\s*\W*\w*\s*;/ ;
  280. //    updateStyle(TEXTAREA_TEXT,pattern, replacementStr);
  281.     if (COLORP_TEXT.value == "")
  282.     {
  283.       TEXT_TEXT_COLOR.setAttribute("value","#000000");
  284.     updateColorPicker("colorField", COLORP_TEXT, TEXT_TEXT_COLOR);
  285.     }
  286.     break;
  287.   }
  288.   case "rolloverColorP":
  289.     updateColorPicker("colorPicker", COLORP_ROLLOVER, TEXT_ROLLOVER_COLOR);
  290.     case "rolloverColorField":
  291.     updateColorPicker("colorField", COLORP_ROLLOVER, TEXT_ROLLOVER_COLOR);
  292.   case "bgColorP":
  293.     updateColorPicker("colorPicker", COLORP_BG, TEXT_BG_COLOR);
  294.     case "bgColorField":
  295.     updateColorPicker("colorField", COLORP_BG, TEXT_BG_COLOR);
  296.   }
  297. }
  298.  
  299. // populates UI when re-editing
  300. function populateUI(paramArray, fileName)
  301. {
  302.   var updateArray = new Array("fontMenu","sizeField","textColorP","rolloverColorP","bgColorP","linkField");
  303.   var theTarget = getValueFromParameters("window",paramArray);
  304.   var theFont = getValueFromParameters("font",paramArray);
  305.   var theLink = getValueFromParameters("url",paramArray);
  306.   var docDOM = dw.getDocumentDOM('document');
  307.   var bgcolor = getSelectedNodeAttr("BGCOLOR",docDOM);
  308.   if (!MENU_FONTS.pickValue(theFont))
  309.   {
  310.     if (!confirm(errMsg(MSG_FontDoesNotExist,theFont)))
  311.     window.close();
  312.   }
  313. //  TEXT_SIZE.value = (getValueFromParameters("size",paramArray)/72);
  314.   TEXT_SIZE.value = (getValueFromParameters("size",paramArray)/20);
  315.   if (getValueFromParameters("bold",paramArray)=="true")
  316.     IBTN_boldBtn.setValue(true);
  317.   if (getValueFromParameters("italic",paramArray)=="true")
  318.     IBTN_italicBtn.setValue(true);
  319.   // ** do alignment
  320.   COLORP_TEXT.value = getValueFromParameters("color",paramArray);
  321.   COLORP_ROLLOVER.value = getValueFromParameters("rollovercolor",paramArray);
  322. //  COLORP_BG.value = getValueFromParameters("bgcolor",paramArray);
  323.   COLORP_BG.value = bgcolor;
  324.   TEXTAREA_TEXT.value = getValueFromParameters("text",paramArray);
  325.   TEXT_URL.value = (theLink == "n/a") ? "" : theLink ;
  326.   TEXT_SAVE_AS.value = fileName;
  327.   if (!MENU_TARGET.pickValue(theTarget))
  328.   {
  329.     if (!confirm(errMsg(MSG_FrameNotFound, theTarget)))
  330.       window.close();
  331.   }
  332.   for (var i=0; i<ALIGNMENT.length; i++)
  333.   {
  334.     align = getValueFromParameters("alignment",paramArray);
  335.     if (align == ALIGNMENT[i])
  336.     IBTN_GROUP_ALIGN.select(ALIGNMENT_BTNS[i]);
  337.   }
  338.   for (var i=0; i< updateArray.length; i++)
  339.     updateUI(updateArray[i]);
  340. }
  341.  
  342. function insertTextHTML()
  343. {
  344.   var data, outputFilePath, canCreateFile=false;
  345.   var success=false, createFileMsg;
  346.   var theLink = TEXT_URL.value;
  347.   var fileName = TEXT_SAVE_AS.value;
  348.   var dom = dw.getDocumentDOM();
  349.   var selectedNode,wasPlaying, temp1, temp2;
  350.  
  351.   if (dom.canStopPlugin())
  352.   {
  353.     dom.stopPlugin();
  354.   wasPlaying = true;
  355.   }
  356.   if (fileName.charAt(0) == " ")
  357.   {
  358.     alert(MSG_FilenameStartWithSpace);
  359.   return false;
  360.   }
  361.   if (TEXTAREA_TEXT.value = "")
  362.   {
  363.     alert(MSG_PleaseEnterText);
  364.   return false;
  365.   }
  366.   if (!fileName)
  367.     alert(MSG_SaveAsFieldIsEmpty);
  368.   else if ((outputFilePath = resolveFilePath(fileName,FILE_CURRENT_DOC_PATH,"swf")) == "")
  369.     alert(errMsg(MSG_InvalidFileName,fileName));
  370.   else
  371.   {
  372.     outputFilePath = truncateFileName(MAX_FILE_LENGTH, outputFilePath);
  373.     if (!checkLink(theLink,outputFilePath,FILE_CURRENT_DOC_PATH))
  374.       return false;
  375.   if (DWfile.exists(outputFilePath) && DWfile.getAttributes(outputFilePath)=="R")
  376.   {
  377.     alert(errMsg(MSG_ReadOnlyFile,outputFilePath));
  378.     return false;
  379.   }
  380.   if (!DWfile.exists(outputFilePath) || (FLAG_OVERWRITE.state == true && FLAG_OVERWRITE.file == addExtention(fileName, "swf")))
  381.     canCreateFile=true;
  382.   else if (confirm(errMsg(MSG_FileAlreadyExists, outputFilePath)))
  383.     canCreateFile=true;
  384.   if (canCreateFile==true)
  385.   {
  386.     if (TEXTAREA_TEXT.value.length > 1024 && !confirm(MSG_ExceedCharacterLimit))
  387.       return false;
  388.     data = generateData();
  389.       MM.setBusyCursor();
  390.     if (navigator.platform == "Win32")
  391.       createFileMsg = SWFFile.createFile(FILE_TEXT_TEMPLATE_PATH,data,outputFilePath);
  392.     else{
  393.       temp1 = (hasDoubleByteChar(FILE_TEXT_TEMPLATE_PATH)) ?   FILE_TEXT_TEMPLATE_PATH : escape(FILE_TEXT_TEMPLATE_PATH);   // escape = high ascii bug on mac
  394.       temp2 = (hasDoubleByteChar(outputFilePath)) ?   outputFilePath : escape(outputFilePath);
  395.       createFileMsg = SWFFile.createFile(temp1,data,temp2);
  396.     }
  397.     MM.clearBusyCursor();
  398.       if (createFileMsg=="noError")
  399.     {
  400.       if (!FLAG_OVERWRITE.reEdit)
  401.       dom.insertHTML(createFlashHTML(outputFilePath,isDocRel(theLink)), FLAG_OVERWRITE.state);
  402.     else
  403.     {
  404.       selectedNode = dom.getSelectedNode();
  405.       editTextAttribute(outputFilePath,selectedNode);
  406. // **** next line is a hack that needs to be removed when setSelectedNode bug fixed
  407.       selectedNode.outerHTML = selectedNode.outerHTML;
  408. //      dom.setSelectedNode(selectedNode);
  409.     }
  410.     dom.notifyFlashObjectChanged();
  411.     success = true;
  412.     }
  413.     else
  414.     {
  415.       alert(generatorErrorMsg(createFileMsg,fileName));
  416.     }
  417.   }
  418.   }
  419.   if (wasPlaying)
  420.     dom.playPlugin();
  421.   return success;
  422. }
  423.  
  424. function generateData()
  425. {
  426.   var retVal = new Array();
  427.   var theLink = TEXT_URL.value;
  428.   var theTarget = MENU_TARGET.get();
  429.   var rolloverColor = TEXT_ROLLOVER_COLOR.value;
  430.   var theText = TEXTAREA_TEXT.value;
  431.   retVal[0] = TYPE_PARAMETER;
  432.   retVal[1] = TYPE_STR;
  433.   retVal[2] = "text";
  434.   if (theText.length > 1024)
  435.     retVal[3] = theText.substr(0,1024);
  436.   else
  437.     retVal[3] = theText;
  438.   retVal[4] = "color";
  439.   retVal[5] = TEXT_TEXT_COLOR.value;
  440.   retVal[6] = "font";
  441.   retVal[7] = MENU_FONTS.get();
  442.   retVal[8] = "size";
  443.   retVal[9] = convertPtToTwip(TEXT_SIZE.value);
  444.   retVal[10] = "url";
  445.   retVal[11] = (theLink) ? theLink : "n/a";
  446.   retVal[12] = "window";
  447.   retVal[13] = (theTarget) ? theTarget : "_self";
  448.   retVal[14] = "rollovercolor";
  449.   retVal[15] = (rolloverColor) ? rolloverColor : "none";
  450.   retVal[16] = "shrinkwrap";
  451.   retVal[17] = true;
  452.   retVal[18] = "alignment";
  453.   retVal[19] = ALIGN_MAP[IBTN_GROUP_ALIGN.getSelectedButtonName()];
  454.   retVal[20] = "bold";
  455.   retVal[21] = IBTN_boldBtn.value;
  456.   retVal[22] = "italic";
  457.   retVal[23] = IBTN_italicBtn.value;
  458. //  retVal[24] = "bgcolor";
  459. //  retVal[25] = TEXT_BG_COLOR.value;
  460.   return retVal;
  461. }
  462.  
  463. function createFlashHTML(swfURL, docRelLink)
  464. {
  465.   var retVal= new Array();
  466.   var baseValue = ".";
  467.   var sizeArray = SWFFile.getNaturalSize(swfURL);
  468.   var width, height;
  469.   var bgcolor = document.bgColorField.value;
  470.   var docRelURL = absoluteToRelativeURL(swfURL, FILE_CURRENT_DOC_PATH,true);
  471.   if (sizeArray)
  472.   {
  473.     width = sizeArray[0];
  474.     height = sizeArray[1];
  475.   }
  476.   else
  477.   {
  478.     width = 32;
  479.   height = 32;
  480.   }
  481.   retVal.push('<OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"');
  482.   retVal.push(' CODEBASE="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0"');
  483.   retVal.push(' WIDTH="' + width + '" HEIGHT="'+ height + '">\n');
  484.   retVal.push('<PARAM NAME=movie VALUE="' + docRelURL + '"> <PARAM NAME=quality VALUE=high>\n' );
  485.   if (docRelLink) // chould check to see if link if doc relative
  486.     retVal.push('<PARAM NAME="BASE" VALUE="' + baseValue + '">\n');
  487.   retVal.push('<PARAM NAME="BGCOLOR" VALUE="' + bgcolor + '">\n');
  488.   retVal.push('<param name="SCALE" value="exactfit">\n');
  489.   retVal.push('<EMBED SRC="' + docRelURL +'"');
  490.   if (docRelLink)
  491.     retVal.push( ' BASE="' + baseValue+ '" ');
  492.   retVal.push(   ' quality=high PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" ' +
  493.          'TYPE="application/x-shockwave-flash" SCALE="exactfit" ');
  494.   retVal.push('WIDTH="' + width + '" HEIGHT="'+ height +'" ');
  495.   retVal.push('BGCOLOR="' + bgcolor + '">'+'</EMBED>\n' + '</OBJECT>');
  496.   return  retVal.join("");
  497. }
  498.  
  499. function updateFlashHTML()
  500. {
  501.  
  502. }
  503.  
  504. function editTextAttribute(outputFilePath,selectedNode)
  505. {
  506.   var sizeArray = SWFFile.getNaturalSize(outputFilePath);
  507.   var bgcolor = document.bgColorField.value;
  508.   var width = Math.round(sizeArray[0]*WIDTH_PERCENT);
  509.   var height = Math.round(sizeArray[1]*HEIGHT_PERCENT) ;
  510.   var tagsToAdd = new Array();
  511. //  alert (width + " " + height);
  512.   var theLink = TEXT_URL.value;
  513.   var docRelURL = absoluteToRelativeURL(outputFilePath, FILE_CURRENT_DOC_PATH,true);
  514.   if (outputFilePath != REEDIT_SWF_PATH)
  515.   {
  516.     setFlashAttribute("PARAM","MOVIE",docRelURL,selectedNode,tagsToAdd);
  517.     setFlashAttribute("EMBED","SRC",docRelURL,selectedNode);
  518.   }
  519.   setFlashAttribute("OBJECT","WIDTH",width,selectedNode);
  520.   setFlashAttribute("OBJECT","HEIGHT",height,selectedNode);
  521.   setFlashAttribute("EMBED","WIDTH",width,selectedNode);
  522.   setFlashAttribute("EMBED","HEIGHT",height,selectedNode);
  523.   setFlashAttribute("EMBED","BGCOLOR",bgcolor,selectedNode);
  524.   setFlashAttribute("PARAM","BGCOLOR",bgcolor,selectedNode,tagsToAdd);
  525.   if (isDocRel(theLink))
  526.   {
  527.     setFlashAttribute("PARAM","BASE",".",selectedNode,tagsToAdd);
  528.     setFlashAttribute("EMBED","BASE",".",selectedNode);
  529.   }
  530.   else
  531.   {
  532.     setFlashAttribute("PARAM","BASE","",selectedNode,tagsToAdd,true);
  533.   setFlashAttribute("EMBED","BASE","",selectedNode);
  534.   }
  535.   if (tagsToAdd.length>0)
  536.     selectedNode.innerHTML = tagsToAdd.join("") + selectedNode.innerHTML;
  537. }
  538.