Section 1
//BaseScrollPane (fl.containers.BaseScrollPane)
package fl.containers {
import fl.core.*;
import fl.controls.*;
import flash.display.*;
import flash.events.*;
import fl.events.*;
import flash.geom.*;
public class BaseScrollPane extends UIComponent {
protected var defaultLineScrollSize:Number;// = 4
protected var _maxHorizontalScrollPosition:Number;// = 0
protected var vScrollBar:Boolean;
protected var disabledOverlay:Shape;
protected var hScrollBar:Boolean;
protected var availableWidth:Number;
protected var _verticalPageScrollSize:Number;// = 0
protected var vOffset:Number;// = 0
protected var _verticalScrollBar:ScrollBar;
protected var useFixedHorizontalScrolling:Boolean;// = false
protected var contentWidth:Number;// = 0
protected var contentHeight:Number;// = 0
protected var _horizontalPageScrollSize:Number;// = 0
protected var background:DisplayObject;
protected var _useBitmpScrolling:Boolean;// = false
protected var contentPadding:Number;// = 0
protected var availableHeight:Number;
protected var _horizontalScrollBar:ScrollBar;
protected var contentScrollRect:Rectangle;
protected var _horizontalScrollPolicy:String;
protected var _verticalScrollPolicy:String;
protected static const SCROLL_BAR_STYLES:Object = {upArrowDisabledSkin:"upArrowDisabledSkin", upArrowDownSkin:"upArrowDownSkin", upArrowOverSkin:"upArrowOverSkin", upArrowUpSkin:"upArrowUpSkin", downArrowDisabledSkin:"downArrowDisabledSkin", downArrowDownSkin:"downArrowDownSkin", downArrowOverSkin:"downArrowOverSkin", downArrowUpSkin:"downArrowUpSkin", thumbDisabledSkin:"thumbDisabledSkin", thumbDownSkin:"thumbDownSkin", thumbOverSkin:"thumbOverSkin", thumbUpSkin:"thumbUpSkin", thumbIcon:"thumbIcon", trackDisabledSkin:"trackDisabledSkin", trackDownSkin:"trackDownSkin", trackOverSkin:"trackOverSkin", trackUpSkin:"trackUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"};
private static var defaultStyles:Object = {repeatDelay:500, repeatInterval:35, skin:"ScrollPane_upSkin", contentPadding:0, disabledAlpha:0.5};
public function BaseScrollPane(){
contentWidth = 0;
contentHeight = 0;
contentPadding = 0;
vOffset = 0;
_maxHorizontalScrollPosition = 0;
_horizontalPageScrollSize = 0;
_verticalPageScrollSize = 0;
defaultLineScrollSize = 4;
useFixedHorizontalScrolling = false;
_useBitmpScrolling = false;
super();
}
protected function handleWheel(_arg1:MouseEvent):void{
if (((((!(enabled)) || (!(_verticalScrollBar.visible)))) || ((contentHeight <= availableHeight)))){
return;
};
_verticalScrollBar.scrollPosition = (_verticalScrollBar.scrollPosition - (_arg1.delta * verticalLineScrollSize));
setVerticalScrollPosition(_verticalScrollBar.scrollPosition);
dispatchEvent(new ScrollEvent(ScrollBarDirection.VERTICAL, _arg1.delta, horizontalScrollPosition));
}
public function get verticalScrollPosition():Number{
return (_verticalScrollBar.scrollPosition);
}
protected function drawDisabledOverlay():void{
if (enabled){
if (contains(disabledOverlay)){
removeChild(disabledOverlay);
};
} else {
disabledOverlay.x = (disabledOverlay.y = contentPadding);
disabledOverlay.width = availableWidth;
disabledOverlay.height = availableHeight;
disabledOverlay.alpha = (getStyleValue("disabledAlpha") as Number);
addChild(disabledOverlay);
};
}
public function set verticalScrollPosition(_arg1:Number):void{
drawNow();
_verticalScrollBar.scrollPosition = _arg1;
setVerticalScrollPosition(_verticalScrollBar.scrollPosition, false);
}
protected function setContentSize(_arg1:Number, _arg2:Number):void{
if ((((((contentWidth == _arg1)) || (useFixedHorizontalScrolling))) && ((contentHeight == _arg2)))){
return;
};
contentWidth = _arg1;
contentHeight = _arg2;
invalidate(InvalidationType.SIZE);
}
public function get horizontalScrollPosition():Number{
return (_horizontalScrollBar.scrollPosition);
}
public function get horizontalScrollBar():ScrollBar{
return (_horizontalScrollBar);
}
override public function set enabled(_arg1:Boolean):void{
if (enabled == _arg1){
return;
};
_verticalScrollBar.enabled = _arg1;
_horizontalScrollBar.enabled = _arg1;
super.enabled = _arg1;
}
public function get verticalLineScrollSize():Number{
return (_verticalScrollBar.lineScrollSize);
}
public function get horizontalScrollPolicy():String{
return (_horizontalScrollPolicy);
}
protected function calculateAvailableSize():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local1 = ScrollBar.WIDTH;
_local2 = (contentPadding = Number(getStyleValue("contentPadding")));
_local3 = ((height - (2 * _local2)) - vOffset);
vScrollBar = (((_verticalScrollPolicy == ScrollPolicy.ON)) || ((((_verticalScrollPolicy == ScrollPolicy.AUTO)) && ((contentHeight > _local3)))));
_local4 = ((width - (vScrollBar) ? _local1 : 0) - (2 * _local2));
_local5 = (useFixedHorizontalScrolling) ? _maxHorizontalScrollPosition : (contentWidth - _local4);
hScrollBar = (((_horizontalScrollPolicy == ScrollPolicy.ON)) || ((((_horizontalScrollPolicy == ScrollPolicy.AUTO)) && ((_local5 > 0)))));
if (hScrollBar){
_local3 = (_local3 - _local1);
};
if (((((((hScrollBar) && (!(vScrollBar)))) && ((_verticalScrollPolicy == ScrollPolicy.AUTO)))) && ((contentHeight > _local3)))){
vScrollBar = true;
_local4 = (_local4 - _local1);
};
availableHeight = (_local3 + vOffset);
availableWidth = _local4;
}
public function get maxVerticalScrollPosition():Number{
drawNow();
return (Math.max(0, (contentHeight - availableHeight)));
}
public function set horizontalScrollPosition(_arg1:Number):void{
drawNow();
_horizontalScrollBar.scrollPosition = _arg1;
setHorizontalScrollPosition(_horizontalScrollBar.scrollPosition, false);
}
public function get horizontalLineScrollSize():Number{
return (_horizontalScrollBar.lineScrollSize);
}
public function set verticalPageScrollSize(_arg1:Number):void{
_verticalPageScrollSize = _arg1;
invalidate(InvalidationType.SIZE);
}
public function get verticalScrollPolicy():String{
return (_verticalScrollPolicy);
}
protected function setHorizontalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
}
public function get useBitmapScrolling():Boolean{
return (_useBitmpScrolling);
}
protected function handleScroll(_arg1:ScrollEvent):void{
if (_arg1.target == _verticalScrollBar){
setVerticalScrollPosition(_arg1.position);
} else {
setHorizontalScrollPosition(_arg1.position);
};
}
public function set verticalLineScrollSize(_arg1:Number):void{
_verticalScrollBar.lineScrollSize = _arg1;
}
public function get verticalScrollBar():ScrollBar{
return (_verticalScrollBar);
}
protected function setVerticalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
}
public function set horizontalPageScrollSize(_arg1:Number):void{
_horizontalPageScrollSize = _arg1;
invalidate(InvalidationType.SIZE);
}
override protected function draw():void{
if (isInvalid(InvalidationType.STYLES)){
setStyles();
drawBackground();
if (contentPadding != getStyleValue("contentPadding")){
invalidate(InvalidationType.SIZE, false);
};
};
if (isInvalid(InvalidationType.SIZE, InvalidationType.STATE)){
drawLayout();
};
updateChildren();
super.draw();
}
public function set horizontalScrollPolicy(_arg1:String):void{
_horizontalScrollPolicy = _arg1;
invalidate(InvalidationType.SIZE);
}
override protected function configUI():void{
var _local1:Graphics;
super.configUI();
contentScrollRect = new Rectangle(0, 0, 85, 85);
_verticalScrollBar = new ScrollBar();
_verticalScrollBar.addEventListener(ScrollEvent.SCROLL, handleScroll, false, 0, true);
_verticalScrollBar.visible = false;
_verticalScrollBar.lineScrollSize = defaultLineScrollSize;
addChild(_verticalScrollBar);
copyStylesToChild(_verticalScrollBar, SCROLL_BAR_STYLES);
_horizontalScrollBar = new ScrollBar();
_horizontalScrollBar.direction = ScrollBarDirection.HORIZONTAL;
_horizontalScrollBar.addEventListener(ScrollEvent.SCROLL, handleScroll, false, 0, true);
_horizontalScrollBar.visible = false;
_horizontalScrollBar.lineScrollSize = defaultLineScrollSize;
addChild(_horizontalScrollBar);
copyStylesToChild(_horizontalScrollBar, SCROLL_BAR_STYLES);
disabledOverlay = new Shape();
_local1 = disabledOverlay.graphics;
_local1.beginFill(0xFFFFFF);
_local1.drawRect(0, 0, width, height);
_local1.endFill();
addEventListener(MouseEvent.MOUSE_WHEEL, handleWheel, false, 0, true);
}
protected function calculateContentWidth():void{
}
public function get verticalPageScrollSize():Number{
if (isNaN(availableHeight)){
drawNow();
};
return (((((_verticalPageScrollSize == 0)) && (!(isNaN(availableHeight))))) ? availableHeight : _verticalPageScrollSize);
}
protected function drawLayout():void{
calculateAvailableSize();
calculateContentWidth();
background.width = width;
background.height = height;
if (vScrollBar){
_verticalScrollBar.visible = true;
_verticalScrollBar.x = ((width - ScrollBar.WIDTH) - contentPadding);
_verticalScrollBar.y = contentPadding;
_verticalScrollBar.height = availableHeight;
} else {
_verticalScrollBar.visible = false;
};
_verticalScrollBar.setScrollProperties(availableHeight, 0, (contentHeight - availableHeight), verticalPageScrollSize);
setVerticalScrollPosition(_verticalScrollBar.scrollPosition, false);
if (hScrollBar){
_horizontalScrollBar.visible = true;
_horizontalScrollBar.x = contentPadding;
_horizontalScrollBar.y = ((height - ScrollBar.WIDTH) - contentPadding);
_horizontalScrollBar.width = availableWidth;
} else {
_horizontalScrollBar.visible = false;
};
_horizontalScrollBar.setScrollProperties(availableWidth, 0, (useFixedHorizontalScrolling) ? _maxHorizontalScrollPosition : (contentWidth - availableWidth), horizontalPageScrollSize);
setHorizontalScrollPosition(_horizontalScrollBar.scrollPosition, false);
drawDisabledOverlay();
}
protected function drawBackground():void{
var _local1:DisplayObject;
_local1 = background;
background = getDisplayObjectInstance(getStyleValue("skin"));
background.width = width;
background.height = height;
addChildAt(background, 0);
if (((!((_local1 == null))) && (!((_local1 == background))))){
removeChild(_local1);
};
}
public function set horizontalLineScrollSize(_arg1:Number):void{
_horizontalScrollBar.lineScrollSize = _arg1;
}
public function get horizontalPageScrollSize():Number{
if (isNaN(availableWidth)){
drawNow();
};
return (((((_horizontalPageScrollSize == 0)) && (!(isNaN(availableWidth))))) ? availableWidth : _horizontalPageScrollSize);
}
public function get maxHorizontalScrollPosition():Number{
drawNow();
return (Math.max(0, (contentWidth - availableWidth)));
}
protected function setStyles():void{
copyStylesToChild(_verticalScrollBar, SCROLL_BAR_STYLES);
copyStylesToChild(_horizontalScrollBar, SCROLL_BAR_STYLES);
}
protected function updateChildren():void{
_verticalScrollBar.enabled = (_horizontalScrollBar.enabled = enabled);
_verticalScrollBar.drawNow();
_horizontalScrollBar.drawNow();
}
public function set verticalScrollPolicy(_arg1:String):void{
_verticalScrollPolicy = _arg1;
invalidate(InvalidationType.SIZE);
}
public function set useBitmapScrolling(_arg1:Boolean):void{
_useBitmpScrolling = _arg1;
invalidate(InvalidationType.STATE);
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, ScrollBar.getStyleDefinition()));
}
}
}//package fl.containers
Section 2
//CellRenderer (fl.controls.listClasses.CellRenderer)
package fl.controls.listClasses {
import fl.controls.*;
import flash.events.*;
public class CellRenderer extends LabelButton implements ICellRenderer {
protected var _data:Object;
protected var _listData:ListData;
private static var defaultStyles:Object = {upSkin:"CellRenderer_upSkin", downSkin:"CellRenderer_downSkin", overSkin:"CellRenderer_overSkin", disabledSkin:"CellRenderer_disabledSkin", selectedDisabledSkin:"CellRenderer_selectedDisabledSkin", selectedUpSkin:"CellRenderer_selectedUpSkin", selectedDownSkin:"CellRenderer_selectedDownSkin", selectedOverSkin:"CellRenderer_selectedOverSkin", textFormat:null, disabledTextFormat:null, embedFonts:null, textPadding:5};
public function CellRenderer():void{
toggle = true;
focusEnabled = false;
}
override protected function toggleSelected(_arg1:MouseEvent):void{
}
override public function get selected():Boolean{
return (super.selected);
}
public function set listData(_arg1:ListData):void{
_listData = _arg1;
label = _listData.label;
setStyle("icon", _listData.icon);
}
override public function set selected(_arg1:Boolean):void{
super.selected = _arg1;
}
public function set data(_arg1:Object):void{
_data = _arg1;
}
public function get listData():ListData{
return (_listData);
}
override public function setSize(_arg1:Number, _arg2:Number):void{
super.setSize(_arg1, _arg2);
}
override protected function drawLayout():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
_local1 = Number(getStyleValue("textPadding"));
_local2 = 0;
if (icon != null){
icon.x = _local1;
icon.y = Math.round(((height - icon.height) >> 1));
_local2 = (icon.width + _local1);
};
if (label.length > 0){
textField.visible = true;
_local3 = Math.max(0, ((width - _local2) - (_local1 * 2)));
textField.width = _local3;
textField.height = (textField.textHeight + 4);
textField.x = (_local2 + _local1);
textField.y = Math.round(((height - textField.height) >> 1));
} else {
textField.visible = false;
};
background.width = width;
background.height = height;
}
public function get data():Object{
return (_data);
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls.listClasses
Section 3
//ICellRenderer (fl.controls.listClasses.ICellRenderer)
package fl.controls.listClasses {
public interface ICellRenderer {
function setSize(_arg1:Number, _arg2:Number):void;
function get listData():ListData;
function get data():Object;
function setMouseState(_arg1:String):void;
function set x(_arg1:Number):void;
function set y(_arg1:Number):void;
function set data(_arg1:Object):void;
function set selected(_arg1:Boolean):void;
function set listData(_arg1:ListData):void;
function get selected():Boolean;
}
}//package fl.controls.listClasses
Section 4
//ListData (fl.controls.listClasses.ListData)
package fl.controls.listClasses {
import fl.core.*;
public class ListData {
protected var _index:uint;
protected var _owner:UIComponent;
protected var _label:String;
protected var _icon:Object;// = null
protected var _row:uint;
protected var _column:uint;
public function ListData(_arg1:String, _arg2:Object, _arg3:UIComponent, _arg4:uint, _arg5:uint, _arg6:uint=0){
_icon = null;
super();
_label = _arg1;
_icon = _arg2;
_owner = _arg3;
_index = _arg4;
_row = _arg5;
_column = _arg6;
}
public function get owner():UIComponent{
return (_owner);
}
public function get label():String{
return (_label);
}
public function get row():uint{
return (_row);
}
public function get index():uint{
return (_index);
}
public function get icon():Object{
return (_icon);
}
public function get column():uint{
return (_column);
}
}
}//package fl.controls.listClasses
Section 5
//BaseButton (fl.controls.BaseButton)
package fl.controls {
import fl.core.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import fl.events.*;
public class BaseButton extends UIComponent {
protected var _selected:Boolean;// = false
private var unlockedMouseState:String;
protected var pressTimer:Timer;
protected var mouseState:String;
protected var background:DisplayObject;
private var _mouseStateLocked:Boolean;// = false
protected var _autoRepeat:Boolean;// = false
private static var defaultStyles:Object = {upSkin:"Button_upSkin", downSkin:"Button_downSkin", overSkin:"Button_overSkin", disabledSkin:"Button_disabledSkin", selectedDisabledSkin:"Button_selectedDisabledSkin", selectedUpSkin:"Button_selectedUpSkin", selectedDownSkin:"Button_selectedDownSkin", selectedOverSkin:"Button_selectedOverSkin", focusRectSkin:null, focusRectPadding:null, repeatDelay:500, repeatInterval:35};
public function BaseButton(){
_selected = false;
_autoRepeat = false;
_mouseStateLocked = false;
super();
buttonMode = true;
mouseChildren = false;
useHandCursor = false;
setupMouseEvents();
setMouseState("up");
pressTimer = new Timer(1, 0);
pressTimer.addEventListener(TimerEvent.TIMER, buttonDown, false, 0, true);
}
protected function endPress():void{
pressTimer.reset();
}
public function set mouseStateLocked(_arg1:Boolean):void{
_mouseStateLocked = _arg1;
if (_arg1 == false){
setMouseState(unlockedMouseState);
} else {
unlockedMouseState = mouseState;
};
}
public function get autoRepeat():Boolean{
return (_autoRepeat);
}
public function set autoRepeat(_arg1:Boolean):void{
_autoRepeat = _arg1;
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
mouseEnabled = _arg1;
}
public function get selected():Boolean{
return (_selected);
}
protected function mouseEventHandler(_arg1:MouseEvent):void{
if (_arg1.type == MouseEvent.MOUSE_DOWN){
setMouseState("down");
startPress();
} else {
if ((((_arg1.type == MouseEvent.ROLL_OVER)) || ((_arg1.type == MouseEvent.MOUSE_UP)))){
setMouseState("over");
endPress();
} else {
if (_arg1.type == MouseEvent.ROLL_OUT){
setMouseState("up");
endPress();
};
};
};
}
public function setMouseState(_arg1:String):void{
if (_mouseStateLocked){
unlockedMouseState = _arg1;
return;
};
if (mouseState == _arg1){
return;
};
mouseState = _arg1;
invalidate(InvalidationType.STATE);
}
protected function startPress():void{
if (_autoRepeat){
pressTimer.delay = Number(getStyleValue("repeatDelay"));
pressTimer.start();
};
dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true));
}
protected function buttonDown(_arg1:TimerEvent):void{
if (!_autoRepeat){
endPress();
return;
};
if (pressTimer.currentCount == 1){
pressTimer.delay = Number(getStyleValue("repeatInterval"));
};
dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true));
}
public function set selected(_arg1:Boolean):void{
if (_selected == _arg1){
return;
};
_selected = _arg1;
invalidate(InvalidationType.STATE);
}
override public function get enabled():Boolean{
return (super.enabled);
}
override protected function draw():void{
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
drawBackground();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
drawLayout();
};
super.draw();
}
protected function setupMouseEvents():void{
addEventListener(MouseEvent.ROLL_OVER, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.MOUSE_DOWN, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.MOUSE_UP, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.ROLL_OUT, mouseEventHandler, false, 0, true);
}
protected function drawLayout():void{
background.width = width;
background.height = height;
}
protected function drawBackground():void{
var _local1:String;
var _local2:DisplayObject;
_local1 = (enabled) ? mouseState : "disabled";
if (selected){
_local1 = (("selected" + _local1.substr(0, 1).toUpperCase()) + _local1.substr(1));
};
_local1 = (_local1 + "Skin");
_local2 = background;
background = getDisplayObjectInstance(getStyleValue(_local1));
addChildAt(background, 0);
if (((!((_local2 == null))) && (!((_local2 == background))))){
removeChild(_local2);
};
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 6
//Button (fl.controls.Button)
package fl.controls {
import fl.core.*;
import flash.display.*;
import fl.managers.*;
public class Button extends LabelButton implements IFocusManagerComponent {
protected var emphasizedBorder:DisplayObject;
protected var _emphasized:Boolean;// = false
private static var defaultStyles:Object = {emphasizedSkin:"Button_emphasizedSkin", emphasizedPadding:2};
public static var createAccessibilityImplementation:Function;
public function Button(){
_emphasized = false;
super();
}
override public function drawFocus(_arg1:Boolean):void{
var _local2:Number;
var _local3:*;
super.drawFocus(_arg1);
if (_arg1){
_local2 = Number(getStyleValue("emphasizedPadding"));
if ((((_local2 < 0)) || (!(_emphasized)))){
_local2 = 0;
};
_local3 = getStyleValue("focusRectPadding");
_local3 = ((_local3)==null) ? 2 : _local3;
_local3 = (_local3 + _local2);
uiFocusRect.x = -(_local3);
uiFocusRect.y = -(_local3);
uiFocusRect.width = (width + (_local3 * 2));
uiFocusRect.height = (height + (_local3 * 2));
};
}
public function set emphasized(_arg1:Boolean):void{
_emphasized = _arg1;
invalidate(InvalidationType.STYLES);
}
override protected function draw():void{
if (((isInvalid(InvalidationType.STYLES)) || (isInvalid(InvalidationType.SIZE)))){
drawEmphasized();
};
super.draw();
if (emphasizedBorder != null){
setChildIndex(emphasizedBorder, (numChildren - 1));
};
}
public function get emphasized():Boolean{
return (_emphasized);
}
override protected function initializeAccessibility():void{
if (Button.createAccessibilityImplementation != null){
Button.createAccessibilityImplementation(this);
};
}
protected function drawEmphasized():void{
var _local1:Object;
var _local2:Number;
if (emphasizedBorder != null){
removeChild(emphasizedBorder);
};
emphasizedBorder = null;
if (!_emphasized){
return;
};
_local1 = getStyleValue("emphasizedSkin");
if (_local1 != null){
emphasizedBorder = getDisplayObjectInstance(_local1);
};
if (emphasizedBorder != null){
addChildAt(emphasizedBorder, 0);
_local2 = Number(getStyleValue("emphasizedPadding"));
emphasizedBorder.x = (emphasizedBorder.y = -(_local2));
emphasizedBorder.width = (width + (_local2 * 2));
emphasizedBorder.height = (height + (_local2 * 2));
};
}
public static function getStyleDefinition():Object{
return (UIComponent.mergeStyles(LabelButton.getStyleDefinition(), defaultStyles));
}
}
}//package fl.controls
Section 7
//ButtonLabelPlacement (fl.controls.ButtonLabelPlacement)
package fl.controls {
public class ButtonLabelPlacement {
public static const TOP:String = "top";
public static const LEFT:String = "left";
public static const BOTTOM:String = "bottom";
public static const RIGHT:String = "right";
}
}//package fl.controls
Section 8
//ComboBox (fl.controls.ComboBox)
package fl.controls {
import fl.controls.listClasses.*;
import fl.core.*;
import flash.display.*;
import flash.events.*;
import fl.data.*;
import fl.managers.*;
import fl.events.*;
import flash.text.*;
import flash.ui.*;
import flash.geom.*;
public class ComboBox extends UIComponent implements IFocusManagerComponent {
protected var _dropdownWidth:Number;
protected var highlightedCell:int;// = -1
protected var _prompt:String;
protected var isOpen:Boolean;// = false
protected var list:List;
protected var _rowCount:uint;// = 5
protected var currentIndex:int;
protected var isKeyDown:Boolean;// = false
protected var _labels:Array;
protected var background:BaseButton;
protected var inputField:TextInput;
protected var listOverIndex:uint;
protected var editableValue:String;
protected var _editable:Boolean;// = false
private var collectionItemImport:SimpleCollectionItem;
protected static const BACKGROUND_STYLES:Object = {overSkin:"overSkin", downSkin:"downSkin", upSkin:"upSkin", disabledSkin:"disabledSkin", repeatInterval:"repeatInterval"};
protected static const LIST_STYLES:Object = {upSkin:"comboListUpSkin", overSkin:"comboListOverSkin", downSkin:"comobListDownSkin", disabledSkin:"comboListDisabledSkin", downArrowDisabledSkin:"downArrowDisabledSkin", downArrowDownSkin:"downArrowDownSkin", downArrowOverSkin:"downArrowOverSkin", downArrowUpSkin:"downArrowUpSkin", upArrowDisabledSkin:"upArrowDisabledSkin", upArrowDownSkin:"upArrowDownSkin", upArrowOverSkin:"upArrowOverSkin", upArrowUpSkin:"upArrowUpSkin", thumbDisabledSkin:"thumbDisabledSkin", thumbDownSkin:"thumbDownSkin", thumbOverSkin:"thumbOverSkin", thumbUpSkin:"thumbUpSkin", thumbIcon:"thumbIcon", trackDisabledSkin:"trackDisabledSkin", trackDownSkin:"trackDownSkin", trackOverSkin:"trackOverSkin", trackUpSkin:"trackUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval", textFormat:"textFormat", disabledAlpha:"disabledAlpha", skin:"listSkin"};
private static var defaultStyles:Object = {upSkin:"ComboBox_upSkin", downSkin:"ComboBox_downSkin", overSkin:"ComboBox_overSkin", disabledSkin:"ComboBox_disabledSkin", focusRectSkin:null, focusRectPadding:null, textFormat:null, disabledTextFormat:null, textPadding:3, buttonWidth:24, disabledAlpha:null, listSkin:null};
public static var createAccessibilityImplementation:Function;
public function ComboBox(){
_rowCount = 5;
_editable = false;
isOpen = false;
highlightedCell = -1;
isKeyDown = false;
super();
}
protected function drawList():void{
list.rowCount = Math.max(0, Math.min(_rowCount, list.dataProvider.length));
}
public function set imeMode(_arg1:String):void{
inputField.imeMode = _arg1;
}
public function get dropdown():List{
return (list);
}
public function get dropdownWidth():Number{
return (list.width);
}
public function sortItemsOn(_arg1:String, _arg2:Object=null){
return (list.sortItemsOn(_arg1, _arg2));
}
protected function onEnter(_arg1:ComponentEvent):void{
_arg1.stopPropagation();
}
public function removeItemAt(_arg1:uint):void{
list.removeItemAt(_arg1);
invalidate(InvalidationType.DATA);
}
public function open():void{
currentIndex = selectedIndex;
if (((isOpen) || ((length == 0)))){
return;
};
dispatchEvent(new Event(Event.OPEN));
isOpen = true;
addEventListener(Event.ENTER_FRAME, addCloseListener, false, 0, true);
positionList();
list.scrollToSelected();
stage.addChild(list);
}
public function get selectedItem():Object{
return (list.selectedItem);
}
public function set text(_arg1:String):void{
if (!editable){
return;
};
inputField.text = _arg1;
}
public function get labelField():String{
return (list.labelField);
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
var _local2:int;
var _local3:uint;
var _local4:Number;
var _local5:int;
isKeyDown = true;
if (_arg1.ctrlKey){
switch (_arg1.keyCode){
case Keyboard.UP:
if (highlightedCell > -1){
selectedIndex = highlightedCell;
dispatchEvent(new Event(Event.CHANGE));
};
close();
break;
case Keyboard.DOWN:
open();
break;
};
return;
};
_arg1.stopPropagation();
_local2 = Math.max(((calculateAvailableHeight() / list.rowHeight) << 0), 1);
_local3 = selectedIndex;
_local4 = ((highlightedCell)==-1) ? selectedIndex : highlightedCell;
_local5 = -1;
switch (_arg1.keyCode){
case Keyboard.SPACE:
if (isOpen){
close();
} else {
open();
};
return;
case Keyboard.ESCAPE:
if (isOpen){
if (highlightedCell > -1){
selectedIndex = selectedIndex;
};
close();
};
return;
case Keyboard.UP:
_local5 = Math.max(0, (_local4 - 1));
break;
case Keyboard.DOWN:
_local5 = Math.min((length - 1), (_local4 + 1));
break;
case Keyboard.PAGE_UP:
_local5 = Math.max((_local4 - _local2), 0);
break;
case Keyboard.PAGE_DOWN:
_local5 = Math.min((_local4 + _local2), (length - 1));
break;
case Keyboard.HOME:
_local5 = 0;
break;
case Keyboard.END:
_local5 = (length - 1);
break;
case Keyboard.ENTER:
if (((_editable) && ((highlightedCell == -1)))){
editableValue = inputField.text;
selectedIndex = -1;
} else {
if (((isOpen) && ((highlightedCell > -1)))){
editableValue = null;
selectedIndex = highlightedCell;
dispatchEvent(new Event(Event.CHANGE));
};
};
dispatchEvent(new ComponentEvent(ComponentEvent.ENTER));
close();
return;
default:
if (editable){
break;
};
_local5 = list.getNextIndexAtLetter(String.fromCharCode(_arg1.keyCode), _local4);
break;
};
if (_local5 > -1){
if (isOpen){
highlightCell(_local5);
inputField.text = list.itemToLabel(getItemAt(_local5));
} else {
highlightCell();
selectedIndex = _local5;
dispatchEvent(new Event(Event.CHANGE));
};
};
}
public function set dropdownWidth(_arg1:Number):void{
_dropdownWidth = _arg1;
invalidate(InvalidationType.SIZE);
}
public function get editable():Boolean{
return (_editable);
}
override protected function focusInHandler(_arg1:FocusEvent):void{
super.focusInHandler(_arg1);
if (editable){
stage.focus = inputField.textField;
};
}
protected function onStageClick(_arg1:MouseEvent):void{
if (!isOpen){
return;
};
if (((!(contains((_arg1.target as DisplayObject)))) && (!(list.contains((_arg1.target as DisplayObject)))))){
if (highlightedCell != -1){
selectedIndex = highlightedCell;
dispatchEvent(new Event(Event.CHANGE));
};
close();
};
}
protected function handleDataChange(_arg1:DataChangeEvent):void{
invalidate(InvalidationType.DATA);
}
override protected function keyUpHandler(_arg1:KeyboardEvent):void{
isKeyDown = false;
}
protected function onListItemUp(_arg1:MouseEvent):void{
var _local2:*;
stage.removeEventListener(MouseEvent.MOUSE_UP, onListItemUp);
if (((!((_arg1.target is ICellRenderer))) || (!(list.contains((_arg1.target as DisplayObject)))))){
return;
};
editableValue = null;
_local2 = selectedIndex;
selectedIndex = _arg1.target.listData.index;
if (_local2 != selectedIndex){
dispatchEvent(new Event(Event.CHANGE));
};
close();
}
public function removeAll():void{
list.removeAll();
inputField.text = "";
invalidate(InvalidationType.DATA);
}
public function set selectedItem(_arg1:Object):void{
list.selectedItem = _arg1;
invalidate(InvalidationType.SELECTED);
}
protected function highlightCell(_arg1:int=-1):void{
var _local2:ICellRenderer;
if (highlightedCell > -1){
_local2 = list.itemToCellRenderer(getItemAt(highlightedCell));
if (_local2 != null){
_local2.setMouseState("up");
};
};
if (_arg1 == -1){
return;
};
list.scrollToIndex(_arg1);
list.drawNow();
_local2 = list.itemToCellRenderer(getItemAt(_arg1));
if (_local2 != null){
_local2.setMouseState("over");
highlightedCell = _arg1;
};
}
public function itemToLabel(_arg1:Object):String{
if (_arg1 == null){
return ("");
};
return (list.itemToLabel(_arg1));
}
public function addItemAt(_arg1:Object, _arg2:uint):void{
list.addItemAt(_arg1, _arg2);
invalidate(InvalidationType.DATA);
}
public function replaceItemAt(_arg1:Object, _arg2:uint):Object{
return (list.replaceItemAt(_arg1, _arg2));
}
protected function showPrompt():void{
inputField.text = _prompt;
}
public function set rowCount(_arg1:uint):void{
_rowCount = _arg1;
invalidate(InvalidationType.SIZE);
}
public function get restrict():String{
return (inputField.restrict);
}
protected function setEmbedFonts():void{
var _local1:Object;
_local1 = getStyleValue("embedFonts");
if (_local1 != null){
inputField.textField.embedFonts = _local1;
};
}
public function sortItems(... _args){
return (list.sortItems.apply(list, _args));
}
public function set labelField(_arg1:String):void{
list.labelField = _arg1;
invalidate(InvalidationType.DATA);
}
public function set editable(_arg1:Boolean):void{
_editable = _arg1;
drawTextField();
}
public function set prompt(_arg1:String):void{
if (_arg1 == ""){
_prompt = null;
} else {
_prompt = _arg1;
};
invalidate(InvalidationType.STATE);
}
public function get length():int{
return (list.length);
}
protected function drawTextField():void{
inputField.setStyle("upSkin", "");
inputField.setStyle("disabledSkin", "");
inputField.enabled = enabled;
inputField.editable = _editable;
inputField.textField.selectable = ((enabled) && (_editable));
inputField.mouseEnabled = (inputField.mouseChildren = ((enabled) && (_editable)));
inputField.focusEnabled = false;
if (_editable){
inputField.addEventListener(FocusEvent.FOCUS_IN, onInputFieldFocus, false, 0, true);
inputField.addEventListener(FocusEvent.FOCUS_OUT, onInputFieldFocusOut, false, 0, true);
} else {
inputField.removeEventListener(FocusEvent.FOCUS_IN, onInputFieldFocus);
inputField.removeEventListener(FocusEvent.FOCUS_OUT, onInputFieldFocusOut);
};
}
protected function onInputFieldFocusOut(_arg1:FocusEvent):void{
inputField.removeEventListener(ComponentEvent.ENTER, onEnter);
selectedIndex = selectedIndex;
}
protected function passEvent(_arg1:Event):void{
dispatchEvent(_arg1);
}
public function get imeMode():String{
return (inputField.imeMode);
}
public function get labelFunction():Function{
return (list.labelFunction);
}
protected function calculateAvailableHeight():Number{
var _local1:Number;
_local1 = Number(getStyleValue("contentPadding"));
return ((list.height - (_local1 * 2)));
}
public function get selectedIndex():int{
return (list.selectedIndex);
}
override protected function focusOutHandler(_arg1:FocusEvent):void{
isKeyDown = false;
if (isOpen){
if (((!(_arg1.relatedObject)) || (!(list.contains(_arg1.relatedObject))))){
if (((!((highlightedCell == -1))) && (!((highlightedCell == selectedIndex))))){
selectedIndex = highlightedCell;
dispatchEvent(new Event(Event.CHANGE));
};
close();
};
};
super.focusOutHandler(_arg1);
}
public function get selectedLabel():String{
if (editableValue != null){
return (editableValue);
};
if (selectedIndex == -1){
return (null);
};
return (itemToLabel(selectedItem));
}
public function get text():String{
return (inputField.text);
}
protected function onListChange(_arg1:Event):void{
editableValue = null;
dispatchEvent(_arg1);
invalidate(InvalidationType.SELECTED);
if (isKeyDown){
return;
};
close();
}
protected function onToggleListVisibility(_arg1:MouseEvent):void{
_arg1.stopPropagation();
dispatchEvent(_arg1);
if (isOpen){
close();
} else {
open();
stage.addEventListener(MouseEvent.MOUSE_UP, onListItemUp, false, 0, true);
};
}
override protected function draw():void{
var _local1:*;
_local1 = selectedIndex;
if ((((_local1 == -1)) && (((((!((prompt == null))) || (editable))) || ((length == 0)))))){
_local1 = Math.max(-1, Math.min(_local1, (length - 1)));
} else {
editableValue = null;
_local1 = Math.max(0, Math.min(_local1, (length - 1)));
};
if (list.selectedIndex != _local1){
list.selectedIndex = _local1;
invalidate(InvalidationType.SELECTED, false);
};
if (isInvalid(InvalidationType.STYLES)){
setStyles();
setEmbedFonts();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE, InvalidationType.DATA, InvalidationType.STATE)){
drawTextFormat();
drawLayout();
invalidate(InvalidationType.DATA);
};
if (isInvalid(InvalidationType.DATA)){
drawList();
invalidate(InvalidationType.SELECTED, true);
};
if (isInvalid(InvalidationType.SELECTED)){
if ((((_local1 == -1)) && (!((editableValue == null))))){
inputField.text = editableValue;
} else {
if (_local1 > -1){
if (length > 0){
inputField.horizontalScrollPosition = 0;
inputField.text = itemToLabel(list.selectedItem);
};
} else {
if ((((_local1 == -1)) && (!((_prompt == null))))){
showPrompt();
} else {
inputField.text = "";
};
};
};
if (((((editable) && ((selectedIndex > -1)))) && ((stage.focus == inputField.textField)))){
inputField.setSelection(0, inputField.length);
};
};
drawTextField();
super.draw();
}
public function addItem(_arg1:Object):void{
list.addItem(_arg1);
invalidate(InvalidationType.DATA);
}
public function get rowCount():uint{
return (_rowCount);
}
override protected function configUI():void{
super.configUI();
background = new BaseButton();
background.focusEnabled = false;
copyStylesToChild(background, BACKGROUND_STYLES);
background.addEventListener(MouseEvent.MOUSE_DOWN, onToggleListVisibility, false, 0, true);
addChild(background);
inputField = new TextInput();
inputField.focusTarget = (this as IFocusManagerComponent);
inputField.focusEnabled = false;
inputField.addEventListener(Event.CHANGE, onTextInput, false, 0, true);
addChild(inputField);
list = new List();
list.focusEnabled = false;
copyStylesToChild(list, LIST_STYLES);
list.addEventListener(Event.CHANGE, onListChange, false, 0, true);
list.addEventListener(ListEvent.ITEM_CLICK, onListChange, false, 0, true);
list.addEventListener(ListEvent.ITEM_ROLL_OUT, passEvent, false, 0, true);
list.addEventListener(ListEvent.ITEM_ROLL_OVER, passEvent, false, 0, true);
list.verticalScrollBar.addEventListener(Event.SCROLL, passEvent, false, 0, true);
}
protected function positionList():void{
var _local1:Point;
_local1 = localToGlobal(new Point(0, 0));
list.x = _local1.x;
if (((_local1.y + height) + list.height) > stage.stageHeight){
list.y = (_local1.y - list.height);
} else {
list.y = (_local1.y + height);
};
}
public function get value():String{
var _local1:Object;
if (editableValue != null){
return (editableValue);
};
_local1 = selectedItem;
if (((!(_editable)) && (!((_local1.data == null))))){
return (_local1.data);
};
return (itemToLabel(_local1));
}
public function get prompt():String{
return (_prompt);
}
public function set dataProvider(_arg1:DataProvider):void{
_arg1.addEventListener(DataChangeEvent.DATA_CHANGE, handleDataChange, false, 0, true);
list.dataProvider = _arg1;
invalidate(InvalidationType.DATA);
}
public function set restrict(_arg1:String):void{
if (((componentInspectorSetting) && ((_arg1 == "")))){
_arg1 = null;
};
if (!_editable){
return;
};
inputField.restrict = _arg1;
}
protected function onTextInput(_arg1:Event):void{
_arg1.stopPropagation();
if (!_editable){
return;
};
editableValue = inputField.text;
selectedIndex = -1;
dispatchEvent(new Event(Event.CHANGE));
}
protected function onInputFieldFocus(_arg1:FocusEvent):void{
inputField.addEventListener(ComponentEvent.ENTER, onEnter, false, 0, true);
close();
}
public function getItemAt(_arg1:uint):Object{
return (list.getItemAt(_arg1));
}
override protected function initializeAccessibility():void{
if (ComboBox.createAccessibilityImplementation != null){
ComboBox.createAccessibilityImplementation(this);
};
}
protected function drawLayout():void{
var _local1:Number;
var _local2:Number;
_local1 = (getStyleValue("buttonWidth") as Number);
_local2 = (getStyleValue("textPadding") as Number);
background.setSize(width, height);
inputField.x = (inputField.y = _local2);
inputField.setSize(((width - _local1) - _local2), (height - _local2));
list.width = (isNaN(_dropdownWidth)) ? width : _dropdownWidth;
background.enabled = enabled;
background.drawNow();
}
public function removeItem(_arg1:Object):Object{
return (list.removeItem(_arg1));
}
private function addCloseListener(_arg1:Event){
removeEventListener(Event.ENTER_FRAME, addCloseListener);
if (!isOpen){
return;
};
stage.addEventListener(MouseEvent.MOUSE_DOWN, onStageClick, false, 0, true);
}
public function get dataProvider():DataProvider{
return (list.dataProvider);
}
public function get textField():TextInput{
return (inputField);
}
protected function setStyles():void{
copyStylesToChild(background, BACKGROUND_STYLES);
copyStylesToChild(list, LIST_STYLES);
}
public function set labelFunction(_arg1:Function):void{
list.labelFunction = _arg1;
invalidate(InvalidationType.DATA);
}
protected function drawTextFormat():void{
var _local1:TextFormat;
_local1 = (getStyleValue((_enabled) ? "textFormat" : "disabledTextFormat") as TextFormat);
if (_local1 == null){
_local1 = new TextFormat();
};
inputField.textField.defaultTextFormat = _local1;
inputField.textField.setTextFormat(_local1);
setEmbedFonts();
}
public function set selectedIndex(_arg1:int):void{
list.selectedIndex = _arg1;
highlightCell();
invalidate(InvalidationType.SELECTED);
}
public function close():void{
highlightCell();
highlightedCell = -1;
if (!isOpen){
return;
};
dispatchEvent(new Event(Event.CLOSE));
stage.removeEventListener(MouseEvent.MOUSE_DOWN, onStageClick);
isOpen = false;
stage.removeChild(list);
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, List.getStyleDefinition()));
}
}
}//package fl.controls
Section 9
//LabelButton (fl.controls.LabelButton)
package fl.controls {
import fl.core.*;
import flash.display.*;
import flash.events.*;
import fl.managers.*;
import fl.events.*;
import flash.text.*;
import flash.ui.*;
public class LabelButton extends BaseButton implements IFocusManagerComponent {
protected var _labelPlacement:String;// = "right"
protected var _toggle:Boolean;// = false
protected var icon:DisplayObject;
protected var oldMouseState:String;
protected var mode:String;// = "center"
public var textField:TextField;
protected var _label:String;// = "Label"
private static var defaultStyles:Object = {icon:null, upIcon:null, downIcon:null, overIcon:null, disabledIcon:null, selectedDisabledIcon:null, selectedUpIcon:null, selectedDownIcon:null, selectedOverIcon:null, textFormat:null, disabledTextFormat:null, textPadding:5, embedFonts:false};
public static var createAccessibilityImplementation:Function;
public function LabelButton(){
_labelPlacement = ButtonLabelPlacement.RIGHT;
_toggle = false;
_label = "Label";
mode = "center";
super();
}
protected function toggleSelected(_arg1:MouseEvent):void{
selected = !(selected);
dispatchEvent(new Event(Event.CHANGE, true));
}
public function get labelPlacement():String{
return (_labelPlacement);
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
if (!enabled){
return;
};
if (_arg1.keyCode == Keyboard.SPACE){
if (oldMouseState == null){
oldMouseState = mouseState;
};
setMouseState("down");
startPress();
};
}
protected function setEmbedFont(){
var _local1:Object;
_local1 = getStyleValue("embedFonts");
if (_local1 != null){
textField.embedFonts = _local1;
};
}
override protected function keyUpHandler(_arg1:KeyboardEvent):void{
if (!enabled){
return;
};
if (_arg1.keyCode == Keyboard.SPACE){
setMouseState(oldMouseState);
oldMouseState = null;
endPress();
dispatchEvent(new MouseEvent(MouseEvent.CLICK));
};
}
override public function get selected():Boolean{
return ((_toggle) ? _selected : false);
}
public function set labelPlacement(_arg1:String):void{
_labelPlacement = _arg1;
invalidate(InvalidationType.SIZE);
}
public function set toggle(_arg1:Boolean):void{
if (((!(_arg1)) && (super.selected))){
selected = false;
};
_toggle = _arg1;
if (_toggle){
addEventListener(MouseEvent.CLICK, toggleSelected, false, 0, true);
} else {
removeEventListener(MouseEvent.CLICK, toggleSelected);
};
invalidate(InvalidationType.STATE);
}
public function get label():String{
return (_label);
}
override public function set selected(_arg1:Boolean):void{
_selected = _arg1;
if (_toggle){
invalidate(InvalidationType.STATE);
};
}
override protected function draw():void{
if (textField.text != _label){
label = _label;
};
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
drawBackground();
drawIcon();
drawTextFormat();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
drawLayout();
};
if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){
if (((isFocused) && (focusManager.showFocusIndicator))){
drawFocus(true);
};
};
validate();
}
public function get toggle():Boolean{
return (_toggle);
}
override protected function configUI():void{
super.configUI();
textField = new TextField();
textField.type = TextFieldType.DYNAMIC;
textField.selectable = false;
addChild(textField);
}
override protected function drawLayout():void{
var _local1:Number;
var _local2:String;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local1 = Number(getStyleValue("textPadding"));
_local2 = ((((icon == null)) && ((mode == "center")))) ? ButtonLabelPlacement.TOP : _labelPlacement;
textField.height = (textField.textHeight + 4);
_local3 = (textField.textWidth + 4);
_local4 = (textField.textHeight + 4);
_local5 = ((icon)==null) ? 0 : (icon.width + _local1);
_local6 = ((icon)==null) ? 0 : (icon.height + _local1);
textField.visible = (label.length > 0);
if (icon != null){
icon.x = Math.round(((width - icon.width) / 2));
icon.y = Math.round(((height - icon.height) / 2));
};
if (textField.visible == false){
textField.width = 0;
textField.height = 0;
} else {
if ((((_local2 == ButtonLabelPlacement.BOTTOM)) || ((_local2 == ButtonLabelPlacement.TOP)))){
_local7 = Math.max(0, Math.min(_local3, (width - (2 * _local1))));
if ((height - 2) > _local4){
_local8 = _local4;
} else {
_local8 = (height - 2);
};
_local3 = _local7;
textField.width = _local3;
_local4 = _local8;
textField.height = _local4;
textField.x = Math.round(((width - _local3) / 2));
textField.y = Math.round(((((height - textField.height) - _local6) / 2) + ((_local2)==ButtonLabelPlacement.BOTTOM) ? _local6 : 0));
if (icon != null){
icon.y = Math.round(((_local2)==ButtonLabelPlacement.BOTTOM) ? (textField.y - _local6) : ((textField.y + textField.height) + _local1));
};
} else {
_local7 = Math.max(0, Math.min(_local3, ((width - _local5) - (2 * _local1))));
_local3 = _local7;
textField.width = _local3;
textField.x = Math.round(((((width - _local3) - _local5) / 2) + ((_local2)!=ButtonLabelPlacement.LEFT) ? _local5 : 0));
textField.y = Math.round(((height - textField.height) / 2));
if (icon != null){
icon.x = Math.round(((_local2)!=ButtonLabelPlacement.LEFT) ? (textField.x - _local5) : ((textField.x + _local3) + _local1));
};
};
};
super.drawLayout();
}
override protected function initializeAccessibility():void{
if (LabelButton.createAccessibilityImplementation != null){
LabelButton.createAccessibilityImplementation(this);
};
}
protected function drawIcon():void{
var _local1:DisplayObject;
var _local2:String;
var _local3:Object;
_local1 = icon;
_local2 = (enabled) ? mouseState : "disabled";
if (selected){
_local2 = (("selected" + _local2.substr(0, 1).toUpperCase()) + _local2.substr(1));
};
_local2 = (_local2 + "Icon");
_local3 = getStyleValue(_local2);
if (_local3 == null){
_local3 = getStyleValue("icon");
};
if (_local3 != null){
icon = getDisplayObjectInstance(_local3);
};
if (icon != null){
addChildAt(icon, 1);
};
if (((!((_local1 == null))) && (!((_local1 == icon))))){
removeChild(_local1);
};
}
public function set label(_arg1:String):void{
_label = _arg1;
if (textField.text != _label){
textField.text = _label;
dispatchEvent(new ComponentEvent(ComponentEvent.LABEL_CHANGE));
};
invalidate(InvalidationType.SIZE);
invalidate(InvalidationType.STYLES);
}
protected function drawTextFormat():void{
var _local1:Object;
var _local2:TextFormat;
var _local3:TextFormat;
_local1 = UIComponent.getStyleDefinition();
_local2 = (enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat);
textField.setTextFormat(_local2);
_local3 = (getStyleValue((enabled) ? "textFormat" : "disabledTextFormat") as TextFormat);
if (_local3 != null){
textField.setTextFormat(_local3);
} else {
_local3 = _local2;
};
textField.defaultTextFormat = _local3;
setEmbedFont();
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, BaseButton.getStyleDefinition()));
}
}
}//package fl.controls
Section 10
//List (fl.controls.List)
package fl.controls {
import fl.controls.listClasses.*;
import fl.core.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import fl.managers.*;
import flash.ui.*;
import flash.geom.*;
public class List extends SelectableList implements IFocusManagerComponent {
protected var _labelField:String;// = "label"
protected var _rowHeight:Number;// = 20
protected var _cellRenderer:Object;
protected var _iconField:String;// = "icon"
protected var _labelFunction:Function;
protected var _iconFunction:Function;
private static var defaultStyles:Object = {focusRectSkin:null, focusRectPadding:null};
public static var createAccessibilityImplementation:Function;
public function List(){
_rowHeight = 20;
_labelField = "label";
_iconField = "icon";
super();
}
public function get iconField():String{
return (_iconField);
}
protected function doKeySelection(_arg1:int, _arg2:Boolean, _arg3:Boolean):void{
var _local4:Boolean;
var _local5:int;
var _local6:Array;
var _local7:int;
var _local8:int;
_local4 = false;
if (_arg2){
_local6 = [];
_local7 = lastCaretIndex;
_local8 = _arg1;
if (_local7 == -1){
_local7 = ((caretIndex)!=-1) ? caretIndex : _arg1;
};
if (_local7 > _local8){
_local8 = _local7;
_local7 = _arg1;
};
_local5 = _local7;
while (_local5 <= _local8) {
_local6.push(_local5);
_local5++;
};
selectedIndices = _local6;
caretIndex = _arg1;
_local4 = true;
} else {
selectedIndex = _arg1;
caretIndex = (lastCaretIndex = _arg1);
_local4 = true;
};
if (_local4){
dispatchEvent(new Event(Event.CHANGE));
};
invalidate(InvalidationType.DATA);
}
override protected function drawList():void{
var _local1:Rectangle;
var _local2:uint;
var _local3:uint;
var _local4:uint;
var _local5:Object;
var _local6:ICellRenderer;
var _local7:Dictionary;
var _local8:Dictionary;
var _local9:Boolean;
var _local10:String;
var _local11:Object;
var _local12:Sprite;
var _local13:String;
listHolder.x = (listHolder.y = contentPadding);
_local1 = listHolder.scrollRect;
_local1.x = _horizontalScrollPosition;
_local1.y = (Math.floor(_verticalScrollPosition) % rowHeight);
listHolder.scrollRect = _local1;
listHolder.cacheAsBitmap = useBitmapScrolling;
_local2 = Math.floor((_verticalScrollPosition / rowHeight));
_local3 = Math.min(length, ((_local2 + rowCount) + 1));
_local7 = (renderedItems = new Dictionary(true));
_local4 = _local2;
while (_local4 < _local3) {
_local7[_dataProvider.getItemAt(_local4)] = true;
_local4++;
};
_local8 = new Dictionary(true);
while (activeCellRenderers.length > 0) {
_local6 = (activeCellRenderers.pop() as ICellRenderer);
_local5 = _local6.data;
if ((((_local7[_local5] == null)) || ((invalidItems[_local5] == true)))){
availableCellRenderers.push(_local6);
} else {
_local8[_local5] = _local6;
invalidItems[_local5] = true;
};
list.removeChild((_local6 as DisplayObject));
};
invalidItems = new Dictionary(true);
_local4 = _local2;
while (_local4 < _local3) {
_local9 = false;
_local5 = _dataProvider.getItemAt(_local4);
if (_local8[_local5] != null){
_local9 = true;
_local6 = _local8[_local5];
delete _local8[_local5];
} else {
if (availableCellRenderers.length > 0){
_local6 = (availableCellRenderers.pop() as ICellRenderer);
} else {
_local6 = (getDisplayObjectInstance(getStyleValue("cellRenderer")) as ICellRenderer);
_local12 = (_local6 as Sprite);
if (_local12 != null){
_local12.addEventListener(MouseEvent.CLICK, handleCellRendererClick, false, 0, true);
_local12.addEventListener(MouseEvent.ROLL_OVER, handleCellRendererMouseEvent, false, 0, true);
_local12.addEventListener(MouseEvent.ROLL_OUT, handleCellRendererMouseEvent, false, 0, true);
_local12.addEventListener(Event.CHANGE, handleCellRendererChange, false, 0, true);
_local12.doubleClickEnabled = true;
_local12.addEventListener(MouseEvent.DOUBLE_CLICK, handleCellRendererDoubleClick, false, 0, true);
if (_local12["setStyle"] != null){
for (_local13 in rendererStyles) {
var _local16 = _local12;
_local16["setStyle"](_local13, rendererStyles[_local13]);
};
};
};
};
};
list.addChild((_local6 as Sprite));
activeCellRenderers.push(_local6);
_local6.y = (rowHeight * (_local4 - _local2));
_local6.setSize((availableWidth + _maxHorizontalScrollPosition), rowHeight);
_local10 = itemToLabel(_local5);
_local11 = null;
if (_iconFunction != null){
_local11 = _iconFunction(_local5);
} else {
if (_iconField != null){
_local11 = _local5[_iconField];
};
};
if (!_local9){
_local6.data = _local5;
};
_local6.listData = new ListData(_local10, _local11, this, _local4, _local4, 0);
_local6.selected = !((_selectedIndices.indexOf(_local4) == -1));
if ((_local6 is UIComponent)){
(_local6 as UIComponent).drawNow();
};
_local4++;
};
}
public function get iconFunction():Function{
return (_iconFunction);
}
public function set iconField(_arg1:String):void{
if (_arg1 == _iconField){
return;
};
_iconField = _arg1;
invalidate(InvalidationType.DATA);
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
var _local2:int;
if (!selectable){
return;
};
switch (_arg1.keyCode){
case Keyboard.UP:
case Keyboard.DOWN:
case Keyboard.END:
case Keyboard.HOME:
case Keyboard.PAGE_UP:
case Keyboard.PAGE_DOWN:
moveSelectionVertically(_arg1.keyCode, ((_arg1.shiftKey) && (_allowMultipleSelection)), ((_arg1.ctrlKey) && (_allowMultipleSelection)));
break;
case Keyboard.LEFT:
case Keyboard.RIGHT:
moveSelectionHorizontally(_arg1.keyCode, ((_arg1.shiftKey) && (_allowMultipleSelection)), ((_arg1.ctrlKey) && (_allowMultipleSelection)));
break;
case Keyboard.SPACE:
if (caretIndex == -1){
caretIndex = 0;
};
doKeySelection(caretIndex, _arg1.shiftKey, _arg1.ctrlKey);
scrollToSelected();
break;
default:
_local2 = getNextIndexAtLetter(String.fromCharCode(_arg1.keyCode), selectedIndex);
if (_local2 > -1){
selectedIndex = _local2;
scrollToSelected();
};
break;
};
_arg1.stopPropagation();
}
override public function itemToLabel(_arg1:Object):String{
if (_labelFunction != null){
return (String(_labelFunction(_arg1)));
};
return (((_arg1[_labelField])!=null) ? String(_arg1[_labelField]) : "");
}
public function get labelField():String{
return (_labelField);
}
override protected function moveSelectionVertically(_arg1:uint, _arg2:Boolean, _arg3:Boolean):void{
var _local4:int;
var _local5:int;
var _local6:int;
_local4 = Math.max(Math.floor((calculateAvailableHeight() / rowHeight)), 1);
_local5 = -1;
_local6 = 0;
switch (_arg1){
case Keyboard.UP:
if (caretIndex > 0){
_local5 = (caretIndex - 1);
};
break;
case Keyboard.DOWN:
if (caretIndex < (length - 1)){
_local5 = (caretIndex + 1);
};
break;
case Keyboard.PAGE_UP:
if (caretIndex > 0){
_local5 = Math.max((caretIndex - _local4), 0);
};
break;
case Keyboard.PAGE_DOWN:
if (caretIndex < (length - 1)){
_local5 = Math.min((caretIndex + _local4), (length - 1));
};
break;
case Keyboard.HOME:
if (caretIndex > 0){
_local5 = 0;
};
break;
case Keyboard.END:
if (caretIndex < (length - 1)){
_local5 = (length - 1);
};
break;
};
if (_local5 >= 0){
doKeySelection(_local5, _arg2, _arg3);
scrollToSelected();
};
}
public function set labelField(_arg1:String):void{
if (_arg1 == _labelField){
return;
};
_labelField = _arg1;
invalidate(InvalidationType.DATA);
}
public function set rowCount(_arg1:uint):void{
var _local2:Number;
var _local3:Number;
_local2 = Number(getStyleValue("contentPadding"));
_local3 = ((((_horizontalScrollPolicy == ScrollPolicy.ON)) || ((((_horizontalScrollPolicy == ScrollPolicy.AUTO)) && ((_maxHorizontalScrollPosition > 0)))))) ? 15 : 0;
height = (((rowHeight * _arg1) + (2 * _local2)) + _local3);
}
override protected function setHorizontalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
list.x = -(_arg1);
super.setHorizontalScrollPosition(_arg1, true);
}
public function set iconFunction(_arg1:Function):void{
if (_iconFunction == _arg1){
return;
};
_iconFunction = _arg1;
invalidate(InvalidationType.DATA);
}
public function get labelFunction():Function{
return (_labelFunction);
}
override protected function moveSelectionHorizontally(_arg1:uint, _arg2:Boolean, _arg3:Boolean):void{
}
override protected function setVerticalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
invalidate(InvalidationType.SCROLL);
super.setVerticalScrollPosition(_arg1, true);
}
protected function calculateAvailableHeight():Number{
var _local1:Number;
_local1 = Number(getStyleValue("contentPadding"));
return (((height - (_local1 * 2)) - ((((_horizontalScrollPolicy == ScrollPolicy.ON)) || ((((_horizontalScrollPolicy == ScrollPolicy.AUTO)) && ((_maxHorizontalScrollPosition > 0)))))) ? 15 : 0));
}
override protected function draw():void{
var _local1:Boolean;
_local1 = !((contentHeight == (rowHeight * length)));
contentHeight = (rowHeight * length);
if (isInvalid(InvalidationType.STYLES)){
setStyles();
drawBackground();
if (contentPadding != getStyleValue("contentPadding")){
invalidate(InvalidationType.SIZE, false);
};
if (_cellRenderer != getStyleValue("cellRenderer")){
_invalidateList();
_cellRenderer = getStyleValue("cellRenderer");
};
};
if (((isInvalid(InvalidationType.SIZE, InvalidationType.STATE)) || (_local1))){
drawLayout();
};
if (isInvalid(InvalidationType.RENDERER_STYLES)){
updateRendererStyles();
};
if (isInvalid(InvalidationType.STYLES, InvalidationType.SIZE, InvalidationType.DATA, InvalidationType.SCROLL, InvalidationType.SELECTED)){
drawList();
};
updateChildren();
validate();
}
override protected function configUI():void{
useFixedHorizontalScrolling = true;
_horizontalScrollPolicy = ScrollPolicy.AUTO;
_verticalScrollPolicy = ScrollPolicy.AUTO;
super.configUI();
}
override public function get rowCount():uint{
return (Math.ceil((calculateAvailableHeight() / rowHeight)));
}
override protected function initializeAccessibility():void{
if (List.createAccessibilityImplementation != null){
List.createAccessibilityImplementation(this);
};
}
override public function scrollToIndex(_arg1:int):void{
var _local2:uint;
var _local3:uint;
drawNow();
_local2 = (Math.floor(((_verticalScrollPosition + availableHeight) / rowHeight)) - 1);
_local3 = Math.ceil((_verticalScrollPosition / rowHeight));
if (_arg1 < _local3){
verticalScrollPosition = (_arg1 * rowHeight);
} else {
if (_arg1 > _local2){
verticalScrollPosition = (((_arg1 + 1) * rowHeight) - availableHeight);
};
};
}
public function get rowHeight():Number{
return (_rowHeight);
}
public function set labelFunction(_arg1:Function):void{
if (_labelFunction == _arg1){
return;
};
_labelFunction = _arg1;
invalidate(InvalidationType.DATA);
}
public function set rowHeight(_arg1:Number):void{
_rowHeight = _arg1;
invalidate(InvalidationType.SIZE);
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, SelectableList.getStyleDefinition()));
}
}
}//package fl.controls
Section 11
//ScrollBar (fl.controls.ScrollBar)
package fl.controls {
import fl.core.*;
import flash.events.*;
import fl.events.*;
public class ScrollBar extends UIComponent {
private var _direction:String;// = "vertical"
protected var inDrag:Boolean;// = false
protected var upArrow:BaseButton;
private var _pageScrollSize:Number;// = 0
protected var downArrow:BaseButton;
private var _pageSize:Number;// = 10
private var thumbScrollOffset:Number;
private var _maxScrollPosition:Number;// = 0
private var _scrollPosition:Number;// = 0
protected var track:BaseButton;
private var _minScrollPosition:Number;// = 0
private var _lineScrollSize:Number;// = 1
protected var thumb:LabelButton;
protected static const THUMB_STYLES:Object = {disabledSkin:"thumbDisabledSkin", downSkin:"thumbDownSkin", overSkin:"thumbOverSkin", upSkin:"thumbUpSkin", icon:"thumbIcon", textPadding:0};
public static const WIDTH:Number = 15;
protected static const DOWN_ARROW_STYLES:Object = {disabledSkin:"downArrowDisabledSkin", downSkin:"downArrowDownSkin", overSkin:"downArrowOverSkin", upSkin:"downArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"};
protected static const UP_ARROW_STYLES:Object = {disabledSkin:"upArrowDisabledSkin", downSkin:"upArrowDownSkin", overSkin:"upArrowOverSkin", upSkin:"upArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"};
protected static const TRACK_STYLES:Object = {disabledSkin:"trackDisabledSkin", downSkin:"trackDownSkin", overSkin:"trackOverSkin", upSkin:"trackUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"};
private static var defaultStyles:Object = {downArrowDisabledSkin:"ScrollArrowDown_disabledSkin", downArrowDownSkin:"ScrollArrowDown_downSkin", downArrowOverSkin:"ScrollArrowDown_overSkin", downArrowUpSkin:"ScrollArrowDown_upSkin", thumbDisabledSkin:"ScrollThumb_upSkin", thumbDownSkin:"ScrollThumb_downSkin", thumbOverSkin:"ScrollThumb_overSkin", thumbUpSkin:"ScrollThumb_upSkin", trackDisabledSkin:"ScrollTrack_skin", trackDownSkin:"ScrollTrack_skin", trackOverSkin:"ScrollTrack_skin", trackUpSkin:"ScrollTrack_skin", upArrowDisabledSkin:"ScrollArrowUp_disabledSkin", upArrowDownSkin:"ScrollArrowUp_downSkin", upArrowOverSkin:"ScrollArrowUp_overSkin", upArrowUpSkin:"ScrollArrowUp_upSkin", thumbIcon:"ScrollBar_thumbIcon", repeatDelay:500, repeatInterval:35};
public function ScrollBar(){
_pageSize = 10;
_pageScrollSize = 0;
_lineScrollSize = 1;
_minScrollPosition = 0;
_maxScrollPosition = 0;
_scrollPosition = 0;
_direction = ScrollBarDirection.VERTICAL;
inDrag = false;
super();
setStyles();
focusEnabled = false;
}
public function get minScrollPosition():Number{
return (_minScrollPosition);
}
public function set minScrollPosition(_arg1:Number):void{
setScrollProperties(_pageSize, _arg1, _maxScrollPosition);
}
public function setScrollPosition(_arg1:Number, _arg2:Boolean=true):void{
var _local3:Number;
_local3 = scrollPosition;
_scrollPosition = Math.max(_minScrollPosition, Math.min(_maxScrollPosition, _arg1));
if (_local3 == _scrollPosition){
return;
};
if (_arg2){
dispatchEvent(new ScrollEvent(_direction, (scrollPosition - _local3), scrollPosition));
};
updateThumb();
}
public function set scrollPosition(_arg1:Number):void{
setScrollPosition(_arg1, true);
}
public function get pageScrollSize():Number{
return (((_pageScrollSize)==0) ? _pageSize : _pageScrollSize);
}
public function set pageSize(_arg1:Number):void{
if (_arg1 > 0){
_pageSize = _arg1;
};
}
public function setScrollProperties(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=0):void{
this.pageSize = _arg1;
_minScrollPosition = _arg2;
_maxScrollPosition = _arg3;
if (_arg4 >= 0){
_pageScrollSize = _arg4;
};
enabled = (_maxScrollPosition > _minScrollPosition);
setScrollPosition(_scrollPosition, false);
updateThumb();
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
downArrow.enabled = (track.enabled = (thumb.enabled = (upArrow.enabled = ((enabled) && ((_maxScrollPosition > _minScrollPosition))))));
updateThumb();
}
protected function updateThumb():void{
var _local1:Number;
_local1 = ((_maxScrollPosition - _minScrollPosition) + _pageSize);
if ((((((track.height <= 12)) || ((_maxScrollPosition <= _minScrollPosition)))) || ((((_local1 == 0)) || (isNaN(_local1)))))){
thumb.height = 12;
thumb.visible = false;
} else {
thumb.height = Math.max(13, ((_pageSize / _local1) * track.height));
thumb.y = (track.y + ((track.height - thumb.height) * ((_scrollPosition - _minScrollPosition) / (_maxScrollPosition - _minScrollPosition))));
thumb.visible = enabled;
};
}
protected function thumbPressHandler(_arg1:MouseEvent):void{
inDrag = true;
thumbScrollOffset = (mouseY - thumb.y);
thumb.mouseStateLocked = true;
mouseChildren = false;
stage.addEventListener(MouseEvent.MOUSE_MOVE, handleThumbDrag, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler, false, 0, true);
}
protected function thumbReleaseHandler(_arg1:MouseEvent):void{
inDrag = false;
mouseChildren = true;
thumb.mouseStateLocked = false;
stage.removeEventListener(MouseEvent.MOUSE_MOVE, handleThumbDrag);
stage.removeEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler);
}
public function set pageScrollSize(_arg1:Number):void{
if (_arg1 >= 0){
_pageScrollSize = _arg1;
};
}
protected function handleThumbDrag(_arg1:MouseEvent):void{
var _local2:Number;
_local2 = Math.max(0, Math.min((track.height - thumb.height), ((mouseY - track.y) - thumbScrollOffset)));
setScrollPosition((((_local2 / (track.height - thumb.height)) * (_maxScrollPosition - _minScrollPosition)) + _minScrollPosition));
}
public function set direction(_arg1:String):void{
var _local2:Boolean;
if (_direction == _arg1){
return;
};
_direction = _arg1;
if (isLivePreview){
return;
};
setScaleY(1);
_local2 = (_direction == ScrollBarDirection.HORIZONTAL);
if (((_local2) && (componentInspectorSetting))){
if (rotation == 90){
return;
};
setScaleX(-1);
rotation = -90;
};
if (!componentInspectorSetting){
if (((_local2) && ((rotation == 0)))){
rotation = -90;
setScaleX(-1);
} else {
if (((!(_local2)) && ((rotation == -90)))){
rotation = 0;
setScaleX(1);
};
};
};
invalidate(InvalidationType.SIZE);
}
public function set lineScrollSize(_arg1:Number):void{
if (_arg1 > 0){
_lineScrollSize = _arg1;
};
}
override public function get height():Number{
return (((_direction)==ScrollBarDirection.HORIZONTAL) ? super.width : super.height);
}
protected function scrollPressHandler(_arg1:ComponentEvent):void{
var _local2:Number;
var _local3:Number;
_arg1.stopImmediatePropagation();
if (_arg1.currentTarget == upArrow){
setScrollPosition((_scrollPosition - _lineScrollSize));
} else {
if (_arg1.currentTarget == downArrow){
setScrollPosition((_scrollPosition + _lineScrollSize));
} else {
_local2 = (((track.mouseY / track.height) * (_maxScrollPosition - _minScrollPosition)) + _minScrollPosition);
_local3 = ((pageScrollSize)==0) ? pageSize : pageScrollSize;
if (_scrollPosition < _local2){
setScrollPosition(Math.min(_local2, (_scrollPosition + _local3)));
} else {
if (_scrollPosition > _local2){
setScrollPosition(Math.max(_local2, (_scrollPosition - _local3)));
};
};
};
};
}
public function get pageSize():Number{
return (_pageSize);
}
public function set maxScrollPosition(_arg1:Number):void{
setScrollProperties(_pageSize, _minScrollPosition, _arg1);
}
public function get scrollPosition():Number{
return (_scrollPosition);
}
override public function get enabled():Boolean{
return (super.enabled);
}
override protected function draw():void{
var _local1:Number;
if (isInvalid(InvalidationType.SIZE)){
_local1 = super.height;
downArrow.move(0, Math.max(upArrow.height, (_local1 - downArrow.height)));
track.setSize(WIDTH, Math.max(0, (_local1 - (downArrow.height + upArrow.height))));
updateThumb();
};
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
setStyles();
};
downArrow.drawNow();
upArrow.drawNow();
track.drawNow();
thumb.drawNow();
validate();
}
override protected function configUI():void{
super.configUI();
track = new BaseButton();
track.move(0, 14);
track.useHandCursor = false;
track.autoRepeat = true;
track.focusEnabled = false;
addChild(track);
thumb = new LabelButton();
thumb.label = "";
thumb.setSize(WIDTH, 15);
thumb.move(0, 15);
thumb.focusEnabled = false;
addChild(thumb);
downArrow = new BaseButton();
downArrow.setSize(WIDTH, 14);
downArrow.autoRepeat = true;
downArrow.focusEnabled = false;
addChild(downArrow);
upArrow = new BaseButton();
upArrow.setSize(WIDTH, 14);
upArrow.move(0, 0);
upArrow.autoRepeat = true;
upArrow.focusEnabled = false;
addChild(upArrow);
upArrow.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true);
downArrow.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true);
track.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true);
thumb.addEventListener(MouseEvent.MOUSE_DOWN, thumbPressHandler, false, 0, true);
enabled = false;
}
public function get direction():String{
return (_direction);
}
public function get lineScrollSize():Number{
return (_lineScrollSize);
}
override public function setSize(_arg1:Number, _arg2:Number):void{
if (_direction == ScrollBarDirection.HORIZONTAL){
super.setSize(_arg2, _arg1);
} else {
super.setSize(_arg1, _arg2);
};
}
public function get maxScrollPosition():Number{
return (_maxScrollPosition);
}
override public function get width():Number{
return (((_direction)==ScrollBarDirection.HORIZONTAL) ? super.height : super.width);
}
protected function setStyles():void{
copyStylesToChild(downArrow, DOWN_ARROW_STYLES);
copyStylesToChild(thumb, THUMB_STYLES);
copyStylesToChild(track, TRACK_STYLES);
copyStylesToChild(upArrow, UP_ARROW_STYLES);
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 12
//ScrollBarDirection (fl.controls.ScrollBarDirection)
package fl.controls {
public class ScrollBarDirection {
public static const HORIZONTAL:String = "horizontal";
public static const VERTICAL:String = "vertical";
}
}//package fl.controls
Section 13
//ScrollPolicy (fl.controls.ScrollPolicy)
package fl.controls {
public class ScrollPolicy {
public static const OFF:String = "off";
public static const ON:String = "on";
public static const AUTO:String = "auto";
}
}//package fl.controls
Section 14
//SelectableList (fl.controls.SelectableList)
package fl.controls {
import fl.controls.listClasses.*;
import fl.core.*;
import flash.display.*;
import flash.events.*;
import fl.data.*;
import flash.utils.*;
import fl.managers.*;
import fl.events.*;
import flash.ui.*;
import fl.containers.*;
public class SelectableList extends BaseScrollPane implements IFocusManagerComponent {
protected var invalidItems:Dictionary;
protected var renderedItems:Dictionary;
protected var listHolder:Sprite;
protected var _allowMultipleSelection:Boolean;// = false
protected var lastCaretIndex:int;// = -1
protected var _selectedIndices:Array;
protected var availableCellRenderers:Array;
protected var list:Sprite;
protected var caretIndex:int;// = -1
protected var updatedRendererStyles:Object;
protected var preChangeItems:Array;
protected var activeCellRenderers:Array;
protected var rendererStyles:Object;
protected var _verticalScrollPosition:Number;
protected var _dataProvider:DataProvider;
protected var _horizontalScrollPosition:Number;
private var collectionItemImport:SimpleCollectionItem;
protected var _selectable:Boolean;// = true
private static var defaultStyles:Object = {skin:"List_skin", cellRenderer:CellRenderer, contentPadding:null, disabledAlpha:null};
public static var createAccessibilityImplementation:Function;
public function SelectableList(){
_allowMultipleSelection = false;
_selectable = true;
caretIndex = -1;
lastCaretIndex = -1;
super();
activeCellRenderers = [];
availableCellRenderers = [];
invalidItems = new Dictionary(true);
renderedItems = new Dictionary(true);
_selectedIndices = [];
if (dataProvider == null){
dataProvider = new DataProvider();
};
verticalScrollPolicy = ScrollPolicy.AUTO;
rendererStyles = {};
updatedRendererStyles = {};
}
protected function drawList():void{
}
public function set allowMultipleSelection(_arg1:Boolean):void{
if (_arg1 == _allowMultipleSelection){
return;
};
_allowMultipleSelection = _arg1;
if (((!(_arg1)) && ((_selectedIndices.length > 1)))){
_selectedIndices = [_selectedIndices.pop()];
invalidate(InvalidationType.DATA);
};
}
public function sortItemsOn(_arg1:String, _arg2:Object=null){
return (_dataProvider.sortOn(_arg1, _arg2));
}
public function removeItemAt(_arg1:uint):Object{
return (_dataProvider.removeItemAt(_arg1));
}
public function get selectedItem():Object{
return (((_selectedIndices.length)==0) ? null : _dataProvider.getItemAt(selectedIndex));
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
if (!selectable){
return;
};
switch (_arg1.keyCode){
case Keyboard.UP:
case Keyboard.DOWN:
case Keyboard.END:
case Keyboard.HOME:
case Keyboard.PAGE_UP:
case Keyboard.PAGE_DOWN:
moveSelectionVertically(_arg1.keyCode, ((_arg1.shiftKey) && (_allowMultipleSelection)), ((_arg1.ctrlKey) && (_allowMultipleSelection)));
_arg1.stopPropagation();
break;
case Keyboard.LEFT:
case Keyboard.RIGHT:
moveSelectionHorizontally(_arg1.keyCode, ((_arg1.shiftKey) && (_allowMultipleSelection)), ((_arg1.ctrlKey) && (_allowMultipleSelection)));
_arg1.stopPropagation();
break;
};
}
public function get selectable():Boolean{
return (_selectable);
}
public function itemToCellRenderer(_arg1:Object):ICellRenderer{
var _local2:*;
var _local3:ICellRenderer;
if (_arg1 != null){
for (_local2 in activeCellRenderers) {
_local3 = (activeCellRenderers[_local2] as ICellRenderer);
if (_local3.data == _arg1){
return (_local3);
};
};
};
return (null);
}
public function getNextIndexAtLetter(_arg1:String, _arg2:int=-1):int{
var _local3:int;
var _local4:Number;
var _local5:Number;
var _local6:Object;
var _local7:String;
if (length == 0){
return (-1);
};
_arg1 = _arg1.toUpperCase();
_local3 = (length - 1);
_local4 = 0;
while (_local4 < _local3) {
_local5 = ((_arg2 + 1) + _local4);
if (_local5 > (length - 1)){
_local5 = (_local5 - length);
};
_local6 = getItemAt(_local5);
if (_local6 == null){
break;
};
_local7 = itemToLabel(_local6);
if (_local7 == null){
} else {
if (_local7.charAt(0).toUpperCase() == _arg1){
return (_local5);
};
};
_local4++;
};
return (-1);
}
public function invalidateList():void{
_invalidateList();
invalidate(InvalidationType.DATA);
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
list.mouseChildren = _enabled;
}
public function get selectedIndices():Array{
return (_selectedIndices.concat());
}
public function set selectable(_arg1:Boolean):void{
if (_arg1 == _selectable){
return;
};
if (!_arg1){
selectedIndices = [];
};
_selectable = _arg1;
}
public function itemToLabel(_arg1:Object):String{
return (_arg1["label"]);
}
public function addItemAt(_arg1:Object, _arg2:uint):void{
_dataProvider.addItemAt(_arg1, _arg2);
invalidateList();
}
public function replaceItemAt(_arg1:Object, _arg2:uint):Object{
return (_dataProvider.replaceItemAt(_arg1, _arg2));
}
protected function handleDataChange(_arg1:DataChangeEvent):void{
var _local2:int;
var _local3:int;
var _local4:String;
var _local5:uint;
_local2 = _arg1.startIndex;
_local3 = _arg1.endIndex;
_local4 = _arg1.changeType;
if (_local4 == DataChangeType.INVALIDATE_ALL){
clearSelection();
invalidateList();
} else {
if (_local4 == DataChangeType.INVALIDATE){
_local5 = 0;
while (_local5 < _arg1.items.length) {
invalidateItem(_arg1.items[_local5]);
_local5++;
};
} else {
if (_local4 == DataChangeType.ADD){
_local5 = 0;
while (_local5 < _selectedIndices.length) {
if (_selectedIndices[_local5] >= _local2){
_selectedIndices[_local5] = (_selectedIndices[_local5] + (_local2 - _local3));
};
_local5++;
};
} else {
if (_local4 == DataChangeType.REMOVE){
_local5 = 0;
while (_local5 < _selectedIndices.length) {
if (_selectedIndices[_local5] >= _local2){
if (_selectedIndices[_local5] <= _local3){
delete _selectedIndices[_local5];
} else {
_selectedIndices[_local5] = (_selectedIndices[_local5] - ((_local2 - _local3) + 1));
};
};
_local5++;
};
} else {
if (_local4 == DataChangeType.REMOVE_ALL){
clearSelection();
} else {
if (_local4 == DataChangeType.REPLACE){
} else {
selectedItems = preChangeItems;
preChangeItems = null;
};
};
};
};
};
};
invalidate(InvalidationType.DATA);
}
protected function _invalidateList():void{
availableCellRenderers = [];
while (activeCellRenderers.length > 0) {
list.removeChild((activeCellRenderers.pop() as DisplayObject));
};
}
protected function updateRendererStyles():void{
var _local1:Array;
var _local2:uint;
var _local3:uint;
var _local4:String;
_local1 = availableCellRenderers.concat(activeCellRenderers);
_local2 = _local1.length;
_local3 = 0;
while (_local3 < _local2) {
if (_local1[_local3].setStyle == null){
} else {
for (_local4 in updatedRendererStyles) {
_local1[_local3].setStyle(_local4, updatedRendererStyles[_local4]);
};
_local1[_local3].drawNow();
};
_local3++;
};
updatedRendererStyles = {};
}
public function set selectedItem(_arg1:Object):void{
var _local2:int;
_local2 = _dataProvider.getItemIndex(_arg1);
selectedIndex = _local2;
}
public function sortItems(... _args){
return (_dataProvider.sort.apply(_dataProvider, _args));
}
public function removeAll():void{
_dataProvider.removeAll();
}
protected function handleCellRendererChange(_arg1:Event):void{
var _local2:ICellRenderer;
var _local3:uint;
_local2 = (_arg1.currentTarget as ICellRenderer);
_local3 = _local2.listData.index;
_dataProvider.invalidateItemAt(_local3);
}
protected function moveSelectionVertically(_arg1:uint, _arg2:Boolean, _arg3:Boolean):void{
}
override protected function setHorizontalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
var _local3:Number;
if (_arg1 == _horizontalScrollPosition){
return;
};
_local3 = (_arg1 - _horizontalScrollPosition);
_horizontalScrollPosition = _arg1;
if (_arg2){
dispatchEvent(new ScrollEvent(ScrollBarDirection.HORIZONTAL, _local3, _arg1));
};
}
public function scrollToSelected():void{
scrollToIndex(selectedIndex);
}
public function invalidateItem(_arg1:Object):void{
if (renderedItems[_arg1] == null){
return;
};
invalidItems[_arg1] = true;
invalidate(InvalidationType.DATA);
}
protected function handleCellRendererClick(_arg1:MouseEvent):void{
var _local2:ICellRenderer;
var _local3:uint;
var _local4:int;
var _local5:int;
var _local6:uint;
if (!_enabled){
return;
};
_local2 = (_arg1.currentTarget as ICellRenderer);
_local3 = _local2.listData.index;
if (((!(dispatchEvent(new ListEvent(ListEvent.ITEM_CLICK, false, true, _local2.listData.column, _local2.listData.row, _local3, _local2.data)))) || (!(_selectable)))){
return;
};
_local4 = selectedIndices.indexOf(_local3);
if (!_allowMultipleSelection){
if (_local4 != -1){
return;
};
_local2.selected = true;
_selectedIndices = [_local3];
lastCaretIndex = (caretIndex = _local3);
} else {
if (_arg1.shiftKey){
_local6 = ((_selectedIndices.length)>0) ? _selectedIndices[0] : _local3;
_selectedIndices = [];
if (_local6 > _local3){
_local5 = _local6;
while (_local5 >= _local3) {
_selectedIndices.push(_local5);
_local5--;
};
} else {
_local5 = _local6;
while (_local5 <= _local3) {
_selectedIndices.push(_local5);
_local5++;
};
};
caretIndex = _local3;
} else {
if (_arg1.ctrlKey){
if (_local4 != -1){
_local2.selected = false;
_selectedIndices.splice(_local4, 1);
} else {
_local2.selected = true;
_selectedIndices.push(_local3);
};
caretIndex = _local3;
} else {
_selectedIndices = [_local3];
lastCaretIndex = (caretIndex = _local3);
};
};
};
dispatchEvent(new Event(Event.CHANGE));
invalidate(InvalidationType.DATA);
}
public function get length():uint{
return (_dataProvider.length);
}
public function get allowMultipleSelection():Boolean{
return (_allowMultipleSelection);
}
protected function onPreChange(_arg1:DataChangeEvent):void{
switch (_arg1.changeType){
case DataChangeType.REMOVE:
case DataChangeType.ADD:
case DataChangeType.INVALIDATE:
case DataChangeType.REMOVE_ALL:
case DataChangeType.REPLACE:
case DataChangeType.INVALIDATE_ALL:
break;
default:
preChangeItems = selectedItems;
break;
};
}
public function getRendererStyle(_arg1:String, _arg2:int=-1):Object{
return (rendererStyles[_arg1]);
}
override protected function setVerticalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
var _local3:Number;
if (_arg1 == _verticalScrollPosition){
return;
};
_local3 = (_arg1 - _verticalScrollPosition);
_verticalScrollPosition = _arg1;
if (_arg2){
dispatchEvent(new ScrollEvent(ScrollBarDirection.VERTICAL, _local3, _arg1));
};
}
protected function moveSelectionHorizontally(_arg1:uint, _arg2:Boolean, _arg3:Boolean):void{
}
public function set selectedIndices(_arg1:Array):void{
if (!_selectable){
return;
};
_selectedIndices = ((_arg1)==null) ? [] : _arg1.concat();
invalidate(InvalidationType.SELECTED);
}
public function get selectedIndex():int{
return (((_selectedIndices.length)==0) ? -1 : _selectedIndices[(_selectedIndices.length - 1)]);
}
override protected function draw():void{
super.draw();
}
override protected function configUI():void{
super.configUI();
listHolder = new Sprite();
addChild(listHolder);
listHolder.scrollRect = contentScrollRect;
list = new Sprite();
listHolder.addChild(list);
}
public function addItem(_arg1:Object):void{
_dataProvider.addItem(_arg1);
invalidateList();
}
protected function handleCellRendererMouseEvent(_arg1:MouseEvent):void{
var _local2:ICellRenderer;
var _local3:String;
_local2 = (_arg1.target as ICellRenderer);
_local3 = ((_arg1.type)==MouseEvent.ROLL_OVER) ? ListEvent.ITEM_ROLL_OVER : ListEvent.ITEM_ROLL_OUT;
dispatchEvent(new ListEvent(_local3, false, false, _local2.listData.column, _local2.listData.row, _local2.listData.index, _local2.data));
}
public function clearRendererStyle(_arg1:String, _arg2:int=-1):void{
delete rendererStyles[_arg1];
updatedRendererStyles[_arg1] = null;
invalidate(InvalidationType.RENDERER_STYLES);
}
protected function handleCellRendererDoubleClick(_arg1:MouseEvent):void{
var _local2:ICellRenderer;
var _local3:uint;
if (!_enabled){
return;
};
_local2 = (_arg1.currentTarget as ICellRenderer);
_local3 = _local2.listData.index;
dispatchEvent(new ListEvent(ListEvent.ITEM_DOUBLE_CLICK, false, true, _local2.listData.column, _local2.listData.row, _local3, _local2.data));
}
public function get rowCount():uint{
return (0);
}
public function isItemSelected(_arg1:Object):Boolean{
return ((selectedItems.indexOf(_arg1) > -1));
}
public function set dataProvider(_arg1:DataProvider):void{
if (_dataProvider != null){
_dataProvider.removeEventListener(DataChangeEvent.DATA_CHANGE, handleDataChange);
_dataProvider.removeEventListener(DataChangeEvent.PRE_DATA_CHANGE, onPreChange);
};
_dataProvider = _arg1;
_dataProvider.addEventListener(DataChangeEvent.DATA_CHANGE, handleDataChange, false, 0, true);
_dataProvider.addEventListener(DataChangeEvent.PRE_DATA_CHANGE, onPreChange, false, 0, true);
clearSelection();
invalidateList();
}
override protected function drawLayout():void{
super.drawLayout();
contentScrollRect = listHolder.scrollRect;
contentScrollRect.width = availableWidth;
contentScrollRect.height = availableHeight;
listHolder.scrollRect = contentScrollRect;
}
public function getItemAt(_arg1:uint):Object{
return (_dataProvider.getItemAt(_arg1));
}
override protected function initializeAccessibility():void{
if (SelectableList.createAccessibilityImplementation != null){
SelectableList.createAccessibilityImplementation(this);
};
}
public function scrollToIndex(_arg1:int):void{
}
public function removeItem(_arg1:Object):Object{
return (_dataProvider.removeItem(_arg1));
}
public function get dataProvider():DataProvider{
return (_dataProvider);
}
public function set maxHorizontalScrollPosition(_arg1:Number):void{
_maxHorizontalScrollPosition = _arg1;
invalidate(InvalidationType.SIZE);
}
public function setRendererStyle(_arg1:String, _arg2:Object, _arg3:uint=0):void{
if (rendererStyles[_arg1] == _arg2){
return;
};
updatedRendererStyles[_arg1] = _arg2;
rendererStyles[_arg1] = _arg2;
invalidate(InvalidationType.RENDERER_STYLES);
}
public function invalidateItemAt(_arg1:uint):void{
var _local2:Object;
_local2 = _dataProvider.getItemAt(_arg1);
if (_local2 != null){
invalidateItem(_local2);
};
}
public function set selectedItems(_arg1:Array):void{
var _local2:Array;
var _local3:uint;
var _local4:int;
if (_arg1 == null){
selectedIndices = null;
return;
};
_local2 = [];
_local3 = 0;
while (_local3 < _arg1.length) {
_local4 = _dataProvider.getItemIndex(_arg1[_local3]);
if (_local4 != -1){
_local2.push(_local4);
};
_local3++;
};
selectedIndices = _local2;
}
public function clearSelection():void{
selectedIndex = -1;
}
override public function get maxHorizontalScrollPosition():Number{
return (_maxHorizontalScrollPosition);
}
public function get selectedItems():Array{
var _local1:Array;
var _local2:uint;
_local1 = [];
_local2 = 0;
while (_local2 < _selectedIndices.length) {
_local1.push(_dataProvider.getItemAt(_selectedIndices[_local2]));
_local2++;
};
return (_local1);
}
public function set selectedIndex(_arg1:int):void{
selectedIndices = ((_arg1)==-1) ? null : [_arg1];
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, BaseScrollPane.getStyleDefinition()));
}
}
}//package fl.controls
Section 15
//TextInput (fl.controls.TextInput)
package fl.controls {
import fl.core.*;
import flash.display.*;
import flash.events.*;
import fl.managers.*;
import fl.events.*;
import flash.text.*;
import flash.ui.*;
public class TextInput extends UIComponent implements IFocusManagerComponent {
protected var _html:Boolean;// = false
protected var _savedHTML:String;
protected var background:DisplayObject;
protected var _editable:Boolean;// = true
public var textField:TextField;
private static var defaultStyles:Object = {upSkin:"TextInput_upSkin", disabledSkin:"TextInput_disabledSkin", focusRectSkin:null, focusRectPadding:null, textFormat:null, disabledTextFormat:null, textPadding:0, embedFonts:false};
public static var createAccessibilityImplementation:Function;
public function TextInput(){
_editable = true;
_html = false;
super();
}
override public function drawFocus(_arg1:Boolean):void{
if (focusTarget != null){
focusTarget.drawFocus(_arg1);
return;
};
super.drawFocus(_arg1);
}
public function set imeMode(_arg1:String):void{
_imeMode = _arg1;
}
override protected function isOurFocus(_arg1:DisplayObject):Boolean{
return ((((_arg1 == textField)) || (super.isOurFocus(_arg1))));
}
protected function handleKeyDown(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == Keyboard.ENTER){
dispatchEvent(new ComponentEvent(ComponentEvent.ENTER, true));
};
}
public function set text(_arg1:String):void{
textField.text = _arg1;
_html = false;
invalidate(InvalidationType.DATA);
invalidate(InvalidationType.STYLES);
}
protected function updateTextFieldType():void{
textField.type = (((enabled) && (editable))) ? TextFieldType.INPUT : TextFieldType.DYNAMIC;
textField.selectable = enabled;
}
public function get selectionEndIndex():int{
return (textField.selectionEndIndex);
}
public function get editable():Boolean{
return (_editable);
}
override protected function focusInHandler(_arg1:FocusEvent):void{
var _local2:IFocusManager;
if (_arg1.target == this){
stage.focus = textField;
};
_local2 = focusManager;
if (((editable) && (_local2))){
_local2.showFocusIndicator = true;
if (((textField.selectable) && ((textField.selectionBeginIndex == textField.selectionBeginIndex)))){
setSelection(0, textField.length);
};
};
super.focusInHandler(_arg1);
if (editable){
setIMEMode(true);
};
}
public function get selectionBeginIndex():int{
return (textField.selectionBeginIndex);
}
public function set alwaysShowSelection(_arg1:Boolean):void{
textField.alwaysShowSelection = _arg1;
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
updateTextFieldType();
}
protected function setEmbedFont(){
var _local1:Object;
_local1 = getStyleValue("embedFonts");
if (_local1 != null){
textField.embedFonts = _local1;
};
}
public function get horizontalScrollPosition():int{
return (textField.scrollH);
}
public function set condenseWhite(_arg1:Boolean):void{
textField.condenseWhite = _arg1;
}
public function set displayAsPassword(_arg1:Boolean):void{
textField.displayAsPassword = _arg1;
}
public function set horizontalScrollPosition(_arg1:int):void{
textField.scrollH = _arg1;
}
public function get restrict():String{
return (textField.restrict);
}
public function get textWidth():Number{
return (textField.textWidth);
}
public function get textHeight():Number{
return (textField.textHeight);
}
public function set editable(_arg1:Boolean):void{
_editable = _arg1;
updateTextFieldType();
}
public function get maxChars():int{
return (textField.maxChars);
}
public function get length():int{
return (textField.length);
}
public function getLineMetrics(_arg1:int):TextLineMetrics{
return (textField.getLineMetrics(_arg1));
}
public function get imeMode():String{
return (_imeMode);
}
override protected function focusOutHandler(_arg1:FocusEvent):void{
super.focusOutHandler(_arg1);
if (editable){
setIMEMode(false);
};
}
public function set htmlText(_arg1:String):void{
if (_arg1 == ""){
text = "";
return;
};
_html = true;
_savedHTML = _arg1;
textField.htmlText = _arg1;
invalidate(InvalidationType.DATA);
invalidate(InvalidationType.STYLES);
}
public function get text():String{
return (textField.text);
}
override public function get enabled():Boolean{
return (super.enabled);
}
public function get condenseWhite():Boolean{
return (textField.condenseWhite);
}
public function get alwaysShowSelection():Boolean{
return (textField.alwaysShowSelection);
}
override protected function draw():void{
var _local1:Object;
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
drawTextFormat();
drawBackground();
_local1 = getStyleValue("embedFonts");
if (_local1 != null){
textField.embedFonts = _local1;
};
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
drawLayout();
};
super.draw();
}
protected function handleTextInput(_arg1:TextEvent):void{
_arg1.stopPropagation();
dispatchEvent(new TextEvent(TextEvent.TEXT_INPUT, true, false, _arg1.text));
}
override protected function configUI():void{
super.configUI();
tabChildren = true;
textField = new TextField();
addChild(textField);
updateTextFieldType();
textField.addEventListener(TextEvent.TEXT_INPUT, handleTextInput, false, 0, true);
textField.addEventListener(Event.CHANGE, handleChange, false, 0, true);
textField.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown, false, 0, true);
}
public function setSelection(_arg1:int, _arg2:int):void{
textField.setSelection(_arg1, _arg2);
}
public function get displayAsPassword():Boolean{
return (textField.displayAsPassword);
}
public function appendText(_arg1:String):void{
textField.appendText(_arg1);
}
public function set restrict(_arg1:String):void{
if (((componentInspectorSetting) && ((_arg1 == "")))){
_arg1 = null;
};
textField.restrict = _arg1;
}
public function get htmlText():String{
return (textField.htmlText);
}
protected function drawBackground():void{
var _local1:DisplayObject;
var _local2:String;
_local1 = background;
_local2 = (enabled) ? "upSkin" : "disabledSkin";
background = getDisplayObjectInstance(getStyleValue(_local2));
if (background == null){
return;
};
addChildAt(background, 0);
if (((((!((_local1 == null))) && (!((_local1 == background))))) && (contains(_local1)))){
removeChild(_local1);
};
}
override public function setFocus():void{
stage.focus = textField;
}
protected function drawLayout():void{
var _local1:Number;
_local1 = Number(getStyleValue("textPadding"));
if (background != null){
background.width = width;
background.height = height;
};
textField.width = (width - (2 * _local1));
textField.height = (height - (2 * _local1));
textField.x = (textField.y = _local1);
}
public function set maxChars(_arg1:int):void{
textField.maxChars = _arg1;
}
public function get maxHorizontalScrollPosition():int{
return (textField.maxScrollH);
}
protected function drawTextFormat():void{
var _local1:Object;
var _local2:TextFormat;
var _local3:TextFormat;
_local1 = UIComponent.getStyleDefinition();
_local2 = (enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat);
textField.setTextFormat(_local2);
_local3 = (getStyleValue((enabled) ? "textFormat" : "disabledTextFormat") as TextFormat);
if (_local3 != null){
textField.setTextFormat(_local3);
} else {
_local3 = _local2;
};
textField.defaultTextFormat = _local3;
setEmbedFont();
if (_html){
textField.htmlText = _savedHTML;
};
}
protected function handleChange(_arg1:Event):void{
_arg1.stopPropagation();
dispatchEvent(new Event(Event.CHANGE, true));
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 16
//ComponentShim (fl.core.ComponentShim)
package fl.core {
import flash.display.*;
public dynamic class ComponentShim extends MovieClip {
}
}//package fl.core
Section 17
//InvalidationType (fl.core.InvalidationType)
package fl.core {
public class InvalidationType {
public static const SIZE:String = "size";
public static const ALL:String = "all";
public static const DATA:String = "data";
public static const SCROLL:String = "scroll";
public static const STATE:String = "state";
public static const STYLES:String = "styles";
public static const SELECTED:String = "selected";
public static const RENDERER_STYLES:String = "rendererStyles";
}
}//package fl.core
Section 18
//UIComponent (fl.core.UIComponent)
package fl.core {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import fl.managers.*;
import fl.events.*;
import flash.text.*;
import flash.system.*;
public class UIComponent extends Sprite {
protected var _enabled:Boolean;// = true
private var _mouseFocusEnabled:Boolean;// = true
protected var startHeight:Number;
protected var _height:Number;
protected var _oldIMEMode:String;// = null
protected var startWidth:Number;
public var focusTarget:IFocusManagerComponent;
protected var errorCaught:Boolean;// = false
protected var uiFocusRect:DisplayObject;
protected var _width:Number;
public var version:String;// = "3.0.0.15"
protected var isFocused:Boolean;// = false
protected var callLaterMethods:Dictionary;
private var _focusEnabled:Boolean;// = true
private var tempText:TextField;
protected var invalidateFlag:Boolean;// = false
protected var _inspector:Boolean;// = false
protected var sharedStyles:Object;
protected var invalidHash:Object;
protected var isLivePreview:Boolean;// = false
protected var _imeMode:String;// = null
protected var instanceStyles:Object;
protected var _x:Number;
protected var _y:Number;
public static var inCallLaterPhase:Boolean = false;
private static var defaultStyles:Object = {focusRectSkin:"focusRectSkin", focusRectPadding:2, textFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), disabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultTextFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultDisabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0)};
public static var createAccessibilityImplementation:Function;
private static var focusManagers:Dictionary = new Dictionary(false);
public function UIComponent(){
version = "3.0.0.15";
isLivePreview = false;
invalidateFlag = false;
_enabled = true;
isFocused = false;
_focusEnabled = true;
_mouseFocusEnabled = true;
_imeMode = null;
_oldIMEMode = null;
errorCaught = false;
_inspector = false;
super();
instanceStyles = {};
sharedStyles = {};
invalidHash = {};
callLaterMethods = new Dictionary();
StyleManager.registerInstance(this);
configUI();
invalidate(InvalidationType.ALL);
tabEnabled = (this is IFocusManagerComponent);
focusRect = false;
if (tabEnabled){
addEventListener(FocusEvent.FOCUS_IN, focusInHandler);
addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler);
addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
};
initializeFocusManager();
addEventListener(Event.ENTER_FRAME, hookAccessibility, false, 0, true);
}
public function drawFocus(_arg1:Boolean):void{
var _local2:Number;
isFocused = _arg1;
if (((!((uiFocusRect == null))) && (contains(uiFocusRect)))){
removeChild(uiFocusRect);
uiFocusRect = null;
};
if (_arg1){
uiFocusRect = (getDisplayObjectInstance(getStyleValue("focusRectSkin")) as Sprite);
if (uiFocusRect == null){
return;
};
_local2 = Number(getStyleValue("focusRectPadding"));
uiFocusRect.x = -(_local2);
uiFocusRect.y = -(_local2);
uiFocusRect.width = (width + (_local2 * 2));
uiFocusRect.height = (height + (_local2 * 2));
addChildAt(uiFocusRect, 0);
};
}
private function callLaterDispatcher(_arg1:Event):void{
var _local2:Dictionary;
var _local3:Object;
if (_arg1.type == Event.ADDED_TO_STAGE){
removeEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher);
stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true);
stage.invalidate();
return;
};
_arg1.target.removeEventListener(Event.RENDER, callLaterDispatcher);
if (stage == null){
addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true);
return;
};
inCallLaterPhase = true;
_local2 = callLaterMethods;
for (_local3 in _local2) {
_local3();
delete _local2[_local3];
};
inCallLaterPhase = false;
}
private function addedHandler(_arg1:Event):void{
removeEventListener("addedToStage", addedHandler);
initializeFocusManager();
}
protected function getStyleValue(_arg1:String):Object{
return (((instanceStyles[_arg1])==null) ? sharedStyles[_arg1] : instanceStyles[_arg1]);
}
protected function isOurFocus(_arg1:DisplayObject):Boolean{
return ((_arg1 == this));
}
override public function get scaleX():Number{
return ((width / startWidth));
}
override public function get scaleY():Number{
return ((height / startHeight));
}
override public function set height(_arg1:Number):void{
if (_height == _arg1){
return;
};
setSize(width, _arg1);
}
protected function keyDownHandler(_arg1:KeyboardEvent):void{
}
protected function focusInHandler(_arg1:FocusEvent):void{
var _local2:IFocusManager;
if (isOurFocus((_arg1.target as DisplayObject))){
_local2 = focusManager;
if (((_local2) && (_local2.showFocusIndicator))){
drawFocus(true);
isFocused = true;
};
};
}
public function setStyle(_arg1:String, _arg2:Object):void{
if ((((instanceStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
instanceStyles[_arg1] = _arg2;
invalidate(InvalidationType.STYLES);
}
override public function get visible():Boolean{
return (super.visible);
}
public function get componentInspectorSetting():Boolean{
return (_inspector);
}
override public function get x():Number{
return ((isNaN(_x)) ? super.x : _x);
}
override public function get y():Number{
return ((isNaN(_y)) ? super.y : _y);
}
protected function setIMEMode(_arg1:Boolean){
var enabled = _arg1;
if (_imeMode != null){
if (enabled){
IME.enabled = true;
_oldIMEMode = IME.conversionMode;
try {
if (((!(errorCaught)) && (!((IME.conversionMode == IMEConversionMode.UNKNOWN))))){
IME.conversionMode = _imeMode;
};
errorCaught = false;
} catch(e:Error) {
errorCaught = true;
throw (new Error(("IME mode not supported: " + _imeMode)));
};
} else {
if (((!((IME.conversionMode == IMEConversionMode.UNKNOWN))) && (!((_oldIMEMode == IMEConversionMode.UNKNOWN))))){
IME.conversionMode = _oldIMEMode;
};
IME.enabled = false;
};
};
}
public function set enabled(_arg1:Boolean):void{
if (_arg1 == _enabled){
return;
};
_enabled = _arg1;
invalidate(InvalidationType.STATE);
}
public function setSharedStyle(_arg1:String, _arg2:Object):void{
if ((((sharedStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
sharedStyles[_arg1] = _arg2;
if (instanceStyles[_arg1] == null){
invalidate(InvalidationType.STYLES);
};
}
protected function keyUpHandler(_arg1:KeyboardEvent):void{
}
public function set focusEnabled(_arg1:Boolean):void{
_focusEnabled = _arg1;
}
override public function set scaleX(_arg1:Number):void{
setSize((startWidth * _arg1), height);
}
public function get mouseFocusEnabled():Boolean{
return (_mouseFocusEnabled);
}
override public function set scaleY(_arg1:Number):void{
setSize(width, (startHeight * _arg1));
}
protected function getDisplayObjectInstance(_arg1:Object):DisplayObject{
var classDef:Object;
var skin = _arg1;
classDef = null;
if ((skin is Class)){
return ((new (skin) as DisplayObject));
};
if ((skin is DisplayObject)){
(skin as DisplayObject).x = 0;
(skin as DisplayObject).y = 0;
return ((skin as DisplayObject));
};
try {
classDef = getDefinitionByName(skin.toString());
} catch(e:Error) {
try {
classDef = (loaderInfo.applicationDomain.getDefinition(skin.toString()) as Object);
} catch(e:Error) {
};
};
if (classDef == null){
return (null);
};
return ((new (classDef) as DisplayObject));
}
protected function copyStylesToChild(_arg1:UIComponent, _arg2:Object):void{
var _local3:String;
for (_local3 in _arg2) {
_arg1.setStyle(_local3, getStyleValue(_arg2[_local3]));
};
}
protected function beforeComponentParameters():void{
}
protected function callLater(_arg1:Function):void{
if (inCallLaterPhase){
return;
};
callLaterMethods[_arg1] = true;
if (stage != null){
stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true);
stage.invalidate();
} else {
addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true);
};
}
protected function createFocusManager():void{
if (focusManagers[stage] == null){
focusManagers[stage] = new FocusManager(stage);
};
}
override public function set visible(_arg1:Boolean):void{
var _local2:String;
if (super.visible == _arg1){
return;
};
super.visible = _arg1;
_local2 = (_arg1) ? ComponentEvent.SHOW : ComponentEvent.HIDE;
dispatchEvent(new ComponentEvent(_local2, true));
}
protected function hookAccessibility(_arg1:Event):void{
removeEventListener(Event.ENTER_FRAME, hookAccessibility);
initializeAccessibility();
}
public function set componentInspectorSetting(_arg1:Boolean):void{
_inspector = _arg1;
if (_inspector){
beforeComponentParameters();
} else {
afterComponentParameters();
};
}
override public function set x(_arg1:Number):void{
move(_arg1, _y);
}
public function drawNow():void{
draw();
}
override public function set y(_arg1:Number):void{
move(_x, _arg1);
}
protected function checkLivePreview():Boolean{
var className:String;
if (parent == null){
return (false);
};
try {
className = getQualifiedClassName(parent);
} catch(e:Error) {
};
return ((className == "fl.livepreview::LivePreviewParent"));
}
protected function focusOutHandler(_arg1:FocusEvent):void{
if (isOurFocus((_arg1.target as DisplayObject))){
drawFocus(false);
isFocused = false;
};
}
public function set mouseFocusEnabled(_arg1:Boolean):void{
_mouseFocusEnabled = _arg1;
}
public function getFocus():InteractiveObject{
if (stage){
return (stage.focus);
};
return (null);
}
protected function validate():void{
invalidHash = {};
}
override public function get height():Number{
return (_height);
}
public function invalidate(_arg1:String="all", _arg2:Boolean=true):void{
invalidHash[_arg1] = true;
if (_arg2){
this.callLater(draw);
};
}
public function get enabled():Boolean{
return (_enabled);
}
protected function getScaleX():Number{
return (super.scaleX);
}
protected function getScaleY():Number{
return (super.scaleY);
}
public function get focusEnabled():Boolean{
return (_focusEnabled);
}
protected function afterComponentParameters():void{
}
protected function draw():void{
if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){
if (((isFocused) && (focusManager.showFocusIndicator))){
drawFocus(true);
};
};
validate();
}
protected function configUI():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
isLivePreview = checkLivePreview();
_local1 = rotation;
rotation = 0;
_local2 = super.width;
_local3 = super.height;
var _local4 = 1;
super.scaleY = _local4;
super.scaleX = _local4;
setSize(_local2, _local3);
move(super.x, super.y);
rotation = _local1;
startWidth = _local2;
startHeight = _local3;
if (numChildren > 0){
removeChildAt(0);
};
}
protected function setScaleX(_arg1:Number):void{
super.scaleX = _arg1;
}
protected function setScaleY(_arg1:Number):void{
super.scaleY = _arg1;
}
private function initializeFocusManager():void{
if (stage == null){
addEventListener(Event.ADDED_TO_STAGE, addedHandler, false, 0, true);
} else {
createFocusManager();
};
}
public function set focusManager(_arg1:IFocusManager):void{
UIComponent.focusManagers[this] = _arg1;
}
public function clearStyle(_arg1:String):void{
setStyle(_arg1, null);
}
protected function isInvalid(_arg1:String, ... _args):Boolean{
if (((invalidHash[_arg1]) || (invalidHash[InvalidationType.ALL]))){
return (true);
};
while (_args.length > 0) {
if (invalidHash[_args.pop()]){
return (true);
};
};
return (false);
}
public function setSize(_arg1:Number, _arg2:Number):void{
_width = _arg1;
_height = _arg2;
invalidate(InvalidationType.SIZE);
dispatchEvent(new ComponentEvent(ComponentEvent.RESIZE, false));
}
override public function set width(_arg1:Number):void{
if (_width == _arg1){
return;
};
setSize(_arg1, height);
}
public function setFocus():void{
if (stage){
stage.focus = this;
};
}
protected function initializeAccessibility():void{
if (UIComponent.createAccessibilityImplementation != null){
UIComponent.createAccessibilityImplementation(this);
};
}
public function get focusManager():IFocusManager{
var _local1:DisplayObject;
_local1 = this;
while (_local1) {
if (UIComponent.focusManagers[_local1] != null){
return (IFocusManager(UIComponent.focusManagers[_local1]));
};
_local1 = _local1.parent;
};
return (null);
}
override public function get width():Number{
return (_width);
}
public function move(_arg1:Number, _arg2:Number):void{
_x = _arg1;
_y = _arg2;
super.x = Math.round(_arg1);
super.y = Math.round(_arg2);
dispatchEvent(new ComponentEvent(ComponentEvent.MOVE));
}
public function validateNow():void{
invalidate(InvalidationType.ALL, false);
draw();
}
public function getStyle(_arg1:String):Object{
return (instanceStyles[_arg1]);
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
public static function mergeStyles(... _args):Object{
var _local2:Object;
var _local3:uint;
var _local4:uint;
var _local5:Object;
var _local6:String;
_local2 = {};
_local3 = _args.length;
_local4 = 0;
while (_local4 < _local3) {
_local5 = _args[_local4];
for (_local6 in _local5) {
if (_local2[_local6] != null){
} else {
_local2[_local6] = _args[_local4][_local6];
};
};
_local4++;
};
return (_local2);
}
}
}//package fl.core
Section 19
//DataProvider (fl.data.DataProvider)
package fl.data {
import flash.events.*;
import fl.events.*;
public class DataProvider extends EventDispatcher {
protected var data:Array;
public function DataProvider(_arg1:Object=null){
if (_arg1 == null){
data = [];
} else {
data = getDataFromObject(_arg1);
};
}
protected function dispatchPreChangeEvent(_arg1:String, _arg2:Array, _arg3:int, _arg4:int):void{
dispatchEvent(new DataChangeEvent(DataChangeEvent.PRE_DATA_CHANGE, _arg1, _arg2, _arg3, _arg4));
}
public function invalidateItemAt(_arg1:int):void{
checkIndex(_arg1, (data.length - 1));
dispatchChangeEvent(DataChangeType.INVALIDATE, [data[_arg1]], _arg1, _arg1);
}
public function getItemIndex(_arg1:Object):int{
return (data.indexOf(_arg1));
}
protected function getDataFromObject(_arg1:Object):Array{
var _local2:Array;
var _local3:Array;
var _local4:uint;
var _local5:Object;
var _local6:XML;
var _local7:XMLList;
var _local8:XML;
var _local9:XMLList;
var _local10:XML;
var _local11:XMLList;
var _local12:XML;
if ((_arg1 is Array)){
_local3 = (_arg1 as Array);
if (_local3.length > 0){
if ((((_local3[0] is String)) || ((_local3[0] is Number)))){
_local2 = [];
_local4 = 0;
while (_local4 < _local3.length) {
_local5 = {label:String(_local3[_local4]), data:_local3[_local4]};
_local2.push(_local5);
_local4++;
};
return (_local2);
};
};
return (_arg1.concat());
//unresolved jump
};
if ((_arg1 is DataProvider)){
return (_arg1.toArray());
};
if ((_arg1 is XML)){
_local6 = (_arg1 as XML);
_local2 = [];
_local7 = _local6.*;
for each (_local8 in _local7) {
_arg1 = {};
_local9 = _local8.attributes();
for each (_local10 in _local9) {
_arg1[_local10.localName()] = _local10.toString();
};
_local11 = _local8.*;
for each (_local12 in _local11) {
if (_local12.hasSimpleContent()){
_arg1[_local12.localName()] = _local12.toString();
};
};
_local2.push(_arg1);
};
return (_local2);
//unresolved jump
};
throw (new TypeError((("Error: Type Coercion failed: cannot convert " + _arg1) + " to Array or DataProvider.")));
}
public function removeItemAt(_arg1:uint):Object{
var _local2:Array;
checkIndex(_arg1, (data.length - 1));
dispatchPreChangeEvent(DataChangeType.REMOVE, data.slice(_arg1, (_arg1 + 1)), _arg1, _arg1);
_local2 = data.splice(_arg1, 1);
dispatchChangeEvent(DataChangeType.REMOVE, _local2, _arg1, _arg1);
return (_local2[0]);
}
public function addItem(_arg1:Object):void{
dispatchPreChangeEvent(DataChangeType.ADD, [_arg1], (data.length - 1), (data.length - 1));
data.push(_arg1);
dispatchChangeEvent(DataChangeType.ADD, [_arg1], (data.length - 1), (data.length - 1));
}
public function sortOn(_arg1:Object, _arg2:Object=null){
var _local3:Array;
dispatchPreChangeEvent(DataChangeType.SORT, data.concat(), 0, (data.length - 1));
_local3 = data.sortOn(_arg1, _arg2);
dispatchChangeEvent(DataChangeType.SORT, data.concat(), 0, (data.length - 1));
return (_local3);
}
public function sort(... _args){
var _local2:Array;
dispatchPreChangeEvent(DataChangeType.SORT, data.concat(), 0, (data.length - 1));
_local2 = data.sort.apply(data, _args);
dispatchChangeEvent(DataChangeType.SORT, data.concat(), 0, (data.length - 1));
return (_local2);
}
public function addItems(_arg1:Object):void{
addItemsAt(_arg1, data.length);
}
public function concat(_arg1:Object):void{
addItems(_arg1);
}
public function clone():DataProvider{
return (new DataProvider(data));
}
public function toArray():Array{
return (data.concat());
}
public function get length():uint{
return (data.length);
}
public function addItemAt(_arg1:Object, _arg2:uint):void{
checkIndex(_arg2, data.length);
dispatchPreChangeEvent(DataChangeType.ADD, [_arg1], _arg2, _arg2);
data.splice(_arg2, 0, _arg1);
dispatchChangeEvent(DataChangeType.ADD, [_arg1], _arg2, _arg2);
}
public function getItemAt(_arg1:uint):Object{
checkIndex(_arg1, (data.length - 1));
return (data[_arg1]);
}
override public function toString():String{
return ((("DataProvider [" + data.join(" , ")) + "]"));
}
public function invalidateItem(_arg1:Object):void{
var _local2:uint;
_local2 = getItemIndex(_arg1);
if (_local2 == -1){
return;
};
invalidateItemAt(_local2);
}
protected function dispatchChangeEvent(_arg1:String, _arg2:Array, _arg3:int, _arg4:int):void{
dispatchEvent(new DataChangeEvent(DataChangeEvent.DATA_CHANGE, _arg1, _arg2, _arg3, _arg4));
}
protected function checkIndex(_arg1:int, _arg2:int):void{
if ((((_arg1 > _arg2)) || ((_arg1 < 0)))){
throw (new RangeError((((("DataProvider index (" + _arg1) + ") is not in acceptable range (0 - ") + _arg2) + ")")));
};
}
public function addItemsAt(_arg1:Object, _arg2:uint):void{
var _local3:Array;
checkIndex(_arg2, data.length);
_local3 = getDataFromObject(_arg1);
dispatchPreChangeEvent(DataChangeType.ADD, _local3, _arg2, ((_arg2 + _local3.length) - 1));
data.splice.apply(data, [_arg2, 0].concat(_local3));
dispatchChangeEvent(DataChangeType.ADD, _local3, _arg2, ((_arg2 + _local3.length) - 1));
}
public function replaceItem(_arg1:Object, _arg2:Object):Object{
var _local3:int;
_local3 = getItemIndex(_arg2);
if (_local3 != -1){
return (replaceItemAt(_arg1, _local3));
};
return (null);
}
public function removeItem(_arg1:Object):Object{
var _local2:int;
_local2 = getItemIndex(_arg1);
if (_local2 != -1){
return (removeItemAt(_local2));
};
return (null);
}
public function merge(_arg1:Object):void{
var _local2:Array;
var _local3:uint;
var _local4:uint;
var _local5:uint;
var _local6:Object;
_local2 = getDataFromObject(_arg1);
_local3 = _local2.length;
_local4 = data.length;
dispatchPreChangeEvent(DataChangeType.ADD, data.slice(_local4, data.length), _local4, (this.data.length - 1));
_local5 = 0;
while (_local5 < _local3) {
_local6 = _local2[_local5];
if (getItemIndex(_local6) == -1){
data.push(_local6);
};
_local5++;
};
if (data.length > _local4){
dispatchChangeEvent(DataChangeType.ADD, data.slice(_local4, data.length), _local4, (this.data.length - 1));
} else {
dispatchChangeEvent(DataChangeType.ADD, [], -1, -1);
};
}
public function replaceItemAt(_arg1:Object, _arg2:uint):Object{
var _local3:Array;
checkIndex(_arg2, (data.length - 1));
_local3 = [data[_arg2]];
dispatchPreChangeEvent(DataChangeType.REPLACE, _local3, _arg2, _arg2);
data[_arg2] = _arg1;
dispatchChangeEvent(DataChangeType.REPLACE, _local3, _arg2, _arg2);
return (_local3[0]);
}
public function invalidate():void{
dispatchEvent(new DataChangeEvent(DataChangeEvent.DATA_CHANGE, DataChangeType.INVALIDATE_ALL, data.concat(), 0, data.length));
}
public function removeAll():void{
var _local1:Array;
_local1 = data.concat();
dispatchPreChangeEvent(DataChangeType.REMOVE_ALL, _local1, 0, _local1.length);
data = [];
dispatchChangeEvent(DataChangeType.REMOVE_ALL, _local1, 0, _local1.length);
}
}
}//package fl.data
Section 20
//SimpleCollectionItem (fl.data.SimpleCollectionItem)
package fl.data {
public dynamic class SimpleCollectionItem {
public var label:String;
public var data:String;
public function toString():String{
return ((((("[SimpleCollectionItem: " + label) + ",") + data) + "]"));
}
}
}//package fl.data
Section 21
//ComponentEvent (fl.events.ComponentEvent)
package fl.events {
import flash.events.*;
public class ComponentEvent extends Event {
public static const HIDE:String = "hide";
public static const BUTTON_DOWN:String = "buttonDown";
public static const MOVE:String = "move";
public static const RESIZE:String = "resize";
public static const ENTER:String = "enter";
public static const LABEL_CHANGE:String = "labelChange";
public static const SHOW:String = "show";
public function ComponentEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
override public function toString():String{
return (formatToString("ComponentEvent", "type", "bubbles", "cancelable"));
}
override public function clone():Event{
return (new ComponentEvent(type, bubbles, cancelable));
}
}
}//package fl.events
Section 22
//DataChangeEvent (fl.events.DataChangeEvent)
package fl.events {
import flash.events.*;
public class DataChangeEvent extends Event {
protected var _items:Array;
protected var _endIndex:uint;
protected var _changeType:String;
protected var _startIndex:uint;
public static const PRE_DATA_CHANGE:String = "preDataChange";
public static const DATA_CHANGE:String = "dataChange";
public function DataChangeEvent(_arg1:String, _arg2:String, _arg3:Array, _arg4:int=-1, _arg5:int=-1):void{
super(_arg1);
_changeType = _arg2;
_startIndex = _arg4;
_items = _arg3;
_endIndex = ((_arg5)==-1) ? _startIndex : _arg5;
}
public function get changeType():String{
return (_changeType);
}
public function get startIndex():uint{
return (_startIndex);
}
public function get items():Array{
return (_items);
}
override public function clone():Event{
return (new DataChangeEvent(type, _changeType, _items, _startIndex, _endIndex));
}
override public function toString():String{
return (formatToString("DataChangeEvent", "type", "changeType", "startIndex", "endIndex", "bubbles", "cancelable"));
}
public function get endIndex():uint{
return (_endIndex);
}
}
}//package fl.events
Section 23
//DataChangeType (fl.events.DataChangeType)
package fl.events {
public class DataChangeType {
public static const ADD:String = "add";
public static const REMOVE:String = "remove";
public static const REMOVE_ALL:String = "removeAll";
public static const CHANGE:String = "change";
public static const REPLACE:String = "replace";
public static const INVALIDATE:String = "invalidate";
public static const INVALIDATE_ALL:String = "invalidateAll";
public static const SORT:String = "sort";
}
}//package fl.events
Section 24
//ListEvent (fl.events.ListEvent)
package fl.events {
import flash.events.*;
public class ListEvent extends Event {
protected var _index:int;
protected var _item:Object;
protected var _columnIndex:int;
protected var _rowIndex:int;
public static const ITEM_DOUBLE_CLICK:String = "itemDoubleClick";
public static const ITEM_ROLL_OUT:String = "itemRollOut";
public static const ITEM_ROLL_OVER:String = "itemRollOver";
public static const ITEM_CLICK:String = "itemClick";
public function ListEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:int=-1, _arg5:int=-1, _arg6:int=-1, _arg7:Object=null){
super(_arg1, _arg2, _arg3);
_rowIndex = _arg5;
_columnIndex = _arg4;
_index = _arg6;
_item = _arg7;
}
public function get rowIndex():Object{
return (_rowIndex);
}
public function get index():int{
return (_index);
}
public function get item():Object{
return (_item);
}
public function get columnIndex():int{
return (_columnIndex);
}
override public function clone():Event{
return (new ListEvent(type, bubbles, cancelable, _columnIndex, _rowIndex));
}
override public function toString():String{
return (formatToString("ListEvent", "type", "bubbles", "cancelable", "columnIndex", "rowIndex", "index", "item"));
}
}
}//package fl.events
Section 25
//ScrollEvent (fl.events.ScrollEvent)
package fl.events {
import flash.events.*;
public class ScrollEvent extends Event {
private var _position:Number;
private var _direction:String;
private var _delta:Number;
public static const SCROLL:String = "scroll";
public function ScrollEvent(_arg1:String, _arg2:Number, _arg3:Number){
super(ScrollEvent.SCROLL, false, false);
_direction = _arg1;
_delta = _arg2;
_position = _arg3;
}
override public function clone():Event{
return (new ScrollEvent(_direction, _delta, _position));
}
public function get position():Number{
return (_position);
}
override public function toString():String{
return (formatToString("ScrollEvent", "type", "bubbles", "cancelable", "direction", "delta", "position"));
}
public function get delta():Number{
return (_delta);
}
public function get direction():String{
return (_direction);
}
}
}//package fl.events
Section 26
//FocusManager (fl.managers.FocusManager)
package fl.managers {
import fl.core.*;
import fl.controls.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.ui.*;
public class FocusManager implements IFocusManager {
private var focusableObjects:Dictionary;
private var _showFocusIndicator:Boolean;// = true
private var defButton:Button;
private var focusableCandidates:Array;
private var _form:DisplayObjectContainer;
private var _defaultButtonEnabled:Boolean;// = true
private var activated:Boolean;// = false
private var _defaultButton:Button;
private var calculateCandidates:Boolean;// = true
private var lastFocus:InteractiveObject;
private var lastAction:String;
public function FocusManager(_arg1:DisplayObjectContainer){
activated = false;
calculateCandidates = true;
_showFocusIndicator = true;
_defaultButtonEnabled = true;
super();
focusableObjects = new Dictionary(true);
if (_arg1 != null){
_form = _arg1;
addFocusables(DisplayObject(_arg1));
_arg1.addEventListener(Event.ADDED, addedHandler);
_arg1.addEventListener(Event.REMOVED, removedHandler);
activate();
};
}
public function get showFocusIndicator():Boolean{
return (_showFocusIndicator);
}
private function getIndexOfNextObject(_arg1:int, _arg2:Boolean, _arg3:Boolean, _arg4:String):int{
var _local5:int;
var _local6:int;
var _local7:DisplayObject;
var _local8:IFocusManagerGroup;
var _local9:int;
var _local10:DisplayObject;
var _local11:IFocusManagerGroup;
_local5 = focusableCandidates.length;
_local6 = _arg1;
while (true) {
if (_arg2){
_arg1--;
} else {
_arg1++;
};
if (_arg3){
if (((_arg2) && ((_arg1 < 0)))){
break;
};
if (((!(_arg2)) && ((_arg1 == _local5)))){
break;
};
} else {
_arg1 = ((_arg1 + _local5) % _local5);
if (_local6 == _arg1){
break;
};
};
if (isValidFocusCandidate(focusableCandidates[_arg1], _arg4)){
_local7 = DisplayObject(findFocusManagerComponent(focusableCandidates[_arg1]));
if ((_local7 is IFocusManagerGroup)){
_local8 = IFocusManagerGroup(_local7);
_local9 = 0;
while (_local9 < focusableCandidates.length) {
_local10 = focusableCandidates[_local9];
if ((_local10 is IFocusManagerGroup)){
_local11 = IFocusManagerGroup(_local10);
if ((((_local11.groupName == _local8.groupName)) && (_local11.selected))){
_arg1 = _local9;
break;
};
};
_local9++;
};
};
return (_arg1);
};
};
return (_arg1);
}
public function set form(_arg1:DisplayObjectContainer):void{
_form = _arg1;
}
private function addFocusables(_arg1:DisplayObject, _arg2:Boolean=false):void{
var focusable:IFocusManagerComponent;
var io:InteractiveObject;
var doc:DisplayObjectContainer;
var i:int;
var child:DisplayObject;
var o = _arg1;
var skipTopLevel = _arg2;
if (!skipTopLevel){
if ((o is IFocusManagerComponent)){
focusable = IFocusManagerComponent(o);
if (focusable.focusEnabled){
if (((focusable.tabEnabled) && (isTabVisible(o)))){
focusableObjects[o] = true;
calculateCandidates = true;
};
o.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
o.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
};
} else {
if ((o is InteractiveObject)){
io = (o as InteractiveObject);
if (((((io) && (io.tabEnabled))) && ((findFocusManagerComponent(io) == io)))){
focusableObjects[io] = true;
calculateCandidates = true;
};
io.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
io.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
};
};
};
if ((o is DisplayObjectContainer)){
doc = DisplayObjectContainer(o);
o.addEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler);
if ((((((doc is Stage)) || ((doc.parent is Stage)))) || (doc.tabChildren))){
i = 0;
while (i < doc.numChildren) {
try {
child = doc.getChildAt(i);
if (child != null){
addFocusables(doc.getChildAt(i));
};
} catch(error:SecurityError) {
};
i = (i + 1);
};
};
};
}
private function getChildIndex(_arg1:DisplayObjectContainer, _arg2:DisplayObject):int{
return (_arg1.getChildIndex(_arg2));
}
private function mouseFocusChangeHandler(_arg1:FocusEvent):void{
if ((_arg1.relatedObject is TextField)){
return;
};
_arg1.preventDefault();
}
private function focusOutHandler(_arg1:FocusEvent):void{
var _local2:InteractiveObject;
_local2 = (_arg1.target as InteractiveObject);
}
private function isValidFocusCandidate(_arg1:DisplayObject, _arg2:String):Boolean{
var _local3:IFocusManagerGroup;
if (!isEnabledAndVisible(_arg1)){
return (false);
};
if ((_arg1 is IFocusManagerGroup)){
_local3 = IFocusManagerGroup(_arg1);
if (_arg2 == _local3.groupName){
return (false);
};
};
return (true);
}
public function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject{
var _local2:InteractiveObject;
_local2 = _arg1;
while (_arg1) {
if ((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))){
return (_arg1);
};
_arg1 = _arg1.parent;
};
return (_local2);
}
private function sortFocusableObjectsTabIndex():void{
var _local1:Object;
var _local2:InteractiveObject;
focusableCandidates = [];
for (_local1 in focusableObjects) {
_local2 = InteractiveObject(_local1);
if (((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))){
focusableCandidates.push(_local2);
};
};
focusableCandidates.sort(sortByTabIndex);
}
private function removeFocusables(_arg1:DisplayObject):void{
var _local2:Object;
var _local3:DisplayObject;
if ((_arg1 is DisplayObjectContainer)){
_arg1.removeEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler);
_arg1.removeEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
for (_local2 in focusableObjects) {
_local3 = DisplayObject(_local2);
if (DisplayObjectContainer(_arg1).contains(_local3)){
if (_local3 == lastFocus){
lastFocus = null;
};
_local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
delete focusableObjects[_local2];
calculateCandidates = true;
};
};
};
}
private function addedHandler(_arg1:Event):void{
var _local2:DisplayObject;
_local2 = DisplayObject(_arg1.target);
if (_local2.stage){
addFocusables(DisplayObject(_arg1.target));
};
}
private function getTopLevelFocusTarget(_arg1:InteractiveObject):InteractiveObject{
while (_arg1 != InteractiveObject(form)) {
if ((((((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))) && (IFocusManagerComponent(_arg1).mouseFocusEnabled))) && (UIComponent(_arg1).enabled))){
return (_arg1);
};
_arg1 = _arg1.parent;
if (_arg1 == null){
break;
};
};
return (null);
}
private function tabChildrenChangeHandler(_arg1:Event):void{
var _local2:DisplayObjectContainer;
if (_arg1.target != _arg1.currentTarget){
return;
};
calculateCandidates = true;
_local2 = DisplayObjectContainer(_arg1.target);
if (_local2.tabChildren){
addFocusables(_local2, true);
} else {
removeFocusables(_local2);
};
}
public function sendDefaultButtonEvent():void{
defButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
}
public function getFocus():InteractiveObject{
var _local1:InteractiveObject;
_local1 = form.stage.focus;
return (findFocusManagerComponent(_local1));
}
private function isEnabledAndVisible(_arg1:DisplayObject):Boolean{
var _local2:DisplayObjectContainer;
var _local3:TextField;
var _local4:SimpleButton;
_local2 = DisplayObject(form).parent;
while (_arg1 != _local2) {
if ((_arg1 is UIComponent)){
if (!UIComponent(_arg1).enabled){
return (false);
};
} else {
if ((_arg1 is TextField)){
_local3 = TextField(_arg1);
if ((((_local3.type == TextFieldType.DYNAMIC)) || (!(_local3.selectable)))){
return (false);
};
} else {
if ((_arg1 is SimpleButton)){
_local4 = SimpleButton(_arg1);
if (!_local4.enabled){
return (false);
};
};
};
};
if (!_arg1.visible){
return (false);
};
_arg1 = _arg1.parent;
};
return (true);
}
public function set defaultButton(_arg1:Button):void{
var _local2:Button;
_local2 = (_arg1) ? Button(_arg1) : null;
if (_local2 != _defaultButton){
if (_defaultButton){
_defaultButton.emphasized = false;
};
if (defButton){
defButton.emphasized = false;
};
_defaultButton = _local2;
defButton = _local2;
if (_local2){
_local2.emphasized = true;
};
};
}
private function deactivateHandler(_arg1:Event):void{
var _local2:InteractiveObject;
_local2 = InteractiveObject(_arg1.target);
}
public function setFocus(_arg1:InteractiveObject):void{
if ((_arg1 is IFocusManagerComponent)){
IFocusManagerComponent(_arg1).setFocus();
} else {
form.stage.focus = _arg1;
};
}
private function setFocusToNextObject(_arg1:FocusEvent):void{
var _local2:InteractiveObject;
if (!hasFocusableObjects()){
return;
};
_local2 = getNextFocusManagerComponent(_arg1.shiftKey);
if (_local2){
setFocus(_local2);
};
}
private function hasFocusableObjects():Boolean{
var _local1:Object;
for (_local1 in focusableObjects) {
return (true);
};
return (false);
}
private function tabIndexChangeHandler(_arg1:Event):void{
calculateCandidates = true;
}
private function sortFocusableObjects():void{
var _local1:Object;
var _local2:InteractiveObject;
focusableCandidates = [];
for (_local1 in focusableObjects) {
_local2 = InteractiveObject(_local1);
if (((((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))) && ((_local2.tabIndex > 0)))){
sortFocusableObjectsTabIndex();
return;
};
focusableCandidates.push(_local2);
};
focusableCandidates.sort(sortByDepth);
}
private function keyFocusChangeHandler(_arg1:FocusEvent):void{
showFocusIndicator = true;
if ((((((_arg1.keyCode == Keyboard.TAB)) || ((_arg1.keyCode == 0)))) && (!(_arg1.isDefaultPrevented())))){
setFocusToNextObject(_arg1);
_arg1.preventDefault();
};
}
private function getIndexOfFocusedObject(_arg1:DisplayObject):int{
var _local2:int;
var _local3:int;
_local2 = focusableCandidates.length;
_local3 = 0;
_local3 = 0;
while (_local3 < _local2) {
if (focusableCandidates[_local3] == _arg1){
return (_local3);
};
_local3++;
};
return (-1);
}
public function hideFocus():void{
}
private function removedHandler(_arg1:Event):void{
var _local2:int;
var _local3:DisplayObject;
var _local4:InteractiveObject;
_local3 = DisplayObject(_arg1.target);
if ((((_local3 is IFocusManagerComponent)) && ((focusableObjects[_local3] == true)))){
if (_local3 == lastFocus){
IFocusManagerComponent(lastFocus).drawFocus(false);
lastFocus = null;
};
_local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
delete focusableObjects[_local3];
calculateCandidates = true;
} else {
if ((((_local3 is InteractiveObject)) && ((focusableObjects[_local3] == true)))){
_local4 = (_local3 as InteractiveObject);
if (_local4){
if (_local4 == lastFocus){
lastFocus = null;
};
delete focusableObjects[_local4];
calculateCandidates = true;
};
_local3.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
};
};
removeFocusables(_local3);
}
private function sortByDepth(_arg1:InteractiveObject, _arg2:InteractiveObject):Number{
var _local3:String;
var _local4:String;
var _local5:int;
var _local6:String;
var _local7:String;
var _local8:String;
var _local9:DisplayObject;
var _local10:DisplayObject;
_local3 = "";
_local4 = "";
_local8 = "0000";
_local9 = DisplayObject(_arg1);
_local10 = DisplayObject(_arg2);
while (((!((_local9 == DisplayObject(form)))) && (_local9.parent))) {
_local5 = getChildIndex(_local9.parent, _local9);
_local6 = _local5.toString(16);
if (_local6.length < 4){
_local7 = (_local8.substring(0, (4 - _local6.length)) + _local6);
};
_local3 = (_local7 + _local3);
_local9 = _local9.parent;
};
while (((!((_local10 == DisplayObject(form)))) && (_local10.parent))) {
_local5 = getChildIndex(_local10.parent, _local10);
_local6 = _local5.toString(16);
if (_local6.length < 4){
_local7 = (_local8.substring(0, (4 - _local6.length)) + _local6);
};
_local4 = (_local7 + _local4);
_local10 = _local10.parent;
};
return (((_local3 > _local4)) ? 1 : ((_local3 < _local4)) ? -1 : 0);
}
public function get defaultButton():Button{
return (_defaultButton);
}
private function activateHandler(_arg1:Event):void{
var _local2:InteractiveObject;
_local2 = InteractiveObject(_arg1.target);
if (lastFocus){
if ((lastFocus is IFocusManagerComponent)){
IFocusManagerComponent(lastFocus).setFocus();
} else {
form.stage.focus = lastFocus;
};
};
lastAction = "ACTIVATE";
}
public function showFocus():void{
}
public function set defaultButtonEnabled(_arg1:Boolean):void{
_defaultButtonEnabled = _arg1;
}
public function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject{
var _local2:DisplayObject;
var _local3:String;
var _local4:int;
var _local5:Boolean;
var _local6:int;
var _local7:int;
var _local8:IFocusManagerGroup;
if (!hasFocusableObjects()){
return (null);
};
if (calculateCandidates){
sortFocusableObjects();
calculateCandidates = false;
};
_local2 = form.stage.focus;
_local2 = DisplayObject(findFocusManagerComponent(InteractiveObject(_local2)));
_local3 = "";
if ((_local2 is IFocusManagerGroup)){
_local8 = IFocusManagerGroup(_local2);
_local3 = _local8.groupName;
};
_local4 = getIndexOfFocusedObject(_local2);
_local5 = false;
_local6 = _local4;
if (_local4 == -1){
if (_arg1){
_local4 = focusableCandidates.length;
};
_local5 = true;
};
_local7 = getIndexOfNextObject(_local4, _arg1, _local5, _local3);
return (findFocusManagerComponent(focusableCandidates[_local7]));
}
private function mouseDownHandler(_arg1:MouseEvent):void{
var _local2:InteractiveObject;
if (_arg1.isDefaultPrevented()){
return;
};
_local2 = getTopLevelFocusTarget(InteractiveObject(_arg1.target));
if (!_local2){
return;
};
showFocusIndicator = false;
if (((((!((_local2 == lastFocus))) || ((lastAction == "ACTIVATE")))) && (!((_local2 is TextField))))){
setFocus(_local2);
};
lastAction = "MOUSEDOWN";
}
private function isTabVisible(_arg1:DisplayObject):Boolean{
var _local2:DisplayObjectContainer;
_local2 = _arg1.parent;
while (((((_local2) && (!((_local2 is Stage))))) && (!(((_local2.parent) && ((_local2.parent is Stage))))))) {
if (!_local2.tabChildren){
return (false);
};
_local2 = _local2.parent;
};
return (true);
}
public function get nextTabIndex():int{
return (0);
}
private function keyDownHandler(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == Keyboard.TAB){
lastAction = "KEY";
if (calculateCandidates){
sortFocusableObjects();
calculateCandidates = false;
};
};
if (((((((defaultButtonEnabled) && ((_arg1.keyCode == Keyboard.ENTER)))) && (defaultButton))) && (defButton.enabled))){
sendDefaultButtonEvent();
};
}
private function focusInHandler(_arg1:FocusEvent):void{
var _local2:InteractiveObject;
var _local3:Button;
_local2 = InteractiveObject(_arg1.target);
if (form.contains(_local2)){
lastFocus = findFocusManagerComponent(InteractiveObject(_local2));
if ((lastFocus is Button)){
_local3 = Button(lastFocus);
if (defButton){
defButton.emphasized = false;
defButton = _local3;
_local3.emphasized = true;
};
} else {
if (((defButton) && (!((defButton == _defaultButton))))){
defButton.emphasized = false;
defButton = _defaultButton;
_defaultButton.emphasized = true;
};
};
};
}
private function tabEnabledChangeHandler(_arg1:Event):void{
var _local2:InteractiveObject;
var _local3:Boolean;
calculateCandidates = true;
_local2 = InteractiveObject(_arg1.target);
_local3 = (focusableObjects[_local2] == true);
if (_local2.tabEnabled){
if (((!(_local3)) && (isTabVisible(_local2)))){
if (!(_local2 is IFocusManagerComponent)){
_local2.focusRect = false;
};
focusableObjects[_local2] = true;
};
} else {
if (_local3){
delete focusableObjects[_local2];
};
};
}
public function set showFocusIndicator(_arg1:Boolean):void{
_showFocusIndicator = _arg1;
}
public function get form():DisplayObjectContainer{
return (_form);
}
private function sortByTabIndex(_arg1:InteractiveObject, _arg2:InteractiveObject):int{
return (((_arg1.tabIndex > _arg2.tabIndex)) ? 1 : ((_arg1.tabIndex < _arg2.tabIndex)) ? -1 : sortByDepth(_arg1, _arg2));
}
public function activate():void{
if (activated){
return;
};
form.stage.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler, false, 0, true);
form.stage.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler, false, 0, true);
form.addEventListener(FocusEvent.FOCUS_IN, focusInHandler, true);
form.addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true);
form.stage.addEventListener(Event.ACTIVATE, activateHandler, false, 0, true);
form.stage.addEventListener(Event.DEACTIVATE, deactivateHandler, false, 0, true);
form.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
form.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);
activated = true;
if (lastFocus){
setFocus(lastFocus);
};
}
public function deactivate():void{
form.stage.removeEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler);
form.stage.removeEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler);
form.removeEventListener(FocusEvent.FOCUS_IN, focusInHandler, true);
form.removeEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true);
form.stage.removeEventListener(Event.ACTIVATE, activateHandler);
form.stage.removeEventListener(Event.DEACTIVATE, deactivateHandler);
form.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
form.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);
activated = false;
}
public function get defaultButtonEnabled():Boolean{
return (_defaultButtonEnabled);
}
}
}//package fl.managers
Section 27
//IFocusManager (fl.managers.IFocusManager)
package fl.managers {
import fl.controls.*;
import flash.display.*;
public interface IFocusManager {
function getFocus():InteractiveObject;
function deactivate():void;
function set defaultButton(_arg1:Button):void;
function set showFocusIndicator(_arg1:Boolean):void;
function get defaultButtonEnabled():Boolean;
function get nextTabIndex():int;
function get defaultButton():Button;
function get showFocusIndicator():Boolean;
function setFocus(_arg1:InteractiveObject):void;
function activate():void;
function showFocus():void;
function set defaultButtonEnabled(_arg1:Boolean):void;
function hideFocus():void;
function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject;
function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject;
}
}//package fl.managers
Section 28
//IFocusManagerComponent (fl.managers.IFocusManagerComponent)
package fl.managers {
public interface IFocusManagerComponent {
function set focusEnabled(_arg1:Boolean):void;
function drawFocus(_arg1:Boolean):void;
function setFocus():void;
function get focusEnabled():Boolean;
function get tabEnabled():Boolean;
function get tabIndex():int;
function get mouseFocusEnabled():Boolean;
}
}//package fl.managers
Section 29
//IFocusManagerGroup (fl.managers.IFocusManagerGroup)
package fl.managers {
public interface IFocusManagerGroup {
function set groupName(_arg1:String):void;
function set selected(_arg1:Boolean):void;
function get groupName():String;
function get selected():Boolean;
}
}//package fl.managers
Section 30
//StyleManager (fl.managers.StyleManager)
package fl.managers {
import fl.core.*;
import flash.utils.*;
import flash.text.*;
public class StyleManager {
private var globalStyles:Object;
private var classToDefaultStylesDict:Dictionary;
private var styleToClassesHash:Object;
private var classToStylesDict:Dictionary;
private var classToInstancesDict:Dictionary;
private static var _instance:StyleManager;
public function StyleManager(){
styleToClassesHash = {};
classToInstancesDict = new Dictionary(true);
classToStylesDict = new Dictionary(true);
classToDefaultStylesDict = new Dictionary(true);
globalStyles = UIComponent.getStyleDefinition();
}
public static function clearComponentStyle(_arg1:Object, _arg2:String):void{
var _local3:Class;
var _local4:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance().classToStylesDict[_local3];
if (((!((_local4 == null))) && (!((_local4[_arg2] == null))))){
delete _local4[_arg2];
invalidateComponentStyle(_local3, _arg2);
};
}
private static function getClassDef(_arg1:Object):Class{
var component = _arg1;
if ((component is Class)){
return ((component as Class));
};
try {
return ((getDefinitionByName(getQualifiedClassName(component)) as Class));
} catch(e:Error) {
if ((component is UIComponent)){
try {
return ((component.loaderInfo.applicationDomain.getDefinition(getQualifiedClassName(component)) as Class));
} catch(e:Error) {
};
};
};
return (null);
}
public static function clearStyle(_arg1:String):void{
setStyle(_arg1, null);
}
public static function setComponentStyle(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Class;
var _local5:Object;
_local4 = getClassDef(_arg1);
_local5 = getInstance().classToStylesDict[_local4];
if (_local5 == null){
_local5 = (getInstance().classToStylesDict[_local4] = {});
};
if (_local5 == _arg3){
return;
};
_local5[_arg2] = _arg3;
invalidateComponentStyle(_local4, _arg2);
}
private static function setSharedStyles(_arg1:UIComponent):void{
var _local2:StyleManager;
var _local3:Class;
var _local4:Object;
var _local5:String;
_local2 = getInstance();
_local3 = getClassDef(_arg1);
_local4 = _local2.classToDefaultStylesDict[_local3];
for (_local5 in _local4) {
_arg1.setSharedStyle(_local5, getSharedStyle(_arg1, _local5));
};
}
public static function getComponentStyle(_arg1:Object, _arg2:String):Object{
var _local3:Class;
var _local4:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance().classToStylesDict[_local3];
return (((_local4)==null) ? null : _local4[_arg2]);
}
private static function getInstance(){
if (_instance == null){
_instance = new (StyleManager);
};
return (_instance);
}
private static function invalidateComponentStyle(_arg1:Class, _arg2:String):void{
var _local3:Dictionary;
var _local4:Object;
var _local5:UIComponent;
_local3 = getInstance().classToInstancesDict[_arg1];
if (_local3 == null){
return;
};
for (_local4 in _local3) {
_local5 = (_local4 as UIComponent);
if (_local5 == null){
} else {
_local5.setSharedStyle(_arg2, getSharedStyle(_local5, _arg2));
};
};
}
private static function invalidateStyle(_arg1:String):void{
var _local2:Dictionary;
var _local3:Object;
_local2 = getInstance().styleToClassesHash[_arg1];
if (_local2 == null){
return;
};
for (_local3 in _local2) {
invalidateComponentStyle(Class(_local3), _arg1);
};
}
public static function registerInstance(_arg1:UIComponent):void{
var inst:StyleManager;
var classDef:Class;
var target:Class;
var defaultStyles:Object;
var styleToClasses:Object;
var n:String;
var instance = _arg1;
inst = getInstance();
classDef = getClassDef(instance);
if (classDef == null){
return;
};
if (inst.classToInstancesDict[classDef] == null){
inst.classToInstancesDict[classDef] = new Dictionary(true);
target = classDef;
while (defaultStyles == null) {
if (target["getStyleDefinition"] != null){
defaultStyles = target["getStyleDefinition"]();
break;
};
try {
target = (instance.loaderInfo.applicationDomain.getDefinition(getQualifiedSuperclassName(target)) as Class);
} catch(err:Error) {
try {
target = (getDefinitionByName(getQualifiedSuperclassName(target)) as Class);
} catch(e:Error) {
defaultStyles = UIComponent.getStyleDefinition();
break;
};
};
};
styleToClasses = inst.styleToClassesHash;
for (n in defaultStyles) {
if (styleToClasses[n] == null){
styleToClasses[n] = new Dictionary(true);
};
styleToClasses[n][classDef] = true;
};
inst.classToDefaultStylesDict[classDef] = defaultStyles;
inst.classToStylesDict[classDef] = {};
};
inst.classToInstancesDict[classDef][instance] = true;
setSharedStyles(instance);
}
public static function getStyle(_arg1:String):Object{
return (getInstance().globalStyles[_arg1]);
}
private static function getSharedStyle(_arg1:UIComponent, _arg2:String):Object{
var _local3:Class;
var _local4:StyleManager;
var _local5:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance();
_local5 = _local4.classToStylesDict[_local3][_arg2];
if (_local5 != null){
return (_local5);
};
_local5 = _local4.globalStyles[_arg2];
if (_local5 != null){
return (_local5);
};
return (_local4.classToDefaultStylesDict[_local3][_arg2]);
}
public static function setStyle(_arg1:String, _arg2:Object):void{
var _local3:Object;
_local3 = getInstance().globalStyles;
if ((((_local3[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
_local3[_arg1] = _arg2;
invalidateStyle(_arg1);
}
}
}//package fl.managers
Section 31
//MochiAd (mochi.as3.MochiAd)
package mochi.as3 {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class MochiAd {
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function showClickAwayAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_timeout:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:2000, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{
}, ad_finished:function ():void{
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Number;
var _local3:Boolean;
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
return;
};
_local1 = this.parent._mochiad_ctr;
_local2 = (getTimer() - this.started);
_local3 = false;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
_local3 = true;
chk.started = getTimer();
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (this.root == null){
_local3 = true;
};
if (_local3){
delete this.onEnterFrame;
};
};
doOnEnterFrame(chk);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function _allowDomains(_arg1:String):String{
var _local2:String;
_local2 = _arg1.split("/")[2].split(":")[0];
if (Security.sandboxType == "application"){
return (_local2);
};
Security.allowDomain("*");
Security.allowDomain(_local2);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(_local2);
return (_local2);
}
public static function unload(_arg1:Object):Boolean{
if (((_arg1.clip) && (_arg1.clip._mochiad))){
_arg1 = _arg1.clip;
};
if (_arg1.origFrameRate != undefined){
_arg1.stage.frameRate = _arg1.origFrameRate;
};
if (!_arg1._mochiad){
return (false);
};
if (_arg1._mochiad._containerLCName != undefined){
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "notify", {id:"unload"});
};
if (_arg1._mochiad.onUnload){
_arg1._mochiad.onUnload();
};
delete _arg1._mochiad_loaded;
delete _arg1._mochiad;
return (true);
}
public static function showInterLevelAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = (_arg1 - 250);
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Number;
var _local3:Boolean;
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
_local1 = this.parent._mochiad_ctr;
_local2 = (getTimer() - this.started);
_local3 = false;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (_local2 > chk.ad_msec){
_local3 = true;
};
if (_local3){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function _parseOptions(_arg1:Object, _arg2:Object):Object{
var _local3:Object;
var _local4:String;
var _local5:Array;
var _local6:Number;
var _local7:Array;
_local3 = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
if (_arg1){
for (_local4 in _arg1) {
_local3[_local4] = _arg1[_local4];
};
};
if (_local3.clip == undefined){
throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite."));
};
_arg1 = _local3.clip.loaderInfo.parameters.mochiad_options;
if (_arg1){
_local5 = _arg1.split("&");
_local6 = 0;
while (_local6 < _local5.length) {
_local7 = _local5[_local6].split("=");
_local3[unescape(_local7[0])] = unescape(_local7[1]);
_local6++;
};
};
if (_local3.id == "test"){
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
};
return (_local3);
}
public static function _cleanup(_arg1:Object):void{
var idx:Number;
var k:String;
var lc:LocalConnection;
var f:Function;
var mc = _arg1;
if (("lc" in mc)){
lc = mc.lc;
f = function ():void{
try {
lc.client = null;
lc.close();
} catch(e:Error) {
};
};
setTimeout(f, 0);
};
idx = DisplayObjectContainer(mc).numChildren;
while (idx > 0) {
idx = (idx - 1);
DisplayObjectContainer(mc).removeChildAt(idx);
};
for (k in mc) {
delete mc[k];
};
}
public static function load(_arg1:Object):MovieClip{
var DEFAULTS:Object;
var clip:Object;
var depth:Number;
var mc:MovieClip;
var wh:Array;
var lv:URLVariables;
var k:String;
var server:String;
var hostname:String;
var lc:LocalConnection;
var name:String;
var loader:Loader;
var g:Function;
var req:URLRequest;
var v:Object;
var options = _arg1;
DEFAULTS = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
if (!(clip is DisplayObject)){
trace("Warning: Object passed as container clip not a descendant of the DisplayObject type");
return (null);
};
if (MovieClip(clip).stage == null){
trace("Warning: Container clip for ad is not attached to the stage");
return (null);
};
if (!MochiAd._isNetworkAvailable()){
return (null);
};
try {
if (clip._mochiad_loaded){
return (null);
};
} catch(e:Error) {
throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
depth = options.depth;
delete options.depth;
mc = createEmptyMovieClip(clip, "_mochiad", depth);
wh = MochiAd._getRes(options, clip);
options.res = ((wh[0] + "x") + wh[1]);
options.server = (options.server + options.id);
delete options.id;
clip._mochiad_loaded = true;
if (clip.loaderInfo.loaderURL.indexOf("http") == 0){
options.as3_swf = clip.loaderInfo.loaderURL;
} else {
trace("[MochiAd] NOTE: Security Sandbox Violation errors below are normal");
};
lv = new URLVariables();
for (k in options) {
v = options[k];
if (!(v is Function)){
lv[k] = v;
};
};
server = lv.server;
delete lv.server;
hostname = _allowDomains(server);
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.lc = lc;
mc.lcName = name;
lv.lc = name;
lv.st = getTimer();
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
loader = new Loader();
g = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
MochiAd.unload(clip);
};
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g);
req = new URLRequest(((server + ".swf?cacheBust=") + new Date().getTime()));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:IOErrorEvent):void{
trace("[MochiAds] Blocked URL");
});
if (!options.skip){
loader.load(req);
};
mc.addChild(loader);
mc._mochiad_ctr = loader;
return (mc);
}
public static function runMethod(_arg1:Object, _arg2:String, _arg3:Array):Object{
var _local4:Array;
var _local5:Number;
_local4 = _arg2.split(".");
_local5 = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
if (typeof(_arg1[_local4[_local5]]) == "function"){
return (_arg1[_local4[_local5]].apply(_arg1, _arg3));
};
return (undefined);
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{
var _local4:MovieClip;
_local4 = new MovieClip();
if (((false) && (_arg3))){
_arg1.addChildAt(_local4, _arg3);
} else {
_arg1.addChild(_local4);
};
_arg1[_arg2] = _local4;
_local4["_name"] = _arg2;
return (_local4);
}
public static function _getRes(_arg1:Object, _arg2:Object):Array{
var _local3:Object;
var _local4:Number;
var _local5:Number;
var _local6:Array;
_local3 = _arg2.getBounds(_arg2.root);
_local4 = 0;
_local5 = 0;
if (typeof(_arg1.res) != "undefined"){
_local6 = _arg1.res.split("x");
_local4 = parseFloat(_local6[0]);
_local5 = parseFloat(_local6[1]);
} else {
_local4 = (_local3.xMax - _local3.xMin);
_local5 = (_local3.yMax - _local3.yMin);
};
if ((((_local4 == 0)) || ((_local5 == 0)))){
_local4 = _arg2.stage.stageWidth;
_local5 = _arg2.stage.stageHeight;
};
return ([_local4, _local5]);
}
public static function adShowing(_arg1:Object):void{
_arg1.origFrameRate = _arg1.stage.frameRate;
_arg1.stage.frameRate = 30;
}
public static function getValue(_arg1:Object, _arg2:String):Object{
var _local3:Array;
var _local4:Number;
_local3 = _arg2.split(".");
_local4 = 0;
while (_local4 < (_local3.length - 1)) {
if ((((_arg1[_local3[_local4]] == undefined)) || ((_arg1[_local3[_local4]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local3[_local4]];
_local4++;
};
return (_arg1[_local3[_local4]]);
}
public static function rpc(_arg1:Object, _arg2:Number, _arg3:Object):void{
var _local4:Object;
var _local5:Object;
switch (_arg3.id){
case "setValue":
MochiAd.setValue(_arg1, _arg3.objectName, _arg3.value);
break;
case "getValue":
_local4 = MochiAd.getValue(_arg1, _arg3.objectName);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local4);
break;
case "runMethod":
_local5 = MochiAd.runMethod(_arg1, _arg3.method, _arg3.args);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local5);
break;
default:
trace(("[mochiads rpc] unknown rpc id: " + _arg3.id));
};
}
public static function setValue(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Array;
var _local5:Number;
_local4 = _arg2.split(".");
_local5 = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return;
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
_arg1[_local4[_local5]] = _arg3;
}
public static function showPreGameAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var bar:MovieClip;
var bar_w:Number;
var bar_color:Number;
var bar_background:Number;
var bar_outline:Number;
var backing_mc:MovieClip;
var backing:Object;
var inside_mc:MovieClip;
var inside:Object;
var outline_mc:MovieClip;
var outline:Object;
var complete:Boolean;
var unloaded:Boolean;
var progress:Number;
var f:Function;
var sendHostProgress:Boolean;
var fn:Function;
var r:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}, ad_progress:function (_arg1:Number):void{
}, progress_override:function (_arg1:Object):Number{
return (NaN);
}, bar_offset:0};
options = MochiAd._parseOptions(options, DEFAULTS);
if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def"){
options.ad_started();
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
return;
};
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
if (options.skip){
ad_timeout = 0;
};
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
var fn:Function;
MochiAd._cleanup(mc);
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.x = (w * -0.5);
chk.y = (h * -0.5);
bar = createEmptyMovieClip(chk, "_mochiad_bar", 4);
if (options.no_progress_bar){
bar.visible = false;
delete options.no_progress_bar;
} else {
bar.x = (10 + options.bar_offset);
bar.y = (h - 20);
};
bar_w = ((w - bar.x) - 10);
bar_color = options.color;
delete options.color;
bar_background = options.background;
delete options.background;
bar_outline = options.outline;
delete options.outline;
backing_mc = createEmptyMovieClip(bar, "_outline", 1);
backing = backing_mc.graphics;
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo(bar_w, 0);
backing.lineTo(bar_w, 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
inside_mc = createEmptyMovieClip(bar, "_inside", 2);
inside = inside_mc.graphics;
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo(bar_w, 0);
inside.lineTo(bar_w, 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside_mc.scaleX = 0;
outline_mc = createEmptyMovieClip(bar, "_outline", 3);
outline = outline_mc.graphics;
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo(bar_w, 0);
outline.lineTo(bar_w, 10);
outline.lineTo(0, 10);
outline.lineTo(0, 0);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
complete = false;
unloaded = false;
progress = Math.min(1, options.progress_override(clip));
f = function (_arg1:Event):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
complete = true;
if (unloaded){
MochiAd.unload(clip);
};
};
if (!isNaN(progress)){
complete = (progress == 1);
} else {
if (clip.loaderInfo.bytesLoaded == clip.loaderInfo.bytesTotal){
complete = true;
} else {
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
} else {
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
};
} else {
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
};
};
};
mc.unloadAd = function ():void{
unloaded = true;
if (complete){
MochiAd.unload(clip);
};
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = _arg1;
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
mc.rpcTestFn = function (_arg1:String):Object{
trace(("[MOCHIAD rpcTestFn] " + _arg1));
return (_arg1);
};
sendHostProgress = false;
mc.sendHostLoadProgress = function (_arg1:String):void{
sendHostProgress = true;
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Object;
var _local3:Number;
var _local4:Boolean;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Object;
var _local11:Number;
var _local12:Number;
if (((!(this.parent)) || (!(this.parent.parent)))){
delete this["onEnterFrame"];
return;
};
_local1 = this.parent.parent.root;
_local2 = this.parent._mochiad_ctr;
_local3 = (getTimer() - this.started);
_local4 = false;
_local5 = _local1.loaderInfo.bytesTotal;
_local6 = _local1.loaderInfo.bytesLoaded;
_local7 = Math.min(1, options.progress_override(_local1));
if (_local7 == 1){
complete = true;
};
if (complete){
_local6 = Math.max(1, _local6);
_local5 = _local6;
};
_local8 = ((100 * _local6) / _local5);
if (!isNaN(_local7)){
_local8 = (100 * _local7);
};
_local9 = ((100 * _local3) / chk.ad_msec);
_local10 = this._mochiad_bar._inside;
_local11 = Math.min(100, Math.min(((_local8) || (0)), _local9));
_local11 = Math.max(this.last_pcnt, _local11);
this.last_pcnt = _local11;
_local10.scaleX = (_local11 * 0.01);
options.ad_progress(_local11);
if (sendHostProgress){
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local8});
if (_local8 >= 100){
sendHostProgress = false;
};
};
if (!chk.showing){
_local12 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local12 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if ((((_local3 > chk.ad_timeout)) && ((_local8 == 100)))){
options.ad_failed();
_local4 = true;
};
};
};
if (_local3 > chk.ad_msec){
_local4 = true;
};
if (((complete) && (_local4))){
if (unloaded){
MochiAd.unload(_local1);
} else {
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
};
doOnEnterFrame(chk);
}
public static function showPreloaderAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0");
MochiAd.showPreGameAd(_arg1);
}
public static function showTimedAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0");
MochiAd.showInterLevelAd(_arg1);
}
public static function doOnEnterFrame(_arg1:MovieClip):void{
var f:Function;
var mc = _arg1;
f = function (_arg1:Object):void{
if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){
mc.onEnterFrame();
} else {
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package mochi.as3
Section 32
//MochiCoins (mochi.as3.MochiCoins)
package mochi.as3 {
public class MochiCoins {
public static const STORE_HIDE:String = "StoreHide";
public static const NO_USER:String = "NoUser";
public static const IO_ERROR:String = "IOError";
public static const ITEM_NEW:String = "ItemNew";
public static const ITEM_OWNED:String = "ItemOwned";
public static const STORE_ITEMS:String = "StoreItems";
public static const ERROR:String = "Error";
public static const STORE_SHOW:String = "StoreShow";
public static var _inventory:MochiInventory;
public static function triggerEvent(_arg1:String, _arg2:Object):void{
MochiSocial.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
MochiSocial.removeEventListener(_arg1, _arg2);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
MochiSocial.addEventListener(_arg1, _arg2);
}
public static function getStoreItems():void{
MochiServices.send("coins_getStoreItems");
}
public static function get inventory():MochiInventory{
return (_inventory);
}
public static function showStore(_arg1:Object=null):void{
MochiServices.bringToTop();
MochiServices.send("coins_showStore", {options:_arg1}, null, null);
}
public static function showItem(_arg1:Object=null):void{
if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){
trace("ERROR: showItem call must pass an Object with an item key");
return;
};
MochiServices.bringToTop();
MochiServices.send("coins_showItem", {options:_arg1}, null, null);
}
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function showVideo(_arg1:Object=null):void{
if (((!(_arg1)) || (!((typeof(_arg1.item) == "string"))))){
trace("ERROR: showVideo call must pass an Object with an item key");
return;
};
MochiServices.bringToTop();
MochiServices.send("coins_showVideo", {options:_arg1}, null, null);
}
MochiSocial.addEventListener(MochiSocial.LOGGED_IN, function (_arg1:Object):void{
_inventory = new MochiInventory();
});
MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, function (_arg1:Object):void{
_inventory = null;
});
}
}//package mochi.as3
Section 33
//MochiDigits (mochi.as3.MochiDigits)
package mochi.as3 {
public final class MochiDigits {
private var Sibling:MochiDigits;
private var Fragment:Number;
private var Encoder:Number;
public function MochiDigits(_arg1:Number=0, _arg2:uint=0):void{
Encoder = 0;
setValue(_arg1, _arg2);
}
public function set value(_arg1:Number):void{
setValue(_arg1);
}
public function reencode():void{
var _local1:uint;
_local1 = int((2147483647 * Math.random()));
Fragment = (Fragment ^ (_local1 ^ Encoder));
Encoder = _local1;
}
public function toString():String{
var _local1:String;
_local1 = String.fromCharCode((Fragment ^ Encoder));
if (Sibling != null){
_local1 = (_local1 + Sibling.toString());
};
return (_local1);
}
public function get value():Number{
return (Number(this.toString()));
}
public function setValue(_arg1:Number=0, _arg2:uint=0):void{
var _local3:String;
_local3 = _arg1.toString();
var _temp1 = _arg2;
_arg2 = (_arg2 + 1);
Fragment = (_local3.charCodeAt(_temp1) ^ Encoder);
if (_arg2 < _local3.length){
Sibling = new MochiDigits(_arg1, _arg2);
} else {
Sibling = null;
};
reencode();
}
public function addValue(_arg1:Number):void{
value = (value + _arg1);
}
}
}//package mochi.as3
Section 34
//MochiEventDispatcher (mochi.as3.MochiEventDispatcher)
package mochi.as3 {
public class MochiEventDispatcher {
private var eventTable:Object;
public function MochiEventDispatcher():void{
eventTable = {};
}
public function triggerEvent(_arg1:String, _arg2:Object):void{
var _local3:Object;
if (eventTable[_arg1] == undefined){
return;
};
for (_local3 in eventTable[_arg1]) {
var _local6 = eventTable[_arg1];
_local6[_local3](_arg2);
};
}
public function removeEventListener(_arg1:String, _arg2:Function):void{
var _local3:Object;
if (eventTable[_arg1] == undefined){
eventTable[_arg1] = [];
return;
};
for (_local3 in eventTable[_arg1]) {
if (eventTable[_arg1][_local3] != _arg2){
} else {
eventTable[_arg1].splice(Number(_local3), 1);
};
};
}
public function addEventListener(_arg1:String, _arg2:Function):void{
removeEventListener(_arg1, _arg2);
eventTable[_arg1].push(_arg2);
}
}
}//package mochi.as3
Section 35
//MochiEvents (mochi.as3.MochiEvents)
package mochi.as3 {
import flash.display.*;
public class MochiEvents {
public static const ALIGN_BOTTOM_LEFT:String = "ALIGN_BL";
public static const FORMAT_LONG:String = "LongForm";
public static const ALIGN_BOTTOM:String = "ALIGN_B";
public static const ACHIEVEMENT_RECEIVED:String = "AchievementReceived";
public static const FORMAT_SHORT:String = "ShortForm";
public static const ALIGN_TOP_RIGHT:String = "ALIGN_TR";
public static const ALIGN_BOTTOM_RIGHT:String = "ALIGN_BR";
public static const ALIGN_TOP:String = "ALIGN_T";
public static const ALIGN_LEFT:String = "ALIGN_L";
public static const ALIGN_RIGHT:String = "ALIGN_R";
public static const ALIGN_TOP_LEFT:String = "ALIGN_TL";
public static const ALIGN_CENTER:String = "ALIGN_C";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
private static var gameStart:Number;
private static var levelStart:Number;
public static function endPlay():void{
MochiServices.send("events_clearRoundID", null, null, null);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function trackEvent(_arg1:String, _arg2=null):void{
MochiServices.send("events_trackEvent", {tag:_arg1, value:_arg2}, null, null);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
public static function startSession(_arg1:String):void{
MochiServices.send("events_beginSession", {achievementID:_arg1}, null, null);
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function setNotifications(_arg1:MovieClip, _arg2:Object):void{
var _local3:Object;
var _local4:Object;
_local3 = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
_local3.clip = _arg1;
MochiServices.send("events_setNotifications", _local3, null, null);
}
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function startPlay(_arg1:String="gameplay"):void{
MochiServices.send("events_setRoundID", {tag:String(_arg1)}, null, null);
}
}
}//package mochi.as3
Section 36
//MochiInventory (mochi.as3.MochiInventory)
package mochi.as3 {
import flash.events.*;
import flash.utils.*;
public dynamic class MochiInventory extends Proxy {
private var _timer:Timer;
private var _names:Array;
private var _consumableProperties:Object;
private var _syncID:Number;
private var _storeSync:Object;
private var _outstandingID:Number;
private var _syncPending:Boolean;
public static const READY:String = "InvReady";
public static const ERROR:String = "Error";
public static const IO_ERROR:String = "IoError";
private static const KEY_SALT:String = " syncMaint";
public static const WRITTEN:String = "InvWritten";
public static const NOT_READY:String = "InvNotReady";
public static const VALUE_ERROR:String = "InvValueError";
private static const CONSUMER_KEY:String = "MochiConsumables";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public function MochiInventory():void{
MochiCoins.addEventListener(MochiCoins.ITEM_OWNED, itemOwned);
MochiCoins.addEventListener(MochiCoins.ITEM_NEW, newItems);
MochiSocial.addEventListener(MochiSocial.LOGGED_IN, loggedIn);
MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, loggedOut);
_storeSync = new Object();
_syncPending = false;
_outstandingID = 0;
_syncID = 0;
_timer = new Timer(1000);
_timer.addEventListener(TimerEvent.TIMER, sync);
_timer.start();
if (MochiSocial.loggedIn){
loggedIn();
} else {
loggedOut();
};
}
private function newItems(_arg1:Object):void{
if (!this[(_arg1.id + KEY_SALT)]){
this[(_arg1.id + KEY_SALT)] = 0;
};
if (!this[_arg1.id]){
this[_arg1.id] = 0;
};
this[(_arg1.id + KEY_SALT)] = (this[(_arg1.id + KEY_SALT)] + _arg1.count);
this[_arg1.id] = (this[_arg1.id] + _arg1.count);
if (_arg1.privateProperties.consumable){
if (!this[_arg1.privateProperties.tag]){
this[_arg1.privateProperties.tag] = 0;
};
this[_arg1.privateProperties.tag] = (this[_arg1.privateProperties.tag] + (_arg1.privateProperties.inc * _arg1.count));
};
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){
if (_consumableProperties == null){
triggerEvent(ERROR, {type:NOT_READY});
return (-1);
};
if (_consumableProperties[_arg1]){
return (MochiDigits(_consumableProperties[_arg1]).value);
};
return (undefined);
}
public function release():void{
MochiCoins.removeEventListener(MochiCoins.ITEM_NEW, newItems);
MochiSocial.removeEventListener(MochiSocial.LOGGED_IN, loggedIn);
MochiSocial.removeEventListener(MochiSocial.LOGGED_OUT, loggedOut);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function hasProperty(_arg1):Boolean{
if (_consumableProperties == null){
triggerEvent(ERROR, {type:NOT_READY});
return (false);
};
if (_consumableProperties[_arg1] == undefined){
return (false);
};
return (true);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextNameIndex(_arg1:int):int{
return (((_arg1)>=_names.length) ? 0 : (_arg1 + 1));
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{
var _local3:MochiDigits;
if (_consumableProperties == null){
triggerEvent(ERROR, {type:NOT_READY});
return;
};
if (!(_arg2 is Number)){
triggerEvent(ERROR, {type:VALUE_ERROR, error:"Invalid type", arg:_arg2});
return;
};
if (_consumableProperties[_arg1]){
_local3 = MochiDigits(_consumableProperties[_arg1]);
if (_local3.value == _arg2){
return;
};
_local3.value = _arg2;
} else {
_names.push(_arg1);
_consumableProperties[_arg1] = new MochiDigits(_arg2);
};
_syncID++;
}
private function sync(_arg1:Event=null):void{
var _local2:Object;
var _local3:String;
if (((_syncPending) || ((_syncID == _outstandingID)))){
return;
};
_outstandingID = _syncID;
_local2 = {};
for (_local3 in _consumableProperties) {
_local2[_local3] = MochiDigits(_consumableProperties[_local3]).value;
};
MochiUserData.put(CONSUMER_KEY, _local2, putConsumableBag);
_syncPending = true;
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextName(_arg1:int):String{
return (_names[(_arg1 - 1)]);
}
private function loggedIn(_arg1:Object=null):void{
MochiUserData.get(CONSUMER_KEY, getConsumableBag);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function deleteProperty(_arg1):Boolean{
if (!_consumableProperties[_arg1]){
return (false);
};
_names.splice(_names.indexOf(_arg1), 1);
delete _consumableProperties[_arg1];
return (true);
}
private function itemOwned(_arg1:Object):void{
_storeSync[_arg1.id] = {properties:_arg1.properties, count:_arg1.count};
}
private function putConsumableBag(_arg1:MochiUserData):void{
_syncPending = false;
if (_arg1.error){
triggerEvent(ERROR, {type:IO_ERROR, error:_arg1.error});
_outstandingID = -1;
};
triggerEvent(WRITTEN, {});
}
private function getConsumableBag(_arg1:MochiUserData):void{
var _local2:String;
var _local3:Number;
if (_arg1.error){
triggerEvent(ERROR, {type:IO_ERROR, error:_arg1.error});
return;
};
_consumableProperties = {};
_names = new Array();
if (_arg1.data){
for (_local2 in _arg1.data) {
_names.push(_local2);
_consumableProperties[_local2] = new MochiDigits(_arg1.data[_local2]);
};
};
for (_local2 in _storeSync) {
_local3 = _storeSync[_local2].count;
if (_consumableProperties[(_local2 + KEY_SALT)]){
_local3 = (_local3 - _consumableProperties[_local2]);
};
if (_local3 == 0){
} else {
newItems({id:_local2, count:_local3, properties:_storeSync[_local2].properties});
};
};
triggerEvent(READY, {});
}
private function loggedOut(_arg1:Object=null):void{
_consumableProperties = null;
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
}
}//package mochi.as3
Section 37
//MochiServices (mochi.as3.MochiServices)
package mochi.as3 {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.geom.*;
import flash.system.*;
public class MochiServices {
private static var _container:Object;
private static var _connected:Boolean = false;
private static var _queue:Array;
private static var _swfVersion:String;
private static var _preserved:Object;
public static var netupAttempted:Boolean = false;
private static var _sendChannel:LocalConnection;
public static var servicesSync:MochiSync = new MochiSync();
private static var _nextCallbackID:Number;
private static var _clip:MovieClip;
private static var _id:String;
private static var _services:String = "services.swf";
private static var _servURL:String = "http://www.mochiads.com/static/lib/services/";
public static var widget:Boolean = false;
private static var _timer:Timer;
private static var _sendChannelName:String;
private static var _loader:Loader;
private static var _callbacks:Object;
private static var _connecting:Boolean = false;
private static var _mochiLocalConnection:MovieClip;
private static var _listenChannelName:String = "__ms_";
public static var onError:Object;
public static var netup:Boolean = true;
private static var _mochiLC:String = "MochiLC.swf";
public static function isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function get connected():Boolean{
return (_connected);
}
private static function onReceive(_arg1:Object):void{
var cb:String;
var cblst:Object;
var method:*;
var methodName:String;
var obj:Object;
var pkg = _arg1;
cb = pkg.callbackID;
cblst = _callbacks[cb];
if (!cblst){
return;
};
method = cblst.callbackMethod;
methodName = "";
obj = cblst.callbackObject;
if (((obj) && ((typeof(method) == "string")))){
methodName = method;
if (obj[method] != null){
method = obj[method];
} else {
trace((("Error: Method " + method) + " does not exist."));
};
};
if (method != undefined){
try {
method.apply(obj, pkg.args);
} catch(error:Error) {
trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString()));
};
} else {
if (obj != null){
try {
obj(pkg.args);
} catch(error:Error) {
trace(("Error invoking method on object: " + error.toString()));
};
};
};
delete _callbacks[cb];
}
public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{
if (_connected){
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_nextCallbackID});
} else {
if ((((_clip == null)) || (!(_connecting)))){
trace(("Error: MochiServices not connected. Please call MochiServices.connect(). Function: " + _arg1));
handleError(_arg2, _arg3, _arg4);
flush(true);
return;
};
_queue.push({methodName:_arg1, args:_arg2, callbackID:_nextCallbackID});
};
if (_clip != null){
if (_callbacks != null){
_callbacks[_nextCallbackID] = {callbackObject:_arg3, callbackMethod:_arg4};
_nextCallbackID++;
};
};
}
private static function init(_arg1:String, _arg2:Object):void{
_id = _arg1;
if (_arg2 != null){
_container = _arg2;
loadCommunicator(_arg1, _container);
};
}
public static function get childClip():Object{
return (_clip);
}
private static function clickMovie(_arg1:String, _arg2:Function):MovieClip{
var _local3:Array;
var _local4:int;
var _local5:Array;
var _local6:Array;
var _local7:MovieClip;
var _local8:LocalConnection;
var _local9:String;
var _local10:ByteArray;
var _local11:ByteArray;
var _local12:uint;
var _local13:uint;
var _local14:Loader;
_local3 = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23];
_local5 = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3];
_local6 = [0, 64, 0, 0, 0];
_local7 = new MovieClip();
_local8 = new LocalConnection();
_local9 = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().time));
_local8 = new LocalConnection();
_local7.lc = _local8;
_local7.click = _arg2;
_local8.client = _local7;
_local8.connect(_local9);
_local10 = new ByteArray();
_local11 = new ByteArray();
_local11.endian = Endian.LITTLE_ENDIAN;
_local11.writeShort(1);
_local11.writeUTFBytes(((_arg1 + " ") + _local9));
_local11.writeByte(0);
_local12 = ((_local3.length + _local11.length) + 4);
_local13 = (_local12 + 35);
_local10.endian = Endian.LITTLE_ENDIAN;
_local10.writeUTFBytes("FWS");
_local10.writeByte(8);
_local10.writeUnsignedInt(_local13);
for each (_local4 in _local5) {
_local10.writeByte(_local4);
};
_local10.writeUnsignedInt(_local12);
_local10.writeByte(136);
_local10.writeShort(_local11.length);
_local10.writeBytes(_local11);
for each (_local4 in _local3) {
_local10.writeByte(_local4);
};
for each (_local4 in _local6) {
_local10.writeByte(_local4);
};
_local14 = new Loader();
_local14.loadBytes(_local10);
_local7.addChild(_local14);
return (_local7);
}
public static function stayOnTop():void{
_container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true);
if (_clip != null){
_clip.visible = true;
};
}
public static function addLinkEvent(_arg1:String, _arg2:String, _arg3:DisplayObjectContainer, _arg4:Function=null):void{
var vars:Object;
var avm1Click:DisplayObject;
var s:String;
var i:Number;
var x:String;
var req:URLRequest;
var loader:Loader;
var setURL:Function;
var err:Function;
var complete:Function;
var url = _arg1;
var burl = _arg2;
var btn = _arg3;
var onClick = _arg4;
vars = new Object();
vars["mav"] = getVersion();
vars["swfv"] = "9";
vars["swfurl"] = btn.loaderInfo.loaderURL;
vars["fv"] = Capabilities.version;
vars["os"] = Capabilities.os;
vars["lang"] = Capabilities.language;
vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY);
s = "?";
i = 0;
for (x in vars) {
if (i != 0){
s = (s + "&");
};
i = (i + 1);
s = (((s + x) + "=") + escape(vars[x]));
};
req = new URLRequest("http://x.mochiads.com/linkping.swf");
loader = new Loader();
setURL = function (_arg1:String):void{
var _local2:Rectangle;
if (avm1Click){
btn.removeChild(avm1Click);
};
avm1Click = clickMovie(_arg1, onClick);
_local2 = btn.getBounds(btn);
btn.addChild(avm1Click);
avm1Click.x = _local2.x;
avm1Click.y = _local2.y;
avm1Click.scaleX = (0.01 * _local2.width);
avm1Click.scaleY = (0.01 * _local2.height);
};
err = function (_arg1:Object):void{
netup = false;
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
setURL(burl);
};
complete = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
if (netup){
setURL((url + s));
} else {
setURL(burl);
};
if (!((netupAttempted) || (_connected))){
netupAttempted = true;
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
loader.load(req);
};
}
public static function disconnect():void{
if (((_connected) || (_connecting))){
if (_clip != null){
if (_clip.parent != null){
if ((_clip.parent is Sprite)){
Sprite(_clip.parent).removeChild(_clip);
_clip = null;
};
};
};
_connecting = (_connected = false);
flush(true);
try {
_mochiLocalConnection.close();
} catch(error:Error) {
};
};
if (_timer != null){
try {
_timer.stop();
} catch(error:Error) {
};
};
}
public static function allowDomains(_arg1:String):String{
var _local2:String;
if (Security.sandboxType != "application"){
Security.allowDomain("*");
Security.allowInsecureDomain("*");
};
if (_arg1.indexOf("http://") != -1){
_local2 = _arg1.split("/")[2].split(":")[0];
if (Security.sandboxType != "application"){
Security.allowDomain(_local2);
Security.allowInsecureDomain(_local2);
};
};
return (_local2);
}
public static function getVersion():String{
return ("3.8 as3");
}
public static function doClose():void{
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
}
public static function warnID(_arg1:String, _arg2:Boolean):void{
var _local3:Number;
_arg1 = _arg1.toLowerCase();
if (_arg1.length != 16){
trace((("WARNING: " + (_arg2) ? "board" : "game") + " ID is not the appropriate length"));
return;
} else {
if (_arg1 == "1e113c7239048b3f"){
if (_arg2){
trace("WARNING: Using testing board ID");
} else {
trace("WARNING: Using testing board ID as game ID");
};
return;
} else {
if (_arg1 == "84993a1de4031cd8"){
if (_arg2){
trace("WARNING: Using testing game ID as board ID");
} else {
trace("WARNING: Using testing game ID");
};
return;
};
};
};
_local3 = 0;
while (_local3 < _arg1.length) {
switch (_arg1.charAt(_local3)){
case "0":
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
case "a":
case "b":
case "c":
case "d":
case "e":
case "f":
break;
default:
trace(("WARNING: Board ID contains illegal characters: " + _arg1));
return;
};
_local3++;
};
}
private static function flush(_arg1:Boolean):void{
var _local2:Object;
var _local3:Object;
if (((_clip) && (_queue))){
while (_queue.length > 0) {
_local2 = _queue.shift();
_local3 = null;
if (_local2 != null){
if (_local2.callbackID != null){
_local3 = _callbacks[_local2.callbackID];
};
delete _callbacks[_local2.callbackID];
if (((_arg1) && (!((_local3 == null))))){
handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod);
};
};
};
};
}
public static function get id():String{
return (_id);
}
private static function onEvent(_arg1:Object):void{
var _local2:String;
var _local3:String;
_local2 = _arg1.target;
_local3 = _arg1.event;
switch (_local2){
case "events":
MochiEvents.triggerEvent(_arg1.event, _arg1.args);
break;
case "coins":
MochiCoins.triggerEvent(_arg1.event, _arg1.args);
break;
case "sync":
servicesSync.triggerEvent(_arg1.event, _arg1.args);
break;
};
}
private static function urlOptions(_arg1:Object):Object{
var _local2:Object;
var _local3:String;
var _local4:Array;
var _local5:Number;
var _local6:Array;
_local2 = {};
if (_arg1.stage){
_local3 = _arg1.stage.loaderInfo.parameters.mochiad_options;
} else {
_local3 = _arg1.loaderInfo.parameters.mochiad_options;
};
if (_local3){
_local4 = _local3.split("&");
_local5 = 0;
while (_local5 < _local4.length) {
_local6 = _local4[_local5].split("=");
_local2[unescape(_local6[0])] = unescape(_local6[1]);
_local5++;
};
};
return (_local2);
}
public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{
if (_clip.parent){
_clip.parent.removeChild(_clip);
};
if (_arg1 != null){
if ((_arg1 is DisplayObjectContainer)){
_container = _arg1;
};
};
if (_arg2){
if ((_container is DisplayObjectContainer)){
DisplayObjectContainer(_container).addChild(_clip);
};
};
}
private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{
var args = _arg1;
var callbackObject = _arg2;
var callbackMethod = _arg3;
if (args != null){
if (args.onError != null){
args.onError.apply(null, ["NotConnected"]);
};
if (((!((args.options == null))) && (!((args.options.onError == null))))){
args.options.onError.apply(null, ["NotConnected"]);
};
};
if (callbackMethod != null){
args = {};
args.error = true;
args.errorCode = "NotConnected";
if (((!((callbackObject == null))) && ((callbackMethod is String)))){
try {
var _local5 = callbackObject;
_local5[callbackMethod](args);
} catch(error:Error) {
};
} else {
if (callbackMethod != null){
try {
callbackMethod.apply(args);
} catch(error:Error) {
};
};
};
};
}
private static function loadError(_arg1:Object):void{
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
MochiServices.disconnect();
MochiServices.onError("IOError");
}
private static function initComChannels():void{
if (!_connected){
trace("[SERVICES_API] connected!");
_connecting = false;
_connected = true;
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"registerGame", preserved:_preserved, id:_id, version:getVersion(), parentURL:_container.loaderInfo.loaderURL});
_clip.onReceive = onReceive;
_clip.onEvent = onEvent;
_clip.onError = function ():void{
MochiServices.onError("IOError");
};
while (_queue.length > 0) {
_mochiLocalConnection.send(_sendChannelName, "onReceive", _queue.shift());
};
};
}
private static function loadLCBridge(_arg1:Object):void{
var loader:Loader;
var mochiLCURL:String;
var req:URLRequest;
var complete:Function;
var clip = _arg1;
loader = new Loader();
mochiLCURL = (_servURL + _mochiLC);
req = new URLRequest(mochiLCURL);
complete = function (_arg1:Object):void{
_mochiLocalConnection = MovieClip(loader.content);
listen();
};
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
loader.load(req);
clip.addChild(loader);
}
private static function listen():void{
_mochiLocalConnection.connect(_listenChannelName);
_clip.handshake = function (_arg1:Object):void{
MochiServices.comChannelName = _arg1.newChannel;
};
trace("Waiting for MochiAds services to connect...");
}
public static function get clip():Object{
return (_container);
}
public static function set comChannelName(_arg1:String):void{
if (_arg1 != null){
if (_arg1.length > 3){
_sendChannelName = (_arg1 + "_fromgame");
initComChannels();
};
};
}
private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{
var _local3:String;
var _local4:URLRequest;
var _local5:URLVariables;
if (_clip != null){
return (_clip);
};
if (!MochiServices.isNetworkAvailable()){
return (null);
};
if (urlOptions(_arg2).servURL){
_servURL = urlOptions(_arg2).servURL;
};
_local3 = (_servURL + _services);
if (urlOptions(_arg2).servicesURL){
_local3 = urlOptions(_arg2).servicesURL;
};
_listenChannelName = (_listenChannelName + ((Math.floor(new Date().time) + "_") + Math.floor((Math.random() * 99999))));
MochiServices.allowDomains(_local3);
_clip = new MovieClip();
loadLCBridge(_clip);
_loader = new Loader();
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
_local4 = new URLRequest(_local3);
_local5 = new URLVariables();
_local5.listenLC = _listenChannelName;
_local5.mochiad_options = _arg2.loaderInfo.parameters.mochiad_options;
_local5.api_version = getVersion();
if (widget){
_local5.widget = true;
};
_local4.data = _local5;
_loader.load(_local4);
_clip.addChild(_loader);
_sendChannel = new LocalConnection();
_queue = [];
_nextCallbackID = 0;
_callbacks = {};
_timer = new Timer(10000, 1);
_timer.addEventListener(TimerEvent.TIMER, connectWait);
_timer.start();
return (_clip);
}
public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{
var id = _arg1;
var clip = _arg2;
var onError = _arg3;
warnID(id, false);
if ((clip is DisplayObject)){
if (clip.stage == null){
trace("MochiServices connect requires the containing clip be attached to the stage");
};
if (((!(_connected)) && ((_clip == null)))){
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
};
} else {
trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage.");
};
if (onError != null){
MochiServices.onError = onError;
} else {
if (MochiServices.onError == null){
MochiServices.onError = function (_arg1:String):void{
trace(_arg1);
};
};
};
}
public static function updateCopy(_arg1:Object):void{
MochiServices.send("coins_updateCopy", _arg1, null, null);
}
public static function bringToTop(_arg1:Event=null):void{
var e = _arg1;
if (((!((MochiServices.clip == null))) && (!((MochiServices.childClip == null))))){
try {
if (MochiServices.clip.numChildren > 1){
MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1));
};
} catch(errorObject:Error) {
trace("Warning: Depth sort error.");
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
};
};
}
public static function connectWait(_arg1:TimerEvent):void{
if (!_connected){
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load. (timeout)");
MochiServices.disconnect();
MochiServices.onError("IOError");
};
}
}
}//package mochi.as3
Section 38
//MochiSocial (mochi.as3.MochiSocial)
package mochi.as3 {
public class MochiSocial {
public static const LOGGED_IN:String = "LoggedIn";
public static const PROFILE_HIDE:String = "ProfileHide";
public static const NO_USER:String = "NoUser";
public static const PROPERTIES_SIZE:String = "PropertiesSize";
public static const IO_ERROR:String = "IOError";
public static const PROPERTIES_SAVED:String = "PropertySaved";
public static const WIDGET_LOADED:String = "WidgetLoaded";
public static const USER_INFO:String = "UserInfo";
public static const ERROR:String = "Error";
public static const LOGIN_SHOW:String = "LoginShow";
public static const LOGGED_OUT:String = "LoggedOut";
public static const PROFILE_SHOW:String = "ProfileShow";
public static const LOGIN_SHOWN:String = "LoginShown";
public static const LOGIN_HIDE:String = "LoginHide";
private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher();
public static var _user_info:Object = null;
public static function getVersion():String{
return (MochiServices.getVersion());
}
public static function saveUserProperties(_arg1:Object):void{
MochiServices.send("coins_saveUserProperties", _arg1);
}
public static function get loggedIn():Boolean{
return (!((_user_info == null)));
}
public static function triggerEvent(_arg1:String, _arg2:Object):void{
_dispatcher.triggerEvent(_arg1, _arg2);
}
public static function addEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.addEventListener(_arg1, _arg2);
}
public static function getUserInfo():void{
MochiServices.send("coins_getUserInfo");
}
public static function showLoginWidget(_arg1:Object=null):void{
MochiServices.setContainer();
MochiServices.bringToTop();
MochiServices.send("coins_showLoginWidget", {options:_arg1});
}
public static function removeEventListener(_arg1:String, _arg2:Function):void{
_dispatcher.removeEventListener(_arg1, _arg2);
}
public static function requestLogin():void{
MochiServices.send("coins_requestLogin");
}
public static function getAPIURL():String{
if (!_user_info){
return (null);
};
return (_user_info.api_url);
}
public static function hideLoginWidget():void{
MochiServices.send("coins_hideLoginWidget");
}
public static function getAPIToken():String{
if (!_user_info){
return (null);
};
return (_user_info.api_token);
}
MochiSocial.addEventListener(MochiSocial.LOGGED_IN, function (_arg1:Object):void{
_user_info = _arg1;
});
MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, function (_arg1:Object):void{
_user_info = null;
});
}
}//package mochi.as3
Section 39
//MochiSync (mochi.as3.MochiSync)
package mochi.as3 {
import flash.utils.*;
public dynamic class MochiSync extends Proxy {
private var _syncContainer:Object;
public static var SYNC_PROPERTY:String = "UpdateProperty";
public static var SYNC_REQUEST:String = "SyncRequest";
public function MochiSync():void{
_syncContainer = {};
}
public function triggerEvent(_arg1:String, _arg2:Object):void{
switch (_arg1){
case SYNC_REQUEST:
MochiServices.send("sync_syncronize", _syncContainer);
break;
case SYNC_PROPERTY:
_syncContainer[_arg2.name] = _arg2.value;
break;
};
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){
return (_syncContainer[_arg1]);
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{
var _local3:String;
if (_syncContainer[_arg1] == _arg2){
return;
};
_local3 = _arg1.toString();
_syncContainer[_local3] = _arg2;
MochiServices.send("sync_propUpdate", {name:_local3, value:_arg2});
}
}
}//package mochi.as3
Section 40
//MochiUserData (mochi.as3.MochiUserData)
package mochi.as3 {
import flash.events.*;
import flash.utils.*;
import flash.net.*;
public class MochiUserData extends EventDispatcher {
public var callback:Function;// = null
public var error:Event;// = null
public var key:String;// = null
public var operation:String;// = null
public var data;// = null
public var _loader:URLLoader;
public function MochiUserData(_arg1:String="", _arg2:Function=null){
key = null;
data = null;
error = null;
operation = null;
callback = null;
super();
this.key = _arg1;
this.callback = _arg2;
}
public function securityErrorHandler(_arg1:SecurityErrorEvent):void{
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + _arg1.toString())));
}
public function putEvent(_arg1):void{
request("put", serialize(_arg1));
}
public function request(_arg1:String, _arg2:ByteArray):void{
var api_url:String;
var api_token:String;
var args:URLVariables;
var req:URLRequest;
var _operation = _arg1;
var _data = _arg2;
operation = _operation;
api_url = MochiSocial.getAPIURL();
api_token = MochiSocial.getAPIToken();
if ((((api_url == null)) || ((api_token == null)))){
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, "not logged in"));
return;
};
_loader = new URLLoader();
args = new URLVariables();
args.op = _operation;
args.key = key;
req = new URLRequest((((MochiSocial.getAPIURL() + "/") + "MochiUserData?") + args.toString()));
req.method = URLRequestMethod.POST;
req.contentType = "application/x-mochi-userdata";
req.requestHeaders = [new URLRequestHeader("x-mochi-services-version", MochiServices.getVersion()), new URLRequestHeader("x-mochi-api-token", api_token)];
req.data = _data;
_loader.dataFormat = URLLoaderDataFormat.BINARY;
_loader.addEventListener(Event.COMPLETE, completeHandler);
_loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
_loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
try {
_loader.load(req);
} catch(e:SecurityError) {
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + e.toString())));
};
}
public function completeHandler(_arg1:Event):void{
var event = _arg1;
try {
if (_loader.data.length){
data = deserialize(_loader.data);
} else {
data = null;
};
} catch(e:Error) {
errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("deserialize error: " + e.toString())));
return;
};
if (callback != null){
performCallback();
} else {
dispatchEvent(event);
};
close();
}
public function performCallback():void{
try {
callback(this);
} catch(e:Error) {
trace(("[MochiUserData] exception during callback: " + e));
};
}
public function serialize(_arg1):ByteArray{
var _local2:ByteArray;
_local2 = new ByteArray();
_local2.objectEncoding = ObjectEncoding.AMF3;
_local2.writeObject(_arg1);
_local2.compress();
return (_local2);
}
public function errorHandler(_arg1:IOErrorEvent):void{
data = null;
error = _arg1;
if (callback != null){
performCallback();
} else {
dispatchEvent(_arg1);
};
close();
}
public function getEvent():void{
request("get", serialize(null));
}
override public function toString():String{
return ((((((((("[MochiUserData operation=" + operation) + " key=\"") + key) + "\" data=") + data) + " error=\"") + error) + "\"]"));
}
public function close():void{
if (_loader){
_loader.removeEventListener(Event.COMPLETE, completeHandler);
_loader.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler);
_loader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
_loader.close();
_loader = null;
};
error = null;
callback = null;
}
public function deserialize(_arg1:ByteArray){
_arg1.objectEncoding = ObjectEncoding.AMF3;
_arg1.uncompress();
return (_arg1.readObject());
}
public static function get(_arg1:String, _arg2:Function):void{
var _local3:MochiUserData;
_local3 = new MochiUserData(_arg1, _arg2);
_local3.getEvent();
}
public static function put(_arg1:String, _arg2, _arg3:Function):void{
var _local4:MochiUserData;
_local4 = new MochiUserData(_arg1, _arg3);
_local4.putEvent(_arg2);
}
}
}//package mochi.as3
Section 41
//GameMC_87 (WITCHTRAPESCAPE_fla.GameMC_87)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class GameMC_87 extends MovieClip {
public var mhit:MovieClip;
public var caveshot:MovieClip;
public var chumma:MovieClip;
public var bat:MovieClip;
public var c1shot:MovieClip;
public var c1:MovieClip;
public var c3:MovieClip;
public var c2:MovieClip;
public var c4:MovieClip;
public var fkey:MovieClip;
public var broom:MovieClip;
public var timePlate:MovieClip;
public var pyramidshot:MovieClip;
public var d1:MovieClip;
public var d2:MovieClip;
public var blue:MovieClip;
public var falls:MovieClip;
public var a:MovieClip;
public var stone:MovieClip;
public var d3:MovieClip;
public var hitmc:MovieClip;
public var j;
public var k;
public var l;
public var hand:MovieClip;
public var i;
public var owlshot:MovieClip;
public var dd:MovieClip;
public var red:MovieClip;
public var skeleton:MovieClip;
public var wormshot:MovieClip;
public var g2:MovieClip;
public var g3:MovieClip;
public var g4:MovieClip;
public var info:TextField;
public var g1:MovieClip;
public var pauseBut:SimpleButton;
public var cavedoor:MovieClip;
public var dollshot:MovieClip;
public var gate6:MovieClip;
public var carpet:MovieClip;
public var wheelshot:MovieClip;
public var gndshot:MovieClip;
public var gg:MovieClip;
public var index:Number;
public var hitmc1:MovieClip;
public var mhit1:MovieClip;
public var leftbtn:SimpleButton;
public var soundButton:MovieClip;
public var magicball:MovieClip;
public var brown:MovieClip;
public var g4shot:MovieClip;
public var draw:MovieClip;
public var snake:MovieClip;
public var pyramidshot1:MovieClip;
public var pyramid:MovieClip;
public var fhit:MovieClip;
public var froghit:MovieClip;
public var doorshot1:MovieClip;
public var index1:Number;
public var logo:SimpleButton;
public var headhit:MovieClip;
public var key4:MovieClip;
public var main:MovieClip;
public var rod:MovieClip;
public var loghit:MovieClip;
public var box:MovieClip;
public var cshot:MovieClip;
public var keyhit4:MovieClip;
public var rhit:MovieClip;
public var chit1:MovieClip;
public var khit1:MovieClip;
public var pinhit1:MovieClip;
public var pinhit3:MovieClip;
public var pinhit2:MovieClip;
public var handle:MovieClip;
public var pauseMc:MovieClip;
public var s2:MovieClip;
public var window3:MovieClip;
public var window4:MovieClip;
public var window5:MovieClip;
public var door4:MovieClip;
public var window1:MovieClip;
public var window2:MovieClip;
public var bonehit:MovieClip;
public var snakehit:MovieClip;
public var drawshot:MovieClip;
public var pot:MovieClip;
public var ss:MovieClip;
public var pumpkinshot:MovieClip;
public var wthrough:SimpleButton;
public var downbtn:SimpleButton;
public var glassshot1:MovieClip;
public var graveshot:MovieClip;
public var lastshot:MovieClip;
public var cdoor:MovieClip;
public var spiderhit:MovieClip;
public var glasshit:MovieClip;
public var hat:MovieClip;
public var knife:MovieClip;
public var c4shot:MovieClip;
public var lastmc:MovieClip;
public var dust:MovieClip;
public var graveyard:MovieClip;
public var bone:MovieClip;
public var rightbtn:SimpleButton;
public var displayshot:MovieClip;
public var potshot:MovieClip;
public var spider:MovieClip;
public var dbox:MovieClip;
public var book:MovieClip;
public var ebroom:MovieClip;
public var worm:MovieClip;
public var skullhit:MovieClip;
public var keyholeshot:MovieClip;
public var speedControl:MovieClip;
public var knifeshot:MovieClip;
public var hathit:MovieClip;
public var c3shot:MovieClip;
public var plate:MovieClip;
public var brush:MovieClip;
public var log:MovieClip;
public var boxshot:MovieClip;
public var doll:MovieClip;
public var times:TextField;
public var fallsshot:MovieClip;
public var wheel:MovieClip;
public var skull:MovieClip;
public var bathit:MovieClip;
public var pumpkin:MovieClip;
public var owl:MovieClip;
public var hookhit:MovieClip;
public var darkmc:MovieClip;
public var frog:MovieClip;
public var lhit:MovieClip;
public var c2shot:MovieClip;
public var mirror:MovieClip;
public var catshot:MovieClip;
public var skullshot:MovieClip;
public var ghit1:MovieClip;
public var ghit2:MovieClip;
public var devil:MovieClip;
public function GameMC_87(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 16, frame17, 17, frame18, 18, frame19, 20, frame21, 21, frame22, 24, frame25, 27, frame28, 28, frame29, 29, frame30, 32, frame33, 33, frame34, 34, frame35, 36, frame37, 39, frame40, 40, frame41, 41, frame42, 42, frame43, 43, frame44, 44, frame45, 47, frame48, 48, frame49, 49, frame50);
}
public function doorshot1fn(_arg1:MouseEvent){
doorshot1.removeEventListener(MouseEvent.CLICK, doorshot1fn);
gotoAndStop("doorzoom1");
}
public function knifeshotfn(_arg1:MouseEvent){
knifeshot.removeEventListener(MouseEvent.CLICK, knifeshotfn);
gotoAndStop("knifezoom");
}
public function back2(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back2);
gotoAndStop("1stview");
}
public function back3(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back3);
gotoAndStop("1stview");
}
public function back4(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back4);
gotoAndStop("1stview");
}
public function back9(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back9);
gotoAndStop("dollzoom");
}
public function back5(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back5);
gotoAndStop("1stview");
}
public function back7(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back7);
gotoAndStop("1stview");
}
public function back8(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back8);
if (!Witch.pin){
speedControl.sp1.removeEventListener(MouseEvent.MOUSE_UP, sp3fn1);
speedControl.sp2.removeEventListener(MouseEvent.MOUSE_UP, sp3fn21);
speedControl.sp3.removeEventListener(MouseEvent.MOUSE_UP, sp3fn2);
};
gotoAndStop("1stview");
}
public function g3fn1(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
g3.removeEventListener(MouseEvent.CLICK, g3fn1);
g3.visible = false;
speedControl.sg3.visible = true;
Witch.isg3 = true;
}
public function g4shotfn(_arg1:MouseEvent){
g4shot.removeEventListener(MouseEvent.CLICK, g4shotfn);
gotoAndStop("g4zoom");
}
public function back1(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back1);
gotoAndStop("1stview");
}
public function back6(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back6);
gotoAndStop("1stview");
}
function frame10(){
stop();
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back2);
if (!Witch.key1used){
speedControl.skey1.addEventListener(MouseEvent.MOUSE_UP, skey1fn2);
};
}
public function wheelshotfn(_arg1:MouseEvent){
wheelshot.removeEventListener(MouseEvent.CLICK, wheelshotfn);
gotoAndStop("wheelzoom");
}
function frame18(){
stop();
if (((!(Witch.mirrorused)) || (Witch.brickused))){
mirror.visible = false;
};
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back11);
if (!Witch.isg3){
g3.addEventListener(MouseEvent.CLICK, g3fn1);
};
if (Witch.isg3){
g3.visible = false;
};
pyramidshot1.addEventListener(MouseEvent.CLICK, pyfna);
if (!Witch.mirrorused){
speedControl.smirror.addEventListener(MouseEvent.MOUSE_UP, smirrorfn);
};
if (Witch.mirrorused){
mirror.gotoAndStop(6);
pyramid.gotoAndStop(44);
};
}
function frame1(){
stop();
Witch.infoText = info;
chumma.addEventListener(MouseEvent.CLICK, mfn);
if (((Witch.iscat) && (!(Witch.isg1a)))){
main.rays.gotoAndStop(6);
main.cat.gotoAndStop(30);
};
if (Witch.isg1a){
main.rays.gotoAndStop(1);
main.cat.gotoAndStop(30);
};
if (Witch.islog){
main.log.visible = false;
};
if (((Witch.key1used) && (!(Witch.once)))){
Witch.once = true;
keyholeshot.parent.removeChild(keyholeshot);
if (Witch.isg1a){
glasshit.addEventListener(MouseEvent.CLICK, stonefn);
};
boxshot.addEventListener(MouseEvent.CLICK, boxfn);
dollshot.addEventListener(MouseEvent.CLICK, dollfn);
cshot.addEventListener(MouseEvent.CLICK, cshotfn);
if (!Witch.islog){
loghit.addEventListener(MouseEvent.CLICK, loghitfn);
};
Witch.displayText(loghit, "Wooden Plank");
main.gate.gotoAndPlay(2);
} else {
if (Witch.once){
if (keyholeshot){
keyholeshot.parent.removeChild(keyholeshot);
};
if (Witch.isg1a){
glasshit.addEventListener(MouseEvent.CLICK, stonefn);
};
boxshot.addEventListener(MouseEvent.CLICK, boxfn);
dollshot.addEventListener(MouseEvent.CLICK, dollfn);
cshot.addEventListener(MouseEvent.CLICK, cshotfn);
if (!Witch.islog){
loghit.addEventListener(MouseEvent.CLICK, loghitfn);
};
Witch.displayText(loghit, "Wooden Plank");
main.gate.gotoAndStop(35);
};
};
if (Witch.isbox){
main.box.gotoAndStop(2);
};
if (Witch.key2used){
main.cdoor.gotoAndStop(21);
};
if (Witch.pin){
main.red.visible = false;
main.brown.visible = false;
main.blue.visible = false;
main.doll.gotoAndStop(16);
};
if (!Witch.pin){
if (Witch.redpin){
main.red.gotoAndStop(2);
};
if (Witch.brownpin){
main.brown.gotoAndStop(2);
};
if (Witch.bluepin){
main.blue.gotoAndStop(2);
};
};
Witch.displayText(glassshot1, "Glass pieces");
glassshot1.addEventListener(MouseEvent.CLICK, glassshot1fn);
keyholeshot.addEventListener(MouseEvent.CLICK, keyholeshotfn);
catshot.addEventListener(MouseEvent.CLICK, catshotfn);
if (Witch.key1used){
wormshot.addEventListener(MouseEvent.CLICK, wormshotfn);
};
if (((!(Witch.iscat)) && (!(Witch.key1used)))){
speedControl.sg1.addEventListener(MouseEvent.MOUSE_UP, sg1fn2);
};
wthrough.addEventListener(MouseEvent.CLICK, gotowthrough);
logo.addEventListener(MouseEvent.CLICK, gotoBee123);
stage.addEventListener(MouseEvent.MOUSE_UP, clearText);
pauseBut.addEventListener(MouseEvent.CLICK, pauseFun);
}
function frame3(){
stop();
Witch.displayText(graveshot, "Coffin");
Witch.displayText(skullshot, "Skeleton");
Witch.displayText(wheelshot, "Gear Head");
Witch.displayText(owlshot, "Owl Sculpture");
bone.visible = false;
if (Witch.boneused){
hand.gotoAndStop(20);
};
if (Witch.isbrush){
brush.visible = false;
};
if (Witch.brushused){
wheel.gotoAndStop(70);
};
if (Witch.iss1){
owl.s1.visible = false;
};
if (Witch.isowlhead){
owl.head.gotoAndStop(9);
graveyard.gotoAndStop(14);
};
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back15);
skullshot.addEventListener(MouseEvent.CLICK, skullshotfn);
owlshot.addEventListener(MouseEvent.CLICK, owlshotfn);
graveshot.addEventListener(MouseEvent.CLICK, graveshotfn);
wheelshot.addEventListener(MouseEvent.CLICK, wheelshotfn);
}
function frame5(){
stop();
Witch.displayText(displayshot, "Crystal Ball");
Witch.displayText(drawshot, "Antique Table");
if (((((((!(Witch.isc1)) || (!(Witch.isc2)))) || (!(Witch.isc3)))) || (!(Witch.isc4)))){
Witch.displayText(c1shot, "Candle");
Witch.displayText(c2shot, "Candle");
Witch.displayText(c3shot, "Candle");
Witch.displayText(c4shot, "Candle");
};
if (!Witch.isgate6){
gate6.visible = false;
};
if (!Witch.candlekept){
l = 1;
while (l <= 4) {
draw[("c" + l)].visible = false;
l++;
};
};
if (Witch.c1kept){
draw.c1.visible = true;
};
if (Witch.c2kept){
draw.c2.visible = true;
};
if (Witch.c3kept){
draw.c3.visible = true;
};
if (Witch.c4kept){
draw.c4.visible = true;
};
if (Witch.isfire1){
draw.c1.gotoAndStop(21);
};
if (Witch.isfire2){
draw.c2.gotoAndStop(21);
};
if (Witch.isfire3){
draw.c3.gotoAndStop(21);
};
if (Witch.isfire4){
draw.c4.gotoAndStop(21);
};
if (Witch.isc1){
c1.visible = false;
};
if (Witch.isc2){
c2.visible = false;
};
if (Witch.isc3){
c3.visible = false;
};
if (Witch.isc4){
c4.visible = false;
};
if (!Witch.diamondkept){
if (Witch.d1used){
d1.gotoAndStop(2);
};
if (Witch.d2used){
d2.gotoAndStop(2);
};
if (Witch.d3used){
d3.gotoAndStop(2);
};
};
if (Witch.diamondkept){
magicball.gotoAndStop(208);
};
if (Witch.fired){
draw.dbox.gotoAndStop(14);
};
if (((Witch.isgate6) && (!(Witch.isseen6)))){
gate6.visible = true;
gate6.gotoAndPlay(2);
};
if (Witch.isseen6){
gate6.visible = true;
gate6.gotoAndStop(28);
};
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back25);
c1shot.addEventListener(MouseEvent.CLICK, c1shotfn);
c2shot.addEventListener(MouseEvent.CLICK, c2shotfn);
c3shot.addEventListener(MouseEvent.CLICK, c3shotfn);
c4shot.addEventListener(MouseEvent.CLICK, c4shotfn);
displayshot.addEventListener(MouseEvent.CLICK, displayshotfn);
drawshot.addEventListener(MouseEvent.CLICK, drawshotfn);
}
public function hookusedfn(_arg1:MouseEvent):void{
if ((((currentFrame == 21)) && (!(Witch.hookused)))){
if (speedControl.shook1.hitTestObject(fhit)){
downbtn.visible = false;
speedControl.shook1.removeEventListener(MouseEvent.MOUSE_UP, hookusedfn);
speedControl.shook1.visible = false;
fhit.parent.removeChild(fhit);
Witch.hookused = true;
falls.gotoAndPlay(2);
};
};
}
function frame7(){
stop();
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back1);
if (!Witch.isg1){
ghit1.addEventListener(MouseEvent.CLICK, ghitfn1);
};
if (Witch.isg1){
g1.visible = false;
};
if (!Witch.isg2){
ghit2.addEventListener(MouseEvent.CLICK, ghitfn2);
};
if (Witch.isg2){
g2.visible = false;
};
if (((Witch.key1used) && (!(Witch.once)))){
gg.visible = false;
} else {
if (Witch.once){
gg.visible = false;
};
};
}
function frame9(){
stop();
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back3);
}
function frame2(){
stop();
Witch.displayText(ss, "Magical Mirror");
Witch.displayText(pyramidshot, "Floating Land Pieces");
Witch.displayText(caveshot, "Floating Land Pieces");
Witch.displayText(fallsshot, "Waterfalls");
if (!Witch.logkept){
log.visible = false;
} else {
if (Witch.logkept){
log.visible = true;
pyramidshot.addEventListener(MouseEvent.CLICK, pyfn);
};
};
if (Witch.isg4){
g4.visible = false;
};
if (Witch.mirrorused){
mirror.visible = true;
mirror.gotoAndStop(6);
pyramid.gotoAndStop(44);
} else {
mirror.visible = false;
};
if (Witch.brickused){
mirror.visible = false;
};
if (Witch.hookused){
falls.gotoAndStop(157);
};
if (Witch.key3used){
cavedoor.gotoAndStop(39);
};
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back9);
g4shot.addEventListener(MouseEvent.CLICK, g4shotfn);
caveshot.addEventListener(MouseEvent.CLICK, caveshotfn);
fallsshot.addEventListener(MouseEvent.CLICK, fallsshotfn);
if (!Witch.isg3){
g3.addEventListener(MouseEvent.CLICK, g3fn);
};
if (Witch.isg3){
g3.visible = false;
};
if (!Witch.logkept){
speedControl.slog.addEventListener(MouseEvent.MOUSE_UP, lhitfn);
};
if (Witch.logkept){
lhit.addEventListener(MouseEvent.CLICK, pyfn1);
};
}
function frame17(){
stop();
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back10);
if (!Witch.isg4){
g4.addEventListener(MouseEvent.CLICK, g4fn);
};
if (Witch.isg4){
g4.visible = false;
};
}
function frame4(){
stop();
Witch.displayText(knifeshot, "Knife");
Witch.displayText(pumpkinshot, "Picture");
Witch.displayText(doorshot1, "Door");
if (Witch.isknife){
knife.visible = false;
};
if (Witch.knifeused){
pumpkin.gotoAndStop(15);
};
if (Witch.key4used){
door4.gotoAndStop(2);
};
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back20);
knifeshot.addEventListener(MouseEvent.CLICK, knifeshotfn);
pumpkinshot.addEventListener(MouseEvent.CLICK, pumpkinshotfn);
doorshot1.addEventListener(MouseEvent.CLICK, doorshot1fn);
}
function frame19(){
stop();
if (Witch.mirrorused){
pyramid.gotoAndStop(44);
};
if (Witch.brickused){
Witch.displayText(hookhit, "Fishing Rod");
};
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back12);
}
function frame12(){
stop();
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back6);
if (!Witch.isbox){
speedControl.sstone.addEventListener(MouseEvent.MOUSE_UP, sstonefn2);
};
if (Witch.isbox){
box.gotoAndStop(28);
};
}
public function pot2(_arg1:MouseEvent):void{
if (currentFrame == 49){
if (speedControl.sspider.hitTestObject(pot)){
speedControl.sspider.removeEventListener(MouseEvent.MOUSE_UP, pot2);
pot.gotoAndPlay(2);
speedControl.sspider.visible = false;
Witch.ashcount++;
};
};
}
public function pot4(_arg1:MouseEvent):void{
if (currentFrame == 49){
if (speedControl.ssnake.hitTestObject(pot)){
speedControl.ssnake.addEventListener(MouseEvent.MOUSE_UP, pot4);
pot.gotoAndPlay(2);
speedControl.ssnake.visible = false;
Witch.ashcount++;
};
};
}
public function glassshot1fn(_arg1:MouseEvent){
glassshot1.removeEventListener(MouseEvent.CLICK, glassshot1fn);
gotoAndStop("glasszoom1");
}
public function pot5(_arg1:MouseEvent):void{
if (currentFrame == 49){
if (speedControl.sfrog.hitTestObject(pot)){
speedControl.sfrog.addEventListener(MouseEvent.MOUSE_UP, pot5);
pot.gotoAndPlay(2);
speedControl.sfrog.visible = false;
Witch.ashcount++;
};
};
}
public function displayshotfn(_arg1:MouseEvent){
displayshot.removeEventListener(MouseEvent.CLICK, displayshotfn);
gotoAndStop("displayzoom");
}
function frame21(){
stop();
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back13);
if (!Witch.hookused){
speedControl.shook1.addEventListener(MouseEvent.MOUSE_UP, hookusedfn);
};
if (Witch.hookused){
if (fhit){
fhit.parent.removeChild(fhit);
};
falls.gotoAndStop(157);
};
}
function frame22(){
stop();
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back14);
if (!Witch.key3used){
speedControl.skey3.addEventListener(MouseEvent.MOUSE_UP, skey3fn);
Witch.displayText(khit1, "Gate");
};
if (Witch.key3used){
khit1.x = 800;
cavedoor.gotoAndStop(39);
};
}
public function candlefn(_arg1:MouseEvent):void{
index1 = _arg1.target.name.substring(2);
if (currentFrame == 44){
if (_arg1.target.hitTestObject(mhit1)){
_arg1.target.removeEventListener(MouseEvent.MOUSE_UP, candlefn);
_arg1.target.visible = false;
this[("c" + index1)].visible = true;
if (index1 == 1){
Witch.c1kept = true;
} else {
if (index1 == 2){
Witch.c2kept = true;
} else {
if (index1 == 3){
Witch.c3kept = true;
} else {
if (index1 == 4){
Witch.c4kept = true;
};
};
};
};
if (((((((Witch.c1kept) && (Witch.c2kept))) && (Witch.c3kept))) && (Witch.c4kept))){
mhit1.parent.removeChild(mhit1);
Witch.candlekept = true;
speedControl.sfire.addEventListener(MouseEvent.MOUSE_UP, firefn1);
};
};
};
}
public function pot3(_arg1:MouseEvent):void{
if (currentFrame == 49){
if (speedControl.sbat.hitTestObject(pot)){
speedControl.sbat.addEventListener(MouseEvent.MOUSE_UP, pot3);
pot.gotoAndPlay(2);
speedControl.sbat.visible = false;
Witch.ashcount++;
};
};
}
public function catshotfn(_arg1:MouseEvent){
catshot.removeEventListener(MouseEvent.CLICK, catshotfn);
gotoAndStop("catzoom");
}
function frame25(){
stop();
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back16);
if (!Witch.boneused){
speedControl.sbone.addEventListener(MouseEvent.MOUSE_UP, sbonefn);
};
if (Witch.boneused){
bonehit.x = 800;
hand.gotoAndStop(20);
};
}
function frame8(){
stop();
Witch.displayText(worm, "Worm");
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back4);
if (!Witch.isworm){
worm.addEventListener(MouseEvent.CLICK, wormfn);
};
if (Witch.isworm){
worm.visible = false;
};
}
function frame35(){
stop();
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back23);
if (!Witch.isknife){
knife.addEventListener(MouseEvent.CLICK, knifefn);
};
if (Witch.isknife){
knife.visible = false;
};
}
public function pyfn(_arg1:MouseEvent){
pyramidshot.removeEventListener(MouseEvent.CLICK, pyfn);
gotoAndStop("pyramidzoom");
}
function frame6(){
stop();
Witch.displayText(lastshot, "Magic Hat");
Witch.displayText(potshot, "Boiling Pot");
if (!Witch.iscarpet){
Witch.displayText(carpet, "Mat");
};
Witch.displayText(devil, "Evil Witch");
ebroom.visible = false;
if (((!(Witch.fkeyseen)) && (!(Witch.isfkey)))){
fkey.visible = false;
} else {
fkey.visible = true;
};
if (((!(Witch.dustseen)) && (!(Witch.isdust)))){
dust.visible = false;
} else {
dust.visible = true;
};
if (((!(Witch.broomseen)) && (!(Witch.isbroom)))){
broom.visible = false;
} else {
broom.visible = true;
};
if (Witch.isfkey){
fkey.visible = false;
};
if (Witch.isdust){
dust.visible = false;
};
if (Witch.isbroom){
broom.visible = false;
};
if (Witch.isdevil){
leftbtn.visible = false;
potshot.removeEventListener(MouseEvent.CLICK, potshotfn);
lastshot.removeEventListener(MouseEvent.CLICK, lastshotfn);
gndshot.removeEventListener(MouseEvent.CLICK, gndshotfn);
speedControl.sdust.addEventListener(MouseEvent.MOUSE_UP, sdustfn);
if (!Witch.dustused){
devil.gotoAndPlay(2);
} else {
devil.gotoAndStop(1);
};
if (!Witch.islastmc){
Witch.islastmc = true;
lastmc.gotoAndPlay(2);
lastmc.exit.gotoAndPlay(2);
} else {
if (Witch.islastmc){
lastmc.gotoAndStop(33);
lastmc.exit.gotoAndStop(28);
};
};
escapefn();
};
if (Witch.isrod){
rod.visible = false;
};
if (Witch.ishandle){
handle.visible = false;
};
if (Witch.iscarpet){
carpet.gotoAndStop(15);
};
if (!Witch.objectskept){
if (Witch.batkept){
bat.gotoAndStop(2);
};
if (Witch.spiderkept){
spider.gotoAndStop(2);
};
if (Witch.snakekept){
snake.gotoAndStop(2);
};
if (Witch.frogkept){
frog.gotoAndStop(2);
};
if (Witch.skullkept){
skull.gotoAndStop(2);
};
};
if (Witch.objectskept){
skeleton.gotoAndStop(22);
};
downbtn.visible = false;
rightbtn.visible = false;
leftbtn.visible = true;
if (!Witch.isdevil){
leftbtn.addEventListener(MouseEvent.CLICK, back32);
};
if (!Witch.isdevil){
potshot.addEventListener(MouseEvent.CLICK, potshotfn);
lastshot.addEventListener(MouseEvent.CLICK, lastshotfn);
gndshot.addEventListener(MouseEvent.CLICK, gndshotfn);
};
}
public function c4shotfn(_arg1:MouseEvent){
c4shot.removeEventListener(MouseEvent.CLICK, c4shotfn);
gotoAndStop("c4zoom");
}
public function pot1(_arg1:MouseEvent):void{
if (currentFrame == 49){
if (speedControl.sskull.hitTestObject(pot)){
speedControl.sskull.removeEventListener(MouseEvent.MOUSE_UP, pot1);
pot.gotoAndPlay(2);
speedControl.sskull.visible = false;
Witch.ashcount++;
};
};
}
function frame30(){
stop();
Witch.displayText(brush, "Brush");
if (Witch.isowlhead){
graveyard.gotoAndStop(14);
};
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back19);
if (!Witch.isbrush){
brush.addEventListener(MouseEvent.CLICK, brushfn);
};
if (Witch.isbrush){
brush.visible = false;
};
}
function frame40(){
stop();
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back31);
i = 1;
while (i <= 3) {
speedControl[("sd" + i)].addEventListener(MouseEvent.MOUSE_UP, skullfn11);
i++;
};
if (!Witch.diamondkept){
if (Witch.d1used){
d1.gotoAndStop(2);
};
if (Witch.d2used){
d2.gotoAndStop(2);
};
if (Witch.d3used){
d3.gotoAndStop(2);
};
};
if (Witch.diamondkept){
if (mhit){
mhit.parent.removeChild(mhit);
};
d1.visible = false;
d2.visible = false;
d3.visible = false;
magicball.gotoAndStop(208);
};
}
function frame44(){
stop();
j = 1;
while (j <= 4) {
this[("c" + j)].visible = false;
j++;
};
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back29);
if (!Witch.candlekept){
k = 1;
while (k <= 4) {
speedControl[("sc" + k)].addEventListener(MouseEvent.MOUSE_UP, candlefn);
k++;
};
};
if (Witch.c1kept){
c1.visible = true;
};
if (Witch.c2kept){
c2.visible = true;
};
if (Witch.c3kept){
c3.visible = true;
};
if (Witch.c4kept){
c4.visible = true;
};
if (Witch.candlekept){
if (mhit1){
mhit1.parent.removeChild(mhit1);
};
speedControl.sfire.addEventListener(MouseEvent.MOUSE_UP, firefn1);
};
if (Witch.isfire1){
c1.gotoAndStop(21);
};
if (Witch.isfire2){
c2.gotoAndStop(21);
};
if (Witch.isfire3){
c3.gotoAndStop(21);
};
if (Witch.isfire4){
c4.gotoAndStop(21);
};
if (Witch.fired){
dbox.gotoAndStop(14);
};
}
function frame45(){
stop();
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back30);
if (!Witch.isc3){
c3.addEventListener(MouseEvent.CLICK, c3fn);
};
if (Witch.isc3){
c3.visible = false;
};
}
function frame37(){
stop();
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back24);
if (!Witch.key4used){
speedControl.skey4.addEventListener(MouseEvent.MOUSE_UP, skey4fn11);
};
if (Witch.key4used){
keyhit4.x = 800;
door4.gotoAndStop(45);
};
}
public function sbonefn(_arg1:MouseEvent):void{
if ((((currentFrame == 25)) && (!(Witch.boneused)))){
if (speedControl.sbone.hitTestObject(bonehit)){
speedControl.sbone.removeEventListener(MouseEvent.MOUSE_UP, sbonefn);
speedControl.sbone.visible = false;
bonehit.x = 800;
Witch.boneused = true;
hand.gotoAndPlay(2);
};
};
}
function frame49(){
stop();
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back34);
speedControl.sskull.addEventListener(MouseEvent.MOUSE_UP, pot1);
speedControl.sspider.addEventListener(MouseEvent.MOUSE_UP, pot2);
speedControl.sbat.addEventListener(MouseEvent.MOUSE_UP, pot3);
speedControl.ssnake.addEventListener(MouseEvent.MOUSE_UP, pot4);
speedControl.sfrog.addEventListener(MouseEvent.MOUSE_UP, pot5);
}
function frame33(){
stop();
Witch.displayText(pumpkin, "Pumpkin");
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back21);
if (!Witch.knifeused){
speedControl.sknife.addEventListener(MouseEvent.MOUSE_UP, sknifefn);
};
if (Witch.knifeused){
pumpkin.gotoAndStop(15);
};
}
function frame28(){
stop();
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back17);
if (!Witch.brushused){
speedControl.sbrush.addEventListener(MouseEvent.MOUSE_UP, cupboardkeyfn2);
};
if (Witch.brushused){
wheel.gotoAndStop(70);
};
}
public function c4fn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
c4.removeEventListener(MouseEvent.CLICK, c4fn);
c4.visible = false;
speedControl.sc4.visible = true;
Witch.isc4 = true;
}
function frame48(){
stop();
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back33);
if (((Witch.islift) && (!(Witch.iscarpet)))){
carpet.addEventListener(MouseEvent.CLICK, carpetfn);
};
if (Witch.iscarpet){
carpet.gotoAndStop(15);
if (!Witch.batkept){
speedControl.ss2.addEventListener(MouseEvent.MOUSE_UP, ss2fn1);
};
if (!Witch.spiderkept){
speedControl.ss4.addEventListener(MouseEvent.MOUSE_UP, ss4fn);
};
if (!Witch.snakekept){
speedControl.ss3.addEventListener(MouseEvent.MOUSE_UP, ss3fn);
};
if (!Witch.frogkept){
speedControl.ss1.addEventListener(MouseEvent.MOUSE_UP, ss1fn);
};
if (!Witch.skullkept){
speedControl.sskullcoin.addEventListener(MouseEvent.MOUSE_UP, sskullcoinfn);
};
};
if (!Witch.objectskept){
if (Witch.batkept){
if (bathit){
bathit.parent.removeChild(bathit);
};
bat.gotoAndStop(2);
};
if (Witch.spiderkept){
if (spiderhit){
spiderhit.parent.removeChild(spiderhit);
};
spider.gotoAndStop(2);
};
if (Witch.snakekept){
if (snakehit){
snakehit.parent.removeChild(snakehit);
};
snake.gotoAndStop(2);
};
if (Witch.frogkept){
if (froghit){
froghit.parent.removeChild(froghit);
};
frog.gotoAndStop(2);
};
if (Witch.skullkept){
if (skullhit){
skullhit.parent.removeChild(skullhit);
};
skull.gotoAndStop(2);
};
};
if (Witch.objectskept){
if (bathit){
bathit.parent.removeChild(bathit);
};
if (spiderhit){
spiderhit.parent.removeChild(spiderhit);
};
if (snakehit){
snakehit.parent.removeChild(snakehit);
};
if (froghit){
froghit.parent.removeChild(froghit);
};
if (skullhit){
skullhit.parent.removeChild(skullhit);
};
skeleton.gotoAndStop(22);
};
}
function frame41(){
stop();
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back26);
if (!Witch.isc2){
c2.addEventListener(MouseEvent.CLICK, c2fn);
};
if (Witch.isc2){
c2.visible = false;
};
}
function frame42(){
stop();
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back27);
if (!Witch.isc1){
c1.addEventListener(MouseEvent.CLICK, c1fn);
};
if (Witch.isc1){
c1.visible = false;
};
}
function frame43(){
stop();
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back28);
if (!Witch.isc4){
c4.addEventListener(MouseEvent.CLICK, c4fn);
};
if (Witch.isc4){
c4.visible = false;
};
}
function frame50(){
stop();
if (((!(Witch.fkeyseen)) && (!(Witch.isfkey)))){
fkey.visible = false;
} else {
if (Witch.fkeyseen){
fkey.visible = true;
};
};
if (((!(Witch.dustseen)) && (!(Witch.isdust)))){
dust.visible = false;
} else {
if (Witch.dustseen){
dust.visible = true;
};
};
if (((!(Witch.broomseen)) && (!(Witch.isbroom)))){
broom.visible = false;
} else {
if (Witch.broomseen){
broom.visible = true;
};
};
if (Witch.isfkey){
fkey.visible = false;
};
if (Witch.isdust){
dust.visible = false;
};
if (Witch.isbroom){
broom.visible = false;
};
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back35);
if (!Witch.isrod){
Witch.displayText(rhit, "Iron rod");
rhit.addEventListener(MouseEvent.CLICK, rhitfn);
};
if (Witch.isrod){
rod.visible = false;
};
if (!Witch.ishandle){
Witch.displayText(handle, "Laddle");
handle.addEventListener(MouseEvent.CLICK, shandlefn);
};
if (Witch.ishandle){
handle.visible = false;
};
if (!Witch.isfkey){
Witch.displayText(fkey, "Key");
fkey.addEventListener(MouseEvent.CLICK, fkeyfn);
};
if (!Witch.isdust){
Witch.displayText(dust, "Magic Dust");
dust.addEventListener(MouseEvent.CLICK, dustfn);
};
if (!Witch.isbroom){
Witch.displayText(broom, "Magical Broom");
broom.addEventListener(MouseEvent.CLICK, broomfn);
};
if (Witch.hatcount == 2){
speedControl.swand.addEventListener(MouseEvent.MOUSE_UP, hat1);
};
if (Witch.hatcount == 0){
speedControl.swand.addEventListener(MouseEvent.MOUSE_UP, hat2);
};
if (Witch.hatcount == 1){
speedControl.swand.addEventListener(MouseEvent.MOUSE_UP, hat3);
};
}
public function gotowthrough(_arg1:MouseEvent):void{
navigateToURL(new URLRequest("http://www.123bee.com/walkthroughs/witch-trap-escape-walkthrough"), "_blank");
}
function frame13(){
stop();
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back7);
if (!Witch.key2used){
speedControl.skey2.addEventListener(MouseEvent.MOUSE_UP, skey2fn2);
};
if (Witch.key2used){
cdoor.gotoAndStop(21);
};
}
function frame11(){
stop();
Witch.displayText(stone, "Stone");
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back5);
if (!Witch.isstone){
stone.addEventListener(MouseEvent.CLICK, stonefn1);
};
if (Witch.isstone){
stone.visible = false;
};
}
function frame14(){
stop();
Witch.displayText(dd, "ScareCrow");
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back8);
if (Witch.pin){
red.visible = false;
brown.visible = false;
blue.visible = false;
if (dd){
dd.parent.removeChild(dd);
};
pinhit1.parent.removeChild(pinhit1);
pinhit2.parent.removeChild(pinhit2);
pinhit3.parent.removeChild(pinhit3);
doll.gotoAndStop(38);
};
if (!Witch.bluepin){
speedControl.sp3.addEventListener(MouseEvent.MOUSE_UP, sp3fn2);
};
if (Witch.bluepin){
blue.gotoAndStop(2);
};
if (!Witch.redpin){
speedControl.sp2.addEventListener(MouseEvent.MOUSE_UP, sp3fn21);
};
if (Witch.redpin){
red.gotoAndStop(2);
};
if (!Witch.brownpin){
speedControl.sp1.addEventListener(MouseEvent.MOUSE_UP, sp3fn1);
};
if (Witch.brownpin){
brown.gotoAndStop(2);
};
}
function frame29(){
stop();
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back18);
if (!Witch.iss1){
chit1.addEventListener(MouseEvent.CLICK, chit1fn);
};
if (Witch.iss1){
owl.s1.visible = false;
};
if (!Witch.isowlhead){
headhit.addEventListener(MouseEvent.CLICK, headhitfn);
};
if (Witch.isowlhead){
owl.head.gotoAndStop(9);
};
}
function frame34(){
stop();
downbtn.visible = true;
rightbtn.visible = false;
leftbtn.visible = false;
downbtn.addEventListener(MouseEvent.CLICK, back22);
if (!Witch.iskey4){
Witch.displayText(key4, "Key");
key4.addEventListener(MouseEvent.CLICK, skey4fn);
};
if (Witch.iskey4){
key4.visible = false;
};
if (!Witch.isbook){
Witch.displayText(book, "Magic Book");
book.addEventListener(MouseEvent.CLICK, sbookfn);
};
if (Witch.isbook){
book.visible = false;
};
if (!Witch.iss2){
Witch.displayText(s2, "Antique Coin");
s2.addEventListener(MouseEvent.CLICK, ss2fn);
};
if (Witch.iss2){
s2.visible = false;
};
}
public function hat2(_arg1:MouseEvent):void{
if (currentFrame == 50){
if (speedControl.swand.hitTestObject(hathit)){
speedControl.swand.removeEventListener(MouseEvent.MOUSE_UP, hat2);
hat.gotoAndPlay(2);
speedControl.swand.visible = false;
Witch.hatcount++;
Witch.dustseen = true;
speedControl.swand.addEventListener(MouseEvent.MOUSE_UP, hat3);
};
};
}
public function c3fn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
c3.removeEventListener(MouseEvent.CLICK, c3fn);
c3.visible = false;
speedControl.sc3.visible = true;
Witch.isc3 = true;
}
public function hat1(_arg1:MouseEvent):void{
if (currentFrame == 50){
if (speedControl.swand.hitTestObject(hathit)){
speedControl.swand.removeEventListener(MouseEvent.MOUSE_UP, hat1);
Witch.hatcount++;
Witch.fkeyseen = true;
hat.gotoAndPlay(2);
speedControl.swand.visible = false;
};
};
}
public function hat3(_arg1:MouseEvent):void{
if (currentFrame == 50){
if (speedControl.swand.hitTestObject(hathit)){
speedControl.swand.removeEventListener(MouseEvent.MOUSE_UP, hat3);
hat.gotoAndPlay(2);
speedControl.swand.visible = false;
Witch.hatcount++;
Witch.broomseen = true;
speedControl.swand.addEventListener(MouseEvent.MOUSE_UP, hat1);
};
};
}
public function escapefn(){
trace("outer");
if (((Witch.fkeyused) && (Witch.dustused))){
trace("inner");
ebroom.visible = true;
ebroom.gotoAndPlay(2);
};
}
public function clearText(_arg1:MouseEvent):void{
Witch.infoText.text = "";
}
public function sdustfn(_arg1:MouseEvent){
if (currentFrame == 6){
if (speedControl.sdust.hitTestObject(devil)){
Witch.dustused = true;
speedControl.sdust.visible = false;
devil.d.gotoAndStop(2);
};
};
}
public function c2fn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
c2.removeEventListener(MouseEvent.CLICK, c2fn);
c2.visible = false;
speedControl.sc2.visible = true;
Witch.isc2 = true;
}
public function back10(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back10);
gotoAndStop("2ndview");
}
public function back12(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back12);
gotoAndStop("logzoom");
}
public function back16(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back16);
gotoAndStop("3rdview");
}
public function back17(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back17);
gotoAndStop("3rdview");
}
public function back11(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back11);
gotoAndStop("2ndview");
}
public function back19(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back19);
gotoAndStop("3rdview");
}
public function back14(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back14);
gotoAndStop("2ndview");
}
public function back15(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back15);
gotoAndStop("cavezoom");
}
public function dollfn(_arg1:MouseEvent){
dollshot.removeEventListener(MouseEvent.CLICK, dollfn);
gotoAndStop("dollzoom");
}
public function back18(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back18);
gotoAndStop("3rdview");
}
public function ss2fn1(_arg1:MouseEvent):void{
if ((((currentFrame == 48)) && (!(Witch.batkept)))){
if (speedControl.ss2.hitTestObject(bathit)){
speedControl.ss2.removeEventListener(MouseEvent.MOUSE_UP, ss2fn1);
speedControl.ss2.visible = false;
bathit.parent.removeChild(bathit);
Witch.batkept = true;
bat.gotoAndStop(2);
objfn();
};
};
}
public function back13(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back13);
gotoAndStop("2ndview");
}
public function back21(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back21);
gotoAndStop("4thview");
}
public function back24(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back24);
gotoAndStop("4thview");
}
public function back25(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back25);
gotoAndStop("doorzoom1");
}
public function back26(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back26);
gotoAndStop("5thview");
}
public function back20(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back20);
gotoAndStop("gravezoom");
}
public function back22(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back22);
gotoAndStop("4thview");
}
public function c3shotfn(_arg1:MouseEvent){
c3shot.removeEventListener(MouseEvent.CLICK, c3shotfn);
gotoAndStop("c3zoom");
}
public function back27(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back27);
gotoAndStop("5thview");
}
public function back28(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back28);
gotoAndStop("5thview");
}
public function back29(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back29);
gotoAndStop("5thview");
}
public function back23(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back23);
gotoAndStop("4thview");
}
public function c1fn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
c1.removeEventListener(MouseEvent.CLICK, c1fn);
c1.visible = false;
speedControl.sc1.visible = true;
Witch.isc1 = true;
}
public function brushfn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
brush.removeEventListener(MouseEvent.CLICK, brushfn);
brush.visible = false;
speedControl.sbrush.visible = true;
Witch.isbrush = true;
}
public function back30(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back30);
gotoAndStop("5thview");
}
public function back31(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back31);
gotoAndStop("5thview");
}
public function back33(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back33);
gotoAndStop("6thview");
}
public function back34(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back34);
gotoAndStop("6thview");
}
public function skey4fn11(_arg1:MouseEvent):void{
if ((((currentFrame == 37)) && (!(Witch.key4used)))){
if (speedControl.skey4.hitTestObject(keyhit4)){
downbtn.visible = false;
speedControl.skey4.removeEventListener(MouseEvent.MOUSE_UP, skey4fn11);
speedControl.skey4.visible = false;
keyhit4.x = 800;
Witch.key4used = true;
door4.gotoAndPlay(2);
};
};
}
public function back32(_arg1:MouseEvent){
leftbtn.removeEventListener(MouseEvent.CLICK, back32);
gotoAndStop("5thview");
}
public function back35(_arg1:MouseEvent){
downbtn.removeEventListener(MouseEvent.CLICK, back35);
gotoAndStop("6thview");
}
public function ss4fn(_arg1:MouseEvent):void{
if ((((currentFrame == 48)) && (!(Witch.spiderkept)))){
if (speedControl.ss4.hitTestObject(spiderhit)){
speedControl.ss4.removeEventListener(MouseEvent.MOUSE_UP, ss4fn);
speedControl.ss4.visible = false;
spiderhit.parent.removeChild(spiderhit);
Witch.spiderkept = true;
spider.gotoAndStop(2);
objfn();
};
};
}
public function keyholeshotfn(_arg1:MouseEvent){
keyholeshot.removeEventListener(MouseEvent.CLICK, keyholeshotfn);
gotoAndStop("keyholezoom");
}
public function skey1fn2(_arg1:MouseEvent):void{
if ((((currentFrame == 10)) && (!(Witch.key1used)))){
if (speedControl.skey1.hitTestObject(khit1)){
speedControl.skey1.removeEventListener(MouseEvent.MOUSE_UP, skey1fn2);
speedControl.skey1.visible = false;
khit1.parent.removeChild(khit1);
Witch.key1used = true;
g1.gotoAndPlay(2);
};
};
}
public function gotoBee123(_arg1:MouseEvent):void{
navigateToURL(new URLRequest("http://www.123bee.com"), "_blank");
}
public function headhitfn(_arg1:MouseEvent){
headhit.removeEventListener(MouseEvent.CLICK, headhitfn);
owl.head.gotoAndPlay(2);
Witch.isowlhead = true;
}
public function skullfn11(_arg1:MouseEvent):void{
index = _arg1.target.name.substring(2);
if (currentFrame == 40){
if (_arg1.target.hitTestObject(mhit)){
_arg1.target.removeEventListener(MouseEvent.MOUSE_UP, skullfn11);
_arg1.target.visible = false;
this[("d" + index)].gotoAndStop(2);
if (index == 1){
Witch.d1used = true;
} else {
if (index == 2){
Witch.d2used = true;
} else {
if (index == 3){
Witch.d3used = true;
};
};
};
if (((((Witch.d1used) && (Witch.d2used))) && (Witch.d3used))){
mhit.parent.removeChild(mhit);
d1.visible = false;
d2.visible = false;
d3.visible = false;
Witch.diamondkept = true;
magicball.gotoAndPlay(2);
};
};
};
}
public function broomfn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
broom.removeEventListener(MouseEvent.CLICK, broomfn);
broom.visible = false;
speedControl.sbroom.visible = true;
Witch.isbroom = true;
devilfn();
}
public function owlshotfn(_arg1:MouseEvent){
owlshot.removeEventListener(MouseEvent.CLICK, owlshotfn);
gotoAndStop("owlzoom");
}
public function ss3fn(_arg1:MouseEvent):void{
if ((((currentFrame == 48)) && (!(Witch.snakekept)))){
if (speedControl.ss3.hitTestObject(snakehit)){
speedControl.ss3.removeEventListener(MouseEvent.MOUSE_UP, ss3fn);
speedControl.ss3.visible = false;
snakehit.parent.removeChild(snakehit);
Witch.snakekept = true;
snake.gotoAndStop(2);
objfn();
};
};
}
public function pyfn1(_arg1:MouseEvent){
pyramidshot.removeEventListener(MouseEvent.CLICK, pyfn);
gotoAndStop("logzoom");
}
public function stonefn1(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
stone.removeEventListener(MouseEvent.CLICK, stonefn1);
stone.visible = false;
speedControl.sstone.visible = true;
Witch.isstone = true;
}
public function mfn(_arg1:MouseEvent){
}
public function pyfna(_arg1:MouseEvent){
pyramidshot1.removeEventListener(MouseEvent.CLICK, pyfna);
gotoAndStop("pyramidzoom");
}
public function skey2fn2(_arg1:MouseEvent):void{
if ((((currentFrame == 13)) && (!(Witch.key2used)))){
if (speedControl.skey2.hitTestObject(cdoor)){
downbtn.visible = false;
speedControl.skey2.removeEventListener(MouseEvent.MOUSE_UP, skey2fn2);
speedControl.skey2.visible = false;
Witch.key2used = true;
cdoor.gotoAndPlay(2);
};
};
}
public function pinplaced(){
if (((((Witch.redpin) && (Witch.brownpin))) && (Witch.bluepin))){
Witch.pin = true;
red.visible = false;
brown.visible = false;
blue.visible = false;
dd.parent.removeChild(dd);
doll.gotoAndPlay(5);
};
}
public function ss2fn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
s2.removeEventListener(MouseEvent.CLICK, ss2fn);
s2.visible = false;
speedControl.ss2.visible = true;
Witch.iss2 = true;
}
public function wormshotfn(_arg1:MouseEvent){
wormshot.removeEventListener(MouseEvent.CLICK, wormshotfn);
gotoAndStop("wormzoom");
}
public function knifefn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
knife.removeEventListener(MouseEvent.CLICK, knifefn);
knife.visible = false;
speedControl.sknife.visible = true;
Witch.isknife = true;
}
public function c2shotfn(_arg1:MouseEvent){
c2shot.removeEventListener(MouseEvent.CLICK, c2shotfn);
gotoAndStop("c2zoom");
}
public function g4fn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
g4.removeEventListener(MouseEvent.CLICK, g4fn);
g4.visible = false;
speedControl.sg4.visible = true;
Witch.isg4 = true;
}
public function smirrorfn(_arg1:MouseEvent):void{
if ((((currentFrame == 18)) && (!(Witch.mirrorused)))){
if (speedControl.smirror.hitTestObject(log)){
downbtn.visible = false;
speedControl.smirror.removeEventListener(MouseEvent.MOUSE_UP, smirrorfn);
speedControl.smirror.visible = false;
mirror.visible = true;
mirror.gotoAndPlay(2);
pyramid.gotoAndPlay(2);
Witch.mirrorused = true;
};
};
}
public function sknifefn(_arg1:MouseEvent):void{
if ((((currentFrame == 33)) && (!(Witch.knifeused)))){
if (speedControl.sknife.hitTestObject(pumpkin)){
downbtn.visible = false;
speedControl.sknife.removeEventListener(MouseEvent.MOUSE_UP, sknifefn);
speedControl.sknife.visible = false;
Witch.knifeused = true;
pumpkin.gotoAndPlay(2);
};
};
}
public function sskullcoinfn(_arg1:MouseEvent):void{
if ((((currentFrame == 48)) && (!(Witch.skullkept)))){
if (speedControl.sskullcoin.hitTestObject(skullhit)){
speedControl.sskullcoin.removeEventListener(MouseEvent.MOUSE_UP, sskullcoinfn);
speedControl.sskullcoin.visible = false;
skullhit.parent.removeChild(skullhit);
Witch.skullkept = true;
skull.gotoAndStop(2);
objfn();
};
};
}
public function ss1fn(_arg1:MouseEvent):void{
if ((((currentFrame == 48)) && (!(Witch.frogkept)))){
if (speedControl.ss1.hitTestObject(froghit)){
speedControl.ss1.removeEventListener(MouseEvent.MOUSE_UP, ss1fn);
speedControl.ss1.visible = false;
froghit.parent.removeChild(froghit);
Witch.frogkept = true;
frog.gotoAndStop(2);
objfn();
};
};
}
public function chit1fn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
chit1.removeEventListener(MouseEvent.CLICK, chit1fn);
owl.s1.visible = false;
speedControl.ss1.visible = true;
Witch.iss1 = true;
}
public function shandlefn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
handle.removeEventListener(MouseEvent.CLICK, shandlefn);
handle.visible = false;
speedControl.shandle.visible = true;
Witch.ishandle = true;
}
public function rhitfn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
rhit.removeEventListener(MouseEvent.CLICK, rhitfn);
rod.visible = false;
speedControl.srod.visible = true;
Witch.isrod = true;
}
public function g3fn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
g3.removeEventListener(MouseEvent.CLICK, g3fn);
g3.visible = false;
speedControl.sg3.visible = true;
Witch.isg3 = true;
}
public function lhitfn(_arg1:MouseEvent):void{
if ((((currentFrame == 2)) && (!(Witch.logkept)))){
if (speedControl.slog.hitTestObject(lhit)){
speedControl.slog.removeEventListener(MouseEvent.MOUSE_UP, lhitfn);
speedControl.slog.visible = false;
log.visible = true;
Witch.logkept = true;
lhit.addEventListener(MouseEvent.CLICK, pyfn1);
};
};
}
public function pumpkinshotfn(_arg1:MouseEvent){
pumpkinshot.removeEventListener(MouseEvent.CLICK, pumpkinshotfn);
if (!Witch.knifeused){
gotoAndStop("pumpkinzoom");
} else {
gotoAndStop("pumpkinzoom1");
};
}
public function firefn1(_arg1:MouseEvent){
var _local2:*;
if ((((currentFrame == 44)) && (Witch.candlekept))){
_local2 = 1;
while (_local2 <= 4) {
if (((speedControl.sfire.hitTestObject(this[("c" + _local2)])) && ((this[("c" + _local2)].currentFrame == 1)))){
speedControl.sfire.visible = false;
this[("c" + _local2)].gotoAndPlay(2);
if (_local2 == 1){
Witch.isfire1 = true;
} else {
if (_local2 == 2){
Witch.isfire2 = true;
} else {
if (_local2 == 3){
Witch.isfire3 = true;
} else {
if (_local2 == 4){
Witch.isfire4 = true;
};
};
};
};
if (((((((Witch.isfire1) && (Witch.isfire2))) && (Witch.isfire3))) && (Witch.isfire4))){
Witch.fired = true;
speedControl.sfire.visible = false;
dbox.gotoAndPlay(2);
};
break;
};
_local2++;
};
};
}
public function fkeyfn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
fkey.removeEventListener(MouseEvent.CLICK, fkeyfn);
fkey.visible = false;
speedControl.skey5.visible = true;
Witch.isfkey = true;
devilfn();
}
public function carpetfn(_arg1:MouseEvent){
carpet.removeEventListener(MouseEvent.CLICK, carpetfn);
Witch.iscarpet = true;
speedControl.ss2.addEventListener(MouseEvent.MOUSE_UP, ss2fn1);
speedControl.ss4.addEventListener(MouseEvent.MOUSE_UP, ss4fn);
speedControl.ss3.addEventListener(MouseEvent.MOUSE_UP, ss3fn);
speedControl.ss1.addEventListener(MouseEvent.MOUSE_UP, ss1fn);
speedControl.sskullcoin.addEventListener(MouseEvent.MOUSE_UP, sskullcoinfn);
carpet.gotoAndPlay(2);
}
public function loghitfn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
loghit.removeEventListener(MouseEvent.CLICK, loghitfn);
main.log.visible = false;
speedControl.slog.visible = true;
Witch.islog = true;
}
public function devilfn(){
if (((((Witch.isfkey) && (Witch.isdust))) && (Witch.isbroom))){
Witch.isdevil = true;
gotoAndStop("6thview");
};
}
public function skullshotfn(_arg1:MouseEvent){
skullshot.removeEventListener(MouseEvent.CLICK, skullshotfn);
gotoAndStop("skullzoom");
}
public function sg1fn2(_arg1:MouseEvent):void{
if ((((currentFrame == 1)) && (!(Witch.iscat)))){
if (speedControl.sg1.hitTestObject(glasshit)){
speedControl.sg1.removeEventListener(MouseEvent.MOUSE_UP, sg1fn2);
speedControl.sg1.visible = false;
Witch.iscat = true;
main.rays.gotoAndPlay(2);
};
};
}
public function c1shotfn(_arg1:MouseEvent){
c1shot.removeEventListener(MouseEvent.CLICK, c1shotfn);
gotoAndStop("c1zoom");
}
public function dustfn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
dust.removeEventListener(MouseEvent.CLICK, dustfn);
dust.visible = false;
speedControl.sdust.visible = true;
Witch.isdust = true;
devilfn();
}
public function cupboardkeyfn2(_arg1:MouseEvent):void{
if ((((currentFrame == 28)) && (!(Witch.brushused)))){
if (speedControl.sbrush.hitTestObject(wheel)){
downbtn.visible = false;
speedControl.sbrush.removeEventListener(MouseEvent.MOUSE_UP, cupboardkeyfn2);
speedControl.sbrush.visible = false;
Witch.brushused = true;
wheel.gotoAndPlay(2);
};
};
}
public function wormfn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
worm.removeEventListener(MouseEvent.CLICK, wormfn);
worm.visible = false;
speedControl.sworm.visible = true;
Witch.isworm = true;
}
public function caveshotfn(_arg1:MouseEvent){
caveshot.removeEventListener(MouseEvent.CLICK, caveshotfn);
gotoAndStop("cavezoom");
}
public function ghitfn1(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
ghit1.removeEventListener(MouseEvent.CLICK, ghitfn1);
g1.visible = false;
speedControl.sg1.visible = true;
Witch.isg1 = true;
}
public function ghitfn2(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
ghit2.removeEventListener(MouseEvent.CLICK, ghitfn2);
g2.visible = false;
speedControl.sg2.visible = true;
Witch.isg2 = true;
}
public function sp3fn1(_arg1:MouseEvent):void{
if ((((currentFrame == 14)) && (!(Witch.brownpin)))){
if (speedControl.sp1.hitTestObject(pinhit3)){
speedControl.sp1.removeEventListener(MouseEvent.MOUSE_UP, sp3fn1);
speedControl.sp1.visible = false;
Witch.brownpin = true;
brown.gotoAndStop(2);
pinplaced();
};
};
}
public function sp3fn2(_arg1:MouseEvent):void{
if ((((currentFrame == 14)) && (!(Witch.bluepin)))){
if (speedControl.sp3.hitTestObject(pinhit1)){
speedControl.sp3.removeEventListener(MouseEvent.MOUSE_UP, sp3fn2);
speedControl.sp3.visible = false;
Witch.bluepin = true;
blue.gotoAndStop(2);
pinplaced();
};
};
}
public function lastshotfn(_arg1:MouseEvent){
lastshot.removeEventListener(MouseEvent.CLICK, lastshotfn);
gotoAndStop("lastzoom");
}
public function sstonefn2(_arg1:MouseEvent):void{
if ((((currentFrame == 12)) && (!(Witch.isbox)))){
if (speedControl.sstone.hitTestObject(box)){
downbtn.visible = false;
speedControl.sstone.removeEventListener(MouseEvent.MOUSE_UP, sstonefn2);
speedControl.sstone.visible = false;
Witch.isbox = true;
box.gotoAndPlay(2);
};
};
}
public function cshotfn(_arg1:MouseEvent){
cshot.removeEventListener(MouseEvent.CLICK, cshotfn);
gotoAndStop("czoom");
}
public function skey4fn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
key4.removeEventListener(MouseEvent.CLICK, skey4fn);
key4.visible = false;
speedControl.skey4.visible = true;
Witch.iskey4 = true;
}
public function sp3fn21(_arg1:MouseEvent):void{
if ((((currentFrame == 14)) && (!(Witch.redpin)))){
if (speedControl.sp2.hitTestObject(pinhit2)){
speedControl.sp2.removeEventListener(MouseEvent.MOUSE_UP, sp3fn21);
speedControl.sp2.visible = false;
Witch.redpin = true;
red.gotoAndStop(2);
pinplaced();
};
};
}
public function drawshotfn(_arg1:MouseEvent){
drawshot.removeEventListener(MouseEvent.CLICK, drawshotfn);
gotoAndStop("drawzoom");
}
public function graveshotfn(_arg1:MouseEvent){
graveshot.removeEventListener(MouseEvent.CLICK, graveshotfn);
gotoAndStop("gravezoom");
}
public function fallsshotfn(_arg1:MouseEvent){
fallsshot.removeEventListener(MouseEvent.CLICK, fallsshotfn);
gotoAndStop("fallszoom");
}
public function sbookfn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
book.removeEventListener(MouseEvent.CLICK, sbookfn);
book.visible = false;
speedControl.sbook.visible = true;
Witch.isbook = true;
}
public function skey3fn(_arg1:MouseEvent):void{
if ((((currentFrame == 22)) && (!(Witch.key3used)))){
if (speedControl.skey3.hitTestObject(khit1)){
downbtn.visible = false;
speedControl.skey3.removeEventListener(MouseEvent.MOUSE_UP, skey3fn);
speedControl.skey3.visible = false;
khit1.x = 800;
Witch.key3used = true;
cavedoor.gotoAndPlay(2);
};
};
}
public function pauseFun(_arg1:MouseEvent){
Witch.inPassMode = true;
Witch.timer.stop();
pauseMc.gotoAndStop(2);
if (Witch.soundToggle){
Witch.sndChn1.stop();
};
}
public function boxfn(_arg1:MouseEvent){
boxshot.removeEventListener(MouseEvent.CLICK, boxfn);
gotoAndStop("boxzoom");
}
public function potshotfn(_arg1:MouseEvent){
potshot.removeEventListener(MouseEvent.CLICK, potshotfn);
gotoAndStop("potzoom");
}
public function gndshotfn(_arg1:MouseEvent){
gndshot.removeEventListener(MouseEvent.CLICK, gndshotfn);
gotoAndStop("groundzoom");
}
public function stonefn(_arg1:MouseEvent){
glasshit.removeEventListener(MouseEvent.CLICK, stonefn);
gotoAndStop("stonezoom");
}
public function objfn(){
if (((((((((Witch.batkept) && (Witch.spiderkept))) && (Witch.snakekept))) && (Witch.frogkept))) && (Witch.skullkept))){
bat.visible = false;
spider.visible = false;
snake.visible = false;
frog.visible = false;
skull.visible = false;
speedControl.smap.visible = false;
Witch.objectskept = true;
skeleton.gotoAndPlay(2);
};
}
}
}//package WITCHTRAPESCAPE_fla
Section 42
//gameplay10_429 (WITCHTRAPESCAPE_fla.gameplay10_429)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay10_429 extends MovieClip {
public function gameplay10_429(){
addFrameScript(1, frame2, 51, frame52);
}
function frame2(){
if (Witch.soundToggle){
Witch.rabbitsnd.play();
};
}
function frame52(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 43
//gameplay102_503 (WITCHTRAPESCAPE_fla.gameplay102_503)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay102_503 extends MovieClip {
public var map:MovieClip;
public function gameplay102_503(){
addFrameScript(0, frame1, 19, frame20);
}
public function mapfn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
map.removeEventListener(MouseEvent.CLICK, mapfn);
map.visible = false;
MovieClip(this.parent).speedControl.smap.visible = true;
Witch.ismap = true;
}
function frame1(){
stop();
}
function frame20(){
stop();
if (!Witch.ismap){
map.addEventListener(MouseEvent.CLICK, mapfn);
};
if (Witch.ismap){
map.visible = false;
};
}
}
}//package WITCHTRAPESCAPE_fla
Section 44
//gameplay103_320 (WITCHTRAPESCAPE_fla.gameplay103_320)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay103_320 extends MovieClip {
public var map:MovieClip;
public function gameplay103_320(){
addFrameScript(0, frame1, 19, frame20);
}
function frame1(){
stop();
}
function frame20(){
stop();
if (Witch.ismap){
map.visible = false;
};
}
}
}//package WITCHTRAPESCAPE_fla
Section 45
//gameplay10copy_437 (WITCHTRAPESCAPE_fla.gameplay10copy_437)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay10copy_437 extends MovieClip {
public function gameplay10copy_437(){
addFrameScript(1, frame2, 51, frame52);
}
function frame2(){
if (Witch.soundToggle){
Witch.rabbitsnd.play();
};
}
function frame52(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 46
//gameplay11_427 (WITCHTRAPESCAPE_fla.gameplay11_427)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay11_427 extends MovieClip {
public function gameplay11_427(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 47
//gameplay119_165 (WITCHTRAPESCAPE_fla.gameplay119_165)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay119_165 extends MovieClip {
public function gameplay119_165(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 48
//gameplay11copy2_436 (WITCHTRAPESCAPE_fla.gameplay11copy2_436)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay11copy2_436 extends MovieClip {
public function gameplay11copy2_436(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 49
//gameplay132_88 (WITCHTRAPESCAPE_fla.gameplay132_88)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay132_88 extends MovieClip {
public var brown:MovieClip;
public var log:MovieClip;
public var doll:MovieClip;
public var blue:MovieClip;
public var rays:MovieClip;
public var cdoor:MovieClip;
public var red:MovieClip;
public var g1:MovieClip;
public var g2:MovieClip;
public var gate:MovieClip;
public var cat:MovieClip;
public var box:MovieClip;
public function gameplay132_88(){
addFrameScript(0, frame1);
}
function frame1(){
if (Witch.isg1){
g1.visible = false;
};
if (Witch.isg2){
g2.visible = false;
};
Witch.displayText(gate, "Gage");
}
}
}//package WITCHTRAPESCAPE_fla
Section 50
//gameplay138_96 (WITCHTRAPESCAPE_fla.gameplay138_96)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay138_96 extends MovieClip {
public var d2:MovieClip;
public var d3:MovieClip;
public var d1:MovieClip;
public var key2:MovieClip;
public var bone:MovieClip;
public function gameplay138_96(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
if (Witch.iskey2){
key2.visible = false;
};
if (Witch.isd1){
d1.visible = false;
};
if (Witch.isd2){
d2.visible = false;
};
if (Witch.isd3){
d3.visible = false;
};
if (Witch.isbone){
bone.visible = false;
};
}
}
}//package WITCHTRAPESCAPE_fla
Section 51
//gameplay153_377 (WITCHTRAPESCAPE_fla.gameplay153_377)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay153_377 extends MovieClip {
public function gameplay153_377(){
addFrameScript(0, frame1, 22, frame23);
}
function frame1(){
stop();
}
function frame23(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 52
//gameplay155_449 (WITCHTRAPESCAPE_fla.gameplay155_449)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay155_449 extends MovieClip {
public function gameplay155_449(){
addFrameScript(0, frame1, 13, frame14, 14, frame15);
}
function frame14(){
MovieClip(this.parent).gotoAndStop("1stview");
}
function frame15(){
stop();
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 53
//gameplay185_451 (WITCHTRAPESCAPE_fla.gameplay185_451)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay185_451 extends MovieClip {
public var boxb:MovieClip;
public var d2:MovieClip;
public var d3:MovieClip;
public var d1:MovieClip;
public var key2:MovieClip;
public var bone:MovieClip;
public function gameplay185_451(){
addFrameScript(0, frame1, 1, frame2, 26, frame27, 27, frame28);
}
public function d3fn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
d3.removeEventListener(MouseEvent.CLICK, d3fn);
d3.visible = false;
MovieClip(this.parent).speedControl.sd3.visible = true;
Witch.isd3 = true;
}
function frame1(){
stop();
Witch.displayText(boxb, "Wooden Chest");
}
function frame2(){
if (Witch.soundToggle){
Witch.boxsnd.play();
};
}
function frame27(){
MovieClip(this.parent).downbtn.visible = true;
}
function frame28(){
stop();
Witch.displayText(key2, "Key");
Witch.displayText(d1, "Diamonds");
Witch.displayText(d2, "Diamonds");
Witch.displayText(d3, "Diamonds");
Witch.displayText(bone, "Bone");
if (!Witch.iskey2){
key2.addEventListener(MouseEvent.CLICK, key2fn);
};
if (Witch.iskey2){
key2.visible = false;
};
if (!Witch.isd1){
d1.addEventListener(MouseEvent.CLICK, d1fn);
};
if (Witch.isd1){
d1.visible = false;
};
if (!Witch.isd2){
d2.addEventListener(MouseEvent.CLICK, d2fn);
};
if (Witch.isd2){
d2.visible = false;
};
if (!Witch.isd3){
d3.addEventListener(MouseEvent.CLICK, d3fn);
};
if (Witch.isd3){
d3.visible = false;
};
if (!Witch.isbone){
bone.addEventListener(MouseEvent.CLICK, bonefn);
};
if (Witch.isbone){
bone.visible = false;
};
}
public function d2fn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
d2.removeEventListener(MouseEvent.CLICK, d2fn);
d2.visible = false;
MovieClip(this.parent).speedControl.sd2.visible = true;
Witch.isd2 = true;
}
public function bonefn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
bone.removeEventListener(MouseEvent.CLICK, bonefn);
bone.visible = false;
MovieClip(this.parent).speedControl.sbone.visible = true;
Witch.isbone = true;
}
public function key2fn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
key2.removeEventListener(MouseEvent.CLICK, key2fn);
key2.visible = false;
MovieClip(this.parent).speedControl.skey2.visible = true;
Witch.iskey2 = true;
}
public function d1fn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
d1.removeEventListener(MouseEvent.CLICK, d1fn);
d1.visible = false;
MovieClip(this.parent).speedControl.sd1.visible = true;
Witch.isd1 = true;
}
}
}//package WITCHTRAPESCAPE_fla
Section 54
//gameplay19_336 (WITCHTRAPESCAPE_fla.gameplay19_336)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay19_336 extends MovieClip {
public function gameplay19_336(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 55
//gameplay203_470 (WITCHTRAPESCAPE_fla.gameplay203_470)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay203_470 extends MovieClip {
public var shot2:MovieClip;
public function gameplay203_470(){
addFrameScript(0, frame1, 17, frame18, 36, frame37, 37, frame38);
}
function frame18(){
if (Witch.soundToggle){
Witch.dooropensnd.play();
};
}
function frame1(){
stop();
}
public function shot2fn(_arg1:MouseEvent){
shot2.removeEventListener(MouseEvent.CLICK, shot2fn);
MovieClip(this.parent).gotoAndStop("2ndview");
}
function frame37(){
MovieClip(this.parent).downbtn.visible = true;
}
function frame38(){
stop();
shot2.addEventListener(MouseEvent.CLICK, shot2fn);
}
}
}//package WITCHTRAPESCAPE_fla
Section 56
//gameplay220_499 (WITCHTRAPESCAPE_fla.gameplay220_499)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay220_499 extends MovieClip {
public var key3:MovieClip;
public function gameplay220_499(){
addFrameScript(0, frame1, 155, frame156, 156, frame157);
}
function frame156(){
MovieClip(this.parent).downbtn.visible = true;
}
function frame157(){
stop();
if (!Witch.iskey3){
Witch.displayText(key3, "Key");
key3.addEventListener(MouseEvent.CLICK, key3fn);
};
if (Witch.iskey3){
key3.visible = false;
};
}
function frame1(){
stop();
}
public function key3fn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
key3.removeEventListener(MouseEvent.CLICK, key3fn);
key3.visible = false;
Witch.iskey3 = true;
MovieClip(this.parent).speedControl.skey3.visible = true;
}
}
}//package WITCHTRAPESCAPE_fla
Section 57
//gameplay221_253 (WITCHTRAPESCAPE_fla.gameplay221_253)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay221_253 extends MovieClip {
public var key3:MovieClip;
public function gameplay221_253(){
addFrameScript(0, frame1, 156, frame157);
}
function frame157(){
stop();
if (Witch.iskey3){
key3.visible = false;
};
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 58
//gameplay223_501 (WITCHTRAPESCAPE_fla.gameplay223_501)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay223_501 extends MovieClip {
public var nxtshot1:MovieClip;
public function gameplay223_501(){
addFrameScript(0, frame1, 18, frame19, 37, frame38, 38, frame39);
}
public function nxtfn1(_arg1:MouseEvent){
nxtshot1.removeEventListener(MouseEvent.CLICK, nxtfn1);
MovieClip(this.parent).gotoAndStop("3rdview");
}
function frame1(){
stop();
}
function frame19(){
if (Witch.soundToggle){
Witch.gate1snd.play();
};
}
function frame38(){
MovieClip(this.parent).downbtn.visible = true;
}
function frame39(){
stop();
nxtshot1.addEventListener(MouseEvent.CLICK, nxtfn1);
}
}
}//package WITCHTRAPESCAPE_fla
Section 59
//gameplay225_281 (WITCHTRAPESCAPE_fla.gameplay225_281)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay225_281 extends MovieClip {
public function gameplay225_281(){
addFrameScript(0, frame1, 38, frame39);
}
function frame1(){
stop();
}
function frame39(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 60
//gameplay241_512 (WITCHTRAPESCAPE_fla.gameplay241_512)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay241_512 extends MovieClip {
public function gameplay241_512(){
addFrameScript(0, frame1);
}
function frame1(){
}
}
}//package WITCHTRAPESCAPE_fla
Section 61
//gameplay241copy2_511 (WITCHTRAPESCAPE_fla.gameplay241copy2_511)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay241copy2_511 extends MovieClip {
public function gameplay241copy2_511(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 62
//gameplay243_169 (WITCHTRAPESCAPE_fla.gameplay243_169)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay243_169 extends MovieClip {
public var sskullcoin:MovieClip;
}
}//package WITCHTRAPESCAPE_fla
Section 63
//gameplay252_308 (WITCHTRAPESCAPE_fla.gameplay252_308)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay252_308 extends MovieClip {
public function gameplay252_308(){
addFrameScript(0, frame1, 1, frame2, 8, frame9);
}
function frame1(){
stop();
}
function frame9(){
stop();
}
function frame2(){
if (Witch.soundToggle){
Witch.owlsnd.play();
};
}
}
}//package WITCHTRAPESCAPE_fla
Section 64
//gameplay253_311 (WITCHTRAPESCAPE_fla.gameplay253_311)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
public dynamic class gameplay253_311 extends MovieClip {
public var nxtshot2:MovieClip;
public function gameplay253_311(){
addFrameScript(0, frame1, 13, frame14);
}
public function nxtshot2fn(_arg1:MouseEvent){
nxtshot2.removeEventListener(MouseEvent.CLICK, nxtshot2fn);
MovieClip(this.parent).gotoAndStop("4thview");
}
function frame14(){
stop();
nxtshot2.addEventListener(MouseEvent.CLICK, nxtshot2fn);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 65
//gameplay267_514 (WITCHTRAPESCAPE_fla.gameplay267_514)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay267_514 extends MovieClip {
public var pumpkinhit2:MovieClip;
public function gameplay267_514(){
addFrameScript(0, frame1, 4, frame5, 13, frame14, 14, frame15);
}
function frame14(){
MovieClip(this.parent).downbtn.visible = true;
}
function frame15(){
stop();
pumpkinhit2.addEventListener(MouseEvent.CLICK, pumpkinhit2fn);
}
function frame1(){
stop();
}
function frame5(){
if (Witch.soundToggle){
Witch.cuttingsnd.play();
};
}
public function pumpkinhit2fn(_arg1:MouseEvent){
pumpkinhit2.removeEventListener(MouseEvent.CLICK, pumpkinhit2fn);
MovieClip(this.parent).gotoAndStop("pumpkinzoom1");
}
}
}//package WITCHTRAPESCAPE_fla
Section 66
//gameplay268_323 (WITCHTRAPESCAPE_fla.gameplay268_323)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay268_323 extends MovieClip {
public var s2:MovieClip;
public var key4:MovieClip;
public var book:MovieClip;
public function gameplay268_323(){
addFrameScript(0, frame1, 14, frame15);
}
function frame15(){
stop();
if (Witch.iskey4){
key4.visible = false;
};
if (Witch.iss2){
s2.visible = false;
};
if (Witch.isbook){
book.visible = false;
};
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 67
//gameplay278_343 (WITCHTRAPESCAPE_fla.gameplay278_343)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay278_343 extends MovieClip {
public var matchbox:MovieClip;
public function gameplay278_343(){
addFrameScript(0, frame1, 1, frame2, 206, frame207, 207, frame208, 229, frame230);
}
function frame207(){
MovieClip(this.parent).downbtn.visible = true;
}
function frame208(){
stop();
if (Witch.isball){
this.gotoAndStop(230);
};
}
function frame1(){
stop();
}
function frame2(){
MovieClip(this.parent).downbtn.visible = false;
}
function frame230(){
stop();
if (Witch.ismatchbox){
matchbox.visible = false;
};
}
}
}//package WITCHTRAPESCAPE_fla
Section 68
//gameplay279_519 (WITCHTRAPESCAPE_fla.gameplay279_519)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay279_519 extends MovieClip {
public var mathit:MovieClip;
public var matchbox:MovieClip;
public function gameplay279_519(){
addFrameScript(0, frame1, 1, frame2, 25, frame26, 206, frame207, 207, frame208, 229, frame230);
}
function frame207(){
MovieClip(this.parent).downbtn.visible = true;
}
function frame208(){
stop();
if (!Witch.isball){
mathit.addEventListener(MouseEvent.CLICK, mathitfn);
};
if (Witch.isball){
this.gotoAndStop(230);
};
}
public function matchboxfn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
matchbox.removeEventListener(MouseEvent.CLICK, matchboxfn);
matchbox.visible = false;
MovieClip(this.parent).speedControl.smatchbox.visible = true;
Witch.ismatchbox = true;
}
public function mathitfn(_arg1:MouseEvent){
mathit.removeEventListener(MouseEvent.CLICK, mathitfn);
Witch.isball = true;
this.gotoAndPlay(209);
}
function frame1(){
stop();
}
function frame26(){
}
function frame2(){
MovieClip(this.parent).downbtn.visible = false;
}
function frame230(){
stop();
if (!Witch.ismatchbox){
Witch.displayText(matchbox, "Matchbox");
matchbox.addEventListener(MouseEvent.CLICK, matchboxfn);
};
if (Witch.ismatchbox){
matchbox.visible = false;
};
}
}
}//package WITCHTRAPESCAPE_fla
Section 69
//gameplay288_351 (WITCHTRAPESCAPE_fla.gameplay288_351)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay288_351 extends MovieClip {
public function gameplay288_351(){
addFrameScript(0, frame1, 19, frame20, 20, frame21);
}
function frame1(){
stop();
}
function frame21(){
stop();
}
function frame20(){
if (!Witch.fired){
MovieClip(this.parent).speedControl.sfire.visible = true;
};
}
}
}//package WITCHTRAPESCAPE_fla
Section 70
//gameplay292_365 (WITCHTRAPESCAPE_fla.gameplay292_365)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay292_365 extends MovieClip {
public function gameplay292_365(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 71
//gameplay30_349 (WITCHTRAPESCAPE_fla.gameplay30_349)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay30_349 extends MovieClip {
public var c1:MovieClip;
public var c3:MovieClip;
public var c4:MovieClip;
public var c2:MovieClip;
public var dbox:MovieClip;
}
}//package WITCHTRAPESCAPE_fla
Section 72
//gameplay303_375 (WITCHTRAPESCAPE_fla.gameplay303_375)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay303_375 extends MovieClip {
public var exit:MovieClip;
public var finalhit:MovieClip;
public function gameplay303_375(){
addFrameScript(0, frame1, 1, frame2, 32, frame33, 71, frame72, 129, frame130);
}
function frame72(){
stop();
}
public function skey5fn(_arg1:MouseEvent):void{
if ((((((currentFrame == 33)) && (!(Witch.fkeyused)))) && (Witch.dustused))){
if (MovieClip(this.parent).speedControl.skey5.hitTestObject(finalhit)){
Witch.fkeyused = true;
MovieClip(this.parent).speedControl.skey5.removeEventListener(MouseEvent.MOUSE_UP, skey5fn);
MovieClip(this.parent).speedControl.skey5.visible = false;
MovieClip(this.parent).speedControl.sbroom.visible = false;
this.gotoAndPlay(34);
exit.gotoAndPlay(2);
};
};
}
function frame1(){
stop();
}
function frame2(){
if (Witch.soundToggle){
Witch.doorsnd.play();
};
}
function frame33(){
stop();
if (!Witch.fkeyused){
MovieClip(this.parent).speedControl.skey5.addEventListener(MouseEvent.MOUSE_UP, skey5fn);
};
if (Witch.fkeyused){
this.gotoAndStop(72);
};
}
function frame130(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 73
//gameplay304_417 (WITCHTRAPESCAPE_fla.gameplay304_417)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay304_417 extends MovieClip {
public function gameplay304_417(){
addFrameScript(0, frame1, 13, frame14, 14, frame15);
}
function frame14(){
if (!Witch.rodused){
MovieClip(this.parent).speedControl.sbook.visible = false;
Witch.rodused = true;
};
}
function frame15(){
stop();
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 74
//gameplay31_89 (WITCHTRAPESCAPE_fla.gameplay31_89)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay31_89 extends MovieClip {
public function gameplay31_89(){
addFrameScript(0, frame1, 15, frame16);
}
function frame16(){
stop();
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 75
//gameplay316_542 (WITCHTRAPESCAPE_fla.gameplay316_542)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay316_542 extends MovieClip {
public var wand:MovieClip;
public var phit:MovieClip;
public var wandhit:MovieClip;
public var handhit:MovieClip;
public function gameplay316_542(){
addFrameScript(0, frame1, 2, frame3, 13, frame14, 14, frame15, 56, frame57, 57, frame58, 121, frame122, 122, frame123, 123, frame124);
}
public function dfn11(_arg1:MouseEvent){
if (!Witch.handleused){
MovieClip(this.parent).speedControl.shandle.removeEventListener(MouseEvent.MOUSE_UP, shandlefn);
};
}
function frame14(){
if (Witch.ashcount == 5){
this.gotoAndStop(15);
} else {
this.gotoAndStop(1);
};
}
public function shandlefn(_arg1:MouseEvent):void{
if ((((this.currentFrame == 58)) && (!(Witch.handleused)))){
if (MovieClip(this.parent).speedControl.shandle.hitTestObject(handhit)){
MovieClip(this.parent).downbtn.visible = false;
MovieClip(this.parent).speedControl.shandle.removeEventListener(MouseEvent.MOUSE_UP, shandlefn);
MovieClip(this.parent).speedControl.shandle.visible = false;
Witch.handleused = true;
this.gotoAndPlay(59);
};
};
}
function frame3(){
if (Witch.soundToggle){
Witch.insectsnd.play();
};
}
function frame15(){
stop();
MovieClip(this.parent).downbtn.addEventListener(MouseEvent.CLICK, dfn12);
if (((!(Witch.jarused)) && ((Witch.ashcount == 5)))){
MovieClip(this.parent).speedControl.sjar.addEventListener(MouseEvent.MOUSE_UP, sjarfn);
};
if (Witch.jarused){
this.gotoAndStop(58);
};
}
function frame1(){
stop();
if (Witch.ashcount == 5){
this.gotoAndStop(15);
};
}
public function sjarfn(_arg1:MouseEvent):void{
if ((((this.currentFrame == 15)) && (!(Witch.jarused)))){
if (MovieClip(this.parent).speedControl.sjar.hitTestObject(phit)){
MovieClip(this.parent).downbtn.visible = false;
MovieClip(this.parent).speedControl.sjar.removeEventListener(MouseEvent.MOUSE_UP, sjarfn);
MovieClip(this.parent).speedControl.sjar.visible = false;
Witch.jarused = true;
this.gotoAndPlay(16);
};
};
}
public function dfn12(_arg1:MouseEvent){
if (!Witch.jarused){
MovieClip(this.parent).speedControl.sjar.removeEventListener(MouseEvent.MOUSE_UP, sjarfn);
};
}
function frame124(){
stop();
}
function frame123(){
stop();
if (!Witch.iswand){
Witch.displayText(wandhit, "Magic Wand");
wandhit.addEventListener(MouseEvent.CLICK, wandhitfn);
};
if (Witch.iswand){
this.gotoAndStop(124);
};
}
public function wandhitfn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
wandhit.removeEventListener(MouseEvent.CLICK, wandhitfn);
MovieClip(this.parent).speedControl.swand.visible = true;
Witch.iswand = true;
this.gotoAndStop(124);
}
function frame57(){
MovieClip(this.parent).downbtn.visible = true;
}
function frame58(){
stop();
MovieClip(this.parent).downbtn.addEventListener(MouseEvent.CLICK, dfn11);
if (!Witch.handleused){
MovieClip(this.parent).speedControl.shandle.addEventListener(MouseEvent.MOUSE_UP, shandlefn);
};
if (Witch.handleused){
this.gotoAndStop(123);
};
}
function frame122(){
MovieClip(this.parent).downbtn.visible = true;
}
}
}//package WITCHTRAPESCAPE_fla
Section 76
//gameplay317_380 (WITCHTRAPESCAPE_fla.gameplay317_380)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay317_380 extends MovieClip {
public var wand:MovieClip;
public var phit:MovieClip;
public var wandhit:MovieClip;
public var handhit:MovieClip;
public function gameplay317_380(){
addFrameScript(0, frame1, 14, frame15, 57, frame58, 122, frame123, 123, frame124);
}
function frame15(){
stop();
if (Witch.jarused){
this.gotoAndStop(58);
};
}
function frame1(){
stop();
if (Witch.ashcount == 5){
this.gotoAndStop(15);
};
}
function frame124(){
stop();
}
function frame123(){
stop();
if (Witch.iswand){
this.gotoAndStop(124);
};
}
function frame58(){
stop();
if (Witch.handleused){
this.gotoAndStop(123);
};
}
}
}//package WITCHTRAPESCAPE_fla
Section 77
//gameplay321_420 (WITCHTRAPESCAPE_fla.gameplay321_420)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay321_420 extends MovieClip {
public function gameplay321_420(){
addFrameScript(0, frame1, 1, frame2, 9, frame10, 10, frame11);
}
function frame10(){
stop();
MovieClip(this.parent).downbtn.visible = true;
if (Witch.hatcount == 3){
if (Witch.hatcount == 3){
MovieClip(this.parent).fkey.visible = true;
MovieClip(this.parent).fkey.gotoAndPlay(2);
};
MovieClip(this.parent).speedControl.swand.visible = false;
this.gotoAndStop(11);
} else {
if (Witch.hatcount == 1){
MovieClip(this.parent).dust.visible = true;
MovieClip(this.parent).dust.gotoAndPlay(2);
};
if (Witch.hatcount == 2){
MovieClip(this.parent).broom.visible = true;
MovieClip(this.parent).broom.gotoAndPlay(2);
};
MovieClip(this.parent).speedControl.swand.visible = true;
this.gotoAndStop(1);
};
}
function frame1(){
stop();
}
function frame2(){
MovieClip(this.parent).downbtn.visible = false;
if (Witch.soundToggle){
Witch.sticksnd.play();
};
}
function frame11(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 78
//gameplay322_423 (WITCHTRAPESCAPE_fla.gameplay322_423)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay322_423 extends MovieClip {
public function gameplay322_423(){
addFrameScript(0, frame1, 20, frame21);
}
function frame1(){
stop();
}
function frame21(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 79
//gameplay324_435 (WITCHTRAPESCAPE_fla.gameplay324_435)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay324_435 extends MovieClip {
public function gameplay324_435(){
addFrameScript(45, frame46);
}
function frame46(){
stop();
if (MovieClip(this.parent.parent.parent).currentLabel == "6thview"){
MovieClip(this.parent.parent.parent).escapefn();
};
}
}
}//package WITCHTRAPESCAPE_fla
Section 80
//gameplay325_425 (WITCHTRAPESCAPE_fla.gameplay325_425)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay325_425 extends MovieClip {
public function gameplay325_425(){
addFrameScript(0, frame1, 26, frame27);
}
function frame1(){
stop();
}
function frame27(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 81
//gameplay342_134 (WITCHTRAPESCAPE_fla.gameplay342_134)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay342_134 extends MovieClip {
public function gameplay342_134(){
addFrameScript(0, frame1, 29, frame30);
}
function frame1(){
stop();
}
function frame30(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 82
//gameplay343_448 (WITCHTRAPESCAPE_fla.gameplay343_448)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay343_448 extends MovieClip {
public var l1:MovieClip;
public var key1:MovieClip;
public function gameplay343_448(){
addFrameScript(0, frame1, 5, frame6, 28, frame29, 29, frame30);
}
function frame6(){
if (Witch.soundToggle){
Witch.catsnd.play();
};
}
function frame29(){
MovieClip(this.parent).downbtn.visible = true;
}
function frame1(){
stop();
if (((Witch.iscat) && ((Witch.count == 0)))){
Witch.count++;
MovieClip(this.parent).downbtn.visible = false;
this.gotoAndPlay(2);
} else {
if (Witch.count > 0){
this.gotoAndStop(30);
};
};
}
function frame30(){
stop();
if ((((Witch.count > 0)) && (Witch.isg1a))){
l1.visible = false;
};
Witch.displayText(key1, "Key");
if (!Witch.iskey1){
key1.addEventListener(MouseEvent.CLICK, keyfn1);
};
if (Witch.iskey1){
key1.visible = false;
};
}
public function keyfn1(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
key1.removeEventListener(MouseEvent.CLICK, keyfn1);
key1.visible = false;
MovieClip(this.parent).speedControl.skey1.visible = true;
Witch.iskey1 = true;
}
}
}//package WITCHTRAPESCAPE_fla
Section 83
//gameplay345_128 (WITCHTRAPESCAPE_fla.gameplay345_128)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay345_128 extends MovieClip {
public var g1a:MovieClip;
public function gameplay345_128(){
addFrameScript(0, frame1, 1, frame2, 4, frame5, 5, frame6);
}
function frame6(){
stop();
if (((Witch.iscat) && (!(Witch.isg1a)))){
MovieClip(this.parent.parent).glasshit.addEventListener(MouseEvent.CLICK, glasshitfna);
};
if (Witch.isg1a){
this.gotoAndStop(1);
g1a.visible = false;
};
}
function frame1(){
stop();
}
function frame5(){
if (((!(Witch.iskey1)) && (Witch.iscat))){
MovieClip(this.parent.parent).gotoAndStop("catzoom");
};
}
function frame2(){
if (Witch.soundToggle){
Witch.mirrorsnd.play();
};
}
public function glasshitfna(_arg1:MouseEvent){
if (((Witch.key1used) && (Witch.once))){
MovieClip(this.parent.parent).glasshit.removeEventListener(MouseEvent.CLICK, glasshitfna);
MovieClip(this.parent.parent).speedControl.sg1.visible = true;
if (MovieClip(this.parent.parent).currentLabel == "1stview"){
MovieClip(this.parent.parent).glasshit.addEventListener(MouseEvent.CLICK, MovieClip(this.parent.parent).stonefn);
};
g1a.visible = false;
this.gotoAndStop(1);
Witch.isg1a = true;
};
}
}
}//package WITCHTRAPESCAPE_fla
Section 84
//gameplay352_177 (WITCHTRAPESCAPE_fla.gameplay352_177)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay352_177 extends MovieClip {
public var matchstick:MovieClip;
public var mhit1:MovieClip;
public var fire:MovieClip;
public function gameplay352_177(){
addFrameScript(0, frame1, 10, frame11, 16, frame17, 17, frame18, 30, frame31);
}
public function matchstickfn(_arg1:MouseEvent){
matchstick.removeEventListener(MouseEvent.CLICK, matchstickfn);
matchstick.visible = false;
MovieClip(this.parent.parent).speedControl.smatchstick.visible = true;
this.gotoAndPlay(12);
}
function frame18(){
if (Witch.soundToggle){
Witch.matchsnd.play();
};
}
function frame1(){
stop();
}
function frame17(){
stop();
if (!Witch.matchboxused){
MovieClip(this.parent.parent).speedControl.smatchstick.addEventListener(MouseEvent.MOUSE_UP, matchboxusedfn);
};
}
function frame31(){
stop();
Witch.matchboxused;
fire.addEventListener(MouseEvent.CLICK, firefn);
}
function frame11(){
stop();
matchstick.addEventListener(MouseEvent.CLICK, matchstickfn);
}
public function firefn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
fire.removeEventListener(MouseEvent.CLICK, firefn);
fire.visible = false;
MovieClip(this.parent.parent).speedControl.sfire.visible = true;
Witch.matchboxused = true;
}
public function matchboxusedfn(_arg1:MouseEvent):void{
if ((((currentFrame == 17)) && (!(Witch.matchboxused)))){
if (MovieClip(this.parent.parent).speedControl.smatchstick.hitTestObject(mhit1)){
MovieClip(this.parent.parent).speedControl.smatchstick.removeEventListener(MouseEvent.MOUSE_UP, matchboxusedfn);
MovieClip(this.parent.parent).speedControl.smatchstick.visible = false;
this.gotoAndPlay(18);
};
};
}
}
}//package WITCHTRAPESCAPE_fla
Section 85
//gameplay353_348 (WITCHTRAPESCAPE_fla.gameplay353_348)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay353_348 extends MovieClip {
public var matchstick:MovieClip;
public function gameplay353_348(){
addFrameScript(0, frame1, 10, frame11);
}
function frame1(){
stop();
}
function frame11(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 86
//gameplay354_520 (WITCHTRAPESCAPE_fla.gameplay354_520)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay354_520 extends MovieClip {
public var matchstick:MovieClip;
public function gameplay354_520(){
addFrameScript(0, frame1, 10, frame11);
}
function frame1(){
stop();
}
function frame11(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 87
//gameplay370_173 (WITCHTRAPESCAPE_fla.gameplay370_173)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay370_173 extends MovieClip {
public var bhit:MovieClip;
public function gameplay370_173(){
addFrameScript(0, frame1, 6, frame7, 23, frame24, 29, frame30);
}
function frame7(){
if (Witch.soundToggle){
Witch.booklocksnd.play();
};
}
function frame1(){
stop();
}
function frame24(){
stop();
bhit.addEventListener(MouseEvent.CLICK, bhitfn);
}
function frame30(){
stop();
if (!Witch.islift){
Witch.islift = true;
if (MovieClip(this.parent.parent).currentLabel == "groundzoom"){
MovieClip(this.parent.parent).carpet.addEventListener(MouseEvent.CLICK, MovieClip(this.parent.parent).carpetfn);
};
};
}
public function bhitfn(_arg1:MouseEvent){
bhit.removeEventListener(MouseEvent.CLICK, bhitfn);
this.gotoAndPlay(25);
}
}
}//package WITCHTRAPESCAPE_fla
Section 88
//gameplay40_463 (WITCHTRAPESCAPE_fla.gameplay40_463)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay40_463 extends MovieClip {
public var jar:MovieClip;
public var brick:MovieClip;
public var p1:MovieClip;
public var p2:MovieClip;
public var p3:MovieClip;
public var dda:MovieClip;
public function gameplay40_463(){
addFrameScript(0, frame1, 12, frame13, 19, frame20, 20, frame21);
}
public function jarfn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
jar.removeEventListener(MouseEvent.CLICK, jarfn);
jar.visible = false;
MovieClip(this.parent).speedControl.sjar.visible = true;
Witch.isjar = true;
}
function frame1(){
stop();
Witch.displayText(dda, "Cupboard");
}
function frame13(){
if (Witch.soundToggle){
Witch.cupboardsnd.play();
};
}
function frame21(){
stop();
Witch.displayText(jar, "Magical Liquid potion");
Witch.displayText(p1, "Boardpins");
Witch.displayText(p2, "Boardpins");
Witch.displayText(p3, "Boardpins");
Witch.displayText(brick, "Gold Brick");
if (!Witch.isjar){
jar.addEventListener(MouseEvent.CLICK, jarfn);
};
if (!Witch.isbrick){
brick.addEventListener(MouseEvent.CLICK, brickfn);
};
if (Witch.isbrick){
brick.visible = false;
};
if (!Witch.isp1){
p1.addEventListener(MouseEvent.CLICK, pinfn1);
};
if (!Witch.isp2){
p2.addEventListener(MouseEvent.CLICK, pinfn2);
};
if (!Witch.isp3){
p3.addEventListener(MouseEvent.CLICK, pinfn3);
};
if (Witch.isjar){
jar.visible = false;
};
if (Witch.isp1){
p1.visible = false;
};
if (Witch.isp2){
p2.visible = false;
};
if (Witch.isp3){
p3.visible = false;
};
}
function frame20(){
MovieClip(this.parent).downbtn.visible = true;
}
public function pinfn2(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
p2.removeEventListener(MouseEvent.CLICK, pinfn2);
p2.visible = false;
MovieClip(this.parent).speedControl.sp2.visible = true;
Witch.isp2 = true;
}
public function pinfn1(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
p1.removeEventListener(MouseEvent.CLICK, pinfn1);
p1.visible = false;
MovieClip(this.parent).speedControl.sp1.visible = true;
Witch.isp1 = true;
}
public function pinfn3(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
p3.removeEventListener(MouseEvent.CLICK, pinfn3);
p3.visible = false;
MovieClip(this.parent).speedControl.sp3.visible = true;
Witch.isp3 = true;
}
public function brickfn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
brick.removeEventListener(MouseEvent.CLICK, brickfn);
brick.visible = false;
MovieClip(this.parent).speedControl.sbrick.visible = true;
Witch.isbrick = true;
}
}
}//package WITCHTRAPESCAPE_fla
Section 89
//gameplay41_114 (WITCHTRAPESCAPE_fla.gameplay41_114)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay41_114 extends MovieClip {
public var jar:MovieClip;
public var brick:MovieClip;
public var p1:MovieClip;
public var p2:MovieClip;
public var p3:MovieClip;
public function gameplay41_114(){
addFrameScript(0, frame1, 19, frame20, 20, frame21);
}
function frame1(){
stop();
}
function frame21(){
stop();
if (Witch.isjar){
jar.visible = false;
};
if (Witch.isp1){
p1.visible = false;
};
if (Witch.isp2){
p2.visible = false;
};
if (Witch.isp3){
p3.visible = false;
};
if (Witch.isbrick){
brick.visible = false;
};
}
function frame20(){
MovieClip(this.parent).downbtn.visible = true;
}
}
}//package WITCHTRAPESCAPE_fla
Section 90
//gameplay43_146 (WITCHTRAPESCAPE_fla.gameplay43_146)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay43_146 extends MovieClip {
public function gameplay43_146(){
addFrameScript(0, frame1, 2, frame3, 34, frame35);
}
function frame3(){
if (Witch.soundToggle){
Witch.gatesnd.play();
};
}
function frame1(){
stop();
}
function frame35(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 91
//gameplay456_198 (WITCHTRAPESCAPE_fla.gameplay456_198)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay456_198 extends MovieClip {
public var Line:MovieClip;
}
}//package WITCHTRAPESCAPE_fla
Section 92
//gameplay457_194 (WITCHTRAPESCAPE_fla.gameplay457_194)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay457_194 extends MovieClip {
public var sndon:SimpleButton;
public var sndoff:MovieClip;
public function gameplay457_194(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 93
//gameplay46_376 (WITCHTRAPESCAPE_fla.gameplay46_376)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay46_376 extends MovieClip {
public var exit:MovieClip;
public var shot6:MovieClip;
public function gameplay46_376(){
addFrameScript(0, frame1, 1, frame2, 27, frame28);
}
function frame1(){
stop();
}
function frame2(){
}
function frame28(){
stop();
if (MovieClip(this.parent.parent).currentLabel == "6thview"){
MovieClip(this.parent.parent).escapefn();
};
}
}
}//package WITCHTRAPESCAPE_fla
Section 94
//gameplay461_203 (WITCHTRAPESCAPE_fla.gameplay461_203)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay461_203 extends MovieClip {
public var sd1:MovieClip;
public var sd2:MovieClip;
public var sworm:MovieClip;
public var smap:MovieClip;
public var shook:MovieClip;
public var sknife:MovieClip;
public var sd3:MovieClip;
public var sskullcoin:MovieClip;
public var sg1:MovieClip;
public var sg3:MovieClip;
public var sg4:MovieClip;
public var shandle:MovieClip;
public var sg2:MovieClip;
public var i:int;
public var memoryindex:Number;
public var srod:MovieClip;
public var sgear:MovieClip;
public var sfrog:MovieClip;
public var skey1:MovieClip;
public var skey2:MovieClip;
public var sbrush:MovieClip;
public var skey4:MovieClip;
public var skey5:MovieClip;
public var smatchstick:MovieClip;
public var skey3:MovieClip;
public var sbat:MovieClip;
public var sskull:MovieClip;
public var sjar:MovieClip;
public var index:Number;
public var ypositionArray:Array;
public var ssnake:MovieClip;
public var shook1:MovieClip;
public var memory:String;
public var itemArray:Array;
public var swand:MovieClip;
public var sfire:MovieClip;
public var sspider:MovieClip;
public var xpositionArray:Array;
public var smatchbox:MovieClip;
public var sp2:MovieClip;
public var sp3:MovieClip;
public var sp1:MovieClip;
public var sdust:MovieClip;
public var sbroom:MovieClip;
public var sbrick:MovieClip;
public var sbone:MovieClip;
public var ss1:MovieClip;
public var sstone:MovieClip;
public var ss3:MovieClip;
public var ss4:MovieClip;
public var ss2:MovieClip;
public var sbook:MovieClip;
public var sc1:MovieClip;
public var sc3:MovieClip;
public var sc4:MovieClip;
public var memoryBoolean:Boolean;
public var sc2:MovieClip;
public var slog:MovieClip;
public var smirror:MovieClip;
public var rect:Rectangle;
public function gameplay461_203(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
itemArray = [sg1, sg2, sg3, sg4, sknife, sbook, skey1, sworm, skey2, sstone, skey3, skey4, skey5, sd1, sd2, sd3, sp1, sp2, sp3, sjar, sbone, sbrick, slog, shook, shook1, smap, ss1, ss2, ss3, ss4, sbrush, smatchbox, sc1, sc2, sc3, sc4, sgear, sdust, swand, sbroom, smirror, sskullcoin, srod, smatchstick, sfire, sskull, sbat, sfrog, ssnake, sspider, shandle];
xpositionArray = new Array();
ypositionArray = new Array();
rect = new Rectangle(-20, 10, 1100, -530);
memoryBoolean = false;
i = 0;
while (i < itemArray.length) {
itemArray[i].visible = false;
itemArray[i].mouseChildren = false;
itemArray[i].buttonMode = true;
xpositionArray.push(itemArray[i].x);
ypositionArray.push(itemArray[i].y);
i++;
};
this.addEventListener(MouseEvent.MOUSE_DOWN, scrollOver);
stage.addEventListener(MouseEvent.MOUSE_UP, stopScroll);
}
public function scrollOver(_arg1:MouseEvent):void{
if ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((_arg1.target.name == "sknife")) || ((_arg1.target.name == "skey1")))) || ((_arg1.target.name == "skey2")))) || ((_arg1.target.name == "skey3")))) || ((_arg1.target.name == "skey4")))) || ((_arg1.target.name == "skey5")))) || ((_arg1.target.name == "sbone")))) || ((_arg1.target.name == "sworm")))) || ((_arg1.target.name == "sstone")))) || ((_arg1.target.name == "sd1")))) || ((_arg1.target.name == "sd2")))) || ((_arg1.target.name == "sd3")))) || ((_arg1.target.name == "sp1")))) || ((_arg1.target.name == "sp2")))) || ((_arg1.target.name == "sp3")))) || ((_arg1.target.name == "sjar")))) || ((_arg1.target.name == "sbrick")))) || ((_arg1.target.name == "slog")))) || ((_arg1.target.name == "shook1")))) || ((_arg1.target.name == "ss1")))) || ((_arg1.target.name == "ss2")))) || ((_arg1.target.name == "ss3")))) || ((_arg1.target.name == "ss4")))) || ((_arg1.target.name == "sc1")))) || ((_arg1.target.name == "sc2")))) || ((_arg1.target.name == "sc3")))) || ((_arg1.target.name == "sc4")))) || ((_arg1.target.name == "sbrush")))) || ((_arg1.target.name == "sgear")))) || ((_arg1.target.name == "sdust")))) || ((_arg1.target.name == "swand")))) || ((_arg1.target.name == "sbroom")))) || ((_arg1.target.name == "smirror")))) || ((_arg1.target.name == "sskullcoin")))) || ((_arg1.target.name == "srod")))) || ((_arg1.target.name == "smatchstick")))) || ((_arg1.target.name == "sfire")))) || ((_arg1.target.name == "sskull")))) || ((_arg1.target.name == "sbat")))) || ((_arg1.target.name == "sfrog")))) || ((_arg1.target.name == "ssnake")))) || ((_arg1.target.name == "sspider")))) || ((_arg1.target.name == "shandle")))){
Witch.textBoolean = true;
memory = _arg1.target.name;
this.setChildIndex((_arg1.target as MovieClip), (this.numChildren - 1));
_arg1.target.startDrag(true, rect);
} else {
if ((((((((_arg1.target.name == "sg1")) || ((_arg1.target.name == "sg2")))) || ((_arg1.target.name == "sg3")))) || ((_arg1.target.name == "sg4")))){
Witch.textBoolean = true;
memory = _arg1.target.name;
if (((((((Witch.isg1) && (Witch.isg2))) && (Witch.isg3))) && (Witch.isg4))){
if (((((((!((MovieClip(this.parent).window3.x == 15))) && (!((MovieClip(this.parent).window2.x == 15))))) && (!((MovieClip(this.parent).window4.x == 15))))) && (!((MovieClip(this.parent).window5.x == 15))))){
sg1.visible = false;
sg2.visible = false;
sg3.visible = false;
sg4.visible = false;
MovieClip(this.parent).window1.x = 15;
};
} else {
this.setChildIndex((_arg1.target as MovieClip), (this.numChildren - 1));
_arg1.target.startDrag(true, rect);
};
} else {
if (_arg1.target.name == "shook"){
if (((((((!((MovieClip(this.parent).window3.x == 15))) && (!((MovieClip(this.parent).window1.x == 15))))) && (!((MovieClip(this.parent).window4.x == 15))))) && (!((MovieClip(this.parent).window5.x == 15))))){
Witch.textBoolean = true;
memory = _arg1.target.name;
shook.visible = false;
MovieClip(this.parent).window2.x = 15;
};
} else {
if (_arg1.target.name == "smap"){
if (((((((!((MovieClip(this.parent).window1.x == 15))) && (!((MovieClip(this.parent).window2.x == 15))))) && (!((MovieClip(this.parent).window4.x == 15))))) && (!((MovieClip(this.parent).window5.x == 15))))){
Witch.textBoolean = true;
memory = _arg1.target.name;
smap.visible = false;
MovieClip(this.parent).window3.x = 15;
};
} else {
if (_arg1.target.name == "sbook"){
if (((((((!((MovieClip(this.parent).window1.x == 15))) && (!((MovieClip(this.parent).window2.x == 15))))) && (!((MovieClip(this.parent).window3.x == 15))))) && (!((MovieClip(this.parent).window5.x == 15))))){
Witch.textBoolean = true;
memory = _arg1.target.name;
sbook.visible = false;
MovieClip(this.parent).window4.x = 15;
};
} else {
if (_arg1.target.name == "smatchbox"){
if (((((((!((MovieClip(this.parent).window1.x == 15))) && (!((MovieClip(this.parent).window2.x == 15))))) && (!((MovieClip(this.parent).window3.x == 15))))) && (!((MovieClip(this.parent).window4.x == 15))))){
Witch.textBoolean = true;
memory = _arg1.target.name;
smatchbox.visible = false;
MovieClip(this.parent).window5.x = 15;
};
};
};
};
};
};
};
if (_arg1.target.name == "sworm"){
MovieClip(this.parent).info.text = "Worm";
};
if (_arg1.target.name == "shandle"){
MovieClip(this.parent).info.text = "Laddle";
};
if (_arg1.target.name == "sspider"){
MovieClip(this.parent).info.text = "Spider";
};
if (_arg1.target.name == "ssnake"){
MovieClip(this.parent).info.text = "Snake";
};
if (_arg1.target.name == "sfrog"){
MovieClip(this.parent).info.text = "Frog";
};
if (_arg1.target.name == "sbat"){
MovieClip(this.parent).info.text = "Bat";
};
if (_arg1.target.name == "sfire"){
MovieClip(this.parent).info.text = "Match Stick With Fire";
};
if (_arg1.target.name == "smatchstick"){
MovieClip(this.parent).info.text = "Match Stick";
};
if (_arg1.target.name == "srod"){
MovieClip(this.parent).info.text = "Iron Rod";
};
if (_arg1.target.name == "smirror"){
MovieClip(this.parent).info.text = "Magical Mirror";
};
if (_arg1.target.name == "sbroom"){
MovieClip(this.parent).info.text = "Magical Broom";
};
if (_arg1.target.name == "swand"){
MovieClip(this.parent).info.text = "Magical Wand";
};
if (_arg1.target.name == "sdust"){
MovieClip(this.parent).info.text = "Magical Dust";
};
if (_arg1.target.name == "sgear"){
MovieClip(this.parent).info.text = "Gear";
};
if (_arg1.target.name == "smatchbox"){
MovieClip(this.parent).info.text = "Match Box";
};
if (_arg1.target.name == "sbrush"){
MovieClip(this.parent).info.text = "Brush";
};
if (_arg1.target.name == "smap"){
MovieClip(this.parent).info.text = "Old Parchment";
};
if (_arg1.target.name == "slog"){
MovieClip(this.parent).info.text = "Wooden Plank";
};
if (_arg1.target.name == "sbrick"){
MovieClip(this.parent).info.text = "Golden Brick";
};
if (_arg1.target.name == "sjar"){
MovieClip(this.parent).info.text = "Magical liquid potion";
};
if (_arg1.target.name == "shook"){
MovieClip(this.parent).info.text = "Fishing Rod";
};
if (_arg1.target.name == "shook1"){
MovieClip(this.parent).info.text = "Fishing Rod with Worm";
};
if (_arg1.target.name == "sstone"){
MovieClip(this.parent).info.text = "Stone";
};
if (_arg1.target.name == "sknife"){
MovieClip(this.parent).info.text = "Knife";
};
if (_arg1.target.name == "sbook"){
MovieClip(this.parent).info.text = "Magical Book";
};
if ((((((((((_arg1.target.name == "skey1")) || ((_arg1.target.name == "skey2")))) || ((_arg1.target.name == "skey3")))) || ((_arg1.target.name == "skey4")))) || ((_arg1.target.name == "skey5")))){
MovieClip(this.parent).info.text = "Key";
};
if ((((((((((_arg1.target.name == "sskullcoin")) || ((_arg1.target.name == "ss1")))) || ((_arg1.target.name == "ss2")))) || ((_arg1.target.name == "ss3")))) || ((_arg1.target.name == "ss4")))){
MovieClip(this.parent).info.text = "Antique Coin";
};
if ((((((((_arg1.target.name == "sc1")) || ((_arg1.target.name == "sc2")))) || ((_arg1.target.name == "sc3")))) || ((_arg1.target.name == "sc4")))){
MovieClip(this.parent).info.text = "Candle";
};
if ((((((_arg1.target.name == "sd1")) || ((_arg1.target.name == "sd2")))) || ((_arg1.target.name == "sd3")))){
MovieClip(this.parent).info.text = "Diamond";
};
if ((((((_arg1.target.name == "sp1")) || ((_arg1.target.name == "sp2")))) || ((_arg1.target.name == "sp3")))){
MovieClip(this.parent).info.text = "Board Pin";
};
if ((((((((_arg1.target.name == "sg1")) || ((_arg1.target.name == "sg2")))) || ((_arg1.target.name == "sg3")))) || ((_arg1.target.name == "sg4")))){
MovieClip(this.parent).info.text = "Glass Piece";
};
if (_arg1.target.name == "sbone"){
MovieClip(this.parent).info.text = "Bone";
};
if (_arg1.target.name == "sskull"){
MovieClip(this.parent).info.text = "Skull";
};
}
public function stopScroll(_arg1:MouseEvent):void{
stopDrag();
MovieClip(this.parent).info.text = " ";
if ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((_arg1.target.name == "sg1")) || ((_arg1.target.name == "sg2")))) || ((_arg1.target.name == "sg3")))) || ((_arg1.target.name == "sg4")))) || ((_arg1.target.name == "sknife")))) || ((_arg1.target.name == "skey1")))) || ((_arg1.target.name == "skey2")))) || ((_arg1.target.name == "skey3")))) || ((_arg1.target.name == "skey4")))) || ((_arg1.target.name == "skey5")))) || ((_arg1.target.name == "sbone")))) || ((_arg1.target.name == "sbook")))) || ((_arg1.target.name == "sworm")))) || ((_arg1.target.name == "sstone")))) || ((_arg1.target.name == "sd1")))) || ((_arg1.target.name == "sd2")))) || ((_arg1.target.name == "sd3")))) || ((_arg1.target.name == "sp1")))) || ((_arg1.target.name == "sp2")))) || ((_arg1.target.name == "sp3")))) || ((_arg1.target.name == "sjar")))) || ((_arg1.target.name == "sbrick")))) || ((_arg1.target.name == "slog")))) || ((_arg1.target.name == "shook")))) || ((_arg1.target.name == "shook1")))) || ((_arg1.target.name == "ss1")))) || ((_arg1.target.name == "ss2")))) || ((_arg1.target.name == "ss3")))) || ((_arg1.target.name == "ss4")))) || ((_arg1.target.name == "sc1")))) || ((_arg1.target.name == "sc2")))) || ((_arg1.target.name == "sc3")))) || ((_arg1.target.name == "sc4")))) || ((_arg1.target.name == "sbrush")))) || ((_arg1.target.name == "smap")))) || ((_arg1.target.name == "smatchbox")))) || ((_arg1.target.name == "sgear")))) || ((_arg1.target.name == "sdust")))) || ((_arg1.target.name == "swand")))) || ((_arg1.target.name == "sbroom")))) || ((_arg1.target.name == "smirror")))) || ((_arg1.target.name == "sskullcoin")))) || ((_arg1.target.name == "srod")))) || ((_arg1.target.name == "smatchstick")))) || ((_arg1.target.name == "sfire")))) || ((_arg1.target.name == "sskull")))) || ((_arg1.target.name == "sbat")))) || ((_arg1.target.name == "sfrog")))) || ((_arg1.target.name == "ssnake")))) || ((_arg1.target.name == "sspider")))) || ((_arg1.target.name == "shandle")))){
Witch.textBoolean = false;
index = itemArray.indexOf(_arg1.target);
_arg1.target.x = xpositionArray[index];
_arg1.target.y = ypositionArray[index];
memoryBoolean = true;
};
if ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((memory == "sg1")) || ((memory == "sg2")))) || ((memory == "sg3")))) || ((memory == "sg4")))) || ((memory == "sknife")))) || ((memory == "skey1")))) || ((memory == "skey2")))) || ((memory == "skey3")))) || ((memory == "skey4")))) || ((memory == "skey5")))) || ((memory == "sbone")))) || ((memory == "sbook")))) || ((memory == "sbook1")))) || ((memory == "sstone")))) || ((memory == "sd1")))) || ((memory == "sd2")))) || ((memory == "sd3")))) || ((memory == "sp1")))) || ((memory == "sp2")))) || ((memory == "sp3")))) || ((memory == "sjar")))) || ((memory == "sbrick")))) || ((memory == "slog")))) || ((memory == "shook")))) || ((memory == "shook1")))) || ((memory == "ss1")))) || ((memory == "ss2")))) || ((memory == "ss3")))) || ((memory == "ss4")))) || ((memory == "sc1")))) || ((memory == "sc2")))) || ((memory == "sc3")))) || ((memory == "sc4")))) || ((memory == "smap")))) || ((memory == "sbrush")))) || ((memory == "smatchbox")))) || ((memory == "sgear")))) || ((memory == "sdust")))) || ((memory == "swand")))) || ((memory == "sbroom")))) || ((memory == "smirror")))) || ((memory == "sskullcoin")))) || ((memory == "srod")))) || ((memory == "smatchstick")))) || ((memory == "sfire")))) || ((memory == "sskull")))) || ((memory == "sbat")))) || ((memory == "sfrog")))) || ((memory == "ssnake")))) || ((memory == "sspider")))) || ((memory == "shandle")))){
if (!memoryBoolean){
Witch.textBoolean = false;
memoryindex = itemArray.indexOf(MovieClip(getChildByName(memory)));
MovieClip(this.getChildByName(memory)).x = xpositionArray[memoryindex];
MovieClip(this.getChildByName(memory)).y = ypositionArray[memoryindex];
};
};
memory = "";
memoryBoolean = false;
}
}
}//package WITCHTRAPESCAPE_fla
Section 95
//gameplay464_247 (WITCHTRAPESCAPE_fla.gameplay464_247)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
public dynamic class gameplay464_247 extends MovieClip {
public var hit1:MovieClip;
public var block:MovieClip;
public function gameplay464_247(){
addFrameScript(0, frame1, 1, frame2);
}
public function pauseEnable(_arg1:MouseEvent){
Witch.timer.start();
Witch.inPassMode = false;
gotoAndStop(1);
if (Witch.soundToggle){
Witch.sndChn1 = Witch.mybg.play(0, int.MAX_VALUE);
};
}
function frame1(){
stop();
}
function frame2(){
hit1.buttonMode = true;
hit1.addEventListener(MouseEvent.CLICK, pauseEnable);
block.buttonMode = false;
}
}
}//package WITCHTRAPESCAPE_fla
Section 96
//gameplay46copy_338 (WITCHTRAPESCAPE_fla.gameplay46copy_338)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
public dynamic class gameplay46copy_338 extends MovieClip {
public var exit:MovieClip;
public var shot6:MovieClip;
public function gameplay46copy_338(){
addFrameScript(0, frame1, 1, frame2, 27, frame28);
}
public function shot6fn(_arg1:MouseEvent){
shot6.removeEventListener(MouseEvent.CLICK, shot6fn);
MovieClip(this.parent).gotoAndStop("6thview");
}
function frame1(){
stop();
}
function frame2(){
if (Witch.soundToggle){
Witch.doorsnd.play();
};
}
function frame28(){
stop();
if (!Witch.isseen6){
Witch.isseen6 = true;
};
shot6.addEventListener(MouseEvent.CLICK, shot6fn);
}
}
}//package WITCHTRAPESCAPE_fla
Section 97
//gameplay474_480 (WITCHTRAPESCAPE_fla.gameplay474_480)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay474_480 extends MovieClip {
public function gameplay474_480(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 98
//gameplay475_90 (WITCHTRAPESCAPE_fla.gameplay475_90)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay475_90 extends MovieClip {
public function gameplay475_90(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 99
//gameplay477_481 (WITCHTRAPESCAPE_fla.gameplay477_481)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay477_481 extends MovieClip {
public function gameplay477_481(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 100
//gameplay478_92 (WITCHTRAPESCAPE_fla.gameplay478_92)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay478_92 extends MovieClip {
public function gameplay478_92(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 101
//gameplay480_482 (WITCHTRAPESCAPE_fla.gameplay480_482)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay480_482 extends MovieClip {
public function gameplay480_482(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 102
//gameplay481_94 (WITCHTRAPESCAPE_fla.gameplay481_94)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay481_94 extends MovieClip {
public function gameplay481_94(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 103
//gameplay483_153 (WITCHTRAPESCAPE_fla.gameplay483_153)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay483_153 extends MovieClip {
public var close:SimpleButton;
public var b1hit:MovieClip;
public var b4hit:MovieClip;
public var imirror:MovieClip;
public var v1:MovieClip;
public var v2:MovieClip;
public var b2hit:MovieClip;
public var v3:MovieClip;
public var v4:MovieClip;
public var b3hit:MovieClip;
public function gameplay483_153(){
addFrameScript(0, frame1);
}
public function getFun81(_arg1:MouseEvent):void{
if (!Witch.mirrorFixed){
MovieClip(this.parent).speedControl.sg1.visible = true;
MovieClip(this.parent).speedControl.sg2.visible = true;
MovieClip(this.parent).speedControl.sg3.visible = true;
MovieClip(this.parent).speedControl.sg4.visible = true;
} else {
MovieClip(this.parent).speedControl.smirror.visible = true;
};
this.x = 1500;
}
public function removefn(){
Witch.mirrorFixed = true;
imirror.visible = true;
imirror.gotoAndPlay(2);
v1.visible = false;
v2.visible = false;
v3.visible = false;
v4.visible = false;
v1.removeEventListener(MouseEvent.MOUSE_DOWN, dfn1);
v1.removeEventListener(MouseEvent.MOUSE_UP, ufn1);
v2.removeEventListener(MouseEvent.MOUSE_DOWN, dfn2);
v2.removeEventListener(MouseEvent.MOUSE_UP, ufn2);
v3.removeEventListener(MouseEvent.MOUSE_DOWN, dfn3);
v3.removeEventListener(MouseEvent.MOUSE_UP, ufn3);
v4.removeEventListener(MouseEvent.MOUSE_DOWN, dfn4);
v4.removeEventListener(MouseEvent.MOUSE_UP, ufn4);
}
function frame1(){
imirror.visible = false;
close.addEventListener(MouseEvent.CLICK, getFun81);
v1.addEventListener(MouseEvent.MOUSE_DOWN, dfn1);
v1.addEventListener(MouseEvent.MOUSE_UP, ufn1);
v2.addEventListener(MouseEvent.MOUSE_DOWN, dfn2);
v2.addEventListener(MouseEvent.MOUSE_UP, ufn2);
v3.addEventListener(MouseEvent.MOUSE_DOWN, dfn3);
v3.addEventListener(MouseEvent.MOUSE_UP, ufn3);
v4.addEventListener(MouseEvent.MOUSE_DOWN, dfn4);
v4.addEventListener(MouseEvent.MOUSE_UP, ufn4);
}
public function dfn3(_arg1:MouseEvent){
if (!(((((((((v1.x == b1hit.x)) && ((v1.y == b1hit.y)))) && ((((v2.x == b2hit.x)) && ((v2.y == b2hit.y)))))) && ((((v3.x == b3hit.x)) && ((v3.y == b3hit.y)))))) && ((((v4.x == b4hit.x)) && ((v4.y == b4hit.y)))))){
v3.startDrag();
};
}
public function dfn2(_arg1:MouseEvent){
if (!(((((((((v1.x == b1hit.x)) && ((v1.y == b1hit.y)))) && ((((v2.x == b2hit.x)) && ((v2.y == b2hit.y)))))) && ((((v3.x == b3hit.x)) && ((v3.y == b3hit.y)))))) && ((((v4.x == b4hit.x)) && ((v4.y == b4hit.y)))))){
v2.startDrag();
};
}
public function dfn4(_arg1:MouseEvent){
if (!(((((((((v1.x == b1hit.x)) && ((v1.y == b1hit.y)))) && ((((v2.x == b2hit.x)) && ((v2.y == b2hit.y)))))) && ((((v3.x == b3hit.x)) && ((v3.y == b3hit.y)))))) && ((((v4.x == b4hit.x)) && ((v4.y == b4hit.y)))))){
v4.startDrag();
};
}
public function dfn1(_arg1:MouseEvent){
if (!(((((((((v1.x == b1hit.x)) && ((v1.y == b1hit.y)))) && ((((v2.x == b2hit.x)) && ((v2.y == b2hit.y)))))) && ((((v3.x == b3hit.x)) && ((v3.y == b3hit.y)))))) && ((((v4.x == b4hit.x)) && ((v4.y == b4hit.y)))))){
v1.startDrag();
};
}
public function ufn1(_arg1:MouseEvent){
v1.stopDrag();
if (!(((((((((v1.x == b1hit.x)) && ((v1.y == b1hit.y)))) && ((((v2.x == b2hit.x)) && ((v2.y == b2hit.y)))))) && ((((v3.x == b3hit.x)) && ((v3.y == b3hit.y)))))) && ((((v4.x == b4hit.x)) && ((v4.y == b4hit.y)))))){
if (v1.hitTestObject(b1hit)){
v1.x = b1hit.x;
v1.y = b1hit.y;
};
if ((((((((((v1.x == b1hit.x)) && ((v1.y == b1hit.y)))) && ((((v2.x == b2hit.x)) && ((v2.y == b2hit.y)))))) && ((((v3.x == b3hit.x)) && ((v3.y == b3hit.y)))))) && ((((v4.x == b4hit.x)) && ((v4.y == b4hit.y)))))){
removefn();
};
};
}
public function ufn2(_arg1:MouseEvent){
v2.stopDrag();
if (!(((((((((v1.x == b1hit.x)) && ((v1.y == b1hit.y)))) && ((((v2.x == b2hit.x)) && ((v2.y == b2hit.y)))))) && ((((v3.x == b3hit.x)) && ((v3.y == b3hit.y)))))) && ((((v4.x == b4hit.x)) && ((v4.y == b4hit.y)))))){
if (v2.hitTestObject(b2hit)){
v2.x = b2hit.x;
v2.y = b2hit.y;
};
if ((((((((((v1.x == b1hit.x)) && ((v1.y == b1hit.y)))) && ((((v2.x == b2hit.x)) && ((v2.y == b2hit.y)))))) && ((((v3.x == b3hit.x)) && ((v3.y == b3hit.y)))))) && ((((v4.x == b4hit.x)) && ((v4.y == b4hit.y)))))){
removefn();
};
};
}
public function ufn3(_arg1:MouseEvent){
v3.stopDrag();
if (!(((((((((v1.x == b1hit.x)) && ((v1.y == b1hit.y)))) && ((((v2.x == b2hit.x)) && ((v2.y == b2hit.y)))))) && ((((v3.x == b3hit.x)) && ((v3.y == b3hit.y)))))) && ((((v4.x == b4hit.x)) && ((v4.y == b4hit.y)))))){
if (v3.hitTestObject(b3hit)){
v3.x = b3hit.x;
v3.y = b3hit.y;
};
if ((((((((((v1.x == b1hit.x)) && ((v1.y == b1hit.y)))) && ((((v2.x == b2hit.x)) && ((v2.y == b2hit.y)))))) && ((((v3.x == b3hit.x)) && ((v3.y == b3hit.y)))))) && ((((v4.x == b4hit.x)) && ((v4.y == b4hit.y)))))){
removefn();
};
};
}
public function ufn4(_arg1:MouseEvent){
v4.stopDrag();
if (!(((((((((v1.x == b1hit.x)) && ((v1.y == b1hit.y)))) && ((((v2.x == b2hit.x)) && ((v2.y == b2hit.y)))))) && ((((v3.x == b3hit.x)) && ((v3.y == b3hit.y)))))) && ((((v4.x == b4hit.x)) && ((v4.y == b4hit.y)))))){
if (v4.hitTestObject(b4hit)){
v4.x = b4hit.x;
v4.y = b4hit.y;
};
if ((((((((((v1.x == b1hit.x)) && ((v1.y == b1hit.y)))) && ((((v2.x == b2hit.x)) && ((v2.y == b2hit.y)))))) && ((((v3.x == b3hit.x)) && ((v3.y == b3hit.y)))))) && ((((v4.x == b4hit.x)) && ((v4.y == b4hit.y)))))){
removefn();
};
};
}
}
}//package WITCHTRAPESCAPE_fla
Section 104
//gameplay484_164 (WITCHTRAPESCAPE_fla.gameplay484_164)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay484_164 extends MovieClip {
public var ihook:MovieClip;
public var close:SimpleButton;
public function gameplay484_164(){
addFrameScript(0, frame1);
}
public function wormusedfn(_arg1:MouseEvent):void{
if (MovieClip(this.parent).speedControl.sworm.hitTestObject(ihook)){
MovieClip(this.parent).speedControl.sworm.removeEventListener(MouseEvent.MOUSE_UP, wormusedfn);
MovieClip(this.parent).speedControl.sworm.visible = false;
Witch.wormused = true;
ihook.gotoAndStop(2);
};
}
function frame1(){
close.addEventListener(MouseEvent.CLICK, getFun81a);
if (!Witch.wormused){
MovieClip(this.parent).speedControl.sworm.addEventListener(MouseEvent.MOUSE_UP, wormusedfn);
};
}
public function getFun81a(_arg1:MouseEvent):void{
MovieClip(this.parent).speedControl.shook.visible = true;
if (Witch.wormused){
MovieClip(this.parent).speedControl.shook.parent.removeChild(MovieClip(this.parent).speedControl.shook);
MovieClip(this.parent).speedControl.shook1.visible = true;
};
this.x = 1500;
}
}
}//package WITCHTRAPESCAPE_fla
Section 105
//gameplay485_172 (WITCHTRAPESCAPE_fla.gameplay485_172)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay485_172 extends MovieClip {
public var ibook:MovieClip;
public var close:SimpleButton;
public function gameplay485_172(){
addFrameScript(0, frame1);
}
function frame1(){
close.addEventListener(MouseEvent.CLICK, getFun81ab);
if (!Witch.rodused){
MovieClip(this.parent).speedControl.srod.addEventListener(MouseEvent.MOUSE_UP, rodusedfn);
};
}
public function getFun81ab(_arg1:MouseEvent):void{
MovieClip(this.parent).speedControl.sbook.visible = true;
this.x = 1500;
}
public function rodusedfn(_arg1:MouseEvent):void{
if (MovieClip(this.parent).speedControl.srod.hitTestObject(ibook)){
MovieClip(this.parent).speedControl.srod.removeEventListener(MouseEvent.MOUSE_UP, rodusedfn);
MovieClip(this.parent).speedControl.srod.visible = false;
ibook.gotoAndPlay(2);
};
}
}
}//package WITCHTRAPESCAPE_fla
Section 106
//gameplay486_176 (WITCHTRAPESCAPE_fla.gameplay486_176)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay486_176 extends MovieClip {
public var imatch:MovieClip;
public var close:SimpleButton;
public function gameplay486_176(){
addFrameScript(0, frame1);
}
function frame1(){
close.addEventListener(MouseEvent.CLICK, getFun81c);
imatch.addEventListener(MouseEvent.CLICK, imatchfn);
}
public function getFun81c(_arg1:MouseEvent):void{
if (!Witch.matchboxused){
MovieClip(this.parent).speedControl.smatchbox.visible = true;
};
this.x = 1500;
}
public function imatchfn(_arg1:MouseEvent){
imatch.removeEventListener(MouseEvent.CLICK, imatchfn);
if (imatch.currentFrame == 1){
imatch.gotoAndPlay(2);
};
}
}
}//package WITCHTRAPESCAPE_fla
Section 107
//gameplay487_168 (WITCHTRAPESCAPE_fla.gameplay487_168)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay487_168 extends MovieClip {
public var close:SimpleButton;
public function gameplay487_168(){
addFrameScript(0, frame1);
}
function frame1(){
close.addEventListener(MouseEvent.CLICK, getFun81a);
}
public function getFun81a(_arg1:MouseEvent):void{
MovieClip(this.parent).speedControl.smap.visible = true;
this.x = 1500;
}
}
}//package WITCHTRAPESCAPE_fla
Section 108
//gameplay496_250 (WITCHTRAPESCAPE_fla.gameplay496_250)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay496_250 extends MovieClip {
public function gameplay496_250(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 109
//gameplay497_216 (WITCHTRAPESCAPE_fla.gameplay497_216)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay497_216 extends MovieClip {
public function gameplay497_216(){
addFrameScript(0, frame1, 1, frame2, 5, frame6);
}
function frame6(){
stop();
}
function frame1(){
stop();
}
function frame2(){
if (Witch.soundToggle){
Witch.mirrorsnd.play();
};
}
}
}//package WITCHTRAPESCAPE_fla
Section 110
//gameplay498_156 (WITCHTRAPESCAPE_fla.gameplay498_156)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay498_156 extends MovieClip {
public function gameplay498_156(){
addFrameScript(0, frame1, 26, frame27);
}
function frame1(){
stop();
}
function frame27(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 111
//gameplay505_492 (WITCHTRAPESCAPE_fla.gameplay505_492)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay505_492 extends MovieClip {
public var hook:MovieClip;
public var brickhit:MovieClip;
public var gf:MovieClip;
public function gameplay505_492(){
addFrameScript(0, frame1, 43, frame44, 44, frame45, 56, frame57);
}
public function mfn(_arg1:MouseEvent){
if (!Witch.brickused){
MovieClip(this.parent).speedControl.sbrick.removeEventListener(MouseEvent.MOUSE_UP, sbrickfn);
};
}
public function hookfn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
MovieClip(this.parent).hookhit.removeEventListener(MouseEvent.CLICK, hookfn);
hook.visible = false;
MovieClip(this.parent).hookhit.parent.removeChild(MovieClip(this.parent).hookhit);
MovieClip(this.parent).speedControl.shook.visible = true;
Witch.ishook = true;
}
function frame1(){
stop();
}
function frame44(){
stop();
MovieClip(this.parent).downbtn.addEventListener(MouseEvent.CLICK, mfn);
if (!Witch.brickused){
MovieClip(this.parent).speedControl.sbrick.addEventListener(MouseEvent.MOUSE_UP, sbrickfn);
};
if (Witch.brickused){
this.gotoAndStop(57);
};
}
function frame45(){
Witch.displayText(gf, "GoldenPyramid");
}
function frame57(){
stop();
if (((!(Witch.ishook)) && ((currentFrame == 57)))){
MovieClip(this.parent).hookhit.addEventListener(MouseEvent.CLICK, hookfn);
};
if (Witch.ishook){
if (MovieClip(this.parent).hookhit){
MovieClip(this.parent).hookhit.x = 800;
};
hook.visible = false;
};
}
public function sbrickfn(_arg1:MouseEvent):void{
if ((((currentFrame == 44)) && (!(Witch.brickused)))){
if (MovieClip(this.parent).speedControl.sbrick.hitTestObject(brickhit)){
MovieClip(this.parent).speedControl.sbrick.removeEventListener(MouseEvent.MOUSE_UP, sbrickfn);
MovieClip(this.parent).speedControl.sbrick.visible = false;
Witch.brickused = true;
this.gotoAndPlay(45);
};
};
}
}
}//package WITCHTRAPESCAPE_fla
Section 112
//gameplay506_284 (WITCHTRAPESCAPE_fla.gameplay506_284)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay506_284 extends MovieClip {
public var hook:MovieClip;
public function gameplay506_284(){
addFrameScript(0, frame1, 42, frame43, 43, frame44, 56, frame57);
}
function frame1(){
stop();
}
function frame43(){
MovieClip(this.parent).downbtn.visible = true;
}
function frame44(){
stop();
if (Witch.brickused){
this.gotoAndStop(57);
};
}
function frame57(){
stop();
if (Witch.ishook){
hook.visible = false;
};
}
}
}//package WITCHTRAPESCAPE_fla
Section 113
//gameplay508_521 (WITCHTRAPESCAPE_fla.gameplay508_521)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay508_521 extends MovieClip {
public function gameplay508_521(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 114
//gameplay509_374 (WITCHTRAPESCAPE_fla.gameplay509_374)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay509_374 extends MovieClip {
public function gameplay509_374(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 115
//gameplay510_373 (WITCHTRAPESCAPE_fla.gameplay510_373)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay510_373 extends MovieClip {
public function gameplay510_373(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 116
//gameplay511_372 (WITCHTRAPESCAPE_fla.gameplay511_372)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay511_372 extends MovieClip {
public function gameplay511_372(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 117
//gameplay512_536 (WITCHTRAPESCAPE_fla.gameplay512_536)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay512_536 extends MovieClip {
public function gameplay512_536(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 118
//gameplay513_410 (WITCHTRAPESCAPE_fla.gameplay513_410)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay513_410 extends MovieClip {
public function gameplay513_410(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 119
//gameplay514_537 (WITCHTRAPESCAPE_fla.gameplay514_537)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay514_537 extends MovieClip {
public function gameplay514_537(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 120
//gameplay515_411 (WITCHTRAPESCAPE_fla.gameplay515_411)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay515_411 extends MovieClip {
public function gameplay515_411(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 121
//gameplay516_538 (WITCHTRAPESCAPE_fla.gameplay516_538)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay516_538 extends MovieClip {
public function gameplay516_538(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 122
//gameplay517_412 (WITCHTRAPESCAPE_fla.gameplay517_412)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay517_412 extends MovieClip {
public function gameplay517_412(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 123
//gameplay518_539 (WITCHTRAPESCAPE_fla.gameplay518_539)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay518_539 extends MovieClip {
public function gameplay518_539(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 124
//gameplay519_413 (WITCHTRAPESCAPE_fla.gameplay519_413)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay519_413 extends MovieClip {
public function gameplay519_413(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 125
//gameplay523_540 (WITCHTRAPESCAPE_fla.gameplay523_540)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay523_540 extends MovieClip {
public function gameplay523_540(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 126
//gameplay524_414 (WITCHTRAPESCAPE_fla.gameplay524_414)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay524_414 extends MovieClip {
public function gameplay524_414(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 127
//gameplay75_535 (WITCHTRAPESCAPE_fla.gameplay75_535)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay75_535 extends MovieClip {
public var spider1:MovieClip;
public var skullhit2:MovieClip;
public var frog1:MovieClip;
public var skull1:MovieClip;
public var bat1:MovieClip;
public var snake1:MovieClip;
public function gameplay75_535(){
addFrameScript(0, frame1, 21, frame22);
}
public function skull1fn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
skullhit2.removeEventListener(MouseEvent.CLICK, skull1fn);
skull1.visible = false;
MovieClip(this.parent).speedControl.sskull.visible = true;
Witch.isskull = true;
}
function frame1(){
stop();
}
function frame22(){
stop();
if (Witch.isbat){
bat1.visible = false;
};
if (Witch.isspider){
spider1.visible = false;
};
if (Witch.issnake){
snake1.visible = false;
};
if (Witch.isfrog){
frog1.visible = false;
};
if (Witch.isskull){
skull1.visible = false;
};
if (!Witch.isbat){
Witch.displayText(bat1, "Bat");
bat1.addEventListener(MouseEvent.CLICK, bat1fn);
};
if (!Witch.isspider){
Witch.displayText(spider1, "Spider");
spider1.addEventListener(MouseEvent.CLICK, spider1fn);
};
if (!Witch.issnake){
Witch.displayText(snake1, "Snake");
snake1.addEventListener(MouseEvent.CLICK, snake1fn);
};
if (!Witch.isfrog){
Witch.displayText(frog1, "Frog");
frog1.addEventListener(MouseEvent.CLICK, frog1fn);
};
if (!Witch.isskull){
Witch.displayText(skullhit2, "Skull");
skullhit2.addEventListener(MouseEvent.CLICK, skull1fn);
};
}
public function bat1fn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
bat1.removeEventListener(MouseEvent.CLICK, bat1fn);
bat1.visible = false;
MovieClip(this.parent).speedControl.sbat.visible = true;
Witch.isbat = true;
}
public function snake1fn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
snake1.removeEventListener(MouseEvent.CLICK, snake1fn);
snake1.visible = false;
MovieClip(this.parent).speedControl.ssnake.visible = true;
Witch.issnake = true;
}
public function frog1fn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
frog1.removeEventListener(MouseEvent.CLICK, frog1fn);
frog1.visible = false;
MovieClip(this.parent).speedControl.sfrog.visible = true;
Witch.isfrog = true;
}
public function spider1fn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
spider1.removeEventListener(MouseEvent.CLICK, spider1fn);
spider1.visible = false;
MovieClip(this.parent).speedControl.sspider.visible = true;
Witch.isspider = true;
}
}
}//package WITCHTRAPESCAPE_fla
Section 128
//gameplay76_393 (WITCHTRAPESCAPE_fla.gameplay76_393)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay76_393 extends MovieClip {
public var spider1:MovieClip;
public var frog1:MovieClip;
public var skull1:MovieClip;
public var bat1:MovieClip;
public var snake1:MovieClip;
public function gameplay76_393(){
addFrameScript(0, frame1, 21, frame22);
}
function frame1(){
stop();
}
function frame22(){
stop();
if (Witch.isbat){
bat1.visible = false;
};
if (Witch.isspider){
spider1.visible = false;
};
if (Witch.issnake){
snake1.visible = false;
};
if (Witch.isfrog){
frog1.visible = false;
};
if (Witch.isskull){
skull1.visible = false;
};
}
}
}//package WITCHTRAPESCAPE_fla
Section 129
//gameplay82_369 (WITCHTRAPESCAPE_fla.gameplay82_369)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay82_369 extends MovieClip {
public function gameplay82_369(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 130
//gameplay89_517 (WITCHTRAPESCAPE_fla.gameplay89_517)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay89_517 extends MovieClip {
public var nxtshot41:MovieClip;
public function gameplay89_517(){
addFrameScript(0, frame1, 43, frame44, 44, frame45);
}
function frame1(){
stop();
}
function frame44(){
MovieClip(this.parent).downbtn.visible = true;
}
function frame45(){
stop();
nxtshot41.addEventListener(MouseEvent.CLICK, nxtshot41fn);
}
public function nxtshot41fn(_arg1:MouseEvent){
nxtshot41.removeEventListener(MouseEvent.CLICK, nxtshot41fn);
MovieClip(this.parent).gotoAndStop("5thview");
}
}
}//package WITCHTRAPESCAPE_fla
Section 131
//gameplay9_426 (WITCHTRAPESCAPE_fla.gameplay9_426)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay9_426 extends MovieClip {
public var d:MovieClip;
public function gameplay9_426(){
addFrameScript(0, frame1, 220, frame221);
}
function frame1(){
stop();
}
function frame221(){
stop();
if (Witch.dustused){
d.parent.removeChild(d);
};
}
}
}//package WITCHTRAPESCAPE_fla
Section 132
//gameplay90_528 (WITCHTRAPESCAPE_fla.gameplay90_528)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay90_528 extends MovieClip {
public var s4:MovieClip;
public var s3:MovieClip;
public var gear:MovieClip;
public function gameplay90_528(){
addFrameScript(0, frame1, 13, frame14, 14, frame15, 28, frame29, 29, frame30);
}
public function s3fn1(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
s3.removeEventListener(MouseEvent.CLICK, s3fn1);
s3.visible = false;
MovieClip(this.parent).speedControl.ss3.visible = true;
Witch.iss3 = true;
if (((((Witch.isgear) && (Witch.iss3))) && (Witch.iss4))){
Witch.objects = true;
this.gotoAndPlay(15);
};
}
function frame14(){
stop();
if (!Witch.isgear){
Witch.displayText(gear, "Gear");
gear.addEventListener(MouseEvent.CLICK, gearfn1);
};
if (Witch.isgear){
gear.visible = false;
};
if (!Witch.iss4){
Witch.displayText(s4, "Antique Coins");
s4.addEventListener(MouseEvent.CLICK, s4fn1);
};
if (Witch.iss4){
s4.visible = false;
};
if (!Witch.iss3){
Witch.displayText(s3, "Antique Coins");
s3.addEventListener(MouseEvent.CLICK, s3fn1);
};
if (Witch.iss3){
s3.visible = false;
};
if (Witch.objects){
this.gotoAndStop(30);
};
}
function frame15(){
MovieClip(this.parent).downbtn.visible = false;
}
function frame1(){
stop();
}
function frame29(){
MovieClip(this.parent).downbtn.visible = true;
}
function frame30(){
stop();
if (((Witch.objects) && (!(Witch.isgate6)))){
Witch.isgate6 = true;
MovieClip(this.parent).gotoAndStop("5thview");
};
}
public function s4fn1(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
s4.removeEventListener(MouseEvent.CLICK, s4fn1);
s4.visible = false;
MovieClip(this.parent).speedControl.ss4.visible = true;
Witch.iss4 = true;
if (((((Witch.isgear) && (Witch.iss3))) && (Witch.iss4))){
Witch.objects = true;
this.gotoAndPlay(15);
};
}
public function gearfn1(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
gear.removeEventListener(MouseEvent.CLICK, gearfn1);
gear.visible = false;
MovieClip(this.parent).speedControl.sgear.visible = true;
Witch.isgear = true;
if (((((Witch.isgear) && (Witch.iss3))) && (Witch.iss4))){
Witch.objects = true;
this.gotoAndPlay(15);
};
}
}
}//package WITCHTRAPESCAPE_fla
Section 133
//gameplay91_362 (WITCHTRAPESCAPE_fla.gameplay91_362)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay91_362 extends MovieClip {
public var s4:MovieClip;
public var s3:MovieClip;
public var gear:MovieClip;
public function gameplay91_362(){
addFrameScript(0, frame1, 13, frame14);
}
function frame14(){
stop();
if (Witch.isgear){
gear.visible = false;
};
if (Witch.iss4){
s4.visible = false;
};
if (Witch.iss3){
s3.visible = false;
};
if (Witch.objects){
this.gotoAndStop(30);
};
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 134
//gameplay97_306 (WITCHTRAPESCAPE_fla.gameplay97_306)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
public dynamic class gameplay97_306 extends MovieClip {
public var s1:MovieClip;
public var head:MovieClip;
public function gameplay97_306(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package WITCHTRAPESCAPE_fla
Section 135
//gameplay98_509 (WITCHTRAPESCAPE_fla.gameplay98_509)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay98_509 extends MovieClip {
public var skullcoin:MovieClip;
public var ghit:MovieClip;
public function gameplay98_509(){
addFrameScript(0, frame1, 68, frame69, 69, frame70, 71, frame72, 92, frame93, 93, frame94, 94, frame95);
}
function frame70(){
stop();
MovieClip(this.parent).downbtn.addEventListener(MouseEvent.CLICK, sgearfn11);
if (!Witch.gearused){
MovieClip(this.parent).speedControl.sgear.addEventListener(MouseEvent.MOUSE_UP, sgearfn);
};
if (Witch.gearused){
this.gotoAndStop(94);
};
}
function frame72(){
if (Witch.soundToggle){
Witch.gearsnd.play();
};
}
function frame94(){
stop();
if (!Witch.isskullcoin){
Witch.displayText(skullcoin, "Antique Coin");
skullcoin.addEventListener(MouseEvent.CLICK, isskullcoinfn);
};
if (Witch.isskullcoin){
this.gotoAndStop(95);
};
}
public function isskullcoinfn(_arg1:MouseEvent){
if (Witch.soundToggle){
Witch.clicksnd.play();
};
skullcoin.removeEventListener(MouseEvent.CLICK, isskullcoinfn);
skullcoin.visible = false;
MovieClip(this.parent).speedControl.sskullcoin.visible = true;
Witch.isskullcoin = true;
this.gotoAndStop(95);
}
function frame95(){
stop();
}
function frame93(){
MovieClip(this.parent).downbtn.visible = true;
}
public function sgearfn11(_arg1:MouseEvent){
if (!Witch.gearused){
MovieClip(this.parent).speedControl.sgear.removeEventListener(MouseEvent.MOUSE_UP, sgearfn);
};
}
function frame1(){
stop();
}
public function sgearfn(_arg1:MouseEvent):void{
if ((((this.currentFrame == 70)) && (!(Witch.gearused)))){
if (MovieClip(this.parent).speedControl.sgear.hitTestObject(ghit)){
MovieClip(this.parent).downbtn.visible = false;
MovieClip(this.parent).speedControl.sgear.removeEventListener(MouseEvent.MOUSE_UP, sgearfn);
MovieClip(this.parent).speedControl.sgear.visible = false;
Witch.gearused = true;
this.gotoAndPlay(71);
};
};
}
function frame69(){
MovieClip(this.parent).downbtn.visible = true;
}
}
}//package WITCHTRAPESCAPE_fla
Section 136
//gameplay99_313 (WITCHTRAPESCAPE_fla.gameplay99_313)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class gameplay99_313 extends MovieClip {
public function gameplay99_313(){
addFrameScript(0, frame1, 68, frame69, 69, frame70, 92, frame93, 93, frame94, 94, frame95);
}
function frame70(){
stop();
if (Witch.gearused){
this.gotoAndStop(94);
};
}
function frame94(){
stop();
if (Witch.isskullcoin){
this.gotoAndStop(95);
};
}
function frame95(){
stop();
}
function frame93(){
MovieClip(this.parent).downbtn.visible = true;
}
function frame1(){
stop();
}
function frame69(){
MovieClip(this.parent).downbtn.visible = true;
}
}
}//package WITCHTRAPESCAPE_fla
Section 137
//insaSymbol1_550 (WITCHTRAPESCAPE_fla.insaSymbol1_550)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.text.*;
public dynamic class insaSymbol1_550 extends MovieClip {
public var tex:TextField;
public var okBtn:SimpleButton;
}
}//package WITCHTRAPESCAPE_fla
Section 138
//MainTimeline (WITCHTRAPESCAPE_fla.MainTimeline)
package WITCHTRAPESCAPE_fla {
import fl.controls.*;
import flash.display.*;
import flash.events.*;
import mochi.as3.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class MainTimeline extends MovieClip {
public var mins1:String;
public var backBut:SimpleButton;
public var secs1:String;
public var nameText:TextField;
public var cn:Number;
public var arr:Array;
public var moreGames:SimpleButton;
public var submitScore:SimpleButton;
public var msg:MovieClip;
public var countryCombo:ComboBox;
public var score:int;
public var contestMenu:ContextMenu;
public var mc:MovieClip;
public var playBut:SimpleButton;
public var insBut:SimpleButton;
public var timeCount:Number;
public var playAgain:SimpleButton;
public var contextmenuItem:ContextMenuItem;
public var scoreText:TextField;
public var game:MovieClip;
public var pagain:SimpleButton;
public function MainTimeline(){
addFrameScript(0, frame1, 5, frame6, 10, frame11, 15, frame16, 20, frame21, 25, frame26);
}
public function submitMyScore(_arg1:MouseEvent):void{
if (((!((nameText.text == ""))) && (!((countryCombo.selectedItem.label == "All Countries"))))){
_arg1.target.mouseEnabled = false;
resetAll();
ScoreSubmit.sendMyScore(nameText.text, String(countryCombo.selectedItem.label), score, 11777, "http://www.123bee.com", 1);
submitScore.removeEventListener(MouseEvent.CLICK, submitMyScore);
countryCombo.removeAll();
countryCombo.editable = false;
countryCombo.parent.removeChild(countryCombo);
gotoAndStop("frontpage");
} else {
msg.visible = true;
if (nameText.text == ""){
msg.tex.text = "Enter your name";
} else {
if (countryCombo.selectedItem.label == "All Countries"){
msg.tex.text = "Select your country";
};
};
};
}
public function gotoBee(_arg1:MouseEvent):void{
navigateToURL(new URLRequest("http://www.123bee.com"), "_blank");
}
public function gotoPlay(_arg1:MouseEvent):void{
this.gotoAndStop("play");
}
public function msgHide(_arg1:MouseEvent){
msg.visible = false;
}
function frame16(){
stop();
Witch.sndChn1 = Witch.mybg.play(0, int.MAX_VALUE);
game.soundButton.addEventListener(MouseEvent.CLICK, getSound);
timeCount = 0;
Witch.timer.addEventListener(TimerEvent.TIMER, onTimer);
Witch.timer.start();
game.times.text = "00:00";
}
public function getSound(_arg1:MouseEvent):void{
if (_arg1.currentTarget.currentFrame == 1){
Witch.soundToggle = false;
Witch.sndChn1.stop();
_arg1.currentTarget.gotoAndStop(2);
} else {
Witch.soundToggle = true;
Witch.sndChn1 = Witch.mybg.play(0, int.MAX_VALUE);
_arg1.currentTarget.gotoAndStop(1);
};
}
public function Site(_arg1:Event):void{
var _local2:URLRequest;
_local2 = new URLRequest("http://www.123bee.com");
navigateToURL(_local2, "_blank");
}
function frame11(){
stop();
backBut.addEventListener(MouseEvent.CLICK, gotoStart);
}
public function onTimer(_arg1:TimerEvent):void{
var _local2:Number;
var _local3:Number;
timeCount = (timeCount + 1);
Witch.timingScore++;
_local2 = Math.floor((timeCount % 60));
_local3 = Math.floor((timeCount / 60));
if (String(_local2).length == 1){
secs1 = ("0" + _local2);
} else {
secs1 = String(_local2);
};
if (String(_local3).length == 1){
mins1 = ("0" + _local3);
} else {
mins1 = String(_local3);
};
if (game.times){
game.times.text = ((mins1 + ":") + secs1);
};
}
function frame6(){
MochiBot.track(this, "7445db1a");
stop();
playBut.addEventListener(MouseEvent.CLICK, gotoPlay);
insBut.addEventListener(MouseEvent.CLICK, gotoInstruct);
}
function frame26(){
stop();
resetAll();
Witch.sndChn1.stop();
pagain.addEventListener(MouseEvent.CLICK, gotoPlay1);
}
public function gotoInstruct(_arg1:MouseEvent):void{
this.gotoAndStop("instruct");
}
public function gotoStart(_arg1:MouseEvent):void{
this.gotoAndStop("frontpage");
}
function frame21(){
stop();
Witch.sndChn1.stop();
scoreText.mouseEnabled = false;
scoreText.selectable = false;
countryCombo = new ComboBox();
addChild(countryCombo);
countryCombo.width = mc.width;
countryCombo.x = mc.x;
countryCombo.y = mc.y;
this.setChildIndex(msg, (numChildren - 1));
score = ((10 / Witch.timingScore) * 50000);
scoreText.text = score.toString();
playAgain.addEventListener(MouseEvent.CLICK, gotoPlay5);
moreGames.addEventListener(MouseEvent.CLICK, gotoBee);
submitScore.addEventListener(MouseEvent.CLICK, submitMyScore);
nameText.restrict = "a-z A-Z 0-9\\ .";
nameText.maxChars = 12;
cn = 0;
msg.visible = false;
msg.x = 141;
arr = new Array("Afghanistan", "Albania", "Algeria", "Andorra", "Angola", "Antigua and Barbuda", "Argentina", "Armenia", "Australia", "Austria", "Azerbaijan", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", "Benin", "Bhutan", "Bolivia", "Bosnia and Herzegovina", "Botswana", "Brazil", "Brunei", "Darussalam", "Bulgaria", "Burkina", "Faso", "Burma (Myanmar)", "Burundi", "Cambodia", "Cameroon", "Canada", "Cape", "Verde", "Central African Republic", "Chad", "Chile", "China", "Colombia", "Comoros", "Congo", "Costa Rica", "Croatia", "Cuba", "Cyprus", "Czech Republic", "Denmark", "Djibouti", "Dominica", "Dominican Republic", "Ecuador", "East", "Timor", "Egypt", "Salvador", "England", "Equatorial Guinea", "Eritrea", "Estonia", "Ethiopia", "Fiji", "Finland", "France", "Gabon", "Gambia", "Georgia", "Germany", "Ghana", "Great Britain", "Greece", "Grenada", "Guatemala", "Guinea", "Guinea-Bissau", "Guyana", "Haiti", "Honduras", "Hungary", "Iceland", "India", "Indonesia", "Iran", "Iraq", "Ireland", "Israel", "Italy", "Jamaica", "Japan", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Korea (North)", "Korea (South)", "Kosovo", "Kuwait", "Kyrgyzstan", "Laos", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein", "Lithuania", "Luxembourg", "Macedonia", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands", "Mauritania", "Mauritius", "Mexico", "Micronesia", "Moldova", "Monaco", "Mongolia", "Montenegro", "Morocco", "Mozambique", "Myanmar", "Namibia", "Nauru", "Nepal", "Netherlands", "New Zealand", "Nicaragua", "Niger", "Nigeria", "Norway", "Northern Ireland", "Oman", "Pakistan", "Palau", "Palestinian", "Panama", "Papua new Guinea", "Paraguay", "Peru", "Philippines", "Poland", "Portugal", "Qatar", "Romania", "Russia", "Rwanda", "Nevis", "Lucia Vincent", "Arabia", "Scotland", "Senegal", "Serbia", "Seychelles", "Sierra", "Leone", "Singapore", "Slovakia", "Slovenia", "Solomon Islands", "Somalia", "South Africa", "Spain", "Sri Lanka", "Sudan", "Suriname", "Swaziland", "Sweden", "Switzerland", "Syria", "Taiwan", "Tajikistan", "Tanzania", "Thailand", "Togo", "Tonga", "Trinidad", "Tobago", "Tunisia", "Turkey", "Turkmenistan", "Tuvalu", "Uganda", "Ukraine", "United Arab Emirates", "United Kingdom", "United States", "Uruguay", "Uzbekistan", "Vanuatu", "Vatican", "Venezuela", "Vietnam", "Western Sahara*", "Wales", "Yemen", "Zaire", "Zambia", "Zimbabwe");
arr = arr.sort();
countryCombo.addItem({label:"All Countries"});
cn = 0;
while (cn < arr.length) {
countryCombo.addItem({label:arr[cn]});
cn++;
};
msg.okBtn.addEventListener(MouseEvent.CLICK, msgHide);
}
public function resetAll():void{
Witch.count = 0;
Witch.ashcount = 0;
Witch.hatcount = 0;
Witch.isg1 = false;
Witch.isg1a = false;
Witch.isg2 = false;
Witch.isg3 = false;
Witch.isg4 = false;
Witch.mirrorFixed = false;
Witch.mirrorused = false;
Witch.islastmc = false;
Witch.isc1 = false;
Witch.isc2 = false;
Witch.isc3 = false;
Witch.isc4 = false;
Witch.c1kept = false;
Witch.c2kept = false;
Witch.c3kept = false;
Witch.c4kept = false;
Witch.isfire1 = false;
Witch.isfire2 = false;
Witch.isfire3 = false;
Witch.isfire4 = false;
Witch.fired = false;
Witch.objects = false;
Witch.candlekept = false;
Witch.isd1 = false;
Witch.isd2 = false;
Witch.isd3 = false;
Witch.d1used = false;
Witch.d2used = false;
Witch.d3used = false;
Witch.diamondkept = false;
Witch.isp1 = false;
Witch.isp2 = false;
Witch.isp3 = false;
Witch.bluepin = false;
Witch.redpin = false;
Witch.brownpin = false;
Witch.pin = false;
Witch.iss1 = false;
Witch.iss2 = false;
Witch.iss3 = false;
Witch.iss4 = false;
Witch.frogkept = false;
Witch.snakekept = false;
Witch.spiderkept = false;
Witch.batkept = false;
Witch.skullkept = false;
Witch.objectskept = false;
Witch.iskey1 = false;
Witch.iskey2 = false;
Witch.iskey3 = false;
Witch.iskey4 = false;
Witch.key1used = false;
Witch.key2used = false;
Witch.key3used = false;
Witch.key4used = false;
Witch.iscat = false;
Witch.isworm = false;
Witch.isstone = false;
Witch.once = false;
Witch.isbox = false;
Witch.isbone = false;
Witch.isjar = false;
Witch.isbrick = false;
Witch.islog = false;
Witch.ishook = false;
Witch.ismap = false;
Witch.isbrush = false;
Witch.isgear = false;
Witch.isskullcoin = false;
Witch.isowlhead = false;
Witch.isknife = false;
Witch.isbook = false;
Witch.isrod = false;
Witch.isball = false;
Witch.ismatchbox = false;
Witch.islift = false;
Witch.islift1 = false;
Witch.iscarpet = false;
Witch.isdevil = false;
Witch.fkeyseen = false;
Witch.dustseen = false;
Witch.broomseen = false;
Witch.isfkey = false;
Witch.isdust = false;
Witch.isbroom = false;
Witch.isbat = false;
Witch.isspider = false;
Witch.isfrog = false;
Witch.issnake = false;
Witch.isskull = false;
Witch.iswand = false;
Witch.isgate6 = false;
Witch.isseen6 = false;
Witch.ishandle = false;
Witch.logkept = false;
Witch.brickused = false;
Witch.wormused = false;
Witch.hookused = false;
Witch.boneused = false;
Witch.brushused = false;
Witch.gearused = false;
Witch.knifeused = false;
Witch.rodused = false;
Witch.matchboxused = false;
Witch.jarused = false;
Witch.handleused = false;
Witch.dustused = false;
Witch.fkeyused = false;
Witch.istime = false;
Witch.allow = false;
Witch.gameTimesec = 0;
Witch.gameTimemins = 0;
Witch.gameTimehrs = 0;
Witch.gameTimescore = 0;
Witch.textBoolean = false;
Witch.soundToggle = true;
}
function frame1(){
MochiAd.showPreGameAd({clip:root, id:"378c791af9b76c69", res:"650x450"});
contestMenu = new ContextMenu();
contestMenu.hideBuiltInItems();
stage.scaleMode = StageScaleMode.EXACT_FIT;
contextmenuItem = new ContextMenuItem("www.123bee.com");
contextmenuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, Site);
contestMenu.customItems.push(contextmenuItem);
this.contextMenu = contestMenu;
stage.tabChildren = false;
}
public function gotoPlay1(_arg1:MouseEvent):void{
this.gotoAndStop("frontpage");
}
public function gotoPlay5(_arg1:MouseEvent):void{
resetAll();
playAgain.removeEventListener(MouseEvent.CLICK, gotoPlay5);
countryCombo.removeAll();
countryCombo.editable = false;
countryCombo.parent.removeChild(countryCombo);
gotoAndStop("frontpage");
}
}
}//package WITCHTRAPESCAPE_fla
Section 139
//Symbol1_438 (WITCHTRAPESCAPE_fla.Symbol1_438)
package WITCHTRAPESCAPE_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
import flash.ui.*;
import flash.geom.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class Symbol1_438 extends MovieClip {
public function Symbol1_438(){
addFrameScript(0, frame1, 59, frame60);
}
function frame1(){
stop();
}
function frame60(){
stop();
Witch.timer.stop();
Witch.timer.removeEventListener(TimerEvent.TIMER, MovieClip(this.parent.parent).onTimer);
MovieClip(this.parent.parent).gotoAndStop("congrats");
}
}
}//package WITCHTRAPESCAPE_fla
Section 140
//bg (bg)
package {
import flash.media.*;
public dynamic class bg extends Sound {
}
}//package
Section 141
//blastingsound (blastingsound)
package {
import flash.media.*;
public dynamic class blastingsound extends Sound {
}
}//package
Section 142
//booklockbreaking (booklockbreaking)
package {
import flash.media.*;
public dynamic class booklockbreaking extends Sound {
}
}//package
Section 143
//boxbreaking (boxbreaking)
package {
import flash.media.*;
public dynamic class boxbreaking extends Sound {
}
}//package
Section 144
//catjumpingsound (catjumpingsound)
package {
import flash.media.*;
public dynamic class catjumpingsound extends Sound {
}
}//package
Section 145
//CellRenderer_disabledSkin (CellRenderer_disabledSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_disabledSkin extends MovieClip {
}
}//package
Section 146
//CellRenderer_downSkin (CellRenderer_downSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_downSkin extends MovieClip {
}
}//package
Section 147
//CellRenderer_overSkin (CellRenderer_overSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_overSkin extends MovieClip {
}
}//package
Section 148
//CellRenderer_selectedDisabledSkin (CellRenderer_selectedDisabledSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_selectedDisabledSkin extends MovieClip {
}
}//package
Section 149
//CellRenderer_selectedDownSkin (CellRenderer_selectedDownSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_selectedDownSkin extends MovieClip {
}
}//package
Section 150
//CellRenderer_selectedOverSkin (CellRenderer_selectedOverSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_selectedOverSkin extends MovieClip {
}
}//package
Section 151
//CellRenderer_selectedUpSkin (CellRenderer_selectedUpSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_selectedUpSkin extends MovieClip {
}
}//package
Section 152
//CellRenderer_upSkin (CellRenderer_upSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_upSkin extends MovieClip {
}
}//package
Section 153
//changingintorabitsound (changingintorabitsound)
package {
import flash.media.*;
public dynamic class changingintorabitsound extends Sound {
}
}//package
Section 154
//clicksound (clicksound)
package {
import flash.media.*;
public dynamic class clicksound extends Sound {
}
}//package
Section 155
//ComboBox_disabledSkin (ComboBox_disabledSkin)
package {
import flash.display.*;
public dynamic class ComboBox_disabledSkin extends MovieClip {
}
}//package
Section 156
//ComboBox_downSkin (ComboBox_downSkin)
package {
import flash.display.*;
public dynamic class ComboBox_downSkin extends MovieClip {
}
}//package
Section 157
//ComboBox_overSkin (ComboBox_overSkin)
package {
import flash.display.*;
public dynamic class ComboBox_overSkin extends MovieClip {
}
}//package
Section 158
//ComboBox_upSkin (ComboBox_upSkin)
package {
import flash.display.*;
public dynamic class ComboBox_upSkin extends MovieClip {
}
}//package
Section 159
//cupboardopen (cupboardopen)
package {
import flash.media.*;
public dynamic class cupboardopen extends Sound {
}
}//package
Section 160
//doorblastingsound (doorblastingsound)
package {
import flash.media.*;
public dynamic class doorblastingsound extends Sound {
}
}//package
Section 161
//dooropeningsound (dooropeningsound)
package {
import flash.media.*;
public dynamic class dooropeningsound extends Sound {
}
}//package
Section 162
//focusRectSkin (focusRectSkin)
package {
import flash.display.*;
public dynamic class focusRectSkin extends MovieClip {
}
}//package
Section 163
//gateopeningsound (gateopeningsound)
package {
import flash.media.*;
public dynamic class gateopeningsound extends Sound {
}
}//package
Section 164
//gateopeningsound1 (gateopeningsound1)
package {
import flash.media.*;
public dynamic class gateopeningsound1 extends Sound {
}
}//package
Section 165
//gearsound (gearsound)
package {
import flash.media.*;
public dynamic class gearsound extends Sound {
}
}//package
Section 166
//insectsputtingintopotsound (insectsputtingintopotsound)
package {
import flash.media.*;
public dynamic class insectsputtingintopotsound extends Sound {
}
}//package
Section 167
//List_skin (List_skin)
package {
import flash.display.*;
public dynamic class List_skin extends MovieClip {
}
}//package
Section 168
//lockopeningsound (lockopeningsound)
package {
import flash.media.*;
public dynamic class lockopeningsound extends Sound {
}
}//package
Section 169
//magicsticksound (magicsticksound)
package {
import flash.media.*;
public dynamic class magicsticksound extends Sound {
}
}//package
Section 170
//matchstickburningsound (matchstickburningsound)
package {
import flash.media.*;
public dynamic class matchstickburningsound extends Sound {
}
}//package
Section 171
//mirrorshadesound (mirrorshadesound)
package {
import flash.media.*;
public dynamic class mirrorshadesound extends Sound {
}
}//package
Section 172
//MochiBot (MochiBot)
package {
import flash.display.*;
import flash.net.*;
import flash.system.*;
public dynamic class MochiBot extends Sprite {
public static function track(_arg1:Sprite, _arg2:String):MochiBot{
var _local3:MochiBot;
var _local4:String;
var _local5:URLVariables;
var _local6:String;
var _local7:URLRequest;
var _local8:Loader;
if (Security.sandboxType == "localWithFile"){
return (null);
};
_local3 = new (MochiBot);
_arg1.addChild(_local3);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
_local4 = "http://core.mochibot.com/my/core.swf";
_local5 = new URLVariables();
_local5["sb"] = Security.sandboxType;
_local5["v"] = Capabilities.version;
_local5["swfid"] = _arg2;
_local5["mv"] = "8";
_local5["fv"] = "9";
_local6 = _local3.root.loaderInfo.loaderURL;
if (_local6.indexOf("http") == 0){
_local5["url"] = _local6;
} else {
_local5["url"] = "local";
};
_local7 = new URLRequest(_local4);
_local7.contentType = "application/x-www-form-urlencoded";
_local7.method = URLRequestMethod.POST;
_local7.data = _local5;
_local8 = new Loader();
_local3.addChild(_local8);
_local8.load(_local7);
return (_local3);
}
}
}//package
Section 173
//owlheadrotatesound (owlheadrotatesound)
package {
import flash.media.*;
public dynamic class owlheadrotatesound extends Sound {
}
}//package
Section 174
//pumpkincuttingsound (pumpkincuttingsound)
package {
import flash.media.*;
public dynamic class pumpkincuttingsound extends Sound {
}
}//package
Section 175
//ScoreSubmit (ScoreSubmit)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.system.*;
public class ScoreSubmit extends Sprite {
public static function sendMyScore(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:String, _arg6:int):void{
var receivedData:String;
var processedData:String;
var addressRequest:URLRequest;
var dataObject:URLVariables;
var addressLoader:URLLoader;
var callMe:Function;
var myName = _arg1;
var myCountry = _arg2;
var myScore = _arg3;
var myGameId = _arg4;
var mySite = _arg5;
var myLevels = _arg6;
callMe = function (_arg1:Event):void{
var _local2:Number;
var _local3:Number;
receivedData = _arg1.target.data;
if (receivedData.match("success=0")){
} else {
if (receivedData.match("success=1")){
trace(receivedData);
_local2 = receivedData.indexOf("scoreid");
_local3 = receivedData.indexOf("&");
if (_local2 == 0){
processedData = receivedData.substring(_local2, _local3);
} else {
processedData = receivedData.substring(_local2);
};
if (mySite.match("123bee")){
navigateToURL(new URLRequest(((("http://www.123bee.com/highscores?gameid=" + myGameId) + "&") + processedData)));
} else {
if (mySite.match("123peppy")){
navigateToURL(new URLRequest(((("http://www.123peppy.com/highscore?gameid=" + myGameId) + "&") + processedData)));
};
};
};
};
};
Security.allowDomain("*");
Security.allowInsecureDomain("*");
if (mySite.match("123bee")){
addressRequest = new URLRequest("http://www.123bee.com/scores/saveScore.php");
} else {
if (mySite.match("123peppy")){
addressRequest = new URLRequest("http://www.123peppy.com/score/saveScore.php");
};
};
dataObject = new URLVariables();
dataObject.fname = myName;
dataObject.country = myCountry;
dataObject.score = myScore;
dataObject.Levels = myLevels;
dataObject.gameid = myGameId;
addressRequest.data = dataObject;
addressLoader = new URLLoader();
addressLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
addressLoader.addEventListener(Event.COMPLETE, callMe);
addressLoader.load(addressRequest);
}
}
}//package
Section 176
//ScrollArrowDown_disabledSkin (ScrollArrowDown_disabledSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_disabledSkin extends MovieClip {
}
}//package
Section 177
//ScrollArrowDown_downSkin (ScrollArrowDown_downSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_downSkin extends MovieClip {
}
}//package
Section 178
//ScrollArrowDown_overSkin (ScrollArrowDown_overSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_overSkin extends MovieClip {
}
}//package
Section 179
//ScrollArrowDown_upSkin (ScrollArrowDown_upSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_upSkin extends MovieClip {
}
}//package
Section 180
//ScrollArrowUp_disabledSkin (ScrollArrowUp_disabledSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_disabledSkin extends MovieClip {
}
}//package
Section 181
//ScrollArrowUp_downSkin (ScrollArrowUp_downSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_downSkin extends MovieClip {
}
}//package
Section 182
//ScrollArrowUp_overSkin (ScrollArrowUp_overSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_overSkin extends MovieClip {
}
}//package
Section 183
//ScrollArrowUp_upSkin (ScrollArrowUp_upSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_upSkin extends MovieClip {
}
}//package
Section 184
//ScrollBar_thumbIcon (ScrollBar_thumbIcon)
package {
import flash.display.*;
public dynamic class ScrollBar_thumbIcon extends MovieClip {
}
}//package
Section 185
//ScrollThumb_downSkin (ScrollThumb_downSkin)
package {
import flash.display.*;
public dynamic class ScrollThumb_downSkin extends MovieClip {
}
}//package
Section 186
//ScrollThumb_overSkin (ScrollThumb_overSkin)
package {
import flash.display.*;
public dynamic class ScrollThumb_overSkin extends MovieClip {
}
}//package
Section 187
//ScrollThumb_upSkin (ScrollThumb_upSkin)
package {
import flash.display.*;
public dynamic class ScrollThumb_upSkin extends MovieClip {
}
}//package
Section 188
//ScrollTrack_skin (ScrollTrack_skin)
package {
import flash.display.*;
public dynamic class ScrollTrack_skin extends MovieClip {
}
}//package
Section 189
//TextInput_disabledSkin (TextInput_disabledSkin)
package {
import flash.display.*;
public dynamic class TextInput_disabledSkin extends MovieClip {
}
}//package
Section 190
//TextInput_upSkin (TextInput_upSkin)
package {
import flash.display.*;
public dynamic class TextInput_upSkin extends MovieClip {
}
}//package
Section 191
//Witch (Witch)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.media.*;
public class Witch {
public static var catsnd:catjumpingsound = new catjumpingsound();
public static var rodused:Boolean = false;
public static var brushused:Boolean = false;
public static var c1kept:Boolean = false;
public static var gameTimesec:int = 0;
public static var gameTimescore:int = 0;
public static var logkept:Boolean = false;
public static var snakekept:Boolean = false;
public static var isball:Boolean = false;
public static var iswand:Boolean = false;
public static var dustseen:Boolean = false;
public static var isseen6:Boolean = false;
public static var diamondkept:Boolean = false;
public static var fkeyseen:Boolean = false;
public static var broomseen:Boolean = false;
public static var textBoolean:Boolean = false;
public static var isbrush:Boolean = false;
public static var issnake:Boolean = false;
public static var jarused:Boolean = false;
public static var ashcount:int = 0;
public static var isrod:Boolean = false;
public static var isbox:Boolean = false;
public static var isfkey:Boolean = false;
public static var islastmc:Boolean = false;
public static var timingScore:Number = 0;
public static var isp1:Boolean = false;
public static var isp2:Boolean = false;
public static var isp3:Boolean = false;
public static var key1used:Boolean = false;
public static var gameTimehrs:int = 0;
public static var batkept:Boolean = false;
public static var iscarpet:Boolean = false;
public static var blastsnd:blastingsound = new blastingsound();
public static var iscat:Boolean = false;
public static var once:Boolean = false;
public static var frogkept:Boolean = false;
public static var boneused:Boolean = false;
public static var isskull:Boolean = false;
public static var d3used:Boolean = false;
public static var c4kept:Boolean = false;
public static var isspider:Boolean = false;
public static var brownpin:Boolean = false;
public static var matchboxused:Boolean = false;
public static var isbat:Boolean = false;
public static var isjar:Boolean = false;
public static var gatesnd:gateopeningsound = new gateopeningsound();
public static var gameTimemins:int = 0;
public static var iss2:Boolean = false;
public static var iss3:Boolean = false;
public static var iss4:Boolean = false;
public static var iss1:Boolean = false;
public static var isc1:Boolean = false;
public static var isc2:Boolean = false;
public static var isc3:Boolean = false;
public static var isc4:Boolean = false;
public static var isdust:Boolean = false;
public static var sticksnd:magicsticksound = new magicsticksound();
public static var gate1snd:gateopeningsound1 = new gateopeningsound1();
public static var clicksnd:clicksound = new clicksound();
public static var isbone:Boolean = false;
public static var mybg:bg = new bg();
public static var key4used:Boolean = false;
public static var fired:Boolean = false;
public static var isd1:Boolean = false;
public static var isd2:Boolean = false;
public static var isd3:Boolean = false;
public static var isowlhead:Boolean = false;
public static var infoText:TextField;
public static var mirrorFixed:Boolean = false;
public static var istime:Boolean = false;
public static var cupboardsnd:cupboardopen = new cupboardopen();
public static var bluepin:Boolean = false;
public static var d2used:Boolean = false;
public static var c3kept:Boolean = false;
public static var count:int = 0;
public static var ismatchbox:Boolean = false;
public static var isbook:Boolean = false;
public static var objects:Boolean = false;
public static var isdevil:Boolean = false;
public static var doorsnd:doorblastingsound = new doorblastingsound();
public static var rabbitsnd:changingintorabitsound = new changingintorabitsound();
public static var islift:Boolean = false;
public static var cuttingsnd:pumpkincuttingsound = new pumpkincuttingsound();
public static var isworm:Boolean = false;
public static var spiderkept:Boolean = false;
public static var timer:Timer = new Timer(1000);
public static var allow:Boolean = false;
public static var soundToggle:Boolean = true;
public static var ishook:Boolean = false;
public static var wormused:Boolean = false;
public static var mirrorsnd:mirrorshadesound = new mirrorshadesound();
public static var isbroom:Boolean = false;
public static var isg1:Boolean = false;
public static var isg2:Boolean = false;
public static var isg3:Boolean = false;
public static var isg4:Boolean = false;
public static var hatcount:int = 0;
public static var booklocksnd:booklockbreaking = new booklockbreaking();
public static var isbrick:Boolean = false;
public static var hookused:Boolean = false;
public static var lockopensnd:lockopeningsound = new lockopeningsound();
public static var redpin:Boolean = false;
public static var owlsnd:owlheadrotatesound = new owlheadrotatesound();
public static var candlekept:Boolean = false;
public static var dustused:Boolean = false;
public static var key3used:Boolean = false;
public static var dooropensnd:dooropeningsound = new dooropeningsound();
public static var gearsnd:gearsound = new gearsound();
public static var isstone:Boolean = false;
public static var brickused:Boolean = false;
public static var insectsnd:insectsputtingintopotsound = new insectsputtingintopotsound();
public static var isskullcoin:Boolean = false;
public static var fkeyused:Boolean = false;
public static var d1used:Boolean = false;
public static var matchsnd:matchstickburningsound = new matchstickburningsound();
public static var isg1a:Boolean = false;
public static var c2kept:Boolean = false;
public static var pin:Boolean = false;
public static var inPassMode:Boolean = false;
public static var islift1:Boolean = false;
public static var sndChn1:SoundChannel = new SoundChannel();
public static var sndChn3:SoundChannel = new SoundChannel();
public static var isgear:Boolean = false;
public static var skullkept:Boolean = false;
public static var sndChn2:SoundChannel = new SoundChannel();
public static var isknife:Boolean = false;
public static var boxsnd:boxbreaking = new boxbreaking();
public static var gearused:Boolean = false;
public static var isfrog:Boolean = false;
public static var isfire1:Boolean = false;
public static var ishandle:Boolean = false;
public static var isfire3:Boolean = false;
public static var isfire4:Boolean = false;
public static var isfire2:Boolean = false;
public static var islog:Boolean = false;
public static var iskey2:Boolean = false;
public static var iskey3:Boolean = false;
public static var iskey4:Boolean = false;
public static var isgate6:Boolean = false;
public static var knifeused:Boolean = false;
public static var iskey1:Boolean = false;
public static var handleused:Boolean = false;
public static var key2used:Boolean = false;
public static var objectskept:Boolean = false;
public static var ismap:Boolean = false;
public static var mirrorused:Boolean = false;
public static function displayText(_arg1:MovieClip, _arg2:String){
var showText:Function;
var hideText:Function;
var mc = _arg1;
var name = _arg2;
showText = function (_arg1:MouseEvent):void{
if (textBoolean == false){
infoText.text = name;
};
};
hideText = function (_arg1:MouseEvent):void{
if (textBoolean == false){
infoText.text = "";
};
};
mc.addEventListener(MouseEvent.MOUSE_OVER, showText);
mc.addEventListener(MouseEvent.MOUSE_OUT, hideText);
}
}
}//package