Summary Table

Categories Total Count
PII 0
URL 0
DNS 0
EKL 0
IP 0
PORT 0
VsID 0
CF 0
AI 0
VPD 0
PL 0
Other 0

File Content

????>?? ??????ui????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Root Entry????????
p?|Y?r??RASH0??\???O@%Contents????j?NPage 1????????????Z?Symbol 8 ?????3 ?????????????????????????????????????????
H/!"#$%&'()*+,-.????@123456789:;<=>?SAsCDEFGHIJKLMNOPQRXTUVW????YZ[\????^_`abcdefghijklmnopqr????v????????w?yz{|}~?Root Entry????????
p?|Y?r??RASH?Qv???KContents????? PPage 1?????????????Symbol 8????????????G;????????????????????????N????????????????
????/!"#$%&'()*+,-.????@123456789:;<=>?SAsCDEFGHIJKLMNOPQRXTUVW????YZ[\????^_`abcdefghijklmnopqr????vt????w?yz{|}~?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????P?u?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? 
  
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG????IJKLMNOPQRSTUW????XY????[\]^_`abcdefgh????????klmnopqrstuvwxyz{|}~?Symbol 7???????? uSymbol 1????????????;Symbol 2????A- Symbol 3???? ????*?????$ 
  
???? !"#7'&+(2???? ,-./01????34568T9:;<=>?@ABCDEF????Q????t?LMJ?????RSzhUVWXYZ[\]^_`abcdefg????ijklmnopqrs?????vw?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????I??????????????????????????????????????????????????????????????????????????????????????????????????????????%???????????????????Symbol 7???????????? uSymbol 1????????????3Symbol 2????K? Symbol 3????????????C???CPicPage?? CPicLayer?? CPicFrame????????>=??1if (this.Fade)
{
_parent.bFade = true;
}

#initclip
arrowHeight = 15;
widthBuffer = 10;
marginTop = 5;

window_mc._visible = false;
highlight_mc._visible = false;
textfield_mc._visible = false;
icon_mc._visible = false;
inputbg_mc._visible = false;

function TopicListDialog(xPos,yPos,yOffset)
{
this.userWindow_mc = window_mc.duplicateMovieClip("theWindow"+_global.textNode.nCount,_global.textNode.nCount);
this.userWindow_mc.Owner = this;

_global.textNode.nCount++;

this.xPos = xPos;
this.yPos = yPos;
// Arrows
this.upArrow_mc = undefined;
this.downArrow_mc = undefined;

// Are the arrows Enabled
this.nArrows = 0;
// The Arrow Interval for scrolling
this.arrowInterval = undefined;

// Set the maximum width and height
this.maxWidth = Stage.width;
this.maxHeight = Stage.height - yOffset;
this.yOffset = yOffset;

// stores an array of internal textnodes
this.textNode_array = new Array;

// stores the textnode height
this.nodeHeight = 0;

// store the maximum textnode width
this.maxNodeWidth = 0;

// store the number of displayable items
this.displayItemCount = 0;

// the currently displayed top index
this.topIndex = 0;
this.lastIndex = 0;

// Current Alpha value
this.curAlpha = 0;

// Save the callback function once defined
this.pfnCallback = undefined;

// Selected node
this.nSelected = -1;

// create mouse listener
this.mouseListener = new Object;
this.mouseListener.onMouseDown = this.ClickOut;
this.mouseListener.Owner = this;
Mouse.addListener(this.mouseListener);
}

TopicListDialog.prototype.KeyPressed = function(keyCode)
{
switch(keyCode)
{
case 13:
{
if (this.nSelected == -1)
{
this.textNode_array[0].Select();
this.pfnCallBack(0);
this.nSelected = 0;
}
else
{
this.textNode_array[this.nSelected].Select();
this.pfnCallBack(this.nSelected);
this.nSelected = this.nSelected;
}
_parent.debug_trace("Enter");
break;
}
case 38:
{
if (this.nSelected == -1)
{
this.textNode_array[0].Select();
this.nSelected = 0;
}
else if (this.nSelected>this.topIndex)
{
this.textNode_array[this.nSelected].Unselect();
this.nSelected--;
this.textNode_array[this.nSelected].Select();
}
else if (this.topIndex>0)
{
this.textNode_array[this.nSelected].Unselect();
this.nSelected--;
this.textNode_array[this.nSelected].Select();
this.downArrow_mc._visible = true;
this.topIndex--;
this.UpdateDisplay(this.topIndex);
}
_parent.debug_trace("Up");
break;
}
case 40:
{
if (this.nSelected == -1)
{
this.textNode_array[0].Select();
this.nSelected = 0;
}
else if (this.nSelected<this.lastItem)
{
_parent.debug_trace("Move Down no Scroll");
this.textNode_array[this.nSelected].Unselect();
this.nSelected++;
this.textNode_array[this.nSelected].Select();
}
else if (this.lastItem<this.textNode_array.length-1)
{
this.textNode_array[this.nSelected].Unselect();
this.nSelected++;
this.textNode_array[this.nSelected].Select();
this.upArrow_mc._visible = true;
this.topIndex++;
this.UpdateDisplay(this.topIndex);
}
_parent.debug_trace("Down");
break;
}
}
}
TopicListDialog.prototype.ChangedSelection = function(nIndex)
{
nSelected
}

TopicListDialog.prototype.ClickOut = function()
{
if (!this.Owner.userWindow_mc.hitTest(_root._xmouse,_root._ymouse,true))
{
_parent.debug_trace("ClickOut = "+ this.Owner.userWindow_mc._x);
this.Owner.pfnCallBack(-1);
}
}

TopicListDialog.prototype.DisplayTopicDialog = function(topicList_array,pfnCallBack)
{
this.userWindow_mc._visible = true;
this.pfnCallBack = pfnCallBack;
this.FillList(topicList_array,pfnCallBack);
if (bFade)
{
this.curAlpha = 0;
this.SetAlpha(this.curAlpha);
this.curAlpha+=10;
this.userWindow_mc.onEnterFrame = this.FadeIn;
}
}

TopicListDialog.prototype.FadeIn = function()
{
var theList = this.Owner;
if (theList.curAlpha>100)
{
this.onEnterFrame = undefined;
}
else
{
theList.SetAlpha(theList.curAlpha)
theList.curAlpha+=10;
}
}

TopicListDialog.prototype.FadeOut = function()
{
var theList = this.Owner;
if (theList.curAlpha<0)
{
this.onEnterFrame = undefined;
theList.Destroy();
}
else
{
theList.SetAlpha(theList.curAlpha)
theList.curAlpha-=10;
}
}

TopicListDialog.prototype.SetAlpha = function(newAlpha)
{
this.userWindow_mc._alpha = newAlpha;
var i = 0;
var curYPos = this.userWindow_mc._y + (arrowHeight*this.nArrows);
while (i < this.textNode_array.length && (curYPos + this.nodeHeight) <= (this.userWindow_mc._y + this.userWindow_mc._height - (arrowHeight*this.nArrows)))
{
this.textNode_array[i].userIcon_mc._alpha = newAlpha;
this.textNode_array[i].userHighlight_mc._alpha = newAlpha;
this.textNode_array[i].userTextField_mc._alpha = newAlpha;

curYPos += this.nodeHeight;
i++;
}


}

TopicListDialog.prototype.FillList = function(topicList_array,pfnCallBack)
{
var i = 0;
for (i = 0; i < topicList_array.length; i++)
{
this.textNode_array[i] = CreateNewObj(this.OnClick,i);
this.textNode_array[i].Owner = this;
this.textNode_array[i].SetText(topicList_array[i].displayName_str);
var nodeWidth = this.textNode_array[i].GetWidth();
if (nodeWidth > this.maxNodeWidth)
{
this.maxNodeWidth = nodeWidth;
}
}
this.nodeHeight = this.textNode_array[0].GetHeight();
this.SizeWindow();
this.PositionWindow();
this.UpdateDisplay(this.topIndex);
}

TopicListDialog.prototype.OnClick = function(nIndex)
{
this.Owner.textNode_array[nIndex].Select();
this.Owner.pfnCallBack(nIndex);
}

TopicListDialog.prototype.SizeWindow = function()
{
var totalHeight = this.nodeHeight * this.textNode_array.length +marginTop;

this.userWindow_mc._width = this.maxNodeWidth+widthBuffer;


if (totalHeight > this.maxHeight)
{
this.displayItemCount = Math.floor((this.maxHeight - (arrowHeight*2))/this.nodeHeight);
totalHeight = (this.displayItemCount* this.nodeHeight)+ (arrowHeight*2)
this.userWindow_mc._height = totalHeight+1;
this.EnableArrows();
this.nArrows = 1;
}
else
{
this.displayItemCount = Math.floor(totalHeight/this.nodeHeight);
this.userWindow_mc._height = totalHeight+1;
}
}

TopicListDialog.prototype.PositionWindow = function()
{
// Set X Position
var oldXPos = this.userWindow_mc._x;
this.userWindow_mc._x = this.xPos;
if (this.xPos+this.userWindow_mc._width > Stage.width)
{
this.userWindow_mc._x = Stage.width - this.userWindow_mc._width;
}
if (this.userWindow_mc._x < 0)
{
this.userWindow_mc._x = 0;
}
var deltaX = this.userWindow_mc._x - oldXPos;

// Set Y Position
var oldYPos = this.userWindow_mc._y;
this.userWindow_mc._y = this.yPos;
if (this.userWindow_mc._y + this.userWindow_mc._height > Stage.height - _parent.indexYPosition)
{
this.userWindow_mc._y = Stage.height - this.userWindow_mc._height - _parent.indexYPosition;
}

var deltaY = this.userWindow_mc._y - oldYPos;
if (this.nArrows>0)
{
this.upArrow_mc._x +=deltaX;
this.upArrow_mc._y +=deltaY;
this.downArrow_mc._x +=deltaX;
this.downArrow_mc._y +=deltaY;
}
}

TopicListDialog.prototype.UpdateDisplay = function(nIndex)
{

var curYPos = this.userWindow_mc._y + (arrowHeight*this.nArrows);
if (this.nArrows == 0)
{
curYPos +=marginTop;
}
var i = nIndex;
if (this.lastIndex < nIndex)
{
this.textNode_array[this.lastIndex].MakeInvisible();
}
else
{
this.textNode_array[this.lastIndex+(this.displayItemCount-1) ].MakeInvisible();
}
while (i < this.textNode_array.lengthSymbol 21??????????+Symbol 22?????????????LSymbol 23?????2Symbol 24?????????1 && (curYPos + this.nodeHeight) <= (this.userWindow_mc._y + this.userWindow_mc._height - (arrowHeight*this.nArrows)))
{
this.textNode_array[i].MoveTo(this.userWindow_mc._x + 5, curYPos);
var nodeWidth = this.textNode_array[i].GetWidth();
if (nodeWidth > this.maxNodeWidth)
{
newWidth = nodeWidth - this.maxNodeWidth;
this.textNode_array[i].userTextField_mc._width -= newWidth;
}

curYPos += this.nodeHeight;
this.textNode_array[i].SetState(true);
this.textNode_array[i].TransitionIn();
this.textNode_array[i].MakeVisible();
i++;
}
this.lastItem = i - 1;
this.lastIndex = nIndex;
}

TopicListDialog.prototype.EnableArrows = function()
{
this.DrawArrows();
this.CenterArrows();
}

TopicListDialog.prototype.DrawArrows = function()
{
// Create and draw up arrow
this.upArrow_mc = createEmptyMovieClip("UpArrow",1000000);
this.upArrow_mc.moveTo(3,8);
this.upArrow_mc.lineStyle(2,0x555555,100);
this.upArrow_mc.lineTo(8,3);
this.upArrow_mc.lineTo(13,8);
this.upArrow_mc.lineStyle(1,0x555555,0);
this.upArrow_mc.moveTo(0,0);
this.upArrow_mc.beginFill(0x000000,0);
this.upArrow_mc.lineTo(0,10);
this.upArrow_mc.lineTo(15,10);
this.upArrow_mc.lineTo(15,0);
this.upArrow_mc.lineTo(0,0);
this.upArrow_mc.endFill();

this.upArrow_mc.onPress = this.UpArrowPressed;
this.upArrow_mc.onRelease = this.UpArrowReleased;
this.upArrow_mc.Owner = this;
this.upArrow_mc._visible = false;

// Create and draw down arrow
this.downArrow_mc = createEmptyMovieClip("DownArrow",1000001);
this.downArrow_mc.moveTo(3,3);
this.downArrow_mc.lineStyle(2,0x555555,100);
this.downArrow_mc.lineTo(8,8);
this.downArrow_mc.lineTo(13,3);
this.downArrow_mc.lineStyle(1,0x555555,0);
this.downArrow_mc.moveTo(0,0);
this.downArrow_mc.beginFill(0x000000,0);
this.downArrow_mc.lineTo(0,10);
this.downArrow_mc.lineTo(15,10);
this.downArrow_mc.lineTo(15,0);
this.downArrow_mc.lineTo(0,0);
this.downArrow_mc.endFill();
this.downArrow_mc.moveTo(0,100);

this.downArrow_mc.onPress = this.DownArrowPressed;
this.downArrow_mc.??CPicPage?? CPicLayer?? CPicFrame????????vX??#initclip
arrowHeight = 15;
widthBuffer = 10;
marginTop = 5;

window_mc._visible = false;
highlight_mc._visible = false;
textfield_mc._visible = false;
icon_mc._visible = false;
inputbg_mc._visible = false;

function TopicListDialog(xPos,yPos,yOffset)
{
this.userWindow_mc = window_mc;
this.xPos = xPos;
this.yPos = yPos;
// Arrows
this.upArrow_mc = undefined;
this.downArrow_mc = undefined;

// Are the arrows Enabled
this.nArrows = 0;

// Set the maximum width and height
this.maxWidth = Stage.width;
this.maxHeight = Stage.height - yOffset;
this.yOffset = yOffset;

// stores an array of internal textnodes
this.textNode_array = new Array;

// stores the textnode height
this.nodeHeight = 0;

// store the maximum textnode width
this.maxNodeWidth = 0;

// store the number of displayable items
this.displayItemCount = 0;

// the currently displayed top index
this.topIndex = 0;
this.lastIndex = 0;

// Save the callback function once defined
this.pfnCallback = undefined;

// create mouse listener
this.mouseListener = new Object;
this.mouseListener.onMouseDown = this.ClickOut;
this.mouseListener.Owner = this;
Mouse.addListener(this.mouseListener);
}

TopicListDialog.prototype.ClickOut = function()
{
if (!this.Owner.userWindow_mc.hitTest(_xmouse,_ymouse,true))
{
this.Owner.pfnCallBack(-1);
}
}

TopicListDialog.prototype.DisplayTopicDialog = function(topicList_array,pfnCallBack)
{
this.userWindow_mc._visible = true;
this.pfnCallBack = pfnCallBack;
this.FillList(topicList_array,pfnCallBack);

}

TopicListDialog.prototype.FillList = function(topicList_array,pfnCallBack)
{
var i = 0;
for (i = 0; i < topicList_array.length; i++)
{
this.textNode_array[i] = CreateNewObj(pfnCallBack,i);
this.textNode_array[i].SetText(topicList_array[i].displayName_str);
var nodeWidth = this.textNode_array[i].GetWidth();
if (nodeWidth > this.maxNodeWidth)
{
this.maxNodeWidth = nodeWidth;
}
}
this.nodeHeight = this.textNode_array[0].GetHeight();
this.SizeWindow();
this.PositionWindow();
this.UpdateDisplay(this.topIndex);
}

TopicListDialog.prototype.SizeWindow = function()
{
var totalHeight = this.nodeHeight * this.textNode_array.length +marginTop;

this.userWindow_mc._width = this.maxNodeWidth+widthBuffer;


if (totalHeight > this.maxHeight)
{
this.displayItemCount = Math.floor((this.maxHeight - (arrowHeight*2))/this.nodeHeight);
_parent.debug_trace(this.displayItemCount);
totalHeight = (this.displayItemCount* this.nodeHeight)+ (arrowHeight*2)
this.userWindow_mc._height = totalHeight;
this.EnableArrows();
this.nArrows = 1;
}
else
{
this.displayItemCount = Math.floor(totalHeight/this.nodeHeight);
this.userWindow_mc._height = totalHeight;
}
}

TopicListDialog.prototype.PositionWindow = function()
{
// Set X Position
var oldXPos = this.userWindow_mc._x;
this.userWindow_mc._x = this.xPos;
if (this.xPos+this.userWindow_mc._width > Stage.width)
{
this.userWindow_mc._x = Stage.width - this.userWindow_mc._width;
}
if (this.userWindow_mc._x < 0)
{
this.userWindow_mc._x = 0;
}
var deltaX = this.userWindow_mc._x - oldXPos;

// Set Y Position
var oldYPos = this.userWindow_mc._y;
this.userWindow_mc._y = this.yPos;
if (this.yPos+this.userWindow_mc._height>Stage.height)
{
this.userWindow_mc._y = Stage.height - this.userWindow_mc._height;
}
var deltaY = this.userWindow_mc._y - oldYPos;
if (this.nArrows>0)
{
this.upArrow_mc._x +=deltaX;
this.upArrow_mc._y +=deltaY;
this.downArrow_mc._x +=deltaX;
this.downArrow_mc._y +=deltaY;
}
}

TopicListDialog.prototype.UpdateDisplay = function(nIndex)
{

var curYPos = this.userWindow_mc._y + (arrowHeight*this.nArrows);
if (this.nArrows == 0)
{
curYPos +=marginTop;
}
var i = nIndex;
if (this.lastIndex < nIndex)
{
this.textNode_array[this.lastIndex].MakeInvisible();
}
else
{
this.textNode_array[this.lastIndex+(this.displayItemCount-1) ].MakeInvisible();
}
while (i < this.textNode_array.length && (curYPos + this.nodeHeight) <= (this.userWindow_mc._y + this.userWindow_mc._height - (arrowHeight*this.nArrows)))
{
this.textNode_array[i].MoveTo(this.userWindow_mc._x + 5, curYPos);
var nodeWidth = this.textNode_array[i].GetWidth();
if (nodeWidth > this.maxNodeWidth)
{
newWidth = nodeWidth - this.maxNodeWidth;
this.textNode_array[i].userTextField_mc._width -= newWidth;
}

curYPos += this.nodeHeight;
this.textNode_array[i].SetState(true);
this.textNode_array[i].TransitionIn();
this.textNode_array[i].MakeVisible();
i++;
}
this.lastIndex = nIndex;
}

TopicListDialog.prototype.EnableArrows = function()
{
this.DrawArrows();
this.CenterArrows();
}

TopicListDialog.prototype.DrawArrows = function()
{
// Create and draw up arrow
this.upArrow_mc = createEmptyMovieClip("UpArrow",1000000);
this.upArrow_mc.moveTo(3,8);
this.upArrow_mc.lineStyle(2,0x555555,100);
this.upArrow_mc.lineTo(8,3);
this.upArrow_mc.lineTo(13,8);
this.upArrow_mc.lineStyle(1,0x555555,0);
this.upArrow_mc.moveTo(0,0);
this.upArrow_mc.beginFill(0x000000,0);
this.upArrow_mc.lineTo(0,10);
this.upArrow_mc.lineTo(15,10);
this.upArrow_mc.lineTo(15,0);
this.upArrow_mc.lineTo(0,0);
this.upArrow_mc.endFill();

this.upArrow_mc.onPress = this.UpArrowPressed;
this.upArrow_mc.Owner = this;
this.upArrow_mc._visible = false;

// Create and draw down arrow
this.downArrow_mc = createEmptyMovieClip("DownArrow",1000001);
this.downArrow_mc.moveTo(3,3);
this.downArrow_mc.lineStyle(2,0x555555,100);
this.downArrow_mc.lineTo(8,8);
this.downArrow_mc.lineTo(13,3);
this.downArrow_mc.lineStyle(1,0x555555,0);
this.downArrow_mc.moveTo(0,0);
this.downArrow_mc.beginFill(0x000000,0);
this.downArrow_mc.lineTo(0,10);
this.downArrow_mc.lineTo(15,10);
this.downArrow_mc.lineTo(15,0);
this.downArrow_mc.lineTo(0,0);
this.downArrow_mc.endFill();
this.downArrow_mc.moveTo(0,100);

this.downArrow_mc.onPress = this.DownArrowPressed;
this.downArrow_mc.Owner = this;

}

TopicListDialog.prototype.UpArrowPressed = function()
{
this.Owner.downArrow_mc._visible = true;
this.Owner.topIndex--;
this.Owner.UpdateDisplay(this.Owner.topIndex);
if (this.Owner.topIndex == 0)
{
this._visible = false;
}
}

TopicListDialog.prototype.DownArrowPressed = function()
{
this.Owner.upArrow_mc._visible = true;
this.Owner.topIndex++;
this.Owner.UpdateDisplay(this.Owner.topIndex);

if (this.Owner.topIndex == this.Owner.textNode_array.length-this.Owner.displayItemCount)
{
this._visible=false;
}
}

TopicListDialog.prototype.CenterArrows = function()
{
// Position Up Arrow
this.upArrow_mc._y = this.userWindow_mc._y;
this.upArrow_mc._x = this.userWindow_mc._x + (this.userWindow_mc._width - this.upArrow_mc._width)/2;
// Position Down Arrow
this.downArrow_mc._y = (this.userWindow_mc._y + this.userWindow_mc._height) - this.downArrow_mc._height-2;
this.downArrow_mc._x = this.upArrow_mc._x;

}

TopicListDialog.prototype.Close = function()
{
var i = 0;
for (i = 0; i < this.textNode_array.length; i++)
{
this.textNode_array[i].DestroyNode();
delete this.textNode_array[i];
}
delete this.textNode_array;
this.upArrow_mc.removeMovieClip();
this.downArrow_mc.removeMovieClip();
this.userWindow_mc._visible = false;
Mouse.removeListener(this.mouseListener);
}


#endinitclip??
Layer 1????O?????onRelease = this.DownArrowReleased;
this.downArrow_mc.Owner = this;

}

TopicListDialog.prototype.UpArrowPressed = function()
{
this.Owner.downArrow_mc._visible = true;
this.Owner.topIndex--;
this.Owner.UpdateDisplay(this.Owner.topIndex);
if (this.Owner.topIndex > 0)
{
this.Owner.arrowInterval = setInterval(this.Owner.UpArrowDown,300,this.Owner);
}
else
{
this.Owner.upArrow_mc._visible = false;
}
}

