Frame 1
_root.soundOnButton._visible = false;
Instance of Symbol 519 MovieClip "instructions" in Frame 1
on (press) {
_root.gameArea.instructionsClicked();
}
Symbol 196 MovieClip Frame 1
stop();
Symbol 214 MovieClip [Piece] Frame 1
#initclip 64
Object.registerClass("Piece", com.king.backgammon.Piece);
#endinitclip
stop();
Symbol 221 MovieClip [InfoBubble] Frame 1
#initclip 57
Object.registerClass("InfoBubble", com.king.backgammon.InfoBubble);
#endinitclip
Symbol 346 MovieClip [Die] Frame 1
#initclip 58
Object.registerClass("Die", com.king.backgammon.AnimatedDie);
#endinitclip
Symbol 351 MovieClip [cup] Frame 1
#initclip 59
Object.registerClass("cup", com.king.backgammon.Cup);
#endinitclip
Symbol 357 MovieClip [ChatScrollbar] Frame 1
#initclip 60
Object.registerClass("ChatScrollbar", com.king.backgammon.ChatScrollbar);
#endinitclip
Symbol 367 MovieClip [Timer] Frame 1
#initclip 61
Object.registerClass("Timer", com.king.backgammon.TurnTimer);
#endinitclip
Symbol 382 MovieClip [DoubleDice] Frame 1
#initclip 62
Object.registerClass("DoubleDice", com.king.backgammon.DoubleDie);
#endinitclip
Instance of Symbol 395 MovieClip "endTurnButton" in Symbol 408 MovieClip Frame 1
on (press) {
if (_alpha == 100) {
_parent._parent.endTurnPressed();
}
}
Instance of Symbol 397 MovieClip "undoButton" in Symbol 408 MovieClip Frame 1
on (press) {
if (_alpha == 100) {
_parent._parent.undoPressed();
}
}
Symbol 426 MovieClip Frame 1
stop();
Symbol 430 MovieClip [GameArea] Frame 1
#initclip 63
Object.registerClass("GameArea", com.king.backgammon.GameArea);
#endinitclip
Instance of Symbol 346 MovieClip [Die] "die0" in Symbol 430 MovieClip [GameArea] Frame 1
on (press) {
_parent.dicePressed();
}
Instance of Symbol 346 MovieClip [Die] "die1" in Symbol 430 MovieClip [GameArea] Frame 1
on (press) {
_parent.dicePressed();
}
Symbol 436 MovieClip [Defaults] Frame 1
#initclip 46
Object.registerClass("Defaults", mx.skins.halo.Defaults);
#endinitclip
Symbol 437 MovieClip [UIObjectExtensions] Frame 1
#initclip 47
Object.registerClass("UIObjectExtensions", mx.core.ext.UIObjectExtensions);
#endinitclip
Symbol 438 MovieClip [UIObject] Frame 1
#initclip 48
Object.registerClass("UIObject", mx.core.UIObject);
#endinitclip
stop();
Symbol 439 MovieClip [Border] Frame 1
#initclip 49
Object.registerClass("Border", mx.skins.Border);
#endinitclip
stop();
Symbol 440 MovieClip [RectBorder] Frame 1
#initclip 50
mx.skins.SkinElement.registerElement(mx.skins.RectBorder.symbolName, Object(mx.skins.RectBorder));
Object.registerClass("RectBorder", mx.skins.halo.RectBorder);
#endinitclip
stop();
Symbol 443 Button
on (keyPress "<Tab>") {
this.tabHandler();
}
Symbol 444 MovieClip Frame 1
#initclip 51
Object.registerClass("FocusManager", mx.managers.FocusManager);
if (_root.focusManager == undefined) {
_root.createClassObject(mx.managers.FocusManager, "focusManager", mx.managers.DepthManager.highestDepth--);
}
#endinitclip
Symbol 447 MovieClip [FocusRect] Frame 1
#initclip 52
Object.registerClass("FocusRect", mx.skins.halo.FocusRect);
#endinitclip
Symbol 448 MovieClip [FocusManager] Frame 1
#initclip 53
Object.registerClass("FocusManager", mx.managers.FocusManager);
#endinitclip
stop();
Symbol 449 MovieClip [UIComponentExtensions] Frame 1
#initclip 54
Object.registerClass("UIComponentExtensions", mx.core.ext.UIComponentExtensions);
#endinitclip
Symbol 450 MovieClip [UIComponent] Frame 1
#initclip 55
Object.registerClass("UIComponent", mx.core.UIComponent);
#endinitclip
stop();
Symbol 451 MovieClip [TextInput] Frame 1
#initclip 56
Object.registerClass("TextInput", mx.controls.TextInput);
#endinitclip
stop();
Symbol 479 Button
on (press) {
_root.gameArea.surrenderPressed();
}
Symbol 484 Button
on (press) {
_root.soundOnButton._visible = false;
_root.soundOffButton._visible = true;
util.Sounds.toggleSound();
_root.soundText = _global.textMappings.sound_on;
}
Symbol 487 Button
on (press) {
_root.soundOnButton._visible = true;
_root.soundOffButton._visible = false;
util.Sounds.toggleSound();
_root.soundText = _global.textMappings.sound_off;
}
Symbol 508 Button
on (press) {
if (myId >= 0) {
_root.gameArea.popupButtonPressed(myId);
}
}
Symbol 509 MovieClip Frame 1
function init(buttonText, id) {
if (buttonText == undefined) {
_visible = false;
return(undefined);
}
_visible = true;
this.buttonText = buttonText;
this.myId = id;
button.myId = id;
}
var buttonText = "!!!";
var myId = -999;
Symbol 521 MovieClip [__Packages.util.Sounds] Frame 0
class util.Sounds
{
static var globalSound;
var soundMc, sound;
function Sounds (ownerMc, soundName) {
var _local2 = ownerMc.getNextHighestDepth();
soundMc = ownerMc.createEmptyMovieClip("soundMcc" + _local2, _local2);
sound = new Sound(soundMc);
sound.attachSound(soundName);
}
static function get(resourceName) {
var _local2 = soundMap[resourceName];
if ((_local2 == undefined) || (_local2 == null)) {
_local2 = new util.Sounds(_root, resourceName);
soundMap[resourceName] = _local2;
}
return(_local2);
}
static function toggleSound() {
if (globalSound == undefined) {
globalSound = new Sound(_root);
}
soundOn = !soundOn;
globalSound.setVolume((soundOn ? 100 : 0));
}
function setVolume(volume) {
sound.setVolume(volume);
}
function playLooping() {
sound.start(0, 9999999);
}
function stopAndPlayOffs(offs) {
sound.stop();
sound.start(offs, 0);
}
function stopAndPlay() {
sound.stop();
sound.start(0);
}
function playOffs(offs) {
sound.start(offs, 0);
}
function play(volume) {
sound.start(0);
if (volume != undefined) {
setVolume(volume);
}
}
function stop() {
sound.stop();
}
static var soundMap = new Object();
static var soundOn = true;
}
Symbol 522 MovieClip [__Packages.com.king.backgammon.InfoBubble] Frame 0
class com.king.backgammon.InfoBubble extends MovieClip
{
var orgMsgY, msg, _visible, showing, _x, _y, onEnterFrame, _xscale, _yscale;
function InfoBubble () {
super();
orgMsgY = msg._y;
_visible = false;
showing = false;
}
function show(x, y, text) {
showing = true;
_x = x;
_y = y;
animStartTime = getTimer();
onEnterFrame = showAnim;
_xscale = (_yscale = 0);
msg.text = text;
_visible = true;
var _local2 = (msg._height - msg.textHeight) / 2;
msg._y = (orgMsgY + ((msg._height - msg.textHeight) / 2)) - 2;
}
function showAnim() {
var _local2 = (getTimer() - animStartTime) / 500;
if (_local2 > 1) {
_local2 = 1;
}
_xscale = (_yscale = _local2 * 100);
if (_local2 == 1) {
onEnterFrame = undefined;
}
}
function hide() {
if (showing) {
animStartTime = getTimer();
onEnterFrame = hideAnim;
showing = false;
}
}
function hideAnim() {
var _local2 = (getTimer() - animStartTime) / 500;
if (_local2 > 1) {
_local2 = 1;
}
_xscale = (_yscale = (1 - _local2) * 100);
if (_local2 == 1) {
onEnterFrame = undefined;
_visible = false;
}
}
var animStartTime = -1;
}
Symbol 523 MovieClip [__Packages.com.king.backgammon.AnimatedDie] Frame 0
class com.king.backgammon.AnimatedDie extends MovieClip
{
var xi, x, yi, y, zi, z, rolling, stopped, xa, ya, za, landTime, targetValue, dir, onPress, useHandCursor, _x, _y, shadow, die;
function AnimatedDie () {
super();
xi = new util.timing.IFloat(x);
yi = new util.timing.IFloat(y);
zi = new util.timing.IFloat(z);
rolling = false;
stopped = true;
}
function roll(val, xSource, ySource) {
x = (((Math.random() * 16) - 16) + xSource) - 8;
y = (((Math.random() * 16) - 8) + ySource) + 9;
z = (Math.random() * 10) + 20;
xa = ((-Math.random()) * 10) - 10;
ya = (Math.random() * 6) - 3;
za = (Math.random() * 5) - 2;
xi.set(x);
yi.set(y);
zi.set(z);
xi.set(x);
yi.set(y);
zi.set(z);
landTime = -1;
targetValue = val;
dir = 0;
rolling = true;
stopped = false;
}
function tick() {
if (stopped) {
xi.set(x);
yi.set(y);
zi.set(z);
landTime = 9;
} else if (!rolling) {
xi.set(x);
yi.set(y);
zi.set(z);
landTime = 9;
} else {
x = x + xa;
y = y + ya;
z = z + za;
if ((landTime >= 0) && (landTime < 9)) {
landTime++;
xa = xa * 0.8;
ya = ya * 0.8;
}
if (xa > 0.01) {
dir = 1;
}
if (xa < -0.01) {
dir = 0;
}
if (z <= 0) {
z = 0;
if (za < -2) {
util.Sounds.get("diceSound" + int(Math.random() * 4)).play(((-za) - 1) * 5);
}
if ((za > -3) && (landTime < 0)) {
landTime = 0;
} else if (za > -1) {
xa = (ya = (za = 0));
stopped = true;
x = int(x);
y = int(y);
if (landTime == 9) {
rolling = false;
}
} else {
za = (-za) * 0.5;
}
xa = xa * 0.8;
ya = ya * 0.8;
if ((((xa * xa) + (ya * ya)) + (za * za)) < 0.1) {
stopped = true;
xa = 0;
ya = 0;
za = 0;
}
} else {
za = za - 0.8;
}
if ((x < 356) && (xa < 0)) {
util.Sounds.get("diceWallSound").play((-xa) * 5);
x = 356;
xa = (-xa) * 0.4;
}
if ((x > (520 + ((y - 220) / 4))) && (xa > 0)) {
x = 520 + ((y - 220) / 4);
xa = (-xa) * 0.8;
}
if ((y < 212) && (ya < 0)) {
y = 212;
ya = (-ya) * 0.8;
}
if ((y > 276) && (ya > 0)) {
y = 276;
ya = (-ya) * 0.8;
}
xi.set(x);
yi.set(y);
zi.set(z);
}
if (x < 356) {
x = 356;
xi.set(x);
}
if (x > (520 + ((y - 220) / 4))) {
x = 520 + ((y - 220) / 4);
xi.set(x);
}
if (y < 212) {
y = 212;
yi.set(y);
}
if (y > 276) {
y = 276;
yi.set(y);
}
}
function setActive(active) {
if (active) {
onPress = doOnPress;
useHandCursor = true;
} else {
onPress = undefined;
useHandCursor = false;
}
}
function doOnPress() {
_root.gameArea.dicePressed();
}
function moveTo(x, y) {
this.x = x;
this.y = y;
z = 0;
}
function collide(die) {
var _local12 = 17;
var _local3 = x - die.x;
var _local4 = y - die.y;
var _local6 = z - die.z;
var _local14 = ((_local3 * _local3) + (_local4 * _local4)) + (_local6 * _local6);
if (_local14 < (_local12 * _local12)) {
if (rolling && (die.rolling)) {
util.Sounds.get("diceCollideSound" + int(Math.random() * 3)).play();
}
var _local10 = Math.sqrt(_local14);
var _local5 = ((_local12 - _local10) / 2) + 0.1;
_local3 = _local3 / _local10;
_local4 = _local4 / _local10;
_local6 = _local6 / _local10;
x = x + (_local3 * _local5);
y = y + (_local4 * _local5);
z = z + (_local6 * _local5);
die.x = die.x - (_local3 * _local5);
die.y = die.y - (_local4 * _local5);
die.z = die.z - (_local6 * _local5);
var _local8 = (xa + die.xa) / 2;
var _local9 = (ya + die.ya) / 2;
var _local13 = (xa - _local8) - (die.xa - _local8);
var _local15 = (ya - _local9) - (die.ya - _local9);
var _local7 = (Math.sqrt((_local13 * _local13) + (_local15 * _local15)) / 2) * 0.8;
var _local11 = Math.atan2(_local3, _local4);
xa = (Math.sin(_local11) * _local7) + _local8;
ya = (Math.cos(_local11) * _local7) + _local9;
die.xa = ((-Math.sin(_local11)) * _local7) + _local8;
die.ya = ((-Math.cos(_local11)) * _local7) + _local9;
}
}
function render(alpha) {
_x = xi.get(alpha);
_y = yi.get(alpha) - zi.get(alpha);
shadow._x = -7 - (zi.get(alpha) / 4);
shadow._y = 8 + zi.get(alpha);
shadow._alpha = 100 - (zi.get(alpha) * 4);
die._xscale = 100 - (dir * 200);
die._x = 2 + (dir * 24);
if (landTime >= 0) {
die.gotoAndStop((landTime + 1) + ((targetValue - 1) * 10));
} else {
die.gotoAndStop(int(Math.random() * 60) + 1);
}
}
}
Symbol 524 MovieClip [__Packages.util.timing.IFloat] Frame 0
class util.timing.IFloat
{
var value, lastValue;
function IFloat (initial) {
if (initial == undefined) {
initial = 0;
}
value = initial;
lastValue = initial;
}
function resetTo(initial) {
value = initial;
lastValue = initial;
}
function set(newValue) {
lastValue = value;
value = newValue;
}
function get(alpha) {
return(lastValue + ((value - lastValue) * alpha));
}
}
Symbol 525 MovieClip [__Packages.com.king.backgammon.Cup] Frame 0
class com.king.backgammon.Cup extends MovieClip
{
var lean, xStart, _x, yStart, _y, gotoAndStop, cupMask, _parent, _rotation, _visible;
function Cup () {
super();
lean = new util.timing.IFloat();
xStart = _x;
yStart = _y;
gotoAndStop(1);
cupMask = _parent.cupMask;
cupMask.gotoAndStop(1);
}
function onPress() {
if (shouldDragMode && (releaseDiceAnimTime == 0)) {
dragging = true;
gotoAndStop(2);
cupMask.gotoAndStop(2);
onMouseMove();
xw = _x;
yw = _y + WEIGHT_DISTANCE;
xwd = 0;
ywd = 0;
releaseDiceAnimDieTime = 10000000000;
shouldDragMode = false;
lean.set(0);
leanDir = 0;
} else {
_parent.dicePressed();
}
}
function diceRolled() {
releaseDiceAnimDieTime = releaseDiceAnimTime + 10;
}
function onMouseMove() {
if (dragging) {
var _local3 = _parent._xMouse;
var _local2 = _parent._yMouse;
if (_local3 < dragBounds[0]) {
_local3 = dragBounds[0];
}
if (_local2 < dragBounds[1]) {
_local2 = dragBounds[1];
}
if (_local3 > (dragBounds[0] + dragBounds[2])) {
_local3 = dragBounds[0] + dragBounds[2];
}
if (_local2 > (dragBounds[1] + dragBounds[3])) {
_local2 = dragBounds[1] + dragBounds[3];
}
cupMask._x = (_x = _local3);
cupMask._y = (_y = _local2);
}
}
function tick() {
if (!(dragging || (releaseDiceAnimTime > 0))) {
return(undefined);
}
if (releaseDiceAnimTime > 0) {
releaseDiceAnimTime++;
if (releaseDiceAnimTime == 6) {
_parent.dicePressed();
}
if (releaseDiceAnimTime >= releaseDiceAnimDieTime) {
cupMask._rotation = (_rotation = 0);
cupMask._x = (_x = xStart);
cupMask._y = (_y = yStart);
gotoAndStop(1);
cupMask.gotoAndStop(1);
_visible = (cupMask._visible = ownTurn);
releaseDiceAnimTime = 0;
}
}
xw = xw + xwd;
yw = yw + ywd;
xwd = xwd * WEIGHT_INERTIA;
ywd = ywd * WEIGHT_INERTIA;
if (releaseDiceAnimTime > 0) {
xwd = xwd - (WEIGHT_GRAVITY * 20);
} else {
ywd = ywd + WEIGHT_GRAVITY;
}
var _local3 = xw - _x;
var _local4 = yw - _y;
var _local2 = Math.sqrt((_local3 * _local3) + (_local4 * _local4));
var _local6 = _local2 - WEIGHT_DISTANCE;
xwd = xwd - (((_local3 / _local2) * _local6) * WEIGHT_SPRING);
ywd = ywd - (((_local4 / _local2) * _local6) * WEIGHT_SPRING);
xw = _x + ((_local3 / _local2) * WEIGHT_DISTANCE);
yw = _y + ((_local4 / _local2) * WEIGHT_DISTANCE);
var _local8 = lean.get(1);
var _local7 = (Math.atan2(xw - _x, yw - _y) * 180) / Math.PI;
var _local5 = _local7 - _local8;
if (((_local5 < -1) && (leanDir == 1)) || ((_local5 > 1) && (leanDir == -1))) {
util.Sounds.get("diceCup" + int(Math.random() * 3)).play();
}
if (_local5 < 0) {
leanDir = -1;
} else {
leanDir = 1;
}
lean.set(_local7);
}
function render(alpha) {
if (dragging || (releaseDiceAnimTime > 0)) {
cupMask._rotation = (_rotation = lean.get(alpha));
}
}
function onReleaseOutside() {
onRelease();
}
function setOwnTurn(ownTurn) {
this.ownTurn = ownTurn;
_visible = (cupMask._visible = ownTurn);
}
function showAnim() {
if (!ownTurn) {
xw = _x;
yw = _y + WEIGHT_DISTANCE;
xwd = 0;
ywd = 0;
_visible = (cupMask._visible = true);
var _local3 = dragBounds[0] + ((dragBounds[2] * 3) / 4);
var _local2 = dragBounds[1] + (dragBounds[3] / 2);
cupMask._x = (_x = _local3);
cupMask._y = (_y = _local2);
gotoAndStop(2);
cupMask.gotoAndStop(2);
releaseDiceAnimTime = 1;
}
}
function onRelease() {
if (dragging) {
dragging = false;
releaseDiceAnimTime = 1;
}
}
var dragBounds = [426.9, 210, 267, 70];
var WEIGHT_INERTIA = 0.95;
var WEIGHT_GRAVITY = 30;
var WEIGHT_SPRING = 0.19;
var WEIGHT_DISTANCE = 100;
var dragging = false;
var xw = 0;
var yw = 0;
var xwd = 0;
var ywd = 0;
var shouldDragMode = false;
var releaseDiceAnimTime = 0;
var releaseDiceAnimDieTime = 0;
var leanDir = 0;
var ownTurn = false;
}
Symbol 526 MovieClip [__Packages.com.king.backgammon.ChatScrollbar] Frame 0
class com.king.backgammon.ChatScrollbar extends MovieClip
{
var mouseDragStart, _ymouse, valDragStart, dragger, _height, gameArea;
function ChatScrollbar () {
super();
}
function onPress() {
dragging = true;
mouseDragStart = _ymouse;
valDragStart = dragger._y;
}
function onRelease() {
dragging = false;
}
function onReleaseOutside() {
dragging = false;
}
function toBottom() {
var _local2 = _height - dragger._height;
dragger._y = _local2;
}
function onMouseMove() {
if (dragging) {
var _local3 = _height - dragger._height;
var _local2 = (_ymouse - mouseDragStart) + valDragStart;
if (_local2 < 0) {
_local2 = 0;
}
if (_local2 > _local3) {
_local2 = _local3;
}
dragger._y = _local2;
var _local4 = _local2 / _local3;
gameArea.chatScrollbarMoved(_local4);
}
}
var dragging = false;
}
Symbol 527 MovieClip [__Packages.com.king.backgammon.TurnTimer] Frame 0
class com.king.backgammon.TurnTimer extends MovieClip
{
var timeMask, timeIcon;
function TurnTimer () {
super();
timeMask._xStart = timeMask._x;
timeIcon._xStart = timeIcon._x;
}
function setProgress(progress) {
var _local2 = progress * 62;
timeMask._x = timeMask._xStart + _local2;
timeIcon._x = timeIcon._xStart + _local2;
}
}
Symbol 528 MovieClip [__Packages.com.king.backgammon.DoubleDie] Frame 0
class com.king.backgammon.DoubleDie extends MovieClip
{
var onPress, useHandCursor, _parent;
function DoubleDie () {
super();
}
function setActive(active) {
if (active) {
onPress = doOnPress;
useHandCursor = true;
} else {
onPress = undefined;
useHandCursor = false;
}
}
function doOnPress() {
_parent.doubleDicePressed();
}
}
Symbol 529 MovieClip [__Packages.util.timing.Timeable] Frame 0
interface util.timing.Timeable
{
}
Symbol 530 MovieClip [__Packages.com.king.backgammon.GameArea] Frame 0
class com.king.backgammon.GameArea extends MovieClip implements util.timing.Timeable
{
var infoBubble, chatScrollbar, players, quitTimer, snapTime, autoClickTimer, doubleStep, doubleDice, colorFlip, hasPressedRollDice, diceRolled, popupShowing, mouseOver, mouseCursorHandler, timer, side, xMid, zOffset, zSpan, yDistance, yOffset, board, dice, isValidTarget, diceUsed, dragging, dragSource, pieceHolder, draggedPiece, attachMovie, die0, die1, createEmptyMovieClip, chatbox, playerPanel0, playerPanel1, commitPanel, cup, cupMask, currentPlayerOutline, chatPanel, comm, avatarBackground1, avatarBackground0, hasWarnedFullTime, ownTurn, turnStartTime, lastPassedTurnTime, showRemainderTimer, hasSentEndTurn, rollMsgs, turnPaused, unpauseIn, lastRequest, autoClickText, autoClickValue, _xmouse, _ymouse, mouseDown, xDragStart, yDragStart, dropTime, colorSide, _x, _y, lastTime, useHandCursor;
function GameArea () {
super();
infoBubble = _root.infoBubble;
chatScrollbar.gameArea = this;
players = new Array(2);
var _local4 = 0;
while (_local4 < 2) {
players[_local4] = new com.king.backgammon.Player();
players[_local4].remainingTime = PLAYER_TOTAL_TIME;
players[_local4].startTurnTime = PLAYER_TOTAL_TIME;
_local4++;
}
quitTimer = -1;
snapTime = -1;
autoClickTimer = -1;
doubleStep = 1;
doubleDice.gotoAndStop(7);
colorFlip = 0;
hasPressedRollDice = true;
diceRolled = true;
autoClickTimer = -1;
popupShowing = false;
mouseOver = true;
mouseCursorHandler = new com.king.backgammon.MouseCursorHandler(this);
timer = new util.timing.Timer(this, 25);
side = -1;
var _local15 = cornerCoordinates[1][0] - cornerCoordinates[0][0];
var _local14 = cornerCoordinates[3][0] - cornerCoordinates[2][0];
xMid = (cornerCoordinates[1][0] + cornerCoordinates[0][0]) / 2;
var _local12 = 1 / _local15;
var _local16 = 1 / _local14;
zOffset = _local12;
zSpan = _local16 - _local12;
var _local17 = cornerCoordinates[2][1] - cornerCoordinates[0][1];
yDistance = 1 / ((_local14 - _local15) / _local17);
yOffset = (yDistance / _local12) - cornerCoordinates[0][1];
board = new com.king.backgammon.Board();
dice = new Array(2);
isValidTarget = new Array(26);
diceUsed = new Array(26);
dragging = false;
dragSource = -1;
_local4 = -2;
while (_local4 < 26) {
this["p" + _local4]._alpha = 0;
if (_local4 >= 0) {
isValidTarget[_local4] = 0;
}
var _local7 = _local4 * 15;
if (_local4 < 0) {
_local7 = (_local4 + 100) * 15;
} else if ((_local4 % 12) >= 6) {
_local7 = (100 - _local4) * 15;
}
var _local5 = 0;
while (_local5 < 15) {
var _local6 = _local5;
var _local9 = 0;
var _local10 = 50000;
if (((_local4 < 12) && (_local4 != -1)) || (_local4 == 25)) {
_local6 = (4 - (_local5 % 5)) + (Math.floor(_local5 / 5) * 5);
}
var _local8 = pieceHolder.attachMovie("Piece", ("piece" + ((_local4 + 2) * 15)) + _local5, (_local7 + _local6) + _local9);
placePiece(_local8, _local4, _local5);
_local8.init(this, _local4);
var _local11 = pieceHolder.attachMovie("Piece", ("previewPiece" + ((_local4 + 2) * 15)) + _local5, (_local7 + _local6) + _local10);
placePiece(_local11, _local4, _local5);
_local5++;
}
_local4++;
}
draggedPiece = attachMovie("Piece", "draggedPiece", 5000);
draggedPiece._xscale = (draggedPiece._yscale = 110);
draggedPiece._visible = false;
draggedPiece.shadow._y = draggedPiece.shadow._y + 8;
draggedPiece.shadow._x = draggedPiece.shadow._x - 4;
_root.opponentCursor._visible = false;
_root.popup._visible = false;
die0._visible = false;
die1._visible = false;
createEmptyMovieClip("chatbox", 1);
chatbox.loadMovie("/ctl/ChatControl.swf");
_root.popup.timerText._visible = false;
_root.popup.timerText2._visible = false;
renderBoard(board);
var _local13 = new Object();
_local13.onKeyDown = mx.utils.Delegate.create(this, keyPressed);
Key.addListener(_local13);
playerPanel0.turnTimer._visible = false;
playerPanel1.turnTimer._visible = false;
commitPanel._visible = false;
cup._visible = false;
cupMask._visible = false;
currentPlayerOutline.gotoAndStop(3);
}
function hasMovesFromPoint(point) {
return((point >= 0) && (board.hasValidMoveFrom(board.currentPlayer, point)));
}
function addChatMessage(message) {
chatPanel.htmlText = chatPanel.htmlText + message;
chatPanel.scroll = chatPanel.maxscroll - 1;
chatScrollbar.toBottom();
chatScrollbar._visible = chatPanel.maxscroll > 2;
}
function chatScrollbarMoved(v) {
chatPanel.scroll = (chatPanel.maxscroll - 1) * v;
}
function keyPressed() {
if (Key.getAscii() == 13) {
var _local3 = _root.gameArea.chatField.text;
_root.gameArea.chatField.text = "";
_local3 = _local3.split("&").join("&");
_local3 = _local3.split("<").join("<");
_local3 = _local3.split(">").join(">");
if (_local3.length > 0) {
comm.sendChat(_local3);
util.Sounds.get("msgSend").play();
addChatMessage(((("<b><" + players[0].name) + "> ") + _local3) + "</b>");
}
selfChatTime = getTimer();
} else if (_root.focusManager.getFocus() != _root.gameArea.chatField) {
_root.focusManager.setFocus(_root.gameArea.chatField);
}
}
function setPlayer(id, client) {
players[id].name = client.name.substr(1, client.name.length - 2);
this["playerPanel" + id].nameField.text = players[id].name;
client.name.substr(1, client.name.length - 2);
if (id == 0) {
var _local4 = chatbox.getAvatar(id, client.avatar, avatarBackground1._x, avatarBackground0._y - 10, true, null, true);
_local4.getClip()._xscale = 100 * AVATAR_SCALE;
_local4.getClip()._yscale = 100 * AVATAR_SCALE;
players[id].avatar = _local4;
} else {
var _local4 = chatbox.getAvatar(id, client.avatar, avatarBackground0._x, avatarBackground0._y - 10, false, null, true);
_local4.getClip()._xscale = -100 * AVATAR_SCALE;
_local4.getClip()._yscale = 100 * AVATAR_SCALE;
players[id].avatar = _local4;
}
}
function startTurn(shouldShowInfoBubble) {
hasWarnedFullTime = false;
chatbox.setMood(players[0].avatar, MOOD_NEUTRAL);
chatbox.setMood(players[1].avatar, MOOD_NEUTRAL);
if (shouldShowInfoBubble == undefined) {
shouldShowInfoBubble = true;
}
if (board.hasWon(side)) {
win();
return(undefined);
}
if (board.hasWon(1 - side)) {
lose();
return(undefined);
}
board.startTurn();
diceRolled = false;
die0.moveTo(641, 244);
die1.moveTo(679, 237);
die0._visible = false;
die1._visible = false;
ownTurn = board.currentPlayer == side;
die0.setActive(ownTurn);
die1.setActive(ownTurn);
doubleDice.setActive(ownTurn && ((doubleDiceOwner == -1) || (doubleDiceOwner == side)));
if (DEBUG_MODE) {
doubleDice.setActive(true);
}
commitPanel._visible = false;
var _local3 = (ownTurn ? 0 : 1);
cup.shouldDragMode = ownTurn;
cup.setOwnTurn(ownTurn);
players[_local3].startTurnTime = players[_local3].remainingTime;
currentPlayerOutline.gotoAndStop((ownTurn ? 2 : 1));
playerPanel0.turnTimer._visible = ownTurn;
playerPanel1.turnTimer._visible = !ownTurn;
turnStartTime = getTimer();
lastPassedTurnTime = 0;
hasPressedRollDice = false;
if (ownTurn) {
util.Sounds.get("attentionSound").play();
if ((shownCupPopupCounter < 1) && (shouldShowInfoBubble)) {
infoBubble.show(600, 120, _global.textMappings.instr_drag_cup);
shownCupPopupCounter++;
}
}
if (!board.canRollDice()) {
if (ownTurn) {
showRemainderTimer = getTimer() + 250;
cup.diceRolled();
cup.shouldDragMode = false;
diceRolled = true;
doubleDice.setActive(false);
hasSentEndTurn = false;
hasPressedRollDice = true;
}
}
}
function rollDice(d0, d1) {
chatbox.setMood(players[0].avatar, MOOD_NEUTRAL);
chatbox.setMood(players[1].avatar, MOOD_NEUTRAL);
if (rollMsgs == undefined) {
rollMsgs = new Array();
}
if (diceRolled) {
if ((d0 > d1) ^ colorFlip) {
rollMsgs.push(_global.textMappings.roll_one.split("[0]").join(players[0].name).split("[1]").join(d1));
rollMsgs.push(_global.textMappings.roll_one.split("[0]").join(players[1].name).split("[1]").join(d0));
} else {
rollMsgs.push(_global.textMappings.roll_one.split("[0]").join(players[0].name).split("[1]").join(d0));
rollMsgs.push(_global.textMappings.roll_one.split("[0]").join(players[1].name).split("[1]").join(d1));
}
rollMsgs.push(_global.textMappings.start_player.split("[0]").join(players[(colorFlip ? 0 : 1)].name));
startTurn(false);
if (!ownTurn) {
shownMovePiecePopupCounter++;
}
} else if (d0 == d1) {
rollMsgs.push(_global.textMappings.roll_double.split("[0]").join(players[(ownTurn ? 0 : 1)].name).split("[1]").join(d0));
} else {
rollMsgs.push(_global.textMappings.roll_two.split("[0]").join(players[(ownTurn ? 0 : 1)].name).split("[1]").join(d0).split("[2]").join(d1));
}
cup.diceRolled();
cup.shouldDragMode = false;
diceRolled = true;
doubleDice.setActive(false);
hasSentEndTurn = false;
dice[0] = d0;
dice[1] = d1;
turnPaused = true;
unpauseIn = getTimer() + TURN_START_DELAY;
die0._visible = true;
die1._visible = true;
cup.showAnim();
die0.roll(d0, cup._x, cup._y);
die1.roll(d1, cup._x, cup._y);
board.rollDice(dice[0], dice[1]);
commitPanel.die0.gotoAndStop(7 - dice[0]);
commitPanel.die1.gotoAndStop(7 - dice[1]);
testHasRemainingMoves();
if (showRemainderTimer > 0) {
showRemainderTimer = showRemainderTimer + TURN_START_DELAY;
}
}
function placePiece(piece, index, yPos) {
var _local9 = 374;
var _local13 = 20;
var _local2 = 0;
var _local4 = 0;
var _local5 = 0;
var _local7 = 0;
if (index == 24) {
_local2 = 1.26666666666667;
_local4 = 1 - ((yPos % 5) / 7);
if (_local2 <= 0) {
_local2 = _local2 - 0.166666666666667;
}
_local5 = 11;
_local7 = yPos % 5;
} else if (index == 25) {
_local2 = 1.26666666666667;
_local4 = ((yPos % 5) / 7) - 1;
if (_local2 <= 0) {
_local2 = _local2 - 0.166666666666667;
}
_local5 = 11;
_local7 = 9 - (yPos % 5);
} else if (index >= 0) {
_local5 = 11 - index;
_local7 = 9 - (yPos % 5);
_local2 = 1 - (index / 6);
_local4 = ((yPos % 5) / 7) - 1;
if (index > 11) {
_local5 = index - 12;
_local7 = yPos % 5;
_local2 = 1 - ((23 - index) / 6);
_local4 = 1 - ((yPos % 5) / 7);
}
if (_local2 <= 0) {
_local2 = _local2 - 0.166666666666667;
}
} else if (index == -1) {
_local2 = 0;
_local4 = ((4 - (yPos % 5)) / 6) - 1;
_local5 = 5;
_local7 = 9 - (4 - (yPos % 5));
yPos = yPos + 12;
} else if (index == -2) {
_local2 = 0;
_local4 = 1 - ((4 - (yPos % 5)) / 6);
_local5 = 5;
_local7 = 4 - (yPos % 5);
yPos = yPos + 12;
}
_local2 = ((_local2 * 0.94) + 1) / 2;
_local4 = 1 - (((_local4 * 0.95) + 1) / 2);
if (_local2 > 0.5) {
_local2 = _local2 - 0.03;
}
if (_local2 < 0.5) {
_local2 = _local2 + 0.03;
}
var _local12 = 1 + (int(yPos / 5) * 0.005);
var _local10 = (_local4 * zSpan) + zOffset;
var _local11 = _local9 + ((_local12 / _local10) * (_local2 - 0.5));
var _local14 = ((yDistance / _local12) / _local10) - yOffset;
_local4 = _local4 + (_local13 + 1);
var _local15 = 0.12 / _local10;
piece.pic.gotoAndStop((_local5 + (_local7 * 12)) + 1);
piece.shadow.gotoAndStop((_local5 + (_local7 * 12)) + 1);
if (int(yPos / 5) > 0) {
piece.shadow._visible = false;
}
piece._x = int((_local11 - 53) - 2);
if (_local11 > _local9) {
piece._x = piece._x + 6;
} else if (_local11 < _local9) {
piece._x = piece._x - 6;
}
piece._y = int(_local14 - 30);
}
function renderBoard(board) {
var _local2 = 0;
while (_local2 < 24) {
var _local6 = board.points[_local2];
var _local3 = 0;
while (_local3 < 15) {
if (_local6.checkers > _local3) {
if ((dragging && (_local2 == dragSource)) && (_local3 == (_local6.checkers - 1))) {
pieceHolder[("piece" + ((_local2 + 2) * 15)) + _local3]._visible = false;
} else {
pieceHolder[("piece" + ((_local2 + 2) * 15)) + _local3].gotoAndStop((_local6.owner + colorFlip) + 1);
pieceHolder[("piece" + ((_local2 + 2) * 15)) + _local3]._visible = true;
}
pieceHolder[("previewPiece" + ((_local2 + 2) * 15)) + _local3]._visible = false;
} else if ((_local6.checkers == _local3) && (isValidTarget[_local2] > 0)) {
var _local4 = pieceHolder[("previewPiece" + ((_local2 + 2) * 15)) + _local3];
_local4.gotoAndStop((((board.currentPlayer + colorFlip) & 1) + 4) + ((_local4._y > 250) ? 2 : 0));
_local4._visible = true;
var _local7 = _local4.target;
_local7._xscale = (_local4._y + 500) / 9;
_local7._yscale = (_local4._y + 200) / 8;
showDicePreview(_local4, diceUsed[_local2]);
} else {
pieceHolder[("piece" + ((_local2 + 2) * 15)) + _local3]._visible = false;
pieceHolder[("previewPiece" + ((_local2 + 2) * 15)) + _local3]._visible = false;
}
_local3++;
}
_local6.renderDepth = 0;
_local2++;
}
_local2 = 0;
while (_local2 < 2) {
var _local3 = 0;
while (_local3 < 15) {
if ((board.bars[_local2] > _local3) && (!(((dragging && (board.bars[_local2] == (_local3 + 1))) && (dragSource < 0)) && (board.currentPlayer == _local2)))) {
pieceHolder[("piece" + (_local2 * 15)) + _local3].gotoAndStop((_local2 + colorFlip) + 1);
pieceHolder[("piece" + (_local2 * 15)) + _local3]._visible = true;
pieceHolder[("previewPiece" + (_local2 * 15)) + _local3]._visible = false;
} else {
pieceHolder[("piece" + (_local2 * 15)) + _local3]._visible = false;
pieceHolder[("previewPiece" + (_local2 * 15)) + _local3]._visible = false;
}
_local3++;
}
_local3 = 0;
while (_local3 < 15) {
if (board.bornOff[1 - _local2] > _local3) {
pieceHolder[("piece" + ((26 + _local2) * 15)) + _local3].gotoAndStop(((1 - _local2) + colorFlip) + 1);
pieceHolder[("piece" + ((26 + _local2) * 15)) + _local3]._visible = true;
pieceHolder[("previewPiece" + ((26 + _local2) * 15)) + _local3]._visible = false;
} else if ((board.bornOff[1 - _local2] == _local3) && (isValidTarget[24 + _local2] > 0)) {
var _local4 = pieceHolder[("previewPiece" + ((26 + _local2) * 15)) + _local3];
_local4.gotoAndStop((((board.currentPlayer + colorFlip) & 1) + 4) + ((_local4._y > 250) ? 2 : 0));
_local4._visible = true;
var _local7 = _local4.target;
_local7._xscale = (_local4._y + 500) / 9;
_local7._yscale = (_local4._y + 200) / 8;
showDicePreview(_local4, diceUsed[24 + _local2]);
} else {
pieceHolder[("piece" + ((26 + _local2) * 15)) + _local3]._visible = false;
pieceHolder[("previewPiece" + ((26 + _local2) * 15)) + _local3]._visible = false;
}
_local3++;
}
_local2++;
}
if (dice[0] == dice[1]) {
var _local8 = board.remainingDice.length;
if (_local8 < 3) {
commitPanel.die0.gotoAndStop((7 - dice[0]) + 6);
} else {
commitPanel.die0.gotoAndStop(7 - dice[0]);
}
if (_local8 < 1) {
commitPanel.die1.gotoAndStop((7 - dice[1]) + 6);
} else {
commitPanel.die1.gotoAndStop(7 - dice[1]);
}
} else {
if ((board.remainingDice[0] != dice[0]) && (board.remainingDice[1] != dice[0])) {
commitPanel.die0.gotoAndStop((7 - dice[0]) + 6);
} else {
commitPanel.die0.gotoAndStop(7 - dice[0]);
}
if ((board.remainingDice[0] != dice[1]) && (board.remainingDice[1] != dice[1])) {
commitPanel.die1.gotoAndStop((7 - dice[1]) + 6);
} else {
commitPanel.die1.gotoAndStop(7 - dice[1]);
}
}
}
function showDicePreview(piece, diceUsed) {
var _local1 = 0;
while (_local1 < 4) {
if (_local1 < diceUsed.length) {
piece["d" + _local1].gotoAndStop(diceUsed[_local1]);
} else {
piece["d" + _local1].gotoAndStop(7);
}
_local1++;
}
}
function getPointAt(x, y) {
var _local3 = (y - cornerCoordinates[0][1]) / (cornerCoordinates[2][1] - cornerCoordinates[0][1]);
var _local6 = (cornerCoordinates[0][0] * (1 - _local3)) + (cornerCoordinates[2][0] * _local3);
var _local8 = (cornerCoordinates[1][0] * (1 - _local3)) + (cornerCoordinates[3][0] * _local3);
var _local5 = (x - _local6) / (_local8 - _local6);
if (_local5 > 1) {
return(-2);
}
if ((((_local5 < 0) || (_local3 < 0)) || (_local5 > 1)) || (_local3 > 1)) {
return(-999);
}
var _local4 = -1;
var _local2 = Math.floor(_local5 * 13);
if (_local2 == 6) {
return(-1);
}
if (y < 250) {
_local4 = 0;
}
if (y > 280) {
_local4 = 1;
}
if (_local4 == -1) {
return(-999);
}
if (_local2 > 5) {
_local2--;
}
if (_local2 > 11) {
_local2 = 11;
}
var _local7 = _local2 + 12;
if (_local4 == 1) {
_local7 = 11 - _local2;
}
return(_local7);
}
function showReminder() {
showRemainderTimer = -1;
if ((!board.hasRemainingMoves()) && (ownTurn)) {
lastRequest = TURN_OVER;
_root.popup.timerText2._visible = true;
if (board.hasUndo()) {
showQuery(_global.textMappings.no_more_moves, _global.textMappings.no_more_moves_text, _global.textMappings.hide, _global.textMappings.undo, _global.textMappings.ok);
} else {
lastRequest = TURN_OVER_NO_UNDO;
showQuery(_global.textMappings.no_more_moves, _global.textMappings.no_more_moves_text, _global.textMappings.ok);
}
autoClickTimer = getTimer() + 2000;
autoClickText = _global.textMappings.auto_ok_in;
autoClickValue = 2;
_root.popup.bg._visible = false;
}
}
function testHasRemainingMoves() {
if ((!board.hasRemainingMoves()) && (ownTurn)) {
if (reminderHidden && (board.remainingDice.length == 0)) {
showRemainderTimer = getTimer() + REMINDER_DELAY;
} else {
showRemainderTimer = getTimer() + 250;
}
} else {
showRemainderTimer = -1;
}
}
function showPossibleMoves() {
if (((board != undefined) && (side != undefined)) && (board.hasWon(side))) {
win();
return(undefined);
}
if (((board != undefined) && (side != undefined)) && (board.hasWon(1 - side))) {
lose();
return(undefined);
}
testHasRemainingMoves();
var _local2 = 0;
while (_local2 < 26) {
isValidTarget[_local2] = 0;
_local2++;
}
if (dragging) {
var _local6 = dragSource;
if (_local6 > -999) {
var _local4 = board.getLegalMovesFrom(_local6);
_local2 = 0;
while (_local2 < _local4.length) {
var _local3 = _local4[_local2].target;
if ((_local3 >= 0) && (_local3 < 24)) {
isValidTarget[_local3] = 1;
diceUsed[_local3] = _local4[_local2].diceUsed;
} else {
isValidTarget[25 - board.currentPlayer] = 1;
diceUsed[25 - board.currentPlayer] = _local4[_local2].diceUsed;
}
_local2++;
}
var _local5 = board.getSecondaryLegalMovesFrom(_local6);
_local2 = 0;
while (_local2 < _local5.length) {
var _local3 = _local5[_local2].target;
if ((_local3 >= 0) && (_local3 < 24)) {
isValidTarget[_local3] = 2;
diceUsed[_local3] = _local5[_local2].diceUsed;
} else {
isValidTarget[25 - board.currentPlayer] = 2;
diceUsed[25 - board.currentPlayer] = _local5[_local2].diceUsed;
}
_local2++;
}
}
}
renderBoard(board);
}
function opponentMovePiece(from, to) {
if ((from >= 0) && (from < 24)) {
from = 23 - from;
}
if ((to >= 0) && (to < 24)) {
to = 23 - to;
}
movePiece(from, to);
}
function movePiece(from, to) {
if (to >= 0) {
board.performRecurseMove(from, to);
} else if ((to == -1) || (to == -2)) {
board.performRecurseBearOff(from);
}
draggedPiece._visible = false;
dragging = false;
showPossibleMoves();
}
function onMouseMove() {
var _local3 = false;
if (popupShowing || (gameState == STATE_WAIT_FOR_GAMEDATA)) {
} else if ((ownTurn && (board.hasRemainingMoves())) && (!dragging)) {
var _local2 = getPointAt(_xmouse, _ymouse);
if (((_local2 > -999) && (_local2 != -2)) && (board.hasValidMoveFrom(board.currentPlayer, _local2))) {
_local3 = true;
}
}
}
function onMouseDown() {
infoBubble.hide();
mouseDown = true;
if ((turnPaused || (popupShowing)) || (gameState == STATE_WAIT_FOR_GAMEDATA)) {
return(undefined);
}
if (ownTurn && (board.hasRemainingMoves())) {
if (dragging) {
if (isValidTarget[25] == 1) {
util.Sounds.get("lockPieceSound").play();
comm.sendMove(dragSource, -1);
movePiece(dragSource, -1);
}
var _local2 = 0;
while (_local2 < 24) {
if (isValidTarget[_local2] == 1) {
util.Sounds.get("lockPieceSound").play();
comm.sendMove(dragSource, _local2);
movePiece(dragSource, _local2);
break;
}
_local2++;
}
comm.sendReleasePiece();
draggedPiece._visible = false;
dragging = false;
showPossibleMoves();
} else {
var _local3 = getPointAt(_xmouse, _ymouse);
if (((_local3 > -999) && (_local3 != -2)) && (board.hasValidMoveFrom(board.currentPlayer, _local3))) {
xDragStart = _xmouse;
yDragStart = _ymouse;
if (board.canClickPoint(_local3)) {
util.Sounds.get("lockPieceSound").play();
comm.sendPickupPiece(_local3);
dragging = true;
dragSource = _local3;
renderBoard(board);
draggedPiece.gotoAndStop((board.currentPlayer + colorFlip) + 1);
draggedPiece._visible = true;
showPossibleMoves();
}
}
}
}
}
function onMouseUp() {
mouseDown = false;
if (popupShowing || (gameState == STATE_WAIT_FOR_GAMEDATA)) {
return(undefined);
}
if (dragging && (ownTurn)) {
util.Sounds.get("lockPieceSound").play();
var _local3 = Math.abs(_xmouse - xDragStart);
var _local4 = Math.abs(_ymouse - yDragStart);
if ((_local3 > 2) || (_local4 > 2)) {
var _local2 = getPointAt(_xmouse, _ymouse);
if (_local2 > -999) {
comm.sendMove(dragSource, _local2);
movePiece(dragSource, _local2);
}
comm.sendReleasePiece();
draggedPiece._visible = false;
dragging = false;
showPossibleMoves();
} else {
dropTime = getTimer() + 800;
}
}
}
function opponentStartDrag(point) {
if ((point >= 0) && (point < 24)) {
point = 23 - point;
}
dragging = true;
dragSource = point;
draggedPiece.gotoAndStop((board.currentPlayer + colorFlip) + 1);
draggedPiece._visible = true;
showPossibleMoves();
}
function opponentStopDrag() {
draggedPiece._visible = false;
dragging = false;
showPossibleMoves();
}
function setSide(side, seed) {
this.side = 0;
colorSide = 1 - side;
avatarBackground0.gotoAndStop(side + 2);
avatarBackground1.gotoAndStop(3 - side);
colorFlip = ((this.side == colorSide) ? 0 : 1);
board.setStartingPlayer(1 - side);
die0._visible = false;
die1._visible = false;
renderBoard(board);
render();
}
function setOpponentCursor(xMouse, yMouse) {
var _local7 = (xMouse * 4) - _x;
var _local6 = (yMouse * 4) - _y;
var _local2 = 1.01;
var _local4 = 1 / (((_local6 + yOffset) * _local2) / yDistance);
var _local3 = (_local4 - zOffset) / zSpan;
var _local10 = (((_local7 - xMid) / _local2) / (1 / _local4)) + 0.5;
_local3 = 1 - _local3;
var _local5 = (_local3 * zSpan) + zOffset;
var _local8 = xMid + ((_local2 / _local5) * (_local10 - 0.5));
var _local9 = ((yDistance / _local2) / _local5) - yOffset;
mouseCursorHandler.setOpponentCursor((_local8 + _x) / 4, ((_local9 + _y) / 4) + 4);
}
function onEnterFrame() {
if (gameState == STATE_WAIT_FOR_GAMEDATA) {
if (DEBUG_MODE || ((chatbox.init != undefined) && (_root.gameData != undefined))) {
endInstructionsTime = getTimer() + INSTRUCTIONS_TIME;
gameState = STATE_SHOW_INSTRUCTIONS;
_root.hider._visible = false;
if (DEBUG_MODE) {
comm = new com.king.backgammon.OfflineComm(this);
} else {
comm = new com.king.backgammon.Comm(this);
}
setDoubleDicePosition();
chatbox.enable();
System.security.allowDomain(_root.gameDomain);
chatbox.setAllowDomain(_root.gameDomain);
chatbox.init(this);
util.Sounds.get("introSong").play();
_root.instructionsTitle = _global.textMappings.instructions_title;
_root.instructionsText = _global.textMappings.instructions_text;
_root.instructionsClick = _global.textMappings.click_to_start;
_root.undoText = _global.textMappings.undo;
_root.commitText = _global.textMappings.commit;
_root.surrenderText = _global.textMappings.surrender;
_root.soundText = _global.textMappings.sound_on;
}
return(undefined);
}
if ((dragging && (ownTurn)) && (!mouseDown)) {
var _local4 = Math.abs(_xmouse - xDragStart);
var _local5 = Math.abs(_ymouse - yDragStart);
if (((_local4 > 2) || (_local5 > 2)) || (getTimer() > dropTime)) {
comm.sendReleasePiece();
draggedPiece._visible = false;
dragging = false;
showPossibleMoves();
}
}
timer.advanceTime2();
}
function tick(tick) {
cup.tick();
mouseCursorHandler.tick();
die0.tick();
die1.tick();
die0.collide(die1);
if ((die0.y < die1.y) && (die0.getDepth() > die1.getDepth())) {
die0.swapDepths(die1);
} else if ((die0.y > die1.y) && (die0.getDepth() < die1.getDepth())) {
die0.swapDepths(die1);
}
}
function updatePlayerPanel(id) {
var _local4 = int((players[id].remainingTime + 999) / 1000);
var _local5 = int(_local4 / 60);
this["playerPanel" + id].infoField0.text = "";
this["playerPanel" + id].infoField0.text = this["playerPanel" + id].infoField0.text + (_local5 + ":");
if ((_local4 % 60) < 10) {
this["playerPanel" + id].infoField0.text = this["playerPanel" + id].infoField0.text + "0";
}
this["playerPanel" + id].infoField0.text = this["playerPanel" + id].infoField0.text + (_local4 % 60);
this["playerPanel" + id].infoField1.text = _global.textMappings.pipcount.split("[0]").join(board.getPipCount(id));
}
function opponentOutOfTime() {
util.Sounds.get("outOfTimeSound").play();
showQuery(_global.textMappings.you_win, _global.textMappings.you_win_time);
setWinner(0);
startQuitting(doubleDiceValue);
}
function render(tick, alpha) {
if (gameState == STATE_SHOW_INSTRUCTIONS) {
if (getTimer() > endInstructionsTime) {
instructionsClicked();
}
return(undefined);
}
if (lastTime == undefined) {
lastTime = getTimer();
}
var _local15 = getTimer();
cup.render(alpha);
if (((gameState == STATE_PLAY_GAME) && (side >= 0)) && (turnStartTime != undefined)) {
if ((showRemainderTimer != -1) && (getTimer() > showRemainderTimer)) {
showReminder();
}
if (turnPaused && (getTimer() > unpauseIn)) {
if (firstTurn) {
lastRequest = SHOW_INFO;
if (ownTurn) {
lastRequest = SHOW_INFO_AND_SHOW_INFO;
showQuery(_global.textMappings.game_start, _global.textMappings.game_start_white, _global.textMappings.ok);
} else {
showQuery(_global.textMappings.game_start, _global.textMappings.game_start_red, _global.textMappings.ok);
}
firstTurn = false;
}
if (rollMsgs != undefined) {
rollMsgs = undefined;
}
commitPanel._visible = ownTurn;
turnPaused = false;
if ((shownMovePiecePopupCounter < 2) && (ownTurn)) {
shownMovePiecePopupCounter++;
if (shownMovePiecePopupCounter == 2) {
infoBubble.show(285, 280, _global.textMappings.instr_drag_piece);
}
}
}
var _local5 = (ownTurn ? 0 : 1);
if (sendCommandPause != -1) {
var _local20 = _local15 - lastTime;
turnStartTime = turnStartTime + _local20;
}
var _local8 = _local15 - turnStartTime;
if (_local8 < 0) {
this["playerPanel" + _local5].turnTimer.setProgress(0);
} else if (_local8 < TURN_TIME) {
var _local21 = (players[_local5].remainingTime + TURN_TIME) - lastPassedTurnTime;
this["playerPanel" + _local5].turnTimer.setProgress((int(_local8 / 1000) * 1000) / TURN_TIME);
var _local13 = (players[_local5].remainingTime + TURN_TIME) - _local8;
if (((int(_local13 / 1000) < 10) && (int(_local13 / 1000) >= 0)) && (int(_local13 / 1000) < int(_local21 / 1000))) {
util.Sounds.get("timeWarningsound").play();
}
lastPassedTurnTime = _local8;
} else {
if (!hasWarnedFullTime) {
util.Sounds.get("shortTimeEndSound").play();
hasWarnedFullTime = true;
}
var _local21 = players[_local5].remainingTime;
players[_local5].remainingTime = players[_local5].startTurnTime - (_local8 - TURN_TIME);
if (((int(players[_local5].remainingTime / 1000) < 10) && (int(players[_local5].remainingTime / 1000) >= 0)) && (int(players[_local5].remainingTime / 1000) < int(_local21 / 1000))) {
util.Sounds.get("timeWarningsound").play();
}
if (players[_local5].remainingTime < 0) {
players[_local5].remainingTime = 0;
if (ownTurn && (quitTimer < 0)) {
comm.sendOutOfTime();
util.Sounds.get("outOfTimeSound").play();
showQuery(_global.textMappings.you_lose, _global.textMappings.you_lose_time);
setWinner(1);
startQuitting(0);
}
}
this["playerPanel" + _local5].turnTimer.setProgress(1);
}
updatePlayerPanel(0);
updatePlayerPanel(1);
}
lastTime = _local15;
die0.render(alpha);
die1.render(alpha);
var _local12 = 150 - ((getTimer() - opponentChatTime) / 50);
var _local11 = 150 - ((getTimer() - selfChatTime) / 50);
if (_local12 > 100) {
_local12 = 100;
}
if (_local11 > 100) {
_local11 = 100;
}
if (_local12 < 0) {
_local12 = 0;
}
if (_local11 < 0) {
_local11 = 0;
}
_root.opponentChatField._alpha = _local12;
_root.selfChatField._alpha = _local11;
if (((board.currentPlayer == side) && (board.hasUndo())) && (diceRolled)) {
commitPanel.undoButton._alpha = 100;
} else {
commitPanel.undoButton._alpha = 50;
}
if (((!board.hasRemainingMoves()) && (board.currentPlayer == side)) && (diceRolled)) {
commitPanel.endTurnButton._alpha = 100;
} else {
commitPanel.endTurnButton._alpha = 50;
}
if (quitTimer >= 0) {
var _local14 = int(QUIT_TIME - ((getTimer() - quitTimer) / 1000));
if (_local14 <= 0) {
_local14 = 0;
comm.gameQuit();
}
_root.popup.timerText.text = _global.textMappings.game_ends_in.split("[0]").join(_local14);
}
if (autoClickTimer >= 0) {
var _local14 = int(QUIT_TIME - ((getTimer() - autoClickTimer) / 1000));
if (_local14 <= 0) {
autoClickTimer = 0;
_local14 = 0;
popupButtonPressed(autoClickValue);
}
_root.popup.timerText2.text = autoClickText.split("[0]").join(_local14);
}
useHandCursor = false;
if (comm != null) {
comm.tick();
}
if (gameState == STATE_PLAY_GAME) {
mouseCursorHandler.render(tick, alpha);
if (dragging) {
var _local10 = _xmouse;
var _local9 = _ymouse;
if (board.currentPlayer != side) {
_local10 = _root.opponentCursor._x - _x;
_local9 = _root.opponentCursor._y - _y;
}
var _local18 = 1.01;
var _local17 = 1 / (((_local9 + yOffset) * _local18) / yDistance);
var _local4 = (_local17 - zOffset) / zSpan;
var _local7 = (((_local10 - xMid) / _local18) / (1 / _local17)) + 0.5;
_local7 = int(_local7 * 12);
_local4 = int(_local4 * 13);
if (_local4 < 0) {
_local4 = 0;
}
if ((_local4 > 4) && (_local4 < 8)) {
if (_local4 < 6) {
_local4 = 4;
} else {
_local4 = 5;
}
}
if (_local4 >= 8) {
_local4 = _local4 - 3;
}
if (_local4 > 9) {
_local4 = 9;
}
if (_local7 < 0) {
_local7 = 0;
}
if (_local7 > 11) {
_local7 = 11;
}
draggedPiece.pic.gotoAndStop(((_local4 * 12) + _local7) + 1);
draggedPiece.shadow.gotoAndStop(((_local4 * 12) + _local7) + 1);
var _local6 = getPointAt(_local10, _local9);
if (((_local6 >= 0) && (isValidTarget[_local6] > 0)) || ((_local6 == -2) && (isValidTarget[25] > 0))) {
if (snapTime == -1) {
snapTime = getTimer();
}
if (_local6 == -2) {
placePiece(draggedPiece, 25, board.bornOff[board.currentPlayer]);
} else {
placePiece(draggedPiece, _local6, board.points[_local6].checkers);
}
_local6 = (getTimer() - snapTime) / 25;
if (_local6 > 1) {
_local6 = 1;
}
if (_local6 < 0) {
_local6 = 0;
}
_local6 = Math.sqrt(_local6);
draggedPiece._x = (draggedPiece._x * _local6) + ((_local10 - 32) * (1 - _local6));
draggedPiece._y = (draggedPiece._y * _local6) + ((_local9 - 32) * (1 - _local6));
draggedPiece._y = draggedPiece._y - 8;
draggedPiece._xscale = (draggedPiece._yscale = (100 * _local6) + (110 * (1 - _local6)));
} else {
draggedPiece._xscale = (draggedPiece._yscale = 110);
snapTime = -1;
draggedPiece._x = _local10 - 32;
draggedPiece._y = _local9 - 32;
draggedPiece._y = draggedPiece._y - 8;
}
} else {
snapTime = -1;
if (side == board.currentPlayer) {
var _local16 = getPointAt(_xmouse, _ymouse);
if (((_local16 > -999) && (_local16 != -2)) && (board.hasValidMoveFrom(board.currentPlayer, _local16))) {
useHandCursor = true;
}
}
}
}
}
function endTurnPressed() {
if ((lastRequest == TURN_OVER) || (lastRequest == TURN_OVER_NO_UNDO)) {
autoClickTimer = -1;
popupShowing = false;
_root.popup._visible = false;
}
if ((ownTurn && (!board.hasRemainingMoves())) && (diceRolled)) {
comm.sendEndTurn();
startTurn();
hasSentEndTurn = true;
ownTurn = false;
}
}
function opponentUndo() {
util.Sounds.get("regretSound").play();
board.undo();
showPossibleMoves();
}
function undoPressed() {
if (ownTurn && (board.hasUndo())) {
autoClickTimer = -1;
popupShowing = false;
_root.popup._visible = false;
_root.popup.timerText2._visible = false;
util.Sounds.get("regretSound").play();
board.undo();
comm.sendUndo();
showPossibleMoves();
}
}
function showQuery(title, description, option0, option1, option2) {
if (quitTimer >= 0) {
return(undefined);
}
util.Sounds.get("clickSound").play();
autoClickTimer = -1;
autoClickText = "";
autoClickValue = 0;
_root.popup.timerText2.text = "";
popupShowing = true;
var _local4 = 0;
var _local3 = 1;
var _local8 = 2;
if (option2 == undefined) {
option2 = option1;
option1 = option0;
option0 = undefined;
_local8 = _local3;
_local3 = _local4;
_local4 = -999;
}
if (option2 == undefined) {
option2 = option1;
option1 = option0;
option0 = undefined;
_local8 = _local3;
_local3 = _local4;
_local4 = -999;
}
_root.popup._visible = true;
_root.popup.bg._visible = true;
_root.popup.headerText.text = title;
_root.popup.text.text = description;
_root.popup.buttonBg0._visible = option0 != undefined;
_root.popup.buttonBg1._visible = option1 != undefined;
_root.popup.buttonBg2._visible = option2 != undefined;
_root.popup.button0.init(option0, _local4);
_root.popup.button1.init(option1, _local3);
_root.popup.button2.init(option2, _local8);
}
function opponentChat(opponentMsg) {
util.Sounds.get("msgReceive").play();
addChatMessage(((("<b><" + players[1].name) + "> ") + opponentMsg) + "</b>");
opponentChatTime = getTimer();
}
function popupButtonPressed(id) {
util.Sounds.get("clickSound").play();
autoClickTimer = -1;
popupShowing = false;
_root.popup._visible = false;
_root.popup.timerText2._visible = false;
if (lastRequest == REQUEST_DOUBLE_UP) {
if (id == 0) {
chatbox.setMood(players[1].avatar, MOOD_SURPRISED);
chatbox.setMood(players[0].avatar, MOOD_TEASING);
showQuery(_global.textMappings.wait_for_reply, _global.textMappings.wait_for_reply_text);
comm.sendDoubleUpRequest();
sendCommandPause = getTimer();
}
}
if (lastRequest == REPLY_DOUBLE_UP) {
sendCommandPause = -1;
if (id == 0) {
doubleUp(side, 2);
chatbox.setMood(players[0].avatar, MOOD_SUPERIOR);
chatbox.setMood(players[1].avatar, MOOD_ANGRY);
} else if (id == 1) {
lose();
} else if (id == 2) {
doubleUp(side, 1);
}
comm.sendDoubleUpReply(id);
}
if (lastRequest == TURN_OVER_NO_UNDO) {
endTurnPressed();
}
if (lastRequest == TURN_OVER) {
if (id == 0) {
hideReminder();
} else if (id == 1) {
undoPressed();
} else if (id == 2) {
endTurnPressed();
}
}
if ((lastRequest == SHOW_INFO_AND_SHOW_INFO) && (ownTurn)) {
shownMovePiecePopupCounter = 2;
infoBubble.show(285, 280, _global.textMappings.instr_drag_piece);
}
if (lastRequest == REQUEST_SURRENDER) {
if (id == 0) {
surrender();
}
}
}
function hideReminder() {
reminderHidden = true;
shownMoveHiddenRemainderCounter++;
if (shownMoveHiddenRemainderCounter == 1) {
var _local5 = die0._x;
var _local4 = die0._y - 100;
infoBubble.show(_local5, _local4, _global.textMappings.instr_commit);
}
if ((lastRequest == TURN_OVER) || (lastRequest == TURN_OVER_NO_UNDO)) {
autoClickTimer = -1;
popupShowing = false;
_root.popup._visible = false;
}
}
function doubleUpReply(id) {
autoClickTimer = -1;
popupShowing = false;
_root.popup._visible = false;
sendCommandPause = -1;
if (id == 0) {
chatbox.setMood(players[0].avatar, MOOD_ANGRY);
chatbox.setMood(players[1].avatar, MOOD_SUPERIOR);
lastRequest = SHOW_INFO;
showQuery(_global.textMappings.beaver, _global.textMappings.double_up_reply_beaver.split("[0]").join(players[1].name), _global.textMappings.ok);
doubleUp(1 - side, 2);
} else if (id == 1) {
win();
} else if (id == 2) {
doubleUp(1 - side, 1);
lastRequest = SHOW_INFO;
showQuery(_global.textMappings.accepted, _global.textMappings.double_up_reply_yes.split("[0]").join(players[1].name), _global.textMappings.ok);
}
}
function doubleUp(newSide, steps) {
doubleDice.setActive(false);
doubleDiceOwner = newSide;
doubleDiceValue = doubleDiceValue * (2 * steps);
if (doubleDiceValue > 64) {
doubleDiceValue = 64;
}
doubleStep = doubleStep + (1 * steps);
doubleDice.gotoAndStop(doubleStep);
setDoubleDicePosition();
}
function dicePressed() {
if (ownTurn) {
if (((!diceRolled) && (!hasPressedRollDice)) && (board.canRollDice())) {
hasPressedRollDice = true;
comm.sendRollDice();
} else {
endTurnPressed();
}
}
}
function noMoreOpponents() {
if (quitTimer >= 0) {
return(undefined);
}
lastRequest = SHOW_INFO;
var _local3 = board.getScoreModifier(side);
_local3 = 3;
var _local4 = "";
if (_local3 == 2) {
_local4 = _global.textMappings.gammon_win;
}
if (_local3 == 3) {
_local4 = _global.textMappings.backgammon_win;
}
showQuery(_global.textMappings.you_win, (_global.textMappings.win_opponent_left + " ") + _local4);
setWinner(0);
startQuitting(doubleDiceValue * _local3);
}
function crashGame(message) {
if (quitTimer >= 0) {
return(undefined);
}
lastRequest = SHOW_INFO;
showQuery(_global.textMappings.game_crash, message);
startQuitting(0);
}
function win() {
if (quitTimer >= 0) {
return(undefined);
}
lastRequest = SHOW_INFO;
var _local3 = board.getScoreModifier(side);
var _local4 = "";
if (_local3 == 2) {
_local4 = _global.textMappings.gammon_win;
}
if (_local3 == 3) {
_local4 = _global.textMappings.backgammon_win;
}
showQuery(_global.textMappings.you_win, (_global.textMappings.win_normal + " ") + _local4);
setWinner(0);
startQuitting(doubleDiceValue * _local3);
}
function lose() {
if (quitTimer >= 0) {
return(undefined);
}
lastRequest = SHOW_INFO;
var _local4 = board.getScoreModifier(1 - side);
var _local3 = "";
if (_local4 == 2) {
_local3 = _global.textMappings.gammon_win;
}
if (_local4 == 3) {
_local3 = _global.textMappings.backgammon_win;
}
showQuery(_global.textMappings.you_lose, (_global.textMappings.lose_normal + " ") + _local3);
setWinner(1);
startQuitting(0);
}
function startQuitting(score) {
_root.popup.timerText._visible = true;
comm.gameEnd(score);
quitTimer = getTimer();
gameState = STATE_GAME_OVER;
}
function doubleUpRequest() {
if (quitTimer >= 0) {
return(undefined);
}
lastRequest = REPLY_DOUBLE_UP;
_root.popup.timerText2._visible = true;
sendCommandPause = getTimer();
chatbox.setMood(players[0].avatar, MOOD_SURPRISED);
chatbox.setMood(players[1].avatar, MOOD_TEASING);
showQuery(_global.textMappings.opponent_double_up, _global.textMappings.opponent_double_up_text, _global.textMappings.beaver_reply, _global.textMappings.surrender_reply, _global.textMappings.accept_reply);
autoClickTimer = getTimer() + 5000;
autoClickText = _global.textMappings.auto_surrender_in;
autoClickValue = 1;
if (doubleDiceValue == 32) {
_root.popup.buttonBg0._visible = false;
_root.popup.button0.init(null, 0);
}
}
function setDoubleDicePosition() {
var _local2 = 0;
if (doubleDiceOwner == side) {
_local2 = 2;
}
if ((doubleDiceOwner == -1) || (doubleDiceValue == 1)) {
_local2 = 1;
}
switch (_local2) {
case 0 :
doubleDice._x = 131;
doubleDice._y = 120;
doubleDice._xscale = (doubleDice._yscale = 70);
break;
case 1 :
doubleDice._x = 97;
doubleDice._y = 234;
doubleDice._xscale = (doubleDice._yscale = 80);
break;
case 2 :
doubleDice._x = 50;
doubleDice._y = 397;
doubleDice._xscale = (doubleDice._yscale = 100);
}
}
function doubleDicePressed() {
if ((quitTimer >= 0) || (doubleDiceValue == 64)) {
return(undefined);
}
if (((ownTurn && ((doubleDiceOwner == -1) || (doubleDiceOwner == side))) && (!diceRolled)) || (DEBUG_MODE)) {
lastRequest = REQUEST_DOUBLE_UP;
showQuery(_global.textMappings.double_up_confirm, _global.textMappings.double_up_confirm_text, _global.textMappings.yes, _global.textMappings.no);
}
}
function surrenderPressed() {
lastRequest = REQUEST_SURRENDER;
showQuery(_global.textMappings.surrender_confirm, _global.textMappings.surrender_confirm_text, _global.textMappings.yes, _global.textMappings.no);
}
function surrender() {
if (quitTimer >= 0) {
return(undefined);
}
comm.sendSurrender();
lastRequest = SHOW_INFO;
var _local3 = 3;
var _local4 = "";
if (_local3 == 2) {
_local4 = _global.textMappings.gammon_win;
}
if (_local3 == 3) {
_local4 = _global.textMappings.backgammon_win;
}
showQuery(_global.textMappings.you_lose, _global.textMappings.you_lose_surrender);
setWinner(1);
startQuitting(0);
}
function opponentSurrendered() {
if (quitTimer >= 0) {
return(undefined);
}
lastRequest = SHOW_INFO;
var _local3 = board.getScoreModifier(side);
_local3 = 3;
var _local4 = "";
if (_local3 == 2) {
_local4 = _global.textMappings.gammon_win;
}
if (_local3 == 3) {
_local4 = _global.textMappings.backgammon_win;
}
showQuery(_global.textMappings.you_win, _global.textMappings.you_win_surrender);
setWinner(0);
startQuitting(doubleDiceValue * _local3);
}
function setWinner(winner) {
util.Sounds.get("outroSong").play();
chatbox.setMood(players[winner].avatar, MOOD_HAPPY);
chatbox.setMood(players[1 - winner].avatar, MOOD_ANGRY);
}
function instructionsClicked() {
util.Sounds.get("introSong").stop();
comm.instructionsRead();
_root.instructions._visible = false;
gameState = STATE_PLAY_GAME;
}
static var DEBUG_MODE = false;
static var PLAYER_TOTAL_TIME = 60000;
static var TURN_TIME = 30000;
static var TURN_START_DELAY = 1500;
static var REMINDER_DELAY = 5000;
static var INSTRUCTIONS_TIME = 10000;
static var AVATAR_SCALE = 0.9;
static var MOOD_HAPPY = "happy";
static var MOOD_SUPERIOR = "superior";
static var MOOD_TEASING = "teasing";
static var MOOD_ANGRY = "angry";
static var MOOD_ASHAMED = "ashamed";
static var MOOD_MAD = "mad";
static var MOOD_SURPRISED = "surprised";
static var MOOD_NEUTRAL = "neutral";
var cornerCoordinates = [[174, 124], [526, 124], [104, 446], [599, 446]];
var sendCommandPause = -1;
var endInstructionsTime = -1;
var reminderHidden = false;
var shownMovePiecePopupCounter = 0;
var shownCupPopupCounter = 0;
var shownMoveHiddenRemainderCounter = 0;
static var STATE_WAIT_FOR_GAMEDATA = 0;
static var STATE_SHOW_INSTRUCTIONS = 1;
static var STATE_PLAY_GAME = 2;
static var STATE_GAME_OVER = 3;
static var QUIT_TIME = 10;
static var REQUEST_DOUBLE_UP = 0;
static var REPLY_DOUBLE_UP = 1;
static var SHOW_INFO = 2;
static var TURN_OVER = 3;
static var TURN_OVER_NO_UNDO = 4;
static var REQUEST_SURRENDER = 5;
static var SHOW_INFO_AND_SHOW_INFO = 6;
var firstTurn = true;
var gameState = STATE_WAIT_FOR_GAMEDATA;
var opponentChatTime = 0;
var selfChatTime = 0;
var doubleDiceValue = 1;
var doubleDiceOwner = -1;
}
Symbol 531 MovieClip [__Packages.com.king.backgammon.Player] Frame 0
class com.king.backgammon.Player
{
function Player () {
}
}
Symbol 532 MovieClip [__Packages.com.king.backgammon.MouseCursorHandler] Frame 0
class com.king.backgammon.MouseCursorHandler
{
var gameArea, opponentCursorQueue, xOpponentI, yOpponentI;
function MouseCursorHandler (gameArea) {
this.gameArea = gameArea;
opponentCursorQueue = new Array();
xOpponentI = new util.timing.IFloat();
yOpponentI = new util.timing.IFloat();
}
function setOpponentCursor(x, y) {
opponentCursorQueue.push(x, y);
}
function processNextOpponentCursorPos() {
while (opponentCursorQueue.length >= 2) {
var _local4 = opponentCursorQueue.splice(0, 2);
var _local3 = _local4[0];
var _local5 = _local4[1];
_root.opponentCursor._visible = _local3 != -999;
if (xOpponent < 0) {
xOpponent = _local3 * 4;
yOpponent = _local5 * 4;
xOpponentA = 0;
yOpponentA = 0;
xOpponentI.set(xOpponent);
yOpponentI.set(yOpponent);
xOpponentI.set(xOpponent);
yOpponentI.set(yOpponent);
} else {
xOpponent = _local3 * 4;
yOpponent = _local5 * 4;
}
}
}
function sendOwnCursorPos() {
var _local3 = int(_root._xMouse / 4);
var _local4 = int(_root._yMouse / 4);
if (!gameArea.mouseOver) {
_local4 = -999;
_local3 = _local4;
}
gameArea.comm.sendMousePos(_local3, _local4);
}
function tick() {
processNextOpponentCursorPos();
if ((++step) == 4) {
step = 0;
sendOwnCursorPos();
}
var _local3 = xOpponentI.get(1);
var _local2 = yOpponentI.get(1);
xOpponentA = xOpponentA + ((xOpponent - _local3) * 0.25);
yOpponentA = yOpponentA + ((yOpponent - _local2) * 0.25);
_local3 = _local3 + xOpponentA;
_local2 = _local2 + yOpponentA;
xOpponentA = xOpponentA * 0.3;
yOpponentA = yOpponentA * 0.3;
xOpponentI.set(_local3);
yOpponentI.set(_local2);
}
function render(tick, alpha) {
if (xOpponent > 0) {
_root.opponentCursor._x = xOpponentI.get(alpha);
_root.opponentCursor._y = yOpponentI.get(alpha);
}
}
var xOpponent = -999;
var yOpponent = -999;
var xOpponentA = 0;
var yOpponentA = 0;
var step = 0;
}
Symbol 533 MovieClip [__Packages.util.timing.Timer] Frame 0
class util.timing.Timer
{
var timeable;
function Timer (timeable, gameTicksPerSecond) {
millisPerGameTick = 1000 / gameTicksPerSecond;
this.timeable = timeable;
maxTickTime = 500;
}
function getMillisPerTick() {
return(millisPerGameTick);
}
function setMaxTickTime(millis) {
maxTickTime = millis;
}
function advanceTime2() {
var _local3 = getTimer();
if (startTime < 0) {
startTime = _local3;
unprocessedTime = millisPerGameTick;
}
time = _local3 - startTime;
var _local4 = time - lastTime;
lastTime = time;
unprocessedTime = unprocessedTime + _local4;
if (unprocessedTime >= millisPerGameTick) {
var _local2 = maxTickTime + _local3;
do {
timeable.tick(tick);
tick++;
unprocessedTime = unprocessedTime - millisPerGameTick;
} while ((unprocessedTime >= millisPerGameTick) && (getTimer() < _local2));
}
var _local5 = (unprocessedTime % millisPerGameTick) / millisPerGameTick;
timeable.render(tick, _local5);
}
function advanceTime() {
time = getTimer();
var _local3 = time - lastTime;
lastTime = time;
unprocessedTime = unprocessedTime + _local3;
var _local2 = 0;
while (unprocessedTime > millisPerGameTick) {
unprocessedTime = unprocessedTime - millisPerGameTick;
timeable.tick(tick);
tick++;
_local2++;
if (_local2 >= 10) {
unprocessedTime = 0;
}
}
var _local4 = unprocessedTime / millisPerGameTick;
timeable.render(tick, _local4);
}
var time = 0;
var startTime = -1;
var lastTime = 0;
var unprocessedTime = 0;
var tick = 0;
var millisPerGameTick = 0;
var maxTickTime = -1;
}
Symbol 534 MovieClip [__Packages.com.king.backgammon.Board] Frame 0
class com.king.backgammon.Board
{
var undoStack, points, pipCounts, bornOff, bars, currentPlayer, remainingDice;
function Board () {
undoStack = new Array();
points = new Array(24);
pipCounts = new Array(2);
bornOff = new Array(2);
bornOff[0] = 0;
bornOff[1] = 0;
bars = new Array(2);
bars[0] = 0;
bars[1] = 0;
var _local2 = 0;
while (_local2 < 24) {
points[_local2] = new com.king.backgammon.Point();
_local2++;
}
if (com.king.backgammon.GameArea.DEBUG_MODE && false) {
bars[0] = 1;
bars[1] = 1;
bornOff[0] = 0;
bornOff[1] = 0;
points[0].setup(0, 2);
points[1].setup(0, 2);
points[2].setup(0, 2);
points[3].setup(0, 2);
points[4].setup(0, 2);
points[5].setup(0, 2);
points[23].setup(1, 2);
points[22].setup(1, 2);
points[21].setup(1, 2);
points[20].setup(1, 2);
points[19].setup(1, 2);
points[18].setup(1, 2);
} else {
points[23].setup(0, 2);
points[12].setup(0, 5);
points[7].setup(0, 3);
points[5].setup(0, 5);
points[0].setup(1, 2);
points[11].setup(1, 5);
points[16].setup(1, 3);
points[18].setup(1, 5);
}
updatePipCounts();
currentPlayer = 1;
}
function canRollDice() {
if (bars[currentPlayer] == 0) {
return(true);
}
if (currentPlayer == 1) {
var _local2 = 0;
while (_local2 < 6) {
if ((points[_local2].owner == currentPlayer) || (points[_local2].checkers < 2)) {
return(true);
}
_local2++;
}
} else {
var _local2 = 0;
while (_local2 < 6) {
if ((points[23 - _local2].owner == currentPlayer) || (points[23 - _local2].checkers < 2)) {
return(true);
}
_local2++;
}
}
return(false);
}
function setStartingPlayer(startingPlayer) {
currentPlayer = startingPlayer;
}
function startTurn() {
undoStack = new Array();
currentPlayer = 1 - currentPlayer;
remainingDice = new Array();
}
function rollDice(d0, d1) {
if (d1 > d0) {
var _local4 = d0;
d0 = d1;
d1 = _local4;
}
remainingDice.push(d0);
remainingDice.push(d1);
if (d0 == d1) {
remainingDice.push(d0);
remainingDice.push(d1);
}
}
function getPipCount(side) {
return(pipCounts[side]);
}
function updatePipCounts() {
var _local3 = 0;
while (_local3 < 2) {
pipCounts[_local3] = bars[_local3] * 25;
var _local2 = 0;
while (_local2 < 24) {
if ((points[_local2].owner == _local3) && (points[_local2].checkers > 0)) {
var _local4 = _local2 + 1;
if (_local3 == 1) {
_local4 = 24 - _local2;
}
pipCounts[_local3] = pipCounts[_local3] + (_local4 * points[_local2].checkers);
}
_local2++;
}
_local3++;
}
}
function hasRemainingMoves() {
if (remainingDice.length == 0) {
return(false);
}
var _local2 = -1;
while (_local2 < 24) {
if (hasValidMoveFrom(currentPlayer, _local2, remainingDice)) {
return(true);
}
_local2++;
}
return(false);
}
function getLegalMovesFrom(point, dicestack) {
if (dicestack == undefined) {
dicestack = new Array();
}
var _local10 = new Array();
var _local3 = 0;
while (_local3 < remainingDice.length) {
dicestack.push(remainingDice[_local3]);
var _local8 = -999;
if (isValidMoveSingleDie(currentPlayer, point, remainingDice[_local3], remainingDice)) {
var _local6 = getTargetPoint(currentPlayer, point, remainingDice[_local3]);
if (_local6 != _local8) {
var _local7 = new Object();
_local7.target = _local6;
var _local5 = new Array();
var _local2 = 0;
while (_local2 < dicestack.length) {
_local5.push(dicestack[_local2]);
_local2++;
}
_local7.diceUsed = _local5;
_local10.push(_local7);
_local8 = _local6;
}
}
dicestack.pop();
_local3++;
}
return(_local10);
}
function getSecondaryLegalMovesFrom(point, dicestack) {
if (dicestack == undefined) {
dicestack = new Array();
}
var _local6 = new Array();
var _local5 = 0;
while (_local5 < remainingDice.length) {
dicestack.push(remainingDice[_local5]);
var _local8 = -999;
if (isValidMoveSingleDie(currentPlayer, point, remainingDice[_local5], remainingDice)) {
var _local4 = getTargetPoint(currentPlayer, point, remainingDice[_local5]);
if (((_local4 != _local8) && (_local4 >= 0)) && (_local4 < 24)) {
performMove(point, _local4);
var _local2 = getSecondaryLegalMovesFrom(_local4, dicestack);
var _local3 = 0;
while (_local3 < _local2.length) {
_local6.push(_local2[_local3]);
_local3++;
}
_local2 = getLegalMovesFrom(_local4, dicestack);
_local3 = 0;
while (_local3 < _local2.length) {
_local6.push(_local2[_local3]);
_local3++;
}
undo();
}
}
dicestack.pop();
_local5++;
}
return(_local6);
}
function performBearOff(sourcePoint) {
var _local2 = 0;
while (_local2 < remainingDice.length) {
if (isValidMoveSingleDie(currentPlayer, sourcePoint, remainingDice[_local2], remainingDice)) {
var _local3 = getTargetPoint(currentPlayer, sourcePoint, remainingDice[_local2]);
if ((_local3 < 0) || (_local3 >= 24)) {
move(currentPlayer, sourcePoint, remainingDice[_local2]);
remainingDice.splice(_local2, 1);
return(undefined);
}
}
_local2++;
}
}
function performRecurseBearOff(sourcePoint) {
var _local2 = 0;
while (_local2 < remainingDice.length) {
if (isValidMoveSingleDie(currentPlayer, sourcePoint, remainingDice[_local2], remainingDice)) {
var _local3 = getTargetPoint(currentPlayer, sourcePoint, remainingDice[_local2]);
if ((_local3 < 0) || (_local3 >= 24)) {
move(currentPlayer, sourcePoint, remainingDice[_local2]);
remainingDice.splice(_local2, 1);
return(true);
}
performMove(sourcePoint, _local3);
if (!performRecurseBearOff(_local3)) {
undo();
} else {
return(true);
}
}
_local2++;
}
return(false);
}
function performRecurseMove(point, targetPoint) {
var _local3 = 0;
while (_local3 < remainingDice.length) {
if (isValidMoveSingleDie(currentPlayer, point, remainingDice[_local3], remainingDice)) {
var _local2 = getTargetPoint(currentPlayer, point, remainingDice[_local3]);
if ((_local2 >= 0) && (_local2 < 24)) {
performMove(point, _local2);
if (_local2 == targetPoint) {
return(true);
}
if (!performRecurseMove(_local2, targetPoint)) {
undo();
} else {
return(true);
}
}
}
_local3++;
}
return(false);
}
function performMove(sourcePoint, targetPoint) {
var _local2 = 0;
while (_local2 < remainingDice.length) {
if (isValidMoveSingleDie(currentPlayer, sourcePoint, remainingDice[_local2], remainingDice)) {
var _local4 = getTargetPoint(currentPlayer, sourcePoint, remainingDice[_local2]);
if (_local4 == targetPoint) {
move(currentPlayer, sourcePoint, remainingDice[_local2]);
remainingDice.splice(_local2, 1);
return(true);
}
}
_local2++;
}
return(false);
}
function hasWon(playerSide) {
return(bornOff[playerSide] == 15);
}
function hasValidMoveFrom(playerSide, point, dice) {
if (dice == undefined) {
dice = remainingDice;
}
var _local2 = 0;
while (_local2 < dice.length) {
if (isValidMoveSingleDie(playerSide, point, dice[_local2], dice)) {
return(true);
}
_local2++;
}
return(false);
}
function checkBearOff(playerSide) {
if (playerSide == 0) {
var _local2 = 6;
while (_local2 < 24) {
if ((points[_local2].owner == playerSide) && (points[_local2].checkers > 0)) {
return(false);
}
_local2++;
}
} else {
var _local2 = 0;
while (_local2 < 18) {
if ((points[_local2].owner == playerSide) && (points[_local2].checkers > 0)) {
return(false);
}
_local2++;
}
}
return(true);
}
function getTargetPoint(playerSide, point, pips) {
var _local4 = (playerSide * 2) - 1;
var _local1 = point + (pips * _local4);
if (point == -1) {
var _local2 = pips - 1;
if (playerSide == 0) {
_local2 = 24 - pips;
}
_local1 = _local2;
}
return(_local1);
}
function isValidMove(playerSide, point, dice, checkDice) {
if (isValidMoveSingleDie(playerSide, point, dice[checkDice], dice)) {
return(true);
}
return(false);
}
function canClickPoint(point) {
if (point == -1) {
return(bars[currentPlayer] > 0);
}
if ((points[point].owner != currentPlayer) || (points[point].checkers == 0)) {
return(false);
}
return(true);
}
function isValidMoveSingleDie(playerSide, point, pips, dice) {
if (point == -1) {
if (bars[playerSide] == 0) {
return(false);
}
var _local5 = pips - 1;
if (playerSide == 0) {
_local5 = 24 - pips;
}
if ((points[_local5].owner != playerSide) && (points[_local5].checkers > 1)) {
return(false);
}
return(true);
}
if (bars[playerSide] > 0) {
return(false);
}
if ((points[point].owner != playerSide) || (points[point].checkers == 0)) {
return(false);
}
var _local10 = (playerSide * 2) - 1;
var _local6 = point + (pips * _local10);
var _local12 = (_local6 < 0) || (_local6 >= 24);
if (_local12) {
var _local11 = checkBearOff(playerSide);
if (!_local11) {
return(false);
}
var _local5 = point + 1;
if (playerSide == 1) {
_local5 = 24 - point;
}
if (_local5 == pips) {
return(true);
}
var _local2 = _local5;
while (_local2 < 6) {
var _local3 = _local2;
if (playerSide == 1) {
_local3 = 23 - _local2;
}
if (hasValidMoveFrom(playerSide, _local3, dice)) {
return(false);
}
_local2++;
}
return(true);
}
if (points[_local6].checkers < 2) {
return(true);
}
if (points[_local6].owner == playerSide) {
return(true);
}
return(false);
}
function saveState() {
var _local4 = new Array(24);
var _local5 = new Array(2);
var _local3 = new Array(2);
var _local6 = new Array(remainingDice.length);
var _local2 = 0;
while (_local2 < 24) {
_local4[_local2] = (new com.king.backgammon.Point()).clone(points[_local2]);
_local2++;
}
_local2 = 0;
while (_local2 < 2) {
_local5[_local2] = bornOff[_local2];
_local3[_local2] = bars[_local2];
_local2++;
}
_local2 = 0;
while (_local2 < remainingDice.length) {
_local6[_local2] = remainingDice[_local2];
_local2++;
}
undoStack.push(new Array(_local4, _local5, _local3, _local6));
}
function undo() {
var _local2 = undoStack.pop();
points = _local2[0];
bornOff = _local2[1];
bars = _local2[2];
remainingDice = _local2[3];
updatePipCounts();
}
function hasUndo() {
return(undoStack.length > 0);
}
function move(playerSide, point, pips) {
saveState();
points[point].checkers--;
var _local6 = (playerSide * 2) - 1;
var _local2 = point + (pips * _local6);
if (point == -1) {
bars[playerSide]--;
var _local4 = pips - 1;
if (playerSide == 0) {
_local4 = 24 - pips;
}
_local2 = _local4;
}
if ((_local2 < 0) || (_local2 >= 24)) {
bornOff[currentPlayer]++;
} else if ((points[_local2].owner != playerSide) && (points[_local2].checkers == 1)) {
points[_local2].owner = playerSide;
bars[1 - playerSide]++;
} else {
points[_local2].owner = playerSide;
points[_local2].checkers++;
}
updatePipCounts();
}
function getScoreModifier(winningSide) {
if (bornOff[winningSide] < 15) {
return(1);
}
var _local3 = 1 - winningSide;
if (bornOff[_local3] > 0) {
return(1);
}
if (bars[_local3] > 0) {
return(3);
}
if (_local3 == 0) {
var _local2 = 0;
while (_local2 < 5) {
if ((points[23 - _local2].owner == _local3) && (points[23 - _local2].checkers > 0)) {
return(3);
}
_local2++;
}
} else {
var _local2 = 0;
while (_local2 < 5) {
if ((points[_local2].owner == _local3) && (points[_local2].checkers > 0)) {
return(3);
}
_local2++;
}
}
return(2);
}
}
Symbol 535 MovieClip [__Packages.com.king.backgammon.Point] Frame 0
class com.king.backgammon.Point
{
var owner, checkers, renderDepth;
function Point () {
owner = 0;
checkers = 0;
renderDepth = 15;
}
function clone(point) {
owner = point.owner;
checkers = point.checkers;
renderDepth = point.renderDepth;
return(this);
}
function setup(owner, checkers) {
if ((checkers == this.checkers) && (owner == this.owner)) {
return(undefined);
}
if (renderDepth < checkers) {
renderDepth = checkers;
}
if (renderDepth < this.checkers) {
renderDepth = this.checkers;
}
this.owner = owner;
this.checkers = checkers;
}
}
Symbol 536 MovieClip [__Packages.mx.utils.Delegate] Frame 0
class mx.utils.Delegate extends Object
{
var func;
function Delegate (f) {
super();
func = f;
}
static function create(obj, func) {
var _local2 = function () {
var _local2 = arguments.callee.target;
var _local3 = arguments.callee.func;
return(_local3.apply(_local2, arguments));
};
_local2.target = obj;
_local2.func = func;
return(_local2);
}
function createDelegate(obj) {
return(create(obj, func));
}
}
Symbol 537 MovieClip [__Packages.util.CommCallback] Frame 0
interface util.CommCallback
{
}
Symbol 538 MovieClip [__Packages.util.Client] Frame 0
class util.Client
{
var id, name, avatar, isPlayer, isConnected;
function Client (id, name, avatar) {
this.id = id;
this.name = name;
this.avatar = avatar;
isPlayer = false;
isConnected = true;
}
}
Symbol 539 MovieClip [__Packages.com.king.backgammon.OfflineComm] Frame 0
class com.king.backgammon.OfflineComm implements util.CommCallback
{
var gameArea, localClient, connectedPlayers, playerIds, reversePlayerIds;
function OfflineComm (gameArea) {
_global.textMappings = new Array();
var _local3 = 0;
while (_local3 < txt.length) {
_global.textMappings[new String(txt[_local3][0])] = new String(txt[_local3][1]);
_local3++;
}
this.gameArea = gameArea;
parseGameData();
gameArea.setPlayer(0, new util.Client(0, "'Notch'", ""));
gameArea.setPlayer(1, new util.Client(1, "'Nisse'", ""));
gameArea.setSide(0, 100);
}
function instructionsRead() {
gameArea.rollDice(int((Math.random() * 6) + 1), int((Math.random() * 6) + 1));
}
function parseGameData() {
}
function gameEnd(score) {
if (!hasSentGameEnd) {
fscommand ("playData", "448=" + score);
hasSentGameEnd = true;
fscommand ("gameEnd", score);
}
}
function gameQuit() {
if (!hasSentGameOver) {
hasSentGameOver = true;
fscommand ("gameQuit");
}
}
function disconnected() {
_root.debugText.text = _root.debugText.text + "Disconnected!\r";
}
function tick() {
}
function connecting() {
}
function unableToConnect() {
_root.debugText.text = _root.debugText.text + "Unable to connect!\r";
gameArea.crashGame(_global.textMappings.unable_to_connect);
disconnected();
}
function localDisconnect() {
_root.debugText.text = _root.debugText.text + "Local disconnect!\r";
fscommand ("playData", ("188," + localClient.id) + "=0");
gameArea.crashGame(_global.textMappings.local_disconnect);
disconnected();
}
function clientAccepted(client) {
localPlayerNum = client.id;
gameArea.setPlayer(0, client);
}
function clientConnected(client) {
playerIds[connectedPlayers] = client;
reversePlayerIds[client.id] = connectedPlayers;
_root.debugText.text = _root.debugText.text + (("Client connected: " + client.name.substr(1, client.name.length - 2)) + "\r");
fscommand ("playData", ("223," + client.id) + "=0");
connectedPlayers++;
gameArea.setPlayer(1, client);
}
function clientDisconnected(playerNum, remainingPlayers) {
var _local4 = reversePlayerIds[playerNum];
var _local3 = playerIds[_local4];
gameArea.noMoreOpponents();
_root.debugText.text = _root.debugText.text + (("Client disconnected: " + _local3.name.substr(1, _local3.name.length - 2)) + "\r");
fscommand ("playData", ("244," + playerNum) + "=0");
}
function startGame() {
_root.debugText.text = _root.debugText.text + "Gamestart!\r";
fscommand ("playData", "1020=0");
}
function gameCommand(cmdStr) {
var _local3 = cmdStr.substr(0, 3);
if (_local3 == "MVM") {
var _local7 = cmdStr.substr(4).split(",");
var _local12 = new Number(_local7[0]).valueOf();
var _local11 = new Number(_local7[1]).valueOf();
gameArea.setOpponentCursor(_local12, _local11);
} else if (_local3 == "MVP") {
var _local7 = cmdStr.substr(4).split(",");
var _local6 = new Number(_local7[0]).valueOf();
var _local9 = new Number(_local7[1]).valueOf();
_root.debugText.text = _root.debugText.text + (("Game command: " + cmdStr) + "\r");
gameArea.opponentMovePiece(_local6, _local9);
} else if (_local3 == "JIP") {
var _local7 = cmdStr.substr(4).split(" ");
var _local10 = new Number(_local7[0]).valueOf();
var _local8 = new Number(_local7[1]).valueOf();
gameArea.setSide(_local10, _local8);
} else if (_local3 == "TRN") {
gameArea.startTurn();
} else if (_local3 == "JST") {
var _local7 = cmdStr.substr(4).split(",");
var _local5 = new Number(_local7[0]).valueOf();
var _local13 = new Number(_local7[1]).valueOf();
gameArea.rollDice(_local5, _local13);
} else if (_local3 == "PKP") {
var _local7 = cmdStr.substr(4).split(",");
var _local14 = new Number(_local7[0]).valueOf();
_root.debugText.text = _root.debugText.text + (("Game command: " + cmdStr) + "\r");
gameArea.opponentStartDrag(_local14);
} else if (_local3 == "UND") {
gameArea.opponentUndo();
} else if (_local3 == "RLS") {
gameArea.opponentStopDrag();
} else if (_local3 == "OMS") {
gameArea.opponentChat(cmdStr.substr(4));
} else if (_local3 == "DUR") {
gameArea.doubleUpRequest();
} else if (_local3 == "DRP") {
gameArea.doubleUpReply(new Number(cmdStr.substr(4)).valueOf());
} else {
_root.debugText.text = _root.debugText.text + (("Unknown game command: " + cmdStr) + "\r");
}
}
function sendPickupPiece(point) {
}
function sendReleasePiece() {
}
function sendMove(from, to) {
}
function sendMousePos(x, y) {
}
function sendEndTurn() {
}
function sendRollDice() {
}
function sendUndo() {
}
function doGameOver() {
}
function sendDoubleUpRequest() {
}
function sendDoubleUpReply(id) {
}
function shutdownForReal() {
}
function sendChat(message) {
}
function endGamePressed() {
fscommand ("playData", "755=0");
}
var localPlayerNum = -1;
var hasSentGameEnd = false;
var hasSentGameOver = false;
static var txt = [["instructions_title", "Instructi\u00C3\u00B6ns"], ["instructions_text", "Instructi\u00C3\u00B6ns for backgammon"], ["click_to_start", "Click \u00C3\u00A4nywhere to start the game"], ["undo", "UND\u00C3\u2013"], ["commit", "C\u00C3\u2013MMIT"], ["surrender", "Surr\u00C3\u00ABnder"], ["sound_on", "Sound \u00C3\u00B6n"], ["sound_off", "Sound \u00C3\u00B6ff"], ["welcome_message", "W\u00C3\u00B6lcome to backgamm\u00C3\u00B6n!"], ["start_turn", "[0]'s t\u00C3\u00BCrn."], ["instr_drag_cup", "Dr\u00C3\u00A4g cup to r\u00C3\u00B6ll dice"], ["locked_in", "[0] is l\u00C3\u00B6cked in and can't pl\u00C3\u00A4y!"], ["roll_one", "[0] r\u00C3\u00B6lls a [1]."], ["start_player", "[0] pl\u00C3\u00A4ys white."], ["roll_two", "[0] r\u00C3\u00B6lls a [1] and a [2]."], ["roll_double", "[0] r\u00C3\u00B6lls two [1]s."], ["no_more_moves", "No m\u00C3\u00B6re moves"], ["no_more_moves_text", "Click t\u00C3\u00B6 submit, or undo to undo"], ["hide", "Hid\u00C3\u00AB"], ["undo", "Und\u00C3\u00B6"], ["ok", "\u00C3\u2013K"], ["auto_ok_in", "Auto-\u00C3\u2013K in [0]"], ["instr_commit", "You can click the dice to c\u00C3\u00B6mmit your move"], ["pipcount", "Pipc\u00C3\u00B6unt: [0]"], ["you_win", "Y\u00C3\u00B6u win!"], ["you_win_time", "Y\u00C3\u00B6ur opponent ran out of time!"], ["you_win_surrender", "Y\u00C3\u00B6ur opponent has surrendered!"], ["game_start", "G\u00C3\u00A4me start!"], ["game_start_white", "Y\u00C3\u00B6u play white and play first."], ["game_start_red", "Y\u00C3\u00B6u play red and play second."], ["instr_drag_piece", "Dr\u00C3\u00A4g pieces to move them"], ["you_lose", "Y\u00C3\u00B6u lose!"], ["you_lose_time", "Y\u00C3\u00B6u ran out of time!"], ["you_lose_surrender", "Y\u00C3\u00B6u surrendered and lost the game."], ["game_ends_in", "The g\u00C3\u00A4me will end in [0] seconds"], ["double_up_request", "[0] wishes t\u00C3\u00B6 double up."], ["wait_for_reply", "Waiting f\u00C3\u00B6r opponent to reply.."], ["wait_for_reply_text", "The \u00C3\u00B6pponent is deciding if he wants to agree to your double up request"], ["double_up_reply_beaver", "[0] \u00C3\u00A4ccepted the double up and immediately doubled up again. (Beaver)"], ["double_up_reply_no", "[0] declined the d\u00C3\u00B6uble up."], ["double_up_reply_yes", "[0] accepted the d\u00C3\u00B6uble up."], ["beaver", "Be\u00C3\u00A4ver!"], ["accepted", "\u00C3\u201Eccepted!"], ["gammon_win", "G\u00C3\u00A4mmon!"], ["backgammon_win", "B\u00C3\u00A4ckgammon!"], ["win_text", "[0] wins, with [1] p\u00C3\u00B6ints."], ["win_normal", "C\u00C3\u00B6ngratulations, y\u00C3\u00B6u w\u00C3\u00B6n the game!"], ["win_opponent_left", "Y\u00C3\u00B6ur \u00C3\u00B6pponent has left the game!"], ["opponent_left", "[0] left the g\u00C3\u00A4me."], ["game_crash", "G\u00C3\u00A4me crash!"], ["lose_normal", "Y\u00C3\u00B6u lost the game!"], ["opponent_double_up", "Y\u00C3\u00B6ur opponent wishes to double up!"], ["opponent_double_up_text", "D\u00C3\u00B6 you accept? If you don't, you will lose the game."], ["beaver_reply", "Be\u00C3\u00A4ver"], ["surrender_reply", "S\u00C3\u00BCrrender"], ["accept_reply", "\u00C3\u201Eccept"], ["auto_surrender_in", "Aut\u00C3\u00B6-surrender in [0]"], ["yes", "Y\u00C3\u00ABs"], ["no", "N\u00C3\u00B6"], ["double_up_confirm", "\u00C3\u201Ere you sure you wish to double up?"], ["double_up_confirm_text", "D\u00C3\u00B6ubling up will double the bet!"], ["surrender_confirm", "\u00C3\u201Ere you sure you wish to double up?"], ["surrender_confirm_text", "You will lose the game if you surrender!"]];
}
Symbol 540 MovieClip [__Packages.com.king.backgammon.Comm] Frame 0
class com.king.backgammon.Comm implements util.CommCallback
{
var gameArea, comm, serverIp, serverPort, slotId, magic, localClient, connectedPlayers, playerIds, reversePlayerIds;
function Comm (gameArea) {
this.gameArea = gameArea;
parseGameData();
comm = new util.Communicator(this);
comm.connect(serverIp, serverPort, slotId, magic);
}
function parseGameData() {
var _local6 = new XML(_root.gameData);
_global.textMappings = new Object();
var _local5 = _local6.firstChild.childNodes;
var _local4 = 0;
while (_local4 < _local5.length) {
if (_local5[_local4].nodeName == "text") {
_global.textMappings[_local5[_local4].attributes.id] = new String(_local5[_local4].firstChild.nodeValue);
}
if (_local5[_local4].nodeName == "multiplayer") {
serverIp = new String(_local5[_local4].attributes.hostname);
serverPort = new Number(_local5[_local4].attributes.port);
slotId = new String(_local5[_local4].attributes.slotid);
magic = new String(_local5[_local4].attributes.magic);
}
_local4++;
}
}
function gameEnd(score) {
if (!hasSentGameEnd) {
comm.sendData("CGO");
fscommand ("playData", "448=" + score);
hasSentGameEnd = true;
fscommand ("gameEnd", score);
}
}
function gameQuit() {
if (!hasSentGameOver) {
hasSentGameOver = true;
fscommand ("gameQuit");
}
}
function disconnected() {
_root.debugText.text = _root.debugText.text + "Disconnected!\r";
}
function tick() {
comm.tick();
}
function connecting() {
_root.debugText.text = _root.debugText.text + (((("Connecting to " + serverIp) + ":") + serverPort) + "..\r");
}
function unableToConnect() {
_root.debugText.text = _root.debugText.text + "Unable to connect!\r";
gameArea.crashGame(_global.textMappings.unable_to_connect);
disconnected();
}
function localDisconnect() {
_root.debugText.text = _root.debugText.text + "Local disconnect!\r";
fscommand ("playData", ("188," + localClient.id) + "=0");
gameArea.crashGame(_global.textMappings.local_disconnect);
disconnected();
}
function clientAccepted(client) {
_root.debugText.text = _root.debugText.text + (("Client accepted as " + client.id) + "\r");
comm.sendData("CIR");
localClient = client;
fscommand ("playData", ("111," + client.id) + "=0");
localPlayerNum = client.id;
gameArea.setPlayer(0, client);
}
function clientConnected(client) {
playerIds[connectedPlayers] = client;
reversePlayerIds[client.id] = connectedPlayers;
_root.debugText.text = _root.debugText.text + (("Client connected: " + client.name.substr(1, client.name.length - 2)) + "\r");
fscommand ("playData", ("223," + client.id) + "=0");
connectedPlayers++;
gameArea.setPlayer(1, client);
}
function clientDisconnected(playerNum, remainingPlayers) {
var _local4 = reversePlayerIds[playerNum];
var _local3 = playerIds[_local4];
gameArea.noMoreOpponents();
_root.debugText.text = _root.debugText.text + (("Client disconnected: " + _local3.name.substr(1, _local3.name.length - 2)) + "\r");
fscommand ("playData", ("244," + playerNum) + "=0");
}
function startGame() {
_root.debugText.text = _root.debugText.text + "Gamestart!\r";
fscommand ("playData", "1020=0");
comm.sendData("JSG");
}
function gameCommand(cmdStr) {
var _local3 = cmdStr.substr(0, 3);
if (_local3 == "MVM") {
var _local7 = cmdStr.substr(4).split(",");
var _local12 = new Number(_local7[0]).valueOf();
var _local11 = new Number(_local7[1]).valueOf();
gameArea.setOpponentCursor(_local12, _local11);
} else if (_local3 == "MVP") {
var _local7 = cmdStr.substr(4).split(",");
var _local6 = new Number(_local7[0]).valueOf();
var _local9 = new Number(_local7[1]).valueOf();
_root.debugText.text = _root.debugText.text + (("Game command: " + cmdStr) + "\r");
gameArea.opponentMovePiece(_local6, _local9);
} else if (_local3 == "JIP") {
var _local7 = cmdStr.substr(4).split(" ");
var _local10 = new Number(_local7[0]).valueOf();
var _local8 = new Number(_local7[1]).valueOf();
gameArea.setSide(_local10, _local8);
} else if (_local3 == "TRN") {
gameArea.startTurn();
} else if (_local3 == "JST") {
var _local7 = cmdStr.substr(4).split(",");
var _local5 = new Number(_local7[0]).valueOf();
var _local13 = new Number(_local7[1]).valueOf();
gameArea.rollDice(_local5, _local13);
} else if (_local3 == "PKP") {
var _local7 = cmdStr.substr(4).split(",");
var _local14 = new Number(_local7[0]).valueOf();
_root.debugText.text = _root.debugText.text + (("Game command: " + cmdStr) + "\r");
gameArea.opponentStartDrag(_local14);
} else if (_local3 == "UND") {
gameArea.opponentUndo();
} else if (_local3 == "OOT") {
gameArea.opponentOutOfTime();
} else if (_local3 == "RLS") {
gameArea.opponentStopDrag();
} else if (_local3 == "SUR") {
gameArea.opponentSurrendered();
} else if (_local3 == "OMS") {
gameArea.opponentChat(cmdStr.substr(4));
} else if (_local3 == "DUR") {
gameArea.doubleUpRequest();
} else if (_local3 == "DRP") {
gameArea.doubleUpReply(new Number(cmdStr.substr(4)).valueOf());
} else {
_root.debugText.text = _root.debugText.text + (("Unknown game command: " + cmdStr) + "\r");
}
}
function sendPickupPiece(point) {
comm.sendData("PKP " + point);
}
function sendReleasePiece() {
comm.sendData("RLS");
}
function sendMove(from, to) {
comm.sendData((("MVP " + from) + ",") + to);
}
function sendMousePos(x, y) {
comm.sendData((("MVM " + x) + ",") + y);
}
function sendEndTurn() {
comm.sendData("TRN");
}
function sendRollDice() {
comm.sendData("JET");
}
function sendUndo() {
comm.sendData("UND");
}
function doGameOver() {
comm.sendData("CGO");
}
function sendDoubleUpRequest() {
comm.sendData("DUR");
}
function sendOutOfTime() {
comm.sendData("OOT");
}
function sendDoubleUpReply(id) {
comm.sendData("DRP " + id);
}
function shutdownForReal() {
comm.disconnect();
}
function sendChat(message) {
comm.sendData("OMS " + message);
}
function sendSurrender() {
comm.sendData("SUR");
}
function instructionsRead() {
comm.sendData("STG");
}
function endGamePressed() {
fscommand ("playData", "755=0");
}
var localPlayerNum = -1;
var hasSentGameEnd = false;
var hasSentGameOver = false;
}
Symbol 541 MovieClip [__Packages.util.Communicator] Frame 0
class util.Communicator
{
var callback, connectString, slotId, magic, socket;
function Communicator (callback) {
this.callback = callback;
}
function connect(serverIp, serverPort, slotId, magic) {
connectString = (serverIp + ":") + serverPort;
this.slotId = slotId;
this.magic = magic;
socket = new XMLSocket();
callback.connecting();
var thisComm = this;
socket.onConnect = function (success) {
_root.infoLabel.text = _root.infoLabel.text + ("\ronConnect: " + success);
if (success) {
thisComm.connected();
} else {
thisComm.unableToConnect();
}
};
socket.onData = function (str) {
_root.infoLabel.text = _root.infoLabel.text + ("\ronData: " + str);
thisComm.cmdReceived(str);
};
socket.onClose = function () {
_root.infoLabel.text = _root.infoLabel.text + "\ronClose";
thisComm.localDisconnect();
};
_root.infoLabel.text = _root.infoLabel.text + (((("\r!Connecting to " + serverIp) + ":") + serverPort) + "...");
if (!socket.connect(serverIp, serverPort)) {
_root.infoLabel.text = _root.infoLabel.text + "\r!connect: aww :'(";
thisComm.unableToConnect();
} else {
_root.infoLabel.text = _root.infoLabel.text + "\rconnect: yay =D";
}
}
function cmdReceived(str) {
_root.infoLabel.text = _root.infoLabel.text + ("\rGot CMD: " + str);
var _local3 = str.split(" ");
if (_local3[0] == "SCA") {
var _local7 = new Number(_local3[1]);
var _local4 = _local3[2];
var _local5 = 3;
while (_local4.charAt(_local4.length - 1) != "\"") {
_local4 = _local4 + (" " + _local3[_local5++]);
}
var _local8 = _local3[_local5];
callback.clientAccepted(new util.Client(_local7, _local4, _local8));
isConnected = true;
} else if (_local3[0] == "SAC") {
var _local7 = new Number(_local3[1]);
var _local4 = _local3[2];
var _local5 = 3;
while (_local4.charAt(_local4.length - 1) != "\"") {
_local4 = _local4 + (" " + _local3[_local5++]);
}
var _local8 = _local3[_local5];
callback.clientConnected(new util.Client(_local7, _local4, _local8));
} else if (_local3[0] == "SCD") {
var _local7 = new Number(_local3[1]);
var _local9 = new Number(_local3[2]);
callback.clientDisconnected(_local7, _local9);
} else if (_local3[0] == "SSG") {
fscommand ("gameStart");
callback.startGame();
} else if (_local3[0] == "STM") {
var _local10 = new Number(_local3[1]);
} else {
callback.gameCommand(str);
}
}
function unableToConnect() {
disconnected();
callback.unableToConnect();
}
function localDisconnect() {
disconnected();
callback.localDisconnect();
}
function disconnected() {
isConnected = false;
}
function connected() {
sendData((("CCC " + slotId) + " ") + magic);
}
function sendData(cmd) {
socket.send(cmd);
}
function disconnect() {
socket.close();
isConnected = false;
}
function tick() {
if (isConnected) {
var _local2 = getTimer();
if ((_local2 - lastPingTime) > 10000) {
lastPingTime = _local2;
sendData("CTM");
}
}
}
var pingTime = 4;
var lastPingTime = -1;
var isConnected = false;
}
Symbol 542 MovieClip [__Packages.com.king.backgammon.Piece] Frame 0
class com.king.backgammon.Piece extends MovieClip
{
var useHandCursor, gameArea, point;
function Piece () {
super();
useHandCursor = false;
}
function init(gameArea, point) {
this.gameArea = gameArea;
this.point = point;
}
function onDragOver() {
onRollOver();
}
function onRollOver() {
}
function onPress() {
}
}
Symbol 431 MovieClip [__Packages.mx.core.UIObject] Frame 0
class mx.core.UIObject extends MovieClip
{
var _width, _height, _x, _y, _parent, _minHeight, _minWidth, _visible, dispatchEvent, _xscale, _yscale, methodTable, onEnterFrame, tfList, __width, __height, moveTo, lineTo, createTextField, attachMovie, buildDepthTable, findNextAvailableDepth, idNames, childrenCreated, _name, createAccessibilityImplementation, _endInit, validateNow, hasOwnProperty, initProperties, stylecache, className, ignoreClassStyleDeclaration, _tf, fontFamily, fontSize, color, marginLeft, marginRight, fontStyle, fontWeight, textAlign, textIndent, textDecoration, embedFonts, styleName, enabled;
function UIObject () {
super();
constructObject();
}
function get width() {
return(_width);
}
function get height() {
return(_height);
}
function get left() {
return(_x);
}
function get x() {
return(_x);
}
function get top() {
return(_y);
}
function get y() {
return(_y);
}
function get right() {
return(_parent.width - (_x + width));
}
function get bottom() {
return(_parent.height - (_y + height));
}
function getMinHeight(Void) {
return(_minHeight);
}
function setMinHeight(h) {
_minHeight = h;
}
function get minHeight() {
return(getMinHeight());
}
function set minHeight(h) {
setMinHeight(h);
//return(minHeight);
}
function getMinWidth(Void) {
return(_minWidth);
}
function setMinWidth(w) {
_minWidth = w;
}
function get minWidth() {
return(getMinWidth());
}
function set minWidth(w) {
setMinWidth(w);
//return(minWidth);
}
function setVisible(x, noEvent) {
if (x != _visible) {
_visible = x;
if (noEvent != true) {
dispatchEvent({type:(x ? "reveal" : "hide")});
}
}
}
function get visible() {
return(_visible);
}
function set visible(x) {
setVisible(x, false);
//return(visible);
}
function get scaleX() {
return(_xscale);
}
function set scaleX(x) {
_xscale = x;
//return(scaleX);
}
function get scaleY() {
return(_yscale);
}
function set scaleY(y) {
_yscale = y;
//return(scaleY);
}
function doLater(obj, fn) {
if (methodTable == undefined) {
methodTable = new Array();
}
methodTable.push({obj:obj, fn:fn});
onEnterFrame = doLaterDispatcher;
}
function doLaterDispatcher(Void) {
delete onEnterFrame;
if (invalidateFlag) {
redraw();
}
var _local3 = methodTable;
methodTable = new Array();
if (_local3.length > 0) {
var _local2;
while (_local2 = _local3.shift() , _local2 != undefined) {
_local2.obj[_local2.fn]();
}
}
}
function cancelAllDoLaters(Void) {
delete onEnterFrame;
methodTable = new Array();
}
function invalidate(Void) {
invalidateFlag = true;
onEnterFrame = doLaterDispatcher;
}
function invalidateStyle(Void) {
invalidate();
}
function redraw(bAlways) {
if (invalidateFlag || (bAlways)) {
invalidateFlag = false;
var _local2;
for (_local2 in tfList) {
tfList[_local2].draw();
}
draw();
dispatchEvent({type:"draw"});
}
}
function draw(Void) {
}
function move(x, y, noEvent) {
var _local3 = _x;
var _local2 = _y;
_x = x;
_y = y;
if (noEvent != true) {
dispatchEvent({type:"move", oldX:_local3, oldY:_local2});
}
}
function setSize(w, h, noEvent) {
var _local2 = __width;
var _local3 = __height;
__width = w;
__height = h;
size();
if (noEvent != true) {
dispatchEvent({type:"resize", oldWidth:_local2, oldHeight:_local3});
}
}
function size(Void) {
_width = __width;
_height = __height;
}
function drawRect(x1, y1, x2, y2) {
moveTo(x1, y1);
lineTo(x2, y1);
lineTo(x2, y2);
lineTo(x1, y2);
lineTo(x1, y1);
}
function createLabel(name, depth, text) {
createTextField(name, depth, 0, 0, 0, 0);
var _local2 = this[name];
_local2._color = textColorList;
_local2._visible = false;
_local2.__text = text;
if (tfList == undefined) {
tfList = new Object();
}
tfList[name] = _local2;
_local2.invalidateStyle();
invalidate();
_local2.styleName = this;
return(_local2);
}
function createObject(linkageName, id, depth, initobj) {
return(attachMovie(linkageName, id, depth, initobj));
}
function createClassObject(className, id, depth, initobj) {
var _local3 = className.symbolName == undefined;
if (_local3) {
Object.registerClass(className.symbolOwner.symbolName, className);
}
var _local4 = createObject(className.symbolOwner.symbolName, id, depth, initobj);
if (_local3) {
Object.registerClass(className.symbolOwner.symbolName, className.symbolOwner);
}
return(_local4);
}
function createEmptyObject(id, depth) {
return(createClassObject(mx.core.UIObject, id, depth));
}
function destroyObject(id) {
var _local2 = this[id];
if (_local2.getDepth() < 0) {
var _local4 = buildDepthTable();
var _local5 = findNextAvailableDepth(0, _local4, "up");
var _local3 = _local5;
_local2.swapDepths(_local3);
}
_local2.removeMovieClip();
delete this[id];
}
function getSkinIDName(tag) {
return(idNames[tag]);
}
function setSkin(tag, linkageName, initObj) {
if (_global.skinRegistry[linkageName] == undefined) {
mx.skins.SkinElement.registerElement(linkageName, mx.skins.SkinElement);
}
return(createObject(linkageName, getSkinIDName(tag), tag, initObj));
}
function createSkin(tag) {
var _local2 = getSkinIDName(tag);
createEmptyObject(_local2, tag);
return(this[_local2]);
}
function createChildren(Void) {
}
function _createChildren(Void) {
createChildren();
childrenCreated = true;
}
function constructObject(Void) {
if (_name == undefined) {
return(undefined);
}
init();
_createChildren();
createAccessibilityImplementation();
_endInit();
if (validateNow) {
redraw(true);
} else {
invalidate();
}
}
function initFromClipParameters(Void) {
var _local4 = false;
var _local2;
for (_local2 in clipParameters) {
if (hasOwnProperty(_local2)) {
_local4 = true;
this["def_" + _local2] = this[_local2];
delete this[_local2];
}
}
if (_local4) {
for (_local2 in clipParameters) {
var _local3 = this["def_" + _local2];
if (_local3 != undefined) {
this[_local2] = _local3;
}
}
}
}
function init(Void) {
__width = _width;
__height = _height;
if (initProperties == undefined) {
initFromClipParameters();
} else {
initProperties();
}
if (_global.cascadingStyles == true) {
stylecache = new Object();
}
}
function getClassStyleDeclaration(Void) {
var _local4 = this;
var _local3 = className;
while (_local3 != undefined) {
if (ignoreClassStyleDeclaration[_local3] == undefined) {
if (_global.styles[_local3] != undefined) {
return(_global.styles[_local3]);
}
}
_local4 = _local4.__proto__;
_local3 = _local4.className;
}
}
function setColor(color) {
}
function __getTextFormat(tf, bAll) {
var _local8 = stylecache.tf;
if (_local8 != undefined) {
var _local3;
for (_local3 in mx.styles.StyleManager.TextFormatStyleProps) {
if (bAll || (mx.styles.StyleManager.TextFormatStyleProps[_local3])) {
if (tf[_local3] == undefined) {
tf[_local3] = _local8[_local3];
}
}
}
return(false);
}
var _local6 = false;
for (var _local3 in mx.styles.StyleManager.TextFormatStyleProps) {
if (bAll || (mx.styles.StyleManager.TextFormatStyleProps[_local3])) {
if (tf[_local3] == undefined) {
var _local5 = _tf[_local3];
if (_local5 != undefined) {
tf[_local3] = _local5;
} else if ((_local3 == "font") && (fontFamily != undefined)) {
tf[_local3] = fontFamily;
} else if ((_local3 == "size") && (fontSize != undefined)) {
tf[_local3] = fontSize;
} else if ((_local3 == "color") && (color != undefined)) {
tf[_local3] = color;
} else if ((_local3 == "leftMargin") && (marginLeft != undefined)) {
tf[_local3] = marginLeft;
} else if ((_local3 == "rightMargin") && (marginRight != undefined)) {
tf[_local3] = marginRight;
} else if ((_local3 == "italic") && (fontStyle != undefined)) {
tf[_local3] = fontStyle == _local3;
} else if ((_local3 == "bold") && (fontWeight != undefined)) {
tf[_local3] = fontWeight == _local3;
} else if ((_local3 == "align") && (textAlign != undefined)) {
tf[_local3] = textAlign;
} else if ((_local3 == "indent") && (textIndent != undefined)) {
tf[_local3] = textIndent;
} else if ((_local3 == "underline") && (textDecoration != undefined)) {
tf[_local3] = textDecoration == _local3;
} else if ((_local3 == "embedFonts") && (embedFonts != undefined)) {
tf[_local3] = embedFonts;
} else {
_local6 = true;
}
}
}
}
if (_local6) {
var _local9 = styleName;
if (_local9 != undefined) {
if (typeof(_local9) != "string") {
_local6 = _local9.__getTextFormat(tf, true, this);
} else if (_global.styles[_local9] != undefined) {
_local6 = _global.styles[_local9].__getTextFormat(tf, true, this);
}
}
}
if (_local6) {
var _local10 = getClassStyleDeclaration();
if (_local10 != undefined) {
_local6 = _local10.__getTextFormat(tf, true, this);
}
}
if (_local6) {
if (_global.cascadingStyles) {
if (_parent != undefined) {
_local6 = _parent.__getTextFormat(tf, false);
}
}
}
if (_local6) {
_local6 = _global.style.__getTextFormat(tf, true, this);
}
return(_local6);
}
function _getTextFormat(Void) {
var _local2 = stylecache.tf;
if (_local2 != undefined) {
return(_local2);
}
_local2 = new TextFormat();
__getTextFormat(_local2, true);
stylecache.tf = _local2;
if (enabled == false) {
var _local3 = getStyle("disabledColor");
_local2.color = _local3;
}
return(_local2);
}
function getStyleName(Void) {
var _local2 = styleName;
if (_local2 != undefined) {
if (typeof(_local2) != "string") {
return(_local2.getStyleName());
}
return(_local2);
}
if (_parent != undefined) {
return(_parent.getStyleName());
}
return(undefined);
}
function getStyle(styleProp) {
var _local3;
_global.getStyleCounter++;
if (this[styleProp] != undefined) {
return(this[styleProp]);
}
var _local6 = styleName;
if (_local6 != undefined) {
if (typeof(_local6) != "string") {
_local3 = _local6.getStyle(styleProp);
} else {
var _local7 = _global.styles[_local6];
_local3 = _local7.getStyle(styleProp);
}
}
if (_local3 != undefined) {
return(_local3);
}
var _local7 = getClassStyleDeclaration();
if (_local7 != undefined) {
_local3 = _local7[styleProp];
}
if (_local3 != undefined) {
return(_local3);
}
if (_global.cascadingStyles) {
if (mx.styles.StyleManager.isInheritingStyle(styleProp) || (mx.styles.StyleManager.isColorStyle(styleProp))) {
var _local5 = stylecache;
if (_local5 != undefined) {
if (_local5[styleProp] != undefined) {
return(_local5[styleProp]);
}
}
if (_parent != undefined) {
_local3 = _parent.getStyle(styleProp);
} else {
_local3 = _global.style[styleProp];
}
if (_local5 != undefined) {
_local5[styleProp] = _local3;
}
return(_local3);
}
}
if (_local3 == undefined) {
_local3 = _global.style[styleProp];
}
return(_local3);
}
static function mergeClipParameters(o, p) {
for (var _local3 in p) {
o[_local3] = p[_local3];
}
return(true);
}
static var symbolName = "UIObject";
static var symbolOwner = mx.core.UIObject;
static var version = "2.0.2.126";
static var textColorList = {color:1, disabledColor:1};
var invalidateFlag = false;
var lineWidth = 1;
var lineColor = 0;
var tabEnabled = false;
var clipParameters = {visible:1, minHeight:1, minWidth:1, maxHeight:1, maxWidth:1, preferredHeight:1, preferredWidth:1};
}
Symbol 432 MovieClip [__Packages.mx.core.UIComponent] Frame 0
class mx.core.UIComponent extends mx.core.UIObject
{
var __width, __height, invalidate, stylecache, removeEventListener, dispatchEvent, drawFocus, addEventListener, _xscale, _yscale, _focusrect, watch, enabled;
function UIComponent () {
super();
}
function get width() {
return(__width);
}
function get height() {
return(__height);
}
function setVisible(x, noEvent) {
super.setVisible(x, noEvent);
}
function enabledChanged(id, oldValue, newValue) {
setEnabled(newValue);
invalidate();
delete stylecache.tf;
return(newValue);
}
function setEnabled(enabled) {
invalidate();
}
function getFocus() {
var selFocus = Selection.getFocus();
return(((selFocus === null) ? null : (eval (selFocus))));
}
function setFocus() {
Selection.setFocus(this);
}
function getFocusManager() {
var _local2 = this;
while (_local2 != undefined) {
if (_local2.focusManager != undefined) {
return(_local2.focusManager);
}
_local2 = _local2._parent;
}
return(undefined);
}
function onKillFocus(newFocus) {
removeEventListener("keyDown", this);
removeEventListener("keyUp", this);
dispatchEvent({type:"focusOut"});
drawFocus(false);
}
function onSetFocus(oldFocus) {
addEventListener("keyDown", this);
addEventListener("keyUp", this);
dispatchEvent({type:"focusIn"});
if (getFocusManager().bDrawFocus != false) {
drawFocus(true);
}
}
function findFocusInChildren(o) {
if (o.focusTextField != undefined) {
return(o.focusTextField);
}
if (o.tabEnabled == true) {
return(o);
}
return(undefined);
}
function findFocusFromObject(o) {
if (o.tabEnabled != true) {
if (o._parent == undefined) {
return(undefined);
}
if (o._parent.tabEnabled == true) {
o = o._parent;
} else if (o._parent.tabChildren) {
o = findFocusInChildren(o._parent);
} else {
o = findFocusFromObject(o._parent);
}
}
return(o);
}
function pressFocus() {
var _local3 = findFocusFromObject(this);
var _local2 = getFocus();
if (_local3 != _local2) {
_local2.drawFocus(false);
if (getFocusManager().bDrawFocus != false) {
_local3.drawFocus(true);
}
}
}
function releaseFocus() {
var _local2 = findFocusFromObject(this);
if (_local2 != getFocus()) {
_local2.setFocus();
}
}
function isParent(o) {
while (o != undefined) {
if (o == this) {
return(true);
}
o = o._parent;
}
return(false);
}
function size() {
}
function init() {
super.init();
_xscale = 100;
_yscale = 100;
_focusrect = _global.useFocusRect == false;
watch("enabled", enabledChanged);
if (enabled == false) {
setEnabled(false);
}
}
function dispatchValueChangedEvent(value) {
dispatchEvent({type:"valueChanged", value:value});
}
static var symbolName = "UIComponent";
static var symbolOwner = mx.core.UIComponent;
static var version = "2.0.2.126";
static var kStretch = 5000;
var focusEnabled = true;
var tabEnabled = true;
var origBorderStyles = {themeColor:16711680};
var clipParameters = {};
static var mergedClipParameters = mx.core.UIObject.mergeClipParameters(mx.core.UIComponent.prototype.clipParameters, mx.core.UIObject.prototype.clipParameters);
}
Symbol 433 MovieClip [__Packages.mx.controls.TextInput] Frame 0
class mx.controls.TextInput extends mx.core.UIComponent
{
var owner, enterListener, label, tabChildren, tabEnabled, focusTextField, _color, _parent, border_mc, createClassObject, dispatchValueChangedEvent, __get__width, __get__height, tfx, tfy, tfw, tfh, getStyle, bind, updateModel, _getTextFormat, enabled;
function TextInput () {
super();
}
function addEventListener(event, handler) {
if (event == "enter") {
addEnterEvents();
}
super.addEventListener(event, handler);
}
function enterOnKeyDown() {
if (Key.getAscii() == 13) {
owner.dispatchEvent({type:"enter"});
}
}
function addEnterEvents() {
if (enterListener == undefined) {
enterListener = new Object();
enterListener.owner = this;
enterListener.onKeyDown = enterOnKeyDown;
}
}
function init(Void) {
super.init();
label.styleName = this;
tabChildren = true;
tabEnabled = false;
focusTextField = label;
_color = mx.core.UIObject.textColorList;
label.onSetFocus = function () {
this._parent.onSetFocus();
};
label.onKillFocus = function (n) {
this._parent.onKillFocus(n);
};
label.drawFocus = function (b) {
this._parent.drawFocus(b);
};
label.onChanged = onLabelChanged;
}
function setFocus() {
Selection.setFocus(label);
}
function onLabelChanged(Void) {
_parent.dispatchEvent({type:"change"});
_parent.dispatchValueChangedEvent(text);
}
function createChildren(Void) {
super.createChildren();
if (border_mc == undefined) {
createClassObject(_global.styles.rectBorderClass, "border_mc", 0, {styleName:this});
}
border_mc.swapDepths(label);
label.autoSize = "none";
}
function get html() {
return(getHtml());
}
function set html(value) {
setHtml(value);
//return(html);
}
function getHtml() {
return(label.html);
}
function setHtml(value) {
if (value != label.html) {
label.html = value;
}
}
function get text() {
return(getText());
}
function set text(t) {
setText(t);
//return(text);
}
function getText() {
if (initializing) {
return(initText);
}
if (label.html == true) {
return(label.htmlText);
}
return(label.text);
}
function setText(t) {
if (initializing) {
initText = t;
} else {
var _local2 = label;
if (_local2.html == true) {
_local2.htmlText = t;
} else {
_local2.text = t;
}
}
dispatchValueChangedEvent(t);
}
function size(Void) {
border_mc.setSize(__get__width(), __get__height());
var _local2 = border_mc.__get__borderMetrics();
var _local6 = _local2.left + _local2.right;
var _local3 = _local2.top + _local2.bottom;
var _local5 = _local2.left;
var _local4 = _local2.top;
tfx = _local5;
tfy = _local4;
tfw = __get__width() - _local6;
tfh = __get__height() - _local3;
label.move(tfx, tfy);
label.setSize(tfw, tfh + 1);
}
function setEnabled(enable) {
label.type = (((__editable == true) || (enable == false)) ? "input" : "dynamic");
label.selectable = enable;
var _local2 = getStyle((enable ? "color" : "disabledColor"));
if (_local2 == undefined) {
_local2 = (enable ? 0 : 8947848);
}
setColor(_local2);
}
function setColor(col) {
label.textColor = col;
}
function onKillFocus(newFocus) {
if (enterListener != undefined) {
Key.removeListener(enterListener);
}
if (bind != undefined) {
updateModel(text);
}
super.onKillFocus(newFocus);
}
function onSetFocus(oldFocus) {
var f = Selection.getFocus();
var o = eval (f);
if (o != label) {
Selection.setFocus(label);
return(undefined);
}
if (enterListener != undefined) {
Key.addListener(enterListener);
}
super.onSetFocus(oldFocus);
}
function draw(Void) {
var _local2 = label;
var _local4 = getText();
if (initializing) {
initializing = false;
delete initText;
}
var _local3 = _getTextFormat();
_local2.embedFonts = _local3.embedFonts == true;
if (_local3 != undefined) {
_local2.setTextFormat(_local3);
_local2.setNewTextFormat(_local3);
}
_local2.multiline = false;
_local2.wordWrap = false;
if (_local2.html == true) {
_local2.setTextFormat(_local3);
_local2.htmlText = _local4;
} else {
_local2.text = _local4;
}
_local2.type = (((__editable == true) || (enabled == false)) ? "input" : "dynamic");
size();
}
function setEditable(s) {
__editable = s;
label.type = (s ? "input" : "dynamic");
}
function get maxChars() {
return(label.maxChars);
}
function set maxChars(w) {
label.maxChars = w;
//return(maxChars);
}
function get length() {
return(label.length);
}
function get restrict() {
return(label.restrict);
}
function set restrict(w) {
label.restrict = ((w == "") ? null : (w));
//return(restrict);
}
function get hPosition() {
return(label.hscroll);
}
function set hPosition(w) {
label.hscroll = w;
//return(hPosition);
}
function get maxHPosition() {
return(label.maxhscroll);
}
function get editable() {
return(__editable);
}
function set editable(w) {
setEditable(w);
//return(editable);
}
function get password() {
return(label.password);
}
function set password(w) {
label.password = w;
//return(password);
}
function get tabIndex() {
return(label.tabIndex);
}
function set tabIndex(w) {
label.tabIndex = w;
//return(tabIndex);
}
function set _accProps(val) {
label._accProps = val;
//return(_accProps);
}
function get _accProps() {
return(label._accProps);
}
static var symbolName = "TextInput";
static var symbolOwner = mx.controls.TextInput;
static var version = "2.0.2.126";
var className = "TextInput";
var initializing = true;
var clipParameters = {text:1, editable:1, password:1, maxChars:1, restrict:1};
static var mergedClipParameters = mx.core.UIObject.mergeClipParameters(mx.controls.TextInput.prototype.clipParameters, mx.core.UIComponent.prototype.clipParameters);
var _maxWidth = mx.core.UIComponent.kStretch;
var __editable = true;
var initText = "";
}
Symbol 452 MovieClip [__Packages.mx.skins.SkinElement] Frame 0
class mx.skins.SkinElement extends MovieClip
{
var _visible, _x, _y, _width, _height;
function SkinElement () {
super();
}
static function registerElement(name, className) {
Object.registerClass(name, ((className == undefined) ? (mx.skins.SkinElement) : (className)));
_global.skinRegistry[name] = true;
}
function __set__visible(visible) {
_visible = visible;
}
function move(x, y) {
_x = x;
_y = y;
}
function setSize(w, h) {
_width = w;
_height = h;
}
}
Symbol 453 MovieClip [__Packages.mx.styles.CSSTextStyles] Frame 0
class mx.styles.CSSTextStyles
{
function CSSTextStyles () {
}
static function addTextStyles(o, bColor) {
o.addProperty("textAlign", function () {
return(this._tf.align);
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.align = x;
});
o.addProperty("fontWeight", function () {
return(((this._tf.bold != undefined) ? ((this._tf.bold ? "bold" : "none")) : undefined));
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.bold = x == "bold";
});
if (bColor) {
o.addProperty("color", function () {
return(this._tf.color);
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.color = x;
});
}
o.addProperty("fontFamily", function () {
return(this._tf.font);
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.font = x;
});
o.addProperty("textIndent", function () {
return(this._tf.indent);
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.indent = x;
});
o.addProperty("fontStyle", function () {
return(((this._tf.italic != undefined) ? ((this._tf.italic ? "italic" : "none")) : undefined));
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.italic = x == "italic";
});
o.addProperty("marginLeft", function () {
return(this._tf.leftMargin);
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.leftMargin = x;
});
o.addProperty("marginRight", function () {
return(this._tf.rightMargin);
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.rightMargin = x;
});
o.addProperty("fontSize", function () {
return(this._tf.size);
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.size = x;
});
o.addProperty("textDecoration", function () {
return(((this._tf.underline != undefined) ? ((this._tf.underline ? "underline" : "none")) : undefined));
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.underline = x == "underline";
});
o.addProperty("embedFonts", function () {
return(this._tf.embedFonts);
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.embedFonts = x;
});
}
}
Symbol 454 MovieClip [__Packages.mx.styles.StyleManager] Frame 0
class mx.styles.StyleManager
{
function StyleManager () {
}
static function registerInheritingStyle(styleName) {
inheritingStyles[styleName] = true;
}
static function isInheritingStyle(styleName) {
return(inheritingStyles[styleName] == true);
}
static function registerColorStyle(styleName) {
colorStyles[styleName] = true;
}
static function isColorStyle(styleName) {
return(colorStyles[styleName] == true);
}
static function registerColorName(colorName, colorValue) {
colorNames[colorName] = colorValue;
}
static function isColorName(colorName) {
return(colorNames[colorName] != undefined);
}
static function getColorName(colorName) {
return(colorNames[colorName]);
}
static var inheritingStyles = {color:true, direction:true, fontFamily:true, fontSize:true, fontStyle:true, fontWeight:true, textAlign:true, textIndent:true};
static var colorStyles = {barColor:true, trackColor:true, borderColor:true, buttonColor:true, color:true, dateHeaderColor:true, dateRollOverColor:true, disabledColor:true, fillColor:true, highlightColor:true, scrollTrackColor:true, selectedDateColor:true, shadowColor:true, strokeColor:true, symbolBackgroundColor:true, symbolBackgroundDisabledColor:true, symbolBackgroundPressedColor:true, symbolColor:true, symbolDisabledColor:true, themeColor:true, todayIndicatorColor:true, shadowCapColor:true, borderCapColor:true, focusColor:true};
static var colorNames = {black:0, white:16777215, red:16711680, green:65280, blue:255, magenta:16711935, yellow:16776960, cyan:65535, haloGreen:8453965, haloBlue:2881013, haloOrange:16761344};
static var TextFormatStyleProps = {font:true, size:true, color:true, leftMargin:false, rightMargin:false, italic:true, bold:true, align:true, indent:true, underline:false, embedFonts:false};
static var TextStyleMap = {textAlign:true, fontWeight:true, color:true, fontFamily:true, textIndent:true, fontStyle:true, lineHeight:true, marginLeft:true, marginRight:true, fontSize:true, textDecoration:true, embedFonts:true};
}
Symbol 455 MovieClip [__Packages.mx.styles.CSSStyleDeclaration] Frame 0
class mx.styles.CSSStyleDeclaration
{
var _tf;
function CSSStyleDeclaration () {
}
function __getTextFormat(tf, bAll) {
var _local5 = false;
if (_tf != undefined) {
var _local2;
for (_local2 in mx.styles.StyleManager.TextFormatStyleProps) {
if (bAll || (mx.styles.StyleManager.TextFormatStyleProps[_local2])) {
if (tf[_local2] == undefined) {
var _local3 = _tf[_local2];
if (_local3 != undefined) {
tf[_local2] = _local3;
} else {
_local5 = true;
}
}
}
}
} else {
_local5 = true;
}
return(_local5);
}
function getStyle(styleProp) {
var _local2 = this[styleProp];
var _local3 = mx.styles.StyleManager.getColorName(_local2);
return(((_local3 == undefined) ? (_local2) : (_local3)));
}
static function classConstruct() {
mx.styles.CSSTextStyles.addTextStyles(mx.styles.CSSStyleDeclaration.prototype, true);
return(true);
}
static var classConstructed = classConstruct();
static var CSSTextStylesDependency = mx.styles.CSSTextStyles;
}
Symbol 456 MovieClip [__Packages.mx.skins.Border] Frame 0
class mx.skins.Border extends mx.core.UIObject
{
function Border () {
super();
}
function init(Void) {
super.init();
}
static var symbolName = "Border";
static var symbolOwner = mx.skins.Border;
var className = "Border";
var tagBorder = 0;
var idNames = new Array("border_mc");
}
Symbol 457 MovieClip [__Packages.mx.skins.RectBorder] Frame 0
class mx.skins.RectBorder extends mx.skins.Border
{
var __width, __height, offset, __borderMetrics;
function RectBorder () {
super();
}
function get width() {
return(__width);
}
function get height() {
return(__height);
}
function init(Void) {
super.init();
}
function draw(Void) {
size();
}
function getBorderMetrics(Void) {
var _local2 = offset;
if (__borderMetrics == undefined) {
__borderMetrics = {left:_local2, top:_local2, right:_local2, bottom:_local2};
} else {
__borderMetrics.left = _local2;
__borderMetrics.top = _local2;
__borderMetrics.right = _local2;
__borderMetrics.bottom = _local2;
}
return(__borderMetrics);
}
function get borderMetrics() {
return(getBorderMetrics());
}
function drawBorder(Void) {
}
function size(Void) {
drawBorder();
}
function setColor(Void) {
drawBorder();
}
static var symbolName = "RectBorder";
static var symbolOwner = mx.skins.RectBorder;
static var version = "2.0.2.126";
var className = "RectBorder";
var borderStyleName = "borderStyle";
var borderColorName = "borderColor";
var shadowColorName = "shadowColor";
var highlightColorName = "highlightColor";
var buttonColorName = "buttonColor";
var backgroundColorName = "backgroundColor";
}
Symbol 458 MovieClip [__Packages.mx.events.EventDispatcher] Frame 0
class mx.events.EventDispatcher
{
function EventDispatcher () {
}
static function _removeEventListener(queue, event, handler) {
if (queue != undefined) {
var _local4 = queue.length;
var _local1;
_local1 = 0;
while (_local1 < _local4) {
var _local2 = queue[_local1];
if (_local2 == handler) {
queue.splice(_local1, 1);
return(undefined);
}
_local1++;
}
}
}
static function initialize(object) {
if (_fEventDispatcher == undefined) {
_fEventDispatcher = new mx.events.EventDispatcher();
}
object.addEventListener = _fEventDispatcher.addEventListener;
object.removeEventListener = _fEventDispatcher.removeEventListener;
object.dispatchEvent = _fEventDispatcher.dispatchEvent;
object.dispatchQueue = _fEventDispatcher.dispatchQueue;
}
function dispatchQueue(queueObj, eventObj) {
var _local7 = "__q_" + eventObj.type;
var _local4 = queueObj[_local7];
if (_local4 != undefined) {
var _local5;
for (_local5 in _local4) {
var _local1 = _local4[_local5];
var _local3 = typeof(_local1);
if ((_local3 == "object") || (_local3 == "movieclip")) {
if (_local1.handleEvent != undefined) {
_local1.handleEvent(eventObj);
}
if (_local1[eventObj.type] != undefined) {
if (exceptions[eventObj.type] == undefined) {
_local1[eventObj.type](eventObj);
}
}
} else {
_local1.apply(queueObj, [eventObj]);
}
}
}
}
function dispatchEvent(eventObj) {
if (eventObj.target == undefined) {
eventObj.target = this;
}
this[eventObj.type + "Handler"](eventObj);
dispatchQueue(this, eventObj);
}
function addEventListener(event, handler) {
var _local3 = "__q_" + event;
if (this[_local3] == undefined) {
this[_local3] = new Array();
}
_global.ASSetPropFlags(this, _local3, 1);
_removeEventListener(this[_local3], event, handler);
this[_local3].push(handler);
}
function removeEventListener(event, handler) {
var _local2 = "__q_" + event;
_removeEventListener(this[_local2], event, handler);
}
static var _fEventDispatcher = undefined;
static var exceptions = {move:1, draw:1, load:1};
}
Symbol 459 MovieClip [__Packages.mx.events.UIEventDispatcher] Frame 0
class mx.events.UIEventDispatcher extends mx.events.EventDispatcher
{
var dispatchQueue, owner, __sentLoadEvent, __origAddEventListener;
function UIEventDispatcher () {
super();
}
static function addKeyEvents(obj) {
if (obj.keyHandler == undefined) {
var _local1 = (obj.keyHandler = new Object());
_local1.owner = obj;
_local1.onKeyDown = _fEventDispatcher.onKeyDown;
_local1.onKeyUp = _fEventDispatcher.onKeyUp;
}
Key.addListener(obj.keyHandler);
}
static function removeKeyEvents(obj) {
Key.removeListener(obj.keyHandler);
}
static function addLoadEvents(obj) {
if (obj.onLoad == undefined) {
obj.onLoad = _fEventDispatcher.onLoad;
obj.onUnload = _fEventDispatcher.onUnload;
if (obj.getBytesTotal() == obj.getBytesLoaded()) {
obj.doLater(obj, "onLoad");
}
}
}
static function removeLoadEvents(obj) {
delete obj.onLoad;
delete obj.onUnload;
}
static function initialize(obj) {
if (_fEventDispatcher == undefined) {
_fEventDispatcher = new mx.events.UIEventDispatcher();
}
obj.addEventListener = _fEventDispatcher.__addEventListener;
obj.__origAddEventListener = _fEventDispatcher.addEventListener;
obj.removeEventListener = _fEventDispatcher.removeEventListener;
obj.dispatchEvent = _fEventDispatcher.dispatchEvent;
obj.dispatchQueue = _fEventDispatcher.dispatchQueue;
}
function dispatchEvent(eventObj) {
if (eventObj.target == undefined) {
eventObj.target = this;
}
this[eventObj.type + "Handler"](eventObj);
dispatchQueue(mx.events.EventDispatcher, eventObj);
dispatchQueue(this, eventObj);
}
function onKeyDown(Void) {
owner.dispatchEvent({type:"keyDown", code:Key.getCode(), ascii:Key.getAscii(), shiftKey:Key.isDown(16), ctrlKey:Key.isDown(17)});
}
function onKeyUp(Void) {
owner.dispatchEvent({type:"keyUp", code:Key.getCode(), ascii:Key.getAscii(), shiftKey:Key.isDown(16), ctrlKey:Key.isDown(17)});
}
function onLoad(Void) {
if (__sentLoadEvent != true) {
dispatchEvent({type:"load"});
}
__sentLoadEvent = true;
}
function onUnload(Void) {
dispatchEvent({type:"unload"});
}
function __addEventListener(event, handler) {
__origAddEventListener(event, handler);
var _local3 = lowLevelEvents;
for (var _local5 in _local3) {
if (mx.events.UIEventDispatcher[_local5][event] != undefined) {
var _local2 = _local3[_local5][0];
mx.events.UIEventDispatcher[_local2](this);
}
}
}
function removeEventListener(event, handler) {
var _local6 = "__q_" + event;
mx.events.EventDispatcher._removeEventListener(this[_local6], event, handler);
if (this[_local6].length == 0) {
var _local2 = lowLevelEvents;
for (var _local5 in _local2) {
if (mx.events.UIEventDispatcher[_local5][event] != undefined) {
var _local3 = _local2[_local5][1];
mx.events.UIEventDispatcher[_local2[_local5][1]](this);
}
}
}
}
static var keyEvents = {keyDown:1, keyUp:1};
static var loadEvents = {load:1, unload:1};
static var lowLevelEvents = {keyEvents:["addKeyEvents", "removeKeyEvents"], loadEvents:["addLoadEvents", "removeLoadEvents"]};
static var _fEventDispatcher = undefined;
}
Symbol 460 MovieClip [__Packages.mx.skins.ColoredSkinElement] Frame 0
class mx.skins.ColoredSkinElement
{
var getStyle, _color, onEnterFrame;
function ColoredSkinElement () {
}
function setColor(c) {
if (c != undefined) {
var _local2 = new Color(this);
_local2.setRGB(c);
}
}
function draw(Void) {
setColor(getStyle(_color));
onEnterFrame = undefined;
}
function invalidateStyle(Void) {
onEnterFrame = draw;
}
static function setColorStyle(p, colorStyle) {
if (p._color == undefined) {
p._color = colorStyle;
}
p.setColor = mixins.setColor;
p.invalidateStyle = mixins.invalidateStyle;
p.draw = mixins.draw;
p.setColor(p.getStyle(colorStyle));
}
static var mixins = new mx.skins.ColoredSkinElement();
}
Symbol 461 MovieClip [__Packages.mx.core.ext.UIObjectExtensions] Frame 0
class mx.core.ext.UIObjectExtensions
{
function UIObjectExtensions () {
}
static function addGeometry(tf, ui) {
tf.addProperty("width", ui.__get__width, null);
tf.addProperty("height", ui.__get__height, null);
tf.addProperty("left", ui.__get__left, null);
tf.addProperty("x", ui.__get__x, null);
tf.addProperty("top", ui.__get__top, null);
tf.addProperty("y", ui.__get__y, null);
tf.addProperty("right", ui.__get__right, null);
tf.addProperty("bottom", ui.__get__bottom, null);
tf.addProperty("visible", ui.__get__visible, ui.__set__visible);
}
static function Extensions() {
if (bExtended == true) {
return(true);
}
bExtended = true;
var _local6 = mx.core.UIObject.prototype;
var _local9 = mx.skins.SkinElement.prototype;
addGeometry(_local9, _local6);
mx.events.UIEventDispatcher.initialize(_local6);
var _local13 = mx.skins.ColoredSkinElement;
mx.styles.CSSTextStyles.addTextStyles(_local6);
var _local5 = MovieClip.prototype;
_local5.getTopLevel = _local6.getTopLevel;
_local5.createLabel = _local6.createLabel;
_local5.createObject = _local6.createObject;
_local5.createClassObject = _local6.createClassObject;
_local5.createEmptyObject = _local6.createEmptyObject;
_local5.destroyObject = _local6.destroyObject;
_global.ASSetPropFlags(_local5, "getTopLevel", 1);
_global.ASSetPropFlags(_local5, "createLabel", 1);
_global.ASSetPropFlags(_local5, "createObject", 1);
_global.ASSetPropFlags(_local5, "createClassObject", 1);
_global.ASSetPropFlags(_local5, "createEmptyObject", 1);
_global.ASSetPropFlags(_local5, "destroyObject", 1);
_local5.__getTextFormat = _local6.__getTextFormat;
_local5._getTextFormat = _local6._getTextFormat;
_local5.getStyleName = _local6.getStyleName;
_local5.getStyle = _local6.getStyle;
_global.ASSetPropFlags(_local5, "__getTextFormat", 1);
_global.ASSetPropFlags(_local5, "_getTextFormat", 1);
_global.ASSetPropFlags(_local5, "getStyleName", 1);
_global.ASSetPropFlags(_local5, "getStyle", 1);
var _local7 = TextField.prototype;
addGeometry(_local7, _local6);
_local7.addProperty("enabled", function () {
return(this.__enabled);
}, function (x) {
this.__enabled = x;
this.invalidateStyle();
});
_local7.move = _local9.move;
_local7.setSize = _local9.setSize;
_local7.invalidateStyle = function () {
this.invalidateFlag = true;
};
_local7.draw = function () {
if (this.invalidateFlag) {
this.invalidateFlag = false;
var _local2 = this._getTextFormat();
this.setTextFormat(_local2);
this.setNewTextFormat(_local2);
this.embedFonts = _local2.embedFonts == true;
if (this.__text != undefined) {
if (this.text == "") {
this.text = this.__text;
}
delete this.__text;
}
this._visible = true;
}
};
_local7.setColor = function (color) {
this.textColor = color;
};
_local7.getStyle = _local5.getStyle;
_local7.__getTextFormat = _local6.__getTextFormat;
_local7.setValue = function (v) {
this.text = v;
};
_local7.getValue = function () {
return(this.text);
};
_local7.addProperty("value", function () {
return(this.getValue());
}, function (v) {
this.setValue(v);
});
_local7._getTextFormat = function () {
var _local2 = this.stylecache.tf;
if (_local2 != undefined) {
return(_local2);
}
_local2 = new TextFormat();
this.__getTextFormat(_local2);
this.stylecache.tf = _local2;
if (this.__enabled == false) {
if (this.enabledColor == undefined) {
var _local4 = this.getTextFormat();
this.enabledColor = _local4.color;
}
var _local3 = this.getStyle("disabledColor");
_local2.color = _local3;
} else if (this.enabledColor != undefined) {
if (_local2.color == undefined) {
_local2.color = this.enabledColor;
}
}
return(_local2);
};
_local7.getPreferredWidth = function () {
this.draw();
return(this.textWidth + 4);
};
_local7.getPreferredHeight = function () {
this.draw();
return(this.textHeight + 4);
};
TextFormat.prototype.getTextExtent2 = function (s) {
var _local3 = _root._getTextExtent;
if (_local3 == undefined) {
_root.createTextField("_getTextExtent", -2, 0, 0, 1000, 100);
_local3 = _root._getTextExtent;
_local3._visible = false;
}
_root._getTextExtent.text = s;
var _local4 = this.align;
this.align = "left";
_root._getTextExtent.setTextFormat(this);
this.align = _local4;
return({width:_local3.textWidth, height:_local3.textHeight});
};
if (_global.style == undefined) {
_global.style = new mx.styles.CSSStyleDeclaration();
_global.cascadingStyles = true;
_global.styles = new Object();
_global.skinRegistry = new Object();
if (_global._origWidth == undefined) {
_global.origWidth = Stage.width;
_global.origHeight = Stage.height;
}
}
var _local4 = _root;
while (_local4._parent != undefined) {
_local4 = _local4._parent;
}
_local4.addProperty("width", function () {
return(Stage.width);
}, null);
_local4.addProperty("height", function () {
return(Stage.height);
}, null);
_global.ASSetPropFlags(_local4, "width", 1);
_global.ASSetPropFlags(_local4, "height", 1);
return(true);
}
static var bExtended = false;
static var UIObjectExtended = Extensions();
static var UIObjectDependency = mx.core.UIObject;
static var SkinElementDependency = mx.skins.SkinElement;
static var CSSTextStylesDependency = mx.styles.CSSTextStyles;
static var UIEventDispatcherDependency = mx.events.UIEventDispatcher;
}
Symbol 462 MovieClip [__Packages.mx.skins.halo.RectBorder] Frame 0
class mx.skins.halo.RectBorder extends mx.skins.RectBorder
{
var offset, getStyle, borderStyleName, __borderMetrics, className, borderColorName, backgroundColorName, shadowColorName, highlightColorName, buttonColorName, __get__width, __get__height, clear, _color, drawRoundRect, beginFill, drawRect, endFill;
function RectBorder () {
super();
}
function init(Void) {
borderWidths.default = 3;
super.init();
}
function getBorderMetrics(Void) {
if (offset == undefined) {
var _local3 = getStyle(borderStyleName);
offset = borderWidths[_local3];
}
if ((getStyle(borderStyleName) == "default") || (getStyle(borderStyleName) == "alert")) {
__borderMetrics = {left:3, top:1, right:3, bottom:3};
return(__borderMetrics);
}
return(super.getBorderMetrics());
}
function drawBorder(Void) {
var _local6 = _global.styles[className];
if (_local6 == undefined) {
_local6 = _global.styles.RectBorder;
}
var _local5 = getStyle(borderStyleName);
var _local7 = getStyle(borderColorName);
if (_local7 == undefined) {
_local7 = _local6[borderColorName];
}
var _local8 = getStyle(backgroundColorName);
if (_local8 == undefined) {
_local8 = _local6[backgroundColorName];
}
var _local16 = getStyle("backgroundImage");
if (_local5 != "none") {
var _local14 = getStyle(shadowColorName);
if (_local14 == undefined) {
_local14 = _local6[shadowColorName];
}
var _local13 = getStyle(highlightColorName);
if (_local13 == undefined) {
_local13 = _local6[highlightColorName];
}
var _local12 = getStyle(buttonColorName);
if (_local12 == undefined) {
_local12 = _local6[buttonColorName];
}
var _local11 = getStyle(borderCapColorName);
if (_local11 == undefined) {
_local11 = _local6[borderCapColorName];
}
var _local10 = getStyle(shadowCapColorName);
if (_local10 == undefined) {
_local10 = _local6[shadowCapColorName];
}
}
offset = borderWidths[_local5];
var _local9 = offset;
var _local3 = __get__width();
var _local4 = __get__height();
clear();
_color = undefined;
if (_local5 == "none") {
} else if (_local5 == "inset") {
_color = colorList;
draw3dBorder(_local11, _local12, _local7, _local13, _local14, _local10);
} else if (_local5 == "outset") {
_color = colorList;
draw3dBorder(_local11, _local7, _local12, _local14, _local13, _local10);
} else if (_local5 == "alert") {
var _local15 = getStyle("themeColor");
drawRoundRect(0, 5, _local3, _local4 - 5, 5, 6184542, 10);
drawRoundRect(1, 4, _local3 - 2, _local4 - 5, 4, [6184542, 6184542], 10, 0, "radial");
drawRoundRect(2, 0, _local3 - 4, _local4 - 2, 3, [0, 14342874], 100, 0, "radial");
drawRoundRect(2, 0, _local3 - 4, _local4 - 2, 3, _local15, 50);
drawRoundRect(3, 1, _local3 - 6, _local4 - 4, 2, 16777215, 100);
} else if (_local5 == "default") {
drawRoundRect(0, 5, _local3, _local4 - 5, {tl:5, tr:5, br:0, bl:0}, 6184542, 10);
drawRoundRect(1, 4, _local3 - 2, _local4 - 5, {tl:4, tr:4, br:0, bl:0}, [6184542, 6184542], 10, 0, "radial");
drawRoundRect(2, 0, _local3 - 4, _local4 - 2, {tl:3, tr:3, br:0, bl:0}, [12897484, 11844796], 100, 0, "radial");
drawRoundRect(3, 1, _local3 - 6, _local4 - 4, {tl:2, tr:2, br:0, bl:0}, 16777215, 100);
} else if (_local5 == "dropDown") {
drawRoundRect(0, 0, _local3 + 1, _local4, {tl:4, tr:0, br:0, bl:4}, [13290186, 7895160], 100, -10, "linear");
drawRoundRect(1, 1, _local3 - 1, _local4 - 2, {tl:3, tr:0, br:0, bl:3}, 16777215, 100);
} else if (_local5 == "menuBorder") {
var _local15 = getStyle("themeColor");
drawRoundRect(4, 4, _local3 - 2, _local4 - 3, 0, [6184542, 6184542], 10, 0, "radial");
drawRoundRect(4, 4, _local3 - 1, _local4 - 2, 0, 6184542, 10);
drawRoundRect(0, 0, _local3 + 1, _local4, 0, [0, 14342874], 100, 250, "linear");
drawRoundRect(0, 0, _local3 + 1, _local4, 0, _local15, 50);
drawRoundRect(2, 2, _local3 - 3, _local4 - 4, 0, 16777215, 100);
} else if (_local5 == "comboNonEdit") {
} else {
beginFill(_local7);
drawRect(0, 0, _local3, _local4);
drawRect(1, 1, _local3 - 1, _local4 - 1);
endFill();
_color = borderColorName;
}
if (_local8 != undefined) {
beginFill(_local8);
drawRect(_local9, _local9, __get__width() - _local9, __get__height() - _local9);
endFill();
}
}
function draw3dBorder(c1, c2, c3, c4, c5, c6) {
var _local3 = __get__width();
var _local2 = __get__height();
beginFill(c1);
drawRect(0, 0, _local3, _local2);
drawRect(1, 0, _local3 - 1, _local2);
endFill();
beginFill(c2);
drawRect(1, 0, _local3 - 1, 1);
endFill();
beginFill(c3);
drawRect(1, _local2 - 1, _local3 - 1, _local2);
endFill();
beginFill(c4);
drawRect(1, 1, _local3 - 1, 2);
endFill();
beginFill(c5);
drawRect(1, _local2 - 2, _local3 - 1, _local2 - 1);
endFill();
beginFill(c6);
drawRect(1, 2, _local3 - 1, _local2 - 2);
drawRect(2, 2, _local3 - 2, _local2 - 2);
endFill();
}
static function classConstruct() {
mx.core.ext.UIObjectExtensions.Extensions();
_global.styles.rectBorderClass = mx.skins.halo.RectBorder;
_global.skinRegistry.RectBorder = true;
return(true);
}
static var symbolName = "RectBorder";
static var symbolOwner = mx.skins.halo.RectBorder;
static var version = "2.0.2.126";
var borderCapColorName = "borderCapColor";
var shadowCapColorName = "shadowCapColor";
var colorList = {highlightColor:0, borderColor:0, buttonColor:0, shadowColor:0, borderCapColor:0, shadowCapColor:0};
var borderWidths = {none:0, solid:1, inset:2, outset:2, alert:3, dropDown:2, menuBorder:2, comboNonEdit:2};
static var classConstructed = classConstruct();
static var UIObjectExtensionsDependency = mx.core.ext.UIObjectExtensions;
}
Symbol 463 MovieClip [__Packages.mx.skins.halo.Defaults] Frame 0
class mx.skins.halo.Defaults
{
var beginGradientFill, beginFill, moveTo, lineTo, curveTo, endFill;
function Defaults () {
}
static function setThemeDefaults() {
var _local2 = _global.style;
_local2.themeColor = 8453965 /* 0x80FF4D */;
_local2.disabledColor = 8684164 /* 0x848284 */;
_local2.modalTransparency = 0;
_local2.filled = true;
_local2.stroked = true;
_local2.strokeWidth = 1;
_local2.strokeColor = 0;
_local2.fillColor = 16777215 /* 0xFFFFFF */;
_local2.repeatInterval = 35;
_local2.repeatDelay = 500;
_local2.fontFamily = "_sans";
_local2.fontSize = 12;
_local2.selectionColor = 13500353 /* 0xCDFFC1 */;
_local2.rollOverColor = 14942166 /* 0xE3FFD6 */;
_local2.useRollOver = true;
_local2.backgroundDisabledColor = 14540253 /* 0xDDDDDD */;
_local2.selectionDisabledColor = 14540253 /* 0xDDDDDD */;
_local2.selectionDuration = 200;
_local2.openDuration = 250;
_local2.borderStyle = "inset";
_local2.color = 734012 /* 0x0B333C */;
_local2.textSelectedColor = 24371;
_local2.textRollOverColor = 2831164 /* 0x2B333C */;
_local2.textDisabledColor = 16777215 /* 0xFFFFFF */;
_local2.vGridLines = true;
_local2.hGridLines = false;
_local2.vGridLineColor = 6710886 /* 0x666666 */;
_local2.hGridLineColor = 6710886 /* 0x666666 */;
_local2.headerColor = 15395562 /* 0xEAEAEA */;
_local2.indentation = 17;
_local2.folderOpenIcon = "TreeFolderOpen";
_local2.folderClosedIcon = "TreeFolderClosed";
_local2.defaultLeafIcon = "TreeNodeIcon";
_local2.disclosureOpenIcon = "TreeDisclosureOpen";
_local2.disclosureClosedIcon = "TreeDisclosureClosed";
_local2.popupDuration = 150;
_local2.todayColor = 6710886 /* 0x666666 */;
_local2 = (_global.styles.ScrollSelectList = new mx.styles.CSSStyleDeclaration());
_local2.backgroundColor = 16777215 /* 0xFFFFFF */;
_local2.borderColor = 13290186 /* 0xCACACA */;
_local2.borderStyle = "inset";
_local2 = (_global.styles.ComboBox = new mx.styles.CSSStyleDeclaration());
_local2.borderStyle = "inset";
_local2 = (_global.styles.NumericStepper = new mx.styles.CSSStyleDeclaration());
_local2.textAlign = "center";
_local2 = (_global.styles.RectBorder = new mx.styles.CSSStyleDeclaration());
_local2.borderColor = 14015965 /* 0xD5DDDD */;
_local2.buttonColor = 7305079 /* 0x6F7777 */;
_local2.shadowColor = 15658734 /* 0xEEEEEE */;
_local2.highlightColor = 12897484 /* 0xC4CCCC */;
_local2.shadowCapColor = 14015965 /* 0xD5DDDD */;
_local2.borderCapColor = 9542041 /* 0x919999 */;
var _local4 = new Object();
_local4.borderColor = 16711680 /* 0xFF0000 */;
_local4.buttonColor = 16711680 /* 0xFF0000 */;
_local4.shadowColor = 16711680 /* 0xFF0000 */;
_local4.highlightColor = 16711680 /* 0xFF0000 */;
_local4.shadowCapColor = 16711680 /* 0xFF0000 */;
_local4.borderCapColor = 16711680 /* 0xFF0000 */;
mx.core.UIComponent.prototype.origBorderStyles = _local4;
var _local3;
_local3 = (_global.styles.TextInput = new mx.styles.CSSStyleDeclaration());
_local3.backgroundColor = 16777215 /* 0xFFFFFF */;
_local3.borderStyle = "inset";
_global.styles.TextArea = _global.styles.TextInput;
_local3 = (_global.styles.Window = new mx.styles.CSSStyleDeclaration());
_local3.borderStyle = "default";
_local3 = (_global.styles.windowStyles = new mx.styles.CSSStyleDeclaration());
_local3.fontWeight = "bold";
_local3 = (_global.styles.dataGridStyles = new mx.styles.CSSStyleDeclaration());
_local3.fontWeight = "bold";
_local3 = (_global.styles.Alert = new mx.styles.CSSStyleDeclaration());
_local3.borderStyle = "alert";
_local3 = (_global.styles.ScrollView = new mx.styles.CSSStyleDeclaration());
_local3.borderStyle = "inset";
_local3 = (_global.styles.View = new mx.styles.CSSStyleDeclaration());
_local3.borderStyle = "none";
_local3 = (_global.styles.ProgressBar = new mx.styles.CSSStyleDeclaration());
_local3.color = 11187123 /* 0xAAB3B3 */;
_local3.fontWeight = "bold";
_local3 = (_global.styles.AccordionHeader = new mx.styles.CSSStyleDeclaration());
_local3.fontWeight = "bold";
_local3.fontSize = "11";
_local3 = (_global.styles.Accordion = new mx.styles.CSSStyleDeclaration());
_local3.borderStyle = "solid";
_local3.backgroundColor = 16777215 /* 0xFFFFFF */;
_local3.borderColor = 9081738 /* 0x8A938A */;
_local3.headerHeight = 22;
_local3.marginLeft = (_local3.marginRight = (_local3.marginTop = (_local3.marginBottom = -1)));
_local3.verticalGap = -1;
_local3 = (_global.styles.DateChooser = new mx.styles.CSSStyleDeclaration());
_local3.borderColor = 9542041 /* 0x919999 */;
_local3.headerColor = 16777215 /* 0xFFFFFF */;
_local3 = (_global.styles.CalendarLayout = new mx.styles.CSSStyleDeclaration());
_local3.fontSize = 10;
_local3.textAlign = "right";
_local3.color = 2831164 /* 0x2B333C */;
_local3 = (_global.styles.WeekDayStyle = new mx.styles.CSSStyleDeclaration());
_local3.fontWeight = "bold";
_local3.fontSize = 11;
_local3.textAlign = "center";
_local3.color = 2831164 /* 0x2B333C */;
_local3 = (_global.styles.TodayStyle = new mx.styles.CSSStyleDeclaration());
_local3.color = 16777215 /* 0xFFFFFF */;
_local3 = (_global.styles.HeaderDateText = new mx.styles.CSSStyleDeclaration());
_local3.fontSize = 12;
_local3.fontWeight = "bold";
_local3.textAlign = "center";
}
function drawRoundRect(x, y, w, h, r, c, alpha, rot, gradient, ratios) {
if (typeof(r) == "object") {
var _local18 = r.br;
var _local16 = r.bl;
var _local15 = r.tl;
var _local10 = r.tr;
} else {
var _local10 = r;
var _local15 = _local10;
var _local16 = _local15;
var _local18 = _local16;
}
if (typeof(c) == "object") {
if (typeof(alpha) != "object") {
var _local9 = [alpha, alpha];
} else {
var _local9 = alpha;
}
if (ratios == undefined) {
ratios = [0, 255];
}
var _local14 = h * 0.7;
if (typeof(rot) != "object") {
var _local11 = {matrixType:"box", x:-_local14, y:_local14, w:w * 2, h:h * 4, r:rot * 0.0174532925199433 /* Math.PI/180 */};
} else {
var _local11 = rot;
}
if (gradient == "radial") {
beginGradientFill("radial", c, _local9, ratios, _local11);
} else {
beginGradientFill("linear", c, _local9, ratios, _local11);
}
} else if (c != undefined) {
beginFill(c, alpha);
}
r = _local18;
var _local13 = r - (r * 0.707106781186547);
var _local12 = r - (r * 0.414213562373095);
moveTo(x + w, (y + h) - r);
lineTo(x + w, (y + h) - r);
curveTo(x + w, (y + h) - _local12, (x + w) - _local13, (y + h) - _local13);
curveTo((x + w) - _local12, y + h, (x + w) - r, y + h);
r = _local16;
_local13 = r - (r * 0.707106781186547);
_local12 = r - (r * 0.414213562373095);
lineTo(x + r, y + h);
curveTo(x + _local12, y + h, x + _local13, (y + h) - _local13);
curveTo(x, (y + h) - _local12, x, (y + h) - r);
r = _local15;
_local13 = r - (r * 0.707106781186547);
_local12 = r - (r * 0.414213562373095);
lineTo(x, y + r);
curveTo(x, y + _local12, x + _local13, y + _local13);
curveTo(x + _local12, y, x + r, y);
r = _local10;
_local13 = r - (r * 0.707106781186547);
_local12 = r - (r * 0.414213562373095);
lineTo((x + w) - r, y);
curveTo((x + w) - _local12, y, (x + w) - _local13, y + _local13);
curveTo(x + w, y + _local12, x + w, y + r);
lineTo(x + w, (y + h) - r);
if (c != undefined) {
endFill();
}
}
static function classConstruct() {
mx.core.ext.UIObjectExtensions.Extensions();
setThemeDefaults();
mx.core.UIObject.prototype.drawRoundRect = mx.skins.halo.Defaults.prototype.drawRoundRect;
return(true);
}
static var classConstructed = classConstruct();
static var CSSStyleDeclarationDependency = mx.styles.CSSStyleDeclaration;
static var UIObjectExtensionsDependency = mx.core.ext.UIObjectExtensions;
static var UIObjectDependency = mx.core.UIObject;
}
Symbol 464 MovieClip [__Packages.mx.managers.SystemManager] Frame 0
class mx.managers.SystemManager
{
static var _xAddEventListener, addEventListener, __addEventListener, _xRemoveEventListener, removeEventListener, __removeEventListener, form, __screen, dispatchEvent;
function SystemManager () {
}
static function init(Void) {
if (_initialized == false) {
_initialized = true;
mx.events.EventDispatcher.initialize(mx.managers.SystemManager);
Mouse.addListener(mx.managers.SystemManager);
Stage.addListener(mx.managers.SystemManager);
_xAddEventListener = addEventListener;
addEventListener = __addEventListener;
_xRemoveEventListener = removeEventListener;
removeEventListener = __removeEventListener;
}
}
static function addFocusManager(f) {
form = f;
f.focusManager.activate();
}
static function removeFocusManager(f) {
}
static function onMouseDown(Void) {
var _local1 = form;
_local1.focusManager._onMouseDown();
}
static function onResize(Void) {
var _local7 = Stage.width;
var _local6 = Stage.height;
var _local9 = _global.origWidth;
var _local8 = _global.origHeight;
var _local3 = Stage.align;
var _local5 = (_local9 - _local7) / 2;
var _local4 = (_local8 - _local6) / 2;
if (_local3 == "T") {
_local4 = 0;
} else if (_local3 == "B") {
_local4 = _local8 - _local6;
} else if (_local3 == "L") {
_local5 = 0;
} else if (_local3 == "R") {
_local5 = _local9 - _local7;
} else if (_local3 == "LT") {
_local4 = 0;
_local5 = 0;
} else if (_local3 == "TR") {
_local4 = 0;
_local5 = _local9 - _local7;
} else if (_local3 == "LB") {
_local4 = _local8 - _local6;
_local5 = 0;
} else if (_local3 == "RB") {
_local4 = _local8 - _local6;
_local5 = _local9 - _local7;
}
if (__screen == undefined) {
__screen = new Object();
}
__screen.x = _local5;
__screen.y = _local4;
__screen.width = _local7;
__screen.height = _local6;
_root.focusManager.relocate();
dispatchEvent({type:"resize"});
}
static function get screen() {
init();
if (__screen == undefined) {
onResize();
}
return(__screen);
}
static var _initialized = false;
static var idleFrames = 0;
static var isMouseDown = false;
static var forms = new Array();
}
Symbol 465 MovieClip [__Packages.mx.controls.SimpleButton] Frame 0
class mx.controls.SimpleButton extends mx.core.UIComponent
{
static var emphasizedStyleDeclaration;
var preset, boundingBox_mc, useHandCursor, skinName, linkLength, iconName, destroyObject, __width, _width, __height, _height, __emphaticStyleName, styleName, enabled, invalidate, pressFocus, dispatchEvent, autoRepeat, interval, getStyle, releaseFocus, createLabel, invalidateStyle;
function SimpleButton () {
super();
}
function init(Void) {
super.init();
if (preset == undefined) {
boundingBox_mc._visible = false;
boundingBox_mc._width = (boundingBox_mc._height = 0);
}
useHandCursor = false;
}
function createChildren(Void) {
if (preset != undefined) {
var _local2 = this[idNames[preset]];
this[refNames[preset]] = _local2;
skinName = _local2;
if (falseOverSkin.length == 0) {
rolloverSkin = fus;
}
if (falseOverIcon.length == 0) {
rolloverIcon = fui;
}
initializing = false;
} else if (__state == true) {
setStateVar(true);
} else {
if (falseOverSkin.length == 0) {
rolloverSkin = fus;
}
if (falseOverIcon.length == 0) {
rolloverIcon = fui;
}
}
}
function setIcon(tag, linkageName) {
return(setSkin(tag + 8, linkageName));
}
function changeIcon(tag, linkageName) {
linkLength = linkageName.length;
var _local2 = stateNames[tag] + "Icon";
this[_local2] = linkageName;
this[idNames[tag + 8]] = _local2;
setStateVar(getState());
}
function changeSkin(tag, linkageName) {
var _local2 = stateNames[tag] + "Skin";
this[_local2] = linkageName;
this[idNames[tag]] = _local2;
setStateVar(getState());
}
function viewIcon(varName) {
var _local4 = varName + "Icon";
var _local3 = this[_local4];
if (typeof(_local3) == "string") {
var _local5 = _local3;
if (__emphasized) {
if (this[_local3 + "Emphasized"].length > 0) {
_local3 = _local3 + "Emphasized";
}
}
if (this[_local3].length == 0) {
return(undefined);
}
_local3 = setIcon(tagMap[_local5], this[_local3]);
if ((_local3 == undefined) && (_global.isLivePreview)) {
_local3 = setIcon(0, "ButtonIcon");
}
this[_local4] = _local3;
}
iconName._visible = false;
iconName = _local3;
iconName._visible = true;
}
function removeIcons() {
var _local3 = 0;
while (_local3 < 2) {
var _local2 = 8;
while (_local2 < 16) {
destroyObject(idNames[_local2]);
this[stateNames[_local2 - 8] + "Icon"] = "";
_local2++;
}
_local3++;
}
refresh();
}
function setSkin(tag, linkageName, initobj) {
var _local3 = super.setSkin(tag, linkageName, ((initobj != undefined) ? (initobj) : ({styleName:this})));
calcSize(tag, _local3);
return(_local3);
}
function calcSize(Void) {
__width = _width;
__height = _height;
}
function viewSkin(varName, initObj) {
var _local3 = varName + "Skin";
var _local2 = this[_local3];
if (typeof(_local2) == "string") {
var _local4 = _local2;
if (__emphasized) {
if (this[_local2 + "Emphasized"].length > 0) {
_local2 = _local2 + "Emphasized";
}
}
if (this[_local2].length == 0) {
return(undefined);
}
_local2 = setSkin(tagMap[_local4], this[_local2], ((initObj != undefined) ? (initObj) : ({styleName:this})));
this[_local3] = _local2;
}
skinName._visible = false;
skinName = _local2;
skinName._visible = true;
}
function showEmphasized(e) {
if (e && (!__emphatic)) {
if (emphasizedStyleDeclaration != undefined) {
__emphaticStyleName = styleName;
styleName = emphasizedStyleDeclaration;
}
__emphatic = true;
} else {
if (__emphatic) {
styleName = __emphaticStyleName;
}
__emphatic = false;
}
}
function refresh(Void) {
var _local2 = getState();
if (enabled == false) {
viewIcon("disabled");
viewSkin("disabled");
} else {
viewSkin(phase);
viewIcon(phase);
}
setView(phase == "down");
iconName.enabled = enabled;
}
function setView(offset) {
if (iconName == undefined) {
return(undefined);
}
var _local2 = (offset ? (btnOffset) : 0);
iconName._x = ((__width - iconName._width) / 2) + _local2;
iconName._y = ((__height - iconName._height) / 2) + _local2;
}
function setStateVar(state) {
if (state) {
if (trueOverSkin.length == 0) {
rolloverSkin = tus;
} else {
rolloverSkin = trs;
}
if (trueOverIcon.length == 0) {
rolloverIcon = tui;
} else {
rolloverIcon = tri;
}
upSkin = tus;
downSkin = tds;
disabledSkin = dts;
upIcon = tui;
downIcon = tdi;
disabledIcon = dti;
} else {
if (falseOverSkin.length == 0) {
rolloverSkin = fus;
} else {
rolloverSkin = frs;
}
if (falseOverIcon.length == 0) {
rolloverIcon = fui;
} else {
rolloverIcon = fri;
}
upSkin = fus;
downSkin = fds;
disabledSkin = dfs;
upIcon = fui;
downIcon = fdi;
disabledIcon = dfi;
}
__state = state;
}
function setState(state) {
if (state != __state) {
setStateVar(state);
invalidate();
}
}
function size(Void) {
refresh();
}
function draw(Void) {
if (initializing) {
initializing = false;
skinName.visible = true;
iconName.visible = true;
}
size();
}
function getState(Void) {
return(__state);
}
function setToggle(val) {
__toggle = val;
if (__toggle == false) {
setState(false);
}
}
function getToggle(Void) {
return(__toggle);
}
function set toggle(val) {
setToggle(val);
//return(toggle);
}
function get toggle() {
return(getToggle());
}
function set value(val) {
setSelected(val);
//return(value);
}
function get value() {
return(getSelected());
}
function set selected(val) {
setSelected(val);
//return(selected);
}
function get selected() {
return(getSelected());
}
function setSelected(val) {
if (__toggle) {
setState(val);
} else {
setState((initializing ? (val) : (__state)));
}
}
function getSelected() {
return(__state);
}
function setEnabled(val) {
if (enabled != val) {
super.setEnabled(val);
invalidate();
}
}
function onPress(Void) {
pressFocus();
phase = "down";
refresh();
dispatchEvent({type:"buttonDown"});
if (autoRepeat) {
interval = setInterval(this, "onPressDelay", getStyle("repeatDelay"));
}
}
function onPressDelay(Void) {
dispatchEvent({type:"buttonDown"});
if (autoRepeat) {
clearInterval(interval);
interval = setInterval(this, "onPressRepeat", getStyle("repeatInterval"));
}
}
function onPressRepeat(Void) {
dispatchEvent({type:"buttonDown"});
updateAfterEvent();
}
function onRelease(Void) {
releaseFocus();
phase = "rollover";
if (interval != undefined) {
clearInterval(interval);
delete interval;
}
if (getToggle()) {
setState(!getState());
} else {
refresh();
}
dispatchEvent({type:"click"});
}
function onDragOut(Void) {
phase = "up";
refresh();
dispatchEvent({type:"buttonDragOut"});
}
function onDragOver(Void) {
if (phase != "up") {
onPress();
return(undefined);
}
phase = "down";
refresh();
}
function onReleaseOutside(Void) {
releaseFocus();
phase = "up";
if (interval != undefined) {
clearInterval(interval);
delete interval;
}
}
function onRollOver(Void) {
phase = "rollover";
refresh();
}
function onRollOut(Void) {
phase = "up";
refresh();
}
function getLabel(Void) {
return(fui.text);
}
function setLabel(val) {
if (typeof(fui) == "string") {
createLabel("fui", 8, val);
fui.styleName = this;
} else {
fui.text = val;
}
var _local4 = fui._getTextFormat();
var _local2 = _local4.getTextExtent2(val);
fui._width = _local2.width + 5;
fui._height = _local2.height + 5;
iconName = fui;
setView(__state);
}
function get emphasized() {
return(__emphasized);
}
function set emphasized(val) {
__emphasized = val;
var _local2 = 0;
while (_local2 < 8) {
this[idNames[_local2]] = stateNames[_local2] + "Skin";
if (typeof(this[idNames[_local2 + 8]]) == "movieclip") {
this[idNames[_local2 + 8]] = stateNames[_local2] + "Icon";
}
_local2++;
}
showEmphasized(__emphasized);
setStateVar(__state);
invalidateStyle();
//return(emphasized);
}
function keyDown(e) {
if (e.code == 32) {
onPress();
}
}
function keyUp(e) {
if (e.code == 32) {
onRelease();
}
}
function onKillFocus(newFocus) {
super.onKillFocus();
if (phase != "up") {
phase = "up";
refresh();
}
}
static var symbolName = "SimpleButton";
static var symbolOwner = mx.controls.SimpleButton;
static var version = "2.0.2.126";
var className = "SimpleButton";
var style3dInset = 4;
var btnOffset = 1;
var __toggle = false;
var __state = false;
var __emphasized = false;
var __emphatic = false;
static var falseUp = 0;
static var falseDown = 1;
static var falseOver = 2;
static var falseDisabled = 3;
static var trueUp = 4;
static var trueDown = 5;
static var trueOver = 6;
static var trueDisabled = 7;
var falseUpSkin = "SimpleButtonUp";
var falseDownSkin = "SimpleButtonIn";
var falseOverSkin = "";
var falseDisabledSkin = "SimpleButtonUp";
var trueUpSkin = "SimpleButtonIn";
var trueDownSkin = "";
var trueOverSkin = "";
var trueDisabledSkin = "SimpleButtonIn";
var falseUpIcon = "";
var falseDownIcon = "";
var falseOverIcon = "";
var falseDisabledIcon = "";
var trueUpIcon = "";
var trueDownIcon = "";
var trueOverIcon = "";
var trueDisabledIcon = "";
var phase = "up";
var fui = "falseUpIcon";
var fus = "falseUpSkin";
var fdi = "falseDownIcon";
var fds = "falseDownSkin";
var frs = "falseOverSkin";
var fri = "falseOverIcon";
var dfi = "falseDisabledIcon";
var dfs = "falseDisabledSkin";
var tui = "trueUpIcon";
var tus = "trueUpSkin";
var tdi = "trueDownIcon";
var tds = "trueDownSkin";
var trs = "trueOverSkin";
var tri = "trueOverIcon";
var dts = "trueDisabledSkin";
var dti = "trueDisabledIcon";
var rolloverSkin = mx.controls.SimpleButton.prototype.frs;
var rolloverIcon = mx.controls.SimpleButton.prototype.fri;
var upSkin = mx.controls.SimpleButton.prototype.fus;
var downSkin = mx.controls.SimpleButton.prototype.fds;
var disabledSkin = mx.controls.SimpleButton.prototype.dfs;
var upIcon = mx.controls.SimpleButton.prototype.fui;
var downIcon = mx.controls.SimpleButton.prototype.fdi;
var disabledIcon = mx.controls.SimpleButton.prototype.dfi;
var initializing = true;
var idNames = ["fus", "fds", "frs", "dfs", "tus", "tds", "trs", "dts", "fui", "fdi", "fri", "dfi", "tui", "tdi", "tri", "dti"];
var stateNames = ["falseUp", "falseDown", "falseOver", "falseDisabled", "trueUp", "trueDown", "trueOver", "trueDisabled"];
var refNames = ["upSkin", "downSkin", "rolloverSkin", "disabledSkin"];
var tagMap = {falseUpSkin:0, falseDownSkin:1, falseOverSkin:2, falseDisabledSkin:3, trueUpSkin:4, trueDownSkin:5, trueOverSkin:6, trueDisabledSkin:7, falseUpIcon:0, falseDownIcon:1, falseOverIcon:2, falseDisabledIcon:3, trueUpIcon:4, trueDownIcon:5, trueOverIcon:6, trueDisabledIcon:7};
}
Symbol 466 MovieClip [__Packages.mx.managers.DepthManager] Frame 0
class mx.managers.DepthManager
{
var _childCounter, createClassObject, createObject, _parent, swapDepths, _topmost, getDepth;
function DepthManager () {
MovieClip.prototype.createClassChildAtDepth = createClassChildAtDepth;
MovieClip.prototype.createChildAtDepth = createChildAtDepth;
MovieClip.prototype.setDepthTo = setDepthTo;
MovieClip.prototype.setDepthAbove = setDepthAbove;
MovieClip.prototype.setDepthBelow = setDepthBelow;
MovieClip.prototype.findNextAvailableDepth = findNextAvailableDepth;
MovieClip.prototype.shuffleDepths = shuffleDepths;
MovieClip.prototype.getDepthByFlag = getDepthByFlag;
MovieClip.prototype.buildDepthTable = buildDepthTable;
_global.ASSetPropFlags(MovieClip.prototype, "createClassChildAtDepth", 1);
_global.ASSetPropFlags(MovieClip.prototype, "createChildAtDepth", 1);
_global.ASSetPropFlags(MovieClip.prototype, "setDepthTo", 1);
_global.ASSetPropFlags(MovieClip.prototype, "setDepthAbove", 1);
_global.ASSetPropFlags(MovieClip.prototype, "setDepthBelow", 1);
_global.ASSetPropFlags(MovieClip.prototype, "findNextAvailableDepth", 1);
_global.ASSetPropFlags(MovieClip.prototype, "shuffleDepths", 1);
_global.ASSetPropFlags(MovieClip.prototype, "getDepthByFlag", 1);
_global.ASSetPropFlags(MovieClip.prototype, "buildDepthTable", 1);
}
static function sortFunction(a, b) {
if (a.getDepth() > b.getDepth()) {
return(1);
}
return(-1);
}
static function test(depth) {
if (depth == reservedDepth) {
return(false);
}
return(true);
}
static function createClassObjectAtDepth(className, depthSpace, initObj) {
var _local1;
switch (depthSpace) {
case kCursor :
_local1 = holder.createClassChildAtDepth(className, kTopmost, initObj);
break;
case kTooltip :
_local1 = holder.createClassChildAtDepth(className, kTop, initObj);
break;
}
return(_local1);
}
static function createObjectAtDepth(linkageName, depthSpace, initObj) {
var _local1;
switch (depthSpace) {
case kCursor :
_local1 = holder.createChildAtDepth(linkageName, kTopmost, initObj);
break;
case kTooltip :
_local1 = holder.createChildAtDepth(linkageName, kTop, initObj);
break;
}
return(_local1);
}
function createClassChildAtDepth(className, depthFlag, initObj) {
if (_childCounter == undefined) {
_childCounter = 0;
}
var _local3 = buildDepthTable();
var _local2 = getDepthByFlag(depthFlag, _local3);
var _local6 = "down";
if (depthFlag == kBottom) {
_local6 = "up";
}
var _local5;
if (_local3[_local2] != undefined) {
_local5 = _local2;
_local2 = findNextAvailableDepth(_local2, _local3, _local6);
}
var _local4 = createClassObject(className, "depthChild" + (_childCounter++), _local2, initObj);
if (_local5 != undefined) {
_local3[_local2] = _local4;
shuffleDepths(_local4, _local5, _local3, _local6);
}
if (depthFlag == kTopmost) {
_local4._topmost = true;
}
return(_local4);
}
function createChildAtDepth(linkageName, depthFlag, initObj) {
if (_childCounter == undefined) {
_childCounter = 0;
}
var _local3 = buildDepthTable();
var _local2 = getDepthByFlag(depthFlag, _local3);
var _local6 = "down";
if (depthFlag == kBottom) {
_local6 = "up";
}
var _local5;
if (_local3[_local2] != undefined) {
_local5 = _local2;
_local2 = findNextAvailableDepth(_local2, _local3, _local6);
}
var _local4 = createObject(linkageName, "depthChild" + (_childCounter++), _local2, initObj);
if (_local5 != undefined) {
_local3[_local2] = _local4;
shuffleDepths(_local4, _local5, _local3, _local6);
}
if (depthFlag == kTopmost) {
_local4._topmost = true;
}
return(_local4);
}
function setDepthTo(depthFlag) {
var _local2 = _parent.buildDepthTable();
var _local3 = _parent.getDepthByFlag(depthFlag, _local2);
if (_local2[_local3] != undefined) {
shuffleDepths(this, _local3, _local2, undefined);
} else {
swapDepths(_local3);
}
if (depthFlag == kTopmost) {
_topmost = true;
} else {
delete _topmost;
}
}
function setDepthAbove(targetInstance) {
if (targetInstance._parent != _parent) {
return(undefined);
}
var _local2 = targetInstance.getDepth() + 1;
var _local3 = _parent.buildDepthTable();
if ((_local3[_local2] != undefined) && (getDepth() < _local2)) {
_local2 = _local2 - 1;
}
if (_local2 > highestDepth) {
_local2 = highestDepth;
}
if (_local2 == highestDepth) {
_parent.shuffleDepths(this, _local2, _local3, "down");
} else if (_local3[_local2] != undefined) {
_parent.shuffleDepths(this, _local2, _local3, undefined);
} else {
swapDepths(_local2);
}
}
function setDepthBelow(targetInstance) {
if (targetInstance._parent != _parent) {
return(undefined);
}
var _local6 = targetInstance.getDepth() - 1;
var _local3 = _parent.buildDepthTable();
if ((_local3[_local6] != undefined) && (getDepth() > _local6)) {
_local6 = _local6 + 1;
}
var _local4 = lowestDepth + numberOfAuthortimeLayers;
var _local5;
for (_local5 in _local3) {
var _local2 = _local3[_local5];
if (_local2._parent != undefined) {
_local4 = Math.min(_local4, _local2.getDepth());
}
}
if (_local6 < _local4) {
_local6 = _local4;
}
if (_local6 == _local4) {
_parent.shuffleDepths(this, _local6, _local3, "up");
} else if (_local3[_local6] != undefined) {
_parent.shuffleDepths(this, _local6, _local3, undefined);
} else {
swapDepths(_local6);
}
}
function findNextAvailableDepth(targetDepth, depthTable, direction) {
var _local5 = lowestDepth + numberOfAuthortimeLayers;
if (targetDepth < _local5) {
targetDepth = _local5;
}
if (depthTable[targetDepth] == undefined) {
return(targetDepth);
}
var _local2 = targetDepth;
var _local1 = targetDepth;
if (direction == "down") {
while (depthTable[_local1] != undefined) {
_local1--;
}
return(_local1);
}
while (depthTable[_local2] != undefined) {
_local2++;
}
return(_local2);
}
function shuffleDepths(subject, targetDepth, depthTable, direction) {
var _local9 = lowestDepth + numberOfAuthortimeLayers;
var _local8 = _local9;
var _local5;
for (_local5 in depthTable) {
var _local7 = depthTable[_local5];
if (_local7._parent != undefined) {
_local9 = Math.min(_local9, _local7.getDepth());
}
}
if (direction == undefined) {
if (subject.getDepth() > targetDepth) {
direction = "up";
} else {
direction = "down";
}
}
var _local1 = new Array();
for (_local5 in depthTable) {
var _local7 = depthTable[_local5];
if (_local7._parent != undefined) {
_local1.push(_local7);
}
}
_local1.sort(sortFunction);
if (direction == "up") {
var _local3;
var _local11;
do {
if (_local1.length <= 0) {
break;
}
_local3 = _local1.pop();
} while (_local3 != subject);
do {
if (_local1.length <= 0) {
break;
}
_local11 = subject.getDepth();
_local3 = _local1.pop();
var _local4 = _local3.getDepth();
if (_local11 > (_local4 + 1)) {
if (_local4 >= 0) {
subject.swapDepths(_local4 + 1);
} else if ((_local11 > _local8) && (_local4 < _local8)) {
subject.swapDepths(_local8);
}
}
subject.swapDepths(_local3);
} while (_local4 != targetDepth);
} else if (direction == "down") {
var _local3;
do {
if (_local1.length <= 0) {
break;
}
_local3 = _local1.shift();
} while (_local3 != subject);
do {
if (_local1.length <= 0) {
break;
}
var _local11 = _local3.getDepth();
_local3 = _local1.shift();
var _local4 = _local3.getDepth();
if ((_local11 < (_local4 - 1)) && (_local4 > 0)) {
subject.swapDepths(_local4 - 1);
}
subject.swapDepths(_local3);
} while (_local4 != targetDepth);
}
}
function getDepthByFlag(depthFlag, depthTable) {
var _local2 = 0;
if ((depthFlag == kTop) || (depthFlag == kNotopmost)) {
var _local5 = 0;
var _local7 = false;
var _local8;
for (_local8 in depthTable) {
var _local9 = depthTable[_local8];
var _local3 = typeof(_local9);
if ((_local3 == "movieclip") || ((_local3 == "object") && (_local9.__getTextFormat != undefined))) {
if (_local9.getDepth() <= highestDepth) {
if (!_local9._topmost) {
_local2 = Math.max(_local2, _local9.getDepth());
} else if (!_local7) {
_local5 = _local9.getDepth();
_local7 = true;
} else {
_local5 = Math.min(_local5, _local9.getDepth());
}
}
}
}
_local2 = _local2 + 20;
if (_local7) {
if (_local2 >= _local5) {
_local2 = _local5 - 1;
}
}
} else if (depthFlag == kBottom) {
for (var _local8 in depthTable) {
var _local9 = depthTable[_local8];
var _local3 = typeof(_local9);
if ((_local3 == "movieclip") || ((_local3 == "object") && (_local9.__getTextFormat != undefined))) {
if (_local9.getDepth() <= highestDepth) {
_local2 = Math.min(_local2, _local9.getDepth());
}
}
}
_local2 = _local2 - 20;
} else if (depthFlag == kTopmost) {
for (var _local8 in depthTable) {
var _local9 = depthTable[_local8];
var _local3 = typeof(_local9);
if ((_local3 == "movieclip") || ((_local3 == "object") && (_local9.__getTextFormat != undefined))) {
if (_local9.getDepth() <= highestDepth) {
_local2 = Math.max(_local2, _local9.getDepth());
}
}
}
_local2 = _local2 + 100;
}
if (_local2 >= highestDepth) {
_local2 = highestDepth;
}
var _local6 = lowestDepth + numberOfAuthortimeLayers;
for (var _local9 in depthTable) {
var _local4 = depthTable[_local9];
if (_local4._parent != undefined) {
_local6 = Math.min(_local6, _local4.getDepth());
}
}
if (_local2 <= _local6) {
_local2 = _local6;
}
return(_local2);
}
function buildDepthTable(Void) {
var _local5 = new Array();
var _local4;
for (_local4 in this) {
var _local2 = this[_local4];
var _local3 = typeof(_local2);
if ((_local3 == "movieclip") || ((_local3 == "object") && (_local2.__getTextFormat != undefined))) {
if (_local2._parent == this) {
_local5[_local2.getDepth()] = _local2;
}
}
}
return(_local5);
}
static var reservedDepth = 1048575;
static var highestDepth = 1048574;
static var lowestDepth = -16383;
static var numberOfAuthortimeLayers = 383;
static var kCursor = 101;
static var kTooltip = 102;
static var kTop = 201;
static var kBottom = 202;
static var kTopmost = 203;
static var kNotopmost = 204;
static var holder = _root.createEmptyMovieClip("reserved", reservedDepth);
static var __depthManager = new mx.managers.DepthManager();
}
Symbol 467 MovieClip [__Packages.mx.managers.FocusManager] Frame 0
class mx.managers.FocusManager extends mx.core.UIComponent
{
var __defaultPushButton, defPushButton, form, move, tabEnabled, _width, _height, _x, _y, _alpha, _parent, tabCapture, watch, lastMouse, _visible, lastFocus, doLater, lastSelFocus, cancelAllDoLaters, _searchKey, _lastTarget, _firstNode, _nextIsNext, _nextNode, _lastx, _prevNode, _needPrev, _foundList, _prevObj, _nextObj, _firstObj, _lastObj, _lastNode, lastTabFocus, findFocusFromObject;
function FocusManager () {
super();
}
function get defaultPushButton() {
return(__defaultPushButton);
}
function set defaultPushButton(x) {
if (x != __defaultPushButton) {
__defaultPushButton.__set__emphasized(false);
__defaultPushButton = x;
defPushButton = x;
x.__set__emphasized(true);
}
//return(defaultPushButton);
}
function getMaxTabIndex(o) {
var _local3 = 0;
var _local6;
for (_local6 in o) {
var _local2 = o[_local6];
if (_local2._parent == o) {
if (_local2.tabIndex != undefined) {
if (_local2.tabIndex > _local3) {
_local3 = _local2.tabIndex;
}
}
if (_local2.tabChildren == true) {
var _local4 = getMaxTabIndex(_local2);
if (_local4 > _local3) {
_local3 = _local4;
}
}
}
}
return(_local3);
}
function getNextTabIndex(Void) {
return(getMaxTabIndex(form) + 1);
}
function get nextTabIndex() {
return(getNextTabIndex());
}
function relocate(Void) {
var _local2 = mx.managers.SystemManager.__get__screen();
move(_local2.x - 1, _local2.y - 1);
}
function init(Void) {
super.init();
tabEnabled = false;
_width = (_height = 1);
_x = (_y = -1);
_alpha = 0;
_parent.focusManager = this;
_parent.tabChildren = true;
_parent.tabEnabled = false;
form = _parent;
_parent.addEventListener("hide", this);
_parent.addEventListener("reveal", this);
mx.managers.SystemManager.init();
mx.managers.SystemManager.addFocusManager(form);
tabCapture.tabIndex = 0;
watch("enabled", enabledChanged);
Selection.addListener(this);
lastMouse = new Object();
_global.ASSetPropFlags(_parent, "focusManager", 1);
_global.ASSetPropFlags(_parent, "tabChildren", 1);
_global.ASSetPropFlags(_parent, "tabEnabled", 1);
}
function enabledChanged(id, oldValue, newValue) {
_visible = newValue;
return(newValue);
}
function activate(Void) {
Key.addListener(this);
activated = (_visible = true);
if (lastFocus != undefined) {
bNeedFocus = true;
if (!mx.managers.SystemManager.isMouseDown) {
doLater(this, "restoreFocus");
}
}
}
function deactivate(Void) {
Key.removeListener(this);
activated = (_visible = false);
var _local2 = getSelectionFocus();
var _local3 = getActualFocus(_local2);
if (isOurFocus(_local3)) {
lastSelFocus = _local2;
lastFocus = _local3;
}
cancelAllDoLaters();
}
function isOurFocus(o) {
if (o.focusManager == this) {
return(true);
}
while (o != undefined) {
if (o.focusManager != undefined) {
return(false);
}
if (o._parent == _parent) {
return(true);
}
o = o._parent;
}
return(false);
}
function onSetFocus(o, n) {
if (n == null) {
if (activated) {
bNeedFocus = true;
}
} else {
var _local2 = getFocus();
if (isOurFocus(_local2)) {
bNeedFocus = false;
lastFocus = _local2;
lastSelFocus = n;
}
}
}
function restoreFocus(Void) {
var _local2 = lastSelFocus.hscroll;
if (_local2 != undefined) {
var _local5 = lastSelFocus.scroll;
var _local4 = lastSelFocus.background;
}
lastFocus.setFocus();
var _local3 = Selection;
Selection.setSelection(_local3.lastBeginIndex, _local3.lastEndIndex);
if (_local2 != undefined) {
lastSelFocus.scroll = _local5;
lastSelFocus.hscroll = _local2;
lastSelFocus.background = _local4;
}
}
function onUnload(Void) {
mx.managers.SystemManager.removeFocusManager(form);
}
function setFocus(o) {
if (o == null) {
Selection.setFocus(null);
} else if (o.setFocus == undefined) {
Selection.setFocus(o);
} else {
o.setFocus();
}
}
function getActualFocus(o) {
var _local1 = o._parent;
while (_local1 != undefined) {
if (_local1.focusTextField != undefined) {
while (_local1.focusTextField != undefined) {
o = _local1;
_local1 = _local1._parent;
if (_local1 == undefined) {
return(undefined);
}
if (_local1.focusTextField == undefined) {
return(o);
}
}
}
if (_local1.tabEnabled != true) {
return(o);
}
o = _local1;
_local1 = o._parent;
}
return(undefined);
}
function getSelectionFocus() {
var m = Selection.getFocus();
var o = eval (m);
return(o);
}
function getFocus(Void) {
var _local2 = getSelectionFocus();
return(getActualFocus(_local2));
}
function walkTree(p, index, groupName, dir, lookup, firstChild) {
var _local5 = true;
var _local11;
for (_local11 in p) {
var _local2 = p[_local11];
if ((((_local2._parent == p) && (_local2.enabled != false)) && (_local2._visible != false)) && ((_local2.tabEnabled == true) || ((_local2.tabEnabled != false) && ((((((((_local2.onPress != undefined) || (_local2.onRelease != undefined)) || (_local2.onReleaseOutside != undefined)) || (_local2.onDragOut != undefined)) || (_local2.onDragOver != undefined)) || (_local2.onRollOver != undefined)) || (_local2.onRollOut != undefined)) || (_local2 instanceof TextField))))) {
if (_local2._searchKey == _searchKey) {
continue;
}
_local2._searchKey = _searchKey;
if (_local2 != _lastTarget) {
if (((_local2.groupName != undefined) || (groupName != undefined)) && (_local2.groupName == groupName)) {
continue;
}
if ((_local2 instanceof TextField) && (_local2.selectable == false)) {
continue;
}
if (_local5 || (((_local2.groupName != undefined) && (_local2.groupName == _firstNode.groupName)) && (_local2.selected == true))) {
if (firstChild) {
_firstNode = _local2;
firstChild = false;
}
}
if (_nextIsNext == true) {
if ((((_local2.groupName != undefined) && (_local2.groupName == _nextNode.groupName)) && (_local2.selected == true)) || ((_nextNode == undefined) && ((_local2.groupName == undefined) || ((_local2.groupName != undefined) && (_local2.groupName != groupName))))) {
_nextNode = _local2;
}
}
if ((_local2.groupName == undefined) || (groupName != _local2.groupName)) {
if (((_lastx.groupName != undefined) && (_local2.groupName == _lastx.groupName)) && (_lastx.selected == true)) {
} else {
_lastx = _local2;
}
}
} else {
_prevNode = _lastx;
_needPrev = false;
_nextIsNext = true;
}
if (_local2.tabIndex != undefined) {
if (_local2.tabIndex == index) {
if (_foundList[_local2._name] == undefined) {
if (_needPrev) {
_prevObj = _local2;
_needPrev = false;
}
_nextObj = _local2;
}
}
if (dir && (_local2.tabIndex > index)) {
if (((_nextObj == undefined) || ((_nextObj.tabIndex > _local2.tabIndex) && (((_local2.groupName == undefined) || (_nextObj.groupName == undefined)) || (_local2.groupName != _nextObj.groupName)))) || ((((_nextObj.groupName != undefined) && (_nextObj.groupName == _local2.groupName)) && (_nextObj.selected != true)) && ((_local2.selected == true) || (_nextObj.tabIndex > _local2.tabIndex)))) {
_nextObj = _local2;
}
} else if ((!dir) && (_local2.tabIndex < index)) {
if (((_prevObj == undefined) || ((_prevObj.tabIndex < _local2.tabIndex) && (((_local2.groupName == undefined) || (_prevObj.groupName == undefined)) || (_local2.groupName != _prevObj.groupName)))) || ((((_prevObj.groupName != undefined) && (_prevObj.groupName == _local2.groupName)) && (_prevObj.selected != true)) && ((_local2.selected == true) || (_prevObj.tabIndex < _local2.tabIndex)))) {
_prevObj = _local2;
}
}
if (((_firstObj == undefined) || ((_local2.tabIndex < _firstObj.tabIndex) && (((_local2.groupName == undefined) || (_firstObj.groupName == undefined)) || (_local2.groupName != _firstObj.groupName)))) || ((((_firstObj.groupName != undefined) && (_firstObj.groupName == _local2.groupName)) && (_firstObj.selected != true)) && ((_local2.selected == true) || (_local2.tabIndex < _firstObj.tabIndex)))) {
_firstObj = _local2;
}
if (((_lastObj == undefined) || ((_local2.tabIndex > _lastObj.tabIndex) && (((_local2.groupName == undefined) || (_lastObj.groupName == undefined)) || (_local2.groupName != _lastObj.groupName)))) || ((((_lastObj.groupName != undefined) && (_lastObj.groupName == _local2.groupName)) && (_lastObj.selected != true)) && ((_local2.selected == true) || (_local2.tabIndex > _lastObj.tabIndex)))) {
_lastObj = _local2;
}
}
if (_local2.tabChildren) {
getTabCandidateFromChildren(_local2, index, groupName, dir, _local5 && (firstChild));
}
_local5 = false;
} else if (((_local2._parent == p) && (_local2.tabChildren == true)) && (_local2._visible != false)) {
if (_local2 == _lastTarget) {
if (_local2._searchKey == _searchKey) {
continue;
}
_local2._searchKey = _searchKey;
if (_prevNode == undefined) {
var _local3 = _lastx;
var _local7 = false;
while (_local3 != undefined) {
if (_local3 == _local2) {
_local7 = true;
break;
}
_local3 = _local3._parent;
}
if (_local7 == false) {
_prevNode = _lastx;
}
}
_needPrev = false;
if (_nextNode == undefined) {
_nextIsNext = true;
}
} else if (!((_local2.focusManager != undefined) && (_local2.focusManager._parent == _local2))) {
if (_local2._searchKey == _searchKey) {
continue;
}
_local2._searchKey = _searchKey;
getTabCandidateFromChildren(_local2, index, groupName, dir, _local5 && (firstChild));
}
_local5 = false;
}
}
_lastNode = _lastx;
if (lookup) {
if (p._parent != undefined) {
if (p != _parent) {
if ((_prevNode == undefined) && (dir)) {
_needPrev = true;
} else if ((_nextNode == undefined) && (!dir)) {
_nextIsNext = false;
}
_lastTarget = _lastTarget._parent;
getTabCandidate(p._parent, index, groupName, dir, true);
}
}
}
}
function getTabCandidate(o, index, groupName, dir, firstChild) {
var _local2;
var _local3 = true;
if (o == _parent) {
_local2 = o;
_local3 = false;
} else {
_local2 = o._parent;
if (_local2 == undefined) {
_local2 = o;
_local3 = false;
}
}
walkTree(_local2, index, groupName, dir, _local3, firstChild);
}
function getTabCandidateFromChildren(o, index, groupName, dir, firstChild) {
walkTree(o, index, groupName, dir, false, firstChild);
}
function getFocusManagerFromObject(o) {
while (o != undefined) {
if (o.focusManager != undefined) {
return(o.focusManager);
}
o = o._parent;
}
return(undefined);
}
function tabHandler(Void) {
bDrawFocus = true;
var _local5 = getSelectionFocus();
var _local4 = getActualFocus(_local5);
if (_local4 != _local5) {
_local5 = _local4;
}
if (getFocusManagerFromObject(_local5) != this) {
_local5 == undefined;
}
if (_local5 == undefined) {
_local5 = form;
} else if (_local5.tabIndex != undefined) {
if ((_foundList != undefined) || (_foundList.tabIndex != _local5.tabIndex)) {
_foundList = new Object();
_foundList.tabIndex = _local5.tabIndex;
}
_foundList[_local5._name] = _local5;
}
var _local3 = Key.isDown(16) != true;
_searchKey = getTimer();
_needPrev = true;
_nextIsNext = false;
_lastx = undefined;
_firstNode = undefined;
_lastNode = undefined;
_nextNode = undefined;
_prevNode = undefined;
_firstObj = undefined;
_lastObj = undefined;
_nextObj = undefined;
_prevObj = undefined;
_lastTarget = _local5;
var _local6 = _local5;
getTabCandidate(_local6, ((_local5.tabIndex == undefined) ? 0 : (_local5.tabIndex)), _local5.groupName, _local3, true);
var _local2;
if (_local3) {
if (_nextObj != undefined) {
_local2 = _nextObj;
} else {
_local2 = _firstObj;
}
} else if (_prevObj != undefined) {
_local2 = _prevObj;
} else {
_local2 = _lastObj;
}
if (_local2.tabIndex != _local5.tabIndex) {
_foundList = new Object();
_foundList.tabIndex = _local2.tabIndex;
_foundList[_local2._name] = _local2;
} else {
if (_foundList == undefined) {
_foundList = new Object();
_foundList.tabIndex = _local2.tabIndex;
}
_foundList[_local2._name] = _local2;
}
if (_local2 == undefined) {
if (_local3 == false) {
if (_nextNode != undefined) {
_local2 = _nextNode;
} else {
_local2 = _firstNode;
}
} else if ((_prevNode == undefined) || (_local5 == form)) {
_local2 = _lastNode;
} else {
_local2 = _prevNode;
}
}
if (_local2 == undefined) {
return(undefined);
}
lastTabFocus = _local2;
setFocus(_local2);
if (_local2.emphasized != undefined) {
if (defPushButton != undefined) {
_local5 = defPushButton;
defPushButton = _local2;
_local5.emphasized = false;
_local2.emphasized = true;
}
} else if ((defPushButton != undefined) && (defPushButton != __defaultPushButton)) {
_local5 = defPushButton;
defPushButton = __defaultPushButton;
_local5.emphasized = false;
__defaultPushButton.__set__emphasized(true);
}
}
function onKeyDown(Void) {
mx.managers.SystemManager.idleFrames = 0;
if (defaultPushButtonEnabled) {
if (Key.getCode() == 13) {
if (defaultPushButton != undefined) {
doLater(this, "sendDefaultPushButtonEvent");
}
}
}
}
function sendDefaultPushButtonEvent(Void) {
defPushButton.dispatchEvent({type:"click"});
}
function getMousedComponentFromChildren(x, y, o) {
for (var _local7 in o) {
var _local2 = o[_local7];
if (((_local2._visible && (_local2.enabled)) && (_local2._parent == o)) && (_local2._searchKey != _searchKey)) {
_local2._searchKey = _searchKey;
if (_local2.hitTest(x, y, true)) {
if ((_local2.onPress != undefined) || (_local2.onRelease != undefined)) {
return(_local2);
}
var _local3 = getMousedComponentFromChildren(x, y, _local2);
if (_local3 != undefined) {
return(_local3);
}
return(_local2);
}
}
}
return(undefined);
}
function mouseActivate(Void) {
if (!bNeedFocus) {
return(undefined);
}
_searchKey = getTimer();
var _local2 = getMousedComponentFromChildren(lastMouse.x, lastMouse.y, form);
if (_local2 instanceof mx.core.UIComponent) {
return(undefined);
}
_local2 = findFocusFromObject(_local2);
if (_local2 == lastFocus) {
return(undefined);
}
if (_local2 == undefined) {
doLater(this, "restoreFocus");
return(undefined);
}
var _local3 = _local2.hscroll;
if (_local3 != undefined) {
var _local6 = _local2.scroll;
var _local5 = _local2.background;
}
setFocus(_local2);
var _local4 = Selection;
Selection.setSelection(_local4.lastBeginIndex, _local4.lastEndIndex);
if (_local3 != undefined) {
_local2.scroll = _local6;
_local2.hscroll = _local3;
_local2.background = _local5;
}
}
function _onMouseDown(Void) {
bDrawFocus = false;
if (lastFocus != undefined) {
lastFocus.drawFocus(false);
}
mx.managers.SystemManager.idleFrames = 0;
var _local3 = Selection;
_local3.lastBeginIndex = Selection.getBeginIndex();
_local3.lastEndIndex = Selection.getEndIndex();
lastMouse.x = _root._xmouse;
lastMouse.y = _root._ymouse;
_root.localToGlobal(lastMouse);
}
function onMouseUp(Void) {
if (_visible) {
doLater(this, "mouseActivate");
}
}
function handleEvent(e) {
if (e.type == "reveal") {
mx.managers.SystemManager.activate(form);
} else {
mx.managers.SystemManager.deactivate(form);
}
}
static function enableFocusManagement() {
if (!initialized) {
initialized = true;
Object.registerClass("FocusManager", mx.managers.FocusManager);
if (_root.focusManager == undefined) {
_root.createClassObject(mx.managers.FocusManager, "focusManager", mx.managers.DepthManager.highestDepth--);
}
}
}
static var symbolName = "FocusManager";
static var symbolOwner = mx.managers.FocusManager;
static var version = "2.0.2.126";
var className = "FocusManager";
var bNeedFocus = false;
var bDrawFocus = false;
var defaultPushButtonEnabled = true;
var activated = true;
static var initialized = false;
static var UIObjectExtensionsDependency = mx.core.ext.UIObjectExtensions;
}
Symbol 468 MovieClip [__Packages.mx.skins.halo.FocusRect] Frame 0
class mx.skins.halo.FocusRect extends mx.skins.SkinElement
{
var boundingBox_mc, _xscale, _yscale, clear, beginFill, drawRoundRect, endFill, _visible;
function FocusRect () {
super();
boundingBox_mc._visible = false;
boundingBox_mc._width = (boundingBox_mc._height = 0);
}
function draw(o) {
o.adjustFocusRect();
}
function setSize(w, h, r, a, rectCol) {
_xscale = (_yscale = 100);
clear();
if (typeof(r) == "object") {
r.br = ((r.br > 2) ? (r.br - 2) : 0);
r.bl = ((r.bl > 2) ? (r.bl - 2) : 0);
r.tr = ((r.tr > 2) ? (r.tr - 2) : 0);
r.tl = ((r.tl > 2) ? (r.tl - 2) : 0);
beginFill(rectCol, a * 0.3);
drawRoundRect(0, 0, w, h, r);
drawRoundRect(2, 2, w - 4, h - 4, r);
endFill();
r.br = ((r.br > 1) ? (r.br + 1) : 0);
r.bl = ((r.bl > 1) ? (r.bl + 1) : 0);
r.tr = ((r.tr > 1) ? (r.tr + 1) : 0);
r.tl = ((r.tl > 1) ? (r.tl + 1) : 0);
beginFill(rectCol, a * 0.3);
drawRoundRect(1, 1, w - 2, h - 2, r);
r.br = ((r.br > 1) ? (r.br - 1) : 0);
r.bl = ((r.bl > 1) ? (r.bl - 1) : 0);
r.tr = ((r.tr > 1) ? (r.tr - 1) : 0);
r.tl = ((r.tl > 1) ? (r.tl - 1) : 0);
drawRoundRect(2, 2, w - 4, h - 4, r);
endFill();
} else {
var _local5;
if (r != 0) {
_local5 = r - 2;
} else {
_local5 = 0;
}
beginFill(rectCol, a * 0.3);
drawRoundRect(0, 0, w, h, r);
drawRoundRect(2, 2, w - 4, h - 4, _local5);
endFill();
beginFill(rectCol, a * 0.3);
if (r != 0) {
_local5 = r - 2;
r = r - 1;
} else {
_local5 = 0;
r = 0;
}
drawRoundRect(1, 1, w - 2, h - 2, r);
drawRoundRect(2, 2, w - 4, h - 4, _local5);
endFill();
}
}
function handleEvent(e) {
if (e.type == "unload") {
_visible = true;
} else if (e.type == "resize") {
e.target.adjustFocusRect();
} else if (e.type == "move") {
e.target.adjustFocusRect();
}
}
static function classConstruct() {
mx.core.UIComponent.prototype.drawFocus = function (focused) {
var _local2 = this._parent.focus_mc;
if (!focused) {
_local2._visible = false;
this.removeEventListener("unload", _local2);
this.removeEventListener("move", _local2);
this.removeEventListener("resize", _local2);
} else {
if (_local2 == undefined) {
_local2 = this._parent.createChildAtDepth("FocusRect", mx.managers.DepthManager.kTop);
_local2.tabEnabled = false;
this._parent.focus_mc = _local2;
} else {
_local2._visible = true;
}
_local2.draw(this);
if (_local2.getDepth() < this.getDepth()) {
_local2.setDepthAbove(this);
}
this.addEventListener("unload", _local2);
this.addEventListener("move", _local2);
this.addEventListener("resize", _local2);
}
};
mx.core.UIComponent.prototype.adjustFocusRect = function () {
var _local2 = this.getStyle("themeColor");
if (_local2 == undefined) {
_local2 = 8453965 /* 0x80FF4D */;
}
var _local3 = this._parent.focus_mc;
_local3.setSize(this.width + 4, this.height + 4, 0, 100, _local2);
_local3.move(this.x - 2, this.y - 2);
};
TextField.prototype.drawFocus = mx.core.UIComponent.prototype.drawFocus;
TextField.prototype.adjustFocusRect = mx.core.UIComponent.prototype.adjustFocusRect;
mx.skins.halo.FocusRect.prototype.drawRoundRect = mx.skins.halo.Defaults.prototype.drawRoundRect;
return(true);
}
static var classConstructed = classConstruct();
static var DefaultsDependency = mx.skins.halo.Defaults;
static var UIComponentDependency = mx.core.UIComponent;
}
Symbol 469 MovieClip [__Packages.mx.managers.OverlappedWindows] Frame 0
class mx.managers.OverlappedWindows
{
function OverlappedWindows () {
}
static function checkIdle(Void) {
if (mx.managers.SystemManager.idleFrames > 10) {
mx.managers.SystemManager.dispatchEvent({type:"idle"});
} else {
mx.managers.SystemManager.idleFrames++;
}
}
static function __addEventListener(e, o, l) {
if (e == "idle") {
if (mx.managers.SystemManager.interval == undefined) {
mx.managers.SystemManager.interval = setInterval(mx.managers.SystemManager.checkIdle, 100);
}
}
mx.managers.SystemManager._xAddEventListener(e, o, l);
}
static function __removeEventListener(e, o, l) {
if (e == "idle") {
if (mx.managers.SystemManager._xRemoveEventListener(e, o, l) == 0) {
clearInterval(mx.managers.SystemManager.interval);
}
} else {
mx.managers.SystemManager._xRemoveEventListener(e, o, l);
}
}
static function onMouseDown(Void) {
mx.managers.SystemManager.idleFrames = 0;
mx.managers.SystemManager.isMouseDown = true;
var _local5 = _root;
var _local3;
var _local8 = _root._xmouse;
var _local7 = _root._ymouse;
if (mx.managers.SystemManager.form.modalWindow == undefined) {
if (mx.managers.SystemManager.forms.length > 1) {
var _local6 = mx.managers.SystemManager.forms.length;
var _local4;
_local4 = 0;
while (_local4 < _local6) {
var _local2 = mx.managers.SystemManager.forms[_local4];
if (_local2._visible) {
if (_local2.hitTest(_local8, _local7)) {
if (_local3 == undefined) {
_local3 = _local2.getDepth();
_local5 = _local2;
} else if (_local3 < _local2.getDepth()) {
_local3 = _local2.getDepth();
_local5 = _local2;
}
}
}
_local4++;
}
if (_local5 != mx.managers.SystemManager.form) {
mx.managers.SystemManager.activate(_local5);
}
}
}
var _local9 = mx.managers.SystemManager.form;
_local9.focusManager._onMouseDown();
}
static function onMouseMove(Void) {
mx.managers.SystemManager.idleFrames = 0;
}
static function onMouseUp(Void) {
mx.managers.SystemManager.isMouseDown = false;
mx.managers.SystemManager.idleFrames = 0;
}
static function activate(f) {
if (mx.managers.SystemManager.form != undefined) {
if ((mx.managers.SystemManager.form != f) && (mx.managers.SystemManager.forms.length > 1)) {
var _local1 = mx.managers.SystemManager.form;
_local1.focusManager.deactivate();
}
}
mx.managers.SystemManager.form = f;
f.focusManager.activate();
}
static function deactivate(f) {
if (mx.managers.SystemManager.form != undefined) {
if ((mx.managers.SystemManager.form == f) && (mx.managers.SystemManager.forms.length > 1)) {
var _local5 = mx.managers.SystemManager.form;
_local5.focusManager.deactivate();
var _local3 = mx.managers.SystemManager.forms.length;
var _local1;
var _local2;
_local1 = 0;
while (_local1 < _local3) {
if (mx.managers.SystemManager.forms[_local1] == f) {
_local1 = _local1 + 1;
while (_local1 < _local3) {
if (mx.managers.SystemManager.forms[_local1]._visible == true) {
_local2 = mx.managers.SystemManager.forms[_local1];
}
_local1++;
}
mx.managers.SystemManager.form = _local2;
break;
}
if (mx.managers.SystemManager.forms[_local1]._visible == true) {
_local2 = mx.managers.SystemManager.forms[_local1];
}
_local1++;
}
_local5 = mx.managers.SystemManager.form;
_local5.focusManager.activate();
}
}
}
static function addFocusManager(f) {
mx.managers.SystemManager.forms.push(f);
mx.managers.SystemManager.activate(f);
}
static function removeFocusManager(f) {
var _local3 = mx.managers.SystemManager.forms.length;
var _local1;
_local1 = 0;
while (_local1 < _local3) {
if (mx.managers.SystemManager.forms[_local1] == f) {
if (mx.managers.SystemManager.form == f) {
mx.managers.SystemManager.deactivate(f);
}
mx.managers.SystemManager.forms.splice(_local1, 1);
return(undefined);
}
_local1++;
}
}
static function enableOverlappedWindows() {
if (!initialized) {
initialized = true;
mx.managers.SystemManager.checkIdle = checkIdle;
mx.managers.SystemManager.__addEventListener = __addEventListener;
mx.managers.SystemManager.__removeEventListener = __removeEventListener;
mx.managers.SystemManager.onMouseDown = onMouseDown;
mx.managers.SystemManager.onMouseMove = onMouseMove;
mx.managers.SystemManager.onMouseUp = onMouseUp;
mx.managers.SystemManager.activate = activate;
mx.managers.SystemManager.deactivate = deactivate;
mx.managers.SystemManager.addFocusManager = addFocusManager;
mx.managers.SystemManager.removeFocusManager = removeFocusManager;
}
}
static var initialized = false;
static var SystemManagerDependency = mx.managers.SystemManager;
}
Symbol 470 MovieClip [__Packages.mx.styles.CSSSetStyle] Frame 0
class mx.styles.CSSSetStyle
{
var styleName, stylecache, _color, setColor, invalidateStyle;
function CSSSetStyle () {
}
function _setStyle(styleProp, newValue) {
this[styleProp] = newValue;
if (mx.styles.StyleManager.TextStyleMap[styleProp] != undefined) {
if (styleProp == "color") {
if (isNaN(newValue)) {
newValue = mx.styles.StyleManager.getColorName(newValue);
this[styleProp] = newValue;
if (newValue == undefined) {
return(undefined);
}
}
}
_level0.changeTextStyleInChildren(styleProp);
return(undefined);
}
if (mx.styles.StyleManager.isColorStyle(styleProp)) {
if (isNaN(newValue)) {
newValue = mx.styles.StyleManager.getColorName(newValue);
this[styleProp] = newValue;
if (newValue == undefined) {
return(undefined);
}
}
if (styleProp == "themeColor") {
var _local7 = mx.styles.StyleManager.colorNames.haloBlue;
var _local6 = mx.styles.StyleManager.colorNames.haloGreen;
var _local8 = mx.styles.StyleManager.colorNames.haloOrange;
var _local4 = {};
_local4[_local7] = 12188666 /* 0xB9FBFA */;
_local4[_local6] = 13500353 /* 0xCDFFC1 */;
_local4[_local8] = 16766319 /* 0xFFD56F */;
var _local5 = {};
_local5[_local7] = 13958653 /* 0xD4FDFD */;
_local5[_local6] = 14942166 /* 0xE3FFD6 */;
_local5[_local8] = 16772787 /* 0xFFEEB3 */;
var _local9 = _local4[newValue];
var _local10 = _local5[newValue];
if (_local9 == undefined) {
_local9 = newValue;
}
if (_local10 == undefined) {
_local10 = newValue;
}
setStyle("selectionColor", _local9);
setStyle("rollOverColor", _local10);
}
_level0.changeColorStyleInChildren(styleName, styleProp, newValue);
} else {
if ((styleProp == "backgroundColor") && (isNaN(newValue))) {
newValue = mx.styles.StyleManager.getColorName(newValue);
this[styleProp] = newValue;
if (newValue == undefined) {
return(undefined);
}
}
_level0.notifyStyleChangeInChildren(styleName, styleProp, newValue);
}
}
function changeTextStyleInChildren(styleProp) {
var _local4 = getTimer();
var _local5;
for (_local5 in this) {
var _local2 = this[_local5];
if (_local2._parent == this) {
if (_local2.searchKey != _local4) {
if (_local2.stylecache != undefined) {
delete _local2.stylecache.tf;
delete _local2.stylecache[styleProp];
}
_local2.invalidateStyle(styleProp);
_local2.changeTextStyleInChildren(styleProp);
_local2.searchKey = _local4;
}
}
}
}
function changeColorStyleInChildren(sheetName, colorStyle, newValue) {
var _local6 = getTimer();
var _local7;
for (_local7 in this) {
var _local2 = this[_local7];
if (_local2._parent == this) {
if (_local2.searchKey != _local6) {
if (((_local2.getStyleName() == sheetName) || (sheetName == undefined)) || (sheetName == "_global")) {
if (_local2.stylecache != undefined) {
delete _local2.stylecache[colorStyle];
}
if (typeof(_local2._color) == "string") {
if (_local2._color == colorStyle) {
var _local4 = _local2.getStyle(colorStyle);
if (colorStyle == "color") {
if (stylecache.tf.color != undefined) {
stylecache.tf.color = _local4;
}
}
_local2.setColor(_local4);
}
} else if (_local2._color[colorStyle] != undefined) {
if (typeof(_local2) != "movieclip") {
_local2._parent.invalidateStyle();
} else {
_local2.invalidateStyle(colorStyle);
}
}
}
_local2.changeColorStyleInChildren(sheetName, colorStyle, newValue);
_local2.searchKey = _local6;
}
}
}
}
function notifyStyleChangeInChildren(sheetName, styleProp, newValue) {
var _local5 = getTimer();
var _local6;
for (_local6 in this) {
var _local2 = this[_local6];
if (_local2._parent == this) {
if (_local2.searchKey != _local5) {
if (((_local2.styleName == sheetName) || ((_local2.styleName != undefined) && (typeof(_local2.styleName) == "movieclip"))) || (sheetName == undefined)) {
if (_local2.stylecache != undefined) {
delete _local2.stylecache[styleProp];
delete _local2.stylecache.tf;
}
delete _local2.enabledColor;
_local2.invalidateStyle(styleProp);
}
_local2.notifyStyleChangeInChildren(sheetName, styleProp, newValue);
_local2.searchKey = _local5;
}
}
}
}
function setStyle(styleProp, newValue) {
if (stylecache != undefined) {
delete stylecache[styleProp];
delete stylecache.tf;
}
this[styleProp] = newValue;
if (mx.styles.StyleManager.isColorStyle(styleProp)) {
if (isNaN(newValue)) {
newValue = mx.styles.StyleManager.getColorName(newValue);
this[styleProp] = newValue;
if (newValue == undefined) {
return(undefined);
}
}
if (styleProp == "themeColor") {
var _local10 = mx.styles.StyleManager.colorNames.haloBlue;
var _local9 = mx.styles.StyleManager.colorNames.haloGreen;
var _local11 = mx.styles.StyleManager.colorNames.haloOrange;
var _local6 = {};
_local6[_local10] = 12188666 /* 0xB9FBFA */;
_local6[_local9] = 13500353 /* 0xCDFFC1 */;
_local6[_local11] = 16766319 /* 0xFFD56F */;
var _local7 = {};
_local7[_local10] = 13958653 /* 0xD4FDFD */;
_local7[_local9] = 14942166 /* 0xE3FFD6 */;
_local7[_local11] = 16772787 /* 0xFFEEB3 */;
var _local12 = _local6[newValue];
var _local13 = _local7[newValue];
if (_local12 == undefined) {
_local12 = newValue;
}
if (_local13 == undefined) {
_local13 = newValue;
}
setStyle("selectionColor", _local12);
setStyle("rollOverColor", _local13);
}
if (typeof(_color) == "string") {
if (_color == styleProp) {
if (styleProp == "color") {
if (stylecache.tf.color != undefined) {
stylecache.tf.color = newValue;
}
}
setColor(newValue);
}
} else if (_color[styleProp] != undefined) {
invalidateStyle(styleProp);
}
changeColorStyleInChildren(undefined, styleProp, newValue);
} else {
if ((styleProp == "backgroundColor") && (isNaN(newValue))) {
newValue = mx.styles.StyleManager.getColorName(newValue);
this[styleProp] = newValue;
if (newValue == undefined) {
return(undefined);
}
}
invalidateStyle(styleProp);
}
if (mx.styles.StyleManager.isInheritingStyle(styleProp) || (styleProp == "styleName")) {
var _local8;
var _local5 = newValue;
if (styleProp == "styleName") {
_local8 = ((typeof(newValue) == "string") ? (_global.styles[newValue]) : (_local5));
_local5 = _local8.themeColor;
if (_local5 != undefined) {
_local8.rollOverColor = (_local8.selectionColor = _local5);
}
}
notifyStyleChangeInChildren(undefined, styleProp, newValue);
}
}
static function enableRunTimeCSS() {
}
static function classConstruct() {
var _local2 = MovieClip.prototype;
var _local3 = mx.styles.CSSSetStyle.prototype;
mx.styles.CSSStyleDeclaration.prototype.setStyle = _local3._setStyle;
_local2.changeTextStyleInChildren = _local3.changeTextStyleInChildren;
_local2.changeColorStyleInChildren = _local3.changeColorStyleInChildren;
_local2.notifyStyleChangeInChildren = _local3.notifyStyleChangeInChildren;
_local2.setStyle = _local3.setStyle;
_global.ASSetPropFlags(_local2, "changeTextStyleInChildren", 1);
_global.ASSetPropFlags(_local2, "changeColorStyleInChildren", 1);
_global.ASSetPropFlags(_local2, "notifyStyleChangeInChildren", 1);
_global.ASSetPropFlags(_local2, "setStyle", 1);
var _local4 = TextField.prototype;
_local4.setStyle = _local2.setStyle;
_local4.changeTextStyleInChildren = _local3.changeTextStyleInChildren;
return(true);
}
static var classConstructed = classConstruct();
static var CSSStyleDeclarationDependency = mx.styles.CSSStyleDeclaration;
}
Symbol 471 MovieClip [__Packages.mx.core.ext.UIComponentExtensions] Frame 0
class mx.core.ext.UIComponentExtensions
{
function UIComponentExtensions () {
}
static function Extensions() {
if (bExtended == true) {
return(true);
}
bExtended = true;
TextField.prototype.setFocus = function () {
Selection.setFocus(this);
};
TextField.prototype.onSetFocus = function (oldFocus) {
if (this.tabEnabled != false) {
if (this.getFocusManager().bDrawFocus) {
this.drawFocus(true);
}
}
};
TextField.prototype.onKillFocus = function (oldFocus) {
if (this.tabEnabled != false) {
this.drawFocus(false);
}
};
TextField.prototype.drawFocus = mx.core.UIComponent.prototype.drawFocus;
TextField.prototype.getFocusManager = mx.core.UIComponent.prototype.getFocusManager;
mx.managers.OverlappedWindows.enableOverlappedWindows();
mx.styles.CSSSetStyle.enableRunTimeCSS();
mx.managers.FocusManager.enableFocusManagement();
}
static var bExtended = false;
static var UIComponentExtended = Extensions();
static var UIComponentDependency = mx.core.UIComponent;
static var FocusManagerDependency = mx.managers.FocusManager;
static var OverlappedWindowsDependency = mx.managers.OverlappedWindows;
}