home *** CD-ROM | disk | FTP | other *** search
/ Adephia Powerlink / AdephiaPowerlink-030102.iso / pc / Install / WorkFlow / Gui / MstrSwf.swf / scripts / frame_1 / DoAction.as < prev   
Encoding:
Text File  |  2002-04-02  |  26.2 KB  |  908 lines

  1. function RequestButton(strInstanceName, strPlacementObject, nID)
  2. {
  3.    var nIndex = GetAssociatedLayoutIndexFromDisplay(nID);
  4.    var LayoutLevel = m_arAssociatedLayouts[nIndex].LayoutLevel;
  5.    var LayoutObject = eval(LayoutLevel);
  6.    var ParentLevel = m_arAssociatedLayouts[nIndex].DisplayLevel;
  7.    tempLevelObject = LayoutObject[strInstanceName];
  8.    nIndex = IsButtonRegistered(LayoutLevel,tempLevelObject._target);
  9.    if(-1 < nIndex)
  10.    {
  11.       tempLevelObject.MasterSwfLink = strPlacementObject;
  12.       tempLevelObject._visible = true;
  13.       FlagButtonAsRequested(nIndex,LayoutLevel);
  14.       return tempLevelObject;
  15.    }
  16.    LayoutObject.attachMovie("DYNAMIC_BUTTON_EXPORT",strInstanceName,LayoutObject.CurrentStackingOrder);
  17.    tempLevelObject = LayoutObject[strInstanceName];
  18.    tempLevelObject.MasterSwfLink = strPlacementObject;
  19.    tempLevelObject.ButtonStyle = "MasterSwfControlled";
  20.    tempLevelObject.Size = "MasterSwfControlled";
  21.    tempLevelObject.SizeWidthControl = "Overall";
  22.    tempLevelObject.ButtonPosition = "Linked";
  23.    tempLevelObject.DefaultDisabled = 0;
  24.    tempLevelObject.InitialVisibility = true;
  25.    tempLevelObject.ParentLevel = ParentLevel;
  26.    RegisterButton(tempLevelObject._target);
  27.    LayoutObject.CurrentStackingOrder = LayoutObject.CurrentStackingOrder + 1;
  28.    return tempLevelObject;
  29. }
  30. function FireSignal(nID, strSignal, bShowWaitState)
  31. {
  32.    DisableAllRegisteredButtons(nID);
  33.    if(bShowWaitState || bShowWaitState == undefined)
  34.    {
  35.       ShowWaitState(true);
  36.    }
  37.    if(strSignal != undefined)
  38.    {
  39.       fscommand(strSignal,"button_click");
  40.    }
  41. }
  42. function PlaceButton(pButton)
  43. {
  44.    pButton._visible = true;
  45.    pButton.InitialVisibility = true;
  46. }
  47. function ShowListBox(nPlacementLocation, arListItems, nID, curVar)
  48. {
  49.    var tempOb = eval("_level" add nID);
  50.    return tempOb.ShowListBox(nPlacementLocation,arListItems,curVar);
  51. }
  52. function ShowSmallListBox(nPlacementLocation, arListItems, nID, curVar)
  53. {
  54.    var tempOb = eval("_level" add nID);
  55.    return tempOb.ShowSmallListBox(nPlacementLocation,arListItems,curVar);
  56. }
  57. function SetDropBox(strMClip, arListItems, nID, curVar)
  58. {
  59.    var tempOb = eval("_level" add nID);
  60.    return tempOb.SetDropBox(strMClip,arListItems,curVar);
  61. }
  62. function ShowGraphicTextBox(BoxTitle, OnEnter, OnLeave, GraphicChoice, nID)
  63. {
  64.    var tempOb = eval("_level" add nID);
  65.    return tempOb.ShowGraphicTextBox(BoxTitle,OnEnter,OnLeave,GraphicChoice);
  66. }
  67. function ShowTextScroller(ScrollerName, PlaceNumber, strText, bFileName, nID)
  68. {
  69.    var tempOb = eval("_level" add nID);
  70.    return tempOb.ShowTextScroller(ScrollerName,PlaceNumber,strText,bFileName);
  71. }
  72. function ShowInputBox(BoxTitle, DefaultText, OnEnter, OnLeave, bPassword, RegExp, bValidate, nID, bSize)
  73. {
  74.    var tempOb = eval("_level" add nID);
  75.    return tempOb.ShowInputBox(BoxTitle,DefaultText,OnEnter,OnLeave,bPassword,RegExp,bValidate,bSize);
  76. }
  77. function GetInputFieldPath(nId, nFrameID)
  78. {
  79.    var tempOb = eval("_level" add nFrameID);
  80.    return tempOb.GetInputFieldPath(nId);
  81. }
  82. function GetInputReference(nId, nFrameID)
  83. {
  84.    var tempOb = eval("_level" add nFrameID);
  85.    return tempOb.GetInputReference(nId);
  86. }
  87. function SetText(strTextID, strText, nID)
  88. {
  89.    var tempOb = eval("_level" add nID);
  90.    tempOb.SetText(strTextID,strText);
  91. }
  92. function RequestAutoFill(nWatchID, nFillID, strHeader, strFooter, nID)
  93. {
  94.    var tempOb = eval("_level" add nID);
  95.    tempOb.RequestAutoFill(nWatchID,nFillID,strHeader,strFooter);
  96. }
  97. function SetHelpText(strText, nID)
  98. {
  99.    if(nID == undefined)
  100.    {
  101.       return undefined;
  102.    }
  103.    var tempOb = eval("_level" add nID);
  104.    tempOb.SetHelpText(strText);
  105. }
  106. function SetHintText(strText, nID)
  107. {
  108.    if(nID == undefined)
  109.    {
  110.       return undefined;
  111.    }
  112.    var tempOb = eval("_level" add nID);
  113.    tempOb.SetHintText(strText);
  114. }
  115. function GetObjectReference(strObject, nID)
  116. {
  117.    var tempOb = eval("_level" add nID);
  118.    return tempOb[strObject];
  119. }
  120. function GetLayoutObject(nID)
  121. {
  122.    return eval("_level" add nID);
  123. }
  124. function RequestGraphicFromFile(strFilename, PlaceNumber, nID)
  125. {
  126.    var tempOb = eval("_level" add nID);
  127.    return tempOb.ShowGraphicFromFile(strFilename,PlaceNumber);
  128. }
  129. function RequestGraphic(strGraphic, nX, nY, nID)
  130. {
  131.    var tempOb = eval("_level" add nID);
  132.    return tempOb.ShowGraphic(strGraphic,nX,nY);
  133. }
  134. function RequestRadioButton(strTitle, strItem, nX, nY, nID, bDefault)
  135. {
  136.    var tempOb = eval("_level" add nID);
  137.    return tempOb.RequestRadioButton(strTitle,strItem,nX,nY,bDefault);
  138. }
  139. function LoadXML(strXMLFile)
  140. {
  141.    fscommand("NOTIFY","LoadXML");
  142.    var strCurrentLevel;
  143.    strCurrentLevel = "_level" add String(m_nSWFToLoad);
  144.    set(strCurrentLevel add ".funcCall",1);
  145.    XMLParserInstance.CallBackFunc = XMLLoadedCallBack;
  146.    XMLParserInstance.ParseXML(strXMLFile,strCurrentLevel);
  147.    m_bCurrentlyLoadingSWF = false;
  148. }
  149. function Transform(strVar)
  150. {
  151.    fscommand("NOTIFY","MASTERSWF Transforming for level " add strLevel);
  152.    fscommand(strVar,"transform");
  153. }
  154. function LoadFrameVars(strFrameName, strLevel, strGotoFrame, strGotoScene)
  155. {
  156.    if(m_bLoadFrameVarsSemaphore || m_bCurrentlyLoadingSWF)
  157.    {
  158.       fscommand("LOADFRAMEVARS COLLISION",strFrameName);
  159.       var loadFramesObject = new Object();
  160.       loadFramesObject.FrameName = strFrameName;
  161.       loadFramesObject.Level = strLevel;
  162.       loadFramesObject.GotoFrame = strGotoFrame;
  163.       loadFramesObject.GotoScene = strGotoScene;
  164.       m_arLoadFrameCalls.push(loadFramesObject);
  165.       return false;
  166.    }
  167.    m_bLoadFrameVarsSemaphore = true;
  168.    m_bFrameReady = false;
  169.    m_bShowSwf = true;
  170.    this.FrameStartTime = getTimer();
  171.    fscommand("FrameStartTime",this.FrameStartTime);
  172.    fscommand("NOTIFY","LoadFrameVars");
  173.    ClearTabOrder();
  174.    var strCurrentLevel;
  175.    if(strLevel == undefined)
  176.    {
  177.       strCurrentLevel = "_level" add String(m_nCurrentSWF);
  178.    }
  179.    else
  180.    {
  181.       strCurrentLevel = strLevel;
  182.    }
  183.    with(eval(strCurrentLevel))
  184.    {
  185.       fscommand("NOTIFY",String("LoadFrameVarsCALLBACK - " add strCurrentLevel add "." add LoadFrameVarsCB));
  186.       if(strGotoFrame != undefined)
  187.       {
  188.          fscommand("NOTIFY",String("GOTOANDPLAY - " add strGotoFrame));
  189.          if(strGotoScene != undefined)
  190.          {
  191.             gotoAndStop(strGotoScene,strGotoFrame);
  192.          }
  193.          else
  194.          {
  195.             gotoAndStop(strGotoFrame);
  196.          }
  197.       }
  198.    }
  199.    FuncCallingQueue.AddFunction(LoadFrameVarsCB,strCurrentLevel,_target,"OnFunctionLoaded","OnFunctionCalled");
  200. }
  201. function SetLayoutObject(strLayoutObject, strTarget, strCallBack, nID)
  202. {
  203.    var strMovieToLoad;
  204.    var nAvailLevel;
  205.    var strIdentifier;
  206.    var tempLayoutOb;
  207.    fscommand("SetLayoutOb Loading",strTarget);
  208.    nAvailLevel = GetAvailableLayoutLevel();
  209.    strMovieToLoad = strLayoutObject.substr(0,3) add "Lyt.swf";
  210.    this.FramedoneTime = getTimer();
  211.    fscommand("FrameDoneTime",this.FramedoneTime);
  212.    this.FrameCompleteTime = this.FramedoneTime - this.FrameStartTime;
  213.    fscommand("FrameCompleteTime",this.FrameCompleteTime);
  214.    this.StartTime = getTimer();
  215.    fscommand("StartTime",this.StartTime);
  216.    loadMovieNum(strMovieToLoad,nAvailLevel);
  217.    m_nLayoutToShow = nAvailLevel;
  218.    tempLayoutOb = eval("_level" add m_nLayoutToShow);
  219.    AssociateLayout("_level" add nAvailLevel,strTarget,strCallBack);
  220.    return m_nLayoutToShow;
  221. }
  222. function AddTabOrder(strTabField, strTarget, bDefaultOnEnter)
  223. {
  224.    var tempTabOrderObject = new Object();
  225.    var tempLayoutObject = eval("_level" add strTarget);
  226.    tempTabOrderObject.TabField = strTabField;
  227.    tempTabOrderObject.Layout = strTarget;
  228.    tempTabOrderObject.DefaultOnEnter = bDefaultOnEnter;
  229.    if(tempLayoutObject.arTabOrderList == undefined)
  230.    {
  231.       tempLayoutObject.arTabOrderList = new Array();
  232.    }
  233.    tempLayoutObject.arTabOrderList.push(tempTabOrderObject);
  234. }
  235. function ResetTabFocus()
  236. {
  237.    GlobalTabOrder.ResetFocus();
  238. }
  239. function ShowSWF()
  240. {
  241.    fscommand("NOTIFY","ShowSWF");
  242.    var temp;
  243.    if(m_nSWFToLoad == -1)
  244.    {
  245.       var DoDa = 2;
  246.       var tempObject;
  247.       tempObject = eval("_level" add m_nCurrentLayout);
  248.       tempObject._visible = false;
  249.       tempObject = eval("_level" add m_nLayoutToShow);
  250.       tempObject._visible = true;
  251.       DestroyLayoutObject("_level" add m_nCurrentLayout);
  252.       m_nCurrentLayout = m_nLayoutToShow;
  253.    }
  254.    else
  255.    {
  256.       var tempObject;
  257.       DestroyLayoutObject("_level" add m_nCurrentLayout);
  258.       tempObject = eval("_level" add m_nLayoutToShow);
  259.       tempObject._visible = true;
  260.       m_nCurrentLayout = m_nLayoutToShow;
  261.       if(m_nCurrentSWF != -1)
  262.       {
  263.          temp = eval("_level" add String(m_nCurrentSWF));
  264.          temp._visible = false;
  265.       }
  266.       temp = eval("_level" add String(m_nSWFToLoad));
  267.       temp._visible = true;
  268.       m_nCurrentSWF = m_nSWFToLoad;
  269.       m_nSWFToLoad = -1;
  270.    }
  271.    tempMyChild = eval("_level" add String(m_nCurrentSWF));
  272.    ShowWaitState(false);
  273.    m_bLoadFrameVarsSemaphore = false;
  274.    fscommand("LOADFRAMECALLS Length",m_arLoadFrameCalls.length);
  275.    tempMyChild.ShowingSwf(true);
  276.    if(0 < m_arLoadFrameCalls.length)
  277.    {
  278.       var loadFramesObject = m_arLoadFrameCalls[0];
  279.       fscommand("CALLING BUFFERED LFR",loadFramesObject.FrameName);
  280.       LoadFrameVars(loadFramesObject.FrameName,loadFramesObject.Level,loadFramesObject.GotoFrame,loadFramesObject.GotoScene);
  281.       m_arLoadFrameCalls.splice(0,1);
  282.    }
  283.    if(0 < m_arLoadSWFCalls.length)
  284.    {
  285.       fscommand("CALLING BUFFERED SWFCALL","-" add m_arLoadSWFCalls[0] add "-");
  286.       LoadSWF(m_arLoadSWFCalls[0]);
  287.       m_arLoadSWFCalls.splice(0,1);
  288.    }
  289. }
  290. function CreateRegularExpressionObject(strText, strRegExpression, strRegExpressionHint, strRegExpressionHelp, strFocus)
  291. {
  292.    var RegExpressionObject = new Object();
  293.    RegExpressionObject.Text = strText;
  294.    RegExpressionObject.RegExpression = strRegExpression;
  295.    RegExpressionObject.Hint = strRegExpressionHint;
  296.    RegExpressionObject.Help = strRegExpressionHelp;
  297.    RegExpressionObject.Focus = strFocus;
  298.    return RegExpressionObject;
  299. }
  300. function CheckRegularExpressions(arRegExpressionObjects, pTarget, strCallback, nID)
  301. {
  302.    if(m_bMasterSwfBusySemaphore)
  303.    {
  304.       return false;
  305.    }
  306.    m_bMasterSwfBusySemaphore = true;
  307.    var nCounter = 0;
  308.    var nNumOfInputs = 0;
  309.    fscommand("RegExpArrayLength",arRegExpressionObjects.length);
  310.    while(nCounter < arRegExpressionObjects.length)
  311.    {
  312.       fscommand("RegExpArrayLengthCurrentObLength",arRegExpressionObjects[nCounter].RegExpression);
  313.       if(0 < arRegExpressionObjects[nCounter].RegExpression.length)
  314.       {
  315.          AssignRegExpVars(nNumOfInputs,arRegExpressionObjects[nCounter].Text,arRegExpressionObjects[nCounter].RegExpression,nCounter);
  316.          nNumOfInputs++;
  317.       }
  318.       nCounter++;
  319.    }
  320.    fscommand("NUMBEROFINPUTS",nNumOfInputs);
  321.    _level0.NUM_REGEXP_VERIFY = nNumOfInputs;
  322.    _level0.RegExpCallBack = strCallback;
  323.    _level0.RegExpCallBackTarget = pTarget;
  324.    _level0.RegExpnID = nID;
  325.    _level0.RegExpArray = arRegExpressionObjects;
  326.    fscommand("_level0","regexp_verify");
  327. }
  328. function RemoveLevelInfo(strTarget)
  329. {
  330.    fscommand("RemoveLevelInfo",strTarget);
  331.    if(strTarget.substring(0,6) eq "_level")
  332.    {
  333.       fscommand("RemoveLevelInfo","Passed");
  334.       var nIndex;
  335.       nIndex = strTarget.indexOf("/");
  336.       if(nIndex == -1)
  337.       {
  338.          nIndex = strTarget.indexOf(".");
  339.       }
  340.       if(nIndex == -1)
  341.       {
  342.          return "";
  343.       }
  344.       return strTarget.substr(nIndex + 1);
  345.    }
  346.    return strTarget;
  347. }
  348. function ShowWaitState(bShow)
  349. {
  350.    _level1000.ShowCursor(bShow,"WAIT_CURSOR");
  351. }
  352. function SetShowSwf(bShow)
  353. {
  354.    m_bShowSwf = bShow;
  355.    if(m_bFrameReady)
  356.    {
  357.       ShowSWF();
  358.    }
  359. }
  360. function LoadSWF(strSWF)
  361. {
  362.    if(m_bLoadFrameVarsSemaphore || m_bCurrentlyLoadingSWF)
  363.    {
  364.       fscommand("BUFFERING LOADSWF","COLLISION!");
  365.       m_arLoadSWFCalls.push(strSWF);
  366.       return undefined;
  367.    }
  368.    m_bCurrentlyLoadingSWF = true;
  369.    this.ButtonStackingOrder = 100;
  370.    var nIndex = GetSWFIndex(strSWF);
  371.    if(nIndex < 0)
  372.    {
  373.       this.m_arSwfNames[m_nTopLevel] = strSWF;
  374.       loadMovieNum(strSWF,m_nTopLevel);
  375.       m_nSWFToLoad = m_nTopLevel;
  376.       fscommand("NOTIFY",String("Loading SWF on Level " add String(m_nTopLevel)));
  377.       m_nTopLevel++;
  378.    }
  379.    else
  380.    {
  381.       fscommand("NOTIFY",String("LoadSWF using buffered swf, level" add nIndex));
  382.       m_nSWFToLoad = nIndex;
  383.       SWFCallBack(strSWF,String("_level" add String(nIndex)),false);
  384.       XMLParserInstance.OpenXMLForParsing(undefined,String("_level" add nIndex));
  385.       m_bCurrentlyLoadingSWF = false;
  386.    }
  387. }
  388. function SWFCallBack(strSWFName, strSWFLevel, bHide)
  389. {
  390.    if(bHide || bHide == undefined)
  391.    {
  392.       temp = eval(strSWFLevel);
  393.       temp._visible = false;
  394.    }
  395.    fscommand("NOTIFY","SWFCallBack");
  396.    fscommand(strSWFLevel,strSWFName);
  397. }
  398. function ShowNewSWF()
  399. {
  400.    _level0.LoadSWF(_level0.strNewSwf);
  401. }
  402. function RegExpValidate()
  403. {
  404.    var nErrorIndex;
  405.    nErrorIndex = InterpretRegExpResults();
  406.    if(nErrorIndex == -1)
  407.    {
  408.       this.RegExpCallBackTarget[this.RegExpCallBack]();
  409.    }
  410.    else
  411.    {
  412.       SetHelpText(this.RegExpArray[nErrorIndex].Help,this.RegExpnID);
  413.       SetHintText(this.RegExpArray[nErrorIndex].Hint,this.RegExpnID);
  414.       Selection.setFocus(this.RegExpArray[nErrorIndex].Focus);
  415.    }
  416.    delete _level0.RegExpCallBack;
  417.    delete _level0.RegExpCallBackTarget;
  418.    delete _level0.RegExpnID;
  419.    delete _level0.RegExpArray;
  420.    m_bMasterSwfBusySemaphore = false;
  421. }
  422. function GetAvailableLayoutLevel()
  423. {
  424.    var tReturn;
  425.    if(0 < m_arAvailableLayoutLevels.length)
  426.    {
  427.       tReturn = m_arAvailableLayoutLevels[0];
  428.       m_arAvailableLayoutLevels.splice(0,1);
  429.    }
  430.    else
  431.    {
  432.       tReturn = m_nLayoutCeiling;
  433.       m_nLayoutCeiling++;
  434.       if(m_nLayoutCeiling == 100)
  435.       {
  436.          m_nLayoutCeiling = 1;
  437.       }
  438.    }
  439.    fscommand("GetAvailLayouts",tReturn);
  440.    return tReturn;
  441. }
  442. function GetAssociatedLayoutIndexFromLayout(strTarget)
  443. {
  444.    var nCounter = 0;
  445.    while(nCounter < m_arAssociatedLayouts.length)
  446.    {
  447.       if(m_arAssociatedLayouts[nCounter].LayoutLevel eq strTarget)
  448.       {
  449.          return nCounter;
  450.       }
  451.       nCounter++;
  452.    }
  453.    return -1;
  454. }
  455. function GetAssociatedLayoutIndexFromDisplay(nID)
  456. {
  457.    if(nID == undefined)
  458.    {
  459.       return -1;
  460.    }
  461.    var strTemp;
  462.    var nCounter = 0;
  463.    if(nID.substring(0,6) eq "_level")
  464.    {
  465.       strTemp = nID;
  466.    }
  467.    else
  468.    {
  469.       strTemp = "_level" add nID;
  470.    }
  471.    while(nCounter < m_arAssociatedLayouts.length)
  472.    {
  473.       if(m_arAssociatedLayouts[nCounter].LayoutLevel eq strTemp)
  474.       {
  475.          return nCounter;
  476.       }
  477.       nCounter++;
  478.    }
  479.    return -1;
  480. }
  481. function AssociateLayout(strLayoutLevel, strLevel, strCallBack)
  482. {
  483.    var tempOb = new Object();
  484.    tempOb.LayoutLevel = strLayoutLevel;
  485.    tempOb.DisplayLevel = strLevel;
  486.    tempOb.CallBack = strCallBack;
  487.    tempOb.Ready = false;
  488.    m_arAssociatedLayouts.push(tempOb);
  489. }
  490. function RemoveAssociationFromLayout(strLayoutLevel)
  491. {
  492.    var nIndex = GetAssociatedLayoutIndexFromLayout(strLayoutLevel);
  493.    m_arAssociatedLayouts.splice(nIndex,1);
  494. }
  495. function RemoveAssociationFromDisplay(strDisplayLevel)
  496. {
  497.    var nIndex = GetAssociatedLayoutIndexFromDisplay(strLayoutLevel);
  498.    m_arAssociatedLayouts.splice(nIndex,1);
  499. }
  500. function GetPlacementLevel(strLevel)
  501. {
  502.    return GetLevel(strLevel);
  503. }
  504. function GetLevel(strFullPath)
  505. {
  506.    nIndex = strFullPath.indexOf("/",0);
  507.    if(nIndex < 0)
  508.    {
  509.       return undefined;
  510.    }
  511.    return strFullPath.substring(0,nIndex);
  512. }
  513. function GetSWFIndex(strSWF)
  514. {
  515.    var nSize = this.m_arSwfNames.length;
  516.    var nCounter = 0;
  517.    while(nCounter < nSize)
  518.    {
  519.       if(this.m_arSwfNames[nCounter] eq strSWF)
  520.       {
  521.          fscommand("SWFINDEX","FOUND");
  522.          return nCounter;
  523.       }
  524.       nCounter++;
  525.    }
  526.    return -1;
  527. }
  528. function ClearTabOrder()
  529. {
  530.    GlobalTabOrder.ClearTabOrders();
  531. }
  532. function GetCurrentRegisteredButtons(strLevel)
  533. {
  534.    if(strLevel == undefined)
  535.    {
  536.       strLevel = "_level" add m_nCurrentSWF;
  537.    }
  538.    return eval(strLevel add ".MasterSwfRegisteredButtons");
  539. }
  540. function FlagButtonAsRequested(nIndex, strLevel)
  541. {
  542.    var tempObject;
  543.    tempObject = eval(strLevel);
  544.    tempObject.MasterSwfRegisteredButtons[nIndex].Requested = true;
  545. }
  546. function IsButtonRegistered(strLevel, strBtn)
  547. {
  548.    var arRegBtns;
  549.    arRegBtns = GetCurrentRegisteredButtons(strLevel);
  550.    if(arRegBtns == undefined)
  551.    {
  552.       return -1;
  553.    }
  554.    var nCounter = 0;
  555.    while(nCounter < arRegBtns.length)
  556.    {
  557.       if(arRegBtns[nCounter].Target eq strBtn)
  558.       {
  559.          return nCounter;
  560.       }
  561.       nCounter++;
  562.    }
  563.    return -1;
  564. }
  565. function ResetButtons(strLevel)
  566. {
  567.    var arRegisteredButtons;
  568.    if(strLevel == undefined)
  569.    {
  570.       strLevel = "_level" add m_nCurrentSWF;
  571.    }
  572.    arRegisteredButtons = GetCurrentRegisteredButtons(strLevel);
  573.    if(arRegisteredButtons == undefined)
  574.    {
  575.       return false;
  576.    }
  577.    var nCounter = 0;
  578.    var tempObject;
  579.    while(nCounter < arRegisteredButtons.length)
  580.    {
  581.       tempObject = arRegisteredButtons[nCounter];
  582.       tempObject.Requested = false;
  583.       nCounter++;
  584.    }
  585.    return true;
  586. }
  587. function UnregisterButtons(strLevel)
  588. {
  589.    var arRegButtons;
  590.    var nCounter = 0;
  591.    arRegButtons = eval(strLevel add ".MasterSwfRegisteredButtons");
  592.    if(arRegButtons == undefined)
  593.    {
  594.       return undefined;
  595.    }
  596.    var tempObject;
  597.    while(nCounter < arRegButtons.length)
  598.    {
  599.       tempObject = arRegButtons[nCounter];
  600.       if(tempObject.Requested == false)
  601.       {
  602.          fscommand("NOTIFY","Destroying Unrequested Button " add arRegButtons[nCounter].Target);
  603.          removeMovieClip(tempObject.Target);
  604.          arRegButtons.splice(nCounter,1);
  605.       }
  606.       else
  607.       {
  608.          nCounter++;
  609.       }
  610.    }
  611.    set(strLevel add ".MasterSwfRegisteredButtons",arRegButtons);
  612. }
  613. function OnFunctionCalled(strFunctionLevel, strFunctionName)
  614. {
  615.    fscommand("LoadVars DONE","blah");
  616. }
  617. function OnFunctionLoaded(strFunctionLevel, strFunctionName)
  618. {
  619.    fscommand("OnFunctionLoaded","ResettingButtons");
  620.    ResetButtons(strFunctionLevel);
  621. }
  622. function VerifyButtonExistence(strFunctionLevel)
  623. {
  624.    var arRegisteredButtons = GetCurrentRegisteredButtons(strFunctionLevel);
  625.    var nCounter = 0;
  626.    var tempObject;
  627.    this.ButtonExistenceCounter = 0;
  628.    this.ButtonExistenceCeiling = arRegisteredButtons.length;
  629.    fscommand("ExistenceCeiling",ButtonExistenceCeiling);
  630.    while(nCounter < arRegisteredButtons.length)
  631.    {
  632.       tempObject = arRegisteredButtons[nCounter];
  633.       fscommand("Check if exists",tempObject.Target);
  634.       FuncCallingQueue.AddFunction("AreYouAMovieClip",tempObject.Target,_target,"OnButtonExists");
  635.       nCounter++;
  636.    }
  637.    if(nCounter == 0)
  638.    {
  639.       if(m_bShowSwf)
  640.       {
  641.          ShowSwf();
  642.       }
  643.       else
  644.       {
  645.          m_bFrameReady = true;
  646.       }
  647.       this.doneTime = getTimer();
  648.       fscommand("DoneTime",this.doneTime);
  649.       this.CompleteTime = this.doneTime - this.StartTime;
  650.       fscommand("FGLCompleteTime",this.CompleteTime);
  651.       return undefined;
  652.    }
  653. }
  654. function OnButtonExists(strFunctionLevel, strFunctionName)
  655. {
  656.    this.ButtonExistenceCounter = this.ButtonExistenceCounter + 1;
  657.    fscommand("Exists",strFunctionLevel);
  658.    fscommand("ExistsCounter",this.ButtonExistenceCounter);
  659.    if(this.ButtonExistenceCeiling == this.ButtonExistenceCounter)
  660.    {
  661.       RelinkButtons(GetLevel(strFunctionLevel));
  662.    }
  663. }
  664. function RelinkButtons(strLevel)
  665. {
  666.    fscommand("RELINK","Level = " add strLevel);
  667.    var arRegisteredButtons = GetCurrentRegisteredButtons(strLevel);
  668.    var nCounter = 0;
  669.    var tempObject;
  670.    var tempLevelObject = eval(strLevel);
  671.    var testTemp;
  672.    while(nCounter < arRegisteredButtons.length)
  673.    {
  674.       tempObject = arRegisteredButtons[nCounter];
  675.       fscommand("RELINK","Calling " add tempObject.Target add ".Relink");
  676.       testTemp = eval(tempObject.Target);
  677.       testTemp.Relink();
  678.       nCounter++;
  679.    }
  680.    if(tempLevelObject.AnchorObjects != undefined)
  681.    {
  682.       nCounter = 0;
  683.       while(nCounter < tempLevelObject.AnchorObjects.length)
  684.       {
  685.          tempObject = eval(tempLevelObject.AnchorObjects[nCounter]);
  686.          fscommand("Calling PerformAncSub",tempObject);
  687.          tempObject.PerformAnchorSubstitution();
  688.          nCounter++;
  689.       }
  690.    }
  691.    if(m_bShowSwf)
  692.    {
  693.       ShowSwf();
  694.    }
  695.    else
  696.    {
  697.       m_bFrameReady = true;
  698.    }
  699.    SetCurrentTabOrder(strLevel);
  700.    this.doneTime = getTimer();
  701.    fscommand("DoneTime",this.doneTime);
  702.    this.CompleteTime = this.doneTime - this.StartTime;
  703.    fscommand("FGLCompleteTime",this.CompleteTime);
  704. }
  705. function OnButtonRelinkCalled(strFunctionLevel, strFunctionName)
  706. {
  707.    fscommand("Relink Done",strFunctionLevel);
  708. }
  709. function OnButtonRelinkLoaded(strFunctionLevel, strFunctionName)
  710. {
  711.    fscommand("OnFunctionLoaded","RELINK");
  712. }
  713. function IsChildLayout(strLevel)
  714. {
  715.    var nIndex = GetAssociatedLayoutIndexFromLayout(strLevel);
  716.    return m_arAssociatedLayouts[nIndex].IsChild;
  717. }
  718. function IsMyParent(strLevel, strCallingTarget)
  719. {
  720.    var nIndex = GetAssociatedLayoutIndexFromLayout(strLevel);
  721.    if(m_arAssociatedLayouts[nIndex].IsChild)
  722.    {
  723.       if(m_arAssociatedLayouts[nIndex].Parent eq strCallingTarget)
  724.       {
  725.          return true;
  726.       }
  727.    }
  728.    return false;
  729. }
  730. function DestroyChildLayoutObject(strLevel, strCallingTarget)
  731. {
  732.    if(eval(strLevel) == undefined)
  733.    {
  734.       return false;
  735.    }
  736.    if(IsMyParent(strLevel,strCallingTarget))
  737.    {
  738.       RemoveAssociationFromLayout(strLevel);
  739.       unloadMovie(strLevel);
  740.       return true;
  741.    }
  742.    return false;
  743. }
  744. function GetLevelNumberFromTarget(strTarget)
  745. {
  746.    var temp = GetLevel(strTarget);
  747.    if(temp == undefined && strTarget.substring(0,6) eq "_level")
  748.    {
  749.       temp = strTarget;
  750.       return temp.slice(6);
  751.    }
  752.    return undefined;
  753. }
  754. function DestroyLayoutObject(strLevel)
  755. {
  756.    if(eval(strLevel) == undefined)
  757.    {
  758.       return false;
  759.    }
  760.    if(!IsChildLayout(strLevel))
  761.    {
  762.       var temp;
  763.       RemoveAssociationFromLayout(strLevel);
  764.       temp = GetLevelNumberFromTarget(strLevel);
  765.       if(temp != undefined)
  766.       {
  767.          fscommand("Setting Available",temp);
  768.          m_arAvailableLayoutLevels.push(temp);
  769.       }
  770.       unloadMovie(strLevel);
  771.       return true;
  772.    }
  773.    return false;
  774. }
  775. function SetCurrentTabOrder(strLevel)
  776. {
  777.    var tempLevelObject = eval(strLevel);
  778.    var tempTabObject;
  779.    var nCounter = 0;
  780.    while(nCounter < tempLevelObject.arTabOrderList.length)
  781.    {
  782.       tempTabObject = tempLevelObject.arTabOrderList[nCounter];
  783.       fscommand("Adding TO",tempTabObject.TabField);
  784.       GlobalTabOrder.AddTabOrder(tempTabObject.TabField,"_level" add tempTabObject.Layout,tempTabObject.DefaultOnEnter);
  785.       nCounter++;
  786.    }
  787.    GlobalTabOrder.ResetFocus();
  788. }
  789. function AssignRegExpVars(nNum, strText, strRegExp, nIndex)
  790. {
  791.    set("REG_EXP_text" add String(nNum),strText);
  792.    set("REG_EXP_regexp" add String(nNum),strRegExp);
  793.    set("REG_EXP_regexpnum" add String(nNum),nIndex);
  794. }
  795. function InterpretRegExpResults()
  796. {
  797.    var nCounter = 0;
  798.    while(nCounter < _level0.NUM_REGEXP_VERIFY)
  799.    {
  800.       if(parseInt(eval("_level0.REG_EXP_result" add String(nCounter))) == 0)
  801.       {
  802.          return eval("_level0.REG_EXP_regexpnum" add String(nCounter));
  803.       }
  804.       nCounter++;
  805.    }
  806.    return -1;
  807. }
  808. function DisableAllRegisteredButtons(nID)
  809. {
  810.    var arRegButtons = GetCurrentRegisteredButtons("_level" add nID);
  811.    var nCounter = 0;
  812.    var tempObject;
  813.    while(nCounter < arRegButtons.length)
  814.    {
  815.       tempObject = eval(arRegButtons[nCounter].Target);
  816.       tempObject.EnableButton(false);
  817.       nCounter++;
  818.    }
  819. }
  820. function ToggleHelp(nID)
  821. {
  822.    var tempOb = eval("_level" add nID);
  823.    tempOb.ToggleHelp(strText);
  824. }
  825. function RegisterButton(strTarget)
  826. {
  827.    var strLevel = GetLevel(strTarget);
  828.    if(strLevel == undefined)
  829.    {
  830.       fscommand("NOTIFY","Could NOT register Button " add strTarget add ": No Level info");
  831.       return false;
  832.    }
  833.    if(eval(strLevel add ".MasterSwfRegisteredButtons") == undefined)
  834.    {
  835.       set(strLevel add ".MasterSwfRegisteredButtons",new Array());
  836.    }
  837.    if(IsButtonRegistered(strLevel,strTarget) == -1)
  838.    {
  839.       var tempObject;
  840.       tempObject = new Object();
  841.       tempObject.Target = strTarget;
  842.       tempObject.Requested = true;
  843.       set(strLevel add ".MasterSwfNewRegisteredButton",tempObject);
  844.       with(eval(strLevel))
  845.       {
  846.          MasterSwfRegisteredButtons.push(MasterSwfNewRegisteredButton);
  847.       }
  848.       fscommand("NOTIFY","Registered Button " add strTarget);
  849.       return true;
  850.    }
  851.    fscommand("NOTIFY",strTarget add " is already registered");
  852.    return false;
  853. }
  854. function BackgroundCreationCallback(strTarget)
  855. {
  856.    fscommand("CreationCallback",strTarget);
  857.    eval(strTarget)._visible = false;
  858.    var nIndex = GetAssociatedLayoutIndexFromLayout(strTarget);
  859.    if(-1 < nIndex)
  860.    {
  861.       var tempLevelOb;
  862.       var tempDisplayOb;
  863.       tempLevelOb = eval(strTarget);
  864.       tempDisplayOb = eval(m_arAssociatedLayouts[nIndex].DisplayLevel);
  865.       tempLevelOb.ChildSwf = tempDisplayOb;
  866.       tempDisplayOb[m_arAssociatedLayouts[nIndex].CallBack]();
  867.       m_arAssociatedLayouts[nIndex].Ready = true;
  868.       VerifyButtonExistence(strTarget);
  869.    }
  870. }
  871. function RegisterAsAnchorObject(strTarget)
  872. {
  873.    fscommand("RegAsAnchor",strTarget);
  874.    var strLevel = GetLevel(strTarget);
  875.    var tempLevelOb = eval(strLevel);
  876.    if(tempLevelOb.AnchorObjects == undefined)
  877.    {
  878.       tempLevelOb.AnchorObjects = new Array();
  879.    }
  880.    tempLevelOb.AnchorObjects.push(strTarget);
  881. }
  882. _level0.MstrSwfEnabled = true;
  883. if(VarsDefined == undefined)
  884. {
  885.    VarsDefined = 1;
  886.    m_arSwfNames = new Array();
  887.    m_nTopLevel = 100;
  888.    m_nCurrentSWF = -1;
  889.    m_nSWFToLoad = -1;
  890.    m_nVisibleBackgroundLayer = -1;
  891.    m_nLayoutCeiling = 1;
  892.    m_arAvailableLayoutLevels = new Array();
  893.    m_arAssociatedLayouts = new Array();
  894.    m_nCurrentLayout = -1;
  895.    m_nLayoutToShow = -1;
  896.    m_bLoadFrameVarsSemaphore = false;
  897.    m_arLoadFrameCalls = new Array();
  898.    m_bMasterSwfBusySemaphore = false;
  899.    m_bCurrentlyLoadingSWF = false;
  900.    m_arLoadSWFCalls = new Array();
  901.    m_bShowSwf = true;
  902.    m_bFrameReady = false;
  903. }
  904. if(m_MovieLoaded == undefined)
  905. {
  906.    m_MovieLoaded = false;
  907. }
  908.