TopicListDialog.prototype.UpArrowDown = function(theList)
{
theList.topIndex--;
theList.Updat??CPicPage?? CPicLayer?? CPicFrame?????????7??'#initclip

icon_mc._visible = false;
textfield_mc._visible = false;
highlight_mc._visible = false;

_global.textNode = new Object;
_global.textNode.nCount = 0;

function CreateNewObj(pfnClicked,dataClicked)
{
var Obj = new GenericTextNodeClass(true,pfnClicked,dataClicked);
return Obj;
}

function GenericTextNodeClass(bCreate,pfnClicked,dataClicked)
{
// this code is to make sure that a new object is not created when we register the class
if (!bCreate || bCreate == undefined)
{
return;
}

// Duplicate the movie clips
this.userIcon_mc = icon_mc.duplicateMovieClip("icon"+_global.textNode.nCount,_global.textNode.nCount);
this.userTextField_mc = textfield_mc.duplicateMovieClip("text"+_global.textNode.nCount,_global.textNode.nCount+1);
this.userHighlight_mc = highlight_mc.duplicateMovieClip("highlight"+_global.textNode.nCount,_global.textNode.nCount+2);

// Create a reference to this object in the icon and the textfield
this.userIcon_mc.Owner = this;
this.userTextField_mc.Owner = this;

// set the data to be returned when the object is clicked to undefined
this.pfnClicked = pfnClicked;
this.dataClicked = dataClicked;

// Can the item be clicked
this.bItemIn = false;

// Set selected to false
this.bSelected = false;
// Set visible to false
this.bIsTextVisible = false;
this.bIsIconVisible = false;

// increment the object count
_global.textNode.nCount+=3;

// Initialize object
this.Init();
}

GenericTextNodeClass.prototype = new MovieClip();

///////////////////////////////////////////////////////////////////////////////////
// Initialize the object
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Init = function()
{
if (this.userHighlight_mc.getDepth() > this.userTextField_mc.getDepth())
{
this.userHighlight_mc.swapDepths(this.userTextField_mc);
}

// Make the movie clips initially invisible
this.userIcon_mc._visible = false;
this.userTextField_mc._visible = false;
this.userHighlight_mc._visible = false;

// Position the highlight over the textfield
this.userHighlight_mc._x = this.userTextField_mc._x;
this.userHighlight_mc._y = this.userTextField_mc._y;

// Capture the onClick event
this.userTextField_mc.onPress = this.Clicked;
this.userIcon_mc.onPress = this.Clicked;
};

///////////////////////////////////////////////////////////////////////////////////
// Set the text of the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.SetText = function(newText_str)
{
this.userTextField_mc.label_mc.label_txt.autoSize = true;
this.userTextField_mc.label_mc.label_txt.text = newText_str;
textFormatObj = this.userTextField_mc.label_mc.label_txt.getTextFormat();
var rect = textFormatObj.getTextExtent(newText_str)

// this.userTextField_mc.label_mc.label_txt.setTextFormat(textFormatObj);

this.userHighlight_mc.gotoAndStop("out");
this.userHighlight_mc._width = this.userTextField_mc.label_mc.label_txt._width;
this.userHighlight_mc._height = this.userTextField_mc.label_mc.label_txt._height;
this.userHighlight_mc._visible = false;
this.userTextField_mc.label_mc.label_txt.autoSize = false;
};

///////////////////////////////////////////////////////////////////////////////////
// Transition the text node onto the screen
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.SetState = function(bState)
{
this.bItemIn = bState;
};

GenericTextNodeClass.prototype.TransitionIn = function()
{
if (this.bItemIn)
{
this.InNoTransition();
}
else
{
this.bItemIn = true;
this.bIsTextVisible = true;
this.bIsIconVisible = true;
this.userTextField_mc.gotoAndPlay("In");
this.userIcon_mc.gotoAndPlay("In");
}
};

///////////////////////////////////////////////////////////////////////////////////
// Transition the text node off of the screen
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.TransitionOut = function()
{
this.bItemIn = false;
if (this.bSelected)
{
this.userHighlight_mc.gotoAndPlay("out");
this.bSelected = false;
}
this.userTextField_mc.gotoAndPlay("out");
this.userIcon_mc.gotoAndPlay("out");

this.userTextField_mc.onEnterFrame = this.HideOnOut;
this.userICon_mc.onEnterFrame = this.HideOnOut;
};

GenericTextNodeClass.prototype.InNoTransition = function()
{
this.bItemIn = true;
this.bIsTextVisible = true;
this.bIsIconVisible = true;
if (this.bSelected)
{
this.userTextField_mc.gotoAndPlay("selected");
}
else
{
this.userTextField_mc.gotoAndStop("visible");
}
this.userIcon_mc.gotoAndStop("visible");
};

///////////////////////////////////////////////////////////////////////////////////
// Checks the current frame and hides the text if it is the end of the transition out
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.HideOnOut = function()
{
if (this._currentframe == this._totalframes)
{
if (this == this.Owner.userTextField_mc)
{
this.Owner.bIsTextVisible = false;
}
else
{
this.Owner.bIsIconVisible = false;
}
this.onEnterFrame = null;
this._visible = false;
}
};

///////////////////////////////////////////////////////////////////////////////////
// Highlight the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Select = function()
{
this.bSelected = true;
this.userTextField_mc.gotoAndPlay("selected");
this.userIcon_mc.gotoAndPlay("selected");
this.userHighlight_mc._visible = true;
this.userHighlight_mc.gotoAndPlay("in");
};

///////////////////////////////////////////////////////////////////////////////////
// unhighlight the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Unselect = function()
{
this.bSelected = false;
this.userTextField_mc.gotoAndPlay("unselected");
this.userIcon_mc.gotoAndPlay("unselected");
this.userHighlight_mc.gotoAndPlay("out");
};

///////////////////////////////////////////////////////////////////////////////////
// handles the case when the text node is clicked.
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Clicked = function()
{
if (this.Owner.bItemIn)
{
this.Owner.pfnClicked(this.Owner.dataClicked);
}
};

///////////////////////////////////////////////////////////////////////////////////
// Get the node width
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.GetWidth = function()
{
var XPos;
var nWidth;
if (this.userIcon_mc._x < this.userTextField_mc._x)
{
XPos = this.userIcon_mc._x;
}
else
{
XPos = this.userTextField_mc._x;
}
if ((this.userIcon_mc._x+this.userIcon_mc._width) >(this.userTextField_mc._x+this.userTextField_mc._width))
{
nWidth = (this.userIcon_mc._x+this.userIcon_mc._width) - XPos;
}
else
{
nWidth = (this.userTextField_mc._x+this.userTextField_mc._width) - XPos;
}

if (this.userIcon_mc == undefined)
{
nWidth = this.userTextField_mc._width;
}

return nWidth;

};

///////////////////////////////////////////////////////////////////////////////////
// Get the node height
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.GetHeight = function()
{
var YPos;
var nHeight;
if (this.userIcon_mc._y < this.userTextField_mc._y)
{
YPos = this.userIcon_mc._y;
}
else
{
YPos = this.userTextField_mc._y;
}
if ((this.userIcon_mc._y+this.userIcon_mc._height) >(this.userTextField_mc._y+this.userTextField_mc._height))
{
nHeight = (this.userIcon_mc._y+this.userIcon_mc._height) - YPos;
}
else
{
nHeight = (this.userTextField_mc._y+this.userTextField_mc._height) - YPos;
}

if (this.userIcon_mc == undefined)
{
nHeight = this.eDisplay(theList.topIndex);
clearInterval(theList.arrowInterval);
theList.arrowInterval = setInterval(theList.UpArrowDown,75,theList);
if (theList.topIndex == 0)
{
theList.upArrow_mc._visible = false;
clearInterval(theList.arrowInterval);
}
}

TopicListDialog.prototype.UpArrowReleased = function()
{
clearInterval(this.Owner.arrowInterval);
}

TopicListDialog.prototype.DownArrowPressed = function()
{
this.Owner.upArrow_mc._visible = true;
this.Owner.topIndex++;
this.Owner.UpdateDisplay(this.Owner.topIndex);

if (this.Owner.topIndex < this.Owner.textNode_array.length-this.Owner.displayItemCount)
{
this.Owner.arrowInterval = setInterval(this.Owner.DownArrowDown,300,this.Owner);
}
else
{
this._visible=false;
}
}

TopicListDialog.prototype.DownArrowDown = function(theList)
{
theList.topIndex++;
theList.UpdateDisplay(theList.topIndex);
clearInterval(theList.arrowInterval);
theList.arrowInterval = setInterval(theList.DownArrowDown,75,theList);

if (theList.topIndex == theList.textNode_ar??CPicPage?? CPicLayer?? CPicFrame????????B??)#initclip

icon_mc._visible = false;
textfield_mc._visible = false;
highlight_mc._visible = false;
var g_textFormat = undefined;

_global.textNode = new Object;
_global.textNode.nCount = 0;

function SetTextFormat(newTextFormat)
{
_parent.debug_trace("*******************************************************");
_parent.debug_trace(newTextFormat.font);
_parent.debug_trace("*******************************************************");
g_textFormat = newTextFormat;
}

function CreateNewObj(pfnClicked,dataClicked)
{
var Obj = new GenericTextNodeClass(true,pfnClicked,dataClicked);
return Obj;
}

function GenericTextNodeClass(bCreate,pfnClicked,dataClicked)
{
// this code is to make sure that a new object is not created when we register the class
if (!bCreate || bCreate == undefined)
{
return;
}

// Duplicate the movie clips
this.userIcon_mc = icon_mc.duplicateMovieClip("icon"+_global.textNode.nCount,_global.textNode.nCount);
this.userTextField_mc = textfield_mc.duplicateMovieClip("text"+_global.textNode.nCount,_global.textNode.nCount+1);
this.userHighlight_mc = highlight_mc.duplicateMovieClip("highlight"+_global.textNode.nCount,_global.textNode.nCount+2);

// Create a reference to this object in the icon and the textfield
this.userIcon_mc.Owner = this;
this.userTextField_mc.Owner = this;

// set the data to be returned when the object is clicked to undefined
this.pfnClicked = pfnClicked;
this.dataClicked = dataClicked;

// Can the item be clicked
this.bItemIn = false;

// Set selected to false
this.bSelected = false;
// Set visible to false
this.bIsTextVisible = false;
this.bIsIconVisible = false;

// increment the object count
_global.textNode.nCount+=3;

// Initialize object
this.Init();
}

GenericTextNodeClass.prototype = new MovieClip();

///////////////////////////////////////////////////////////////////////////////////
// Initialize the object
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Init = function()
{
if (this.userHighlight_mc.getDepth() > this.userTextField_mc.getDepth())
{
this.userHighlight_mc.swapDepths(this.userTextField_mc);
}

// Make the movie clips initially invisible
this.userIcon_mc._visible = false;
this.userTextField_mc._visible = false;
this.userHighlight_mc._visible = false;

// Position the highlight over the textfield
this.userHighlight_mc._x = this.userTextField_mc._x;
this.userHighlight_mc._y = this.userTextField_mc._y;

// Capture the onClick event
this.userTextField_mc.onPress = this.Clicked;
this.userIcon_mc.onPress = this.Clicked;
};

///////////////////////////////////////////////////////////////////////////////////
// Set the text of the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.SetText = function(newText_str)
{
this.userTextField_mc.label_mc.label_txt.autoSize = true;
this.userTextField_mc.label_mc.label_txt.text = newText_str;
textFormatObj = this.userTextField_mc.label_mc.label_txt.getTextFormat();

for (items in g_textFormat)
{
if (eval("g_textFormat."+items) != undefined)
{
textFormatObj[items] = g_textFormat[items]
}
}

this.userTextField_mc.label_mc.label_txt.setTextFormat(textFormatObj);

this.userHighlight_mc.gotoAndStop("out");
this.userHighlight_mc._width = this.userTextField_mc.label_mc.label_txt._width;
this.userHighlight_mc._height = this.userTextField_mc.label_mc.label_txt._height;
this.userHighlight_mc._visible = false;
this.userTextField_mc.label_mc.label_txt.autoSize = false;
};

///////////////////////////////////////////////////////////////////////////////////
// Transition the text node onto the screen
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.SetState = function(bState)
{
this.bItemIn = bState;
};

GenericTextNodeClass.prototype.TransitionIn = function()
{
if (this.bItemIn)
{
this.InNoTransition();
}
else
{
this.bItemIn = true;
this.bIsTextVisible = true;
this.bIsIconVisible = true;
this.userTextField_mc.gotoAndPlay("In");
this.userIcon_mc.gotoAndPlay("In");
}
};

///////////////////////////////////////////////////////////////////////////////////
// Transition the text node off of the screen
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.TransitionOut = function()
{
this.bItemIn = false;
if (this.bSelected)
{
this.userHighlight_mc.gotoAndPlay("out");
this.bSelected = false;
}
this.userTextField_mc.gotoAndPlay("out");
this.userIcon_mc.gotoAndPlay("out");

this.userTextField_mc.onEnterFrame = this.HideOnOut;
this.userICon_mc.onEnterFrame = this.HideOnOut;
};

GenericTextNodeClass.prototype.InNoTransition = function()
{
this.bItemIn = true;
this.bIsTextVisible = true;
this.bIsIconVisible = true;
if (this.bSelected)
{
this.userTextField_mc.gotoAndPlay("selected");
}
else
{
this.userTextField_mc.gotoAndStop("visible");
}
this.userIcon_mc.gotoAndStop("visible");
};

///////////////////////////////////////////////////////////////////////////////////
// Checks the current frame and hides the text if it is the end of the transition out
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.HideOnOut = function()
{
if (this._currentframe == this._totalframes)
{
if (this == this.Owner.userTextField_mc)
{
this.Owner.bIsTextVisible = false;
}
else
{
this.Owner.bIsIconVisible = false;
}
this.onEnterFrame = null;
this._visible = false;
}
};

///////////////////////////////////////////////////////////////////////////////////
// Highlight the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Select = function()
{
this.bSelected = true;
this.userTextField_mc.gotoAndPlay("selected");
this.userIcon_mc.gotoAndPlay("selected");
this.userHighlight_mc._visible = true;
this.userHighlight_mc.gotoAndPlay("in");
};

///////////////////////////////////////////////////////////////////////////////////
// unhighlight the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Unselect = function()
{
this.bSelected = false;
this.userTextField_mc.gotoAndPlay("unselected");
this.userIcon_mc.gotoAndPlay("unselected");
this.userHighlight_mc.gotoAndPlay("out");
};

///////////////////////////////////////////////////////////////////////////////////
// handles the case when the text node is clicked.
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Clicked = function()
{
if (this.Owner.bItemIn)
{
this.Owner.pfnClicked(this.Owner.dataClicked);
}
};

///////////////////////////////////////////////////////////////////////////////////
// Get the node width
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.GetWidth = function()
{
var XPos;
var nWidth;
if (this.userIcon_mc._x < this.userTextField_mc._x)
{
XPos = this.userIcon_mc._x;
}
else
{
XPos = this.userTextField_mc._x;
}
if ((this.userIcon_mc._x+this.userIcon_mc._width) >(this.userTextField_mc._x+this.userTextField_mc._width))
{
nWidth = (this.userIcon_mc._x+this.userIcon_mc._width) - XPos;
}
else
{
nWidth = (this.userTextField_mc._x+this.userTextField_mc._width) - XPos;
}

if (this.userIcon_mc == undefined)
{
nWidth = this.userTextField_mc._width;
}

return nWidth;

};

///////////////////////////////////////////////////////////////////////////////////
// Get the node height
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.GetHeight = function()
{
var YPos;
var nHeight;
if (this.userIcon_mc._y < this.userTextField_mc._y)
{
YPos = this.userIcon_mc._y;
}
else
{
YPos = this.userTextField_mc._y;
}
if ((this.userIcon_mc._y+this.userIcon_mc._height) >(this.userTextField_mc._y+this.userTextField_mc._height))
{
nHeight = (this.userIcon_mc._y+this.userIcon_mc._height) - YPos;
}
else
{
nHeight = (this.userTextField_mc._y+this.userTextField_mc._height) - YPos;
}

if (this.userIcon_mc == undefined)
{
nHeight = this.userTextField_mc._height;
}

return nHeight;
};

//////////////////////////////////////////////////////////////////userTextField_mc._height;
}

return nHeight;
};

///////////////////////////////////////////////////////////////////////////////////
// Make invisible
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.MakeInvisible = function()
{
this.userIcon_mc._visible = false;
this.userTextField_mc._visible = false;
this.userHighlight_mc._visible = false;
}

///////////////////////////////////////////////////////////////////////////////////
// Make visible
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.MakeVisible = function()
{
this.userIcon_mc._visible = true;
this.userTextField_mc._visible = true;
if (this.bSelected)
{
this.userHighlight_mc._visible = true;
}
}

///////////////////////////////////////////////////////////////////////////////////
// Position the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.MoveTo = function(x,y)
{
// Save Original values
var iconX = this.userIcon_mc._x;
var iconY = this.userIcon_mc._y;
var textX = this.userTextField_mc._x;
var textY = this.userTextField_mc._y;

// Calculate offsets
var offX = textX - iconX;
var offY = textY - iconY;
if (this.userIcon_mc == undefined)
{
offX = 0;
offY = 0;
}

// Move Objects
this.userIcon_mc._x = x;
this.userTextField_mc._x = x + offX;
this.userHighlight_mc._x = x + offX;

this.userIcon_mc._y = y;
this.userTextField_mc._y = y + offY;
this.userHighlight_mc._y = y + offY;
};

GenericTextNodeClass.prototype.DestroyNode = function()
{
// delete all the variables
delete this.userIcon_mc.Owner;
delete this.userTextField_mc.Owner;
delete this.bSelected;
delete this.bIsTextVisible;
delete this.bIsIconVisible;

// unload the movies
this.userIcon_mc.unloadMovie();
this.userTextField_mc.unloadMovie();
this.userHighlight_mc.unloadMovie();
}

// Register the class
Object.registerClass("FGenericFHTextNode", GenericTextNodeClass);

var bLoaded = true;

#endinitclip??
TextNode Definition????O?????/////////////////
// Make invisible
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.MakeInvisible = function()
{
this.userIcon_mc._visible = false;
this.userTextField_mc._visible = false;
this.userHighlight_mc._visible = false;
}

///////////////////////////////////////////////////////////////////////////////////
// Make visible
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.MakeVisible = function()
{
this.userIcon_mc._visible = true;
this.userTextField_mc._visible = true;
if (this.bSelected)
{
this.userHighlight_mc._visible = true;
}
}

///////////////////////////////////////////////////////////////////////////////////
// Position the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.MoveTo = function(x,y)
{
// Save Original values
var iconX = this.userIcon_mc._x;
var iconY = this.userIcon_mc._y;
var textX = this.userTextField_mc._x;
var textY = this.userTextField_mc._y;

// Calculate offsets
var offX = textX - iconX;
var offY = textY - iconY;
if (this.userIcon_mc == undefined)
{
offX = 0;
offY = 0;
}

// Move Objects
this.userIcon_mc._x = x;
this.userTextField_mc._x = x + offX;
this.userHighlight_mc._x = x + offX;

this.userIcon_mc._y = y;
this.userTextField_mc._y = y + offY;
this.userHighlight_mc._y = y + offY;
};

GenericTextNodeClass.prototype.DestroyNode = function()
{
// delete all the variables
delete this.userIcon_mc.Owner;
delete this.userTextField_mc.Owner;
delete this.bSelected;
delete this.bIsTextVisible;
delete this.bIsIconVisible;

// unload the movies
this.userIcon_mc.removeMovieClip();
delete this.userIcon_mc;
this.userTextField_mc.removeMovieClip();
delete this.userTextField_mc;
this.userHighlight_mc.removeMovieClip();
delete this.userHighlight_mc;
}

// Register the class
Object.registerClass("FGenericFHTextNode", GenericTextNodeClass);

var bLoaded = true;

#endinitclip??
TextNode Definition????O???????CPicPage?? CPicLayer?? CPicFrame?????????G??*if (this.Fade)
{
_parent.bFade = true;
}

#initclip
arrowHeight = 15;
widthBuffer = 10;
marginTop = 5;

window_mc._visible = false;
highlight_mc._visible = false;
textfield_mc._visible = false;
icon_mc._visible = false;
inputbg_mc._visible = false;

function TopicListDialog(xPos,yPos,yOffset)
{
this.userWindow_mc = window_mc.duplicateMovieClip("theWindow"+_global.textNode.nCount,_global.textNode.nCount);
this.userWindow_mc.Owner = this;

_global.textNode.nCount++;

this.xPos = xPos;
this.yPos = yPos;
// Arrows
this.upArrow_mc = undefined;
this.downArrow_mc = undefined;

// Are the arrows Enabled
this.nArrows = 0;
// The Arrow Interval for scrolling
this.arrowInterval = undefined;

// Set the maximum width and height
this.maxWidth = Stage.width;
this.maxHeight = Stage.height - yOffset;
this.yOffset = yOffset;

// stores an array of internal textnodes
this.textNode_array = new Array;

// stores the textnode height
this.nodeHeight = 0;

// store the maximum textnode width
this.maxNodeWidth = 0;

// store the number of displayable items
this.displayItemCount = 0;

// the currently displayed top index
this.topIndex = 0;
this.lastIndex = 0;

// Current Alpha value
this.curAlpha = 0;

// Save the callback function once defined
this.pfnCallback = undefined;

// create mouse listener
this.mouseListener = new Object;
this.mouseListener.onMouseDown = this.ClickOut;
this.mouseListener.Owner = this;
Mouse.addListener(this.mouseListener);
}

TopicListDialog.prototype.ClickOut = function()
{
if (!this.Owner.userWindow_mc.hitTest(_xmouse,_ymouse,true))
{
this.Owner.pfnCallBack(-1);
}
}

TopicListDialog.prototype.DisplayTopicDialog = function(topicList_array,pfnCallBack)
{
this.userWindow_mc._visible = true;
this.pfnCallBack = pfnCallBack;
this.FillList(topicList_array,pfnCallBack);
if (bFade)
{
this.curAlpha = 0;
this.SetAlpha(this.curAlpha);
this.curAlpha+=10;
this.userWindow_mc.onEnterFrame = this.FadeIn;
}
}

TopicListDialog.prototype.FadeIn = function()
{
var theList = this.Owner;
if (theList.curAlpha>100)
{
this.onEnterFrame = undefined;
}
else
{
theList.SetAlpha(theList.curAlpha)
theList.curAlpha+=10;
}
}

TopicListDialog.prototype.FadeOut = function()
{
var theList = this.Owner;
if (theList.curAlpha<0)
{
this.onEnterFrame = undefined;
theList.Destroy();
}
else
{
theList.SetAlpha(theList.curAlpha)
theList.curAlpha-=10;
}
}

TopicListDialog.prototype.SetAlpha = function(newAlpha)
{
this.userWindow_mc._alpha = newAlpha;
var i = 0;
var curYPos = this.userWindow_mc._y + (arrowHeight*this.nArrows);
while (i < this.textNode_array.length && (curYPos + this.nodeHeight) <= (this.userWindow_mc._y + this.userWindow_mc._height - (arrowHeight*this.nArrows)))
{
this.textNode_array[i].userIcon_mc._alpha = newAlpha;
this.textNode_array[i].userHighlight_mc._alpha = newAlpha;
if (newAlpha == 0)
{
this.textNode_array[i].userTextField_mc.label_mc._visible=false;
}
else
{
this.textNode_array[i].userTextField_mc.label_mc._visible=true;
}
this.textNode_array[i].userTextField_mc._alpha = newAlpha;
this.textNode_array[i].userTextField_mc.label_mc._alpha = newAlpha;
this.textNode_array[i].userTextField_mc.label_mc.label_txt._alpha = newAlpha;

curYPos += this.nodeHeight;
i++;
}


}

TopicListDialog.prototype.FillList = function(topicList_array,pfnCallBack)
{
var i = 0;
for (i = 0; i < topicList_array.length; i++)
{
this.textNode_array[i] = CreateNewObj(pfnCallBack,i);
this.textNode_array[i].SetText(topicList_array[i].displayName_str);
var nodeWidth = this.textNode_array[i].GetWidth();
if (nodeWidth > this.maxNodeWidth)
{
this.maxNodeWidth = nodeWidth;
}
}
this.nodeHeight = this.textNode_array[0].GetHeight();
this.SizeWindow();
this.PositionWindow();
this.UpdateDisplay(this.topIndex);
}

TopicListDialog.prototype.SizeWindow = function()
{
var totalHeight = this.nodeHeight * this.textNode_array.length +marginTop;

this.userWindow_mc._width = this.maxNodeWidth+widthBuffer;


if (totalHeight > this.maxHeight)
{
this.displayItemCount = Math.floor((this.maxHeight - (arrowHeight*2))/this.nodeHeight);
totalHeight = (this.displayItemCount* this.nodeHeight)+ (arrowHeight*2)
this.userWindow_mc._height = totalHeight;
this.EnableArrows();
this.nArrows = 1;
}
else
{
this.displayItemCount = Math.floor(totalHeight/this.nodeHeight);
this.userWindow_mc._height = totalHeight;
}
}

TopicListDialog.prototype.PositionWindow = function()
{
// Set X Position
var oldXPos = this.userWindow_mc._x;
this.userWindow_mc._x = this.xPos;
if (this.xPos+this.userWindow_mc._width > Stage.width)
{
this.userWindow_mc._x = Stage.width - this.userWindow_mc._width;
}
if (this.userWindow_mc._x < 0)
{
this.userWindow_mc._x = 0;
}
var deltaX = this.userWindow_mc._x - oldXPos;

// Set Y Position
var oldYPos = this.userWindow_mc._y;
this.userWindow_mc._y = this.yPos;
if (this.yPos+this.userWindow_mc._height>Stage.height)
{
this.userWindow_mc._y = Stage.height - this.userWindow_mc._height;
}
var deltaY = this.userWindow_mc._y - oldYPos;
if (this.nArrows>0)
{
this.upArrow_mc._x +=deltaX;
this.upArrow_mc._y +=deltaY;
this.downArrow_mc._x +=deltaX;
this.downArrow_mc._y +=deltaY;
}
}

TopicListDialog.prototype.UpdateDisplay = function(nIndex)
{

var curYPos = this.userWindow_mc._y + (arrowHeight*this.nArrows);
if (this.nArrows == 0)
{
curYPos +=marginTop;
}
var i = nIndex;
if (this.lastIndex < nIndex)
{
this.textNode_array[this.lastIndex].MakeInvisible();
}
else
{
this.textNode_array[this.lastIndex+(this.displayItemCount-1) ].MakeInvisible();
}
while (i < this.textNode_array.length && (curYPos + this.nodeHeight) <= (this.userWindow_mc._y + this.userWindow_mc._height - (arrowHeight*this.nArrows)))
{
this.textNode_array[i].MoveTo(this.userWindow_mc._x + 5, curYPos);
var nodeWidth = this.textNode_array[i].GetWidth();
if (nodeWidth > this.maxNodeWidth)
{
newWidth = nodeWidth - this.maxNodeWidth;
this.textNode_array[i].userTextField_mc._width -= newWidth;
}

curYPos += this.nodeHeight;
this.textNode_array[i].SetState(true);
this.textNode_array[i].TransitionIn();
this.textNode_array[i].MakeVisible();
i++;
}
this.lastIndex = nIndex;
}

TopicListDialog.prototype.EnableArrows = function()
{
this.DrawArrows();
this.CenterArrows();
}

TopicListDialog.prototype.DrawArrows = function()
{
// Create and draw up arrow
this.upArrow_mc = createEmptyMovieClip("UpArrow",1000000);
this.upArrow_mc.moveTo(3,8);
this.upArrow_mc.lineStyle(2,0x555555,100);
this.upArrow_mc.lineTo(8,3);
this.upArrow_mc.lineTo(13,8);
this.upArrow_mc.lineStyle(1,0x555555,0);
this.upArrow_mc.moveTo(0,0);
this.upArrow_mc.beginFill(0x000000,0);
this.upArrow_mc.lineTo(0,10);
this.upArrow_mc.lineTo(15,10);
this.upArrow_mc.lineTo(15,0);
this.upArrow_mc.lineTo(0,0);
this.upArrow_mc.endFill();

this.upArrow_mc.onPress = this.UpArrowPressed;
this.upArrow_mc.onRelease = this.UpArrowReleased;
this.upArrow_mc.Owner = this;
this.upArrow_mc._visible = false;

// Create and draw down arrow
this.downArrow_mc = createEmptyMovieClip("DownArrow",1000001);
this.downArrow_mc.moveTo(3,3);
this.downArrow_mc.lineStyle(2,0x555555,100);
this.downArrow_mc.lineTo(8,8);
this.downArrow_mc.lineTo(13,3);
this.downArrow_mc.lineStyle(1,0x555555,0);
this.downArrow_mc.moveTo(0,0);
this.downArrow_mc.beginFill(0x000000,0);
this.downArrow_mc.lineTo(0,10);
this.downArrow_mc.lineTo(15,10);
this.downArrow_mc.lineTo(15,0);
this.downArrow_mc.lineTo(0,0);
this.downArrow_mc.endFill();
this.downArrow_mc.moveTo(0,100);

this.downArrow_mc.onPress = this.DownArrowPressed;
this.downArrow_mc.onRelease = this.DownArrowReleased;
this.downArrow_mc.Owner = this;

}

TopicListDialog.prototype.UpArrowPressed = function()
{
this.Owner.downArrow_mc._visible = true;
this.Owner.topIndex--;
this.Owner.UpdateDisplay(this.Owner.topIndex);
if (this.Owner.topIndex > 0)
{
this.Owner.arrowInterval = setInterval(this.Owner.UpArrowDown,300,this.Owner);
}
else
{
this.Owner.upArrow_mc._visible = false;
}
}

TopicListDialog.prototype.UpArrowDown = function(theList)
{
theList.topIndex--;
theList.UpdateDisplay(theList.topIndex);
clearInterval(theList.arrowInterval);
theList.arrowInterval = setInterval(theList.UpArrowDown,75,theList);
if (theList.topIndex == 0)
{
theList.upArrow_mc._visible = false;
clearInterval(theList.arrowInterval);
}
}

TopicListDialog.prototype.UpArrowReleased = function()
{
clearInterval(this.Owner.arrowInterval);
}

TopicListDialog.prototype.DownArrowPressed = function()
{
this.Owner.upArrow_mc._visible = true;
this.Owner.topIndex++;
this.Owner.UpdateDisplay(this.Owner.topIndex);

if (this.Owner.topIndex < this.Owner.textNode_array.length-this.Owner.displayItemCount)
{
this.Owner.arrowInterval = setInterval(this.Owner.DownArrowDown,300,this.Owner);
}
else
{
this._visible=false;
}
}

TopicListDialog.prototype.DownArrowDown = function(theList)
{
theList.topIndex++;
theList.UpdateDisplay(theList.topIndex);
clearInterval(theList.arrowInterval);
theList.arrowInterval = setInterval(theList.DownArrowDown,75,theList);

if (theList.topIndex == theList.textNode_array.length-theList.displayItemCount)
{
theList.downArrow_mc._visible = false;
clearInterval(theList.arrowInterval);
}
}

TopicListDialog.prototype.DownArrowReleased = function()
{
clearInterval(this.Owner.arrowInterval);
}


TopicListDialog.prototype.CenterArrows = function()
{
// Position Up Arrow
this.upArrow_mc._y = this.userWindow_mc._y;
this.upArrow_mc._x = this.userWindow_mc._x + (this.userWindow_mc._width - this.upArrow_mc._width)/2;
// Position Down Arrow
this.downArrow_mc._y = (this.userWindow_mc._y + this.userWindow_mc._height) - this.downArrow_mc._height-2;
this.downArrow_mc._x = this.upArrow_mc._x;

}

TopicListDialog.prototype.Close = function()
{
if (bFade)
{
this.curAlpha = 90;
this.userWindow_mc.onEnterFrame = this.FadeOut;
}
else
{
this.Destroy();
}
}
TopicListDialog.prototype.Destroy = function()
{
var i = 0;
for (i = 0; i < this.textNode_array.length; i++)
{
this.textNode_array[i].DestroyNode();
delete this.textNode_array[i];
}
delete this.textNode_array;
this.upArrow_mc.removeMovieClip();
delete this.upArrow_mc;
this.downArrow_mc.removeMovieClip();
delete this.downArrow_mc;
this.userWindow_mc.removeMovieClip();
this.userWindow_mc.Owner = undefined;
delete this.userWindow_mc;
Mouse.removeListener(this.mouseListener);
delete this.xPos;
delete this.yPos;
delete this.nArrows;
delete this.arrowInterval;
delete this.maxWidth;
delete this.maxHeight;
delete this.yOffset;
delete this.nodeHeight;
delete this.maxNodeWidth;
delete this.displayItemCount;
delete this.topIndex;
delete this.lastIndex;
delete this.curAlpha;
_parent.bTopicDialogOpen = false;
}


#endinitclip??
Layer 1????O?????ray.length-theList.displayItemCount)
{
theList.downArrow_mc._visible = false;
clearInterval(theList.arrowInterval);
}
}

TopicListDialog.prototype.DownArrowReleased = function()
{
clearInterval(this.Owner.arrowInterval);
}


