home *** CD-ROM | disk | FTP | other *** search
/ Adephia Powerlink / AdephiaPowerlink-030102.iso / pc / Install / WorkFlow / Bin / FlashFIn.dll / GUI_INFO / 3014 < prev    next >
Encoding:
Text File  |  2002-11-15  |  10.8 KB  |  437 lines

  1. <html>
  2. <head>
  3. <STYLE>
  4. body{
  5.     font-size : medium;
  6.     }
  7. td    {
  8.     font-size : medium;
  9.     }
  10. </STYLE>
  11. </head>
  12.  
  13. <body bgcolor="silver" text="maroon">
  14.  
  15. $MENUITEMS$
  16. <h1><div align="center">$WORKNODENAME$</div></h1><!--<form method="POST"  action="http://">-->
  17. <br>
  18. <h1><div align="center">Outputs</div></h1>
  19.  
  20. <P> </P>
  21. <form method="post" name="configureOutputs" action="CALLBACKID-ConfigureOutputs">
  22. <h1><div align="center">Embedded Flash Signals</div></h1>
  23. <table border="0" width="600">
  24. <tr><th align="left">
  25. Output Signal Name:</th>
  26. <th align="left"><input name="Output_EmbeddedName" size="40" value=""></th></tr>
  27. <tr><th colspan="2"></th></tr>
  28. <tr><th align="left">
  29. Flash Embedded Button ID:</th>
  30. <th align="left"><input name="Output_ButtonID" size="40" value=""></th></tr>
  31. <tr><th align="left">
  32. Release GUI?:</th>
  33. <th align="left">
  34. <input type="radio" name="Output_EmbeddedReleaseGUI" value="YES" checked> Yes  
  35. <input type="radio" name="Output_EmbeddedReleaseGUI" value="NO"> No</th></tr>
  36. </table>
  37. <input type="button" name="Output_EmbeddedADD" value="Add" style="HEIGHT: 24px; WIDTH: 55px" onClick="Add(1);">
  38. <input type="button" name="Output_EmbeddedOption" value="Clear" style="HEIGHT: 24px; WIDTH: 55px" onClick="HandleOption(1);">
  39. <br><br>
  40. Current Outputs:<br>
  41. <SELECT id="Output_EmbeddedSelect" name="Output_EmbeddedSelect" size=2 style="HEIGHT: 134px; WIDTH: 293px"> 
  42. </SELECT>
  43. <input type="hidden" name="OutputEmbeddedRepository" >
  44. <br>
  45. <input type="button" name="Output_EmbeddedREMOVE" value="Remove" onClick="Remove(1);">
  46. <input type="button" name="Output_EmbeddedEDIT" value="Edit" style="HEIGHT: 24px; WIDTH: 63px" onClick="Edit(1);">
  47. <br>
  48. <P>$MENUITEMS$
  49. </P>
  50.  
  51. <hr>
  52. <table>
  53. <tr><th align="right">
  54. <input type="hidden" name="saveState" value="0">
  55. <input type="button" name="save" value="Save" style="HEIGHT: 28px; WIDTH: 72px" onClick="return SubmitForSave();"> 
  56. </form></th>
  57. <th align="left"><form method="post" name="cancel_config" action="CALLBACKID-CancelConfigure"><INPUT name=cancel type=submit value=Cancel style="HEIGHT: 28px; WIDTH: 72px">
  58. </form>
  59. </th></tr>
  60. </table>
  61. <hr>
  62.  
  63. <BR>
  64.  
  65. <A href="ConfigHelp.html#Display" target=_blank>Click here for help</A> | 
  66. <A href="FlashDoc.html" target=_blank>Click here for flash guidelines</A>
  67. <P> </P>
  68. </body>
  69. </HTML>
  70.  
  71.  
  72. <SCRIPT LANGUAGE="JavaScript">
  73. //There is ALOT of dead code in here...ignore it...damn it
  74.  
  75. //Object Variables
  76. var Signals = new Array();
  77. var BtnNames = new Array();
  78. var ReleaseGUI = new Array();
  79. var Selects = new Array();
  80. var Repositories = new Array();
  81. var Adds = new Array();
  82. var Options = new Array();
  83.  
  84. //Locally Used Variables
  85. var strCurrentlyEditing = new Array();
  86. var nCurrentlyEditing = new Array();
  87.  
  88. //Imported Values:  Need to be set by WorkNode code
  89. var nCancelRelGUI = 0;
  90. var nHelpRelGUI = 1;
  91. var nUseCancel = 0;
  92. var nUseHelp = 0;
  93. var strRepository = new Array();
  94.  
  95. strRepository[0] = "";
  96. strRepository[1] = "";
  97. strCurrentlyEditing[0] = "";
  98. strCurrentlyEditing[1] = "";
  99. nCurrentlyEditing[0] = -1;
  100. nCurrentlyEditing[1] = -1;
  101.  
  102. InitInputs();
  103.  
  104. /*VARS*/
  105.  
  106. /*ENDVARS*/
  107.  
  108. //SetBinaryRB(nCancelRelGUI, document.forms[0].Cancel_Rel_GUI);
  109. //SetBinaryRB(nHelpRelGUI, document.forms[0].Help_Rel_GUI);
  110.  
  111. //SetGUIRBS(document.forms[0].Cancel_Rel_GUI);
  112. //SetGUIRBS(document.forms[0].Help_Rel_GUI);
  113.  
  114. //document.forms[0].UseCancel.checked = nUseCancel;
  115. //document.forms[0].UseHelp.checked = nUseHelp;
  116.  
  117. //SetCBVals();
  118.  
  119. for (x = 1; x < 2; x++)
  120. {
  121.     Repositories[x].value = strRepository[x];
  122.     PopulateSelectBox(strRepository[x], Selects[x]);
  123. }
  124.  
  125. function InitInputs()
  126. {
  127.     //Signals[0] = document.forms[0].Output_Name;
  128.     Signals[1] = document.forms[0].Output_EmbeddedName;
  129.     //BtnNames[0] = document.forms[0].Output_DisplayName;
  130.     BtnNames[1] = document.forms[0].Output_ButtonID;
  131.     //ReleaseGUI[0] = document.forms[0].Output_ReleaseGUI;
  132.     ReleaseGUI[1] = document.forms[0].Output_EmbeddedReleaseGUI;
  133.     //Selects[0] = document.forms[0].Output_Select;
  134.     Selects[1] = document.forms[0].Output_EmbeddedSelect;
  135.     //Repositories[0] = document.forms[0].OutputRepository;
  136.     Repositories[1] = document.forms[0].OutputEmbeddedRepository;
  137.     //Adds[0] = document.forms[0].Output_ADD;
  138.     Adds[1] = document.forms[0].Output_EmbeddedADD;
  139.     //Options[0] = document.forms[0].Output_Option;
  140.     Options[1] = document.forms[0].Output_EmbeddedOption;
  141. }
  142.  
  143. //Now begins the HACK
  144. function SetGUIRBS(rb)
  145. {
  146.     if (rb[0].checked)
  147.     {
  148.         rb[0].value = "CheckThis";
  149.         rb[1].value = "";
  150.     }
  151.     else
  152.     {
  153.         rb[0].value = "";
  154.         rb[1].value = "CheckThis";
  155.     }
  156. }
  157.  
  158. function SetCBVals()
  159. {
  160.     if (document.forms[0].UseCancel.checked)
  161.     {
  162.         document.forms[0].UseCancel.value = "CheckThis";
  163.     }
  164.     else
  165.     {
  166.         document.forms[0].UseCancel.value = "";
  167.     }
  168.     if (document.forms[0].UseHelp.checked)
  169.     {
  170.         document.forms[0].UseHelp.value = "CheckThis";
  171.     }
  172.     else
  173.     {
  174.         document.forms[0].UseHelp.value = "";
  175.     }
  176. }
  177.  
  178.  
  179. function SetBinaryRB(nValue, rbControl)
  180. {
  181.     if (nValue != 1)
  182.     {
  183.         nValue = 0;
  184.     }
  185.     rbControl[nValue].checked = true;
  186. }
  187.  
  188. function Add(nField)
  189. {
  190.     var strInstanceName;
  191.     var strDisplayName;
  192.     var bReleaseGUI;
  193.     
  194.     strInstanceName = Signals[nField].value;
  195.     strDisplayName = BtnNames[nField].value;
  196.     bReleaseGUI = ReleaseGUI[nField][0].checked;
  197.  
  198.     if (IsValidInstance(strInstanceName, nField))
  199.     {
  200.         if (bReleaseGUI)
  201.         {
  202.             UpdateRepository(strInstanceName, strDisplayName, "YES", nField);    
  203.         }
  204.         else
  205.         {
  206.             UpdateRepository(strInstanceName, strDisplayName, "NO", nField);        
  207.         }
  208.     
  209.         Signals[nField].value = "";
  210.         BtnNames[nField].value = "";
  211.         ReleaseGUI[nField][0].checked = true;
  212.     }
  213. }
  214.  
  215. function Remove(nField)
  216. {
  217.     var nIndex = Selects[nField].selectedIndex;
  218.     var strArray;
  219.     var strTemp;
  220.     var strOutputRepository;
  221.     var nLength;
  222.     
  223.     strOutputRepository = new String(Repositories[nField].value.toString());
  224.     nLength = strOutputRepository.length - 2;
  225.     strTemp = strOutputRepository.substring(0, nLength);    //knock off trailing delimeters
  226.     strArray = strTemp.split(";~");
  227.     
  228.     if (strArray.length == 1)
  229.     {
  230.         strOutputRepository = "";
  231.     }
  232.     else
  233.     {    
  234.         strArray = RemoveArrayElement(strArray, nIndex);
  235.         strOutputRepository = strArray.join(";~") + ";~"; 
  236.         HandleOption(nField);
  237.     }
  238.     
  239.     Repositories[nField].value = strOutputRepository;
  240.     
  241.     //DEBUGGING CODE
  242.     //document.forms[0].Dict_Entry.value = strOutputRepository;
  243.     //document.forms[0].Output_Name.value = "BAH";
  244.     
  245.     Selects[nField].options[nIndex] = null;
  246. }
  247.  
  248. function UpdateRepository(strNewName, strNewDisplayName, strNewRelGUI, nField)
  249. {
  250.     var strRepository;
  251.         
  252.     if (nCurrentlyEditing[nField] > -1)
  253.     {
  254.         var strArray;
  255.         var strTemp;
  256.         var nLength;
  257.         var strNewValPair;
  258.     
  259.         strNewValPair = strNewName + "=" + strNewDisplayName + "=" + strNewRelGUI;
  260.         strRepository = new String(Repositories[nField].value.toString());
  261.         nLength = strRepository.length - 2;
  262.         strTemp = strRepository.substring(0, nLength);    //knock off trailing delimeters
  263.         strArray = strRepository.split(";~");
  264.         strArray[nCurrentlyEditing[nField]] = strNewValPair;
  265.         strRepository = strArray.join(";~"); 
  266.         
  267.         Repositories[nField].value = strRepository;
  268.         Selects[nField].options[nCurrentlyEditing[nField]].text = strNewName;
  269.         
  270.         Adds[nField].value = "Add";
  271.         Options[nField].value = "Clear";
  272.         nCurrentlyEditing[nField] = -1;
  273.         strCurrentlyEditing[nField] = "";
  274.     }
  275.     else
  276.     {
  277.         var opOption = new Option;
  278.         
  279.         strRepository = Repositories[nField].value + strNewName + "=" + strNewDisplayName + "=" + strNewRelGUI + ";~";
  280.         Repositories[nField].value = strRepository;
  281.     
  282.         opOption.text = strNewName;
  283.         Selects[nField].options[Selects[nField].options.length] = opOption;
  284.     }    
  285. }
  286.  
  287. function Edit(nField)
  288. {
  289.     var nIndex = Selects[nField].selectedIndex;
  290.     var strArray;
  291.     var strTemp;
  292.     var strRepository;
  293.     var nLength;
  294.     var strStringToEdit;
  295.     
  296.     strRepository = new String(Repositories[nField].value.toString());
  297.     nLength = strRepository.length - 2;
  298.     strTemp = strRepository.substring(0, nLength);    //knock off trailing delimeters
  299.     strArray = strRepository.split(";~");
  300.     
  301.     strStringToEdit = strArray[nIndex];
  302.     strArray = strStringToEdit.split("=");
  303.     nCurrentlyEditing[nField] = nIndex;
  304.     
  305.     Adds[nField].value = "Update";
  306.     Options[nField].value = "Cancel";
  307.     Signals[nField].value = strArray[0];
  308.     BtnNames[nField].value =  strArray[1];
  309.     strCurrentlyEditing[nField] = strArray[0];
  310.     if (strArray[2] == "YES")
  311.     {
  312.         ReleaseGUI[nField][0].checked = true;
  313.     }
  314.     else
  315.     {
  316.         ReleaseGUI[nField][1].checked = true;
  317.     }
  318. }
  319.  
  320. function HandleOption(nField)
  321. {
  322.     if (nCurrentlyEditing[nField] > -1)
  323.     {
  324.         nCurrentlyEditing[nField] = -1;
  325.         strCurrentlyEditing[nField] = "";
  326.         Options[nField].value = "Clear";
  327.         Adds[nField].value = "Add";
  328.     }
  329.     Signals[nField].value = "";
  330.     BtnNames[nField].value = "";
  331.     ReleaseGUI[nField][0].checked = true;
  332. }
  333.  
  334. function RemoveArrayElement(strArray, nIndex)
  335. {
  336.     var tempArray = new Array();
  337.     var nCounter;
  338.     var nArrCounter;
  339.     var nLength;
  340.     
  341.     nArrCounter = 0;
  342.     nLength = strArray.length;
  343.     nCounter = 0;
  344.     while (nCounter < nLength)
  345.     {
  346.         if ((strArray[nCounter].length != 0) && (nCounter != nIndex))
  347.         {
  348.             tempArray[nArrCounter] = strArray[nCounter];
  349.             nArrCounter = nArrCounter + 1;
  350.         }
  351.         nCounter = nCounter + 1;
  352.     }
  353.     
  354.     return tempArray;
  355. }
  356.  
  357.  
  358. function PopulateSelectBox(strValues, selectBox)
  359. {
  360.     var strArray;
  361.     var strTemp;
  362.     var nLength;
  363.     var strStringToAdd;
  364.     var nCounter=0;
  365.     var aTempArray;
  366.     var tempOption;
  367.         
  368.     if (strValues == "")
  369.     {
  370.         return;
  371.     }
  372.     nLength = strValues.length - 2;
  373.     strTemp = strValues.substring(0, nLength);    //knock off trailing delimeters
  374.     strArray = strTemp.split(";~");
  375.     nLength = strArray.length;
  376.     
  377.     while (nCounter < nLength)
  378.     {
  379.         tempOption = new Option();
  380.         aTempArray = strArray[nCounter].split("=");
  381.         tempOption.text = aTempArray[0];
  382.         selectBox.options[selectBox.length] = tempOption;
  383.         nCounter = nCounter + 1;
  384.     }
  385. }
  386.  
  387. function IsValidInstance(strInstance, nField)
  388. {
  389.     var nLength;
  390.     var nCounter = 0;
  391.     
  392.     if ((strInstance == "help") || (strInstance == "cancel"))
  393.     {
  394.         var strError = "";
  395.                 
  396.         strError = "Signal '" + String(strInstance) + "' is reserved.  Please choose a different signal name.";
  397.         window.alert(strError);
  398.         return false;
  399.     }
  400.     
  401.     nLength = Selects[nField].length;
  402.     while (nCounter < nLength)
  403.     {
  404.         if ((strInstance == Selects[nField].options[nCounter].text) && (strInstance != strCurrentlyEditing[nField]))
  405.         {
  406.             window.alert("Duplicate Signal already exists.");
  407.             return false;
  408.         }
  409.         nCounter++;
  410.     }
  411.     
  412.     return true;
  413. }
  414.  
  415. </SCRIPT>
  416.  
  417. <SCRIPT LANGUAGE="VBScript">
  418. Function SubmitForSave()
  419.     document.forms(0).saveState.value = "1"
  420.     if (VerifyData()) then
  421.         if (document.forms(0).onSubmit()) then
  422.             document.forms(0).submit()
  423.         end if
  424.     end if
  425. End Function
  426.  
  427. 'Here for potential future use
  428. Function VerifyData()
  429.     dim bReturn
  430.     bReturn = True
  431.     
  432.     'Enter verification code here
  433.     
  434.     VerifyData = bReturn
  435. end function
  436.  
  437. </SCRIPT>