TopicListDialog.prototype.CenterArrows = function()
{
// Position Up Arrow
this.upArrow_mc._y = this.userWindow_mc._y;
this.upArrow_mc._x = this.userWindow_mc._x + (this.userWindow_mc._width - this.upArrow_mc._width)/2;
// Position Down Arrow
this.downArrow_mc._y = (this.useSymbol 21??????????+Symbol 22????????????vPSymbol 23?????2Symbol 24?????????1???????? 
  
???? !"#7????&+????????I????,-./01????????????????????????T????????????????????????????????????????????????????????????????????????????????????????x????????????????UVWXYZ[\]^_`abcdefg????????????????????????????????????????????????????????????????????H{????|}~?rWindow_mc._y + this.userWindow_mc._height) - this.downArrow_mc._height-2;
this.downArrow_mc._x = this.upArrow_mc._x;

}

TopicListDialog.prototype.Close = function()
{
if (bFade)
{
this.curAlpha = 90;
this.userWindow_mc.onEnterFrame = this.FadeOut;
}
else
{
this.Destroy();
}
}
TopicListDialog.prototype.Destroy = function()
{
var i = 0;
for (i = 0; i < this.textNode_array.length; i++)
{
this.textNode_array[i].DestroyNode();
delete this.textNode_array[i];
}
delete this.textNode_array;
this.upArrow_mc.removeMovieClip();
delete this.upArrow_mc;
this.downArrow_mc.removeMovieClip();
delete this.downArrow_mc;
this.userWindow_mc.removeMovieClip();
this.userWindow_mc.Owner = undefined;
delete this.userWindow_mc;
Mouse.removeListener(this.mouseListener);
delete this.xPos;
delete this.yPos;
delete this.nArrows;
delete this.arrowInterval;
delete this.maxWidth;
delete this.maxHeight;
delete this.yOffset;
delete this.nodeHeight;
delete this.maxNodeWidth;
delete this.displayItemCount??CPicPage?? CPicLayer?? CPicFrame??????????2if (this.Fade)
{
_parent.bFade = true;
}

#initclip
arrowHeight = 15;
widthBuffer = 10;
marginTop = 5;

window_mc._visible = false;
highlight_mc._visible = false;
textfield_mc._visible = false;
icon_mc._visible = false;
inputbg_mc._visible = false;

function TopicListDialog(xPos,yPos,yOffset)
{
this.userWindow_mc = window_mc.duplicateMovieClip("theWindow"+_global.textNode.nCount,_global.textNode.nCount);
this.userWindow_mc.Owner = this;

_global.textNode.nCount++;

this.xPos = xPos;
this.yPos = yPos;
// Arrows
this.upArrow_mc = undefined;
this.downArrow_mc = undefined;

// Are the arrows Enabled
this.nArrows = 0;
// The Arrow Interval for scrolling
this.arrowInterval = undefined;

// Set the maximum width and height
this.maxWidth = Stage.width;
this.maxHeight = Stage.height - yOffset;
this.yOffset = yOffset;

// stores an array of internal textnodes
this.textNode_array = new Array;

// stores the textnode height
this.nodeHeight = 0;

// store the maximum textnode width
this.maxNodeWidth = 0;

// store the number of displayable items
this.displayItemCount = 0;

// the currently displayed top index
this.topIndex = 0;
this.lastIndex = 0;

// Current Alpha value
this.curAlpha = 0;

// Save the callback function once defined
this.pfnCallback = undefined;

// Selected node
this.nSelected = -1;

// create mouse listener
this.mouseListener = new Object;
this.mouseListener.onMouseDown = this.ClickOut;
this.mouseListener.Owner = this;
Mouse.addListener(this.mouseListener);
}

TopicListDialog.prototype.KeyPressed = function(keyCode)
{
switch(keyCode)
{
case 13:
{
if (this.nSelected == -1)
{
this.textNode_array[0].Select();
this.pfnCallBack(0);
this.nSelected = 0;
}
else
{
this.textNode_array[this.nSelected].Select();
this.pfnCallBack(this.nSelected);
this.nSelected = this.nSelected;
}
_parent.debug_trace("Enter");
break;
}
case 38:
{
if (this.nSelected == -1)
{
this.textNode_array[0].Select();
this.nSelected = 0;
}
else if (this.nSelected>this.topIndex)
{
this.textNode_array[this.nSelected].Unselect();
this.nSelected--;
this.textNode_array[this.nSelected].Select();
}
else if (this.topIndex>0)
{
this.textNode_array[this.nSelected].Unselect();
this.nSelected--;
this.textNode_array[this.nSelected].Select();
this.downArrow_mc._visible = true;
this.topIndex--;
this.UpdateDisplay(this.topIndex);
}
_parent.debug_trace("Up");
break;
}
case 40:
{
if (this.nSelected == -1)
{
this.textNode_array[0].Select();
this.nSelected = 0;
}
else if (this.nSelected<this.lastItem)
{
_parent.debug_trace("Move Down no Scroll");
this.textNode_array[this.nSelected].Unselect();
this.nSelected++;
this.textNode_array[this.nSelected].Select();
}
else if (this.lastItem<this.textNode_array.length-1)
{
this.textNode_array[this.nSelected].Unselect();
this.nSelected++;
this.textNode_array[this.nSelected].Select();
this.upArrow_mc._visible = true;
this.topIndex++;
this.UpdateDisplay(this.topIndex);
}
_parent.debug_trace("Down");
break;
}
}
}
TopicListDialog.prototype.ChangedSelection = function(nIndex)
{
nSelected
}

TopicListDialog.prototype.ClickOut = function()
{
if (!this.Owner.userWindow_mc.hitTest(_root._xmouse,_root._ymouse,true))
{
_parent.debug_trace("ClickOut = "+ this.Owner.userWindow_mc._x);
this.Owner.pfnCallBack(-1);
}
}

TopicListDialog.prototype.DisplayTopicDialog = function(topicList_array,pfnCallBack)
{
this.userWindow_mc._visible = true;
this.pfnCallBack = pfnCallBack;
this.FillList(topicList_array,pfnCallBack);
if (bFade)
{
this.curAlpha = 0;
this.SetAlpha(this.curAlpha);
this.curAlpha+=10;
this.userWindow_mc.onEnterFrame = this.FadeIn;
}
}

TopicListDialog.prototype.FadeIn = function()
{
var theList = this.Owner;
if (theList.curAlpha>100)
{
this.onEnterFrame = undefined;
}
else
{
theList.SetAlpha(theList.curAlpha)
theList.curAlpha+=10;
}
}

TopicListDialog.prototype.FadeOut = function()
{
var theList = this.Owner;
if (theList.curAlpha<0)
{
this.onEnterFrame = undefined;
theList.Destroy();
}
else
{
theList.SetAlpha(theList.curAlpha)
theList.curAlpha-=10;
}
}

TopicListDialog.prototype.SetAlpha = function(newAlpha)
{
this.userWindow_mc._alpha = newAlpha;
var i = 0;
var curYPos = this.userWindow_mc._y + (arrowHeight*this.nArrows);
while (i < this.textNode_array.length && (curYPos + this.nodeHeight) <= (this.userWindow_mc._y + this.userWindow_mc._height - (arrowHeight*this.nArrows)))
{
this.textNode_array[i].userIcon_mc._alpha = newAlpha;
this.textNode_array[i].userHighlight_mc._alpha = newAlpha;
this.textNode_array[i].userTextField_mc._alpha = newAlpha;

curYPos += this.nodeHeight;
i++;
}


}

TopicListDialog.prototype.FillList = function(topicList_array,pfnCallBack)
{
var i = 0;
for (i = 0; i < topicList_array.length; i++)
{
this.textNode_array[i] = CreateNewObj(pfnCallBack,i);
this.textNode_array[i].SetText(topicList_array[i].displayName_str);
var nodeWidth = this.textNode_array[i].GetWidth();
if (nodeWidth > this.maxNodeWidth)
{
this.maxNodeWidth = nodeWidth;
}
}
this.nodeHeight = this.textNode_array[0].GetHeight();
this.SizeWindow();
this.PositionWindow();
this.UpdateDisplay(this.topIndex);
}

TopicListDialog.prototype.SizeWindow = function()
{
var totalHeight = this.nodeHeight * this.textNode_array.length +marginTop;

this.userWindow_mc._width = this.maxNodeWidth+widthBuffer;


if (totalHeight > this.maxHeight)
{
this.displayItemCount = Math.floor((this.maxHeight - (arrowHeight*2))/this.nodeHeight);
totalHeight = (this.displayItemCount* this.nodeHeight)+ (arrowHeight*2)
this.userWindow_mc._height = totalHeight;
this.EnableArrows();
this.nArrows = 1;
}
else
{
this.displayItemCount = Math.floor(totalHeight/this.nodeHeight);
this.userWindow_mc._height = totalHeight;
}
}

TopicListDialog.prototype.PositionWindow = function()
{
// Set X Position
var oldXPos = this.userWindow_mc._x;
this.userWindow_mc._x = this.xPos;
if (this.xPos+this.userWindow_mc._width > Stage.width)
{
this.userWindow_mc._x = Stage.width - this.userWindow_mc._width;
}
if (this.userWindow_mc._x < 0)
{
this.userWindow_mc._x = 0;
}
var deltaX = this.userWindow_mc._x - oldXPos;

// Set Y Position
var oldYPos = this.userWindow_mc._y;
this.userWindow_mc._y = this.yPos;
if (this.userWindow_mc._y + this.userWindow_mc._height > Stage.height - _parent.indexYPosition)
{
_parent.debug_trace("Offscreen");
this.userWindow_mc._y = Stage.height - this.userWindow_mc._height - _parent.indexYPosition;
}
else
{
_parent.debug_trace("yposition = " + this.userWindow_mc._y);
_parent.debug_trace((this.userWindow_mc._y + this.userWindow_mc._height) +">"+ Stage.height);
}
var deltaY = this.userWindow_mc._y - oldYPos;
if (this.nArrows>0)
{
this.upArrow_mc._x +=deltaX;
this.upArrow_mc._y +=deltaY;
this.downArrow_mc._x +=deltaX;
this.downArrow_mc._y +=deltaY;
}
}

TopicListDialog.prototype.UpdateDisplay = function(nIndex)
{

var curYPos = this.userWindow_mc._y + (arrowHeight*this.nArrows);
if (this.nArrows == 0)
{
curYPos +=marginTop;
}
var i = nIndex;
if (this.lastIndex < nIndex)
{
this.textNode_array[this.lastIndex].MakeInvisible();
}
else
{
this.textNode_array[this.lastIndex+(this.displayItemCount-1) ].MakeInvisible();
}
while (i < this.textNode_array.length && (curYPos + this.nodeHeight) <= (this.userWindow_mc._y + this.userWindow_mc._height - (arrowHeight*this.nArrows)))
{
this.textNode_array[i].MoveTo(this.userWindow_mc._x + 5, curYPos);
var nodeWidth = this.textNode_array[i].GetWidth();
if (nodeWidth > this.maxNodeWidth)
{
newWidth = nodeWidth - this.maxNodeWidth;
this.textNode_array[i].userTextField_mc._width -= newWidth;
}

curYPos += this.nodeHeight;
this.textNode_array[i].SetState(true);
this.textNode_array[i].TransitionIn();
this.textNode_array[i].MakeVisible();
i++;
}
this.lastItem = i - 1;
this.lastIndex = nIndex;
}

TopicListDialog.prototype.EnableArrows = function()
{
this.DrawArrows();
this.CenterArrows();
}

TopicListDialog.prototype.DrawArrows = function()
{
// Create and draw up arrow
this.upArrow_mc = createEmptyMovieClip("UpArrow",1000000);
this.upArrow_mc.moveTo(3,8);
this.upArrow_mc.lineStyle(2,0x555555,100);
this.upArrow_mc.lineTo(8,3);
this.upArrow_mc.lineTo(13,8);
this.upArrow_mc.lineStyle(1,0x555555,0);
this.upArrow_mc.moveTo(0,0);
this.upArrow_mc.beginFill(0x000000,0);
this.upArrow_mc.lineTo(0,10);
this.upArrow_mc.lineTo(15,10);
this.upArrow_mc.lineTo(15,0);
this.upArrow_mc.lineTo(0,0);
this.upArrow_mc.endFill();

this.upArrow_mc.onPress = this.UpArrowPressed;
this.upArrow_mc.onRelease = this.UpArrowReleased;
this.upArrow_mc.Owner = this;
this.upArrow_mc._visible = false;

// Create and draw down arrow
this.downArrow_mc = createEmptyMovieClip("DownArrow",1000001);
this.downArrow_mc.moveTo(3,3);
this.downArrow_mc.lineStyle(2,0x555555,100);
this.downArrow_mc.lineTo(8,8);
this.downArrow_mc.lineTo(13,3);
this.downArrow_mc.lineStyle(1,0x555555,0);
this.downArrow_mc.moveTo(0,0);
this.downArrow_mc.beginFill(0x000000,0);
this.downArrow_mc.lineTo(0,10);
this.downArrow_mc.lineTo(15,10);
this.downArrow_mc.lineTo(15,0);
this.downArrow_mc.lineTo(0,0);
this.downArrow_mc.endFill();
this.downArrow_mc.moveTo(0,100);

this.downArrow_mc.onPress = this.DownArrowP;
delete this.topIndex;
delete this.lastIndex;
delete this.curAlpha;
_parent.bTopicDialogOpen = false;
}


#endinitclip??
Layer 1????O?????f??`????z??????f?????????? ????*???]???????????????.??"PublishQTProperties::QTSndSettings??CQTAudioSettings??h
???? !"#$%&'()*+,-./0123456789:;<????>?@AB????DEFGHIJ????LMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~????????????????????V???????????????????????????????????????????????????????????????????????????????????)?????????????????????????????????????%???????????????????Symbol 13????
????]?+Symbol 14????????B?*Symbol 15????????????x?2Symbol 16 ??????*??CPicPage?? CPicLayer?? CPicFrame????????0??*if (this.Fade)
{
_parent.bFade = true;
}

#initclip
arrowHeight = 15;
widthBuffer = 10;
marginTop = 5;

window_mc._visible = false;
highlight_mc._visible = false;
textfield_mc._visible = false;
icon_mc._visible = false;
inputbg_mc._visible = false;

function TopicListDialog(xPos,yPos,yOffset)
{
this.userWindow_mc = window_mc.duplicateMovieClip("theWindow"+_global.textNode.nCount,_global.textNode.nCount);
this.userWindow_mc.Owner = this;

_global.textNode.nCount++;

this.xPos = xPos;
this.yPos = yPos;
// Arrows
this.upArrow_mc = undefined;
this.downArrow_mc = undefined;

// Are the arrows Enabled
this.nArrows = 0;
// The Arrow Interval for scrolling
this.arrowInterval = undefined;

// Set the maximum width and height
this.maxWidth = Stage.width;
this.maxHeight = Stage.height - yOffset;
this.yOffset = yOffset;

// stores an array of internal textnodes
this.textNode_array = new Array;

// stores the textnode height
this.nodeHeight = 0;

// store the maximum textnode width
this.maxNodeWidth = 0;

// store the number of displayable items
this.displayItemCount = 0;

// the currently displayed top index
this.topIndex = 0;
this.lastIndex = 0;

// Current Alpha value
this.curAlpha = 0;

// Save the callback function once defined
this.pfnCallback = undefined;

// create mouse listener
this.mouseListener = new Object;
this.mouseListener.onMouseDown = this.ClickOut;
this.mouseListener.Owner = this;
Mouse.addListener(this.mouseListener);
}

TopicListDialog.prototype.ClickOut = function()
{
if (!this.Owner.userWindow_mc.hitTest(_xmouse,_ymouse,true))
{
this.Owner.pfnCallBack(-1);
}
}

TopicListDialog.prototype.DisplayTopicDialog = function(topicList_array,pfnCallBack)
{
this.userWindow_mc._visible = true;
this.pfnCallBack = pfnCallBack;
this.FillList(topicList_array,pfnCallBack);
if (bFade)
{
this.curAlpha = 0;
this.SetAlpha(this.curAlpha);
this.curAlpha+=10;
this.userWindow_mc.onEnterFrame = this.FadeIn;
}
}

TopicListDialog.prototype.FadeIn = function()
{
var theList = this.Owner;
if (theList.curAlpha>100)
{
this.onEnterFrame = undefined;
}
else
{
theList.SetAlpha(theList.curAlpha)
theList.curAlpha+=10;
}
}

TopicListDialog.prototype.FadeOut = function()
{
var theList = this.Owner;
if (theList.curAlpha<0)
{
this.onEnterFrame = undefined;
theList.Destroy();
}
else
{
theList.SetAlpha(theList.curAlpha)
theList.curAlpha-=10;
}
}

TopicListDialog.prototype.SetAlpha = function(newAlpha)
{
this.userWindow_mc._alpha = newAlpha;
var i = 0;
var curYPos = this.userWindow_mc._y + (arrowHeight*this.nArrows);
while (i < this.textNode_array.length && (curYPos + this.nodeHeight) <= (this.userWindow_mc._y + this.userWindow_mc._height - (arrowHeight*this.nArrows)))
{
this.textNode_array[i].userIcon_mc._alpha = newAlpha;
this.textNode_array[i].userHighlight_mc._alpha = newAlpha;
if (newAlpha == 0)
{
ressed;
this.downArrow_mc.onRelease = this.DownArrowReleased;
this.downArrow_mc.Owner = this;

}

TopicListDialog.prototype.UpArrowPressed = function()
{
this.Owner.downArrow_mc._visible = true;
this.Owner.topIndex--;
this.Owner.UpdateDisplay(this.Owner.topIndex);
if (this.Owner.topIndex > 0)
{
this.Owner.arrowInterval = setInterval(this.Owner.UpArrowDown,300,this.Owner);
}
else
{
this.Owner.upArrow_mc._visible = false;
}
}

TopicListDialog.prototype.UpArrowDown = function(theList)
{
theList.topIndex--;
theList.UpdateDisplay(theList.topIndex);
clearInterval(theList.arrowInterval);
theList.arrowInterval = setInterval(theList.UpArrowDown,75,theList);
if (theList.topIndex == 0)
{
theList.upArrow_mc._visible = false;
clearInterval(theList.arrowInterval);
}
}

TopicListDialog.prototype.UpArrowReleased = function()
{
clearInterval(this.Owner.arrowInterval);
}

TopicListDialog.prototype.DownArrowPressed = function()
{
this.Owner.upArrow_mc._visible = true;
this.Owner.topIndex++;
this.Owner.UpdateDisplay(this.Owner.topIndex);

if (this.Owner.topIndex < this.Owner.textNode_array.length-this.Owner.displayItemCount)
{
this.Owner.arrowInterval = setInterval(this.Owner.DownArrowDown,300,this.Owner);
}
else
{
this._visible=false;
}
}

TopicListDialog.prototype.DownArrowDown = function(theList)
{
theList.topIndex++;
theList.UpdateDisplay(theList.topIndex);
clearInterval(theList.arrowInterval);
theList.arrowInterval = setInterval(theList.DownArrowDown,75,theList);

if (theList.topIndex == theList.textNode_array.length-theList.displayItemCount)
{
theList.downArrow_mc._visible = false;
clearInterval(theList.arrowInterval);
}
}

TopicListDialog.prototype.DownArrowReleased = function()
{
clearInterval(this.Owner.arrowInterval);
}


TopicListDialog.prototype.CenterArrows = function()
{
// Position Up Arrow
this.upArrow_mc._y = this.userWindow_mc._y;
this.upArrow_mc._x = this.userWindow_mc._x + (this.userWindow_mc._width - this.upArrow_mc._width)/2;
// Position Down Arrow
this.downArrow_mc._y = (this.userWindow_mc._y + this.userWindow_mc._height) - this.downArrow_mc._height-2;
this.downArrow_mc._x = this.upArrow_mc._x;

}

TopicListDialog.prototype.Close = function()
{
if (bFade)
{
this.curAlpha = 90;
this.userWindow_mc.onEnterFrame = this.FadeOut;
}
else
{
this.Destroy();
}
}
TopicListDialog.prototype.Destroy = function()
{
var i = 0;
for (i = 0; i < this.textNode_array.length; i++)
{
this.textNode_array[i].DestroyNode();
delete this.textNode_array[i];
}
delete this.textNode_array;
this.upArrow_mc.removeMovieClip();
delete this.upArrow_mc;
this.downArrow_mc.removeMovieClip();
delete this.downArrow_mc;
this.userWindow_mc.removeMovieClip();
this.userWindow_mc.Owner = undefined;
delete this.userWindow_mc;
Mouse.removeListener(this.mouseListener);
delete this.xPos;
delete this.yPos;
delete this.nArrows;
delete this.arrowInterval;
delete this.maxWidth;
delete this.maxHeight;
delete this.yOffset;
delete this.nodeHeight;
delete this.maxNodeWidth;
delete this.displayItemCount;
delete this.topIndex;
delete this.lastIndex;
delete this.curAlpha;
_parent.bTopicDialogOpen = false;
}


#endinitclip??
Layer 1????O????? this.textNode_array[i].userTextField_mc.label_mc._visible=false;
}
else
{
this.textNode_array[i].userTextField_mc.label_mc._visible=true;
}
this.textNode_array[i].userTextField_mc._alpha = newAlpha;
this.textNode_array[i].userTextField_mc.label_mc._alpha = newAlpha;
this.textNode_array[i].userTextField_mc.label_mc.label_txt._alpha = newAlpha;

curYPos += this.nodeHeight;
i++;
}


}

TopicListDialog.prototype.FillList = function(topicList_array,pfnCallBack)
{
var i = 0;
for (i = 0;??CPicPage?? CPicLayer?? CPicFrame????????yP?2if (this.Fade)
{
_parent.bFade = true;
}

#initclip
arrowHeight = 15;
widthBuffer = 10;
marginTop = 5;

window_mc._visible = false;
highlight_mc._visible = false;
textfield_mc._visible = false;
icon_mc._visible = false;
inputbg_mc._visible = false;

function TopicListDialog(xPos,yPos,yOffset)
{
this.userWindow_mc = window_mc.duplicateMovieClip("theWindow"+_global.textNode.nCount,_global.textNode.nCount);
this.userWindow_mc.Owner = this;

_global.textNode.nCount++;

this.xPos = xPos;
this.yPos = yPos;
// Arrows
this.upArrow_mc = undefined;
this.downArrow_mc = undefined;

// Are the arrows Enabled
this.nArrows = 0;
// The Arrow Interval for scrolling
this.arrowInterval = undefined;

// Set the maximum width and height
this.maxWidth = Stage.width;
this.maxHeight = Stage.height - yOffset;
this.yOffset = yOffset;

// stores an array of internal textnodes
this.textNode_array = new Array;

// stores the textnode height
this.nodeHeight = 0;

// store the maximum textnode width
this.maxNodeWidth = 0;

// store the number of displayable items
this.displayItemCount = 0;

// the currently displayed top index
this.topIndex = 0;
this.lastIndex = 0;

// Current Alpha value
this.curAlpha = 0;

// Save the callback function once defined
this.pfnCallback = undefined;

// Selected node
this.nSelected = -1;

// create mouse listener
this.mouseListener = new Object;
this.mouseListener.onMouseDown = this.ClickOut;
this.mouseListener.Owner = this;
Mouse.addListener(this.mouseListener);
}

TopicListDialog.prototype.KeyPressed = function(keyCode)
{
switch(keyCode)
{
case 13:
{
if (this.nSelected == -1)
{
this.textNode_array[0].Select();
this.pfnCallBack(0);
this.nSelected = 0;
}
else
{
this.textNode_array[this.nSelected].Select();
this.pfnCallBack(this.nSelected);
this.nSelected = this.nSelected;
}
_parent.debug_trace("Enter");
break;
}
case 38:
{
if (this.nSelected == -1)
{
this.textNode_array[0].Select();
this.nSelected = 0;
}
else if (this.nSelected>this.topIndex)
{
this.textNode_array[this.nSelected].Unselect();
this.nSelected--;
this.textNode_array[this.nSelected].Select();
}
else if (this.topIndex>0)
{
this.textNode_array[this.nSelected].Unselect();
this.nSelected--;
this.textNode_array[this.nSelected].Select();
this.downArrow_mc._visible = true;
this.topIndex--;
this.UpdateDisplay(this.topIndex);
}
_parent.debug_trace("Up");
break;
}
case 40:
{
if (this.nSelected == -1)
{
this.textNode_array[0].Select();
this.nSelected = 0;
}
else if (this.nSelected<this.lastItem)
{
_parent.debug_trace("Move Down no Scroll");
this.textNode_array[this.nSelected].Unselect();
this.nSelected++;
this.textNode_array[this.nSelected].Select();
}
else if (this.lastItem<this.textNode_array.length-1)
{
this.textNode_array[this.nSelected].Unselect();
this.nSelected++;
this.textNode_array[this.nSelected].Select();
this.upArrow_mc._visible = true;
this.topIndex++;
this.UpdateDisplay(this.topIndex);
}
_parent.debug_trace("Down");
break;
}
}
}
TopicListDialog.prototype.ChangedSelection = function(nIndex)
{
nSelected
}

TopicListDialog.prototype.ClickOut = function()
{
if (!this.Owner.userWindow_mc.hitTest(_root._xmouse,_root._ymouse,true))
{
_parent.debug_trace("ClickOut = "+ this.Owner.userWindow_mc._x);
this.Owner.pfnCallBack(-1);
}
}

TopicListDialog.prototype.DisplayTopicDialog = function(topicList_array,pfnCallBack)
{
this.userWindow_mc._visible = true;
this.pfnCallBack = pfnCallBack;
this.FillList(topicList_array,pfnCallBack);
if (bFade)
{
this.curAlpha = 0;
this.SetAlpha(this.curAlpha);
this.curAlpha+=10;
this.userWindow_mc.onEnterFrame = this.FadeIn;
}
}

TopicListDialog.prototype.FadeIn = function()
{
var theList = this.Owner;
if (theList.curAlpha>100)
{
this.onEnterFrame = undefined;
}
else
{
theList.SetAlpha(theList.curAlpha)
theList.curAlpha+=10;
}
}

TopicListDialog.prototype.FadeOut = function()
{
var theList = this.Owner;
if (theList.curAlpha<0)
{
this.onEnterFrame = undefined;
theList.Destroy();
}
else
{
theList.SetAlpha(theList.curAlpha)
theList.curAlpha-=10;
}
}

TopicListDialog.prototype.SetAlpha = function(newAlpha)
{
this.userWindow_mc._alpha = newAlpha;
var i = 0;
var curYPos = this.userWindow_mc._y + (arrowHeight*this.nArrows);
while (i < this.textNode_array.length && (curYPos + this.nodeHeight) <= (this.userWindow_mc._y + this.userWindow_mc._height - (arrowHeight*this.nArrows)))
{
this.textNode_array[i].userIcon_mc._alpha = newAlpha;
this.textNode_array[i].userHighlight_mc._alpha = newAlpha;
this.textNode_array[i].userTextField_mc._alpha = newAlpha;

curYPos += this.nodeHeight;
i++;
}


}

TopicListDialog.prototype.FillList = function(topicList_array,pfnCallBack)
{
var i = 0;
for (i = 0; i < topicList_array.length; i++)
{
this.textNode_array[i] = CreateNewObj(pfnCallBack,i);
this.textNode_array[i].SetText(topicList_array[i].displayName_str);
var nodeWidth = this.textNode_array[i].GetWidth();
if (nodeWidth > this.maxNodeWidth)
{
this.maxNodeWidth = nodeWidth;
}
}
this.nodeHeight = this.textNode_array[0].GetHeight();
this.SizeWindow();
this.PositionWindow();
this.UpdateDisplay(this.topIndex);
}

TopicListDialog.prototype.SizeWindow = function()
{
var totalHeight = this.nodeHeight * this.textNode_array.length +marginTop;

this.userWindow_mc._width = this.maxNodeWidth+widthBuffer;


if (totalHeight > this.maxHeight)
{
this.displayItemCount = Math.floor((this.maxHeight - (arrowHeight*2))/this.nodeHeight);
totalHeight = (this.displayItemCount* this.nodeHeight)+ (arrowHeight*2)
this.userWindow_mc._height = totalHeight;
this.EnableArrows();
this.nArrows = 1;
}
else
{
this.displayItemCount = Math.floor(totalHeight/this.nodeHeight);
this.userWindow_mc._height = totalHeight;
}
}

TopicListDialog.prototype.PositionWindow = function()
{
// Set X Position
var oldXPos = this.userWindow_mc._x;
this.userWindow_mc._x = this.xPos;
if (this.xPos+this.userWindow_mc._width > Stage.width)
{
this.userWindow_mc._x = Stage.width - this.userWindow_mc._width;
}
if (this.userWindow_mc._x < 0)
{
this.userWindow_mc._x = 0;
}
var deltaX = this.userWindow_mc._x - oldXPos;

// Set Y Position
var oldYPos = this.userWindow_mc._y;
this.userWindow_mc._y = this.yPos;
if (this.userWindow_mc._y + this.userWindow_mc._height > Stage.height - _parent.indexYPosition)
{
_parent.debug_trace("Offscreen");
this.userWindow_mc._y = Stage.height - this.userWindow_mc._height - _parent.indexYPosition;
}
else
{
_parent.debug_trace("yposition = " + this.userWindow_mc._y);
_parent.debug_trace((this.userWindow_mc._y + this.userWindow_mc._height) +">"+ Stage.height);
}
var deltaY = this.userWindow_mc._y - oldYPos;
if (this.nArrows>0)
{
this.upArrow_mc._x +=deltaX;
this.upArrow_mc._y +=deltaY;
this.downArrow_mc._x +=deltaX;
this.downArrow_mc._y +=deltaY;
}
}

TopicListDialog.prototype.UpdateDisplay = function(nIndex)
{

var curYPos = this.userWindow_mc._y + (arrowHeight*this.nArrows);
if (this.nArrows == 0)
{
curYPos +=marginTop;
}
var i = nIndex;
if (this.lastIndex < nIndex)
{
this.textNode_array[this.lastIndex].MakeInvisible();
}
else
{
this.textNode_array[this.lastIndex+(this.displayItemCount-1) ].MakeInvisible();
}
while (i < this.textNode_array.length && (curYPos + this.nodeHeight) <= (this.userWindow_mc._y + this.userWindow_mc._height - (arrowHeight*this.nArrows)))
{
this.textNode_array[i].MoveTo(this.userWindow_mc._x + 5, curYPos);
var nodeWidth = this.textNode_array[i].GetWidth();
if (nodeWidth > this.maxNodeWidth)
{
newWidth = nodeWidth - this.maxNodeWidth;
this.textNode_array[i].userTextField_mc._width -= newWidth;
}

curYPos += this.nodeHeight;
this.textNode_array[i].SetState(true);
this.textNode_array[i].TransitionIn();
this.textNode_array[i].MakeVisible();
i++;
}
this.lastItem = i - 1;
this.lastIndex = nIndex;
}

TopicListDialog.prototype.EnableArrows = function()
{
this.DrawArrows();
this.CenterArrows();
}

TopicListDialog.prototype.DrawArrows = function()
{
// Create and draw up arrow
this.upArrow_mc = createEmptyMovieClip("UpArrow",1000000);
this.upArrow_mc.moveTo(3,8);
this.upArrow_mc.lineStyle(2,0x555555,100);
this.upArrow_mc.lineTo(8,3);
this.upArrow_mc.lineTo(13,8);
this.upArrow_mc.lineStyle(1,0x555555,0);
this.upArrow_mc.moveTo(0,0);
this.upArrow_mc.beginFill(0x000000,0);
this.upArrow_mc.lineTo(0,10);
this.upArrow_mc.lineTo(15,10);
this.upArrow_mc.lineTo(15,0);
this.upArrow_mc.lineTo(0,0);
this.upArrow_mc.endFill();

this.upArrow_mc.onPress = this.UpArrowPressed;
this.upArrow_mc.onRelease = this.UpArrowReleased;
this.upArrow_mc.Owner = this;
this.upArrow_mc._visible = false;

// Create and draw down arrow
this.downArrow_mc = createEmptyMovieClip("DownArrow",1000001);
this.downArrow_mc.moveTo(3,3);
this.downArrow_mc.lineStyle(2,0x555555,100);
this.downArrow_mc.lineTo(8,8);
this.downArrow_mc.lineTo(13,3);
this.downArrow_mc.lineStyle(1,0x555555,0);
this.downArrow_mc.moveTo(0,0);
this.downArrow_mc.beginFill(0x000000,0);
this.downArrow_mc.lineTo(0,10);
this.downArrow_mc.lineTo(15,10);
this.downArrow_mc.lineTo(15,0);
this.downArrow_mc.lineTo(0,0);
this.downArrow_mc.endFill();
this.downArrow_mc.moveTo(0,100);

this.downArrow_mc.onPress = this.DownArrowPressed;
this.downArrow_mc.onRelease = this.DownArrowReleased;
this.downArrow_mc.Owner = this;

}

TopicListDialog.prototype.UpArrowPressed = function()
{
this.Owner.downArrow_mc._visible = true;
this.Owner.topIndex--;
this.Owner.UpdateDisplay(this.Owner.topIndex);
if (this.Owner.topIndex > 0)
{
this.Owner.arrowInterval = setInterval(this.Owner.UpArrowDown,300,this.Owner);
}
else
{
this.Owner.upArrow_mc._visible = false;
}
}

TopicListDialog.prototype.UpArrowDown = function(theList)
{
theList.topIndex--;
theList.UpdateDisplay(theList.topIndex);
clearInterval(theList.arrowInterval);
theList.arrowInterval = setInterval(theList.UpArrowDown,75,theList);
if (theList.topIndex == 0)
{
theList.upArrow_mc._visible = false;
clearInterval(theList.arrowInterval);
}
}

TopicListDialog.prototype.UpArrowReleased = function()
{
clearInterval(this.Owner.arrowInterval);
}

TopicListDialog.prototype.DownArrowPressed = function()
{
this.Owner.upArrow_mc._visible = true;
this.Owner.topIndex++;
this.Owner.UpdateDisplay(this.Owner.topIndex);

if (this.Owner.topIndex < this.Owner.textNode_array.length-this.Owner.displayItemCount)
{
this.Owner.arrowInterval = setInterval(this.Owner.DownArrowDown,300,this.Owner);
}
else
{
this._visible=false;
}
}

TopicListDialog.prototype.DownArrowDown = function(theList)
{
theList.topIndex++;
theList.UpdateDisplay(theList.topIndex);
clearInterval(theList.arrowInterval);
theList.arrowInterval = setInterval(theList.DownArrowDown,75,theList);

if (theList.topIndex == theList.textNode_array.length-theList.displayItemCount)
{
theList.downArrow_mc._visible = false;
clearInterval(theList.arrowInterval);
}
}

TopicListDialog.prototype.DownArrowReleased = function()
{
clearInterval(this.Owner.arrowInterval);
}


TopicListDialog.prototype.CenterArrows = function()
{
// Position Up Arrow
this.upArrow_mc._y = this.userWindow_mc._y;
this.upArrow_mc._x = this.userWindow_mc._x + (this.userWindow_mc._width - this.upArrow_mc._width)/2;
// Position Down Arrow
this.downArrow_mc._y = (this.userWindow_mc._y + this.userWindow_mc._height) - this.downArrow_mc._height-2;
this.downArrow_mc._x = this.upArrow_mc._x;

}

TopicListDialog.prototype.Close = function()
{
if (bFade)
{
this.curAlpha = 90;
this.userWindow_mc.onEnterFrame = this.FadeOut;
}
else
{
this.Destroy();
}
}
TopicListDialog.prototype.Destroy = function()
{
var i = 0;
for (i = 0; i < this.textNode_array.length; i++)
{
this.textNode_array[i].DestroyNode();
delete this.textNode_array[i];
}
delete this.textNode_array;
this.upArrow_mc.removeMovieClip();
delete this.upArrow_mc;
this.downArrow_mc.removeMovieClip();
delete this.downArrow_mc;
this.userWindow_mc.removeMovieClip();
this.userWindow_mc.Owner = undefined;
delete this.userWindow_mc;
Mouse.removeListener(this.mouseListener);
delete this.xPos;
delete this.yPos;
delete this.nArrows;
delete this.arrowInterval;
delete this.maxWidth;
delete this.maxHeight;
delete this.yOffset;
delete this.nodeHeight;
delete this.maxNodeWidth;
delete this.displayItemCount;
delete this.topIndex;
delete this.lastIndex;
delete this.curAlpha;
_parent.bTopicDialogOpen = false;
}


#endinitclip??
Layer 1????O???????CPicPage?? CPicLayer?? CPicFrame????????es??)#initclip

icon_mc._visible = false;
textfield_mc._visible = false;
highlight_mc._visible = false;
var g_textFormat = undefined;

if (_global.textNode == undefined)
{
_global.textNode = new Object;
_global.textNode.nCount = 0;
}

function SetTextFormat(newTextFormat)
{
_parent.debug_trace("*******************************************************");
_parent.debug_trace(newTextFormat.font);
_parent.debug_trace("*******************************************************");
g_textFormat = newTextFormat;
}

function CreateNewObj(pfnClicked,dataClicked)
{
var Obj = new GenericTextNodeClass(true,pfnClicked,dataClicked);
return Obj;
}

function GenericTextNodeClass(bCreate,pfnClicked,dataClicked)
{
// this code is to make sure that a new object is not created when we register the class
if (!bCreate || bCreate == undefined)
{
return;
}

// Duplicate the movie clips
this.userIcon_mc = icon_mc.duplicateMovieClip("icon"+_global.textNode.nCount,_global.textNode.nCount);
this.userTextField_mc = textfield_mc.duplicateMovieClip("text"+_global.textNode.nCount,_global.textNode.nCount+1);
this.userHighlight_mc = highlight_mc.duplicateMovieClip("highlight"+_global.textNode.nCount,_global.textNode.nCount+2);

// Create a reference to this object in the icon and the textfield
this.userIcon_mc.Owner = this;
this.userTextField_mc.Owner = this;

// set the data to be returned when the object is clicked to undefined
this.pfnClicked = pfnClicked;
this.dataClicked = dataClicked;

// Can the item be clicked
this.bItemIn = false;

// Set selected to false
this.bSelected = false;
// Set visible to false
this.bIsTextVisible = false;
this.bIsIconVisible = false;

// increment the object count
_global.textNode.nCount+=3;

// Initialize object
this.Init();
}

GenericTextNodeClass.prototype = new MovieClip();

///////////////////////////////////////////////////////////////////////////////////
// Initialize the object
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Init = function()
{
if (this.userHighlight_mc.getDepth() > this.userTextField_mc.getDepth())
{
this.userHighlight_mc.swapDepths(this.userTextField_mc);
}

// Make the movie clips initially invisible
this.userIcon_mc._visible = false;
this.userTextField_mc._visible = false;
this.userHighlight_mc._visible = false;

// Position the highlight over the textfield
this.userHighlight_mc._x = this.userTextField_mc._x;
this.userHighlight_mc._y = this.userTextField_mc._y;

// Capture the onClick event
this.userTextField_mc.onPress = this.Clicked;
this.userIcon_mc.onPress = this.Clicked;
};

///////////////////////////////////////////////////////////////////////////////////
// Set the text of the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.SetText = function(newText_str)
{
this.userTextField_mc.label_mc.label_txt.autoSize = true;
this.userTextField_mc.label_mc.label_txt.text = newText_str;
textFormatObj = this.userTextField_mc.label_mc.label_txt.getTextFormat();

for (items in g_textFormat)
{
if (eval("g_textFormat."+items) != undefined)
{
textFormatObj[items] = g_textFormat[items]
}
}

this.userTextField_mc.label_mc.label_txt.setTextFormat(textFormatObj);

this.userHighlight_mc.gotoAndStop("out");
this.userHighlight_mc._width = this.userTextField_mc.label_mc.label_txt._width;
this.userHighlight_mc._height = this.userTextField_mc.label_mc.label_txt._height;
this.userHighlight_mc._visible = false;
this.userTextField_mc.label_mc.label_txt.autoSize = false;
};

///////////////////////////////////////////////////////////////////////////////////
// Transition the text node onto the screen
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.SetState = function(bState)
{
this.bItemIn = bState;
};

GenericTextNodeClass.prototype.TransitionIn = function()
{
if (this.bItemIn)
{
this.InNoTransition();
}
else
{
this.bItemIn = true;
this.bIsTextVisible = true;
this.bIsIconVisible = true;
this.userTextField_mc.gotoAndPlay("In");
this.userIcon_mc.gotoAndPlay("In");
}
};

///////////////////////////////////////////////////////////////////////////////////
// Transition the text node off of the screen
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.TransitionOut = function()
{
this.bItemIn = false;
if (this.bSelected)
{
this.userHighlight_mc.gotoAndPlay("out");
this.bSelected = false;
}
this.userTextField_mc.gotoAndPlay("out");
this.userIcon_mc.gotoAndPlay("out");

this.userTextField_mc.onEnterFrame = this.HideOnOut;
this.userICon_mc.onEnterFrame = this.HideOnOut;
};

GenericTextNodeClass.prototype.InNoTransition = function()
{
this.bItemIn = true;
this.bIsTextVisible = true;
this.bIsIconVisible = true;
if (this.bSelected)
{
this.userTextField_mc.gotoAndPlay("selected");
}
else
{
this.userTextField_mc.gotoAndStop("visible");
}
this.userIcon_mc.gotoAndStop("visible");
};

///////////////////////////////////////////////////////////////////////////////////
// Checks the current frame and hides the text if it is the end of the transition out
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.HideOnOut = function()
{
if (this._currentframe == this._totalframes)
{
if (this == this.Owner.userTextField_mc)
{
this.Owner.bIsTextVisible = false;
}
else
{
this.Owner.bIsIconVisible = false;
}
this.onEnterFrame = null;
this._visible = false;
}
};

///////////////////////////////////////////////////////////////////////////////////
// Highlight the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Select = function()
{
this.bSelected = true;
this.userTextField_mc.gotoAndPlay("selected");
this.userIcon_mc.gotoAndPlay("selected");
this.userHighlight_mc._visible = true;
this.userHighlight_mc.gotoAndPlay("in");
};

///////////////////////////////////////////////////////////////////////////////////
// unhighlight the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Unselect = function()
{
this.bSelected = false;
this.userTextField_mc.gotoAndPlay("unselected");
this.userIcon_mc.gotoAndPlay("unselected");
this.userHighlight_mc.gotoAndPlay("out");
};

///////////////////////////////////////////////////////////////////////////////////
// handles the case when the text node is clicked.
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Clicked = function()
{
if (this.Owner.bItemIn)
{
this.Owner.pfnClicked(this.Owner.dataClicked);
}
};

///////////////////////////////////////////////////////////////////////////////////
// Get the node width
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.GetWidth = function()
{
var XPos;
var nWidth;
if (this.userIcon_mc._x < this.userTextField_mc._x)
{
XPos = this.userIcon_mc._x;
}
else
{
XPos = this.userTextField_mc._x;
}
if ((this.userIcon_mc._x+this.userIcon_mc._width) >(this.userTextField_mc._x+this.userTextField_mc._width))
{
nWidth = (this.userIcon_mc._x+this.userIcon_mc._width) - XPos;
}
else
{
nWidth = (this.userTextField_mc._x+this.userTextField_mc._width) - XPos;
}

if (this.userIcon_mc == undefined)
{
nWidth = this.userTextField_mc._width;
}

return nWidth;

};

///////////////////////////////////////////////////////////////////////////////////
// Get the node height
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.GetHeight = function()
{
var YPos;
var nHeight;
if (this.userIcon_mc._y < this.userTextField_mc._y)
{
YPos = this.userIcon_mc._y;
}
else
{
YPos = this.userTextField_mc._y;
}
if ((this.userIcon_mc._y+this.userIcon_mc._height) >(this.userTextField_mc._y+this.userTextField_mc._height))
{
nHeight = (this.userIcon_mc._y+this.userIcon_mc._height) - YPos;
}
else
{
nHeight = (this.userTextField_mc._y+this.userTextField_mc._height) - YPos;
}

if (this.userIcon_mc == undefined)
{
nHeight = this.userTextField_mc._height;
}

return nHeight;
};

///////////////////////////////////////////////////////////////////////////////////
// Make invisible
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.MakeInvisible = function()
{
this.userIcon_mc._visible = false;
this.userTextField_mc._visible = false;
this.userHighlight_mc._visible = false;
}

///////////////////////////////////////////////////////////////////////////////////
// Make visible
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.MakeVisible = function()
{
this.userIcon_mc._visible = true;
this.userTextField_mc._visible = true;
if (this.bSelected)
{
this.userHighlight_mc._visible = true;
}
}

///////////////////////////////////////////////////////////////////////////////////
// Position the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.MoveTo = function(x,y)
{
// Save Original values
var iconX = this.userIcon_mc._x;
var iconY = this.userIcon_mc._y;
var textX = this.userTextField_mc._x;
var textY = this.userTextField_mc._y;

// Calculate offsets
var offX = textX - iconX;
var offY = textY - iconY;
if (this.userIcon_mc == undefined)
{
offX = 0;
offY = 0;
}

// Move Objects
this.userIcon_mc._x = x;
this.userTextField_mc._x = x + offX;
this.userHighlight_mc._x = x + offX;

this.userIcon_mc._y = y;
this.userTextField_mc._y = y + offY;
this.userHighlight_mc._y = y + offY;
};

GenericTextNodeClass.prototype.DestroyNode = function()
{
// delete all the variables
delete this.userIcon_mc.Owner;
delete this.userTextField_mc.Owner;
delete this.bSelected;
delete this.bIsTextVisible;
delete this.bIsIconVisible;

// unload the movies
this.userIcon_mc.removeMovieClip();
delete this.userIcon_mc;
this.userTextField_mc.removeMovieClip();
delete this.userTextField_mc;
this.userHighlight_mc.removeMovieClip();
delete this.userHighlight_mc;
}

// Register the class
Object.registerClass("FGenericFHTextNode", GenericTextNodeClass);

var bLoaded = true;

#endinitclip??
TextNode Definition????O???????CPicPage?? CPicLayer?? CPicFrame?????????]??3#initclip

var g_textFormat = undefined;
var g_hoverFormat = undefined;

if (_global.textNode == undefined)
{
_global.textNode = new Object;
_global.textNode.nCount = 0;
}


function SetTextFormat(newTextFormat)
{
g_textFormat = newTextFormat;
}

function SetHoverFormat(newHoverFormat)
{
g_hoverFormat = newHoverFormat;
}

function CreateNewObj(pfnClicked,dataClSymbol 4 ????=uSymbol 5????????????
? Symbol 6 ????0?(Symbol 10?????????????zicked)
{
var Obj = new GenericTextNodeClass(true,pfnClicked,dataClicked);
return Obj;
}

function GenericTextNodeClass(bCreate,pfnClicked,dataClicked)
{
this._parent.highlight_mc._visible = false;
this._parent.textfield_mc._visible = false;
this._parent.icon_mc._visible = false;

// this code is to make sure that a new object is not created when we register the class
if (!bCreate || bCreate == undefined)
{
return;
}

// Duplicate the movie clips
this.userIcon_mc = icon_mc.duplicateMovieClip(" i < topicList_array.length; i++)
{
this.textNode_array[i] = CreateNewObj(pfnCallBack,i);
this.textNode_array[i].SetText(topicList_array[i].displayName_str);
var nodeWidth = this.textNode_array[i].GetWidth();
if (nodeWidth > this.maxNodeWidth)
{
this.maxNodeWidth = nodeWidth;
}
}
this.nodeHeight = this.textNode_array[0].GetHeight();
this.SizeWindow();
this.PositionWindow();
this.UpdateDisplay(this.topIndex);
}

TopicListDialog.prototype.SizeWindow = function()
{
var totalHeight = this.nodeHeight * this.textNode_array.length +marginTop;

this.userWindow_mc._width = this.maxNodeWidth+widthBuffer;


if (totalHeight > this.maxHeight)
{
this.displayItemCount = Math.floor((this.maxHeight - (arrowHeight*2))/this.nodeHeight);
totalHeight = (this.displayItemCount* this.nodeHeight)+ (arrowHeight*2)
this.userWindow_mc._height = totalHeight;
this.EnableArrows();
this.nArrows = 1;
}
else
{
this.displayItemCount = Math.floor(totalHeight/this.nodeHeight);
this.userWindow_mc._heighicon"+_global.textNode.nCount,_global.textNode.nCount);
this.userTextField_mc = textfield_mc.duplicateMovieClip("text"+_global.textNode.nCount,_global.textNode.nCount+1);
this.userHighlight_mc = highlight_mc.duplicateMovieClip("highlight"+_global.textNode.nCount,_global.textNode.nCount+2);

this.userIcon_mc.tabEnabled = false;
this.userTextField_mc.tabEnabled = false;
this.userHighlight_mc.tabEnabled = false;

// Create a reference to this object in the icon and the textfield
this.userIcon_mc.Owner =t = totalHeight;
}
}

TopicListDialog.prototype.PositionWindow = function()
{
// Set X Position
var oldXPos = this.userWindow_mc._x;
this.userWindow_mc._x = this.xPos;
if (this.xPos+this.userWindow_mc._width > Stage.width)
{
this.userWindow_mc._x = Stage.width - this.userWindow_mc._width;
}
if (this.userWindow_mc._x < 0)
{
this.userWindow_mc._x = 0;
}
var deltaX = this.userWindow_mc._x - oldXPos;

// Set Y Position
var oldYPos = this.userWindow_mc._y;
this.userWindow_mc._y = this.yPos;
if (this.yPos+this.userWindow_mc._height>Stage.height)
{
this.userWindow_mc._y = Stage.height - this.userWindow_mc._height;
}
var deltaY = this.userWindow_mc._y - oldYPos;
if (this.nArrows>0)
{
this.upArrow_mc._x +=deltaX;
this.upArrow_mc._y +=deltaY;
this.downArrow_mc._x +=deltaX;
this.downArrow_mc._y +=deltaY;
}
}

TopicListDialog.prototype.UpdateDisplay = function(nIndex)
{

var curYPos = this.userWindow_mc._y + (arrowHeight*this.nArrows);
if (this.nArrows == 0)
{
curYPos +=marginTop;
}
var i = nIndex;
if (this.lastIndex < nIndex)
{
this.textNode_array[this.lastIndex].MakeInvisible();
}
else
{
this.textNode_array[this.lastIndex+(this.displayItemCount-1) ].MakeInvisible();
}
while (i < this.textNode_array.length && (curYPos + this.nodeHeight) <= (this.userWindow_mc._y + this.userWindow_mc._height - (arrowHeight*this.nArrows)))
{
this.textNode_array[i].MoveTo(this.userWindow_mc._x + 5, curYPos);
var nodeWidth = this.textNode_array[i].GetWidth();
if (nodeWidth > this.maxNodeWidth)
{
newWidth = nodeWidth - this.maxNodeWidth;
this.textNode_array[i].userTextField_mc._width -= newWidth;
}

curYPos += this.nodeHeight;
this.textNode_array[i].SetState(true);
this.textNode_array[i].TransitionIn();
this.textNode_array[i].MakeVisible();
i++;
}
this.lastIndex = nIndex;
}

TopicListDialog.prototype.EnableArrows = function()
{
this.DrawArrows();
this.CenterArrows();
}

TopicListDialog.prototype.DrawArrows = function()
{
// Create and draw up arrow
this.upArrow_mc = createEmptyMovieClip("UpArrow",1000000);
this.upArrow_mc.moveTo(3,8);
this.upArrow_mc.lineStyle(2,0x555555,100);
this.upArrow_mc.lineTo(8,3);
this.upArrow_mc.lineTo(13,8);
this.upArrow_mc.lineStyle(1,0x555555,0);
this.upArrow_mc.moveTo(0,0);
this.upArrow_mc.beginFill(0x000000,0);
this.upArrow_mc.lineTo(0,10);
this.upArrow_mc.lineTo(15,10);
this.upArrow_mc.lineTo(15,0);
this.upArrow_mc.lineTo(0,0);
this.upArrow_mc.endFill();

this.upArrow_mc.onPress = this.UpArrowPressed;
this.upArrow_mc.onRelease = this.UpArrowReleased;
this.upArrow_mc.Owner = this;
this.upArrow_mc._visible = false;

// Create and draw down arrow
this.downArrow_mc = createEmptyMovieClip("DownArrow",1000001);
this.downArrow_mc.moveTo(3,3);
this.downArrow_mc.lineStyle(2,0x555555,100);
this.downArrow_mc.lineTo(8,8);
this.downArrow_mc.lineTo(13,3);
this.downArrow_mc.lineStyle(1,0x555555,0);
this.downArrow_mc.moveTo(0,0);
this.downArrow_mc.beginFill(0x000000,0);
this.downArrow_mc.lineTo(0,10);
this.downArrow_mc.lineTo(15,10);
this.downArrow_mc.lineTo(15,0);
this.downArrow_mc.lineTo(0,0);
this.downArrow_mc.endFill();
this.downArrow_mc.moveTo(0,100);

this.downArrow_mc.onPress = this.DownArrowPressed;
this.downArrow_mc.onRelease = this.DownArrowReleased;
this.downArrow_mc.Owner = this;

}

TopicListDialog.prototype.UpArrowPressed = function()
{
this.Owner.downArrow_mc._visible = true;
this.Owner.topIndex--;
this.Owner.UpdateDisplay(this.Owner.topIndex);
if (this.Owner.topIndex > 0)
{
this.Owner.arrowInterval = setInterval(this.Owner.UpArrowDown,300,this.Owner);
}
else
{
this.Owner.upArrow_mc._visible = false;
}
}

TopicListDialog.prototype.UpArrowDown = function(theList)
{
theList.topIndex--;
theList.UpdateDisplay(theList.topIndex);
clearInterval(theList.arrowInterval);
theList.arrowInterval = setInterval(theList.UpArrowDown,75,theList);
if (theList.topIndex == 0)
{
theList.upArrow_mc._visible = false;
clearInterval(theList.arrowInterval);
}
}

TopicListDialog.prototype.UpArrowReleased = function()
{
clearInterval(this.Owner.arrowInterval);
}

TopicListDialog.prototype.DownArrowPressed = function()
{
this.Owner.upArrow_mc._visible = true;
this.Owner.topIndex++;
this.Owner.UpdateDisplay(this.Owner.topIndex);

if (this.Owner.topIndex < this.Owner.textNode_array.length-this.Owner.displayItemCount)
{
this.Owner.arrowInterval = setInterval(this.Owner.DownArrowDown,300,this.Owner);
}
else
{
this._visible=false;
}
}

TopicListDialog.prototype.DownArrowDown = function(theList)
{
theList.topIndex++;
theList.UpdateDisplay(theList.topIndex);
clearInterval(theList.arrowInterval);
theList.arrowInterval = setInterval(theList.DownArrowDown,75,theList);

if (theList.topIndex == theList.textNode_array.length-theList.displayItemCount)
{
theList.downArrow_mc._visible = false;
clearInterval(theList.arrowInterval);
}
}

TopicListDialog.prototype.DownArrowReleased = function()
{
clearInterval(this.Owner.arrowInterval);
}


TopicListDialog.prototype.CenterArrows = function()
{
// Position Up Arrow
this.upArrow_mc._y = this.userWindow_mc._y;
this.upArrow_mc._x = this.userWindow_mc._x + (this.userWindow_mc._width - this.upArrow_mc._width)/2;
// Position Down Arrow
this.downArrow_mc._y = (this.userWindow_mc._y + this.userWindow_mc._height) - this.downArrow_mc._height-2;
this.downArrow_mc._x = this.upArrow_mc._x;

}

TopicListDialog.prototype.Close = function()
{
if (bFade)
{
this.curAlpha = 90;
this.userWindow_mc.onEnterFrame = this.FadeOut;
}
else
{
this.Destroy();
}
}
TopicListDialog.prototype.Destroy = function()
{
var i = 0;
for (i = 0; i < this.textNode_array.length; i++)
{
this.textNode_array[i].DestroyNode();
delete this.textNode_array[i];
}
delete this.textNode_array;
this.upArrow_mc.removeMovieClip();
delete this.upArrow_mc;
this.downArrow_mc.removeMovieClip();
delete this.downArrow_mc;
this.userWindow_mc.removeMovieClip();
this.userWindow_mc.Owner = undefined;
delete this.userWindow_mc;
Mouse.removeListener(this.mouseListener);
delete this.xPos;
delete this.yPos;
delete this.nArrows;
delete this.arrowInterval;
delete this.maxWidth;
delete this.maxHeight;
delete this.yOffset;
delete this.nodeHeight;
delete this.maxNodeWidth;
delete this.displayItemCount;
delete this.topIndex;
delete this.lastIndex;
delete this.curAlpha;
_parent.bTopicDialogOpen = false;
}


#endinitclip??
Layer 1????O?????ishRNWKProperties::speedDualISDN0-PublishFormatProperties::projectorWin??CPicPage?? CPicLayer?? CPicFrame????????!;? (#initclip

icon_mc._visible = false;
textfield_mc._visible = false;
highlight_mc._visible = false;

_global.textNode = new Object;
_global.textNode.nCount = 0;

function CreateNewObj(pfnClicked,dataClicked)
{
var Obj = new GenericTextNodeClass(true,pfnClicked,dataClicked);
return Obj;
}

function GenericTextNodeClass(bCreate,pfnClicked,dataClicked)
{
// this code is to make sure that a new object is not created when we register the class
if (!bCreate || bCreate == undefined)
{
return;
}

// Duplicate the movie clips
this.userIcon_mc = icon_mc.duplicateMovieClip("icon"+_global.textNode.nCount,_global.textNode.nCount);
this.userTextField_mc = textfield_mc.duplicateMovieClip("text"+_global.textNode.nCount,_global.textNode.nCount+1);
this.userHighlight_mc = highlight_mc.duplicateMovieClip("highlight"+_global.textNode.nCount,_global.textNode.nCount+2);

// Create a reference to this object in the icon and the textfield
this.userIcon_mc.Owner = this;
this.userTextField_mc.Owner = this;

// set the data to be returned when the object is clicked to undefined
this.pfnClicked = pfnClicked;
this.dataClicked = dataClicked;

// Can the item be clicked
this.bItemIn = false;

// Set selected to false
this.bSelected = false;
// Set visible to false
this.bIsTextVisible = false;
this.bIsIconVisible = false;

// increment the object count
_global.textNode.nCount+=3;

// Initialize object
this.Init();
}

GenericTextNodeClass.prototype = new MovieClip();

///////////////////////////////////////////////////////////////////////////////////
// Initialize the object
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Init = function()
{
if (this.userHighlight_mc.getDepth() > this.userTextField_mc.getDepth())
{
this.userHighlight_mc.swapDepths(this.userTextField_mc);
}

// Make the movie clips initially invisible
this.userIcon_mc._visible = false;
this.userTextField_mc._visible = false;
this.userHighlight_mc._visible = false;

// Position the highlight over the textfield
this.userHighlight_mc._x = this.userTextField_mc._x;
this.userHighlight_mc._y = this.userTextField_mc._y;

// Capture the onClick event
this.userTextField_mc.onPress = this.Clicked;
this.userIcon_mc.onPress = this.Clicked;
};

///////////////////////////////////////////////////////////////////////////////////
// Set the text of the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.SetText = function(newText_str)
{
this.userTextField_mc.label_mc.label_txt.autoSize = true;
this.userTextField_mc.label_mc.label_txt.text = newText_str;
textFormatObj = this.userTextField_mc.label_mc.label_txt.getTextFormat();
var rect = textFormatObj.getTextExtent(newText_str)

// this.userTextField_mc.label_mc.label_txt.setTextFormat(textFormatObj);

this.userHighlight_mc.gotoAndStop("out");
this.userHighlight_mc._width = this.userTextField_mc.label_mc.label_txt._width;
this.userHighlight_mc._height = this.userTextField_mc.label_mc.label_txt._height;
this.userHighlight_mc._visible = false;
this.userTextField_mc.label_mc.label_txt.autoSize = false;
};

///////////////////////////////////////////////////////////////////////////////////
// Transition the text node onto the screen
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.SetState = function(bState)
{
this.bItemIn = bState;
};

GenericTextNodeClass.prototype.TransitionIn = function()
{
if (this.bItemIn)
{
this.InNoTransition();
}
else
{
this.bItemIn = true;
this.bIsTextVisible = true;
this.bIsIconVisible = true;
this.userTextField_mc.gotoAndPlay("In");
this.userIcon_mc.gotoAndPlay("In");
}
};

///////////////////////////////////////////////////////////////////////////////////
// Transition the text node off of the screen
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.TransitionOut = function()
{
this.bItemIn = false;
if (this.bSelected)
{
this.userHighlight_mc.gotoAndPlay("out");
this.bSelected = false;
}
this.userTextField_mc.gotoAndPlay("out");
this.userIcon_mc.gotoAndPlay("out");

this.userTextField_mc.onEnterFrame = this.HideOnOut;
this.userICon_mc.onEnterFrame = this.HideOnOut;
};

GenericTextNodeClass.prototype.InNoTransition = function()
{
this.bItemIn = true;
this.bIsTextVisible = true;
this.bIsIconVisible = true;
if (this.bSelected)
{
this.userTextField_mc.gotoAndPlay("selected");
}
else
{
this.userTextField_mc.gotoAndStop("visible");
}
this.userIcon_mc.gotoAndStop("visible");
};

///////////////////////////////////////////////////////////////////////////////////
// Checks the current frame and hides the text if it is the end of the transition out
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.HideOnOut = function()
{
if (this._currentframe == this._totalframes)
{
if (this == this.Owner.userTextField_mc)
{
this.Owner.bIsTextVisible = false;
}
else
{
this.Owner.bIsIconVisible = false;
}
this.onEnterFrame = null;
this._visible = false;
}
};

///////////////////////////////////////////////////////////////////////////////////
// Highlight the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Select = function()
{
this.bSelected = true;
this.userTextField_mc.gotoAndPlay("selected");
this.userIcon_mc.gotoAndPlay("selected");
this.userHighlight_mc._visible = true;
this.userHighlight_mc.gotoAndPlay("in");
};

///////////////////////////////////////////////////////////////////////////////////
// unhighlight the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Unselect = function()
{
t??CPicPage?? CPicLayer?? CPicFrame????????I/??0#initclip

icon_mc._visible = false;
textfield_mc._visible = false;
highlight_mc._visible = false;
var g_textFormat = undefined;
var g_hoverFormat = undefined;

if (_global.textNode == undefined)
{
_global.textNode = new Object;
_global.textNode.nCount = 0;
}

function SetTextFormat(newTextFormat)
{
g_textFormat = newTextFormat;
}

function SetHoverFormat(newHoverFormat)
{
g_hoverFormat = newHoverFormat;
}

function CreateNewObj(pfnClicked,dataClicked)
{
var Obj = new GenericTextNodeClass(true,pfnClicked,dataClicked);
return Obj;
}

function GenericTextNodeClass(bCreate,pfnClicked,dataClicked)
{
// this code is to make sure that a new object is not created when we register the class
if (!bCreate || bCreate == undefined)
{
return;
}

// Duplicate the movie clips
this.userIcon_mc = icon_mc.duplicateMovieClip("icon"+_global.textNode.nCount,_global.textNode.nCount);
this.userTextField_mc = textfield_mc.duplicateMovieClip("text"+_global.textNode.nCount,_global.textNode.nCount+1);
this.userHighlight_mc = highlight_mc.duplicateMovieClip("highlight"+_global.textNode.nCount,_global.textNode.nCount+2);

this.userIcon_mc.tabEnabled = false;
this.userTextField_mc.tabEnabled = false;
this.userHighlight_mc.tabEnabled = false;

// Create a reference to this object in the icon and the textfield
this.userIcon_mc.Owner = this;
this.userTextField_mc.Owner = this;

// set the data to be returned when the object is clicked to undefined
this.pfnClicked = pfnClicked;
this.dataClicked = dataClicked;

// Can the item be clicked
this.bItemIn = false;

// Set selected to false
this.bSelected = false;
// Set visible to false
this.bIsTextVisible = false;
this.bIsIconVisible = false;

// increment the object count
_global.textNode.nCount+=3;

// Initialize object
this.Init();
}

GenericTextNodeClass.prototype = new MovieClip();

///////////////////////////////////////////////////////////////////////////////////
// Initialize the object
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Init = function()
{
if (this.userHighlight_mc.getDepth() > this.userTextField_mc.getDepth())
{
this.userHighlight_mc.swapDepths(this.userTextField_mc);
}

// Make the movie clips initially invisible
this.userIcon_mc._visible = false;
this.userTextField_mc._visible = false;
this.userHighlight_mc._visible = false;

// Position the highlight over the textfield
this.userHighlight_mc._x = this.userTextField_mc._x;
this.userHighlight_mc._y = this.userTextField_mc._y;

// Capture the onClick event
this.userTextField_mc.onPress = this.Clicked;
this.userIcon_mc.onPress = this.Clicked;

// Capture the onRollover and onRollout events
this.userTextField_mc.onRollOver = this.Rollover;
this.userIcon_mc.onRollOver = this.Rollover;
this.userTextField_mc.onRollOut = this.Rollout;
this.userIcon_mc.onRollOut = this.Rollout;
};

///////////////////////////////////////////////////////////////////////////////////
// Set the text of the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.SetText = function(newText_str)
{
this.userTextField_mc.label_mc.label_txt.autoSize = true;
this.userTextField_mc.label_mc.label_txt.text = newText_str;
textFormatObj = this.userTextField_mc.label_mc.label_txt.getTextFormat();

for (items in g_textFormat)
{
if (eval("g_textFormat."+items) != undefined)
{
textFormatObj[items] = g_textFormat[items]
}
}

this.userTextField_mc.label_mc.label_txt.setTextFormat(textFormatObj);

this.userHighlight_mc.gotoAndStop("out");
this.userHighlight_mc._width = this.userTextField_mc.label_mc.label_txt._width;
this.userHighlight_mc._height = this.userTextField_mc.label_mc.label_txt._height;
this.userHighlight_mc._visible = false;
this.userTextField_mc.label_mc.label_txt.autoSize = false;
};

///////////////////////////////////////////////////////////////////////////////////
// Control the hover font
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.RollOver = function(overContext)
{
if (overContext != undefined)
{
theNode = overContext.Owner;
}
else
{
theNode = this.Owner;
}

var textFormatObj = theNode.userTextField_mc.label_mc.label_txt.getTextFormat();

for (items in g_textFormat)
{
if (eval("g_textFormat."+items) != undefined)
{
textFormatObj[items] = g_hoverFormat[items];
}
}

theNode.userTextField_mc.label_mc.label_txt.setTextFormat(textFormatObj);
};

GenericTextNodeClass.prototype.RollOut = function(overContext)
{
if (overContext != undefined)
{
theNode = overContext.Owner;
}
else
{
theNode = this.Owner;
}
var textFormatObj = theNode.userTextField_mc.label_mc.label_txt.getTextFormat();

for (items in g_textFormat)
{
if (eval("g_textFormat."+items) != undefined)
{
textFormatObj[items] = g_textFormat[items];
}
}

theNode.userTextField_mc.label_mc.label_txt.setTextFormat(textFormatObj);
};

///////////////////////////////////////////////////////////////////////////////////
// Transition the text node onto the screen
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.SetState = function(bState)
{
this.bItemIn = bState;
};

GenericTextNodeClass.prototype.TransitionIn = function()
{
if (this.bItemIn)
{
this.InNoTransition();
}
else
{
this.bItemIn = true;
this.bIsTextVisible = true;
this.bIsIconVisible = true;
this.userTextField_mc.gotoAndPlay("In");
this.userIcon_mc.gotoAndPlay("In");
}
};

///////////////////////////////////////////////////////////////////////////////////
// Transition the text node off of the screen
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.TransitionOut = function()
{
this.bItemIn = false;
if (this.bSelected)
{
this.userHighlight_mc.gotoAndPlay("out");
this.bSelected = false;
}
this.userTextField_mc.gotoAndPlay("out");
this.userIcon_mc.gotoAndPlay("out");

this.userTextField_mc.onEnterFrame = this.HideOnOut;
this.userICon_mc.onEnterFrame = this.HideOnOut;
};

GenericTextNodeClass.prototype.InNoTransition = function()
{
this.bItemIn = true;
this.bIsTextVisible = true;
this.bIsIconVisible = true;
if (this.bSelected)
{
this.userTextField_mc.gotoAndPlay("selected");
}
else
{
this.userTextField_mc.gotoAndStop("visible");
}
this.userIcon_mc.gotoAndStop("visible");
};

///////////////////////////////////////////////////////////////////////////////////
// Checks the current frame and hides the text if it is the end of the transition out
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.HideOnOut = function()
{
if (this._currentframe == this._totalframes)
{
if (this == this.Owner.userTextField_mc)
{
this.Owner.bIsTextVisible = false;
}
else
{
this.Owner.bIsIconVisible = false;
}
this.onEnterFrame = null;
this._visible = false;
}
};

///////////////////////////////////////////////////////////////////////////////////
// Highlight the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Select = function()
{
this.bSelected = true;
this.userTextField_mc.gotoAndPlay("selected");
this.userIcon_mc.gotoAndPlay("selected");
this.userHighlight_mc._visible = true;
this.userHighlight_mc.gotoAndPlay("in");
};

///////////////////////////////////////////////////////////////////////////////////
// unhighlight the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Unselect = function()
{
this.bSelected = false;
this.userTextField_mc.gotoAndPlay("unselected");
this.userIcon_mc.gotoAndPlay("unselected");
this.userHighlight_mc.gotoAndPlay("out");
};

///////////////////////////////////////////////////////////////////////////////////
// handles the case when the text node is clicked.
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Clicked = function()
{
if (this.Owner.bItemIn)
{
this.Owner.pfnClicked(this.Owner.dataClicked);
}
};

///////////////////////////////////////////////////////////////////////////////////
// Get the node width
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.GetWidth = function()
{
var XPos;
var nWidth;
if (this.userIcon_mc._x < this.userTextField_mc._x)
{
XPos = this.userIcon_mc._x;
}
else
{
XPos = this.userTextField_mc._x;
}
if ((this.userIcon_mc._x+this.userIcon_mc._width) >(this.userTextField_mc._x+this.userTextField_mc._width))
{
nWidth = (this.userIcon_mc._x+this.userIcon_mc._width) - XPos;
}
else
{
nWidth = (this.userTextField_mc._x+this.userTextField_mc._width) - XPos;
}

if (this.userIcon_mc == undefined)
{
nWidth = this.userTextField_mc._width;
}

return nWidth;

};

///////////////////////////////////////////////////////////////////////////////////
// Get the node height
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.GetHeight = function()
{
var YPos;
var nHeight;
if (this.userIcon_mc._y < this.userTextField_mc._y)
{
YPos = this.userIcon_mc._y;
}
else
{
YPos = this.userTextField_mc._y;
}
if ((this.userIcon_mc._y+this.userIcon_mc._height) >(this.userTextField_mc._y+this.userTextField_mc._height))
{
nHeight = (this.userIcon_mc._y+this.userIcon_mc._height) - YPos;
}
else
{
nHeight = (this.userTextField_mc._y+this.userTextField_mc._height) - YPos;
}

if (this.userIcon_mc == undefined)
{
nHeight = this.userTextField_mc._height;
}

return nHeight;
};

///////////////////////////////////////////////////////////////////////////////////
// Make invisible
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.MakeInvisible = function()
{
this.userIcon_mc._visible = false;
this.userTextField_mc._visible = false;
this.userHighlight_mc._visible = false;
}

///////////////////////////////////////////////////////////////////////////////////
// Make visible
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.MakeVisible = function()
{
this.userIcon_mc._visible = true;
this.userTextField_mc._visible = true;
if (this.bSelected)
{
this.userHighlight_mc._visible = true;
}
}

///////////////////////////////////////////////////////////////////////////////////
// Position the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.MoveTo = function(x,y)
{
// Save Original values
var iconX = this.userIcon_mc._x;
var iconY = this.userIcon_mc._y;
var textX = this.userTextField_mc._x;
var textY = this.userTextField_mc._y;

// Calculate offsets
var offX = textX - iconX;
var offY = textY - iconY;
if (this.userIcon_mc == undefined)
{
offX = 0;
offY = 0;
}

// Move Objects
this.userIcon_mc._x = x;
this.userTextField_mc._x = x + offX;
this.userHighlight_mc._x = x + offX;

this.userIcon_mc._y = y;
this.userTextField_mc._y = y + offY;
this.userHighlight_mc._y = y + offY;
};

GenericTextNodeClass.prototype.DestroyNode = function()
{
// delete all the variables
delete this.userIcon_mc.Owner;
delete this.userTextField_mc.Owner;
delete this.bSelected;
delete this.bIsTextVisible;
delete this.bIsIconVisible;

// unload the movies
this.userIcon_mc.removeMovieClip();
delete this.userIcon_mc;
this.userTextField_mc.removeMovieClip();
delete this.userTextField_mc;
this.userHighlight_mc.removeMovieClip();
delete this.userHighlight_mc;
}

// Register the class
Object.registerClass("FGenericFHTextNode", GenericTextNodeClass);

var bLoaded = true;

if (this == _root)
{
var textObj = CreateNewObj(undefined,undefined);
var bSelected = false;
textObj.pfnClicked = function ()
{
if (!bSelected)
{
textObj.Select();
bSelected = true;
}
else
{
textObj.Unselect();
bSelected = false;
}
}
textObj.MoveTo(0,0);
textObj.SetText("TextNode");
textObj.MakeVisible();
textObj.TransitionIn();
}

#endinitclip??
TextNode Definition????O????? this;
this.userTextField_mc.Owner = this;

// set the data to be returned when the object is clicked to undefined
this.pfnClicked = pfnClicked;
this.dataClicked = dataClicked;

// Can the item be clicked
this.bItemIn = false;

// Set selected to false
this.bSelected = false;
// Set visible to false
this.bIsTextVisible = false;
this.bIsIconVisible = false;

// Save initial height
this.iconHeight = this.userIcon_mc._height;
this.textFieldHeight = this.userTextField_mc._height;

// increment ??CPicPage?? CPicLayer?? CPicFrame????????/c??0#initclip

icon_mc._visible = false;
textfield_mc._visible = false;
highlight_mc._visible = false;
var g_textFormat = undefined;
var g_hoverFormat = undefined;

if (_global.textNode == undefined)
{
_global.textNode = new Object;
_global.textNode.nCount = 0;
}

function SetTextFormat(newTextFormat)
{
g_textFormat = newTextFormat;
}

function SetHoverFormat(newHoverFormat)
{
g_hoverFormat = newHoverFormat;
}

function CreateNewObj(pfnClicked,dataClicked)
{
var Obj = new GenericTextNodeClass(true,pfnClicked,dataClicked);
return Obj;
}

function GenericTextNodeClass(bCreate,pfnClicked,dataClicked)
{
// this code is to make sure that a new object is not created when we register the class
if (!bCreate || bCreate == undefined)
{
return;
}

// Duplicate the movie clips
this.userIcon_mc = icon_mc.duplicateMovieClip("icon"+_global.textNode.nCount,_global.textNode.nCount);
this.userTextField_mc = textfield_mc.duplicateMovieClip("text"+_global.textNode.nCount,_global.textNode.nCount+1);
this.userHighlight_mc = highlight_mc.duplicateMovieClip("highlight"+_global.textNode.nCount,_global.textNode.nCount+2);

this.userIcon_mc.tabEnabled = false;
this.userTextField_mc.tabEnabled = false;
this.userHighlight_mc.tabEnabled = false;

// Create a reference to this object in the icon and the textfield
this.userIcon_mc.Owner = this;
this.userTextField_mc.Owner = this;

// set the data to be returned when the object is clicked to undefined
this.pfnClicked = pfnClicked;
this.dataClicked = dataClicked;

// Can the item be clicked
this.bItemIn = false;

// Set selected to false
this.bSelected = false;
// Set visible to false
this.bIsTextVisible = false;
this.bIsIconVisible = false;

// increment the object count
_global.textNode.nCount+=3;

// Initialize object
this.Init();
}

GenericTextNodeClass.prototype = new MovieClip();

///////////////////////////////////////////////////////////////////////////////////
// Initialize the object
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Init = function()
{
if (this.userHighlight_mc.getDepth() > this.userTextField_mc.getDepth())
{
this.userHighlight_mc.swapDepths(this.userTextField_mc);
}

// Make the movie clips initially invisible
this.userIcon_mc._visible = false;
this.userTextField_mc._visible = false;
this.userHighlight_mc._visible = false;

// Position the highlight over the textfield
this.userHighlight_mc._x = this.userTextField_mc._x;
this.userHighlight_mc._y = this.userTextField_mc._y;

// Capture the onClick event
this.userTextField_mc.onPress = this.Clicked;
this.userIcon_mc.onPress = this.Clicked;

// Capture the onRollover and onRollout events
this.userTextField_mc.onRollOver = this.Rollover;
this.userIcon_mc.onRollOver = this.Rollover;
this.userTextField_mc.onRollOut = this.Rollout;
this.userIcon_mc.onRollOut = this.Rollout;
};

///////////////////////////////////////////////////////////////////////////////////
// Set the text of the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.SetText = function(newText_str)
{
this.userTextField_mc.label_mc.label_txt.autoSize = true;
this.userTextField_mc.label_mc.label_txt.text = newText_str;
textFormatObj = this.userTextField_mc.label_mc.label_txt.getTextFormat();

for (items in g_textFormat)
{
if (eval("g_textFormat."+items) != undefined)
{
textFormatObj[items] = g_textFormat[items]
}
}

this.userTextField_mc.label_mc.label_txt.setTextFormat(textFormatObj);

this.userHighlight_mc.gotoAndStop("out");
this.userHighlight_mc._width = this.userTextField_mc.label_mc.label_txt._width;
this.userHighlight_mc._height = this.userTextField_mc.label_mc.label_txt._height;
this.userHighlight_mc._visible = false;
this.userTextField_mc.label_mc.label_txt.autoSize = false;
};

///////////////////////////////////////////////////////////////////////////////////
// Control the hover font
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.RollOver = function(overContext)
{
if (overContext != undefined)
{
theNode = overContext.Owner;
}
else
{
theNode = this.Owner;
}

var textFormatObj = theNode.userTextField_mc.label_mc.label_txt.getTextFormat();

for (items in g_textFormat)
{
if (eval("g_textFormat."+items) != undefined)
{
textFormatObj[items] = g_hoverFormat[items];
}
}

theNode.userTextField_mc.label_mc.label_txt.setTextFormat(textFormatObj);
};

GenericTextNodeClass.prototype.RollOut = function(overContext)
{
if (overContext != undefined)
{
theNode = overContext.Owner;
}
else
{
theNode = this.Owner;
}
var textFormatObj = theNode.userTextField_mc.label_mc.label_txt.getTextFormat();

for (items in g_textFormat)
{
if (eval("g_textFormat."+items) != undefined)
{
textFormatObj[items] = g_textFormat[items];
}
}

theNode.userTextField_mc.label_mc.label_txt.setTextFormat(textFormatObj);
};

///////////////////////////////////////////////////////////////////////////////////
// Transition the text node onto the screen
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.SetState = function(bState)
{
this.bItemIn = bState;
};

GenericTextNodeClass.prototype.TransitionIn = function()
{
if (this.bItemIn)
{
this.InNoTransition();
}
else
{
this.bItemIn = true;
this.bIsTextVisible = true;
this.bIsIconVisible = true;
this.userTextField_mc.gotoAndPlay("In");
this.userIcon_mc.gotoAndPlay("In");
}
};

///////////////////////////////////////////////////////////////////////////////////
// Transition the text node off of the screen
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.TransitionOut = function()
{
this.bItemIn = false;
if (this.bSelected)
{
this.userHighlight_mc.gotoAndPlay("out");
this.bSelected = false;
}
this.userTextField_mc.gotoAndPlay("out");
this.userIcon_mc.gotoAndPlay("out");

this.userTextField_mc.onEnterFrame = this.HideOnOut;
this.userICon_mc.onEnterFrame = this.HideOnOut;
};

GenericTextNodeClass.prototype.InNoTransition = function()
{
this.bItemIn = true;
this.bIsTextVisible = true;
this.bIsIconVisible = true;
if (this.bSelected)
{
this.userTextField_mc.gotoAndPlay("selected");
}
else
{
this.userTextField_mc.gotoAndStop("visible");
}
this.userIcon_mc.gotoAndStop("visible");
};

///////////////////////////////////////////////////////////////////////////////////
// Checks the current frame and hides the text if it is the end of the transition out
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.HideOnOut = function()
{
if (this._currentframe == this._totalframes)
{
if (this == this.Owner.userTextField_mc)
{
this.Owner.bIsTextVisible = false;
}
else
{
this.Owner.bIsIconVisible = false;
}
this.onEnterFrame = null;
this._visible = false;
}
};

///////////////////////////////////////////////////////////////////////////////////
// Highlight the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Select = function()
{
this.bSelected = true;
this.userTextField_mc.gotoAndPlay("selected");
this.userIcon_mc.gotoAndPlay("selected");
this.userHighlight_mc._visible = true;
this.userHighlight_mc.gotoAndPlay("in");
};

///////////////////////////////////////////////////////////////////////////////////
// unhighlight the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Unselect = function()
{
this.bSelected = false;
this.userTextField_mc.gotoAndPlay("unselected");
this.userIcon_mc.gotoAndPlay("unselected");
this.userHighlight_mc.gotoAndPlay("out");
};

///////////////////////////////////////////////////////////////////////////////////
// handles the case when the text node is clicked.
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Clicked = function()
{
if (this.Owner.bItemIn)
{
this.Owner.pfnClicked(this.Owner.dataClicked);
}
};

///////////////////////////////////////////////////////////////////////////////////
// Get the node width
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.GetWidth = function()
{
var XPos;
var nWidth;
if (this.userIcon_mc._x < this.userTextField_mc._x)
{
XPos = this.userIcon_mc._x;
}
else
{
XPos = this.userTextField_mc._x;
}
if ((this.userIcon_mc._x+this.userIcon_mc._width) >(this.userTextField_mc._x+this.userTextField_mc._width))
{
nWidth = (this.userIcon_mc._x+this.userIcon_mc._width) - XPos;
}
else
{
nWidth = (this.userTextField_mc._x+this.userTextField_mc._width) - XPos;
}

if (this.userIcon_mc == undefined)
{
nWidth = this.userTextField_mc._width;
}

return nWidth;

};

///////////////////////////////////////////////////////////////////////////////////
// Get the node height
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.GetHeight = function()
{
var YPos;
var nHeight;
if (this.userIcon_mc._y < this.userTextField_mc._y)
{
YPos = this.userIcon_mc._y;
}
else
{
YPos = this.userTextField_mc._y;
}
if ((this.userIcon_mc._y+this.userIcon_mc._height) >(this.userTextField_mc._y+this.userTextField_mc._height))
{
nHeight = (this.userIcon_mc._y+this.userIcon_mc._height) - YPos;
}
else
{
nHeight = (this.userTextField_mc._y+this.userTextField_mc._height) - YPos;
}

if (this.userIcon_mc == undefined)
{
nHeight = this.userTextField_mc._height;
}

return nHeight;
};

///////////////////////////////////////////////////////////////////////////////////
// Make invisible
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.MakeInvisible = function()
{
this.userIcon_mc._visible = false;
this.userTextField_mc._visible = false;
this.userHighlight_mc._visible = false;
}

///////////////////////////////////////////////////////////////////////////////////
// Make visible
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.MakeVisible = function()
{
this.userIcon_mc._visible = true;
this.userTextField_mc._visible = true;
if (this.bSelected)
{
this.userHighlight_mc._visible = true;
}
}

///////////////////////////////////////////////////////////////////////////////////
// Position the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.MoveTo = function(x,y)
{
// Save Original values
var iconX = this.userIcon_mc._x;
var iconY = this.userIcon_mc._y;
var textX = this.userTextField_mc._x;
var textY = this.userTextField_mc._y;

// Calculate offsets
var offX = textX - iconX;
var offY = textY - iconY;
if (this.userIcon_mc == undefined)
{
offX = 0;
offY = 0;
}

// Move Objects
this.userIcon_mc._x = x;
this.userTextField_mc._x = x + offX;
this.userHighlight_mc._x = x + offX;

this.userIcon_mc._y = y;
this.userTextField_mc._y = y + offY;
this.userHighlight_mc._y = y + offY;
};

GenericTextNodeClass.prototype.DestroyNode = function()
{
// delete all the variables
delete this.userIcon_mc.Owner;
delete this.userTextField_mc.Owner;
delete this.bSelected;
delete this.bIsTextVisible;
delete this.bIsIconVisible;

// unload the movies
this.userIcon_mc.removeMovieClip();
delete this.userIcon_mc;
this.userTextField_mc.removeMovieClip();
delete this.userTextField_mc;
this.userHighlight_mc.removeMovieClip();
delete this.userHighlight_mc;
}

// Register the class
Object.registerClass("FGenericFHTextNode", GenericTextNodeClass);

var bLoaded = true;

if (this == _root)
{
var textObj = CreateNewObj(undefined,undefined);
var bSelected = false;
textObj.pfnClicked = function ()
{
if (!bSelected)
{
textObj.Select();
bSelected = true;
}
else
{
textObj.Unselect();
bSelected = false;
}
}
textObj.MoveTo(0,0);
textObj.SetText("TextNode");
textObj.MakeVisible();
textObj.TransitionIn();
}

#endinitclip??
TextNode Definition????O?????x ?? ???P?x ?? ??3???H ??33?x` ??f3???CPicPage?? CPicLayer?? CPicFrame?????????K??1if (this.Fade)
{
_parent.bFade = true;
}

#initclip
arrowHeight = 15;
widthBuffer = 10;
marginTop = 5;

window_mc._visible = false;
highlight_mc._visible = false;
textfield_mc._visible = false;
icon_mc._visible = false;
inputbg_mc._visible = false;

function TopicListDialog(xPos,yPos,yOffset)
{
this.userWindow_mc = window_mc.duplicateMovieClip("theWindow"+_global.textNode.nCount,_global.textNode.nCount);
this.userWindow_mc.Owner = this;

_global.textNode.nCount++;

this.xPos = xPos;
this.yPos = yPos;
// Arrows
this.upArrow_mc = undefined;
this.downArrow_mc = undefined;

// Are the arrows Enabled
this.nArrows = 0;
// The Arrow Interval for scrolling
this.arrowInterval = undefined;

// Set the maximum width and height
this.maxWidth = Stage.width;
this.maxHeight = Stage.height - yOffset;
this.yOffset = yOffset;

// stores an array of internal textnodes
this.textNode_array = new Array;

// stores the textnode height
this.nodeHeight = 0;

// store the maximum textnode width
this.maxNodeWidth = 0;

// store the number of displayable items
this.displayItemCount = 0;

// the currently displayed top index
this.topIndex = 0;
this.lastIndex = 0;

// Current Alpha value
this.curAlpha = 0;

// Save the callback function once defined
this.pfnCallback = undefined;

// Selected node
this.nSelected = -1;

// create mouse listener
this.mouseListener = new Object;
this.mouseListener.onMouseDown = this.ClickOut;
this.mouseListener.Owner = this;
Mouse.addListener(this.mouseListener);
}

TopicListDialog.prototype.KeyPressed = function(keyCode)
{
switch(keyCode)
{
case 13:
{
if (this.nSelected == -1)
{
this.textNode_array[0].Select();
this.pfnCallBack(0);
this.nSelected = 0;
}
else
{
this.textNode_array[this.nSelected].Select();
this.pfnCallBack(this.nSelected);
this.nSelected = this.nSelected;
}
_parent.debug_trace("Enter");
break;
}
case 38:
{
if (this.nSelected == -1)
{
this.textNode_array[0].Select();
this.nSelected = 0;
}
else if (this.nSelected>this.topIndex)
{
this.textNode_array[this.nSelected].Unselect();
this.nSelected--;
this.textNode_array[this.nSelected].Select();
}
else if (this.topIndex>0)
{
this.textNode_array[this.nSelected].Unselect();
this.nSelected--;
this.textNode_array[this.nSelected].Select();
this.downArrthe object count
_global.textNode.nCount+=3;

// Initialize object
this.Init();
}

GenericTextNodeClass.prototype = new MovieClip();

///////////////////////////////////////////////////////////////////////////////////
// Initialize the object
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Init = function()
{
if (this.userHighlight_mc.getDepth() > this.userTextField_mc.getDepth())
{
this.userHighlight_mc.swapDepths(this.userTextFielhis.bSelected = false;
this.userTextField_mc.gotoAndPlay("unselected");
this.userIcon_mc.gotoAndPlay("unselected");
this.userHighlight_mc.gotoAndPlay("out");
};

///////////////////////////////////////////////////////////////////////////////////
// handles the case when the text node is clicked.
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Clicked = function()
{
if (this.Owner.bItemIn)
{
this.Owner.pfnClicked(this.Owner.dataClicked);
}
};

///////////////////////////////////////////////////////////////////////////////////
// Get the node width
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.GetWidth = function()
{
var XPos;
var nWidth;
if (this.userIcon_mc._x < this.userTextField_mc._x)
{
XPos = this.userIcon_mc._x;
}
else
{
XPos = this.userTextField_mc._x;
}
if ((this.userIcon_mc._x+this.userIcon_mc._width) >(this.userTextField_mc._x+this.userTextFid_mc);
}

// Make the movie clips initially invisible
this.userIcon_mc._visible = false;
this.userTextField_mc._visible = false;
this.userHighlight_mc._visible = false;

// Position the highlight over the textfield
this.userHighlight_mc._x = this.userTextField_mc._x;
this.userHighlight_mc._y = this.userTextField_mc._y;

// Capture the onClick event
this.userTextField_mc.onPress = this.Clicked;
this.userIcon_mc.onPress = this.Clicked;

// Capture the onRollover and onRollout events
this.userTextField_mc.onRollOver = this.Rollover;
this.userIcon_mc.onRollOver = this.Rollover;
this.userTextField_mc.onRollOut = this.Rollout;
this.userIcon_mc.onRollOut = this.Rollout;
};

///////////////////////////////////////////////////////////////////////////////////
// Set the text of the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.SetText = function(newText_str)
{
this.userTextField_mc.label_mc.label_txt.autoSize = true;
Symbol 13????]?+Symbol 14????????B?*Symbol 15????????????x?2Symbol 16
??????*

???? !0#$%&'()L+,-./????1234;6789:????<=>?@????BCDEFTHIJK????MNOP????RSsUVWXYZ[\]^_`abcdefghijklmnopqr????tu????wxyz{????????????????????eld_mc._width))
{
nWidth = (this.userIcon_mc._x+this.userIcon_mc._width) - XPos;
}
else
{
nWidth = (this.userTextField_mc._x+this.userTextField_mc._width) - XPos;
}

if (this.userIcon_mc == undefined)
{
nWidth = this.userTextField_mc._width;
}

return nWidth;

};

///////////////////////////////////////////////////////////////////////////////////
// Get the node height
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.GetHeight = function()
{
var YPos;
var nHeight;
if (this.userIcon_mc._y < this.userTextField_mc._y)
{
YPos = this.userIcon_mc._y;
}
else
{
YPos = this.userTextField_mc._y;
}
if ((this.userIcon_mc._y+this.userIcon_mc._height) >(this.userTextField_mc._y+this.userTextField_mc._height))
{
nHeight = (this.userIcon_mc._y+this.userIcon_mc._height) - YPos;
}
else
{
nHeight = (this.userTextField_mc._y+this.userTextField_mc._height) - YPos;
}

if (this.userIcon_mc == undefined)
{
nHeight = this.userTextField_mc._height;
}

return nHeight;
};

///////////////////////////////////////////////////////////////////////////////////
// Make invisible
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.MakeInvisible = function()
{
this.userIcon_mc._visible = false;
this.userTextField_mc._visible = false;
this.userHighlight_mc._visible = false;
}

///////////////////////////////////////////////////////////////////////////////////
// Make visible
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.MakeVisible = function()
{
this.userIcon_mc._visible = true;
this.userTextField_mc._visible = true;
if (this.bSelected)
{
this.userHighlight_mc._visible = true;
}
}

///////////////////////////////////////////////////////////////////////////////////
// Position the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.MoveTo = function(x,y)
{
// Save Original values
var iconX = this.userIcon_mc._x;
var iconY = this.userIcon_mc._y;
var textX = this.userTextField_mc._x;
var textY = this.userTextField_mc._y;

// Calculate offsets
var offX = textX - iconX;
var offY = textY - iconY;
if (this.userIcon_mc == undefined)
{
offX = 0;
offY = 0;
}

// Move Objects
this.userIcon_mc._x = x;
this.userTextField_mc._x = x + offX;
this.userHighlight_mc._x = x + offX;

this.userIcon_mc._y = y;
this.userTextField_mc._y = y + offY;
this.userHighlight_mc._y = y + offY;
};

GenericTextNodeClass.prototype.DestroyNode = function()
{
// delete all the variables
delete this.userIcon_mc.Owner;
delete this.userTextField_mc.Owner;
delete this.bSelected;
delete this.bIsTextVisible;
delete this.bIsIconVisible;

// unload the movies
this.userIcon_mc.removeMovieClip();
delete this.userIcon_mc;
this.userTextField_mc.removeMovieClip();
delete this.userTextField_mc;
this.userHighlight_mc.removeMovieClip();
delete this.userHighlight_mc;
}

// Register the class
Object.registerClass("FGenericFHTextNode", GenericTextNodeClass);

var bLoaded = true;

#endinitclip??
TextNode Definition????O?????this.userTextField_mc.label_mc.label_txt.text = newText_str;
textFormatObj = this.userTextField_mc.label_mc.label_txt.getTextFormat();

for (items in g_textFormat)
{
if (eval("g_textFormat."+items) != undefined)
{
textFormatObj[items] = g_textFormat[items]
}
}
// This is a hack for Lindows, Lindows will not display a
// textfield unless the text field is bold
if (textFormatObj.getTextExtent(newText_str).width == 0)
textFormatObj.bold = true;

this.userTextField_mc.label_mc.label_txt.setTextFormat(textFormatObj);

this.userHighlight_mc.gotoAndStop("out");
this.userHighlight_mc._width = this.userTextField_mc.label_mc.label_txt._width;
this.userHighlight_mc._height = this.userTextField_mc.label_mc.label_txt._height;
this.userHighlight_mc._visible = false;
this.userTextField_mc.label_mc.label_txt.autoSize = false;
};

///////////////////////////////////////////////////////////////////////////////////
// Control the hover font
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.RollOver = function(overContext)
{
if (overContext != undefined)
{
theNode = overContext.Owner;
}
else
{
theNode = this.Owner;
}

var textFormatObj = theNode.userTextField_mc.label_mc.label_txt.getTextFormat();

for (items in g_textFormat)
{
if (eval("g_textFormat."+items) != undefined)
{
textFormatObj[items] = g_hoverFormat[items];
}
}

// This is a hack for Lindows, Lindows will not display a
// textfield unless the text field is bold
if (textFormatObj.getTextExtent(newText_str).width == 0)
textFormatObj.bold = true;

theNode.userTextField_mc.label_mc.label_txt.setTextFormat(textFormatObj);
};

GenericTextNodeClass.prototype.RollOut = function(overContext)
{
if (overContext != undefined)
{
theNode = overContext.Owner;
}
else
{
theNode = this.Owner;
}
var textFormatObj = theNode.userTextField_mc.label_mc.label_txt.getTextFormat();

for (items in g_textFormat)
{
if (eval("g_textFormat."+items) != undefined)
{
textFormatObj[items] = g_textFormat[items];
}
}

// This is a hack for Lindows, Lindows will not display a
// textfield unless the text field is bold
if (textFormatObj.getTextExtent(newText_str).width == 0)
textFormatObj.bold = true;

theNode.userTextField_mc.label_mc.label_txt.setTextFormat(textFormatObj);
};

///////////////////////////////////////////////////////////////////////////////////
// Transition the text node onto the screen
////////////////////////////////////////////////////ow_mc._visible = true;
this.topIndex--;
this.UpdateDisplay(this.topIndex);
}
_parent.debug_trace("Up");
break;
}
case 40:
{
if (this.nSelected == -1)
{
this.textNode_array[0].Select();
this.nSelected = 0;
}
else if (this.nSelected<this.lastItem)
{
_parent.debug_trace("Move Down no Scroll");
this.textNode_array[this.nSelected].Unselect();
this.nSelected++;
this.textNode_array[this.nSelected].Select();
}
else if (this.lastItem<this.textNode_a///////////////////////////////

GenericTextNodeClass.prototype.SetState = function(bState)
{
this.bItemIn = bState;
};

GenericTextNodeClass.prototype.TransitionIn = function()
{
if (this.bItemIn)
{
this.InNoTransition();
}
else
{
this.bItemIn = true;
this.bIsTextVisible = true;
this.bIsIconVisible = true;
this.userTextField_mc.gotoAndPlay("In");
this.userIcon_mc.gotoAndPlay("In");
}
};

///////////////////////////////////////////////////////////////////////////////////
// Transition the text node off of the screen
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.TransitionOut = function()
{
this.bItemIn = false;
if (this.bSelected)
{
this.userHighlight_mc.gotoAndPlay("out");
this.bSelected = false;
}
this.userTextField_mc.gotoAndPlay("out");
this.userIcon_mc.gotoAndPlay("out");

this.userTextField_mc.onEnterFrame = this.HideOnOut;
this.userICon_mc.onEnterFrame = this.HideOnOut;
};

GenericTextNodeClass.prototype.InNoTransition = function()
{
this.bItemIn = true;
this.bIsTextVisible = true;
this.bIsIconVisible = true;
if (this.bSelected)
{
this.userTextField_mc.gotoAndPlay("selected");
}
else
{
this.userTextField_mc.gotoAndStop("visible");
}
this.userIcon_mc.gotoAndStop("visible");
};

///////////////////////////////////////////////////////////////////////////////////
// Checks the current frame and hides the text if it is the end of the transition out
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.HideOnOut = function()
{
if (this._currentframe == this._totalframes)
{
if (this == this.Owner.userTextField_mc)
{
this.Owner.bIsTextVisible = false;
}
else
{
this.Owner.bIsIconVisible = false;
}
this.onEnterFrame = null;
this._visible = false;
}
};

///////////////////////////////////////////////////////////////////////////////////
// Highlight the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Select = function()
{
this.bSelected = true;
this.userTextField_mc.gotoAndPlay("selected");
this.userIcon_mc.gotoAndPlay("selected");
this.userHighlight_mc._visible = true;
this.userHighlight_mc.gotoAndPlay("in");
};

///////////////////////////////////////////////////////////////////////////////////
// unhighlight the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Unselect = function()
{
this.bSelected = false;
this.userTextField_mc.gotoAndPlay("unselected");
this.userIcon_mc.gotoAndPlay("unselected");
this.userHighlight_mc.gotoAndPlay("out");
};

///////////////////////////////////////////////////////////////////////////////////
// handles the case when the text node is clicked.
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Clicked = function()
{
if (this.Owner.bItemIn)
{
this.Owner.pfnClicked(this.Owner.dataClicked);
}
};

///////////////////////////////////////////////////////////////////////////////////
// Get the node width
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.GetWidth = function()
{
var XPos;
var nWidth;
if (this.userIcon_mc._x < this.userTextField_mc._x)
{
XPos = this.userIcon_mc._x;
}
else
{
XPos = this.userTextField_mc._x;
}
if ((this.userIcon_mc._x+this.userIcon_mc._width) >(this.userTextField_mc._x+this.userTextField_mc._width))
{
nWidth = (this.userIcon_mc._x+this.userIcon_mc._width) - XPos;
}
else
{
nWidth = (this.userTextField_mc._x+this.userTextField_mc._width) - XPos;
}

if (this.userIcon_mc == undefined)
{
nWidth = this.userTextField_mc._width;
}

return nWidth;

};

///////////////////////////////////////////////////////////////////////////////////
// Get the node height
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.GetHeight = function()
{
var YPos;
var nHeight;
if (this.userIcon_mc._y < this.userTextField_mc._y)
{
YPos = this.userIcon_mc._y;
}
else
{
YPos = this.userTextField_mc._y;
}
if ((this.userIcon_mc._y+this.iconHeight) >(this.userTextField_mc._y+this.textFieldHeight))
{
nHeight = (this.userIcon_mc._y+this.iconHeight) - YPos;
}
else
{
nHeight = (this.userTextField_mc._y+this.textFieldHeight) - YPos;
}

if (this.userIcon_mc == undefined)
{
nHeight = this.textFieldHeight;
}

return nHeight;
};

///////////////////////////////////////////////////////////////////////////////////
// Make invisible
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.MakeInvisible = function()
{
this.userIcon_mc._visible = false;
this.userTextField_mc._visible = false;
this.userHighlight_mc._visible = false;
}

///////////////////////////////////////////////////////////////////////////////////
// Make visible
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.MakeVisible = function()
{
this.userIcon_mc._visible = true;
this.userTextField_mc._visible = true;
if (this.bSelected)
{
this.userHighlight_mc._visible = true;
}
}

///////////////////////////////////////////////////////////////////////////////////
// Position the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.MoveTo = function(x,y)
{
// Save Original values
var iconX = this.userIcon_mc._x;
var iconY = this.userIcon_mc._y;
var textX = this.userTextField_mc._x;
var textY = this.userTextField_mc._y;

// Calculate offsets
var offX = textX - iconX;
var offY = textY - iconY;
if (this.userIcon_mc == undefined)
{
offX = 0;
offY = 0;
}

// Move Objects
this.userIcon_mc._x = x;
this.userTextField_mc._x = x + offX;
this.userHighlight_mc._x = x + offX;

this.userIcon_mc._y = y;
this.userTextField_mc._y = y + offY;
this.userHighlight_mc._y = y + offY;
};

GenericTextNodeClass.prototype.DestroyNode = function()
{
// delete all the variables
delete this.userIcon_mc.Owner;
delete this.userTextField_mc.Owner;
delete this.bSelected;
delete this.bIsTextVisible;
delete this.bIsIconVisible;

// unload the movies
this.userIcon_mc.removeMovieClip();
delete this.userIcon_mc;
this.userTextField_mc.removeMovieClip();
delete this.userTextField_mc;
this.userHighlight_mc.removeMovieClip();
delete this.userHighlight_mc;
}

// Register the class
Object.registerClass("FGenericFHTextNode", GenericTextNodeClass);

var bLoaded = true;

if (this == _root && nItemCount == undefined)
{
var textObj = CreateNewObj(undefined,undefined);
var bSelected = false;
textObj.pfnClicked = function ()
{
if (!bSelected)
{
textObj.Select();
bSelected = true;
}
else
{
textObj.Unselect();
bSelected = false;
}
}
textObj.MoveTo(0,0);
textObj.SetText("TextNode");
textObj.MakeVisible();
textObj.TransitionIn();
}

#endinitclip
??
TextNode Definition????O??????
??????
??
????????
????????
??????
??????
??????
??f??`????z??????f??????????
????CPicPage?? CPicLayer?? CPicFrame????????wt??
#initclip
#include "cmds_skin.as"

var gAbsHeight = Stage.height;
var gAbsWidth = Stage.width;
var gTopicList_array = undefined;
var gTopicDialog = undefined;
var gnTopicHeight = undefined;
var keyTopicListener = undefined;
var gRtFont = undefined;
var gRtFontHighlight = undefined;

function DialogClosed()
{
var strTemp = "javascript:closeRtCtrl()";
getURL(strTemSymbol 25???????????????Symbol 26????y<hM 1 1183406672????????????????????????Symbol 17??????????????2Symbol 18??????1Symbol 19???????????? ?2Symbol 20?????)??
Highlight?????CPicPage?? CPicLayer?? CPicFrame??????????0?0@0@??????????>Q???????? ???Layer 1????O????? 0?O???????????????CPicPage?? CPicLayer?? CPicFrame??CPicText?? ?;???.? CY?_sans?(HINT:
Use the labeled frames to control the various states of the textnode's highlight.

?_sans?(in:P?_sans?( This plays when the textnode is highlighted. It transitions the highlight in.

?_sans?(visible:z?_sans?( This is the last frame of the "in" sequence. It is used to optimize speed when displaying textnodes in some situations.

?_sans?(out:N?_sans?( This plays when the textnode is unselected. It transitions the highlight out.????????2_??
Hint?????3??????
CPicSymbold?
(d??
????????}v? ???
???P?
??
??????8? ?d?
(d??
????????%;Symbol 4????????????QySymbol 5????????? Symbol 6 ????0?(Symbol 10????5P@@|x??T]H?a?s:Y?sZY?8)5?`. ???j(XB
??R/'I?f????h??g?n?S????0?"2??y5f?p??*s ???}??<?=?9??8???s??p?????ccc?????b`x?????a??%
?????c*??F?i??dR???8I????B?m?X?????????Z?????|>????,???(?=????????????????oomm?~?y<???%???bl????!7?Ch
1yyy????htd???R?%Kw7?VB?t:?????l??!9?X?333?????&'&???H?MM433C^???[.?_??0??????k?\????????????A2wu?+??VWWY?
???=?g??]????????????????8-?|yy?OUUUC\\?i?C5?¾5?, ??????b?????MOO???'ju?D"????]c???l??????????stop();??
Actions????O?O???????????in?c??CPicPage?? CPicLayer?? CPicFrame?? CPicShape??F???j??????s??X?0??0?0X??p);
}

function ListClicked(nIndex)
{
gTopicDialog.Close(DialogClosed);
delete gTopicDialog ;
gTopicDialog = undefined;
if (nIndex != -1)
{
var strTemp = "javascript:RtClicked('"+gTopicList_array[nIndex].url_str+"')";
getURL(strTemp);
}
else
{
DialogClosed();
}
}

function Init()
{
gRtFont = GetTextFormatFromString(_parent.gsFont);
gRtFontHighlight = GetTextFormatFromString(_parent.gsFontHighlight);
SetTextFormat(gRtFont);
SetHoverFormat(gRtFontHighlight);

gnTopicHeight = _parent.nTopic??????tS??
Layer 1????O????? this.userTextField_mc.label_mc.label_txt._heigh?????????visible?k???
??????out???
Labels?????OO?Height;
Stage.scaleMode = "noScale";
GetMenuItems();

bFade = fhgeneric_comp.Fade;

gTopicDialog = new TopicListDialog(0,0,0,true);
gTopicDialog.DisplayTopicDialog(gTopicList_array,ListClicked);

// Create a key listener
keyTopicListener = new Object();
keyTopicListener.onKeyDown = OnTopicKeyDown;
Key.addListener(keyTopicListener);

// Set the topic control in the correct location
this._x = 0;
this._y = 0;

// Set the size of the DIV or LAYER that contains the movie
if (_parent.gnNoResize!=1)
rray.length-1)
{
this.textNode_array[this.nSelected].Unselect();
this.nSelected++;
this.textNode_array[this.nSelected].Select();
this.upArrow_mc._visible = true;
this.topIndex++;
this.UpdateDisplay(this.topIndex);
}
_parent.debug_trace("Down");
break;
}
}
}
TopicListDialog.prototype.ChangedSelection = function(nIndex)
{
nSelected
}

TopicListDialog.prototype.ClickOut = function()
{
if (!this.Owner.userWindow_mc.hitTest(_root._xmouse,_root._ymouse,true))
{
_parent.debug_trace("ClickOut = "+ this.Owner.userWindow_mc._x);
this.Owner.pfnCallBack(-1);
}
}

TopicListDialog.prototype.DisplayTopicDialog = function(topicList_array,pfnCallBack)
{
this.userWindow_mc._visible = true;
this.pfnCallBack = pfnCallBack;
this.FillList(topicList_array,pfnCallBack);
if (bFade)
{
this.curAlpha = 0;
this.SetAlpha(this.curAlpha);
this.curAlpha+=10;
this.userWindow_mc.onEnterFrame = this.FadeIn;
}
}

TopicListDialog.prototype.FadeIn = function()
{
var theList = this.Owner;
if (theList.curAlpha>100)
{
this.onEnterFrame = undefined;
}
else
{
theList.SetAlpha(theList.curAlpha)
theList.curAlpha+=10;
}
}

TopicListDialog.prototype.FadeOut = function()
{
var theList = this.Owner;
if (theList.curAlpha<0)
{
this.onEnterFrame = undefined;
theList.Destroy();
}
else
{
theList.SetAlpha(theList.curAlpha)
theList.curAlpha-=10;
}
}

TopicListDialog.prototype.SetAlpha = function(newAlpha)
{
this.userWindow_mc._alpha = newAlpha;
var i = 0;
var curYPos = this.userWindow_mc._y + (arrowHeight*this.nArrows);
while (i < this.textNode_array.length && (curYPos + this.nodeHeight) <= (this.userWindow_mc._y + this.userWindow_mc._height - (arrowHeight*this.nArrows)))
{
this.textNode_array[i].userIcon_mc._alpha = newAlpha;
this.textNode_array[i].userHighlight_mc._alpha = newAlpha;
this.textNode_array[i].userTextField_mc._alpha = newAlpha;

curYPos += this.nodeHeight;
i++;
}


}

TopicListDialog.prototype.FillList = function(topicList_array,pfnCallBack)
{
var i = 0;
for (i = 0; i < topicList_array.length; i++)
{
this.textNode_array[i] = CreateNewObj(this.OnClick,i);
this.textNode_array[i].Owner = this;
this.textNode_array[i].SetText(topicList_array[i].displayName_str);
var nodeWidth = this.textNode_array[i].GetWidth();
if (nodeWidth > this.maxNodeWidth)
{
this.maxNodeWidth = nodeWidth;
}
}
this.nodeHeight = this.textNode_array[0].GetHeight();
this.SizeWindow();
this.PositionWindow();
this.UpdateDisplay(this.topIndex);
}

TopicListDialog.prototype.OnClick = function(nIndex)
{
this.Owner.textNode_array[nIndex].Select();
this.Owner.pfnCallBack(nIndex);
}

TopicListDialog.prototype.SizeWindow = function()
{
var totalHeight = this.nodeHeight * this.textNode_array.length +marginTop;

this.userWindow_mc._width = this.maxNodeWidth+widthBuffer;


if (totalHeight > this.maxHeight)
{
this.displayItemCount = Math.floor((this.maxHeight - (arrowHeight*2))/this.nodeHeight);
totalHeight = (this.displayItemCount* this.nodeHeight)+ (arrowHeight*2)
this.userWindow_mc._height = totalHeight+1;
this.EnableArrows();
this.nArrows = 1;
}
else
{
this.displayItemCount = Math.floor(totalHeight/this.nodeHeight);
this.userWindow_mc._height = totalHeight+1;
}
}

TopicListDialog.prototype.PositionWindow = function()
{
// Set X Position
var oldXPos = this.userWindow_mc._x;
this.userWindow_mc._x = this.xPos;
if (this.xPos+this.userWindow_mc._width > Stage.width)
{
this.userWindow_mc._x = Stage.width - this.userWindow_mc._width;
}
if (this.userWindow_mc._x < 0)
{
this.userWindow_mc._x = 0;
}
var deltaX = this.userWindow_mc._x - oldXPos;

// Set Y Position
var oldYPos = this.userWindow_mc._y;
this.userWindow_mc._y = this.yPos;
if (this.userWindow_mc._y + this.userWindow_mc._height > Stage.height - _parent.indexYPosition)
{
this.userWindow_mc._y = Stage.height - this.userWindow_mc._height - _parent.indexYPosition;
}

var deltaY = this.userWindow_mc._y - oldYPos;
if (this.nArrows>0)
{
this.upArrow_mc._x +=deltaX;
this.upArrow_mc._y +=deltaY;
this.downArrow_mc._x +=deltaX;
this.downArrow_mc._y +=deltaY;
}
}

TopicListDialog.prototype.UpdateDisplay = function(nIndex)
{

var curYPos = this.userWindow_mc._y + (arrowHeight*this.nArrows);
if (this.nArrows == 0)
{
curYPos +=marginTop;
}
var i = nIndex;
if (this.lastIndex < nIndex)
{
this.textNode_array[this.lastIndex].MakeInvisible();
}
else
{
this.textNode_array[this.lastIndex+(this.displayItemCount-1) ].MakeInvisible();
}
while (i < this.textNode_array.length && (curYPos + this.nodeHeight) <= (this.userWindow_mc._y + this.userWindow_mc._height - (arrowHeight*this.nArrows)))
{
this.textNode_array[i].MoveTo(this.userWindow_mc._x + 5, curYPos);
var nodeWidth = this.textNode_array[i].GetWidth();
if (nodeWidth > this.maxNodeWidth)
{
newWidth = nodeWidth - this.maxNodeWidth;
this.textNode_array[i].userTextField_mc._width -= newWidth;
}

curYPos += this.nodeHeight;
this.textNode_array[i].SetState(true);
this.textNode_array[i].TransitionIn();
this.textNode_array[i].MakeVisible();
i++;
}
this.lastItem = i - 1;
this.lastIndex = nIndex;
}

TopicListDialog.prototype.EnableArrows = function()
{
this.DrawArrows();
this.CenterArrows();
}

TopicListDialog.prototype.DrawArrows = function()
{
// Create and draw up arrow
this.upArrow_mc = createEmptyMovieClip("UpArrow",1000000);
this.upArrow_mc.moveTo(3,8);
this.upArrow_mc.lineStyle(2,0x555555,100);
this.upArrow_mc.lineTo(8,3);
this.upArrow_mc.lineTo(13,8);
this.upArrow_mc.lineStyle(1,0x555555,0);
this.upArrow_mc.moveTo(0,0);
this.upArrow_mc.beginFill(0x000000,0);
this.upArrow_mc.lineTo(0,10);
this.upArrow_mc.lineTo(15,10);
this.upArrow_mc.lineTo(15,0);
this.upArrow_mc.lineTo(0,0);
this.upArrow_mc.endFill();

this.upArrow_mc.onPress = this.UpArrowPressed;
this.upArrow_mc.onRelease = this.UpArrowReleased;
this.upArrow_mc.Owner = this;
this.upArrow_mc._visible = false;

// Create and draw down arrow
this.downArrow_mc = createEmptyMovieClip("DownArrow",1000001);
this.downArrow_mc.moveTo(3,3);
this.downArrow_mc.lineStyle(2,0x555555,100);
this.downArrow_mc.lineTo(8,8);
this.downArrow_mc.lineTo(13,3);
this.downArrow_mc.lineStyle(1,0x555555,0);
this.downArrow_mc.moveTo(0,0);
this.downArrow_mc.beginFill(0x000000,0);
this.downArrow_mc.lineTo(0,10);
this.downArrow_mc.lineTo(15,10);
this.downArrow_mc.lineTo(15,0);
this.downArrow_mc.lineTo(0,0);
this.downArrow_mc.endFill();
this.downArrow_mc.moveTo(0,100);

this.downArrow_mc.onPress = this.DownArrowPressed;
this.downArrow_mc.onRelease = this.DownArrowReleased;
this.downArrow_mc.Owner = this;

}

TopicListDialog.prototype.UpArrowPressed = function()
{
this.Owner.downArrow_mc._visible = true;
this.Owner.topIndex--;
this.Owner.UpdateDisplay(this.Owner.topIndex);
if (this.Owner.topIndex > 0)
{
this.Owner.arrowInterval = setInterval(this.Owner.UpArrowDown,300,this.Owner);
}
else
{
this.Owner.upArrow_mc._visible = false;
}
}

TopicListDialog.prototype.UpArrowDown = function(theList)
{
theList.topIndex--;
theList.UpdateDisplay(theList.topIndex);
clearInterval(theList.arrowInterval);
theList.arrowInterval = setInterval(theList.UpArrowDown,75,theList);
if (theList.topIndex == 0)
{
theList.upArrow_mc._visible = false;
clearInterval(theList.arrowInterval);
}
}

TopicListDialog.prototype.UpArrowReleased = function()
{
clearInterval(this.Owner.arrowInterval);
}

TopicListDialog.prototype.DownArrowPressed = function()
{
this.Owner.upArrow_mc._visible = true;
this.Owner.topIndex++;
this.Owner.UpdateDisplay(this.Owner.topIndex);

if (this.Owner.topIndex < this.Owner.textNode_array.length-this.Owner.displayItemCount)
{
this.Owner.arrowInterval = setInterval(this.Owner.DownArrowDown,300,this.Owner);
}
else
{
this._visible=false;
}
}

TopicListDialog.prototype.DownArrowDown = function(theList)
{
theList.topIndex++;
theList.UpdateDisplay(theList.topIndex);
clearInterval(theList.arrowInterval);
theList.arrowInterval = setInterval(theList.DownArrowDown,75,theList);

if (theList.topIndex == theList.textNode_array.length-theList.displayItemCount)
{
theList.downArrow_mc._visible = false;
clearInterval(theList.arrowInterval);
}
}

TopicListDialog.prototype.DownArrowReleased = function()
{
clearInterval(this.Owner.arrowInterval);
}


TopicListDialog.prototype.CenterArrows = function()
{
// Position Up Arrow
this.upArrow_mc._y = this.userWindow_mc._y;
this.upArrow_mc._x = this.userWindow_mc._x + (this.userWindow_mc._width - this.upArrow_mc._width)/2;
// Position Down Arrow
this.downArrow_mc._y = (this.userWindow_mc._y + this.userWindow_mc._height) - this.downArrow_mc._height-2;
this.downArrow_mc._x = this.upArrow_mc._x;

}

TopicListDialog.prototype.Close = function()
{
if (bFade)
{
this.curAlpha = 90;
this.userWindow_mc.onEnterFrame = this.FadeOut;
}
else
{
this.Destroy();
}
}
TopicListDialog.prototype.Destroy = function()
{
var i = 0;
for (i = 0; i < this.textNode_array.length; i++)
{
this.textNode_array[i].DestroyNode();
delete this.textNode_array[i];
}
delete this.textNode_array;
this.upArrow_mc.removeMovieClip();
delete this.upArrow_mc;
this.downArrow_mc.removeMovieClip();
delete this.downArrow_mc;
this.userWindow_mc.removeMovieClip();
this.userWindow_mc.Owner = undefined;
delete this.userWindow_mc;
Mouse.removeListener(this.mouseListener);
delete this.xPos;
delete this.yPos;
delete this.nArrows;
delete this.arrowInterval;
delete this.maxWidth;
delete this.maxHeight;
delete this.yOffset;
delete this.nodeHeight;
delete this.maxNodeWidth;
delete this.displayItemCount;
delete this.topIndex;
delete this.lastIndex;
delete this.curAlpha;
_parent.bTopicDialogOpen = false;
}


#endinitclip??
Layer 1????O????? {
SetSize();
}
else
{
var strTemp = "javascript:RtLoaded()";
getURL(strTemp);
}

}

function OnTopicKeyDown()
{
var keyPressed = Key.getCode();
gTopicDialog.KeyPressed(keyPressed);
}

function GetMenuItems()
{
var nCount = 0;
gTopicList_array = new Array();
for (var i = 2; i < _parent.nItemCount; i+=2)
{
gTopicList_array[nCount] = new Object();
gTopicList_array[nCount].displayName_str = eval("_parent.arrVal"+i);
gTopicList_array[nCount].url_str = eval("_parent.arrVal"+(i+1));
nCount++;
}
}

function SetSize()
{
var menuWidth = 100;
var strTemp = "javascript:sizeRtCtrl(\""+gTopicDialog.userWindow_mc._width+"\",\""+gTopicDialog.userWindow_mc._height+"\")";
Stage.height = menuHeight;
Stage.width = menuWidth;
getURL(strTemp);
}

function GetTextFormatFromString(font_str) {
var text_fmt = new Object(); // create a new object instead of a TextFormat object because flash won't pass a textFormat object over LC

if (font_str != undefined) {
var font_array = font_str.split(" ");
for (value in font_array) {
var iColon = font_array[value].indexOf(":", 0);
var field_str = font_array[value].substr(0, iColon);
var value_str = font_array[value].substr(iColon + 1, font_array[value].length);
switch (field_str) {
case "font-family": text_fmt.font = value_str; break;
case "font-size": text_fmt.size = parseInt(value_str); break;
case "font-weight": text_fmt.bold = (value_str.toLowerCase() == "bold") ? true : false; break;
case "font-style": text_fmt.italic = (value_str.toLowerCase() == "italic") ? true : false; break;
case "font-color": text_fmt.color = SkinStringToRGB(value_str); break;
case "text-decoration": text_fmt.underline = (value_str.toLowerCase() == "underline") ? true : false; break;
}
}
}

return text_fmt;
}

function CheckStageSize()
{
if (Stage.height > 0 && !gbOpened)
{
this.onEnterFrame = undefined;
if (_parent.gsSkinSwf !=undefined && _parent.gsSkinSwf.length > 0)
{
gAbsHeight = Stage.height;
gAbsWidth = Stage.width;
Init();
}
}
}

function debug_alert(msg)
{
getURL("javascript:alert('"+msg+"')");
}

this.onEnterFrame = CheckStageSize;


#endinitclip??
Related Topics?????OO???????????_e?Y5if (this.Fade)
{
_parent.bFade = true;
}

#initclip

function TopicListDialog(xPos,yPos,yOffset, bHtml)
{
this.bRelatedTopics = bHtml;
this._parent.window_mc._visible = false;
this._parent.highlight_mc._visible = false;
this._parent.textfield_mc._visible = false;
this._parent.icon_mc._visible = false;
this._parent.inputbg_mc._visible = false;

this.userWindow_mc = window_mc.duplicateMovieClip("theWindow"+_global.textNode.nCount,_global.textNode.nCount);
this.userWindow_mc._visible = false;
this.userWindow_mc.Owner = this;

this.arrowHeight = 15;
this.widthBuffer = 10;
this.marginTop = 5;

if (bHtml == undefined) {
bHtml = false;
}
_global.textNode.nCount++;

this.xPos = xPos;
this.yPos = yPos;
// Arrows
this.upArrow_mc = undefined;
this.downArrow_mc = undefined;

// Are the arrows Enabled
this.nArrows = 0;
// The Arrow Interval for scrolling
this.arrowInterval = undefined;

// Set the maximum width and height
this.maxWidth = Stage.width;
this.maxHeight = Stage.height - yOffset;
this.yOffset = yOffset;

if (this.bRelatedTopics)
{
this.maxHeight = gnTopicHeight;
}

// stores an array of internal textnodes
this.textNode_array = new Array;

// stores the textnode height
this.nodeHeight = 0;

// store the maximum textnode width
this.maxNodeWidth = 0;

// store the number of displayable items
this.displayItemCount = 0;

// the currently displayed top index
this.topIndex = 0;
this.lastIndex = 0;

// Current Alpha value
this.curAlpha = 0;

// Save the callback function once defined
this.pfnCallback = undefined;

// Selected node
this.nSelected = -1;

// create mouse listener
this.mouseListener = new Object;
this.mouseListener.onMouseDown = this.ClickOut;
this.mouseListener.Owner = this;
Mouse.addListener(this.mouseListener);
}

TopicListDialog.prototype.KeyPressed = function(keyCode)
{
switch(keyCode)
{
case 13:
{
if (this.nSelected == -1)
{
this.textNode_array[0].Select();
this.pfnCallBack(0);
this.nSelected = 0;
}
else
{
this.textNode_array[this.nSelected].Select();
this.pfnCallBack(this.nSelected);
this.nSelected = this.nSelected;
}
_parent.debug_trace("Enter");
break;
}
case 38:
{
if (this.nSelected == -1)
{
this.textNode_array[0].Select();
this.nSelected = 0;
}
else if (this.nSelected>this.topIndex)
{
this.textNode_array[this.nSelected].Unselect();
this.nSelected--;
this.textNode_array[this.nSelected].Select();
}
else if (this.topIndex>0)
{
this.textNode_array[this.nSelected].Unselect();
this.nSelected--;
this.textNode_array[this.nSelected].Select();
this.downArrow_mc._visible = true;
this.topIndex--;
this.UpdateDisplay(this.topIndex);
}
_parent.debug_trace("Up");
break;
}
case 40:
{
if (this.nSelected == -1)
{
this.textNode_array[0].Select();
this.nSelected = 0;
}
else if (this.nSelected<this.lastItem)
{
_parent.debug_trace("Move Down no Scroll");
this.textNode_array[this.nSelected].Unselect();
this.nSelected++;
this.textNode_array[this.nSelected].Select();
}
else if (this.lastItem<this.textNode_array.length-1)
{
this.textNode_array[this.nSelected].Unselect();
this.nSelected++;
this.textNode_array[this.nSelected].Select();
this.upArrow_mc._visible = true;
this.topIndex++;
this.UpdateDisplay(this.topIndex);
}
_parent.debug_trace("Down");
break;
}
case 37:
{
this.pfnCallBack(-1);
break;
}
}
}

TopicListDialog.prototype.ClickOut = function()
{
if (!this.Owner.userWindow_mc.hitTest(_root._xmouse,_root._ymouse,true))
{
_parent.debug_trace("ClickOut = "+ this.Owner.userWindow_mc._x);
this.Owner.pfnCallSymbol 25????????????G?DSymbol 26??????4M 1 1183406672????????????"????????????f this section is to apply (and transition in) a tint effect to label_mc.

?_sans?(unselected:??_sans?( When another node becomes selected, the current node becomes unselected. Typically use of this section is to unapply tint (set it back to color=none).??
??????I??
Hint?????3??????
CPicSprite
d??Vlabel_mc??
??????? ??
Label????O????????????? ??????????ustop();?????????P#stop();??
Actions????O?O???????????visible?"?????????selected@K???????{??r?t????`.N?????d?d???w?W1c?kjjhaa????????K????B??mUcf$???p???}S(nl6uA??N2
d0?d4QG{;??Sii?)>>?<???]ck3?@?V?.x??/???~?s?]*???%??k?}??-+?:?*????]??_????l?????:?? t?????}@???4?H$z????\?b?Z???8 ? ???@?}??G??wpO?K?=8:???? ? el???CPicPage?? CPicLayer?? CPicFrame??CPicText??
?;???.? C???? ?_sans?(HIN??CPicPage?? CPicLayer?? CPicFrame????????????c?????3#initclip

var g_textFormat = undefined;
var g_hoverFormat = undefined;

if (_global.textNode == undefined)
{
_global.textNode = new Object;
_global.textNode.nCount = 0;
}


fun????????out???CPicPage?? CPicLayer?? CPicFrame??CPicText?? ??????.-
CM?_sans?(HINT:
Use the labeled frames to control the various states of the textnode.

?_sans?(visible:X?_sans?( This is the first frame in the sequence. This displays th??CPicPage?? CPicLayer?? CPicFrame??ction SetTextFormat(newTextFormat)
{
g_textFormat = newTextFormat;
}

function SetHoverFormat(newHoverFormat)
{
g_hoverFormat = newHoverFormat;
}

function CreateNewObj(pfnClicked,dataClicked)
{
var Obj = new GenericTextNodeClass(true,pfnClicked,dataClicked);
return Obj;
}

function GenericTextNodeClass(bCreate,pfnClicked,dataClicked)
{
this._parent.highlight_mc._visible = false;
this._parent.textfield_mc._visible = false;
this._parent.icon_mc._visible = false;

// this code is to make sure that a new object is not created when we register the class
if (!bCreate || bCreate == undefined)
{
return;
}

// Duplicate the movie clips
this.userIcon_mc = icon_mc.duplicateMovieClip("icon"+_global.textNode.nCount,_global.textNode.nCount);
this.userTextField_mc = textfield_mc.duplicateMovieClip("text"+_global.textNode.nCount,_global.textNode.nCount+1);
this.userHighlight_mc = highlight_mc.duplicateMovieClip("highlight"+_global.textNode.nCount,_global.textNode.nCount+2);

this.userIcon_mc.tabEnabled = false;
this.userTextField_mc.tabEnabled = false;
this.userHighlight_mc.tabEnabled = false;

// Create a reference to this object in the icon and the textfield
this.userIcon_mc.Owner = this;
this.userTextField_mc.Owner = this;

// set the data to be returned when the object is clicked to undefined
this.pfnClicked = pfnClicked;
this.dataClicked = dataClicked;

// Can the item be clicked
this.bItemIn = false;

// Set selected to false
this.bSelected = false;
// Set visible to false
this.bIsTextVisible = false;
this.bIsIconVisible = false;

// Save initial height
this.iconHeight = this.userIcon_mc._height;
this.textFieldHeight = this.userTextField_mc._height;

// increment the object count
_global.textNode.nCount+=3;

// Initialize object
this.Init();
}

GenericTextNodeClass.prototype = new MovieClip();

///////////////////////////////////////////////////////////////////////////////////
// Initialize the object
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Init = function()
{
if (this.userHighlight_mc.getDepth() > this.userTextField_mc.getDepth())
{
this.userHighlight_mc.swapDepths(this.userTextField_mc);
}

// Make the movie clips initially invisible
this.userIcon_mc._visible = false;
this.userTextField_mc._visible = false;
this.userHighlight_mc._visible = false;

// Position the highlight over the textfield
this.userHighlight_mc._x = this.userTextField_mc._x;
this.userHighlight_mc._y = this.userTextField_mc._y;

// Capture the onClick event
this.userTextField_mc.onPress = this.Clicked;
this.userIcon_mc.onPress = this.Clicked;

// Capture the onRollover and onRollout events
this.userTextField_mc.onRollOver = this.Rollover;
this.userIcon_mc.onRollOver = this.Rollover;
this.userTextField_mc.onRollOut = this.Rollout;
this.userIcon_mc.onRollOut = this.Rollout;
};

///////////////////////////////////////////////////////////////////////////////////
// Set the text of the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.SetText = function(newText_str)
{
this.userTextField_mc.label_mc.label_txt.autoSize = true;
this.userTextField_mc.label_mc.label_txt.text = newText_str;
textFormatObj = this.userTextField_mc.label_mc.label_txt.getTextFormat();

for (items in g_textFormat)
{
if (eval("g_textFormat."+items) != undefined)
{
textFormatObj[items] = g_textFormat[items]
}
}
// This is a hack for Lindows, Lindows will not display a
// textfield unless the text field is bold
if (textFormatObj.getTextExtent(newText_str).width == 0)
textFormatObj.bold = true;

this.userTextField_mc.label_mc.label_txt.setTextFormat(textFormatObj);

this.userHighlight_mc.gotoAndStop("out");
this.userHighlight_mc._width = this.userTextField_mc.label_mc.label_txt._width;
this.userHighlight_mc._height = this.userTextField_mc.label_mc.label_txt._height;
this.userHighlight_mc._visible = false;
this.userTextField_mc.label_mc.label_txt.autoSize = false;
};

///////////////////////////////////////////////////////////////////////////////////
// Control the hover font
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.RollOver = function(overContext)
{
if (overContext != undefined)
{
theNode = overContext.Owner;
}
else
{
theNode = this.Owner;
}

var textFormatObj = theNode.userTextField_mc.label_mc.label_txt.getTextFormat();

for (items in g_textFormat)
{
if (eval("g_textFormat."+items) != undefined)
{
textFormatObj[items] = g_hoverFormat[items];
}
}

// This is a hack for Lindows, Lindows will not display a
// textfield unless the text field is bold
if (textFormatObj.getTextExtent(newText_str).width == 0)
textFormatObj.bold = true;

theNode.userTextField_mc.label_mc.label_txt.setTextFormat(textFormatObj);
};

GenericTextNodeClass.prototype.RollOut = function(overContext)
{
if (overContext != undefined)
{
theNode = overContext.Owner;
}
else
{
theNode = this.Owner;
}
var textFormatObj = theNode.userTextField_mc.label_mc.label_txt.getTextFormat();

for (items in g_textFormat)
{
if (eval("g_textFormat."+items) != undefined)
{
textFormatObj[items] = g_textFormat[items];
}
}

// This is a hack for Lindows, Lindows will not display a
// textfield unless the text field is bold
if (textFormatObj.getTextExtent(newText_str).width == 0)
textFormatObj.bold = true;

theNode.userTextField_mc.label_mc.label_txt.setTextFormat(textFormatObj);
};

///////////////////////////////////////////////////////////////////////////////////
// Transition the text node onto the screen
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.SetState = function(bState)
{
this.bItemIn = bState;
};

GenericTextNodeClass.prototype.TransitionIn = function()
{
if (this.bItemIn)
{
this.InNoTransition();
}
else
{
this.bItemIn = true;
this.bIsTextVisible = true;
this.bIsIconVisible = true;
this.userTextField_mc.gotoAndPlay("In");
this.userIcon_mc.gotoAndPlay("In");
}
};

///////////////////////////////////////////////////////////////////////////////////
// Transition the text node off of the screen
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.TransitionOut = function()
{
this.bItemIn = false;
if (this.bSelected)
{
this.userHighlight_mc.gotoAndPlay("out");
this.bSelected = false;
}
this.userTextField_mc.gotoAndPlay("out");
this.userIcon_mc.gotoAndPlay("out");

this.userTextField_mc.onEnterFrame = this.HideOnOut;
this.userICon_mc.onEnterFrame = this.HideOnOut;
};

GenericTextNodeClass.prototype.InNoTransition = function()
{
this.bItemIn = true;
this.bIsTextVisible = true;
this.bIsIconVisible = true;
if (this.bSelected)
{
this.userTextField_mc.gotoAndPlay("selected");
}
else
{
this.userTextField_mc.gotoAndStop("visible");
}
this.userIcon_mc.gotoAndStop("visible");
};

///////////////////////////////////////////////////////////////////////////////////
// Checks the current frame and hides the text if it is the end of the transition out
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.HideOnOut = function()
{
if (this._currentframe == this._totalframes)
{
if (this == this.Owner.userTextField_mc)
{
this.Owner.bIsTextVisible = false;
}
else
{
this.Owner.bIsIconVisible = false;
}
this.onEnterFrame = null;
this._visible = false;
}
};

///////////////////////////////////////////////////////////////////////////////////
// Highlight the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Select = function()
{
this.bSelected = true;
this.userTextField_mc.gotoAndPlay("selected");
this.userIcon_mc.gotoAndPlay("selected");
this.userHighlight_mc._visible = true;
this.userHighlight_mc.gotoAndPlay("in");
};

/////////////////////////////////////Back(-1);
}
}

TopicListDialog.prototype.DisplayTopicDialog = function(topicList_array,pfnCallBack)
{
this.userWindow_mc._visible = true;
this.pfnCallBack = pfnCallBack;
this.FillList(topicList_array,pfnCallBack);
if (bFade)
{
this.curAlpha = 0;
this.SetAlpha(this.curAlpha);
this.curAlpha+=10;
this.userWindow_mc.onEnterFrame = this.FadeIn;
}
}

TopicListDialog.prototype.FadeIn = function()
{
var theList = this.Owner;
if (theList.curAlpha>100)
{
this.onEnterFrame = undefined;
}
else
{
theList.SetAlpha(theList.curAlpha)
theList.curAlpha+=10;
}
}

TopicListDialog.prototype.FadeOut = function()
{
var theList = this.Owner;
if (theList.curAlpha<0)
{
this.onEnterFrame = undefined;
theList.Destroy();
}
else
{
theList.SetAlpha(theList.curAlpha)
theList.curAlpha-=10;
}
}

TopicListDialog.prototype.SetAlpha = function(newAlpha)
{
this.userWindow_mc._alpha = newAlpha;
var i = 0;
var curYPos = this.userWindow_mc._y + (this.arrowHeight*this.nArrows);
while (i < this.textNode_array.length && (curYPos + this.nodeHeight) <= (this.userWindow_mc._y + this.userWindow_mc._height - (this.arrowHeight*this.nArrows)))
{
this.textNode_array[i].userIcon_mc._alpha = newAlpha;
this.textNode_array[i].userHighlight_mc._alpha = newAlpha;
this.textNode_array[i].userTextField_mc._alpha = newAlpha;

curYPos += this.nodeHeight;
i++;
}


}

TopicListDialog.prototype.FillList = function(topicList_array,pfnCallBack)
{
var i = 0;
for (i = 0; i < topicList_array.length; i++)
{
this.textNode_array[i] = CreateNewObj(this.OnClick,i);
this.textNode_array[i].Owner = this;
this.textNode_array[i].SetText(topicList_array[i].displayName_str);
if (_parent.fhtooltip_comp)
{
_parent.fhtooltip_comp.AddTooltip(this.textNode_array[i].userTextField_mc, topicList_array[i].displayName_str);
}
var nodeWidth = this.textNode_array[i].GetWidth();
if (nodeWidth > this.maxNodeWidth)
{
this.maxNodeWidth = nodeWidth;
}
}
this.nodeHeight = this.textNode_array[0].GetHeight();
this.SizeWindow();
this.PositionWindow();
this.UpdateDisplay(this.topIndex);
}

TopicListDialog.prototype.OnClick = function(nIndex)
{
this.Owner.textNode_array[nIndex].Select();
this.Owner.pfnCallBack(nIndex);
}

TopicListDialog.prototype.SizeWindow = function()
{
var totalHeight = this.nodeHeight * this.textNode_array.length +this.marginTop;

this.userWindow_mc._width = this.maxNodeWidth+this.widthBuffer;


if (totalHeight > this.maxHeight)
{
this.displayItemCount = Math.floor((this.maxHeight - (this.arrowHeight*2))/this.nodeHeight);
totalHeight = (this.displayItemCount* this.nodeHeight)+ (this.arrowHeight*2)
this.userWindow_mc._height = totalHeight+1;
if (!this.bRelatedTopics) {
this.EnableArrows();
}
this.nArrows = 1;
}
else
{
this.displayItemCount = Math.floor(totalHeight/this.nodeHeight);
this.userWindow_mc._height = totalHeight+1;
}
}

TopicListDialog.prototype.PositionWindow = function()
{
if (!this.bRelatedTopics)
{
// Set X Position
var oldXPos = this.userWindow_mc._x;
this.userWindow_mc._x = this.xPos;
if (this.xPos+this.userWindow_mc._width > Stage.width)
{
this.userWindow_mc._x = Stage.width - this.userWindow_mc._width;
}
if (this.userWindow_mc._x < 0)
{
this.userWindow_mc._x = 0;
}
var deltaX = this.userWindow_mc._x - oldXPos;

// Set Y Position
var oldYPos = this.userWindow_mc._y;
this.userWindow_mc._y = this.yPos;
if (this.userWindow_mc._y + this.userWindow_mc._height > Stage.height - _parent.indexYPosition)
{
this.userWindow_mc._y = Stage.height - this.userWindow_mc._height - _parent.indexYPosition;
}

var deltaY = this.userWindow_mc._y - oldYPos;
if (this.nArrows>0)
{
this.upArrow_mc._x +=deltaX;
this.upArrow_mc._y +=deltaY;
this.downArrow_mc._x +=deltaX;
this.downArrow_mc._y +=deltaY;
}
}
else
{
// Center the related topic control in the middle of the stage
this.userWindow_mc._y = (gAbsHeight-this.userWindow_mc._height)/2;
this.userWindow_mc._x = (gAbsWidth-this.userWindow_mc._width)/2;
if (this.nArrows==1)
{
this.EnableArrows();
}
}

}

TopicListDialog.prototype.UpdateDisplay = function(nIndex)
{

var curYPos = this.userWindow_mc._y + (this.arrowHeight*this.nArrows);
if (this.nArrows == 0)
{
curYPos +=this.marginTop;
}
var i = nIndex;
if (this.lastIndex < nIndex)
{
this.textNode_array[this.lastIndex].MakeInvisible();
}
else
{
this.textNode_array[this.lastIndex+(this.displayItemCount-1) ].MakeInvisible();
}
while (i < this.textNode_array.length && (curYPos + this.nodeHeight) <= (this.userWindow_mc._y + this.userWindow_mc._height - (this.arrowHeight*this.nArrows)))
{
this.textNode_array[i].MoveTo(this.userWindow_mc._x + 5, curYPos);
var nodeWidth = this.textNode_array[i].GetWidth();
if (nodeWidth > this.maxNodeWidth)
{
newWidth = nodeWidth - this.maxNodeWidth;
this.textNode_array[i].userTextField_mc._width -= newWidth;
}

curYPos += this.nodeHeight;
this.textNode_array[i].SetState(true);
this.textNode_array[i].TransitionIn();
this.textNode_array[i].MakeVisible();
i++;
}
this.lastItem = i - 1;
this.lastIndex = nIndex;
}

TopicListDialog.prototype.EnableArrows = function()
{
this.DrawArrows();
this.CenterArrows();
}

TopicListDialog.prototype.DrawArrows = function()
{
// Create and draw up arrow
this.upArrow_mc = createEmptyMovieClip("UpArrow",1000000);
this.upArrow_mc.moveTo(3,8);
this.upArrow_mc.lineStyle(2,0x555555,100);
this.upArrow_mc.lineTo(8,3);
this.upArrow_mc.lineTo(13,8);
this.upArrow_mc.lineStyle(1,0x555555,0);
this.upArrow_mc.moveTo(0,0);
this.upArrow_mc.beginFill(0x000000,0);
this.upArrow_mc.lineTo(0,10);
this.upArrow_mc.lineTo(15,10);
this.upArrow_mc.lineTo(15,0);
this.upArrow_mc.lineTo(0,0);
this.upArrow_mc.endFill();

this.upArrow_mc.onPress = this.UpArrowPressed;
this.upArrow_mc.onRelease = this.UpArrowReleased;
this.upArrow_mc.Owner = this;
this.upArrow_mc._visible = false;

// Create and draw down arrow
this.downArrow_mc = createEmptyMovieClip("DownArrow",1000001);
this.downArrow_mc.moveTo(3,3);
this.downArrow_mc.lineStyle(2,0x555555,100);
this.downArrow_mc.lineTo(8,8);
this.downArrow_mc.lineTo(13,3);
this.downArrow_mc.lineStyle(1,0x555555,0);
this.downArrow_mc.moveTo(0,0);
this.downArrow_mc.beginFill(0x000000,0);
this.downArrow_mc.lineTo(0,10);
this.downArrow_mc.lineTo(15,10);
this.downArrow_mc.lineTo(15,0);
this.downArrow_mc.lineTo(0,0);
this.downArrow_mc.endFill();
this.downArrow_mc.moveTo(0,100);

this.downArrow_mc.onPress = this.DownArrowPressed;
this.downArrow_mc.onRelease = this.DownArrowReleased;
this.downArrow_mc.Owner = this;

}

TopicListDialog.prototype.UpArrowPressed = function()
{
this.Owner.downArrow_mc._visible = true;
this.Owner.topIndex--;
this.Owner.UpdateDisplay(this.Owner.topIndex);
if (this.Owner.topIndex > 0)
{
this.Owner.arrowInterval = setInterval(this.Owner.UpArrowDown,300,this.Owner);
}
else
{
this.Owner.upArrow_mc._visible = false;
}
}

TopicListDialog.prototype.UpArrowDown = function(theList)
{
theList.topIndex--;
theList.UpdateDisplay(theList.topIndex);
clearInterval(theList.arrowInterval);
theList.arrowInterval = setInterval(theList.UpArrowDown,75,theList);
if (theList.topIndex == 0)
{
theList.upArrow_mc._visible = false;
clearInterval(theList.arrowInterval);
}
}

TopicListDialog.prototype.UpArrowReleased = function()
{
clearInterval(this.Owner.arrowInterval);
}

TopicListDialog.prototype.DownArrowPressed = function()
{
this.Owner.upArrow_mc._visible = true;
this.Owner.topIndex++;
this.Owner.UpdateDisplay(this.Owner.topIndex);

if (this.Owner.topIndex < this.Owner.textNode_array.length-this.Owner.displayItemCount)
{
this.Owner.arrowInterval = setInterval(this.Owner.DownArrowDown,300,this.Owner);
}
else
{
this._visible=false;
}
}

TopicListDialog.prototype.DownArrowDown = function(theList)
{
theList.topIndex++;
theList.UpdateDisplay(theList.topIndex);
clearInterval(theList.arrowInterval);
theList.arrowInterval = setInterval(theList.DownArrowDown,75,theList);

if (theList.topIndex == theList.textNode_array.length-theList.displayItemCount)
{
theList.downArrow_mc._visible = false;
clearInterval(theList.arrowInterval);
}
}

TopicListDialog.prototype.DownArrowReleased = function()
{
clearInterval(this.Owner.arrowInterval);
}


TopicListDialog.prototype.CenterArrows = function()
{
// Position Up Arrow
this.upArrow_mc._y = this.userWindow_mc._y;
this.upArrow_mc._x = this.userWindow_mc._x + (this.userWindow_mc._width - this.upArrow_mc._width)/2;
// Position Down Arrow
this.downArrow_mc._y = (this.userWindow_mc._y + this.userWindow_mc._height) - this.downArrow_mc._height-2;
this.downArrow_mc._x = this.upArrow_mc._x;

}

TopicListDialog.prototype.Close = function()
{
if (bFade)
{
this.curAlpha = 90;
this.userWindow_mc.onEnterFrame = this.FadeOut;
}
else
{
this.Destroy();
}
}
TopicListDialog.prototype.Destroy = function()
{
var i = 0;
for (i = 0; i < this.textNode_array.length; i++)
{
this.textNode_array[i].DestroyNode();
delete this.textNode_array[i];
}
delete this.textNode_array;
this.upArrow_mc.removeMovieClip();
delete this.upArrow_mc;
this.downArrow_mc.removeMovieClip();
delete this.downArrow_mc;
this.userWindow_mc.removeMovieClip();
this.userWindow_mc.Owner = undefined;
delete this.userWindow_mc;
Mouse.removeListener(this.mouseListener);
delete this.xPos;
delete this.yPos;
delete this.nArrows;
delete this.arrowInterval;
delete this.maxWidth;
delete this.maxHeight;
delete this.yOffset;
delete this.nodeHeight;
delete this.maxNodeWidth;
delete this.displayItemCount;
delete this.topIndex;
delete this.lastIndex;
delete this.curAlpha;
_parent.bTopicDialogOpen = false;
}

Object.registerClass("TopicList_Obj", TopicListDialog);

#endinitclip
??
Layer 1????O????????
??????]nstop();@@|x??T]H?a?s:Y?sZY?8)5?`. ???j(XB
??R/'I?f????h??g?n?S????0?"2??y5f?p??*s ???}??<?=?9??8???s??p?????ccc?????b`x?????a??%
?????c*??F?i??dR???8I????B?m?X?????????Z?????|>????,???(?=????????????????oomm?~?y<???%???bl????!7?Ch
1yyy????htd???R?%Kw7?VB?t:?????l??!9?X?333?????&'&???H?MM433C^???[.?_??0??????k?\????????????A2wu?+??VWWY?
???=?g??]????????????????8-?|yy?OUUUC\\?i?C5?¾5?, ??????b?????MOO???'ju?D"????]c???l??CPicPage?? CPicLayer?? CPicFrame??CPicText?? ((???_sans?(textfield label label_txt????????p??
Layer 1????O?????????????0` 0@0????????????|???????? ???Layer 1????O?????????{??r?t????`.N?????d?d???w?W1c?kjjhaa????????K????B??mUcf$???p???}S(nl6uA??N2
d0?d4QG{;??Sii?)>>?<???]ck3?@?V?.x??/???~?s?]*???%??k?}??-+?:?*????]??_????l?????:?? t?????}@???4?H$z????\?b?Z???8 ? ???@?}??G??wpO?K?=8:???? ? el?????CPicPage?? CPicLayer?? CPicFrame??
CPicSymboldxdx?????????e text in its "normal"state.

?_sans?(selected:??_sans?( This allows you to change the look of the textnode in the selected state. Textnodes become selected when the user clicks them. Typical use o??????
unselectedxX??
Labels?????OO?????????????,???????? ???Layer 1????O???????CPicPage?? CPicLayer?? CPicFrame??
CPicBitmap??t???j??????????????J????????? ???Layer 1????O?????mponents????O????? ??
? ?P??] window_mc????????[X??
Popup Wind??CPicPage?? CPicLayer?? CPicFrame??CPicText??
??4?!??? ?_sans?(HINT:

inputbg_mc: This movie clip is displayed behind the input field (separate swf). It stretches at runtime.

window_mc: This movie clip is used as the background of the popup menu, which displays in the index when a keyword is associated with multiple destinations (it displays a list of topics associated with the index entry). It will stretch at runtime to fit <n> number of text nodes at runtime.

textfield_mc: Text field displayed on the popup window window_mc. One of these is used for each item displa ?_sans?(yed in the window at runtime. Use the labeled frames to determine the look of the text at the various states. The structure of this movie clip is:
textfield_mc (this movie clip contains the timeline with labeled frames)
label_mc (this movie clip is just a container for the label.)
label_txt (this textfield is populated with text at runtime)

highlight_mc: Textfield highlight. This is used to highlight the text nodes displayed in the popup window. The node will highlight when clicked.
$ ?_sans?(
fhtextnode_comp: Text Node component, required for proper behavior at runtime.

fhgeneric_comp: Index component, required for proper behavior at runtime.

[Optional]
icon_mc: Icon to display with text node. This appears to the left of the text in the popup window, like a "bullet" in a list.???????????????????????????? ???Hint?????O??????
CPicSprite??????????d?????4??????fhgeneric_comp???Fade???true???K0????F???@brh???????<component metaDataFetched='true' schemaUrl='' schemaOperation='' sceneRootLabel='Scene 1' oldCopiedComponentPath='1'>
</component>
?????w????wd????TM??????fhtextnode_comp???Label??? defaultValue?????g L?I???????????????<component metaDataFetched='true' schemaUrl='' schemaOperation='' sceneRootLabel='Scene 1' oldCopiedComponentPath='2'>
</component>
???????????pb???????? ???
Components????O????? ?? ? ?P?????L?????? window_mc????<component metaDataFetched='true' schemaUrl='' schemaOperation='' sceneRootLabel='Scene 1' oldCopiedComponentPath='3'>
</component>
????????????;???????? ??? Popup Window?????3???? ?1
1
d????j?????? highlight_mc????<component metaDataFetched='true' schemaUrl='' schemaOperation='' sceneRootLabel='Scene 1' oldCopiedComponentPath='4'>
</component>
???????????im???????? ???TextNode Highlight????O????? ??
?
d?????J??????icon_mc????<component metaDataFetched='true' schemaUrl='' schemaOperation='' sceneRootLabel='Scene 1' oldCopiedComponentPath='5'>
</component>
???????????hY???????? ???
TextNode Icon?????OO??? ?1
1
d?????^?????? textfield_mc????<component metaDataFetched='true' schemaUrl='' schemaOperation='' sceneRootLabel='Scene 1' oldCopiedComponentPath='6'>
</component>
???????????J
???????? ???TextNode Label????O?O??? ?d????yU??????
inputbg_mc????<component metaDataFetched='true' schemaUrl='' schemaOperation='' sceneRootLabel='Scene 1' oldCopiedComponentPath='7'>
</component>
???????????????????? ???Input Background??????O???tor::Event Compress7PublishHtmlProperties::Scale0%PublishGifProperties::RemoveGradients0PublishPNGProperties::Width300PublishPNGProperties::Height300PublishJpegProperties::Height300 PublishRNWKProperties::speed512K0$PublishFormatProperties::gifFileNameskin_index.gifVector::Stream Format0PublishGifProperties::Animated0&PublishGifProperties::TransparentAlpha128!PublishPNGProperties::Transparent0!PublishPNGProperties::PaletteNamePublishJpegProperties::Width300*PublishQTProperties::Use????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????C??
CDocumentPagePage 1???Scene 1???C8?>???????????????????????i??????????????????????????????????????????????????????????????????? Symbol 22???Icon???+??>_??>??????????????? Symbol 22???????XZ?F?????????????????????????????????????????????????????????????????? Symbol 10???hilite
???+??>??>6??????????????? Symbol 10???????!??>??????????????????????????????????????????????????????????????????Symbol 8???InputBackground???"??>
8??>???????????????Symbol 8????????Y?F??????????????????????????????????????????????????????????????????Symbol 1???window???"??>
???>;????????????..\wf_indexui.fla???window???>???>;???Z?F??????????????????????????????????????????????????????????????????Symbol 2??? TextField???"??>
0??>A????????????..\wf_indexui.fla??? TextField?8?>0??>A???2????????????????????????????????????????????????????????????????????Symbol 3???Label???"??>
I??>C????????????..\wf_indexui.fla???Label?8?>I??>C??????>??????????????????????????????????????????????????????????????????Symbol 4???Icon???"??>
W??>=????????????..\wf_indexui.fla???IconW??>W??>=???f??>??????????????????????????????????????????????????????????????????Symbol 5??? Highlight???"??>
??>E????????????..\wf_indexui.fla??? Highlight??>??>E???????????????????????????????????????????????????????????????????????? Symbol 25???Generic FH Index Component????N?>'???
TopicList_Obj???flashhelp_components.swf??????7..\..\..\..\..\FlashComponents\flashhelp_components.fla???Generic FH Index Component?rN??N?>'????rN??????????Fade???true???K0????F???@brh??????????????????????????????????????????????Fade???true???K0????F???@brh??????????????????????? Symbol 26???Generic FH Textnode Component???//////////////////////////////////////////////
// unhighlight the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Unselect = function()
{
this.bSelected = false;
this.userTextField_mc.gotoAndPlay("unselected");
this.userIcon_mc.gotoAndPlay("unselected");
this.userHighlight_mc.gotoAndPlay("out");
};

///////////////////////////////////////////////////////////////////////////////////
// handles the case when the text node is clicked.
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.Clicked = function()
{
if (this.Owner.bItemIn)
{
this.Owner.pfnClicked(this.Owner.dataClicked);
}
};

///////////////////////////////////////////////////////////////////////////////////
// Get the node width
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.GetWidth = function()
{
var XPos;
var nWidth;
if (this.userIcon_mc._x < this.userTextField_mc._x)
{
XPos = this.userIcon_mc._x;
}
else
{
XPos = this.userTextField_mc._x;
}
if ((this.userIcon_mc._x+this.userIcon_mc._width) >(this.userTextField_mc._x+this.userTextField_mc._width))
{
nWidth = (this.userIcon_mc._x+this.userIcon_mc._width) - XPos;
}
else
{
nWidth = (this.userTextField_mc._x+this.userTextField_mc._width) - XPos;
}

if (this.userIcon_mc == undefined)
{
nWidth = this.userTextField_mc._width;
}

return nWidth;

};

///////////////////////////////////////////////////////////////////////////////////
// Get the node height
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.GetHeight = function()
{
var YPos;
var nHeight;
if (this.userIcon_mc._y < this.userTextField_mc._y)
{
YPos = this.userIcon_mc._y;
}
else
{
YPos = this.userTextField_mc._y;
}
if ((this.userIcon_mc._y+this.iconHeight) >(this.userTextField_mc._y+this.textFieldHeight))
{
nHeight = (this.userIcon_mc._y+this.iconHeight) - YPos;
}
else
{
nHeight = (this.userTextField_mc._y+this.textFieldHeight) - YPos;
}

if (this.userIcon_mc == undefined)
{
nHeight = this.textFieldHeight;
}

return nHeight;
};

///////////////////////////////////////////////////////////////////////////////////
// Make invisible
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.MakeInvisible = function()
{
this.userIcon_mc._visible = false;
this.userTextField_mc._visible = false;
this.userHighlight_mc._visible = false;
}

///////////////////////////////////////////////////////////////////////////////////
// Make visible
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.MakeVisible = function()
{
this.userIcon_mc._visible = true;
this.userTextField_mc._visible = true;
if (this.bSelected)
{
this.userHighlight_mc._visible = true;
}
}

///////////////////////////////////////////////////////////////////////////////////
// Position the text node
///////////////////////////////////////////////////////////////////////////////////

GenericTextNodeClass.prototype.MoveTo = function(x,y)
{
// Save Original values
var iconX = this.userIcon_mc._x;
var iconY = this.userIcon_mc._y;
var textX = this.userTextField_mc._x;
var textY = this.userTextField_mc._y;

// Calculate offsets
var offX = textX - iconX;
var offY = textY - iconY;
if (this.userIcon_mc == undefined)
{
offX = 0;
offY = 0;
}

// Move Objects
this.userIcon_mc._x = x;
this.userTextField_mc._x = x + offX;
this.userHighlight_mc._x = x + offX;

this.userIcon_mc._y = y;
this.userTextField_mc._y = y + offY;
this.userHighlight_mc._y = y + offY;
};

GenericTextNodeClass.prototype.DestroyNode = function()
{
// delete all the variables
delete this.userIcon_mc.Owner;
delete this.userTextField_mc.Owner;
delete this.bSelected;
delete this.bIsTextVisible;
delete this.bIsIconVisible;

// unload the movies
this.userIcon_mc.removeMovieClip();
delete this.userIcon_mc;
this.userTextField_mc.removeMovieClip();
delete this.userTextField_mc;
this.userHighlight_mc.removeMovieClip();
delete this.userHighlight_mc;
}

// Register the class
Object.registerClass("FGenericFHTextNode", GenericTextNodeClass);

var bLoaded = true;

if (this == _root && nItemCount == undefined)
{
var textObj = CreateNewObj(undefined,undefined);
var bSelected = false;
textObj.pfnClicked = function ()
{
if (!bSelected)
{
textObj.Select();
bSelected = true;
}
else
{
textObj.Unselect();
bSelected = false;
}
}
textObj.MoveTo(0,0);
textObj.SetText("TextNode");
textObj.MakeVisible();
textObj.TransitionIn();
}

#endinitclip
????? ???TextNode Definition????O?????
???P?x
??
??3???H
??33?x`
??f3?x`
???3?(x`
???3?5?x
???3?<??
??3???`
??33??x
??f3?
?x
??3??x
???3?(?x
???3?2??
??3???x
??33???
??f3?
??
???3???
???3???
???3?(??
??
?????x
??
??f???H
??3f??x`
??ff?0x
???f?(0x
???f?<x?
???f?C??
??f???`??CPicPage?? CPicLayer?? CPicFrame????????????+?????
#initclip
#include "cmds_skin.as"

var gAbsHeight = Stage.height;
var gAbsWidth = Stage.width;
var gTopicList_array = undefined;
var gTopicDialog = undefined;
var gnTopicHeight = undefined;
var keyTopicListener = undefined;
var gRtFont = undefined;
var gRtFontHighlight = undefined;

function DialogClosed()
{
var strTemp = "javascript:closeRtCtrl()";
getURL(strTemp);
}

function ListClicked(nIndex)
{
gTopicDialog.Close(DialogClosed);
delete gTopicDialog ;
gTopicDialog = undefined;
if (nIndex != -1)
{
var strTemp = "javascript:RtClicked('"+gTopicList_array[nIndex].url_str+"')";
getURL(strTemp);
}
else
{
DialogClosed();
}
}

function Init()
{
gRtFont = GetTextFormatFromString(_parent.gsFont);
gRtFontHighlight = GetTextFormatFromString(_parent.gsFontHighlight);
SetTextFormat(gRtFont);
SetHoverFormat(gRtFontHighlight);

gnTopicHeight = _parent.nTopicHeight;
Stage.scaleMode = "noScale";
GetMenuItems();

bFade = fhgeneric_comp.Fade;

gTopicDialog = new TopicListDialog(0,0,0,true);
gTopicDialog.DisplayTopicDialog(gTopicList_array,ListClicked);

// Create a key listener
keyTopicListener = new Object();
keyTopicListener.onKeyDown = OnTopicKeyDown;
Key.addListener(?N?>7???FGenericFHTextNode???flashhelp_components.swf??????7..\..\..\..\..\FlashComponents\flashhelp_components.fla???Generic FH Textnode ComponentG:,??N?>7???G:,??????????Label??? defaultValue?????g L?I??????????????????????????????????????????????????????Label??? defaultValue?????g L?I????????????????????????????????
CMediaBitsM 1 1183406672???navPane_page.png???`..\..\..\..\..\_projects\RoboHelpSkins\production\Beautiful Vistas\Flash\images\navPane_page.png?.?FPZ?F6??????????????????????2pph?hhhh???????? ????Vector::Template???0???legacyLineSpacing???0???PropSheet::ActiveTab???1599|???%PublishFormatProperties::htmlFileName???skin_index.html???"PublishHtmlProperties::StartPaused???0???!PublishGifProperties::PaletteName?????? PublishRNWKProperties::speed256K???0???PublishProfileProperties::name???Flash CS3 Settings???PublishFormatProperties::jpeg???0???Vector::Debugging Permitted???0???PublishHtmlProperties::Loop???1???"PublishQTProperties::MatchMovieDim???1??? PublishQTProperties::AlphaOption?????? PublishQTProperties::LayerOption??????PublishHtmlProperties::Units???0???$PublishPNGProperties::OptimizeColors???1???PublishQTProperties::Width???300???&PublishRNWKProperties::singleRateAudio???0???&PublishRNWKProperties::speedSingleISDN???0???%PublishFormatProperties::projectorMac???0???&PublishFormatProperties::flashFileName???skin_index.swf???Vector::Compress Movie???1???PublishGifProperties::Smooth???1???#PublishRNWKProperties::flashBitRate???1200???%PublishRNWKProperties::mediaCopyright???(c) 2000???PublishFormatProperties::html???0???$PublishFormatProperties::pngFileName???skin_index.png???(PublishHtmlProperties::VerticalAlignment???1???PublishHtmlProperties::Quality???4???"PublishGifProperties::DitherOption??????"PublishRNWKProperties::exportAudio???1??? PublishRNWKProperties::speed384K???0???!PublishRNWKProperties::exportSMIL???1???Vector::Override Sounds???0???!PublishHtmlProperties::DeviceFont???0???"PublishPNGProperties::FilterOption??????'PublishRNWKProperties::mediaDescription??????PublishFormatProperties::gif???0???*PublishFormatProperties::generatorFileName???skin_index.swt???Vector::Protect???0???Vector::Quality???80???*PublishHtmlProperties::HorizontalAlignment???1???"PublishHtmlProperties::DisplayMenu???1???PublishGifProperties::Interlace???0???"PublishGifProperties::DitherSolids???0???PublishPNGProperties::Smooth???1???PublishPNGProperties::BitDepth???24-bit with Alpha???PublishJpegProperties::DPI???4718592???PublishQTProperties::Flatten???1???#PublishFormatProperties::qtFileName???skin_index.mov???PublishGifProperties::Width???300???PublishGifProperties::Loop???1???PublishRNWKProperties::speed28K???1???!PublishRNWKProperties::mediaTitle??????$PublishRNWKProperties::mediaKeywords??????PublishFormatProperties::flash???1???#PublishGifProperties::MatchMovieDim???1???#PublishGifProperties::PaletteOption??????"PublishPNGProperties::DitherOption??????PublishJpegProperties::Quality???80???$PublishRNWKProperties::realVideoRate???100000???$PublishRNWKProperties::speedDualISDN???0???-PublishFormatProperties::projectorWinFileName???skin_index.exe???PublishHtmlProperties::Align???0???#PublishPNGProperties::MatchMovieDim???1???#PublishPNGProperties::PaletteOption??????$PublishJpegProperties::MatchMovieDim???1???%PublishFormatProperties::jpegFileName???skin_index.jpg???Vector::Omit Trace Actions???0???Vector::Debugging Password??????PublishHtmlProperties::Width???300???PublishHtmlProperties::Height???300???"PublishPNGProperties::DitherSolids???0???"PublishJpegProperties::Progressive???0???#PublishQTProperties::PlayEveryFrame???0???Vector::AS3AutoDeclare???0???PublishFormatProperties::png???0???PublishFormatProperties::rnwk???0???-PublishFormatProperties::projectorMacFileName???skin_index.hqx???Vector::TopDown???0???!PublishHtmlProperties::WindowMode???0???'PublishHtmlProperties::TemplateFileName???eC:\Documents and Settings\edigre\Application Data\Macromedia\Flash MX\Configuration\Html\Default.html???PublishGifProperties::Height???300???PublishPNGProperties::Interlace???0???PublishJpegProperties::Size???0???"PublishFormatProperties::generator???0???Vector::Report???0???PublishGifProperties::LoopCount??????'PublishGifProperties::TransparentOption??????PublishGifProperties::MaxColors???255???%PublishPNGProperties::RemoveGradients???0???PublishQTProperties::Height???300???PublishRNWKProperties::speed56K???1???Vector::AS3Strict???0???PublishFormatProperties::qt???0???Vector::Stream Compress???7???Vector::Event Format???0???Vector::Version???6???$PublishGifProperties::OptimizeColors???1???"PublishRNWKProperties::audioFormat???0???Vector::ActionScriptVersion???1???Vector::Event Compress???7???PublishHtmlProperties::Scale???0???%PublishGifProperties::RemoveGradients???0???PublishPNGProperties::Width???300???PublishPNGProperties::Height???300???PublishJpegProperties::Height???300??? PublishRNWKProperties::speed512K???0???$PublishFormatProperties::gifFileName???skin_index.gif???Vector::Stream Format???0???PublishGifProperties::Animated???0???&PublishGifProperties::TransparentAlpha???128???!PublishPNGProperties::Transparent???0???!PublishPNGProperties::PaletteName??????PublishJpegProperties::Width???300???*PublishQTProperties::UseQTSoundCompression???0???PublishQTProperties::Looping???0???"PublishRNWKProperties::exportFlash???1???&PublishRNWKProperties::showBitrateDlog???1???(PublishRNWKProperties::speedCorporateLAN???0???"PublishRNWKProperties::mediaAuthor??????%PublishFormatProperties::defaultNames???1???%PublishFormatProperties::projectorWin???0???%PublishFormatProperties::rnwkFileName???skin_index.smil???PublishPNGProperties::MaxColors???255???%PublishQTProperties::ControllerOption???0???"PublishQTProperties::PausedAtStart???0????????????? CColorDef??????3?P??f?P?0???P?H???P?`???P?x?3???33?(??3f?<?0?3??C?H?3??F?`?3??H?x?f??0?f3??0?ff?(?0?f??5?H?f??<?`?f??@?x???333?0???3????33?x??f3?d?0??3?]?H??3?Z?`??3?X?x?33????333?0?3f3?PPH?3?3?Px`?3?3?P?x?3?3?P???f3???0?f33?PH?ff3?(PH?f?3?<x`?f?3?C?x?f?3?F?????fff?`???f???0?3f???0?ff?x?0??f?k?H??f?d?`??f?`?x?3f???0?33f??PH?3ff?xPH?3?f?dx`?3?f?]?x?3?f?Z???ff???0?f3f??PH?fff?`?f?f?P0x?f?f?Px??f?f?P?????????????????H?3????H?f????H????x?H???n?`????h?x?3????H?33???x`?3f???x`?3???xx`?3??k?x?3???d???f????H?f3???x`?ff???0x?f???x0x?f??dx??f???]?????????????????`?3????`?f????`??????`????x?`????p?x?3????`?33????x?3f????x?3?????x?3???x?x?3???n???f????`?f3????x?ff???x??f????x??f???xx??f???k?????????????????x?3????x?f????x??????x??????x????x?x?3????x?33??????3f??????3???????3???????3???x???f????x?f3??????ff??????f???????f???????f???x????????x??????H??3?
?H??f??H????(?H????2?`????8?x????`??3?
?`??f??`????`????(?`????0?x????x??3??x??f??x?????x???? ?x????(?x?????P?x????3???H??33?x`??f3?x`???3?(x`???3?5?x???3?<????3???`??33??x??f3?
?x??3??x???3?(?x???3?2????3???x??33?????f3?
?????3??????3??????3?(?????????x????f???H??3f??x`??ff?0x???f?(0x???f?<x????f?C????f???`??3f???x??ff?x???f?x????f?(x????f?5????f???x??3f??????ff??????f?
?????f??????f?(????????(?x????????H??3???x`??f???0x??????????PP??????P????????`??3????x??f???x?????P?????(P??????<????????x??3???????f???????????????????????(????????x?x????????`??3????x??f???x???????P??????xP??????d????????`??3????x??f???x??????P????????????P????????x??3???????f?????????????????????????(??????????x????????x??3???????f??????????????????????????x????????x??3???????f?????????????????????????x????????x??3???????f?????????????????????????????????????????????????????????????????f??`????z??????f??????????????*???]????????????????c?????
MovieClips"??>
?????????????????????????Placeholder Graphics+??>?????????????????????????"PublishQTProperties::QTSndSettings??CQTAudioSettings?????h?????????????????????????????? ?BSaved by Adobe Flash Windows 9.0 build 494 timecount = 1183406957keyTopicListener);

// Set the topic control in the correct location
this._x = 0;
this._y = 0;

// Set the size of the DIV or LAYER that contains the movie
if (_parent.gnNoResize!=1)
{
SetSize();
}
else
{
var strTemp = "javascript:RtLoaded()";
getURL(strTemp);
}

}

function OnTopicKeyDown()
{
var keyPressed = Key.getCode();
gTopicDialog.KeyPressed(keyPressed);
}

function GetMenuItems()
{
var nCount = 0;
gTopicList_array = new Array();
for (var i = 2; i < _parent.nItemCount; i+=2)
{
gTopicList_array[nCount] = new Object();
gTopicList_array[nCount].displayName_str = eval("_parent.arrVal"+i);
gTopicList_array[nCount].url_str = eval("_parent.arrVal"+(i+1));
nCount++;
}
}

function SetSize()
{
var menuWidth = 100;
var strTemp = "javascript:sizeRtCtrl(\""+gTopicDialog.userWindow_mc._width+"\",\""+gTopicDialog.userWindow_mc._height+"\")";
Stage.height = menuHeight;
Stage.width = menuWidth;
getURL(strTemp);
}

function GetTextFormatFromString(font_str) {
var text_fmt = new Object(); // create a new object instead of a TextFormat object because flash won't pass a textFormat object over LC

if (font_str != undefined) {
var font_array = font_str.split(" ");
for (value in font_array) {
var iColon = font_array[value].indexOf(":", 0);
var field_str = font_array[value].substr(0, iColon);
var value_str = font_array[value].substr(iColon + 1, font_array[value].length);
switch (field_str) {
case "font-family": text_fmt.font = value_str; break;
case "font-size": text_fmt.size = parseInt(value_str); break;
case "font-weight": text_fmt.bold = (value_str.toLowerCase() == "bold") ? true : false; break;
case "font-style": text_fmt.italic = (value_str.toLowerCase() == "italic") ? true : false; break;
case "font-color": text_fmt.color = SkinStringToRGB(value_str); break;
case "text-decoration": text_fmt.underline = (value_str.toLowerCase() == "underline") ? true : false; break;
}
}
}

return text_fmt;
}

function CheckStageSize()
{
if (Stage.height > 0 && !gbOpened)
{
this.onEnterFrame = undefined;
if (_parent.gsSkinSwf !=undefined && _parent.gsSkinSwf.length > 0)
{
gAbsHeight = Stage.height;
gAbsWidth = Stage.width;
Init();
}
}
}

function debug_alert(msg)
{
getURL("javascript:alert('"+msg+"')");
}

this.onEnterFrame = CheckStageSize;


#endinitclip????? ???Related Topics?????OO??????????????/U????Y5if (this.Fade)
{
_parent.bFade = true;
}

#initclip

function TopicListDialog(xPos,yPos,yOffset, bHtml)
{
this.bRelatedTopics = bHtml;
this._parent.window_mc._visible = false;
this._parent.highlight_mc._visible = false;
this._parent.textfield_mc._visible = false;
this._parent.icon_mc._visible = false;
this._parent.inputbg_mc._visible = false;

this.userWindow_mc = window_mc.duplicateMovieClip("theWindow"+_global.textNode.nCount,_global.textNode.nCount);
this.userWindow_mc._visible = false;
this.userWindow_mc.Owner = this;

this.arrowHeight = 15;
this.widthBuffer = 10;
this.marginTop = 5;

if (bHtml == undefined) {
bHtml = false;
}
_global.textNode.nCount++;

this.xPos = xPos;
this.yPos = yPos;
// Arrows
this.upArrow_mc = undefined;
this.downArrow_mc = undefined;

// Are the arrows Enabled
this.nArrows = 0;
// The Arrow Interval for scrolling
this.arrowInterval = undefined;

// Set the maximum width and height
this.maxWidth = Stage.width;
this.maxHeight = Stage.height - yOffset;
this.yOffset = yOffset;

if (this.bRelatedTopics)
{
this.maxHeight = gnTopicHeight;
}

// stores an array of internal textnodes
this.textNode_array = new Array;

// stores the textnode height
this.nodeHeight = 0;

// store the maximum textnode width
this.maxNodeWidth = 0;

// store the number of displayable items
this.displayItemCount = 0;

// the currently displayed top index
this.topIndex = 0;
this.lastIndex = 0;

// Current Alpha value
this.curAlpha = 0;

// Save the callback function once defined
this.pfnCallback = undefined;

// Selected node
this.nSelected = -1;

// create mouse listener
this.mouseListener = new Object;
this.mouseListener.onMouseDown = this.ClickOut;
this.mouseListener.Owner = this;
Mouse.addListener(this.mouseListener);
}

TopicListDialog.prototype.KeyPressed = function(keyCode)
{
switch(keyCode)
{
case 13:
{
if (this.nSelected == -1)
{
this.textNode_array[0].Select();
this.pfnCallBack(0);
this.nSelected = 0;
}
else
{
this.textNode_array[this.nSelected].Select();
this.pfnCallBack(this.nSelected);
this.nSelected = this.nSelected;
}
_parent.debug_trace("Enter");
break;
}
case 38:
{
if (this.nSelected == -1)
{
this.textNode_array[0].Select();
this.nSelected = 0;
}
else if (this.nSelected>this.topIndex)
{
this.textNode_array[this.nSelected].Unselect();
this.nSelected--;
this.textNode_array[this.nSelected].Select();
}
else if (this.topIndex>0)
{
this.textNode_array[this.nSelected].Unselect();
this.nSelected--;
this.textNode_array[this.nSelected].Select();
this.downArrow_mc._visible = true;
this.topIndex--;
this.UpdateDisplay(this.topIndex);
}
_parent.debug_trace("Up");
break;
}
case 40:
{
if (this.nSelected == -1)
{
this.textNode_array[0].Select();
this.nSelected = 0;
}
else if (this.nSelected<this.lastItem)
{
_parent.debug_trace("Move Down no Scroll");
this.textNode_array[this.nSelected].Unselect();
this.nSelected++;
this.textNode_array[this.nSelected].Select();
}
else if (this.lastItem<this.textNode_array.length-1)
{
this.textNode_array[this.nSelected].Unselect();
this.nSelected++;
this.textNode_array[this.nSelected].Select();
this.upArrow_mc._visible = true;
this.topIndex++;
this.UpdateDisplay(this.topIndex);
}
_parent.debug_trace("Down");
break;
}
case 37:
{
this.pfnCallBack(-1);
break;
}
}
}

TopicListDialog.prototype.ClickOut = function()
{
if (!this.Owner.userWindow_mc.hitTest(_root._xmouse,_root._ymouse,true))
{
_parent.debug_trace("ClickOut = "+ this.Owner.userWindow_mc._x);
this.Owner.pfnCallBack(-1);
}
}

TopicListDialog.prototype.DisplayTopicDialog = function(topicList_array,pfnCallBack)
{
this.userWindow_mc._visible = true;
this.pfnCallBack = pfnCallBack;
this.FillList(topicList_array,pfnCallBack);
if (bFade)
{
this.curAlpha = 0;
this.SetAlpha(this.curAlpha);
this.curAlpha+=10;
this.userWindow_mc.onEnterFrame = this.FadeIn;
}
}

TopicListDialog.prototype.FadeIn = function()
{
var theList = this.Owner;
if (theList.curAlpha>100)
{
this.onEnterFrame = undefined;
}
else
{
theList.SetAlpha(theList.curAlpha)
theList.curAlpha+=10;
}
}

TopicListDialog.prototype.FadeOut = function()
{
var theList = this.Owner;
if (theList.curAlpha<0)
{
this.onEnterFrame = undefined;
theList.Destroy();
}
else
{
theList.SetAlpha(theList.curAlpha)
theList.curAlpha-=10;
}
}

TopicListDialog.prototype.SetAlpha = function(newAlpha)
{
this.userWindow_mc._alpha = newAlpha;
var i = 0;
var curYPos = this.userWindow_mc._y + (this.arrowHeight*this.nArrows);
while (i < this.textNode_array.length && (curYPos + this.nodeHeight) <= (this.userWindow_mc._y + this.userWindow_mc._height - (this.arrowHeight*this.nArrows)))
{
this.textNode_array[i].userIcon_mc._alpha = newAlpha;
this.textNode_array[i].userHighlight_mc._alpha = newAlpha;
this.textNode_array[i].userTextField_mc._alpha = newAlpha;

curYPos += this.nodeHeight;
i++;
}


}

TopicListDialog.prototype.FillList = function(topicList_array,pfnCallBack)
{
var i = 0;
for (i = 0; i < topicList_array.length; i++)
{
this.textNode_array[i] = CreateNewObj(this.OnClick,i);
this.textNode_array[i].Owner = this;
this.textNode_array[i].SetText(topicList_array[i].displayName_str);
if (_parent.fhtooltip_comp)
{
_parent.fhtooltip_comp.AddTooltip(this.textNode_array[i].userTextField_mc, topicList_array[i].displayName_str);
}
var nodeWidth = this.textNode_array[i].GetWidth();
if (nodeWidth > this.maxNodeWidth)
{
this.maxNodeWidth = nodeWidth;
}
}
this.nodeHeight = this.textNode_array[0].GetHeight();
this.SizeWindow();
this.PositionWindow();
this.UpdateDisplay(this.topIndex);
}

TopicListDialog.prototype.OnClick = function(nIndex)
{
this.Owner.textNode_array[nIndex].Select();
this.Owner.pfnCallBack(nIndex);
}

TopicListDialog.prototype.SizeWindow = function()
{
var totalHeight = this.nodeHeight * this.textNode_array.length +this.marginTop;

this.userWindow_mc._width = this.maxNodeWidth+this.widthBuffer;


if (totalHeight > this.maxHeight)
{
this.displayItemCount = Math.floor((this.maxHeight - (this.arrowHeight*2))/this.nodeHeight);
totalHeight = (this.displayItemCount* this.nodeHeight)+ (this.arrowHeight*2)
this.userWindow_mc._height = totalHeight+1;
if (!this.bRelatedTopics) {
this.EnableArrows();
}
this.nArrows = 1;
}
else
{
this.displayItemCount = Math.floor(totalHeight/this.nodeHeight);
this.userWindow_mc._height = totalHeight+1;
}
}

TopicListDialog.prototype.PositionWindow = function()
{
if (!this.bRelatedTopics)
{
// Set X Position
var oldXPos = this.userWindow_mc._x;
this.userWindow_mc._x = this.xPos;
if (this.xPos+this.userWindow_mc._width > Stage.width)
{
this.userWindow_mc._x = Stage.width - this.userWindow_mc._width;
}
if (this.userWindow_mc._x < 0)
{
this.userWindow_mc._x = 0;
}
var deltaX = this.userWindow_mc._x - oldXPos;

// Set Y Position
var oldYPos = this.userWindow_mc._y;
this.userWindow_mc._y = this.yPos;
if (this.userWindow_mc._y + this.userWindow_mc._height > Stage.height - _parent.indexYPosition)
{
this.userWindow_mc._y = Stage.height - this.userWindow_mc._height - _parent.indexYPosition;
}

var deltaY = this.userWindow_mc._y - oldYPos;
if (this.nArrows>0)
{
this.upArrow_mc._x +=deltaX;
this.upArrow_mc._y +=deltaY;
this.downArrow_mc._x +=deltaX;
this.downArrow_mc._y +=deltaY;
}
}
else
{
// Center the related topic control in the middle of the stage
this.userWindow_mc._y = (gAbsHeight-this.userWindow_mc._height)/2;
this.userWindow_mc._x = (gAbsWidth-this.userWindow_mc._width)/2;
if (this.nArrows==1)
{
this.EnableArrows();
}
}

}

TopicListDialog.prototype.UpdateDisplay = function(nIndex)
{

var curYPos = this.userWindow_mc._y + (this.arrowHeight*this.nArrows);
if (this.nArrows == 0)
{
curYPos +=this.marginTop;
}
var i = nIndex;
if (this.lastIndex < nIndex)
{
this.textNode_array[this.lastIndex].MakeInvisible();
}
else
{
this.textNode_array[this.lastIndex+(this.displayItemCount-1) ].MakeInvisible();
}
while (i < this.textNode_array.length && (curYPos + this.nodeHeight) <= (this.userWindow_mc._y + this.userWindow_mc._height - (this.arrowHeight*this.nArrows)))
{
this.textNode_array[i].MoveTo(this.userWindow_mc._x + 5, curYPos);
var nodeWidth = this.textNode_array[i].GetWidth();
if (nodeWidth > this.maxNodeWidth)
{
newWidth = nodeWidth - this.maxNodeWidth;
this.textNode_array[i].userTextField_mc._width -= newWidth;
}

curYPos += this.nodeHeight;
this.textNode_array[i].SetState(true);
this.textNode_array[i].TransitionIn();
this.textNode_array[i].MakeVisible();
i++;
}
this.lastItem = i - 1;
this.lastIndex = nIndex;
}

TopicListDialog.prototype.EnableArrows = function()
{
this.DrawArrows();
this.CenterArrows();
}

TopicListDialog.prototype.DrawArrows = function()
{
// Create and draw up arrow
this.upArrow_mc = createEmptyMovieClip("UpArrow",1000000);
this.upArrow_mc.moveTo(3,8);
this.upArrow_mc.lineStyle(2,0x555555,100);
this.upArrow_mc.lineTo(8,3);
this.upArrow_mc.lineTo(13,8);
this.upArrow_mc.lineStyle(1,0x555555,0);
this.upArrow_mc.moveTo(0,0);
this.upArrow_mc.beginFill(0x000000,0);
this.upArrow_mc.lineTo(0,10);
this.upArrow_mc.lineTo(15,10);
this.upArrow_mc.lineTo(15,0);
this.upArrow_mc.lineTo(0,0);
this.upArrow_mc.endFill();

this.upArrow_mc.onPress = this.UpArrowPressed;
this.upArrow_mc.onRelease = this.UpArrowReleased;
this.upArrow_mc.Owner = this;
this.upArrow_mc._visible = false;

// Create and draw down arrow
this.downArrow_mc = createEmptyMovieClip("DownArrow",1000001);
this.downArrow_mc.moveTo(3,3);
this.downArrow_mc.lineStyle(2,0x555555,100);
this.downArrow_mc.lineTo(8,8);
this.downArrow_mc.lineTo(13,3);
this.downArrow_mc.lineStyle(1,0x555555,0);
this.downArrow_mc.moveTo(0,0);
this.downArrow_mc.beginFill(0x000000,0);
this.downArrow_mc.lineTo(0,10);
this.downArrow_mc.lineTo(15,10);
this.downArrow_mc.lineTo(15,0);
this.downArrow_mc.lineTo(0,0);
this.downArrow_mc.endFill();
this.downArrow_mc.moveTo(0,100);

this.downArrow_mc.onPress = this.DownArrowPressed;
this.downArrow_mc.onRelease = this.DownArrowReleased;
this.downArrow_mc.Owner = this;

}

TopicListDialog.prototype.UpArrowPressed = function()
{
this.Owner.downArrow_mc._visible = true;
this.Owner.topIndex--;
this.Owner.UpdateDisplay(this.Owner.topIndex);
if (this.Owner.topIndex > 0)
{
this.Owner.arrowInterval = setInterval(this.Owner.UpArrowDown,300,this.Owner);
}
else
{
this.Owner.upArrow_mc._visible = false;
}
}

TopicListDialog.prototype.UpArrowDown = function(theList)
{
theList.topIndex--;
theList.UpdateDisplay(theList.topIndex);
clearInterval(theList.arrowInterval);
theList.arrowInterval = setInterval(theList.UpArrowDown,75,theList);
if (theList.topIndex == 0)
{
theList.upArrow_mc._visible = false;
clearInterval(theList.arrowInterval);
}
}

TopicListDialog.prototype.UpArrowReleased = function()
{
clearInterval(this.Owner.arrowInterval);
}

TopicListDialog.prototype.DownArrowPressed = function()
{
this.Owner.upArrow_mc._visible = true;
this.Owner.topIndex++;
this.Owner.UpdateDisplay(this.Owner.topIndex);

if (this.Owner.topIndex < this.Owner.textNode_array.length-this.Owner.displayItemCount)
{
this.Owner.arrowInterval = setInterval(this.Owner.DownArrowDown,300,this.Owner);
}
else
{
this._visible=false;
}
}

TopicListDialog.prototype.DownArrowDown = function(theList)
{
theList.topIndex++;
theList.UpdateDisplay(theList.topIndex);
clearInterval(theList.arrowInterval);
theList.arrowInterval = setInterval(theList.DownArrowDown,75,theList);

if (theList.topIndex == theList.textNode_array.length-theList.displayItemCount)
{
theList.downArrow_mc._visible = false;
clearInterval(theList.arrowInterval);
}
}

TopicListDialog.prototype.DownArrowReleased = function()
{
clearInterval(this.Owner.arrowInterval);
}


TopicListDialog.prototype.CenterArrows = function()
{
// Position Up Arrow
this.upArrow_mc._y = this.userWindow_mc._y;
this.upArrow_mc._x = this.userWindow_mc._x + (this.userWindow_mc._width - this.upArrow_mc._width)/2;
// Position Down Arrow
this.downArrow_mc._y = (this.userWindow_mc._y + this.userWindow_mc._height) - this.downArrow_mc._height-2;
this.downArrow_mc._x = this.upArrow_mc._x;

}

TopicListDialog.prototype.Close = function()
{
if (bFade)
{
this.curAlpha = 90;
this.userWindow_mc.onEnterFrame = this.FadeOut;
}
else
{
this.Destroy();
}
}
TopicListDialog.prototype.Destroy = function()
{
var i = 0;
for (i = 0; i < this.textNode_array.length; i++)
{
this.textNode_array[i].DestroyNode();
delete this.textNode_array[i];
}
delete this.textNode_array;
this.upArrow_mc.removeMovieClip();
delete this.upArrow_mc;
this.downArrow_mc.removeMovieClip();
delete this.downArrow_mc;
this.userWindow_mc.removeMovieClip();
this.userWindow_mc.Owner = undefined;
delete this.userWindow_mc;
Mouse.removeListener(this.mouseListener);
delete this.xPos;
delete this.yPos;
delete this.nArrows;
delete this.arrowInterval;
delete this.maxWidth;
delete this.maxHeight;
delete this.yOffset;
delete this.nodeHeight;
delete this.maxNodeWidth;
delete this.displayItemCount;
delete this.topIndex;
delete this.lastIndex;
delete this.curAlpha;
_parent.bTopicDialogOpen = false;
}

Object.registerClass("TopicList_Obj", TopicListDialog);

#endinitclip
????? ???Layer 1????O?????T:
Use the labeled frames to control the various states of the textnode's highlight.

in: This plays when the textnode is highlighted. It transitions the highlight in.

visible: This is the last frame of the "in" sequence. It is used to optimize speed when displaying textnodes in some situations.

out: This plays when the textnode is unselected. It transitions the highlight out.????????????????????_???????? ???Hint?????3??????
CPicSymbold?(d?????
???????????D_??????? ??????P????
??
??????????8??????? ?d?(d?????
???????????]I???????? ??? Highlight????O??????????????????????????
?????????-???stop();???????????????qA???stop();????? ???Actions????O?O??????????????inG??????????????????visible?@?????????
?????????out?y???????? ???Labels?????OO?????CPicPage?? CPicLayer?? CPicFrame??
CPicSymboldxdx??????????????????N&???????? ???Layer 1????O???????CPicPage?? CPicLayer?? CPicFrame??CPicText??
((????? ?_sans?(textfield label??? label_txt?????????????????EO???????? ???Layer 1????O???????CPicPage?? CPicLayer?? CPicFrame??CPicText??
??????.-
C??? ?_sans?(HINT:
Use the labeled frames to control the various states of the textnode.

visible: This is the first frame in the sequence. This displays the text in its "normal"state.

selected: This allows you to change the look of the textnode in the selected state. Textnodes become selected when the user clicks them. Typical use of this section is to apply (and transition in) a tint effect to label_mc.

unselected: When another node becomes selected, the current node becomes unselected. Typically use of this section0 ?_sans?( is to unapply tint (set it back to color=none).???????????
?????????+???????? ???Hint?????3??????
CPicSprited????x}??????label_mc????<component metaDataFetched='true' schemaUrl='' schemaOperation='' sceneRootLabel='Scene 1' oldCopiedComponentPath='6.1'>
</component>
??
?????????~u???????? ???Label????O?????????????????|??????????????????*???stop();???????????????`???stop();????? ???Actions????O?O??????????????visible??????????????????selected?1??????????????????
unselected?{???????? ???Labels?????OO?????CPicPage?? CPicLayer?? CPicFrame???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????0?0@0@???????????u???????? ???Layer 1????O???????CPicPage?? CPicLayer?? CPicFrame??????????0` 0@0????????????t???????? ???Layer 1????O???????CPicPage?? CPicLayer?? CPicFrame?? CPicShape??F???j??????s??X?0??0?0X??????????????????? ???Layer 1????O???????CPicPage?? CPicLayer?? CPicFrame??
CPicBitmap??t???j?????????????? Q???????? ???Layer 1????O???????CPicPage?? CPicLayer?? CPicFrame??CPicText??
??4?!??? ?_sans?(HINT:

inputbg_mc: This movie clip is displayed behind the input field (separate swf). It stretches at runtime.

window_mc: This movie clip is used as the background of the popup menu, which displays in the index when a keyword is associated with multiple destinations (it displays a list of topics associated with the index entry). It will stretch at runtime to fit <n> number of text nodes at runtime.

textfield_mc: Text field displayed on the popup window window_mc. One of these is used for each item displa ?_sans?(yed in the window at runtime. Use the labeled frames to determine the look of the text at the various states. The structure of this movie clip is:
textfield_mc (this movie clip contains the timeline with labeled frames)
label_mc (this movie clip is just a container for the label.)
label_txt (this textfield is populated with text at runtime)

highlight_mc: Textfield highlight. This is used to highlight the text nodes displayed in the popup window. The node will highlight when clicked.
$ ?_sans?(
fhtextnode_comp: Text Node component, required for proper behavior at runtime.

fhgeneric_comp: Index component, required for proper behavior at runtime.

[Optional]
icon_mc: Icon to display with text node. This appears to the left of the text in the popup window, like a "bullet" in a list.????????????????????Ed???????? ???Hint?????O??????
CPicSprite??????????d?????O??????fhgeneric_comp???Fade???true???K0????F???@brh???????<component metaDataFetched='true' schemaUrl='' schemaOperation='' sceneRootLabel='Scene 1' oldCopiedComponentPath='1'>
</component>
?????w????wd?????Y??????fhtextnode_comp???Label??? defaultValue?????g L?I???????????????<component metaDataFetched='true' schemaUrl='' schemaOperation='' sceneRootLabel='Scene 1' oldCopiedComponentPath='2'>
</component>
??????????? <???????? ???
Components????O????? ?? ? ?P????=?????? window_mc????<component metaDataFetched='true' schemaUrl='' schemaOperation='' sceneRootLabel='Scene 1' oldCopiedComponentPath='3'>
</component>
????????????o???????? ??? Popup Window?????3???? ?1
1
d???? ?????? highlight_mc????<component metaDataFetched='true' schemaUrl='' schemaOperation='' sceneRootLabel='Scene 1' oldCopiedComponentPath='4'>
</component>
???????????[F???????? ???TextNode Highlight????O????? ??
?
d?????k??????icon_mc????<component metaDataFetched='true' schemaUrl='' schemaOperation='' sceneRootLabel='Scene 1' oldCopiedComponentPath='5'>
</component>
???????????DH???????? ???
TextNode Icon?????OO??? ?1
1
d???????????? textfield_mc????<component metaDataFetched='true' schemaUrl='' schemaOperation='' sceneRootLabel='Scene 1' oldCopiedComponentPath='6'>
</component>
???????????S%???????? ???TextNode Label????O?O??? ?d?????O??????
inputbg_mc????<component metaDataFetched='true' schemaUrl='' schemaOperation='' sceneRootLabel='Scene 1' oldCopiedComponentPath='7'>
</component>
??????????????????? ???Input Background??????O???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
CDocumentPagePage 1???Scene 1???C8?>???????????????????????i???????????????????????????????????????????????????????????????? Symbol 22???Icon???+??>_??>??????????????? Symbol 22???????XZ?F??????????????????????????????????????????????????????????????? Symbol 10???hilite
???+??>??>6??????????????? Symbol 10???????!??>???????????????????????????????????????????????????????????????Symbol 8???InputBackground???"??>
8??>???????????????Symbol 8????????Y?F???????????????????????????????????????????????????????????????Symbol 1???window???"??>
???>;????????????..\wf_indexui.fla???window???>???>;???Z?F???????????????????????????????????????????????????????????????Symbol 2??? TextField???"??>
0??>A????????????..\wf_indexui.fla??? TextField?8?>0??>A???2?????????????????????????????????????????????????????????????????Symbol 3???Label???"??>
I??>C????????????..\wf_indexui.fla???Label?8?>I??>C??????>???????????????????????????????????????????????????????????????Symbol 4???Icon???"??>
W??>=????????????..\wf_indexui.fla???IconW??>W??>=???f??>???????????????????????????????????????????????????????????????Symbol 5??? Highlight???"??>
??>E????????????..\wf_indexui.fla??? Highlight??>??>E????????????????????????????????????????????????????????????????????? Symbol 25???Generic FH Index Component????N?>'???
TopicList_Obj???flashhelp_components.swf??????7..\..\..\..\..\FlashComponents\flashhelp_components.fla???Generic FH Index Component?rN??N?>'????rN??????????Fade???true???K0????F???@brh??????????????????????????????????????????????Fade???true???K0????F???@brh???????????????????? Symbol 26???Generic FH Textnode Component????N?>7???FGenericFHTextNode???flashhelp_components.swf??????7..\..\..\..\..\FlashComponents\flashhelp_components.fla???Generic FH Textnode ComponentG:,??N?>7???G:,??????????Label??? defaultValue?????g L?I??????????????????????????????????????????????????????Label??? defaultValue?????g L?I?????????????????????????????
CMediaBitsM 1 1183406672???navPane_page.png???`..\..\..\..\..\_projects\RoboHelpSkins\production\Beautiful Vistas\Flash\images\navPane_page.png?.?FPZ?F6??????????????????????2pph?hhhh???????? ????Vector::Template???0???legacyLineSpacing???0???PropSheet::ActiveTab???1599|??? PublishRNWKProperties::speed256K???0???!PublishGifProperties::PaletteName??????"PublishHtmlProperties::StartPaused???0???%PublishFormatProperties::htmlFileName???skin_index.html??? PublishQTProperties::LayerOption?????? PublishQTProperties::AlphaOption??????"PublishQTProperties::MatchMovieDim???1???PublishHtmlProperties::Loop???1???Vector::Debugging Permitted???0???PublishFormatProperties::jpeg???0???PublishProfileProperties::name???Flash CS3 Settings???&PublishRNWKProperties::speedSingleISDN???0???&PublishRNWKProperties::singleRateAudio???0???PublishQTProperties::Width???300???$PublishPNGProperties::OptimizeColors???1???PublishHtmlProperties::Units???0???%PublishRNWKProperties::mediaCopyright???(c) 2000???#PublishRNWKProperties::flashBitRate???1200???PublishGifProperties::Smooth???1???Vector::Compress Movie???1???&PublishFormatProperties::flashFileName???skin_index.swf???%PublishFormatProperties::projectorMac???0???!PublishRNWKProperties::exportSMIL???1??? PublishRNWKProperties::speed384K???0???"PublishRNWKProperties::exportAudio???1???"PublishGifProperties::DitherOption??????PublishHtmlProperties::Quality???4???(PublishHtmlProperties::VerticalAlignment???1???$PublishFormatProperties::pngFileName???skin_index.png???PublishFormatProperties::html???0???'PublishRNWKProperties::mediaDescription??????"PublishPNGProperties::FilterOption??????!PublishHtmlProperties::DeviceFont???0???Vector::Override Sounds???0???PublishQTProperties::Flatten???1???PublishJpegProperties::DPI???4718592???PublishPNGProperties::BitDepth???24-bit with Alpha???PublishPNGProperties::Smooth???1???"PublishGifProperties::DitherSolids???0???PublishGifProperties::Interlace???0???"PublishHtmlProperties::DisplayMenu???1???*PublishHtmlProperties::HorizontalAlignment???1???Vector::Quality???80???Vector::Protect???0???*PublishFormatProperties::generatorFileName???skin_index.swt???PublishFormatProperties::gif???0???$PublishRNWKProperties::mediaKeywords??????!PublishRNWKProperties::mediaTitle??????PublishRNWKProperties::speed28K???1???PublishGifProperties::Loop???1???PublishGifProperties::Width???300???#PublishFormatProperties::qtFileName???skin_index.mov???$PublishRNWKProperties::speedDualISDN???0???$PublishRNWKProperties::realVideoRate???100000???PublishJpegProperties::Quality???80???"PublishPNGProperties::DitherOption??????#PublishGifProperties::PaletteOption??????#PublishGifProperties::MatchMovieDim???1???PublishFormatProperties::flash???1???$PublishJpegProperties::MatchMovieDim???1???#PublishPNGProperties::PaletteOption??????#PublishPNGProperties::MatchMovieDim???1???PublishHtmlProperties::Align???0???-PublishFormatProperties::projectorWinFileName???skin_index.exe???#PublishQTProperties::PlayEveryFrame???0???"PublishJpegProperties::Progressive???0???"PublishPNGProperties::DitherSolids???0???PublishHtmlProperties::Height???300???PublishHtmlProperties::Width???300???Vector::Debugging Password??????Vector::Omit Trace Actions???0???%PublishFormatProperties::jpegFileName???skin_index.jpg???PublishJpegProperties::Size???0???PublishPNGProperties::Interlace???0???PublishGifProperties::Height???300???'PublishHtmlProperties::TemplateFileName???eC:\Documents and Settings\edigre\Application Data\Macromedia\Flash MX\Configuration\Html\Default.html???!PublishHtmlProperties::WindowMode???0???Vector::TopDown???0???-PublishFormatProperties::projectorMacFileName???skin_index.hqx???PublishFormatProperties::rnwk???0???PublishFormatProperties::png???0???Vector::AS3AutoDeclare???0???PublishRNWKProperties::speed56K???1???PublishQTProperties::Height???300???%PublishPNGProperties::RemoveGradients???0???PublishGifProperties::MaxColors???255???'PublishGifProperties::TransparentOption??????PublishGifProperties::LoopCount??????Vector::Report???0???"PublishFormatProperties::generator???0???"PublishRNWKProperties::audioFormat???0???$PublishGifProperties::OptimizeColors???1???Vector::Version???6???Vector::Event Format???0???Vector::Stream Compress???7???PublishFormatProperties::qt???0???Vector::AS3Strict???0??? PublishRNWKProperties::speed512K???0???PublishJpegProperties::Height???300???PublishPNGProperties::Height???300???PublishPNGProperties::Width???300???%PublishGifProperties::RemoveGradients???0???PublishHtmlProperties::Scale???0???Vector::Event Compress???7???Vector::ActionScriptVersion???1???"PublishRNWKProperties::mediaAuthor??????(PublishRNWKProperties::speedCorporateLAN???0???&PublishRNWKProperties::showBitrateDlog???1???"PublishRNWKProperties::exportFlash???1???PublishQTProperties::Looping???0???*PublishQTProperties::UseQTSoundCompression???0???PublishJpegProperties::Width???300???!PublishPNGProperties::PaletteName??????!PublishPNGProperties::Transparent???0???&PublishGifProperties::TransparentAlpha???128???PublishGifProperties::Animated???0???Vector::Stream Format???0???$PublishFormatProperties::gifFileName???skin_index.gif???"PublishQTProperties::PausedAtStart???0???%PublishQTProperties::ControllerOption???0???PublishPNGProperties::MaxColors???255???%PublishFormatProperties::rnwkFileName???skin_index.smil???%PublishFormatProperties::projectorWin???0???%PublishFormatProperties::defaultNames???1????????????? CColorDef??????3?P??f?P?0???P?H???P?`???P?x?3???33?(??3f?<?0?3??C?H?3??F?`?3??H?x?f??0?f3??0?ff?(?0?f??5?H?f??<?`?f??@?x???333?0???3????33?x??f3?d?0??3?]?H??3?Z?`??3?X?x?33????333?0?3f3?PPH?3?3?Px`?3?3?P?x?3?3?P???f3???0?f33?PH?ff3?(PH?f?3?<x`?f?3?C?x?f?3?F?????fff?`???f???0?3f???0?ff?x?0??f?k?H??f?d?`??f?`?x?3f???0?33f??PH?3ff?xPH?3?f?dx`?3?f?]?x?3?f?Z???ff???0?f3f??PH?fff?`?f?f?P0x?f?f?Px??f?f?P?????????????????H?3????H?f????H????x?H???n?`????h?x?3????H?33???x`?3f???x`?3???xx`?3??k?x?3???d???f????H?f3???x`?ff???0x?f???x0x?f??dx??f???]?????????????????`?3????`?f????`??????`????x?`????p?x?3????`?33????x?3f????x?3?????x?3???x?x?3???n???f????`?f3????x?ff???x??f????x??f???xx??f???k?????????????????x?3????x?f????x??????x??????x????x?x?3????x?33??????3f??????3???????3???????3???x???f????x?f3??????ff??????f???????f???????f???x????????x??????H??3?
?H??f??H????(?H????2?`????8?x????`??3?
?`??f??`????`????(?`????0?x????x??3??x??f??x?????x???? ?x????(?x?????P?x????3???H??33?x`??f3?x`???3?(x`???3?5?x???3?<????3???`??33??x??f3?
?x??3??x???3?(?x???3?2????3???x??33?????f3?
?????3??????3??????3?(?????????x????f???H??3f??x`??ff?0x???f?(0x???f?<x????f?C????f???`??3f???x??ff?x???f?x????f?(x????f?5????f???x??3f??????ff??????f?
?????f??????f?(????????(?x????????H??3???x`??f???0x??????????PP??????P????????`??3????x??f???x?????P?????(P??????<????????x??3???????f???????????????????????(????????x?x????????`??3????x??f???x???????P??????xP??????d????????`??3????x??f???x??????P????????????P????????x??3???????f?????????????????????????(??????????x????????x??3???????f??????????????????????????x????????x??3???????f?????????????????????????x????????x??3???????f?????????????????????????????????????????????????????????????????f??`????z??????f??????????????*???]???????????????+c?????
MovieClips"??>
?????????????????????????Placeholder Graphics+??>?????????????????????????"PublishQTProperties::QTSndSettings??CQTAudioSettings?????h?????????????????????????????? ?BSaved by Adobe Flash Windows 9.0 build 494 timecount = 1185895673