STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228097
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2561 · P5121

swfchan turned sixteen years old yesterday! (5may2024)

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/59166039?noj=FRM59166039-6DC" width="1" height="1"></div>

ebook.swf

This is the info page for
Flash #120692

(Click the ID number above for more basic data on this flash file.)


Text
Copyright © Houghton Mifflin Harcourt Publishing Company

Holt McDougal Larson Algebra 1

Previous

Next

<p align="center"><font face="Arial" size="11" color="#000000" letterSpacing="1.000000" kerning="0"><b>+10 - +11</b></font></p>

Table of Contents

CONTENTS

Tools

Tools

Double Page View

Single Page View

Zoom Out

Zoom to 100%

100%

Zoom In

Zoom To

Notes

Highlighter

Glossary

Glossary

Search

Search

Help

F

D

P

Keystroke Help

Accessible Version

Destination Math

Student View

<p align="center"><font face="Verdana" size="11" color="#000000" letterSpacing="0.000000" kerning="1">Student View</font></p>

Student View

Teacher View

<p align="center"><font face="Verdana" size="11" color="#000000" letterSpacing="0.000000" kerning="1">Teacher View</font></p>

Teacher View

Student View

Teacher View

Search Results

Search Results

<p align="center"><font face="Verdana" size="11" color="#000000" letterSpacing="0.000000" kerning="1">Previous Page</font></p><p align="center"></p>

Whiteboard View

<p align="center"><font face="Verdana" size="11" color="#000000" letterSpacing="0.000000" kerning="1">Whiteboard View</font></p>

100%

<p align="center"><font face="Arial" size="14" color="#000000" letterSpacing="0.000000" kerning="1">search here</font></p>

PDF links

<p align="left"><font face="arial" size="14" color="#333333" letterSpacing="0.000000" kerning="1">No results found</font></p>

Search

<p align="center"><font face="HelveticaNeueLT Std Cn" size="13" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>A</b></font></p>

<p align="left"></p>

English

Spanish

Glossary

Error

<p align="left"></p>

<p align="left"></p>

Index

Video

sample text

T

C

<p align="left"><font face="Verdana" size="10" color="#000000" letterSpacing="0.000000" kerning="1">asas</font></p>

Type 5

Type 4

<p align="left"><font face="VAG Rounded Std Thin" size="14" color="#333333" letterSpacing="0.000000" kerning="1">NO Result</font></p>

Fast Forward

<p align="center"></p>

<p align="left"><font face="VAG Rounded Std Thin" size="14" color="#333333" letterSpacing="0.000000" kerning="1">Page</font></p>

<p align="left"><font face="VAG Rounded Std Thin" size="14" color="#0000ff" letterSpacing="0.000000" kerning="1">Page</font></p>

<p align="left"><font face="VAG Rounded Std Thin" size="14" color="#333333" letterSpacing="0.000000" kerning="1">NO Result</font></p>

<p align="left"><font face="_sans" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>tere</b></font></p>

<p align="left"></p>

<p align="left"></p>

Delete

Save Here

<p align="left"></p>

<p align="left"></p>

<p align="left"></p>

<p align="left"></p>

NO Result

Add a blank sheet

Delete the sheet

<p align="center"></p>

<p align="left"><font face="arial" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>Section Name </b></font></p>

<p align="left"></p>

<p align="left"><font face="arial" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>Section Name </b></font></p>

delete

Edit

ActionScript [AS3]

Section 1
//AccessableObject (accessibility.AccessableObject) package accessibility { import flash.display.*; import flash.accessibility.*; import flash.system.*; public class AccessableObject extends Sprite { private var _iTabIndex:Number; private var _blnTabON:Boolean; private var _strCategory:String; private var _spObject:Object; private var _strAltShortcutKey:String; private var _strShortcutKey:String; private var _blnShortcutON:Boolean; private var _blnAltTextON:Boolean; private var _altText:String; public function AccessableObject(_arg1:Object, _arg2:Object):void{ _spObject = _arg1; _strCategory = _arg2.strCategory; _iTabIndex = _arg2.iTabIndex; _blnTabON = _arg2.blnTabON; _strShortcutKey = _arg2.strShortcutKey; _strAltShortcutKey = _arg2.strAltShortcutKey; _blnShortcutON = _arg2.blnShortcutON; _altText = _arg2.altText; _blnAltTextON = _arg2.blnAltTextON; setAltText(); } public function get shortcut():String{ return (_strShortcutKey); } public function isAltTextON():Boolean{ return (_blnAltTextON); } public function set accessibilityState(_arg1:Boolean):void{ var _local2:InteractiveObject; if (_spObject != null){ _local2 = (_spObject as InteractiveObject); _local2.tabEnabled = _arg1; }; } public function isShortcutON():Boolean{ return (_blnShortcutON); } public function get item():Object{ return (_spObject); } public function get altShortcut():String{ return (_strAltShortcutKey); } private function isEnable(_arg1:Object):Boolean{ var _local2:Boolean; if ((((_arg1.parent == null)) || (!(_arg1.mouseEnabled)))){ _local2 = _arg1.mouseEnabled; } else { _local2 = isEnable(_arg1.parent); }; return (_local2); } public function get enableState():Boolean{ var _local1:Object = _spObject; var _local2:Boolean = isEnable(_local1); return (_local2); } public function get accessibilityState():Boolean{ var _local1:InteractiveObject = (_spObject as InteractiveObject); return (_local1.tabEnabled); } public function get tabIndexNumber():Number{ return (_iTabIndex); } public function isTabON():Boolean{ return (_blnTabON); } private function setAltText():void{ var _local1:AccessibilityProperties; if (Accessibility.active){ _local1 = new AccessibilityProperties(); _local1.name = _altText; _local1.silent = ((((_altText == null)) || ((_altText == "")))) ? true : false; _local1.noAutoLabeling = true; _spObject.accessibilityProperties = _local1; if (Capabilities.hasAccessibility){ Accessibility.updateProperties(); }; }; } public function get altText():String{ return (_altText); } public function get category():String{ return (_strCategory); } } }//package accessibility
Section 2
//AccessibilityConstants (accessibility.AccessibilityConstants) package accessibility { public dynamic class AccessibilityConstants { public static const CONTENT2_PAGEITEM:String = "content2_pageitem"; public static const CONTENT1_PAGEITEM:String = "content1_pageitem"; public static const GLOSSARY_POPUP:String = "glossary_popup"; public static const GLOBALNOTES_POPUP:String = "globalnotes_popup"; public static const NOTES:String = "notes"; public static const TOOLS2_BAR:String = "tools2_bar"; public static const SEARCH_POPUP:String = "search_popup"; public static const TOOLS1_BAR:String = "tools1_bar"; public static const PRINT_POPUP:String = "print_popup"; public static const RESOURCE_POPUP:String = "resource_popup"; public static const ERROR_POPUP:String = "error_popup"; } }//package accessibility
Section 3
//AccessibilityManager (accessibility.AccessibilityManager) package accessibility { import controller.*; import flash.events.*; import flash.display.*; import model.*; import flash.ui.*; import flash.text.*; public class AccessibilityManager { private var _objTabHandler:TabHandler; private var _objShortcutHandler:ShortcutHandler; private var _objLastInteractiveObject:InteractiveObject; private var _objAltTextHandler:AltTextHandler; private var _arrAccessibleObjects:Array; private static var _instance:AccessibilityManager; public function AccessibilityManager():void{ _arrAccessibleObjects = new Array(); _objTabHandler = new TabHandler(); _objShortcutHandler = new ShortcutHandler(); } public function registerCategory(_arg1:String):void{ var _local4:Object; var _local5:Object; unRegisterCategory(_arg1); var _local2:Array = getAccessibleItemsList(_arg1); var _local3:int; while (_local3 < _local2.length) { if ((((_arg1 == AccessibilityConstants.TOOLS1_BAR)) || ((_arg1 == AccessibilityConstants.TOOLS2_BAR)))){ _local4 = Controller.instance.view.toolbar.getAccessibleObject(_local2[_local3].item); } else { _local4 = _local2[_local3].item; }; _local5 = new Object(); _local5.iTabIndex = _local2[_local3].tabIndex; _local5.strCategory = _arg1; _local5.strShortcutKey = _local2[_local3].shortcut; _local5.strAltShortcutKey = _local2[_local3].altShortcut; _local5.blnShortcutON = false; _local5.altText = _local2[_local3].alt; _local5.blnAltTextON = false; if (!_local2[_local3].blnTabON){ _local5.blnTabON = false; } else { _local5.blnTabON = true; }; registerAccessibleObject(_local4, _local5); _local3++; }; } private function onKeyDown(_arg1:KeyboardEvent):void{ var _local2:Stage = Controller.instance.view.instance.stage; var _local3:InteractiveObject = (_local2.focus as InteractiveObject); if (_arg1.keyCode == Keyboard.TAB){ _objLastInteractiveObject = null; if (_local2.focus != null){ }; } else { if (_arg1.keyCode == Keyboard.ENTER){ if (_local3 != null){ _objLastInteractiveObject = _local3; }; } else { if (_arg1.keyCode == Keyboard.SPACE){ if (_local3 != null){ _objLastInteractiveObject = _local3; }; } else { _objLastInteractiveObject = _local3; if (!(Controller.instance.view.instance.stage.focus is TextField)){ _objShortcutHandler.triggerShortcut(_arg1); }; }; }; }; } public function registerItemsAgain(_arg1:String):void{ var _local5:Object; var _local6:Object; Controller.instance.tracer(("strCategory again: " + _arg1)); var _local2:Array = new Array(); var _local3:Array = new Array(); if (_arg1 == AccessibilityConstants.TOOLS1_BAR){ _local2 = Config.TOOLS2_BAR; } else { if (_arg1 == AccessibilityConstants.SEARCH_POPUP){ _local2 = Controller.instance.view.search.getSearchTabItem(); } else { if (_arg1 == AccessibilityConstants.GLOSSARY_POPUP){ _local2 = Controller.instance.view.glossary.getGlossaryTabItems(); } else { if (_arg1 == AccessibilityConstants.CONTENT1_PAGEITEM){ _local2 = Controller.instance.view.content.getAccesibleItems(); } else { if (_arg1 == AccessibilityConstants.TOOLS2_BAR){ _local2 = Config.TOOLS2_BAR; }; }; }; }; }; var _local4:int; while (_local4 < _local2.length) { if ((((_local2[_local4] == AccessibilityConstants.TOOLS1_BAR)) || ((_local2[_local4] == AccessibilityConstants.TOOLS2_BAR)))){ _local5 = Controller.instance.view.toolbar.getAccessibleObject(_local2[_local4].item); } else { _local5 = _local2[_local4].item; }; _local6 = new Object(); _local6.iTabIndex = (_local4 + 1); _local6._blnTabON = true; _local6.strCategory = _arg1; _local6.strShortcutKey = _local2[_local4].shortcut; _local6.blnShortcutON = false; _local6.altText = _local2[_local4].alt; _local6.blnAltTextON = false; registerAccessibleObject(_local5, _local6); _local3.push({item:_local5, bEnable:true, nIndex:_local6.iTabIndex, strCategory:_local6.category}); _local4++; }; } public function get objTabHandler():TabHandler{ return (_objTabHandler); } public function enableAccessibility(_arg1:AccessableObject, _arg2:Boolean):void{ objTabHandler.enableTabitem(_arg1, _arg2); } public function get objLastInteractiveObject():InteractiveObject{ return (_objLastInteractiveObject); } public function setObjLastInteractiveObject(_arg1:InteractiveObject):void{ _objLastInteractiveObject = _arg1; } private function getObjectByName(_arg1:Object):AccessableObject{ var _local2:int; while (_local2 < _arrAccessibleObjects.length) { if (_arrAccessibleObjects[_local2].name == _arg1){ return (_arrAccessibleObjects[_local2]); }; _local2++; }; return (null); } public function setEvents():void{ var _local1:Stage = Controller.instance.view.instance.stage; _local1.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown); } public function searchNextTabItem(_arg1:Number):InteractiveObject{ var _local4:InteractiveObject; Controller.instance.tracer(("nTabIndex " + _arg1)); var _local2:Number = (_arg1 + 1); var _local3:int; while (_local3 < _arrAccessibleObjects.length) { _local4 = (_arrAccessibleObjects[_local3] as InteractiveObject); if (_local4 != null){ Controller.instance.tracer(((("objBtn.name " + _local4.name) + " objBtn.tabIndex ") + _local4.tabIndex)); }; _local3++; }; return (null); } public function get arrAccessibleObjects():Array{ return (_arrAccessibleObjects); } public function initAccessibility():void{ setEvents(); _arrAccessibleObjects = new Array(); var _local1:Array = Config.TAB_ORDER_BY_SECTION; var _local2:Number = 0; while (_local2 < _local1.length) { registerCategory(_local1[_local2]); _local2++; }; objTabHandler.organiseTabing(); var _local3:int; while (_local3 < _arrAccessibleObjects.length) { _local3++; }; } public function registerAccessibleObject(_arg1:Object, _arg2:Object):void{ var _local3:AccessableObject = new AccessableObject(_arg1, _arg2); _local3.accessibilityState = false; _arrAccessibleObjects.push(_local3); } public function get objShortcutHandler():ShortcutHandler{ return (objShortcutHandler); } private function unregisterAccessibleObject(_arg1:Object):void{ var _local2:int; while (_local2 < _arrAccessibleObjects.length) { if (_arrAccessibleObjects[_local2] == _arg1){ _arrAccessibleObjects.splice(_local2); }; _local2++; }; } private function getAccessibleItemsList(_arg1:String):Array{ var _local2:Array = new Array(); if (_arg1 == AccessibilityConstants.TOOLS1_BAR){ _local2 = Config.TOOLS1_BAR; } else { if ((((_arg1 == AccessibilityConstants.SEARCH_POPUP)) && (Config.BUTTON_SEARCH))){ _local2 = Controller.instance.view.search.getSearchTabItem(); } else { if ((((_arg1 == AccessibilityConstants.GLOSSARY_POPUP)) && (Config.BUTTON_GLOSSARY))){ _local2 = Controller.instance.view.glossary.getGlossaryTabItems(); } else { if ((((_arg1 == AccessibilityConstants.RESOURCE_POPUP)) && (Config.BUTTON_RESOURCE_PANEL))){ _local2 = Controller.instance.view.resourcePanel.getTabItems(); } else { if (_arg1 == AccessibilityConstants.ERROR_POPUP){ _local2 = Controller.instance.view.errorWindow.getGlossaryTabItems(); } else { if (_arg1 == AccessibilityConstants.CONTENT1_PAGEITEM){ _local2 = Controller.instance.view.content.getAccesibleItems(); } else { if (_arg1 == AccessibilityConstants.TOOLS2_BAR){ _local2 = Config.TOOLS2_BAR; } else { if (_arg1 == AccessibilityConstants.PRINT_POPUP){ _local2 = Controller.instance.view.printPanel.getPrintPanelTabItems(); } else { if (_arg1 == AccessibilityConstants.GLOBALNOTES_POPUP){ _local2 = Controller.instance.view.globalNotesPanel.getTabItems(); } else { if ((((((_arg1 == AccessibilityConstants.RESOURCE_POPUP)) && (!(Config.BUTTON_RESOURCE_PANEL)))) && (!((Config.ADVANCED_RESOURCE_PANEL_DATA == null))))){ if (Controller.instance.view.activeAdvanceResourcePanels != null){ _local2 = Controller.instance.view.activeAdvanceResourcePanels.getTabItems(); }; }; }; }; }; }; }; }; }; }; }; return (_local2); } public function enableCategoryAccessibility(_arg1:String, _arg2:Boolean):void{ var _local3:int; while (_local3 < arrAccessibleObjects.length) { if (_arg1 == arrAccessibleObjects[_local3].category){ enableAccessibility(arrAccessibleObjects[_local3], _arg2); }; _local3++; }; } public function unRegisterCategory(_arg1:String):void{ var _local2:Number = 0; var _local3:Number = 0; var _local4:Boolean; var _local5:Number = _arrAccessibleObjects.length; var _local6:Number = 0; while (_local6 < _local5) { if (_arrAccessibleObjects[_local6].category == _arg1){ _arrAccessibleObjects[_local6].accessibilityState = false; if (!_local4){ _local4 = true; _local2 = _local6; }; _local3++; }; _local6++; }; _arrAccessibleObjects.splice(_local2, _local3); } public function registerDropDownTabItems(_arg1:Array):Array{ var _local5:Object; var _local6:Object; var _local7:AccessableObject; var _local2:Array = _arg1; var _local3:Array = new Array(); var _local4:int; while (_local4 < _local2.length) { _local5 = _local2[_local4].item; _local6 = new Object(); _local6.iTabIndex = _local2[_local4].tabIndex; _local6.strCategory = "dd"; _local6.strShortcutKey = _local2[_local4].shortcut; _local6.strAltShortcutKey = _local2[_local4].altShortcut; _local6.blnShortcutON = false; _local6.altText = _local2[_local4].alt; _local6.blnAltTextON = false; if (!_local2[_local4].blnTabON){ _local6.blnTabON = false; } else { _local6.blnTabON = true; }; _local7 = new AccessableObject(_local5, _local6); _local7.accessibilityState = false; _local3.push(_local7); _local4++; }; return (_local3); } public static function get instance():AccessibilityManager{ if (_instance == null){ _instance = new (AccessibilityManager); }; return (_instance); } } }//package accessibility
Section 4
//AltTextHandler (accessibility.AltTextHandler) package accessibility { public class AltTextHandler { public function AltTextHandler():void{ } } }//package accessibility
Section 5
//ShortcutHandler (accessibility.ShortcutHandler) package accessibility { import controller.*; import flash.events.*; import model.*; public class ShortcutHandler { public function ShortcutHandler():void{ } private function getItem(_arg1:String):AccessableObject{ var _local4:AccessableObject; var _local5:String; var _local6:String; var _local2:Array = AccessibilityManager.instance.arrAccessibleObjects; var _local3:int; while (_local3 < _local2.length) { _local4 = _local2[_local3]; _local5 = (_local4.shortcut) ? _local4.shortcut : ""; _local6 = (_local4.altShortcut) ? _local4.altShortcut : ""; if ((((_arg1.toUpperCase() == _local5.toUpperCase())) || ((_arg1 == _local6.toUpperCase())))){ return (_local4); }; _local3++; }; return (null); } public function triggerShortcut(_arg1:KeyboardEvent):void{ var _local2:Controller = Controller.instance; var _local3:Model = _local2.model; var _local4:String = String.fromCharCode(_arg1.keyCode); if (((_arg1.ctrlKey) && (_arg1.shiftKey))){ _local4 = ("CONTROL_SHIFT_" + _local4); } else { if (_arg1.ctrlKey){ _local4 = ("CONTROL" + _local4); } else { if (((((_arg1.shiftKey) && ((_local4 == "T")))) && ((_local3.blnTestMode == true)))){ Controller.instance.view.content.toggleTestMode(); } else { if (_arg1.shiftKey){ _local4 = ("SHIFT" + _local4); }; }; }; }; var _local5:AccessableObject = getItem(_local4); if (((((!((_local5 == null))) && (!((_local5.item == null))))) && (_local5.enableState))){ _local5.item.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); }; } } }//package accessibility
Section 6
//TabHandler (accessibility.TabHandler) package accessibility { import controller.*; import flash.display.*; import model.*; import flash.text.*; public class TabHandler { private var _arrTabbedItems:Array; private var _arrTabOrder:Array; private var _arrItems:Array; public function TabHandler():void{ _arrTabOrder = Config.TAB_ORDER_BY_SECTION; if (Config.ACCESSIBILITY == false){ Controller.instance.tabChildren = false; }; } public function isItemTabRegistered(_arg1:Object):Boolean{ var _local3:InteractiveObject; var _local2:int; while (_local2 < _arrItems.length) { _local3 = (_arrItems[_local2].item as InteractiveObject); if (_local3 != null){ if (_local3 == _arg1){ if (checkParentVisibility(_local3)){ return (true); }; return (false); }; }; _local2++; }; return (false); } public function checkParentVisibility(_arg1:Object):Boolean{ var _local3:String; var _local2:Object = _arg1.parent; if (_local2 != null){ _local3 = _local2.name; if (_local3 != "Ebooklayout"){ if (!_local2.visible){ return (false); }; return (checkParentVisibility(_local2)); } else { return (true); }; //unresolved jump }; return (false); } public function enableTabitem(_arg1:AccessableObject, _arg2:Boolean):void{ _arg1.accessibilityState = _arg2; } private function checkState(_arg1:InteractiveObject):Boolean{ var _local2:Boolean; if (((((!((_arg1 == null))) && (checkForVisibility(_arg1)))) && (checkEnabled(_arg1)))){ return (true); }; return (false); } public function shiftTabOrder(_arg1:String, _arg2:Number):void{ var _local5:int; var _local3:Array = new Array(); var _local4:int; if (_arg2 > _arrTabOrder.length){ throw (new Error("Position of Accessibility Constants is out of range")); }; _local5 = 0; while (_local5 < _arrTabOrder.length) { if (_arrTabOrder[_local5] == _arg1){ _local4 = _local5; break; }; _local5++; }; _local5 = 0; while (_local5 < _arrTabOrder.length) { if ((_arg2 - 1) > _local4){ if (_arg1 != _arrTabOrder[_local5]){ _local3.push(_arrTabOrder[_local5]); }; if (_local5 == (_arg2 - 1)){ _local3.push(_arg1); }; } else { if (_local5 == (_arg2 - 1)){ _local3.push(_arg1); }; if (_arg1 != _arrTabOrder[_local5]){ _local3.push(_arrTabOrder[_local5]); }; }; _local5++; }; _arrTabOrder = _local3; organiseTabing(); } public function searchNextTabItem(_arg1:Number):InteractiveObject{ var _local4:InteractiveObject; var _local2:Number = (_arg1 + 1); var _local3:int; while (_local3 < _arrItems.length) { _local4 = (_arrItems[_local3].item as InteractiveObject); if (_local4 != null){ if (_local4.tabIndex == _local2){ if (_local4.tabEnabled){ if (checkParentVisibility(_local4)){ return (_local4); }; _local2 = (_local2 + 1); } else { _local2 = (_local2 + 1); }; }; }; _local3++; }; return (null); } private function getLastTabIndex(_arg1:String):Number{ var _local2:Number = 0; var _local3:int; while (_local3 < _arrItems.length) { if (_arg1 == _arrItems[_local3].category){ if (_arrItems[_local3].tabIndexNumber > _local2){ _local2 = _arrItems[_local3].tabIndexNumber; }; }; _local3++; }; return (_local2); } public function organiseTabing():void{ var _local4:int; var _local5:InteractiveObject; var _local6:MovieClip; _arrTabbedItems = new Array(); _arrItems = AccessibilityManager.instance.arrAccessibleObjects; var _local1:Number = 0; var _local2:Number = 0; var _local3:int; while (_local3 < _arrTabOrder.length) { _local4 = 0; while (_local4 < _arrItems.length) { if (_arrTabOrder[_local3] == _arrItems[_local4].category){ if (_arrItems[_local4].item != null){ _local5 = (_arrItems[_local4].item as InteractiveObject); _local5.tabEnabled = checkState(_local5); _local5.tabIndex = (_arrItems[_local4].tabIndexNumber + _local1); if ((_local5 is MovieClip)){ _local6 = (_local5 as MovieClip); _local6.buttonMode = true; _arrTabbedItems.push(_local6); } else { _arrTabbedItems.push(_local5); }; }; }; _local4++; }; _local2 = getLastTabIndex(_arrTabOrder[_local3]); _local1 = (_local1 + _local2); _local2 = 0; _local3++; }; } private function checkEnabled(_arg1:Object):Boolean{ return (((_arg1 is TextField)) ? true : _arg1.mouseEnabled); } public function checkForVisibility(_arg1:Object):Boolean{ if ((((_arg1.alpha == 0)) || ((_arg1.visible == false)))){ return (false); }; return (true); } public function addDropDownTabItems(_arg1, _arg2:Array):void{ var _local4:Number; var _local7:Number; var _local8:InteractiveObject; var _local9:MovieClip; var _local3:Boolean; var _local5:int; var _local6:int; while (_local6 < _arrTabbedItems.length) { if ((((_arrTabbedItems[_local6].name == _arg1)) && ((_local3 == false)))){ _local3 = true; _local4 = _arrTabbedItems[_local6].tabIndex; _local6 = _arrTabbedItems.length; }; _local6++; }; _local5 = 0; while (_local5 < _arrTabbedItems.length) { _local7 = Number(_arrTabbedItems[_local5].tabIndex); if (_local7 > _local4){ _arrTabbedItems[_local5].tabIndex = (_arrTabbedItems[_local5].tabIndex + _arg2.length); }; _local5++; }; _local5 = 0; while (_local5 < _arg2.length) { if (_arg2[_local5].item != null){ _local8 = (_arg2[_local5].item as InteractiveObject); _local8.tabEnabled = checkState(_local8); _local8.tabIndex = (_arg2[_local5].tabIndexNumber + _local4); if ((_local8 is MovieClip)){ _local9 = (_local8 as MovieClip); _local9.buttonMode = true; }; _arrTabbedItems.push(_local9); }; _local5++; }; } public function enableTabCategory(_arg1:String, _arg2:Boolean):void{ var _local3:int; while (_local3 < _arrItems.length) { if (_arg1 == _arrItems[_local3].category){ enableTabitem(_arrItems[_local3], _arg2); }; _local3++; }; } } }//package accessibility
Section 7
//addNoteBtn_103 (components_fla.addNoteBtn_103) package components_fla { import flash.display.*; public dynamic class addNoteBtn_103 extends MovieClip { public var tooltip:MovieClip; } }//package components_fla
Section 8
//deleteNoteBtn_105 (components_fla.deleteNoteBtn_105) package components_fla { import flash.display.*; public dynamic class deleteNoteBtn_105 extends MovieClip { public var tooltip:MovieClip; } }//package components_fla
Section 9
//headerBar_4 (components_fla.headerBar_4) package components_fla { import flash.display.*; import flash.text.*; public dynamic class headerBar_4 extends MovieClip { public var closeBtn:MovieClip; public var popupDragArea:MovieClip; public var headerBg:MovieClip; public var restoreBtn:MovieClip; public var titleTxt:TextField; } }//package components_fla
Section 10
//popupWindowRestoreBtn_8 (components_fla.popupWindowRestoreBtn_8) package components_fla { import flash.display.*; public dynamic class popupWindowRestoreBtn_8 extends MovieClip { public function popupWindowRestoreBtn_8(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package components_fla
Section 11
//SeekBar_144 (components_fla.SeekBar_144) package components_fla { import flash.display.*; public dynamic class SeekBar_144 extends MovieClip { public function SeekBar_144(){ addFrameScript(0, frame1); } function frame1(){ cacheAsBitmap = true; } } }//package components_fla
Section 12
//SeekControl_141 (components_fla.SeekControl_141) package components_fla { import flash.display.*; public dynamic class SeekControl_141 extends MovieClip { public var mcFillBar:MovieClip; public var mcSeekHit:MovieClip; public var mcSeekHandle:MovieClip; } }//package components_fla
Section 13
//VolControl_134 (components_fla.VolControl_134) package components_fla { import flash.display.*; public dynamic class VolControl_134 extends MovieClip { public var mcVolumeHandle:MovieClip; public var mcVolumeBar:MovieClip; } }//package components_fla
Section 14
//VolumeBar_135 (components_fla.VolumeBar_135) package components_fla { import flash.display.*; public dynamic class VolumeBar_135 extends MovieClip { public var mcFillBar:MovieClip; public var mcHit:MovieClip; } }//package components_fla
Section 15
//VolumeBarFullness_136 (components_fla.VolumeBarFullness_136) package components_fla { import flash.display.*; public dynamic class VolumeBarFullness_136 extends MovieClip { public var mcFill:MovieClip; public var mask_mc:MovieClip; } }//package components_fla
Section 16
//VolumeBarFullness_72 (components_fla.VolumeBarFullness_72) package components_fla { import flash.display.*; public dynamic class VolumeBarFullness_72 extends MovieClip { public var mask_mc:MovieClip; public var fill_mc:VolumeBarProgress; } }//package components_fla
Section 17
//AudioController (controller.AudioController) package controller { import flash.events.*; import flash.display.*; import view.*; import model.*; import flash.utils.*; import flash.geom.*; import flash.net.*; import fl.controls.*; import flash.media.*; public class AudioController { private const NO_PAGE_AUDIO:uint = 0; private const SINGLE_PAGE_AUDIO:uint = 1; private const MULTIPLE_PAGE_AUDIO:uint = 2; private const SELECTED:String = "selected"; private const ANIMATION_DELAY:uint = 5000; private const NORMAL:String = "normal"; private var _hotspotClip:HotspotClip; private var _iPlayMode:Number; private var _blnSlide:Boolean; private var _bAnimationPlaying:Boolean;// = false private var _sound:Sound; private var _intPageAudioType:uint; private var _bAudioControllerVisibility:Boolean; private var _arrAudioControllerPos:Array; private var _spControllerClip:MovieClip; private var _loader:Loader; private var _blnUseAudioPlayer:Boolean; private var _blnNotPlaying:Boolean; private var _bPlayAudioOnStart:Boolean;// = true private var _arrAudioScriptBtnPos:Array; private var _arrVOHotspots:Array; private var _mcSeekBar:MovieClip; private var _arrAudioButtons:Array; private var _objAnimationTimer:Timer;// = null private var _taAudioScript:TextArea; private var _nTextLabelLength:Number; private var _iPageIndex:int; private var _blnDragMode:Boolean; private var _iPauseTimer:Number; private var _blnRewind:Boolean; private var _channel:SoundChannel; private var _arrSoundLength:Array; private var _objAudioTranscript:CustomButton; private var _strSoundSwfObjName:String; private var _soundForLength:Sound; private var _iNextAudioNum:Number; public static const PLAY_MODE_QUEUE:Number = 1; public static const PLAY_MODE_SLIDER:Number = 2; public static const PLAY_MODE_SINGLE:Number = 0; public function AudioController(){ _arrAudioButtons = new Array(); _arrSoundLength = new Array(); _arrVOHotspots = new Array(); _loader = new Loader(); _iNextAudioNum = 0; _iPauseTimer = 0; _blnNotPlaying = true; _blnDragMode = false; _iPlayMode = PLAY_MODE_SLIDER; _blnSlide = false; _blnUseAudioPlayer = true; _blnRewind = false; _bAudioControllerVisibility = false; if (Config.PLAY_AUDIO_ON_START){ _objAnimationTimer = new Timer(ANIMATION_DELAY, 1); _objAnimationTimer.addEventListener(TimerEvent.TIMER, playAnimation); }; } private function setSeekBarLength():void{ var _local3:Number; var _local4:Number; var _local5:int; var _local1:Number = _arrSoundLength[0]; var _local2:Number = _arrSoundLength[1]; if (isNaN(_nTextLabelLength)){ _nTextLabelLength = _spControllerClip.mcTxtPage1.width; }; if (_spControllerClip.mc_seekBar1.height < _spControllerClip.mc_seekBar2.height){ _spControllerClip.mc_seekBar2.height = _spControllerClip.mc_seekBar1.height; } else { if (_spControllerClip.mc_seekBar1.height > _spControllerClip.mc_seekBar2.height){ _spControllerClip.mc_seekBar1.height = _spControllerClip.mc_seekBar2.height; }; }; _local3 = ((_local1 / (_local1 + _local2)) * Config.AUDIOPLAYER_SEEKBAR_WIDTH); _local4 = ((_local2 / (_local1 + _local2)) * Config.AUDIOPLAYER_SEEKBAR_WIDTH); var _local6:int = (_spControllerClip.mcTxtPage1.width + 6); if (_local3 < _local6){ _local5 = (_local6 - _local3); _local3 = _local6; _local4 = (_local4 - _local5); } else { if (_local4 < _local6){ _local5 = (_local6 - _local4); _local4 = _local6; _local3 = (_local3 - _local5); }; }; _spControllerClip.mc_seekBar1.width = _local3; _spControllerClip.mc_seekBar2.x = (_spControllerClip.mc_seekBar1.x + _local3); _spControllerClip.mc_seekBar2.width = _local4; _spControllerClip.mcTxtPage1.x = (((_local3 + _spControllerClip.mc_seekBar1.x) - _spControllerClip.mcTxtPage1.width) - 10); _spControllerClip.mcTxtPage2.x = (((_local4 + _spControllerClip.mc_seekBar2.x) - _spControllerClip.mcTxtPage2.width) - 10); if (_spControllerClip.mcTxtPage2.x < _spControllerClip.mc_seekBar2.x){ _spControllerClip.mcTxtPage2.x = _spControllerClip.mc_seekBar2.x; }; if (_spControllerClip.mcTxtPage1.x < _spControllerClip.mc_seekBar1.x){ _spControllerClip.mcTxtPage1.x = _spControllerClip.mc_seekBar1.x; }; } private function showPreloader():void{ var _local1:Controller = Controller.instance; var _local2:ProgressBar = _local1.view.progressBar; if (_local2 != null){ _local2.visible = true; }; } private function playAudio():void{ if (((!((_spControllerClip == null))) && (_blnUseAudioPlayer))){ if (_channel != null){ _channel.stop(); _channel = null; }; _spControllerClip.removeEventListener(Event.ENTER_FRAME, onEnterFrame); _spControllerClip.addEventListener(Event.ENTER_FRAME, onEnterFrame); if (_blnRewind){ _iPauseTimer = 0; _blnRewind = false; } else { _iPauseTimer = ((_sound.length / (_mcSeekBar.width - _spControllerClip.mc_thumb.width)) * (_spControllerClip.mc_thumb.x - _mcSeekBar.x)); if (_iPauseTimer < 0){ _iPauseTimer = 0; }; }; }; if (((Config.ENABLE_ALTERNATE_LANGUAGE) && ((_iPauseTimer == 0)))){ Controller.instance.killAudio(); }; Controller.instance.stopAudio(); _channel = _sound.play(_iPauseTimer); _channel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler); } private function onSeekBar1(_arg1:MouseEvent):void{ changeSeekBarState(_spControllerClip.mc_seekBar1, SELECTED, false, _spControllerClip.mcTxtPage1); changeSeekBarState(_spControllerClip.mc_seekBar2, NORMAL, true, _spControllerClip.mcTxtPage2); if (_arg1 != null){ stopAudio(); setPageAudioNextToPlay(); togglePlay(); }; _spControllerClip.mcFiller.x = _mcSeekBar.x; } public function onItemClick(_arg1:Sprite):void{ if (Config.PAGE_AUDIO_CONTROLLER){ setAudioControllerVisibility(true); resetAudioScriptClip(); }; var _local2:int; while (_local2 < _arrAudioButtons.length) { if (_arrAudioButtons[_local2].mcClip == _arg1){ _blnUseAudioPlayer = _arrAudioButtons[_local2].useAudioPlayer; break; }; _local2++; }; stopAudio(); runningNum = _local2; if (Config.AUDIOPLAYER_USE_SLIDER){ if (_spControllerClip.btnPlay != null){ _spControllerClip.btnPlay.gotoAndStop("play"); setAudioControlsTheme(); }; playNextItem(); } else { togglePlay(); }; } private function onSeekBar2(_arg1:MouseEvent):void{ changeSeekBarState(_spControllerClip.mc_seekBar2, SELECTED, false, _spControllerClip.mcTxtPage2); changeSeekBarState(_spControllerClip.mc_seekBar1, NORMAL, true, _spControllerClip.mcTxtPage1); _spControllerClip.mcFiller.x = _mcSeekBar.x; stopAudio(); setPageAudioNextToPlay(); togglePlay(); } public function set controllerClip(_arg1:MovieClip):void{ if (_arg1 != null){ _loader = new Loader(); _spControllerClip = _arg1; setAudioControllerVisibility(_bAudioControllerVisibility); if (_arrAudioControllerPos == null){ _arrAudioControllerPos = new Array(); _arrAudioControllerPos[0] = _spControllerClip.x; _arrAudioControllerPos[1] = _spControllerClip.y; }; if (Config.AUDIOPLAYER_USE_SLIDER){ _blnUseAudioPlayer = true; _intPageAudioType = getPageAudioType(); _arrSoundLength = new Array(); _iPageIndex = 1; if (_intPageAudioType == MULTIPLE_PAGE_AUDIO){ setPageAudioNextToPlay(); loadAudioForLength(_arrAudioButtons[_iNextAudioNum].path); } else { initControllerClip(); }; } else { _spControllerClip.gotoAndStop("stop"); initControls(); }; }; } private function initDualSeekBars():void{ var _local1:int = Controller.instance.view.content.pageCount; setSeekBarLength(); if ((((_local1 == 1)) || ((_intPageAudioType == SINGLE_PAGE_AUDIO)))){ _spControllerClip.mc_seekBar1.width = Config.AUDIOPLAYER_SEEKBAR_WIDTH; changeSeekBarState(_spControllerClip.mc_seekBar1, SELECTED, false, _spControllerClip.mcTxtPage1); _spControllerClip.mcFiller.x = _mcSeekBar.x; _spControllerClip.mc_seekBar2.visible = false; _spControllerClip.mcTxtPage1.visible = false; _spControllerClip.mcTxtPage2.visible = false; _spControllerClip.mcTxtPage1.buttonMode = false; _spControllerClip.mcTxtPage2.buttonMode = false; if (_local1 != 1){ _iPageIndex = getPageIndex(); Controller.instance.tracer((" _iPageIndex == " + _iPageIndex)); _spControllerClip[("mcTxtPage" + _iPageIndex)].visible = true; _spControllerClip[("mcTxtPage" + _iPageIndex)].x = (((_mcSeekBar.x + _mcSeekBar.width) - _spControllerClip[("mcTxtPage" + _iPageIndex)].width) - 10); changeSeekBarState(_mcSeekBar, SELECTED, false, _spControllerClip[("mcTxtPage" + _iPageIndex)]); _iPageIndex = getPageIndex(); }; } else { if (_intPageAudioType == MULTIPLE_PAGE_AUDIO){ _spControllerClip.mc_seekBar2.visible = true; _spControllerClip.mcTxtPage1.visible = true; _spControllerClip.mcTxtPage2.visible = true; _spControllerClip.mc_seekBar1.addEventListener(MouseEvent.CLICK, onSeekBar1, false, 0, true); _spControllerClip.mc_seekBar2.addEventListener(MouseEvent.CLICK, onSeekBar2, false, 0, true); _spControllerClip.mcTxtPage1.addEventListener(MouseEvent.CLICK, onSeekBar1, false, 0, true); _spControllerClip.mcTxtPage2.addEventListener(MouseEvent.CLICK, onSeekBar2, false, 0, true); _spControllerClip.mcTxtPage1.addEventListener(MouseEvent.ROLL_OVER, onRollOver, false, 0, true); _spControllerClip.mcTxtPage2.addEventListener(MouseEvent.ROLL_OVER, onRollOver, false, 0, true); _spControllerClip.mcTxtPage1.addEventListener(MouseEvent.ROLL_OUT, onRollOut, false, 0, true); _spControllerClip.mcTxtPage2.addEventListener(MouseEvent.ROLL_OUT, onRollOut, false, 0, true); onSeekBar1(null); }; }; } private function onProgress(_arg1:ProgressEvent):void{ var _local2:Controller = Controller.instance; var _local3:ProgressBar = _local2.view.progressBar; if (_local3 != null){ _local3.update((_arg1.bytesLoaded / _arg1.bytesTotal)); }; } public function set sequenceArray(_arg1:Array):void{ _arrAudioButtons = _arg1; runningNum = 0; if ((((_arg1.length > 0)) && ((Config.AUDIOPLAYER_MODE_DEFAULT == PLAY_MODE_QUEUE)))){ highlightCurrentItem(); }; stopAudio(); if (_objAnimationTimer != null){ _bAnimationPlaying = false; _objAnimationTimer.stop(); }; } private function onThumbUp(_arg1:MouseEvent):void{ if (_blnDragMode){ _blnDragMode = false; _spControllerClip.mc_thumb.stopDrag(); updateAudioPosition(); }; } private function highlightVOHotspots():void{ hideAllVOHotspots(); var _local1:int; while (_local1 < _arrVOHotspots.length) { _hotspotClip = (_arrVOHotspots[_local1].hotspot as HotspotClip); if (_channel.position <= _arrVOHotspots[_local1].duration){ _hotspotClip.visible = true; _hotspotClip.setMode("highlighted"); highlightMultipleVOHotspots(_local1); break; } else { _hotspotClip.visible = false; }; _local1++; }; } private function highlightMultipleVOHotspots(_arg1:int):void{ var _local2:int; while (_local2 < _arrVOHotspots.length) { if (_local2 != _arg1){ _hotspotClip = (_arrVOHotspots[_local2].hotspot as HotspotClip); if (_arrVOHotspots[_arg1].duration == _arrVOHotspots[_local2].duration){ _hotspotClip.visible = true; _hotspotClip.setMode("highlighted"); }; }; _local2++; }; } private function initControllerClip():void{ if (((!(_blnSlide)) && (!((_intPageAudioType == NO_PAGE_AUDIO))))){ _spControllerClip.gotoAndStop("stop"); initControls(); buttonsVisibility(false); } else { if (_intPageAudioType != NO_PAGE_AUDIO){ _spControllerClip.gotoAndStop("init"); onSliderAnimation(null); } else { _blnSlide = false; _spControllerClip.gotoAndStop("stop"); setSliderState("disabled"); }; }; } private function setPageAudioNextToPlay():void{ var _local1:int; while (_local1 < _arrAudioButtons.length) { if (_arrAudioButtons[_local1].pageIndex == _iPageIndex){ _blnUseAudioPlayer = true; _iNextAudioNum = _local1; break; }; _local1++; }; } private function initSoundSwfObject(_arg1:Event):void{ var _local2:Object = (_loader.contentLoaderInfo.applicationDomain.getDefinition(_strSoundSwfObjName) as Object); _sound = new Sound(); _sound = (new (_local2) as Sound); onLoad(null); } public function set mediaMode(_arg1:Number):void{ _iPlayMode = _arg1; } private function hidePreloader():void{ var _local1:Controller = Controller.instance; var _local2:ProgressBar = _local1.view.progressBar; if (_local2 != null){ _local2.visible = false; }; } private function onClose(_arg1:MouseEvent):void{ if (((((!((_spControllerClip.btnClose == null))) && (!((_spControllerClip.btnClose.visible == false))))) && (_bAudioControllerVisibility))){ stopAudio(); _spControllerClip.x = _arrAudioControllerPos[0]; _spControllerClip.y = _arrAudioControllerPos[1]; _spControllerClip.visible = false; _bAudioControllerVisibility = false; }; } public function playFirstAudio():void{ if (((_bPlayAudioOnStart) && ((_arrAudioButtons.length > 0)))){ onItemClick(_arrAudioButtons[0].mcClip); if (_objAnimationTimer != null){ _objAnimationTimer.stop(); }; } else { if (!_blnNotPlaying){ stopAudio(); }; if (((!(_bAnimationPlaying)) && (!((_objAnimationTimer == null))))){ _objAnimationTimer.reset(); _objAnimationTimer.start(); }; }; } private function loadAudioForLength(_arg1:String):void{ var strURL:String; var strFirstSectionID:String; var index:int; var request:URLRequest; var url = _arg1; try { stopAudio(); strURL = ""; if (Config.ENABLE_FOLDER_STRUCTURE_CHANGE){ strFirstSectionID = Controller.instance.model.getSectionId(1); strURL = Config.CHANGED_ASSETS_LOCATION; strURL = strURL.split("[_@BookID]").join(Controller.instance.model.strBookID); strURL = strURL.split("[_@UnitNum]").join(strFirstSectionID); strURL = (strURL + url); } else { strURL = url; }; strURL = strURL.replace(/\\/g, "/"); if (((Config.MP3_AUDIO_USE_AS_SWF) && (_blnUseAudioPlayer))){ index = strURL.lastIndexOf(".mp3"); if (index > -1){ strURL = (strURL.substring(0, index) + ".swf"); _strSoundSwfObjName = strURL.substring((strURL.lastIndexOf("/") + 1), index); _loader.contentLoaderInfo.addEventListener(Event.COMPLETE, initSoundForLength); _loader.load(new URLRequest((Controller.instance.model.ebookPath + strURL))); } else { throw (new Error((strURL + "file doesn't exists."))); }; } else { request = new URLRequest((Controller.instance.model.ebookPath + strURL)); _soundForLength = new Sound(); _soundForLength.load(request); Controller.instance.tracer((("A2: " + Controller.instance.model.ebookPath) + strURL)); _soundForLength.removeEventListener(Event.COMPLETE, onLoadPageAudio); _soundForLength.addEventListener(Event.COMPLETE, onLoadPageAudio); }; } catch(error:Error) { Controller.instance.onError(error); }; } public function playAudioOnStart(_arg1:Boolean):void{ _bPlayAudioOnStart = _arg1; } public function onLoad(_arg1:Event):void{ if (Config.PROGRESS_BAR_REQUIRED){ hidePreloader(); }; playAudio(); } private function onBack(_arg1:MouseEvent):void{ stopAudio(); _iNextAudioNum--; togglePlay(); } private function stopPlayingAudio():void{ if (_channel){ _channel.stop(); _channel = null; _iPauseTimer = 0; _blnNotPlaying = true; }; } private function setSliderState(_arg1:String):void{ if (_spControllerClip.btnSlider != null){ if (_arg1 == "disabled"){ _spControllerClip.enabled = false; _spControllerClip.mouseChildren = false; _spControllerClip.btnSlider.buttonMode = false; buttonsVisibility(false); } else { _spControllerClip.enabled = true; _spControllerClip.mouseChildren = true; _spControllerClip.btnSlider.buttonMode = true; }; _spControllerClip.btnSlider.gotoAndStop(_arg1); }; } private function onAudioControllerPressed(_arg1:MouseEvent):void{ var _local2:Sprite = (Controller.instance.view.dragareaStage as Sprite); var _local3:Number = ((_spControllerClip.mcAudioScript)!=null) ? (_local2.height - _spControllerClip.mcDragBar.height) : (_local2.height - _spControllerClip.height); var _local4:Rectangle = new Rectangle(_local2.x, _local2.y, ((_local2.x + _local2.width) - _spControllerClip.width), _local3); _spControllerClip.startDrag(false, _local4); _spControllerClip.parent.setChildIndex(_spControllerClip, (_spControllerClip.parent.numChildren - 1)); } private function buttonsVisibility(_arg1:Boolean):void{ if (_spControllerClip != null){ _spControllerClip.mcTxtPage1.visible = _arg1; _spControllerClip.mcTxtPage2.visible = _arg1; _spControllerClip.mc_seekBar1.visible = _arg1; _spControllerClip.mc_seekBar2.visible = _arg1; }; } private function restRunningNumber():void{ runningNum = 0; } public function setAudioControllerFloating():void{ if (_spControllerClip.mcDragBar != null){ _spControllerClip.mcDragBar.addEventListener(MouseEvent.MOUSE_DOWN, onAudioControllerPressed); _spControllerClip.mcDragBar.addEventListener(MouseEvent.MOUSE_UP, onAudioControllerReleased); }; } private function updateSeekBar():void{ var _local1:Number; if (((!((_spControllerClip == null))) && (!((_channel == null))))){ if (_arrVOHotspots.length > 0){ highlightVOHotspots(); }; _local1 = (_channel.position * ((_mcSeekBar.width - _spControllerClip.mc_thumb.width) / _sound.length)); _spControllerClip.mc_thumb.x = (_mcSeekBar.x + _local1); if (Config.AUDIOPLAYER_USE_SLIDER){ _spControllerClip.mcFiller.width = ((_spControllerClip.mc_thumb.x - _mcSeekBar.x) + (_spControllerClip.mc_thumb.width / 2)); }; }; } private function onRewind(_arg1:MouseEvent):void{ _blnRewind = true; stopAudio(); if (Config.AUDIOPLAYER_USE_SLIDER){ _blnUseAudioPlayer = true; if ((((_iPageIndex == 2)) && ((_intPageAudioType == MULTIPLE_PAGE_AUDIO)))){ changeSeekBarState(_spControllerClip.mc_seekBar1, SELECTED, false, _spControllerClip.mcTxtPage1); changeSeekBarState(_spControllerClip.mc_seekBar2, NORMAL, true, _spControllerClip.mcTxtPage2); _spControllerClip.mc_thumb.x = _mcSeekBar.x; _spControllerClip.mcFiller.x = _mcSeekBar.x; _spControllerClip.mcFiller.width = (_spControllerClip.mc_thumb.x - _mcSeekBar.x); stopAudio(); setPageAudioNextToPlay(); } else { setPageAudioNextToPlay(); togglePlay(); }; } else { togglePlay(); }; } private function updateControlStates():void{ if (((!((_spControllerClip == null))) && (_blnUseAudioPlayer))){ enableButton(_spControllerClip.btnBack, false); enableButton(_spControllerClip.btnNext, false); enableButton(_spControllerClip.btnRewind, true); if (_arrAudioButtons.length <= 0){ enableButton(_spControllerClip.btnPlay, false); enableButton(_spControllerClip.mc_thumb, false); enableButton(_spControllerClip.btnRewind, false); } else { enableButton(_spControllerClip.mc_thumb, true); }; if (_iNextAudioNum > 0){ enableButton(_spControllerClip.btnBack, true); }; if (_iNextAudioNum < (_arrAudioButtons.length - 1)){ enableButton(_spControllerClip.btnNext, true); }; }; } private function onNext(_arg1:MouseEvent):void{ stopAudio(); _iNextAudioNum++; togglePlay(); } private function setAudioControllerVisibility(_arg1:Boolean):void{ var _local2:uint; var _local3:Array; var _local4:uint; if (Config.FLOATING_ELEMENTS != null){ _local2 = Config.FLOATING_ELEMENTS.length; _local3 = Config.FLOATING_ELEMENTS; _local4 = 0; while (_local4 < _local2) { if (_local3[_local4].item_name == TBConsts.PAGE_AUDIO_CONTROLLER){ if (_local3[_local4].default_visible == false){ _bAudioControllerVisibility = _arg1; _spControllerClip.visible = _arg1; break; }; }; _local4++; }; }; } private function isPageAudioRunning():Boolean{ var _local1:int; while (_local1 < _arrAudioButtons.length) { if (_arrAudioButtons[_local1].pageIndex == _iPageIndex){ if (_iNextAudioNum == _local1){ return (true); }; }; _local1++; }; return (false); } public function set runningNum(_arg1:Number):void{ _iNextAudioNum = _arg1; } public function loadAudio(_arg1:String):void{ var strURL:String; var c:Controller; var strFirstSectionID:String; var index:int; var request:URLRequest; var url = _arg1; Controller.instance.tracer(("audio path: " + url)); try { stopAudio(); if (Config.PROGRESS_BAR_REQUIRED){ showPreloader(); }; strURL = ""; c = Controller.instance; hideAllVOHotspots(); _arrVOHotspots = c.view.content.getVoiceOverHotspots(url); if (Config.ENABLE_FOLDER_STRUCTURE_CHANGE){ strFirstSectionID = Controller.instance.model.getSectionId(1); strURL = Config.CHANGED_ASSETS_LOCATION; strURL = strURL.split("[_@BookID]").join(Controller.instance.model.strBookID); strURL = strURL.split("[_@UnitNum]").join(strFirstSectionID); strURL = (strURL + url); } else { strURL = url; }; strURL = strURL.replace(/\\/g, "/"); if (((Config.MP3_AUDIO_USE_AS_SWF) && (_blnUseAudioPlayer))){ index = strURL.lastIndexOf(".mp3"); if (index > -1){ strURL = (strURL.substring(0, index) + ".swf"); _strSoundSwfObjName = strURL.substring((strURL.lastIndexOf("/") + 1), index); _loader.contentLoaderInfo.addEventListener(Event.INIT, initSoundSwfObject); if (Config.PROGRESS_BAR_REQUIRED){ _loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress); }; _loader.load(new URLRequest((Controller.instance.model.ebookPath + strURL))); } else { throw (new Error((strURL + "file doesn't exists."))); }; } else { request = new URLRequest((Controller.instance.model.ebookPath + strURL)); _sound = new Sound(); _sound.load(request); Controller.instance.tracer((("audio path: " + Controller.instance.model.ebookPath) + strURL)); if (Config.PROGRESS_BAR_REQUIRED){ _sound.addEventListener(ProgressEvent.PROGRESS, onProgress); }; _sound.removeEventListener(Event.COMPLETE, onLoad); _sound.addEventListener(Event.COMPLETE, onLoad); }; } catch(error:Error) { Controller.instance.onError(error); }; } private function onAudioControllerReleased(_arg1:MouseEvent):void{ _spControllerClip.stopDrag(); } private function onSlider(_arg1:MouseEvent):void{ _blnSlide = !(_blnSlide); if (_blnSlide){ _spControllerClip.gotoAndPlay("slideOpen"); } else { if (((_channel) && (_blnUseAudioPlayer))){ _channel.stop(); _channel.removeEventListener(Event.SOUND_COMPLETE, soundCompleteHandler); _channel = null; _iPauseTimer = 0; _blnNotPlaying = true; }; buttonsVisibility(false); _spControllerClip.gotoAndPlay("slideClose"); }; setSliderState("hide"); _spControllerClip.addEventListener(Event.ENTER_FRAME, onSliderAnimation); } public function setAudioControlsTheme():void{ var _local1:DisplayObject; if (Config.CHANGE_ITEMS_THEME != null){ _local1 = (_spControllerClip.btnPlay as DisplayObject); if (((!((Controller.instance.view.toolbar.themeHandler == null))) && (!((_local1 == null))))){ Controller.instance.view.toolbar.themeHandler.searchItems(_local1); }; }; } private function onLoadPageAudio(_arg1:Event):void{ _iPageIndex++; _arrSoundLength.push(_soundForLength.length); if (_iPageIndex <= MULTIPLE_PAGE_AUDIO){ setPageAudioNextToPlay(); loadAudioForLength(_arrAudioButtons[_iNextAudioNum].path); } else { _iPageIndex = 1; initControllerClip(); }; } private function hideAllVOHotspots():void{ var _local1:int; while (_local1 < _arrVOHotspots.length) { _hotspotClip = (_arrVOHotspots[_local1].hotspot as HotspotClip); _hotspotClip.visible = false; _local1++; }; } private function enableButton(_arg1:MovieClip, _arg2:Boolean):void{ if (_arg1 != null){ if (_arg2){ _arg1.gotoAndStop("up"); } else { _arg1.gotoAndStop("disable"); }; if (_arg1 == _spControllerClip.btnPlay){ setAudioControlsTheme(); }; _arg1.mouseEnabled = _arg2; _arg1.mouseChildren = _arg2; _arg1.buttonMode = _arg2; }; } private function setAudioButtonMode(_arg1:String, _arg2:HotspotClip):void{ var _local4:HotspotClip; var _local3:int; while (_local3 < _arrAudioButtons.length) { if (_arrAudioButtons[_local3].mcClip != null){ _local4 = _arrAudioButtons[_local3].mcClip; _local4.setMode("normal"); }; _local3++; }; _arg2.setMode("selected"); } private function getPageAudioType():uint{ var _local1:int; var _local2:int; while (_local2 < _arrAudioButtons.length) { if (((!((_arrAudioButtons[_local2].pageIndex == undefined))) && (!((_arrAudioButtons[_local2].pageIndex == null))))){ _local1++; }; _local2++; }; return (_local1); } private function changeSeekBarState(_arg1:MovieClip, _arg2:String, _arg3:Boolean, _arg4:MovieClip):void{ var _local5:ColorTransform = _arg4.transform.colorTransform; _arg1.gotoAndStop(_arg2); _arg1.mouseEnabled = _arg3; if (_arg2 == NORMAL){ _local5.greenOffset = 0xFF; _local5.redOffset = 0xFF; _local5.blueOffset = 0xFF; _arg4.transform.colorTransform = _local5; if (_arg1.name == "mc_seekBar1"){ _spControllerClip.mcTxtPage1.buttonMode = true; _spControllerClip.mcTxtPage2.buttonMode = false; _spControllerClip.mcTxtPage2.mouseEnabled = false; } else { _spControllerClip.mcTxtPage1.buttonMode = false; _spControllerClip.mcTxtPage2.buttonMode = true; _spControllerClip.mcTxtPage1.mouseEnabled = false; }; } else { if (_arg2 == SELECTED){ if (_arg1.name == "mc_seekBar1"){ _iPageIndex = 1; _spControllerClip.mcTxtPage1.buttonMode = false; _spControllerClip.mcTxtPage2.buttonMode = true; _spControllerClip.mcTxtPage1.mouseEnabled = false; } else { _iPageIndex = 2; _spControllerClip.mcTxtPage1.buttonMode = true; _spControllerClip.mcTxtPage2.buttonMode = false; _spControllerClip.mcTxtPage2.mouseEnabled = false; }; _mcSeekBar = _arg1; _local5.greenOffset = 0; _local5.redOffset = 0; _local5.blueOffset = 0; _arg4.transform.colorTransform = _local5; }; }; } private function onThumbMove(_arg1:MouseEvent):void{ if (_blnDragMode){ if (((!((Controller.instance.view.content.pageCount == 1))) && ((_intPageAudioType == MULTIPLE_PAGE_AUDIO)))){ if (_spControllerClip.mc_seekBar2.x <= _spControllerClip.mc_thumb.x){ changeSeekBarState(_spControllerClip.mc_seekBar1, NORMAL, true, _spControllerClip.mcTxtPage1); changeSeekBarState(_spControllerClip.mc_seekBar2, SELECTED, false, _spControllerClip.mcTxtPage2); } else { changeSeekBarState(_spControllerClip.mc_seekBar1, SELECTED, false, _spControllerClip.mcTxtPage1); changeSeekBarState(_spControllerClip.mc_seekBar2, NORMAL, true, _spControllerClip.mcTxtPage2); }; }; _spControllerClip.mcFiller.x = _mcSeekBar.x; _spControllerClip.mcFiller.width = ((_spControllerClip.mc_thumb.x - _mcSeekBar.x) + (_spControllerClip.mc_thumb.width / 2)); }; } private function playAnimation(_arg1:TimerEvent):void{ if (Config.PLAY_AUDIO_ON_START){ _objAnimationTimer.stop(); Controller.instance.view.toolbar.playAnimation(true); _bAnimationPlaying = true; }; } private function onThumbDown(_arg1:MouseEvent):void{ var _local2:Rectangle; _blnDragMode = true; _local2 = new Rectangle(_mcSeekBar.x, _mcSeekBar.y, (_mcSeekBar.width - _spControllerClip.mc_thumb.width), 0); if (Config.AUDIOPLAYER_USE_SLIDER){ if (_intPageAudioType == MULTIPLE_PAGE_AUDIO){ _local2 = new Rectangle(_spControllerClip.mc_seekBar1.x, _spControllerClip.mc_seekBar1.y, (Config.AUDIOPLAYER_SEEKBAR_WIDTH - _spControllerClip.mc_thumb.width), 0); }; _spControllerClip.mcTxtPage1.buttonMode = false; _spControllerClip.mcTxtPage2.buttonMode = false; }; _spControllerClip.mc_thumb.startDrag(false, _local2); } private function onPlay(_arg1:MouseEvent):void{ if (((Config.AUDIOPLAYER_USE_SLIDER) && (!(isPageAudioRunning())))){ _blnUseAudioPlayer = true; stopPlayingAudio(); setPageAudioNextToPlay(); togglePlay(); } else { togglePlay(); }; } private function onEnterFrame(_arg1:Event):void{ if (((((!(_blnDragMode)) && (!(_blnNotPlaying)))) && (_blnUseAudioPlayer))){ updateSeekBar(); }; } private function togglePlay():void{ _blnNotPlaying = !(_blnNotPlaying); if (!_blnNotPlaying){ if (_spControllerClip != null){ _spControllerClip.btnPlay.gotoAndStop("pause"); setAudioControlsTheme(); }; if (_channel != null){ playAudio(); } else { _iPauseTimer = 0; playNextItem(); }; } else { if (_channel != null){ _channel.stop(); _channel.removeEventListener(Event.SOUND_COMPLETE, soundCompleteHandler); _iPauseTimer = _channel.position; }; if (_spControllerClip != null){ _spControllerClip.btnPlay.gotoAndStop("play"); setAudioControlsTheme(); }; }; Controller.instance.organiseTabing(); Controller.instance.restoreTabbing(); } private function soundCompleteHandler(_arg1:Event):void{ if (((!((_spControllerClip == null))) && (_blnUseAudioPlayer))){ _spControllerClip.mc_thumb.x = ((_mcSeekBar.x + _mcSeekBar.width) - _spControllerClip.mc_thumb.width); if (_spControllerClip.mcFiller != null){ _spControllerClip.mcFiller.width = (_spControllerClip.mc_thumb.x - _mcSeekBar.x); }; }; if (_iPlayMode == PLAY_MODE_QUEUE){ onNext(null); } else { if (((Config.AUDIOPLAYER_USE_SLIDER) && (_blnUseAudioPlayer))){ if (_intPageAudioType == MULTIPLE_PAGE_AUDIO){ if (_iPageIndex == 1){ changeSeekBarState(_spControllerClip.mc_seekBar1, NORMAL, true, _spControllerClip.mcTxtPage1); changeSeekBarState(_spControllerClip.mc_seekBar2, SELECTED, false, _spControllerClip.mcTxtPage2); stopAudio(); setPageAudioNextToPlay(); togglePlay(); } else { changeSeekBarState(_spControllerClip.mc_seekBar1, SELECTED, false, _spControllerClip.mcTxtPage1); changeSeekBarState(_spControllerClip.mc_seekBar2, NORMAL, true, _spControllerClip.mcTxtPage2); stopAudio(); setPageAudioNextToPlay(); }; _spControllerClip.mcFiller.x = _mcSeekBar.x; } else { stopAudio(); }; } else { stopAudio(); }; }; if (((Config.ENABLE_ALTERNATE_LANGUAGE) && (!(Controller.instance.model.isStandalone)))){ if (_arrAudioButtons[_iNextAudioNum].mcClip.data.alternate_language){ Controller.instance.onUseAtlernateLanguage(); }; }; } private function onRollOut(_arg1:Event):void{ if (_arg1.target.name == "mc_seekBar1"){ _spControllerClip.mc_seekBar1.gotoAndStop(NORMAL); _spControllerClip.mcTxtPage1.mouseEnabled = true; } else { _spControllerClip.mc_seekBar2.gotoAndStop(NORMAL); _spControllerClip.mcTxtPage2.mouseEnabled = true; }; } private function onSliderAnimation(_arg1:Event):void{ var _local3:Timer; var _local2:MovieClip = (_spControllerClip as MovieClip); if (_local2.currentLabel == "stop"){ _local2.stop(); setSliderState("open"); buttonsVisibility(false); _spControllerClip.removeEventListener(Event.ENTER_FRAME, onSliderAnimation); } else { if (_local2.currentLabel == "init"){ _local2.stop(); setSliderState("hide"); _spControllerClip.removeEventListener(Event.ENTER_FRAME, onSliderAnimation); _local3 = new Timer(1, 1); _local3.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete, false, 0, true); _local3.reset(); _local3.start(); }; }; } private function getPageIndex():int{ var _local1:int; while (_local1 < _arrAudioButtons.length) { if (((!((_arrAudioButtons[_local1].pageIndex == undefined))) && (!((_arrAudioButtons[_local1].pageIndex == null))))){ return (_arrAudioButtons[_local1].pageIndex); }; _local1++; }; return (1); } private function updateAudioPosition():void{ if (Config.AUDIOPLAYER_USE_SLIDER){ if ((((_spControllerClip.mc_thumb.x < _spControllerClip.mc_seekBar2.x)) && ((_intPageAudioType == MULTIPLE_PAGE_AUDIO)))){ if ((_spControllerClip.mc_thumb.x + _spControllerClip.mc_thumb.width) > _spControllerClip.mc_seekBar2.x){ changeSeekBarState(_spControllerClip.mc_seekBar1, NORMAL, true, _spControllerClip.mcTxtPage1); changeSeekBarState(_spControllerClip.mc_seekBar2, SELECTED, false, _spControllerClip.mcTxtPage2); stopAudio(); _spControllerClip.mcFiller.x = _mcSeekBar.x; }; }; stopPlayingAudio(); setPageAudioNextToPlay(); togglePlay(); } else { if (!_blnNotPlaying){ _channel.stop(); playAudio(); }; }; } private function highlightCurrentItem():void{ if (Config.HIGHLIGHT_AUDIO_ON_CLICK){ if (_arrAudioButtons[_iNextAudioNum].mcClip != null){ setAudioButtonMode("selected", _arrAudioButtons[_iNextAudioNum].mcClip); }; }; } public function pauseAudioPlay():void{ if (!_blnNotPlaying){ if (_spControllerClip != null){ _spControllerClip.btnPlay.gotoAndStop("play"); setAudioControlsTheme(); }; if (_channel != null){ _channel.stop(); _channel.removeEventListener(Event.SOUND_COMPLETE, soundCompleteHandler); _iPauseTimer = _channel.position; }; _blnNotPlaying = true; } else { if (_channel != null){ _channel.stop(); _channel.removeEventListener(Event.SOUND_COMPLETE, soundCompleteHandler); }; }; } private function onAudioScript(_arg1:CustomButton):void{ var _local2 = (_arg1.currentState == CustomButton.STATE_SELECTED); var _local3:MovieClip = _spControllerClip.mcAudioScript; if (_local2){ if (_taAudioScript == null){ _taAudioScript = new TextArea(); _taAudioScript.x = _local3.mcAudioScriptBg.x; _taAudioScript.y = _local3.mcAudioScriptBg.y; _taAudioScript.editable = false; _taAudioScript.setSize(_local3.mcAudioScriptBg.width, _local3.mcAudioScriptBg.height); _local3.addChild(_taAudioScript); }; _taAudioScript.text = _arrAudioButtons[_iNextAudioNum].transcript; _arg1.instance.y = _arrAudioScriptBtnPos[0].finalPosition; _local3.visible = _local2; } else { resetAudioScriptClip(); }; } private function initControls():void{ if (_spControllerClip != null){ enableButton(_spControllerClip.btnPlay, true); updateControlStates(); if (_spControllerClip.btnPlay != null){ _spControllerClip.btnPlay.addEventListener(MouseEvent.CLICK, onPlay, false, 0, true); _blnNotPlaying = true; }; if (_spControllerClip.btnBack != null){ _spControllerClip.btnBack.addEventListener(MouseEvent.CLICK, onBack, false, 0, true); }; if (_spControllerClip.btnNext != null){ _spControllerClip.btnNext.addEventListener(MouseEvent.CLICK, onNext, false, 0, true); }; if (_spControllerClip.mc_thumb != null){ if (((Config.AUDIOPLAYER_USE_SLIDER) && (!((_intPageAudioType == NO_PAGE_AUDIO))))){ initDualSeekBars(); } else { _mcSeekBar = _spControllerClip.mc_seekBar; }; _spControllerClip.mc_thumb.x = _mcSeekBar.x; _spControllerClip.mc_thumb.gotoAndStop("up"); _spControllerClip.mc_thumb.addEventListener(MouseEvent.MOUSE_DOWN, onThumbDown, false, 0, true); _spControllerClip.mc_thumb.addEventListener(MouseEvent.MOUSE_UP, onThumbUp, false, 0, true); if (Config.AUDIOPLAYER_USE_SLIDER){ _spControllerClip.mc_thumb.addEventListener(MouseEvent.MOUSE_MOVE, onThumbMove, false, 0, true); _spControllerClip.mc_thumb.stage.addEventListener(MouseEvent.MOUSE_MOVE, onThumbMove, false, 0, true); _spControllerClip.mcFiller.width = (_spControllerClip.mc_thumb.x - _mcSeekBar.x); }; _spControllerClip.mc_thumb.stage.addEventListener(MouseEvent.MOUSE_UP, onThumbUp, false, 0, true); }; if (_spControllerClip.btnSlider != null){ if (_intPageAudioType != NO_PAGE_AUDIO){ setSliderState("open"); } else { setSliderState("disabled"); }; _spControllerClip.btnSlider.addEventListener(MouseEvent.MOUSE_DOWN, onSlider, false, 0, true); }; if (_spControllerClip.btnRewind != null){ _spControllerClip.btnRewind.addEventListener(MouseEvent.CLICK, onRewind, false, 0, true); }; if (_spControllerClip.btnClose != null){ _spControllerClip.btnClose.addEventListener(MouseEvent.CLICK, onClose, false, 0, true); }; if (_spControllerClip.mcAudioScript != null){ if (((!((_spControllerClip.btnAudioScript == null))) && ((_objAudioTranscript == null)))){ _objAudioTranscript = new CustomButton(_spControllerClip.btnAudioScript); _objAudioTranscript.__bToggle = true; _objAudioTranscript.setState(CustomButton.STATE_NORMAL); _objAudioTranscript.addEventListener(MouseEvent.CLICK, onAudioScript); _arrAudioScriptBtnPos = new Array(); _arrAudioScriptBtnPos.push({initialPosition:_objAudioTranscript.instance.y, finalPosition:(_spControllerClip.mcAudioScript.y + _spControllerClip.mcAudioScript.height)}); }; _spControllerClip.mcAudioScript.visible = false; resetAudioScriptClip(); } else { Controller.instance.tracer("Error. mcAudioScript not found."); if (_spControllerClip.btnAudioScript != null){ _spControllerClip.btnAudioScript.visible = false; }; }; }; } private function resetAudioScriptClip():void{ var _local1:String; var _local2:Boolean; if (((!((_objAudioTranscript == null))) && (!((_spControllerClip.mcAudioScript == null))))){ _objAudioTranscript.instance.y = _arrAudioScriptBtnPos[0].initialPosition; _spControllerClip.mcAudioScript.visible = false; _local1 = ((_arrAudioButtons.length)<=0) ? CustomButton.STATE_DISABLED : CustomButton.STATE_NORMAL; _local2 = ((_local1)==CustomButton.STATE_DISABLED) ? false : true; _objAudioTranscript.setState(_local1); _objAudioTranscript.setEnabled(_local2); }; } private function initSoundForLength(_arg1:Event):void{ _arg1.target.removeEventListener(Event.COMPLETE, initSoundForLength); var _local2:Object = (_loader.contentLoaderInfo.applicationDomain.getDefinition(_strSoundSwfObjName) as Object); _soundForLength = new Sound(); _soundForLength = (new (_local2) as Sound); onLoadPageAudio(null); } public function stopAudio():void{ if (_channel){ _channel.stop(); _channel.removeEventListener(Event.SOUND_COMPLETE, soundCompleteHandler); _channel = null; _iPauseTimer = 0; _blnNotPlaying = true; if (((!((_spControllerClip == null))) && (_blnUseAudioPlayer))){ _spControllerClip.btnPlay.gotoAndStop("play"); setAudioControlsTheme(); _spControllerClip.mc_thumb.x = _mcSeekBar.x; if (_spControllerClip.mcFiller != null){ _spControllerClip.mcFiller.width = (_spControllerClip.mc_thumb.x - _mcSeekBar.x); }; _spControllerClip.removeEventListener(Event.ENTER_FRAME, onEnterFrame); }; }; } private function onRollOver(_arg1:Event):void{ if (_arg1.target.name == "mc_seekBar1"){ _spControllerClip.mc_seekBar1.gotoAndStop(SELECTED); _spControllerClip.mcTxtPage2.mouseEnabled = false; } else { _spControllerClip.mc_seekBar2.gotoAndStop(SELECTED); _spControllerClip.mcTxtPage1.mouseEnabled = false; }; } public function playNextItem():void{ Controller.instance.tracer(("Audio playNextItem()" + _iNextAudioNum)); if (_iNextAudioNum < _arrAudioButtons.length){ Controller.instance.tracer("call to loadAudio()"); loadAudio(_arrAudioButtons[_iNextAudioNum].path); _blnUseAudioPlayer = _arrAudioButtons[_iNextAudioNum].useAudioPlayer; highlightCurrentItem(); } else { playAnimation(null); runningNum = 0; _blnNotPlaying = true; if (((!((_spControllerClip == null))) && (_blnUseAudioPlayer))){ _spControllerClip.btnPlay.gotoAndStop("play"); setAudioControlsTheme(); }; highlightCurrentItem(); }; updateControlStates(); } public function set arrVOHotspots(_arg1:Array):void{ _arrVOHotspots = _arg1; } private function onTimerComplete(_arg1:Event):void{ var _local2:Timer; _arg1.target.removeEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete); if (((!((_spControllerClip.mcReference == undefined))) && (!((_spControllerClip.mcReference == null))))){ buttonsVisibility(true); initControls(); setSliderState("close"); stopAudio(); setPageAudioNextToPlay(); togglePlay(); } else { _local2 = new Timer(1, 1); _local2.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete, false, 0, true); _local2.reset(); _local2.start(); }; } } }//package controller
Section 18
//Controller (controller.Controller) package controller { import flash.events.*; import flash.display.*; import view.*; import model.*; import flash.utils.*; import view.AdvanceFeatures.CustomCursor.*; import accessibility.*; import flash.net.*; import flash.text.*; import flash.media.*; import flash.system.*; import flash.external.*; public class Controller extends Sprite { private var _view:MainView; private var _sound:Sound; private var _strQueryStringPageId:String; private var _bPopUpOpen:Boolean;// = false private var _lastVisitIndex:Number;// = 0 private var _objCallback:Object; private var _blnShowTrace:Boolean; private var _objCustomContextMenu:CustomContextMenu;// = null private var _model:Model; private var _objPageAudioController:AudioController; private var _spTrace:Sprite; private var _objGlossaryCallOut:GlossaryCallOut;// = null private var _objAccesibility:AccessibilityManager; private var _lcSend:LocalConnection; private var _bCoverPage:Boolean;// = true private var _channel:SoundChannel; private var _strActivatedBookPath:String;// = null private var _debug:TextField; private var _strCurrentTheme:String; private var _currentPageIndex:Number;// = 0 private var _lcReceive:LocalConnection; private var _objExternalListener:Object;// = null private var _objInterPageData:Object;// = null private static var _instance:Controller; private static var MainViewLayout:Class = Controller_MainViewLayout; public function Controller():void{ this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage); } public function get pageAudioController():AudioController{ return (_objPageAudioController); } public function onLoadEBook():void{ var _local2:int; var _local3:uint; var _local4:uint; if (_view.introPanel != null){ _view.introPanel.visible = true; onPopUp(true); }; if (Config.ENABLE_FOLDER_STRUCTURE_CHANGE){ _local2 = _model.pageIDMapper(_model.changedLocationPageID); if (_local2 == 0){ _local2 = 1; }; _model.pageIndex = _local2; loadPage(_local2); } else { loadPage(_model.pageIndex); }; _view.content.initPageCount(!((_model.ebook.edition == "student"))); if (Config.ENABLE_PAGE_FLIP){ _view.content.initPageFliphandler(); }; _view.search.visible = false; _view.toolbar.onEbookLoad(); if (Config.BUTTON_GLOSSARY){ Controller.instance.view.glossary.init(); Controller.instance.view.glossary.instance.visible = false; }; if (Config.BUTTON_RESOURCE_PANEL){ Controller.instance.view.resourcePanel.init(); }; if (((!((Config.ADVANCED_RESOURCE_PANEL_DATA == null))) && (!((Config.ADVANCED_RESOURCE_PANEL_DATA.resourcePanels == null))))){ _local3 = Config.ADVANCED_RESOURCE_PANEL_DATA.resourcePanels.length; _local4 = 0; while (_local4 < _local3) { Controller.instance.view.advanceResourcePanels[_local4].init(); _local4++; }; }; if (Controller.instance.view.indexPanel != null){ Controller.instance.view.indexPanel.init(); }; if (((Config.USE_EXTERNAL_TABLE_OF_CONTENT) && (Config.BUTTON_TOC))){ if (Config.USE_ADVANCE_EXTERNAL_TOC){ Controller.instance.view.advanceExternalTOC.inItExternalToc(); } else { Controller.instance.view.tableOfContent.init(); }; }; var _local1:Branding = Controller.instance.view.branding; if (_local1 != null){ _local1.showBranding(); }; _objPageAudioController = new AudioController(); _view.toolbar.blnSwitchEdition = false; _view.toolbar.blnSwitchVolume = false; if (((!((Config.GLOSSARY_DATA == null))) && (Config.GLOSSARY_DATA.GLOSSARY_CALLOUT))){ _objGlossaryCallOut = new GlossaryCallOut(); _objGlossaryCallOut.init(); }; } private function initTracer(_arg1:DisplayObject):void{ var _local3:SimpleButton; var _local4:SimpleButton; var _local2:Sprite = (_arg1 as Sprite); _spTrace = (_local2.getChildByName("mcTracer") as Sprite); _spTrace.visible = false; if (((!((_spTrace == null))) && (_blnShowTrace))){ _local3 = (_spTrace.getChildByName("btnToggle") as SimpleButton); _local4 = (_spTrace.getChildByName("btnClear") as SimpleButton); _local3.addEventListener(MouseEvent.CLICK, onToggleTrace, false, 0, true); _local4.addEventListener(MouseEvent.CLICK, onClearTrace, false, 0, true); _spTrace.visible = true; }; } public function get glossaryCallOut():GlossaryCallOut{ return (_objGlossaryCallOut); } public function onLoadPage(_arg1:ByteArray, _arg2:Page):void{ _view.content.showPage(_arg1, _arg2); if (_arg2.currentPageIndex == _currentPageIndex){ _arg2.interPageData = _objInterPageData; }; } public function loadPage(_arg1:Number=1, _arg2:Boolean=true, _arg3:Boolean=false, _arg4:Object=null):void{ var pageCount:int; var page = _arg1; var check = _arg2; var blnSwitchMode = _arg3; var objInterPageData = _arg4; if (check){ Controller.instance.tracer(("current page: " + page)); if (!blnSwitchMode){ storeLastVisitedPage(); }; _currentPageIndex = page; if (_bCoverPage){ _bCoverPage = false; }; _objInterPageData = objInterPageData; }; updateHistoryButton(); try { stopAudio(); pageCount = _view.content.pageCount; if (((((check) && ((pageCount == 2)))) && (((page % 2) == 0)))){ page = (page - 1); }; if (check){ _lastVisitIndex = page; }; _model.loadPage(page); _view.progressBar.visible = true; _view.setEnabled(false); _view.content.visible = false; } catch(error:Error) { onError(error); }; } public function onSearchResults(_arg1:Array):void{ _view.search.displaySearchResults(_arg1); _view.toolbar.update(); _view.progressBar.visible = false; _view.setEnabled(true); _view.content.visible = true; if (Config.ACCESSIBILITY){ _view.instance.stage.focus = null; initilizeAccesibility(AccessibilityConstants.SEARCH_POPUP); }; } public function init():void{ var layout:DisplayObject; var strEbookPath:String; try { _blnShowTrace = false; _instance = this; stage.showDefaultContextMenu = false; stage.stageFocusRect = true; layout = new MainViewLayout(); layout.name = "Ebooklayout"; addChild(layout); initTracer(layout); _view = new MainView(layout); if (Config.CHANGE_ITEMS_THEME != null){ if (_view.toolbar.themeHandler != null){ _view.toolbar.themeHandler.setDefaultThemeItemsArray(); }; }; if (((!((_view.videoPanel == null))) && (!((Config.VIDEO == null))))){ _view.videoPanel.init(); }; _objAccesibility = AccessibilityManager.instance; _model = new Model(); _model.setStandaloneMode(); _strQueryStringPageId = loaderInfo.parameters.page; strEbookPath = loaderInfo.parameters.ebookPath; if (Config.ENABLE_FOLDER_STRUCTURE_CHANGE){ _model.loadBookIndexer(strEbookPath, 1, loaderInfo.parameters.base, loaderInfo.parameters.bookID, loaderInfo.parameters.chapter, loaderInfo.parameters.page); } else { if (loaderInfo.parameters.bookID != undefined){ strEbookPath = (loaderInfo.parameters.bookID + "/"); } else { if ((((strEbookPath == null)) && (!((Config.BOOK_VOLUMES == null))))){ strEbookPath = Config.BOOK_VOLUMES[0].eBookPath; }; }; _model.loadEBook(strEbookPath, 1, _strQueryStringPageId); }; if (_model.isStandalone){ _model.graderangeid = loaderInfo.parameters.graderangeid; initLocalConnection(); }; _strActivatedBookPath = strEbookPath; if (((!((Config.CONTEXT_MENU_DATA == null))) && (!((Config.CONTEXT_MENU_DATA.elements == null))))){ _objCustomContextMenu = new CustomContextMenu(Config.CONTEXT_MENU_DATA); contextMenu = _objCustomContextMenu.contextMenu; }; } catch(error:Error) { onError(error); }; } public function killAudio():void{ var _local1:String; if (_model.isStandalone){ _lcSend.send("connection1", "silence"); } else { _local1 = "kill_audio()"; loadURL(_local1, null, null, true); }; } public function get isPopupOpen():Boolean{ return (_bPopUpOpen); } public function organiseTabing():void{ _objAccesibility.objTabHandler.organiseTabing(); } public function loadAudio(_arg1:String, _arg2:Object):void{ var strURL:String; var request:URLRequest; var strFirstSectionID:String; var url = _arg1; var objCallback = _arg2; try { stopAudio(); strURL = ""; if (Config.ENABLE_FOLDER_STRUCTURE_CHANGE){ strFirstSectionID = _model.getSectionId(1); strURL = Config.CHANGED_ASSETS_LOCATION; strURL = strURL.split("[_@BookID]").join(_model.strBookID); strURL = strURL.split("[_@UnitNum]").join(strFirstSectionID); strURL = (strURL + url); } else { strURL = url; }; strURL = strURL.replace(/\\/g, "/"); request = new URLRequest((_model.ebookPath + strURL)); _sound = new Sound(); _sound.load(request); _objCallback = objCallback; _objPageAudioController.pauseAudioPlay(); _channel = _sound.play(); _channel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler); } catch(error:Error) { onError(error); }; } public function onUseAtlernateLanguage():void{ var _local1 = "play_ei_languages()"; loadURL(_local1, null, null, true); } private function onAddedToStage(_arg1:Event):void{ init(); } private function updateHistoryButton():void{ var _local1:Number = _model.historyCount; if (_local1 > 0){ _view.toolbar.enableLastVisitBtn(); } else { _view.toolbar.disableLastVisitBtn(); }; } public function set currentTheme(_arg1:String):void{ _strCurrentTheme = _arg1; } public function get view():MainView{ return (_view); } public function loadURL(_arg1:String, _arg2:String, _arg3:Object, _arg4:Boolean, _arg5:Boolean=false):void{ var jscommand:String; var strURL:String; var strExternalAssetUrl:String; var strFirstSectionID:String; var popUpUrl:URLRequest; var globalUrl:URLRequest; var tempURL:String; var eventName:String; var objEventData:Object; var strToFind_PageNum_1:String; var strToFind_PageNum_2:String; var strToFind_PageLabel_String:String; var strToFind_PageLabel_Num_1:String; var strToFind_PageLabel_Num_2:String; var strToFind_PageLabel_Num_3:String; var nIndex_PageNum_1:Number; var nIndex_PageNum_2:Number; var nIndex_PageLabel_String:Number; var nIndex_PageLabel_Number_1:Number; var nIndex_PageLabel_Number_2:Number; var nIndex_PageLabel_Number_3:Number; var strPageNum:String; var strPageTitle:String; var strGlossaryWord:String; var queryURL:URLRequest; var jsUrl:URLRequest; var url = _arg1; var type = _arg2; var objDimensions = _arg3; var blnUseCallBack = _arg4; var bCurrentLocation = _arg5; try { stopAudio(); if (type != "web"){ strURL = ""; strExternalAssetUrl = ""; if (Config.ENABLE_FOLDER_STRUCTURE_CHANGE){ strFirstSectionID = _model.getSectionId(1); strURL = Config.CHANGED_ASSETS_LOCATION; strURL = strURL.split("[_@BookID]").join(_model.strBookID); strURL = strURL.split("[_@UnitNum]").join(strFirstSectionID); strURL = (strURL + url); } else { strURL = url; }; strExternalAssetUrl = url; url = (_model.ebookPath + strURL); url = url.replace(/\\/g, "/"); }; jscommand = ""; if (!blnUseCallBack){ if (objDimensions != null){ if (Config.ENABLE_EXTERNAL_INTERFACE_CALL){ ExternalInterface.call("window.open", url, "win", ((((((((((((("height=" + objDimensions.height) + ",width=") + objDimensions.width) + ",menubar=") + Config.SHOW_POPUP_MENUBAR) + ",status=") + Config.SHOW_POPUP_STATUSBAR) + ",scrollbars=") + Config.SHOW_POPUP_SCROLLBAR) + ",toolbar=") + Config.SHOW_POPUP_TOOLBAR) + ",resizable=") + Config.SHOW_POPUP_RESIZEABLE)); } else { jscommand = (((((((((((((((("window.open('" + url) + "','win','height=") + objDimensions.height) + ",width=") + objDimensions.width) + ",menubar=") + Config.SHOW_POPUP_MENUBAR) + ",status=") + Config.SHOW_POPUP_STATUSBAR) + ",scrollbars=") + Config.SHOW_POPUP_SCROLLBAR) + ",toolbar=") + Config.SHOW_POPUP_TOOLBAR) + ",resizable=") + Config.SHOW_POPUP_RESIZEABLE) + "');"); popUpUrl = new URLRequest((("javascript:" + jscommand) + " void(0);")); navigateToURL(popUpUrl, "_self"); }; } else { if (type == "web"){ url = ("http://" + url); }; if (Config.ENABLE_EXTERNAL_INTERFACE_CALL){ ExternalInterface.call("window.open", url); } else { if ((((url.indexOf(".AVI") > -1)) || ((url.indexOf(".avi") > -1)))){ url = url.split(".AVI").join(".swf"); url = url.split(".avi").join(".swf"); }; tempURL = url; if (Config.LAUNCH_EXTERNAL_ASSETS_USING_WRRAPER){ eventName = Constants.LAUNCH_ASSET; objEventData = new Object(); objEventData.eventName = eventName; objEventData.url = strExternalAssetUrl; onExternalListenerEvent(objEventData); } else { globalUrl = new URLRequest(tempURL); if (bCurrentLocation){ navigateToURL(globalUrl, "_self"); } else { navigateToURL(globalUrl, "_blank"); }; }; }; }; } else { strToFind_PageNum_1 = "'@_ebookPageNum'"; strToFind_PageNum_2 = "\"@_ebookPageNum\""; strToFind_PageLabel_String = "@_ebookPageLabel_String"; strToFind_PageLabel_Num_1 = "\"@_ebookPageLabel_Number\""; strToFind_PageLabel_Num_2 = "'@_ebookPageLabel_Number'"; strToFind_PageLabel_Num_3 = "@_ebookPageLabel_Number"; nIndex_PageNum_1 = url.indexOf(strToFind_PageNum_1); nIndex_PageNum_2 = url.indexOf(strToFind_PageNum_2); nIndex_PageLabel_String = url.indexOf(strToFind_PageLabel_String); nIndex_PageLabel_Number_1 = url.indexOf(strToFind_PageLabel_Num_1); nIndex_PageLabel_Number_2 = url.indexOf(strToFind_PageLabel_Num_2); nIndex_PageLabel_Number_3 = url.indexOf(strToFind_PageLabel_Num_3); if (((!((nIndex_PageNum_1 == -1))) || (!((nIndex_PageNum_2 == -1))))){ strPageNum = String(_model.pageIndex); if (strPageNum.length == 2){ strPageNum = ("0" + strPageNum); } else { if (strPageNum.length == 1){ strPageNum = ("00" + strPageNum); }; }; url = url.split(strToFind_PageNum_1).join(strPageNum); url = url.split(strToFind_PageNum_2).join(strPageNum); }; if (((((((!((nIndex_PageLabel_String == -1))) || (!((nIndex_PageLabel_Number_1 == -1))))) || (!((nIndex_PageLabel_Number_2 == -1))))) || (!((nIndex_PageLabel_Number_3 == -1))))){ strPageTitle = _model.objPageList.getPageLabel(_model.pageIndex); url = url.split(strToFind_PageLabel_String).join(strPageTitle); url = url.split(strToFind_PageLabel_Num_1).join(strPageTitle); url = url.split(strToFind_PageLabel_Num_2).join(strPageTitle); url = url.split(strToFind_PageLabel_Num_3).join(strPageTitle); }; if (_model.ebookPath != ""){ url = url.split(_model.ebookPath).join(""); }; if (((_model.isStandalone) && ((url.indexOf("show_glossary") > -1)))){ strGlossaryWord = url.substring((url.indexOf("(") + 2), (url.lastIndexOf(")") - 1)); if (url.indexOf("@_instance") > -1){ strGlossaryWord = (strGlossaryWord + url.split("@_instance=")[1]); }; strGlossaryWord = strGlossaryWord.split(" ").join("_"); url = (((("../../popups/gid" + _model.graderangeid) + "_") + strGlossaryWord) + ".html"); queryURL = new URLRequest(url); navigateToURL(queryURL, "popup_glossary"); } else { if (url.indexOf("show_glossary") > -1){ url = (((url.substring(0, url.lastIndexOf(")")) + ",") + _model.currentPageIndex) + ")"); }; if (Config.ENABLE_EXTERNAL_INTERFACE_CALL){ jscommand = url; ExternalInterface.call(jscommand); } else { jscommand = (url + ";"); jsUrl = new URLRequest((("javascript:" + jscommand) + " void(0);")); navigateToURL(jsUrl, "_self"); }; }; }; } catch(error:Error) { onError(error); }; Controller.instance.tracer(("url: " + url)); } public function get activatedBookPath():String{ return (_strActivatedBookPath); } public function search(_arg1:String):void{ if (_arg1 != ""){ stopAudio(); _view.progressBar.visible = true; _view.setEnabled(false); _model.search(_arg1); }; } private function onStatus(_arg1:StatusEvent):void{ switch (_arg1.level){ case "status": break; case "error": tracer("LocalConnection.send() failed"); break; }; } public function onLoadProgress(_arg1:Number):void{ _view.progressBar.update(_arg1); } public function onPopUp(_arg1:Boolean, _arg2:String=null):void{ _bPopUpOpen = _arg1; _view.toolbar.enableToolBarItems(!(_arg1), _arg2); _view.content.enableContentItems(!(_arg1)); _objAccesibility.objTabHandler.organiseTabing(); } public function onInitAtlernateLanguagePage():void{ var _local1 = "load_ei_languages('@_ebookPageLabel_Number')"; loadURL(_local1, null, null, true); } public function onClearTrace(_arg1:MouseEvent):void{ var _local2:TextField = (_spTrace.getChildByName("txt") as TextField); _local2.text = ""; } private function getAbsolutePath(_arg1:String, _arg2:String):String{ _arg2 = _arg2.split("\\").join("/"); _arg1 = _arg1.split("ebook.swf").join(_arg2); _arg1 = escape(_arg1); var _local3:String = unescape(_arg1); _arg1 = unescape(_local3); var _local4:String = Capabilities.os; if (_local4.indexOf("mac") > -1){ _arg1 = _arg1.split(":").join("/"); }; _arg1 = _arg1.split("\\").join("/"); return (_arg1); } public function addDropDownTabItems(_arg1, _arg2:Array):void{ var _local3:Array = _objAccesibility.registerDropDownTabItems(_arg2); _objAccesibility.objTabHandler.addDropDownTabItems(_arg1, _local3); } public function setCustomCursor(_arg1:String, _arg2:String, _arg3:Boolean):void{ CursorManager.getInstance().setCustomCursor(_arg1, _arg2, _arg3); } public function loadLastVisitPage():void{ var _local1:int = _view.content.pageCount; var _local2:Number = _model.lastVisitedPage; if (((((_local1 % 2) == 0)) && (((_local2 % 2) == 0)))){ _local2--; }; loadPage(_local2, false); _lastVisitIndex = _local2; } public function regiterExternalListner(_arg1:Object):void{ tracer("regiterExternalListner"); _objExternalListener = _arg1; } private function storeLastVisitedPage():void{ if (((!(_bCoverPage)) && ((_lastVisitIndex > 0)))){ Controller.instance.tracer(("_lastVisitIndex: " + _lastVisitIndex)); _model.lastVisitedPage = _lastVisitIndex; }; } public function openInternalPopup(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:String=null, _arg6:Object=null):void{ var _local7:Object; switch (_arg3){ case "Internal": _local7 = Config.INTERNAL_POPUP_WINDOW_SETTINGS[_arg4.toUpperCase()]; Controller.instance.view.assetExplorer.open(_arg1, _local7, _arg2, _arg5, _arg6); break; }; } public function silence():void{ if (_objPageAudioController != null){ _objPageAudioController.stopAudio(); }; } public function get currentTheme():String{ return (_strCurrentTheme); } private function soundCompleteHandler(_arg1:Event):void{ if (_objCallback != null){ _objCallback.objClass.onSoundComplete(_objCallback.id); }; } public function initilizeAccesibility(_arg1:String):void{ if (Config.ACCESSIBILITY){ _objAccesibility.registerCategory(_arg1); _objAccesibility.objTabHandler.organiseTabing(); }; } public function onExternalListenerEvent(_arg1:Object):void{ if (_objExternalListener == null){ return; }; _objExternalListener.onExternalBtnClick(_arg1); } private function onAsyncError(_arg1:AsyncErrorEvent):void{ tracer(("event = " + _arg1.error)); } public function tracer(_arg1:String):void{ var _local2:TextField; if (((_blnShowTrace) && (!((_spTrace == null))))){ _local2 = (_spTrace.getChildByName("txt") as TextField); _local2.appendText((_arg1 + "\n")); _local2.scrollV = _local2.maxScrollV; }; } public function onShowContent():void{ _view.toolbar.update(); _view.progressBar.visible = false; _view.setEnabled(true); _view.content.visible = true; if (Config.ACCESSIBILITY){ _objAccesibility.initAccessibility(); restoreTabbing(); }; } public function openPanel(_arg1:String):void{ switch (_arg1){ case "indexPanel": Controller.instance.view.indexPanel.showIndex(true); break; }; } public function queryStringPageId():String{ return (_strQueryStringPageId); } private function checkCFocus(_arg1:Event):void{ var _local2:InteractiveObject = (stage.focus as InteractiveObject); if (_local2 != null){ }; } public function callJSFunction(_arg1:String):void{ if (ExternalInterface.available){ ExternalInterface.call(_arg1); }; } public function restoreTabbing():void{ var _local1:InteractiveObject; var _local2:Boolean; var _local3:InteractiveObject; if (((!((_objAccesibility == null))) && (Config.SCREEN_READER))){ _local1 = _objAccesibility.objLastInteractiveObject; if (_local1 != null){ _local2 = _objAccesibility.objTabHandler.isItemTabRegistered(_local1); if (_local1.tabEnabled){ if (_local2){ if ((_local1 is TextField)){ } else { stage.focus = _local1; }; } else { stage.focus = null; }; } else { _local3 = _objAccesibility.objTabHandler.searchNextTabItem(_local1.tabIndex); if (_local3 != null){ stage.focus = _local3; _local3 = null; } else { stage.focus = null; }; }; _objAccesibility.setObjLastInteractiveObject(null); } else { stage.focus = null; }; }; } public function loadEbook(_arg1:String, _arg2:String=null, _arg3:String=""):void{ _strActivatedBookPath = _arg1; _strQueryStringPageId = _arg2; _model.loadEBook(_arg1, 1, _strQueryStringPageId); _model.setExistingDataXMLPath(_arg3); } public function get model():Model{ return (_model); } public function onError(_arg1:Error):void{ tracer(_arg1.getStackTrace()); tracer(_arg1.toString()); _view.progressBar.visible = false; _view.setEnabled(true); _view.content.visible = true; stopAudio(); } private function onToggleTrace(_arg1:MouseEvent):void{ var _local2:TextField = (_spTrace.getChildByName("txt") as TextField); _local2.visible = !(_local2.visible); } public function loadEdition(_arg1:Boolean):Boolean{ var _local2:Number; var _local3:int = _view.content.pageCount; if (_local3 == 2){ _local2 = (_model.pageIndex - 1); } else { _local2 = _model.pageIndex; }; var _local4:Number = _model.translatePage(_local2, _arg1); if (_local4 < 1){ return (false); }; stopAudio(); _view.progressBar.visible = true; _view.setEnabled(false); _view.content.visible = false; if (_arg1){ _model.loadEBook(_model.ebookPathStudent, _local4); } else { _model.loadEBook(_model.ebookPathTeacher, _local4); }; return (true); } private function initLocalConnection():void{ Security.allowDomain("*"); _lcSend = new LocalConnection(); _lcReceive = new LocalConnection(); _lcSend.addEventListener(StatusEvent.STATUS, onStatus); _lcReceive.addEventListener(AsyncErrorEvent.ASYNC_ERROR, onAsyncError); _lcReceive.client = this; try { _lcReceive.connect("connection2"); } catch(error:ArgumentError) { throw (new Error("Can't connect connection2. The connection name is already being used by another SWF")); }; } public function stopAudio():void{ if (_channel){ _channel.stop(); _channel = null; _sound = null; _objCallback = null; }; silence(); } public function loadInternalVideo(_arg1:String):void{ _view.videoPanel.loadVideo(_arg1); } public static function get instance():Controller{ return (_instance); } } }//package controller
Section 19
//Controller_MainViewLayout (controller.Controller_MainViewLayout) package controller { import flash.display.*; import mx.core.*; public class Controller_MainViewLayout extends SpriteAsset { public var mc_Z:DisplayObject; public var mc_H:DisplayObject; public var mcContent:DisplayObject; public var mc_K:DisplayObject; public var mc_thumb:DisplayObject; public var btnHTML:DisplayObject; public var btnTeacher:DisplayObject; public var mcGlossaryImage:DisplayObject; public var mc_W:DisplayObject; public var btnUp:DisplayObject; public var mc_I:DisplayObject; public var btnZoomIn:DisplayObject; public var btnFitToPage:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var mcPatch:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var mcView:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var mcDragArea:DisplayObject; public var txtWord:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcIndexList:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mcAudio:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_A:DisplayObject; public var mc_R:DisplayObject; public var mc_L:DisplayObject; public var mc_U:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mc_P:DisplayObject; public var mcThumb:DisplayObject; public var btnExit2:DisplayObject; public var mc_S:DisplayObject; public var mc_T:DisplayObject; public var mc_D:DisplayObject; public var mc_V:DisplayObject; public var mc_O:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_J:DisplayObject; public var mc_B:DisplayObject; public var mc_C:DisplayObject; public var mc_N:DisplayObject; public var mc_Y:DisplayObject; } }//package controller
Section 20
//Exception (controller.Exception) package controller { public class Exception extends Error { private var _cause:Error; public function Exception(_arg1:String, _arg2:Error){ super(_arg1); _cause = _arg2; } override public function getStackTrace():String{ var _local1:String = super.getStackTrace(); if (_cause){ _local1 = (_local1 + ("\r Caused By: \r" + _cause.getStackTrace())); }; return (_local1); } public function toString():String{ var _local1:String = super.message; if (_cause){ _local1 = (_local1 + ("\r Caused By: \r" + _cause.toString())); }; return (_local1); } } }//package controller
Section 21
//HighlightHandler (controller.HighlightHandler) package controller { import flash.events.*; import flash.display.*; import view.*; import model.*; import flash.geom.*; import flash.ui.*; public class HighlightHandler { public var blnCallOnce:Boolean; private var _pageIndex:Number; private var _xPos:Number; private var _objSprite:Object; private var _nIndex:Number; private var _arrHighlighterShapes:Array; private var _highObj:Highlighter; private var _blnBuildingProcess:Boolean; private var _pageCount:int; private var _blnMakeShapeOnce:Boolean; private var _c:Controller; private var _highColor:int; private var _highEditModeOn:Boolean; private var _blnIsDrawing:Boolean; private var _currentPageIndex:Number; private var _arrColorButton:Array; private var _cursor:MovieClip; private var _spCrossButton:Sprite; private var _yPos:Number; private var _arrPageSprite:Array; private static const HILIGHT_CURSOR:String = "hilight_cursor"; public static const RED_COLOR:Number = 0xFF00FF; public static const YELLOW_COLOR:Number = 0xFFFF00; public static const BLUE_COLOR:Number = 0xFFFF; private static var McCross:Class = HighlightHandler_McCross; private static var CustomCursorClip:Class = HighlightHandler_CustomCursorClip; private static var _instance:HighlightHandler; public function HighlightHandler(){ blnCallOnce = true; _blnMakeShapeOnce = true; _blnBuildingProcess = false; _highEditModeOn = false; _blnIsDrawing = true; _arrHighlighterShapes = new Array(); _arrPageSprite = new Array(); _instance = this; _c = Controller.instance; createHilightCursor(); _objSprite = new Object(); _highObj = new Highlighter(); _highColor = Config.HIGHLIGHTER_COLOR; } public function addExistingShapes(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:int=-1):void{ var _local8:Sprite = new Sprite(); var _local9:Highlighter = new Highlighter(); var _local10:Number = (_arg2 + _arg4); var _local11:Number = (_arg3 + _arg5); _arg7 = ((_arg7)==-1) ? Config.HIGHLIGHTER_COLOR : _arg7; drawShape(_arg2, _arg3, _local10, _local11, _arg7, Config.HIGHLIGHTER_ALPHA, _local8); _local9.shape = _local8; _arrHighlighterShapes.push(_local9); drawCross(_local8); _local9.pageNo = _arg6; _local9.color = _arg7; _local9.ID = _arg1; _arrPageSprite = new Array(); if (_pageCount == 1){ _arrPageSprite.push(getHighlightSpriteRef(1)); } else { _arrPageSprite.push(getHighlightSpriteRef(1)); _arrPageSprite.push(getHighlightSpriteRef(2)); }; getAllShapes(_pageIndex); } private function enableDrawShape(_arg1:Event):void{ _blnIsDrawing = true; } private function removeItemFromArray(_arg1:Array, _arg2:Number):Array{ var _local3:Array = new Array(); var _local4:Number = 0; while (_local4 < _arg1.length) { if (_local4 != _arg2){ _local3.push(_arg1[_local4]); }; _local4++; }; return (_local3); } private function hideHandCursor(_arg1:MouseEvent):void{ var _local2:Sprite; if (_highEditModeOn){ _arg1.target.buttonMode = false; _local2 = (_arg1.target as Sprite); _local2.getChildByName("cross").visible = false; _cursor.visible = true; Mouse.hide(); _arrPageSprite[_nIndex].parent.parent.addEventListener(MouseEvent.ROLL_OUT, stopAllProcess); _arrPageSprite[_nIndex].parent.parent.addEventListener(MouseEvent.ROLL_OVER, resumeAllProcess); }; } private function showHandCursor(_arg1:MouseEvent):void{ var _local2:Sprite; if (_highEditModeOn){ hideCrossButton(); _arg1.target.buttonMode = true; _local2 = (_arg1.target as Sprite); _local2.getChildByName("cross").visible = true; _cursor.visible = false; Mouse.show(); _arrPageSprite[_nIndex].parent.parent.removeEventListener(MouseEvent.ROLL_OUT, stopAllProcess); _arrPageSprite[_nIndex].parent.parent.removeEventListener(MouseEvent.ROLL_OVER, resumeAllProcess); }; } public function mouseUpHandler(_arg1:MouseEvent):void{ if (((_highEditModeOn) && (_blnIsDrawing))){ _c.view.content.onHighlighterEvent(false); _blnMakeShapeOnce = false; _blnBuildingProcess = false; updateShape(); addDragEvents(); }; _arg1.updateAfterEvent(); } private function startDragShape(_arg1:MouseEvent):void{ var _local2:Rectangle; var _local3:Number; var _local4:Number; var _local5:Sprite; var _local6:Sprite; if (_highEditModeOn){ _c.stage.addEventListener(MouseEvent.MOUSE_UP, haltDragging); _c.stage.addEventListener(MouseEvent.MOUSE_DOWN, useHandCursor); _objSprite = (_arg1.target as Sprite); _local5 = _objSprite.getChildByName("shape"); _local6 = _objSprite.getChildByName("cross"); _c.tracer(((("startDrag shape Height=" + _local5.height) + " cross Height=") + _local6.height)); _local3 = (Controller.instance.model.configManager.pageWidth - _objSprite.width); _local4 = (Controller.instance.model.configManager.pageHeight - _objSprite.height); if (_local5.height < _local6.height){ _local4 = (_local4 + (_local6.height - _local5.height)); }; _local2 = new Rectangle(0, 0, _local3, _local4); _arg1.target.startDrag(false, _local2); _cursor.visible = false; _blnIsDrawing = false; Mouse.show(); _arg1.updateAfterEvent(); }; } private function removeShape(_arg1:MouseEvent):void{ removeShapeOnClick(_currentPageIndex, _arg1.target.parent); _arg1.stopPropagation(); } public function initialize(_arg1:Number, _arg2:int):void{ _highEditModeOn = false; _nIndex = 0; _pageIndex = _arg1; _pageCount = _arg2; _arrPageSprite = new Array(); _cursor.visible = false; Controller.instance.view.content.currentCustomCursor = null; if (_arg2 == 1){ _arrPageSprite.push(getHighlightSpriteRef(1)); } else { _arrPageSprite.push(getHighlightSpriteRef(1)); _arrPageSprite.push(getHighlightSpriteRef(2)); }; destroyUnusedItems(); removeAllShapes(); getAllShapes(_arg1); } public function removeShapeOnNotes():void{ var _local1:Sprite; if (((_blnIsDrawing) && (_highEditModeOn))){ _local1 = _arrPageSprite[_nIndex].getChildByName(("shape_" + _arrHighlighterShapes.length)); if (_local1 != null){ _arrPageSprite[_nIndex].parent.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); _arrPageSprite[_nIndex].removeChild(_local1); _arrHighlighterShapes.pop(); }; }; } private function useHandCursor(_arg1:MouseEvent):void{ _cursor.visible = false; Mouse.show(); _objSprite.removeEventListener(MouseEvent.ROLL_OVER, showHandCursor); _objSprite.removeEventListener(MouseEvent.ROLL_OUT, hideHandCursor); } private function deselctAllColorButtons():void{ var _local2:CustomButton; var _local1:uint = _arrColorButton.length; var _local3:uint; while (_local3 < _local1) { _local2 = _arrColorButton[_local3]; _local2.setState(CustomButton.STATE_NORMAL); _local3++; }; } private function enableShapeEvents(_arg1:Boolean):void{ var _local2:int; while (_local2 < _pageCount) { getHighlightSpriteRef((_local2 + 1)).mouseChildren = _arg1; _local2++; }; } public function set highEditModeOn(_arg1:Boolean):void{ _highEditModeOn = _arg1; if (!_arg1){ hideCrossButton(); }; } private function resumeAllProcess(_arg1:MouseEvent):void{ if (((!(_cursor.visible)) && (_highEditModeOn))){ _cursor.visible = true; Mouse.hide(); }; } private function setFirstPage(_arg1:MouseEvent):void{ if (!_blnBuildingProcess){ _nIndex = 0; if (_pageCount == 2){ _currentPageIndex = (_pageIndex - 1); } else { _currentPageIndex = _pageIndex; }; }; } private function setSecondPage(_arg1:MouseEvent):void{ if (!_blnBuildingProcess){ _nIndex = 1; _currentPageIndex = _pageIndex; }; } private function getIndex(_arg1:Number, _arg2:Object):Number{ var _local3:int; while (_local3 < _arrHighlighterShapes.length) { if ((((_arrHighlighterShapes[_local3].pageNo == _arg1)) && ((_arrHighlighterShapes[_local3].shape == _arg2)))){ return (_local3); }; _local3++; }; return (_local3); } private function addShapeOutSide(_arg1:MouseEvent):void{ if (((_highEditModeOn) && (_blnIsDrawing))){ if (_blnMakeShapeOnce){ updateShape(); }; _blnMakeShapeOnce = false; enableShapeEvents(true); addDragEvents(); }; } public function addListeners():void{ _currentPageIndex = _pageIndex; _c.stage.addEventListener(MouseEvent.MOUSE_MOVE, captureMouseMovement); _nIndex = 0; _arrHighlighterShapes.push(_highObj.instance()); _arrHighlighterShapes[(_arrHighlighterShapes.length - 1)].pageNo = _pageIndex; _arrPageSprite[_nIndex].addChild(_arrHighlighterShapes[(_arrHighlighterShapes.length - 1)].shape); if (_pageCount == 2){ _c.view.content.holder.getChildByName("page_0").addEventListener(MouseEvent.MOUSE_DOWN, setFirstPage); _c.view.content.holder.getChildByName("page_0").addEventListener(MouseEvent.ROLL_OVER, setFirstPage); _c.view.content.holder.getChildByName("page_1").addEventListener(MouseEvent.MOUSE_DOWN, setSecondPage); _c.view.content.holder.getChildByName("page_1").addEventListener(MouseEvent.ROLL_OVER, setSecondPage); _arrHighlighterShapes.push(_highObj.instance()); _arrHighlighterShapes[(_arrHighlighterShapes.length - 1)].pageNo = (_pageIndex - 1); _arrPageSprite[1].addChild(_arrHighlighterShapes[(_arrHighlighterShapes.length - 1)].shape); _arrPageSprite[1].parent.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); _arrPageSprite[1].parent.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); _arrPageSprite[1].parent.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); }; _arrPageSprite[0].parent.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); _arrPageSprite[0].parent.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); _arrPageSprite[0].parent.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); _arrPageSprite[_nIndex].parent.parent.addEventListener(MouseEvent.ROLL_OUT, stopAllProcess); _arrPageSprite[_nIndex].parent.parent.addEventListener(MouseEvent.ROLL_OVER, resumeAllProcess); _arrPageSprite[_nIndex].parent.parent.parent.addEventListener(MouseEvent.ROLL_OUT, stopAllProcess); addListenerOnShape(_pageIndex); } public function set highDraw(_arg1:Boolean):void{ _blnIsDrawing = _arg1; } private function getHighlightSpriteRef(_arg1:int):Object{ var _local2:Object = _c.view.content.holder.getChildByName(("page_" + String((_arg1 - 1)))); return (_local2.getChildByName("mcHightlightSpace")); } private function destroyUnusedItems():void{ var _local1:Number = 0; while (_local1 < _arrHighlighterShapes.length) { if ((((((_arrHighlighterShapes[_local1].shape.width == 0)) || ((_arrHighlighterShapes[_local1].shape.height == 0)))) || ((((_arrHighlighterShapes[_local1].shape.x == 0)) && ((_arrHighlighterShapes[_local1].shape.y == 0)))))){ _arrHighlighterShapes = removeItemFromArray(_arrHighlighterShapes, _local1); _local1 = 0; }; _local1++; }; } private function disableDrawShape(_arg1:Event):void{ _blnIsDrawing = false; } private function haltDragging(_arg1:MouseEvent):void{ var _local2:int; if (_highEditModeOn){ _local2 = 0; while (_local2 < _arrPageSprite[_nIndex].numChildren) { _arrPageSprite[_nIndex].stopDrag(); _local2++; }; _blnIsDrawing = true; _arrPageSprite[_nIndex].parent.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); if (_cursor.visible){ _cursor.visible = false; Mouse.show(); } else { if (_pageCount == 2){ _cursor.visible = true; Mouse.hide(); }; }; _c.stage.removeEventListener(MouseEvent.MOUSE_DOWN, useHandCursor); _c.stage.removeEventListener(MouseEvent.MOUSE_UP, haltDragging); _objSprite.addEventListener(MouseEvent.ROLL_OVER, showHandCursor); _objSprite.addEventListener(MouseEvent.ROLL_OUT, hideHandCursor); }; } public function setHilightBtnEvent(_arg1:Array):void{ var _local3:CustomButton; _arrColorButton = _arg1; var _local2:uint = _arrColorButton.length; var _local4:uint; while (_local4 < _local2) { _local3 = _arrColorButton[_local4]; if (Config.HILIGHT_COLOR != null){ _local3.setColor(Config.HILIGHT_COLOR[_local4]); _local3.instance.addEventListener(MouseEvent.CLICK, onColorSelectHandler); }; _local4++; }; } public function removeShapeOnClick(_arg1:Number, _arg2:Object):void{ var _local3:Array = new Array(); var _local4:int; while (_local4 < _arrHighlighterShapes.length) { if ((((_arrHighlighterShapes[_local4].pageNo == _arg1)) && ((_arrHighlighterShapes[_local4].shape == _arg2)))){ if (_arrHighlighterShapes[_local4].shape != null){ _arrPageSprite[_nIndex].removeChild(_arrHighlighterShapes[_local4].shape); }; } else { _local3.push(_arrHighlighterShapes[_local4]); }; _local4++; }; _arrHighlighterShapes = _local3; } private function stopAllProcess(_arg1:MouseEvent):void{ if (((_cursor.visible) && (_highEditModeOn))){ _cursor.visible = false; Mouse.show(); }; } public function set highColor(_arg1:Number):void{ _highColor = _arg1; } private function onColorSelectHandler(_arg1:MouseEvent):void{ deselctAllColorButtons(); var _local2:Number = Number(_arg1.currentTarget.name.split("_")[1]); var _local3:CustomButton = _arrColorButton[_local2]; this.highColor = _local3.color; _local3.setState(CustomButton.STATE_SELECTED); } public function drawShape(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Sprite):Sprite{ var _local10:Number; var _local11:Number; var _local8:Sprite = (_arg7.getChildByName("shape") as Sprite); if (_local8 != null){ _arg7.removeChild(_local8); }; var _local9:Sprite = new Sprite(); if (_arg3 > _arg1){ _local10 = (_arg3 - _arg1); _arg7.x = _arg1; } else { _local10 = (_arg1 - _arg3); _arg7.x = _arg3; }; if (_arg4 > _arg2){ _local11 = (_arg4 - _arg2); _arg7.y = _arg2; } else { _local11 = (_arg2 - _arg4); _arg7.y = _arg4; }; _local9.name = "shape"; _arg7.graphics.clear(); _local9.graphics.beginFill(_arg5, _arg6); _local9.graphics.moveTo(0, 0); _local9.graphics.lineTo(_local10, 0); _local9.graphics.lineTo(_local10, _local11); _local9.graphics.lineTo(0, _local11); _local9.graphics.lineTo(0, 0); _local9.blendMode = Config.HIGHLIGHTER_BLEND; _local9.mouseEnabled = false; _arg7.addChild(_local9); return (_arg7); } private function addListenerOnShape(_arg1:Number):void{ var _local2:int; while (_local2 < _arrHighlighterShapes.length) { switch (_pageCount){ case 1: if (_arrHighlighterShapes[_local2].pageNo == _arg1){ _arrHighlighterShapes[_local2].shape.addEventListener(MouseEvent.MOUSE_DOWN, startDragShape); _arrHighlighterShapes[_local2].shape.addEventListener(MouseEvent.MOUSE_UP, stopDragShape); _arrHighlighterShapes[_local2].shape.addEventListener(MouseEvent.ROLL_OVER, disableDrawShape); _arrHighlighterShapes[_local2].shape.addEventListener(MouseEvent.ROLL_OUT, enableDrawShape); }; break; case 2: if (_arrHighlighterShapes[_local2].pageNo == _arg1){ _arrHighlighterShapes[_local2].shape.addEventListener(MouseEvent.MOUSE_DOWN, startDragShape); _arrHighlighterShapes[_local2].shape.addEventListener(MouseEvent.MOUSE_UP, stopDragShape); _arrHighlighterShapes[_local2].shape.addEventListener(MouseEvent.ROLL_OVER, disableDrawShape); _arrHighlighterShapes[_local2].shape.addEventListener(MouseEvent.ROLL_OUT, enableDrawShape); } else { if (_arrHighlighterShapes[_local2].pageNo == (_arg1 - 1)){ _arrHighlighterShapes[_local2].shape.addEventListener(MouseEvent.MOUSE_DOWN, startDragShape); _arrHighlighterShapes[_local2].shape.addEventListener(MouseEvent.MOUSE_UP, stopDragShape); _arrHighlighterShapes[_local2].shape.addEventListener(MouseEvent.ROLL_OVER, disableDrawShape); _arrHighlighterShapes[_local2].shape.addEventListener(MouseEvent.ROLL_OUT, enableDrawShape); }; }; break; }; _local2++; }; } public function get highEditModeOn():Boolean{ return (_highEditModeOn); } public function removeAllListener():void{ var _local1:uint; var _local4:uint; var _local2:Array = new Array(MouseEvent.MOUSE_UP, MouseEvent.MOUSE_DOWN, MouseEvent.MOUSE_MOVE, MouseEvent.ROLL_OUT, MouseEvent.ROLL_OVER); var _local3:Array = new Array(mouseUpHandler, mouseDownHandler, mouseMoveHandler, stopAllProcess, resumeAllProcess); _local1 = 0; while (_local1 < _arrPageSprite.length) { _local4 = 0; while (_local4 < _local2.length) { if (_arrPageSprite[_local1].parent.hasEventListener(_local2[_local4])){ _arrPageSprite[_local1].parent.removeEventListener(_local2[_local4], _local3[_local4]); }; _local4++; }; _local1++; }; _local1 = 0; while (_local1 < _arrHighlighterShapes.length) { if (_arrHighlighterShapes[_local1].shape.hasEventListener(MouseEvent.MOUSE_DOWN)){ _arrHighlighterShapes[_local1].shape.removeEventListener(MouseEvent.MOUSE_DOWN, startDragShape); }; if (_arrHighlighterShapes[_local1].shape.hasEventListener(MouseEvent.MOUSE_UP)){ _arrHighlighterShapes[_local1].shape.removeEventListener(MouseEvent.MOUSE_UP, stopDragShape); }; if (_arrHighlighterShapes[_local1].shape.hasEventListener(MouseEvent.ROLL_OVER)){ _arrHighlighterShapes[_local1].shape.removeEventListener(MouseEvent.ROLL_OVER, disableDrawShape); }; if (_arrHighlighterShapes[_local1].shape.hasEventListener(MouseEvent.ROLL_OUT)){ _arrHighlighterShapes[_local1].shape.removeEventListener(MouseEvent.ROLL_OUT, enableDrawShape); }; _local1++; }; _cursor.visible = false; } public function mouseMoveHandler(_arg1:MouseEvent):void{ var _local2:Sprite; if (((_highEditModeOn) && (_blnIsDrawing))){ _arrHighlighterShapes[(_arrHighlighterShapes.length - 1)].pageNo = _currentPageIndex; _arrHighlighterShapes[(_arrHighlighterShapes.length - 1)].color = _highColor; _local2 = (drawShape(_xPos, _yPos, _arg1.localX, _arg1.localY, _highColor, Config.HIGHLIGHTER_ALPHA, _arrHighlighterShapes[(_arrHighlighterShapes.length - 1)].shape) as Sprite); _local2.name = ("shape_" + _arrHighlighterShapes.length); _arrPageSprite[_nIndex].addChild(_local2); enableShapeEvents(false); _c.stage.addEventListener(MouseEvent.MOUSE_UP, addShapeOutSide); }; _arg1.updateAfterEvent(); } private function captureMouseMovement(_arg1:MouseEvent):void{ if (_highEditModeOn){ _cursor.x = _c.stage.mouseX; _cursor.y = _c.stage.mouseY; }; _arg1.updateAfterEvent(); } private function createHilightCursor():void{ _cursor = new CustomCursorClip(); _cursor.gotoAndStop(HILIGHT_CURSOR); _cursor.mouseChildren = false; _cursor.mouseEnabled = false; if (_cursor.currentLabel != HILIGHT_CURSOR){ drawCrossHair(2, 0, 0.9, 5, 10); }; _c.addChild(_cursor); _cursor.x = _c.stage.mouseX; _cursor.y = _c.stage.mouseY; _cursor.visible = false; } private function updateShape():void{ _arrHighlighterShapes.push(_highObj.instance()); if (_pageCount == 1){ _arrHighlighterShapes[(_arrHighlighterShapes.length - 1)].pageNo = _pageIndex; } else { if (_pageCount == 2){ _arrHighlighterShapes[(_arrHighlighterShapes.length - 1)].pageNo = _currentPageIndex; }; }; drawCross(_arrHighlighterShapes[(_arrHighlighterShapes.length - 2)].shape); _arrPageSprite[_nIndex].addChild(_arrHighlighterShapes[(_arrHighlighterShapes.length - 1)].shape); _arrPageSprite[0].parent.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); if (_pageCount == 2){ _arrPageSprite[1].parent.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); }; } public function getHighLighterInfo(_arg1:Number):Array{ var _local5:Object; var _local6:Number; var _local2:Array = new Array(); var _local3:Number = 1; destroyUnusedItems(); var _local4:Number = 0; while (_local4 < _arrHighlighterShapes.length) { if (_arg1 == _arrHighlighterShapes[_local4].pageNo){ _local5 = new Object(); _local6 = 1.5; _local5.xPos = _arrHighlighterShapes[_local4].shape.x; _local5.yPos = _arrHighlighterShapes[_local4].shape.y; _local5.width = (_arrHighlighterShapes[_local4].shape.width - _local6); _local5.height = (_arrHighlighterShapes[_local4].shape.height - _local6); _local5.pageNumber = _arrHighlighterShapes[_local4].pageNo; _local5.color = _arrHighlighterShapes[_local4].color; _arrHighlighterShapes[_local4].ID = ((_arg1.toString() + "_") + _local3); _local3++; _local5.id = _arrHighlighterShapes[_local4].ID; _local2.push(_local5); }; _local4++; }; return (_local2); } private function drawCross(_arg1:Sprite):void{ var _local2:Sprite = new McCross(); _local2.x = _arg1.width; _local2.addEventListener(MouseEvent.MOUSE_DOWN, removeShape); _local2.visible = false; _local2.name = "cross"; _arg1.addChild(_local2); _arg1.addEventListener(MouseEvent.ROLL_OVER, showHandCursor); _arg1.addEventListener(MouseEvent.ROLL_OUT, hideHandCursor); } public function get cursor():MovieClip{ return (_cursor); } public function drawCrossHair(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{ _cursor = new MovieClip(); _cursor.graphics.lineStyle(_arg1, _arg2, _arg3); _cursor.graphics.moveTo(_arg4, 0); _cursor.graphics.lineTo(_arg4, _arg5); _cursor.graphics.moveTo(0, _arg4); _cursor.graphics.lineTo(_arg5, _arg4); } private function getAllShapes(_arg1:Number):void{ var _local2:int; while (_local2 < _arrHighlighterShapes.length) { switch (_pageCount){ case 1: if (_arrHighlighterShapes[_local2].pageNo == _arg1){ _arrHighlighterShapes[_local2].shape.addEventListener(MouseEvent.MOUSE_DOWN, startDragShape); _arrHighlighterShapes[_local2].shape.addEventListener(MouseEvent.MOUSE_UP, stopDragShape); _arrPageSprite[0].addChild(_arrHighlighterShapes[_local2].shape); }; break; case 2: if (_arrHighlighterShapes[_local2].pageNo == _arg1){ _arrHighlighterShapes[_local2].shape.addEventListener(MouseEvent.MOUSE_DOWN, startDragShape); _arrHighlighterShapes[_local2].shape.addEventListener(MouseEvent.MOUSE_UP, stopDragShape); _arrPageSprite[1].addChild(_arrHighlighterShapes[_local2].shape); } else { if (_arrHighlighterShapes[_local2].pageNo == (_arg1 - 1)){ _arrHighlighterShapes[_local2].shape.addEventListener(MouseEvent.MOUSE_DOWN, startDragShape); _arrHighlighterShapes[_local2].shape.addEventListener(MouseEvent.MOUSE_UP, stopDragShape); _arrPageSprite[0].addChild(_arrHighlighterShapes[_local2].shape); }; }; break; }; _local2++; }; } public function mouseDownHandler(_arg1:MouseEvent):void{ if (((((_highEditModeOn) && (_blnIsDrawing))) && ((_arg1.target.name == "mcClickSpace")))){ _c.view.content.onHighlighterEvent(true); _blnBuildingProcess = true; _xPos = _arg1.localX; _yPos = _arg1.localY; if ((((_pageCount == 2)) && (!(((_currentPageIndex % 2) == 0))))){ _arrPageSprite[1].parent.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); } else { if ((((_pageCount == 2)) && (((_currentPageIndex % 2) == 0)))){ _arrPageSprite[0].parent.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); }; }; _arrPageSprite[_nIndex].parent.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); _blnMakeShapeOnce = true; }; _arg1.updateAfterEvent(); } private function removeAllShapes():void{ var _local1:int; var _local3:int; var _local2:int; while (_local2 < _arrPageSprite.length) { _local1 = _arrPageSprite[_local2].numChildren; _local3 = 0; while (_local3 < _local1) { _arrPageSprite[_local2].removeChildAt(0); _local3++; }; _local2++; }; } private function stopDragShape(_arg1:MouseEvent):void{ if (_highEditModeOn){ _cursor.visible = true; Mouse.hide(); _arg1.target.stopDrag(); _blnIsDrawing = true; _arg1.updateAfterEvent(); }; } private function addDragEvents():void{ var _local1:int; while (_local1 < _arrHighlighterShapes.length) { if (_arrHighlighterShapes[_local1].pageNo == _currentPageIndex){ _arrHighlighterShapes[_local1].shape.addEventListener(MouseEvent.MOUSE_DOWN, startDragShape); _arrHighlighterShapes[_local1].shape.addEventListener(MouseEvent.MOUSE_UP, stopDragShape); }; _local1++; }; } private function hideCrossButton():void{ var _local1:Sprite; var _local2:int; while (_local2 < _arrHighlighterShapes.length) { _local1 = _arrHighlighterShapes[_local2].shape.getChildByName("cross"); if (_local1 != null){ _local1.visible = false; }; _local2++; }; } public function showHighCursor(_arg1:Boolean):void{ if (_arg1){ resumeAllProcess(null); } else { stopAllProcess(null); }; } public static function get instance():HighlightHandler{ return (_instance); } } }//package controller
Section 22
//HighlightHandler_CustomCursorClip (controller.HighlightHandler_CustomCursorClip) package controller { import flash.display.*; import mx.core.*; public class HighlightHandler_CustomCursorClip extends MovieClipAsset { public var btnZoomIn:DisplayObject; public var mcThumb:DisplayObject; public var mcContent:DisplayObject; public var mc_thumb:DisplayObject; public var mc_N:DisplayObject; public var mc_O:DisplayObject; public var mc_J:DisplayObject; public var mc_Y:DisplayObject; public var btnTeacher:DisplayObject; public var btnHTML:DisplayObject; public var btnUp:DisplayObject; public var mcIconAnim:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnBar:DisplayObject; public var txtWord:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var mcPatch:DisplayObject; public var mcBG:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var txtLink:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnLinkBg:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var btnState:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcThemeClip:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_D:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mc_K:DisplayObject; public var mc_M:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_R:DisplayObject; public var mc_L:DisplayObject; public var mcGlossary:DisplayObject; public var mc_P:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_T:DisplayObject; public var mc_U:DisplayObject; public var mc_V:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_S:DisplayObject; public var mc_B:DisplayObject; public var mc_C:DisplayObject; public var mc_W:DisplayObject; public var mcGlossaryImage:DisplayObject; } }//package controller
Section 23
//HighlightHandler_McCross (controller.HighlightHandler_McCross) package controller { import flash.display.*; import mx.core.*; public class HighlightHandler_McCross extends SpriteAsset { public var btnZoomIn:DisplayObject; public var mcThumb:DisplayObject; public var mcContent:DisplayObject; public var mc_thumb:DisplayObject; public var mc_N:DisplayObject; public var mc_O:DisplayObject; public var mc_J:DisplayObject; public var mc_Y:DisplayObject; public var btnTeacher:DisplayObject; public var btnHTML:DisplayObject; public var btnUp:DisplayObject; public var mcIconAnim:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnBar:DisplayObject; public var txtWord:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var mcPatch:DisplayObject; public var mcBG:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var txtLink:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnLinkBg:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var btnState:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcThemeClip:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_D:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mc_K:DisplayObject; public var mc_M:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_R:DisplayObject; public var mc_L:DisplayObject; public var mcGlossary:DisplayObject; public var mc_P:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_T:DisplayObject; public var mc_U:DisplayObject; public var mc_V:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_S:DisplayObject; public var mc_B:DisplayObject; public var mc_C:DisplayObject; public var mc_W:DisplayObject; public var mcGlossaryImage:DisplayObject; } }//package controller
Section 24
//CustomEvent (event.CustomEvent) package event { import flash.events.*; public class CustomEvent extends Event { private var _objData:Object; public static const HOTSPOT_CHANGE:String = "HOTSPOT_CHANGE"; public static const EDIT_MODE:String = "editMode"; public static const FULL_SCREEN:String = "fullscreen"; public function CustomEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Object=null){ super(_arg1, _arg2, _arg3); _objData = _arg4; } public function get data():Object{ return (_objData); } } }//package event
Section 25
//CustomEventDispatcher (event.CustomEventDispatcher) package event { import flash.events.*; public class CustomEventDispatcher extends EventDispatcher { private static var eDispatcher:CustomEventDispatcher; public static function getInstance():CustomEventDispatcher{ if (eDispatcher == null){ eDispatcher = new (CustomEventDispatcher); }; return (eDispatcher); } } }//package event
Section 26
//BaseButton (fl.controls.BaseButton) package fl.controls { import flash.events.*; import flash.display.*; import flash.utils.*; import fl.core.*; 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 27
//Button (fl.controls.Button) package fl.controls { import flash.display.*; import fl.managers.*; import fl.core.*; 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 28
//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 29
//LabelButton (fl.controls.LabelButton) package fl.controls { import flash.events.*; import flash.display.*; import flash.ui.*; import fl.managers.*; import fl.core.*; import flash.text.*; import fl.events.*; 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 30
//ScrollBar (fl.controls.ScrollBar) package fl.controls { import flash.events.*; import fl.core.*; 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 31
//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 32
//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 33
//TextArea (fl.controls.TextArea) package fl.controls { import flash.events.*; import flash.display.*; import flash.ui.*; import fl.managers.*; import fl.core.*; import flash.text.*; import fl.events.*; import flash.system.*; public class TextArea extends UIComponent implements IFocusManagerComponent { protected var _html:Boolean;// = false protected var _verticalScrollBar:UIScrollBar; protected var _savedHTML:String; protected var background:DisplayObject; protected var _horizontalScrollBar:UIScrollBar; protected var _horizontalScrollPolicy:String;// = "auto" protected var _editable:Boolean;// = true protected var textHasChanged:Boolean;// = false public var textField:TextField; protected var _wordWrap:Boolean;// = true protected var _verticalScrollPolicy:String;// = "auto" protected static const SCROLL_BAR_STYLES:Object = {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"}; private static var defaultStyles:Object = {upSkin:"TextArea_upSkin", disabledSkin:"TextArea_disabledSkin", focusRectSkin:null, focusRectPadding:null, textFormat:null, disabledTextFormat:null, textPadding:3, embedFonts:false}; public static var createAccessibilityImplementation:Function; public function TextArea(){ _editable = true; _wordWrap = true; _horizontalScrollPolicy = ScrollPolicy.AUTO; _verticalScrollPolicy = ScrollPolicy.AUTO; _html = false; textHasChanged = 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; } protected function handleWheel(_arg1:MouseEvent):void{ if (((!(enabled)) || (!(_verticalScrollBar.visible)))){ return; }; _verticalScrollBar.scrollPosition = (_verticalScrollBar.scrollPosition - (_arg1.delta * _verticalScrollBar.lineScrollSize)); dispatchEvent(new ScrollEvent(ScrollBarDirection.VERTICAL, (_arg1.delta * _verticalScrollBar.lineScrollSize), _verticalScrollBar.scrollPosition)); } public function get verticalScrollPosition():Number{ return (textField.scrollV); } override protected function isOurFocus(_arg1:DisplayObject):Boolean{ return ((((_arg1 == textField)) || (super.isOurFocus(_arg1)))); } public function set verticalScrollPosition(_arg1:Number):void{ drawNow(); textField.scrollV = _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{ if (((componentInspectorSetting) && ((_arg1 == "")))){ return; }; textField.text = _arg1; _html = false; invalidate(InvalidationType.DATA); invalidate(InvalidationType.STYLES); textHasChanged = true; } protected function updateTextFieldType():void{ textField.type = (((enabled) && (_editable))) ? TextFieldType.INPUT : TextFieldType.DYNAMIC; textField.selectable = enabled; textField.wordWrap = _wordWrap; textField.multiline = true; } 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; setIMEMode(true); if (_arg1.target == this){ stage.focus = textField; }; _local2 = focusManager; if (_local2){ if (editable){ _local2.showFocusIndicator = true; }; _local2.defaultButtonEnabled = false; }; super.focusInHandler(_arg1); if (editable){ setIMEMode(true); }; } public function get wordWrap():Boolean{ return (_wordWrap); } public function get selectionBeginIndex():int{ return (textField.selectionBeginIndex); } public function get horizontalScrollBar():UIScrollBar{ return (_horizontalScrollBar); } public function set alwaysShowSelection(_arg1:Boolean):void{ textField.alwaysShowSelection = _arg1; } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; mouseChildren = enabled; invalidate(InvalidationType.STATE); } protected function setEmbedFont(){ var _local1:Object; _local1 = getStyleValue("embedFonts"); if (_local1 != null){ textField.embedFonts = _local1; }; } public function get horizontalScrollPosition():Number{ return (textField.scrollH); } public function set condenseWhite(_arg1:Boolean):void{ textField.condenseWhite = _arg1; invalidate(InvalidationType.DATA); } public function get horizontalScrollPolicy():String{ return (_horizontalScrollPolicy); } public function set displayAsPassword(_arg1:Boolean):void{ textField.displayAsPassword = _arg1; } public function get maxVerticalScrollPosition():int{ return (textField.maxScrollV); } public function set horizontalScrollPosition(_arg1:Number):void{ drawNow(); textField.scrollH = _arg1; } public function get textHeight():Number{ drawNow(); return (textField.textHeight); } public function get textWidth():Number{ drawNow(); return (textField.textWidth); } public function get restrict():String{ return (textField.restrict); } public function set editable(_arg1:Boolean):void{ _editable = _arg1; invalidate(InvalidationType.STATE); } protected function updateScrollBars(){ _horizontalScrollBar.update(); _verticalScrollBar.update(); _verticalScrollBar.enabled = enabled; _horizontalScrollBar.enabled = enabled; _horizontalScrollBar.drawNow(); _verticalScrollBar.drawNow(); } public function get maxChars():int{ return (textField.maxChars); } public function get length():Number{ return (textField.text.length); } public function set wordWrap(_arg1:Boolean):void{ _wordWrap = _arg1; invalidate(InvalidationType.STATE); } public function get verticalScrollPolicy():String{ return (_verticalScrollPolicy); } public function getLineMetrics(_arg1:int):TextLineMetrics{ return (textField.getLineMetrics(_arg1)); } public function get imeMode():String{ return (IME.conversionMode); } protected function handleScroll(_arg1:ScrollEvent):void{ dispatchEvent(_arg1); } override protected function focusOutHandler(_arg1:FocusEvent):void{ var _local2:IFocusManager; _local2 = focusManager; if (_local2){ _local2.defaultButtonEnabled = true; }; setSelection(0, 0); super.focusOutHandler(_arg1); if (editable){ setIMEMode(false); }; } protected function delayedLayoutUpdate(_arg1:Event):void{ if (textHasChanged){ textHasChanged = false; drawLayout(); return; }; removeEventListener(Event.ENTER_FRAME, delayedLayoutUpdate); } public function set htmlText(_arg1:String):void{ if (((componentInspectorSetting) && ((_arg1 == "")))){ return; }; if (_arg1 == ""){ text = ""; return; }; _html = true; _savedHTML = _arg1; textField.htmlText = _arg1; invalidate(InvalidationType.DATA); invalidate(InvalidationType.STYLES); textHasChanged = true; } public function get text():String{ return (textField.text); } public function get verticalScrollBar():UIScrollBar{ return (_verticalScrollBar); } override public function get enabled():Boolean{ return (super.enabled); } public function get condenseWhite():Boolean{ return (textField.condenseWhite); } public function set horizontalScrollPolicy(_arg1:String):void{ _horizontalScrollPolicy = _arg1; invalidate(InvalidationType.SIZE); } public function get displayAsPassword():Boolean{ return (textField.displayAsPassword); } override protected function draw():void{ if (isInvalid(InvalidationType.STATE)){ updateTextFieldType(); }; if (isInvalid(InvalidationType.STYLES)){ setStyles(); setEmbedFont(); }; if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){ drawTextFormat(); drawBackground(); invalidate(InvalidationType.SIZE, false); }; if (isInvalid(InvalidationType.SIZE, InvalidationType.DATA)){ 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(); _verticalScrollBar = new UIScrollBar(); _verticalScrollBar.name = "V"; _verticalScrollBar.visible = false; _verticalScrollBar.focusEnabled = false; copyStylesToChild(_verticalScrollBar, SCROLL_BAR_STYLES); _verticalScrollBar.addEventListener(ScrollEvent.SCROLL, handleScroll, false, 0, true); addChild(_verticalScrollBar); _horizontalScrollBar = new UIScrollBar(); _horizontalScrollBar.name = "H"; _horizontalScrollBar.visible = false; _horizontalScrollBar.focusEnabled = false; _horizontalScrollBar.direction = ScrollBarDirection.HORIZONTAL; copyStylesToChild(_horizontalScrollBar, SCROLL_BAR_STYLES); _horizontalScrollBar.addEventListener(ScrollEvent.SCROLL, handleScroll, false, 0, true); addChild(_horizontalScrollBar); 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); _horizontalScrollBar.scrollTarget = textField; _verticalScrollBar.scrollTarget = textField; addEventListener(MouseEvent.MOUSE_WHEEL, handleWheel, false, 0, true); } protected function setTextSize(_arg1:Number, _arg2:Number, _arg3:Number):void{ var _local4:Number; var _local5:Number; _local4 = (_arg1 - (_arg3 * 2)); _local5 = (_arg2 - (_arg3 * 2)); if (_local4 != textField.width){ textField.width = _local4; }; if (_local5 != textField.height){ textField.height = _local5; }; } public function appendText(_arg1:String):void{ textField.appendText(_arg1); invalidate(InvalidationType.DATA); } protected function needVScroll():Boolean{ if (_verticalScrollPolicy == ScrollPolicy.OFF){ return (false); }; if (_verticalScrollPolicy == ScrollPolicy.ON){ return (true); }; return ((textField.maxScrollV > 1)); } public function setSelection(_arg1:int, _arg2:int):void{ textField.setSelection(_arg1, _arg2); } public function get alwaysShowSelection():Boolean{ return (textField.alwaysShowSelection); } public function get htmlText():String{ return (textField.htmlText); } public function set restrict(_arg1:String):void{ if (((componentInspectorSetting) && ((_arg1 == "")))){ _arg1 = null; }; textField.restrict = _arg1; } protected function drawBackground():void{ var _local1:DisplayObject; var _local2:String; _local1 = background; _local2 = (enabled) ? "upSkin" : "disabledSkin"; background = getDisplayObjectInstance(getStyleValue(_local2)); if (background != null){ addChildAt(background, 0); }; if (((((!((_local1 == null))) && (!((_local1 == background))))) && (contains(_local1)))){ removeChild(_local1); }; } public function set maxChars(_arg1:int):void{ textField.maxChars = _arg1; } public function get maxHorizontalScrollPosition():int{ return (textField.maxScrollH); } protected function drawLayout():void{ var _local1:Number; var _local2:Number; var _local3:Boolean; var _local4:Number; var _local5:Boolean; _local1 = Number(getStyleValue("textPadding")); textField.x = (textField.y = _local1); background.width = width; background.height = height; _local2 = height; _local3 = needVScroll(); _local4 = (width - (_local3) ? _verticalScrollBar.width : 0); _local5 = needHScroll(); if (_local5){ _local2 = (_local2 - _horizontalScrollBar.height); }; setTextSize(_local4, _local2, _local1); if (((((_local5) && (!(_local3)))) && (needVScroll()))){ _local3 = true; _local4 = (_local4 - _verticalScrollBar.width); setTextSize(_local4, _local2, _local1); }; if (_local3){ _verticalScrollBar.visible = true; _verticalScrollBar.x = (width - _verticalScrollBar.width); _verticalScrollBar.height = _local2; _verticalScrollBar.visible = true; _verticalScrollBar.enabled = enabled; } else { _verticalScrollBar.visible = false; }; if (_local5){ _horizontalScrollBar.visible = true; _horizontalScrollBar.y = (height - _horizontalScrollBar.height); _horizontalScrollBar.width = _local4; _horizontalScrollBar.visible = true; _horizontalScrollBar.enabled = enabled; } else { _horizontalScrollBar.visible = false; }; updateScrollBars(); addEventListener(Event.ENTER_FRAME, delayedLayoutUpdate, false, 0, true); } protected function setStyles():void{ copyStylesToChild(_verticalScrollBar, SCROLL_BAR_STYLES); copyStylesToChild(_horizontalScrollBar, SCROLL_BAR_STYLES); } protected function needHScroll():Boolean{ if (_horizontalScrollPolicy == ScrollPolicy.OFF){ return (false); }; if (_horizontalScrollPolicy == ScrollPolicy.ON){ return (true); }; return ((textField.maxScrollH > 0)); } 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; }; } public function set verticalScrollPolicy(_arg1:String):void{ _verticalScrollPolicy = _arg1; invalidate(InvalidationType.SIZE); } protected function handleChange(_arg1:Event):void{ _arg1.stopPropagation(); dispatchEvent(new Event(Event.CHANGE, true)); invalidate(InvalidationType.DATA); } public static function getStyleDefinition():Object{ return (UIComponent.mergeStyles(defaultStyles, ScrollBar.getStyleDefinition())); } } }//package fl.controls
Section 34
//UIScrollBar (fl.controls.UIScrollBar) package fl.controls { import flash.events.*; import fl.core.*; import flash.text.*; import fl.events.*; public class UIScrollBar extends ScrollBar { protected var inScroll:Boolean;// = false protected var _scrollTarget:TextField; protected var inEdit:Boolean;// = false private static var defaultStyles:Object = {}; public function UIScrollBar(){ inEdit = false; inScroll = false; super(); } protected function handleTargetScroll(_arg1:Event):void{ if (inDrag){ return; }; if (!enabled){ return; }; inEdit = true; updateScrollTargetProperties(); scrollPosition = ((direction)==ScrollBarDirection.HORIZONTAL) ? _scrollTarget.scrollH : _scrollTarget.scrollV; inEdit = false; } override public function set minScrollPosition(_arg1:Number):void{ super.minScrollPosition = ((_arg1)<0) ? 0 : _arg1; } override public function setScrollPosition(_arg1:Number, _arg2:Boolean=true):void{ super.setScrollPosition(_arg1, _arg2); if (!_scrollTarget){ inScroll = false; return; }; updateTargetScroll(); } override public function setScrollProperties(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=0):void{ var _local5:Number; var _local6:Number; _local5 = _arg3; _local6 = ((_arg2)<0) ? 0 : _arg2; if (_scrollTarget != null){ if (direction == ScrollBarDirection.HORIZONTAL){ _local5 = ((_arg3)>_scrollTarget.maxScrollH) ? _scrollTarget.maxScrollH : _local5; } else { _local5 = ((_arg3)>_scrollTarget.maxScrollV) ? _scrollTarget.maxScrollV : _local5; }; }; super.setScrollProperties(_arg1, _local6, _local5, _arg4); } public function get scrollTargetName():String{ return (_scrollTarget.name); } public function get scrollTarget():TextField{ return (_scrollTarget); } protected function updateScrollTargetProperties():void{ var _local1:Boolean; var _local2:Number; if (_scrollTarget == null){ setScrollProperties(pageSize, minScrollPosition, maxScrollPosition, pageScrollSize); scrollPosition = 0; } else { _local1 = (direction == ScrollBarDirection.HORIZONTAL); _local2 = (_local1) ? _scrollTarget.width : 10; setScrollProperties(_local2, (_local1) ? 0 : 1, (_local1) ? _scrollTarget.maxScrollH : _scrollTarget.maxScrollV, pageScrollSize); scrollPosition = (_local1) ? _scrollTarget.scrollH : _scrollTarget.scrollV; }; } public function update():void{ inEdit = true; updateScrollTargetProperties(); inEdit = false; } public function set scrollTargetName(_arg1:String):void{ var target = _arg1; try { scrollTarget = (parent.getChildByName(target) as TextField); } catch(error:Error) { throw (new Error("ScrollTarget not found, or is not a TextField")); }; } override public function set direction(_arg1:String):void{ if (isLivePreview){ return; }; super.direction = _arg1; updateScrollTargetProperties(); } protected function handleTargetChange(_arg1:Event):void{ inEdit = true; setScrollPosition(((direction)==ScrollBarDirection.HORIZONTAL) ? _scrollTarget.scrollH : _scrollTarget.scrollV, true); updateScrollTargetProperties(); inEdit = false; } override public function set maxScrollPosition(_arg1:Number):void{ var _local2:Number; _local2 = _arg1; if (_scrollTarget != null){ if (direction == ScrollBarDirection.HORIZONTAL){ _local2 = ((_local2)>_scrollTarget.maxScrollH) ? _scrollTarget.maxScrollH : _local2; } else { _local2 = ((_local2)>_scrollTarget.maxScrollV) ? _scrollTarget.maxScrollV : _local2; }; }; super.maxScrollPosition = _local2; } protected function updateTargetScroll(_arg1:ScrollEvent=null):void{ if (inEdit){ return; }; if (direction == ScrollBarDirection.HORIZONTAL){ _scrollTarget.scrollH = scrollPosition; } else { _scrollTarget.scrollV = scrollPosition; }; } override protected function draw():void{ if (isInvalid(InvalidationType.DATA)){ updateScrollTargetProperties(); }; super.draw(); } public function set scrollTarget(_arg1:TextField):void{ if (_scrollTarget != null){ _scrollTarget.removeEventListener(Event.CHANGE, handleTargetChange, false); _scrollTarget.removeEventListener(TextEvent.TEXT_INPUT, handleTargetChange, false); _scrollTarget.removeEventListener(Event.SCROLL, handleTargetScroll, false); removeEventListener(ScrollEvent.SCROLL, updateTargetScroll, false); }; _scrollTarget = _arg1; if (_scrollTarget != null){ _scrollTarget.addEventListener(Event.CHANGE, handleTargetChange, false, 0, true); _scrollTarget.addEventListener(TextEvent.TEXT_INPUT, handleTargetChange, false, 0, true); _scrollTarget.addEventListener(Event.SCROLL, handleTargetScroll, false, 0, true); addEventListener(ScrollEvent.SCROLL, updateTargetScroll, false, 0, true); }; invalidate(InvalidationType.DATA); } override public function get direction():String{ return (super.direction); } public static function getStyleDefinition():Object{ return (UIComponent.mergeStyles(defaultStyles, ScrollBar.getStyleDefinition())); } } }//package fl.controls
Section 35
//ComponentShim (fl.core.ComponentShim) package fl.core { import flash.display.*; public dynamic class ComponentShim extends MovieClip { } }//package fl.core
Section 36
//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 37
//UIComponent (fl.core.UIComponent) package fl.core { import flash.events.*; import flash.display.*; import flash.utils.*; import fl.managers.*; import flash.text.*; import fl.events.*; 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 38
//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 39
//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 40
//FocusManager (fl.managers.FocusManager) package fl.managers { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.ui.*; import fl.core.*; import fl.controls.*; import flash.text.*; 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 41
//IFocusManager (fl.managers.IFocusManager) package fl.managers { import flash.display.*; import fl.controls.*; 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 42
//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 43
//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 44
//StyleManager (fl.managers.StyleManager) package fl.managers { import flash.utils.*; import fl.core.*; 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 45
//ForwardBackBorder (fl.video.skin.ForwardBackBorder) package fl.video.skin { import flash.display.*; public dynamic class ForwardBackBorder extends MovieClip { } }//package fl.video.skin
Section 46
//AutoLayoutEvent (fl.video.AutoLayoutEvent) package fl.video { import flash.events.*; import flash.geom.*; public class AutoLayoutEvent extends LayoutEvent implements IVPEvent { private var _vp:uint; public static const AUTO_LAYOUT:String = "autoLayout"; public function AutoLayoutEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Rectangle=null, _arg5:Rectangle=null, _arg6:uint=0){ super(_arg1, _arg2, _arg3, _arg4, _arg5); _vp = _arg6; } override public function clone():Event{ return (new AutoLayoutEvent(type, bubbles, cancelable, Rectangle(oldBounds.clone()), Rectangle(oldRegistrationBounds.clone()), vp)); } public function set vp(_arg1:uint):void{ _vp = _arg1; } public function get vp():uint{ return (_vp); } } }//package fl.video
Section 47
//ConnectClient (fl.video.ConnectClient) package fl.video { import flash.net.*; public class ConnectClient { public var connIndex:uint; public var nc:NetConnection; public var pending:Boolean; public var owner:NCManager; public function ConnectClient(_arg1:NCManager, _arg2:NetConnection, _arg3:uint=0){ this.owner = _arg1; this.nc = _arg2; this.connIndex = _arg3; this.pending = false; } public function onBWCheck(... _args):Number{ return (++owner._payload); } public function onBWDone(... _args):void{ var _local2:Number; if (_args.length > 0){ _local2 = _args[0]; }; owner.onConnected(nc, _local2); } public function close():void{ } } }//package fl.video
Section 48
//ControlData (fl.video.ControlData) package fl.video { import flash.display.*; public class ControlData { public var state_mc:Array; public var origWidth:Number; public var handle_mc:Sprite; public var state:uint; public var leftMargin:Number; public var fullness_mc:DisplayObject; public var isDragging:Boolean; public var currentState_mc:DisplayObject; public var percentage:Number; public var owner:DisplayObject; public var origX:Number; public var origY:Number; public var bottomMargin:Number; public var disabled_mc:DisplayObject; public var enabled:Boolean; public var hit_mc:Sprite; public var origHeight:Number; public var index:int; public var mask_mc:DisplayObject; public var avatar:DisplayObject; public var fill_mc:DisplayObject; public var topMargin:Number; public var uiMgr:UIManager; public var progress_mc:DisplayObject; public var rightMargin:Number; public var ctrl:DisplayObject; public var origScaleX:Number; public var origScaleY:Number; public function ControlData(_arg1:UIManager, _arg2:DisplayObject, _arg3:DisplayObject, _arg4:int){ var uiMgr = _arg1; var ctrl = _arg2; var owner = _arg3; var index = _arg4; super(); this.uiMgr = uiMgr; this.index = index; this.ctrl = ctrl; this.owner = owner; try { ctrl["uiMgr"] = uiMgr; } catch(re:ReferenceError) { }; } } }//package fl.video
Section 49
//CuePointManager (fl.video.CuePointManager) package fl.video { public class CuePointManager { flvplayback_internal var _disabledCuePointsByNameOnly:Object; flvplayback_internal var navCuePoints:Array; flvplayback_internal var allCuePoints:Array; flvplayback_internal var _disabledCuePoints:Array; flvplayback_internal var _asCuePointTolerance:Number; flvplayback_internal var _linearSearchTolerance:Number; flvplayback_internal var _asCuePointIndex:int; flvplayback_internal var asCuePoints:Array; flvplayback_internal var flvCuePoints:Array; flvplayback_internal var _metadataLoaded:Boolean; flvplayback_internal var _id:uint; private var _owner:FLVPlayback; flvplayback_internal var eventCuePoints:Array; public static const SHORT_VERSION:String = "2.0"; public static const VERSION:String = "2.0.0.37"; flvplayback_internal static const DEFAULT_LINEAR_SEARCH_TOLERANCE:Number = 50; flvplayback_internal static var cuePointsReplace:Array = ["&quot;", "\"", "&#39;", "'", "&#44;", ",", "&amp;", "&"]; public function CuePointManager(_arg1:FLVPlayback, _arg2:uint){ _owner = _arg1; _id = _arg2; reset(); _asCuePointTolerance = (_owner.getVideoPlayer(_id).playheadUpdateInterval / 2000); _linearSearchTolerance = DEFAULT_LINEAR_SEARCH_TOLERANCE; } flvplayback_internal function getCuePoint(_arg1:Array, _arg2:Boolean, _arg3):Object{ var _local4:Object; var _local5:int; switch (typeof(_arg3)){ case "string": _local4 = {name:_arg3}; break; case "number": _local4 = {time:_arg3}; break; case "object": _local4 = _arg3; break; }; _local5 = getCuePointIndex(_arg1, _arg2, _local4.time, _local4.name); if (_local5 < 0){ return (null); }; _local4 = deepCopyObject(_arg1[_local5]); _local4.array = _arg1; _local4.index = _local5; return (_local4); } public function resetASCuePointIndex(_arg1:Number):void{ var _local2:int; if ((((_arg1 <= 0)) || ((asCuePoints == null)))){ _asCuePointIndex = 0; return; }; _local2 = getCuePointIndex(asCuePoints, true, _arg1); _asCuePointIndex = ((asCuePoints[_local2].time)<_arg1) ? (_local2 + 1) : _local2; } public function set playheadUpdateInterval(_arg1:Number):void{ _asCuePointTolerance = (_arg1 / 2000); } flvplayback_internal function addOrDisable(_arg1:Boolean, _arg2:Object):void{ if (_arg1){ if (_arg2.type == CuePointType.ACTIONSCRIPT){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "Cannot disable actionscript cue points")); }; setFLVCuePointEnabled(false, _arg2); } else { if (_arg2.type == CuePointType.ACTIONSCRIPT){ addASCuePoint(_arg2); }; }; } public function processFLVCuePoints(_arg1:Array):void{ var _local2:int; var _local3:Number; var _local4:Object; var _local5:Array; var _local6:Number; var _local7:int; _metadataLoaded = true; if ((((_arg1 == null)) || ((_arg1.length < 1)))){ flvCuePoints = null; navCuePoints = null; eventCuePoints = null; return; }; flvCuePoints = _arg1; navCuePoints = new Array(); eventCuePoints = new Array(); _local3 = -1; _local5 = _disabledCuePoints; _local6 = 0; _disabledCuePoints = new Array(); _local7 = 0; while ((_local4 = flvCuePoints[_local7++]) != undefined) { if ((((_local3 > 0)) && ((_local3 >= _local4.time)))){ flvCuePoints = null; navCuePoints = null; eventCuePoints = null; _disabledCuePoints = new Array(); _disabledCuePointsByNameOnly = new Object(); throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, ("Unsorted cuePoint found after time: " + _local3))); }; _local3 = _local4.time; while ((((_local6 < _local5.length)) && ((cuePointCompare(_local5[_local6].time, null, _local4) < 0)))) { _local6++; }; if (((!((_disabledCuePointsByNameOnly[_local4.name] == undefined))) || ((((_local6 < _local5.length)) && ((cuePointCompare(_local5[_local6].time, _local5[_local6].name, _local4) == 0)))))){ _disabledCuePoints.push({time:_local4.time, name:_local4.name}); }; if (_local4.type == CuePointType.NAVIGATION){ navCuePoints.push(_local4); } else { if (_local4.type == CuePointType.EVENT){ eventCuePoints.push(_local4); }; }; if ((((allCuePoints == null)) || ((allCuePoints.length < 1)))){ allCuePoints = new Array(); allCuePoints.push(_local4); } else { _local2 = getCuePointIndex(allCuePoints, true, _local4.time); _local2 = ((allCuePoints[_local2].time)>_local4.time) ? 0 : (_local2 + 1); allCuePoints.splice(_local2, 0, _local4); }; }; _disabledCuePointsByNameOnly = new Object(); } public function addASCuePoint(_arg1, _arg2:String=null, _arg3:Object=null):Object{ var _local4:Object; var _local5:Boolean; var _local6:Boolean; var _local7:int; var _local8:Number; var _local9:Object; var _local10:int; if (typeof(_arg1) == "object"){ _local4 = deepCopyObject(_arg1); } else { _local4 = {time:_arg1, name:_arg2, parameters:deepCopyObject(_arg3)}; }; if (_local4.parameters == null){ delete _local4.parameters; }; _local5 = ((isNaN(_local4.time)) || ((_local4.time < 0))); if (_local5){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "time must be number")); }; _local6 = (_local4.name == null); if (_local6){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "name cannot be undefined or null")); }; _local4.type = CuePointType.ACTIONSCRIPT; if ((((asCuePoints == null)) || ((asCuePoints.length < 1)))){ _local7 = 0; asCuePoints = new Array(); asCuePoints.push(_local4); } else { _local7 = getCuePointIndex(asCuePoints, true, _local4.time); _local7 = ((asCuePoints[_local7].time)>_local4.time) ? 0 : (_local7 + 1); asCuePoints.splice(_local7, 0, _local4); }; if ((((allCuePoints == null)) || ((allCuePoints.length < 1)))){ allCuePoints = new Array(); allCuePoints.push(_local4); } else { _local10 = getCuePointIndex(allCuePoints, true, _local4.time); _local10 = ((allCuePoints[_local10].time)>_local4.time) ? 0 : (_local10 + 1); allCuePoints.splice(_local10, 0, _local4); }; _local8 = _owner.getVideoPlayer(_id).playheadTime; if (_local8 > 0){ if (_asCuePointIndex == _local7){ if (_local8 > asCuePoints[_local7].time){ _asCuePointIndex++; }; } else { if (_asCuePointIndex > _local7){ _asCuePointIndex++; }; }; } else { _asCuePointIndex = 0; }; _local9 = deepCopyObject(asCuePoints[_local7]); _local9.array = asCuePoints; _local9.index = _local7; return (_local9); } public function get metadataLoaded():Boolean{ return (_metadataLoaded); } public function reset():void{ _metadataLoaded = false; allCuePoints = null; asCuePoints = null; _disabledCuePoints = new Array(); _disabledCuePointsByNameOnly = new Object(); flvCuePoints = null; navCuePoints = null; eventCuePoints = null; _asCuePointIndex = 0; } public function removeCuePoints(_arg1:Array, _arg2:Object):Number{ var _local3:int; var _local4:Object; var _local5:int; _local5 = 0; _local3 = getCuePointIndex(_arg1, true, -1, _arg2.name); while (_local3 >= 0) { _local4 = _arg1[_local3]; _arg1.splice(_local3, 1); _local3--; _local5++; _local3 = getNextCuePointIndexWithName(_local4.name, _arg1, _local3); }; return (_local5); } flvplayback_internal function unescape(_arg1:String):String{ var _local2:String; var _local3:int; _local2 = _arg1; _local3 = 0; while (_local3 < cuePointsReplace.length) { var _temp1 = _local3; _local3 = (_local3 + 1); var _temp2 = _local3; _local3 = (_local3 + 1); _local2 = _local2.replace(cuePointsReplace[_temp1], cuePointsReplace[_temp2]); }; return (_local2); } public function setFLVCuePointEnabled(_arg1:Boolean, _arg2):int{ var _local3:Object; var _local4:Boolean; var _local5:Boolean; var _local6:uint; var _local7:int; var _local8:int; var _local9:Object; switch (typeof(_arg2)){ case "string": _local3 = {name:_arg2}; break; case "number": _local3 = {time:_arg2}; break; case "object": _local3 = _arg2; break; }; _local4 = ((isNaN(_local3.time)) || ((_local3.time < 0))); _local5 = (_local3.name == null); if (((_local4) && (_local5))){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "time must be number and/or name must not be undefined or null")); }; _local6 = 0; if (_local4){ if (!_metadataLoaded){ if (_disabledCuePointsByNameOnly[_local3.name] == undefined){ if (!_arg1){ _disabledCuePointsByNameOnly[_local3.name] = new Array(); }; } else { if (_arg1){ delete _disabledCuePointsByNameOnly[_local3.name]; }; return (-1); }; removeCuePoints(_disabledCuePoints, _local3); return (-1); }; if (_arg1){ _local6 = removeCuePoints(_disabledCuePoints, _local3); } else { _local7 = getCuePointIndex(flvCuePoints, true, -1, _local3.name); while (_local7 >= 0) { _local9 = flvCuePoints[_local7]; _local8 = getCuePointIndex(_disabledCuePoints, true, _local9.time); if ((((_local8 < 0)) || (!((_disabledCuePoints[_local8].time == _local9.time))))){ _disabledCuePoints = insertCuePoint(_local8, _disabledCuePoints, {name:_local9.name, time:_local9.time}); _local6 = (_local6 + 1); }; _local7 = getNextCuePointIndexWithName(_local9.name, flvCuePoints, _local7); }; }; return (_local6); }; _local7 = getCuePointIndex(_disabledCuePoints, false, _local3.time, _local3.name); if (_local7 < 0){ if (_arg1){ if (!_metadataLoaded){ _local7 = getCuePointIndex(_disabledCuePoints, false, _local3.time); if (_local7 < 0){ _local8 = getCuePointIndex(_disabledCuePointsByNameOnly[_local3.name], true, _local3.time); if (cuePointCompare(_local3.time, null, _disabledCuePointsByNameOnly[_local3.name]) != 0){ _disabledCuePointsByNameOnly[_local3.name] = insertCuePoint(_local8, _disabledCuePointsByNameOnly[_local3.name], _local3); }; } else { _disabledCuePoints.splice(_local7, 1); }; }; return ((_metadataLoaded) ? 0 : -1); }; } else { if (_arg1){ _disabledCuePoints.splice(_local7, 1); _local6 = 1; } else { _local6 = 0; }; return ((_metadataLoaded) ? _local6 : -1); }; if (_metadataLoaded){ _local7 = getCuePointIndex(flvCuePoints, false, _local3.time, _local3.name); if (_local7 < 0){ return (0); }; if (_local5){ _local3.name = flvCuePoints[_local7].name; }; }; _local8 = getCuePointIndex(_disabledCuePoints, true, _local3.time); _disabledCuePoints = insertCuePoint(_local8, _disabledCuePoints, _local3); _local6 = 1; return ((_metadataLoaded) ? _local6 : -1); } public function isFLVCuePointEnabled(_arg1):Boolean{ var _local2:Object; var _local3:Boolean; var _local4:Boolean; var _local5:int; if (!_metadataLoaded){ return (true); }; switch (typeof(_arg1)){ case "string": _local2 = {name:_arg1}; break; case "number": _local2 = {time:_arg1}; break; case "object": _local2 = _arg1; break; }; _local3 = ((isNaN(_local2.time)) || ((_local2.time < 0))); _local4 = (_local2.name == null); if (((_local3) && (_local4))){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "time must be number and/or name must not be undefined or null")); }; if (_local3){ _local5 = getCuePointIndex(flvCuePoints, true, -1, _local2.name); if (_local5 < 0){ return (true); }; while (_local5 >= 0) { if (getCuePointIndex(_disabledCuePoints, false, flvCuePoints[_local5].time, flvCuePoints[_local5].name) < 0){ return (true); }; _local5 = getNextCuePointIndexWithName(_local2.name, flvCuePoints, _local5); }; return (false); }; return ((getCuePointIndex(_disabledCuePoints, false, _local2.time, _local2.name) < 0)); } public function removeASCuePoint(_arg1):Object{ var _local2:Object; var _local3:int; if ((((asCuePoints == null)) || ((asCuePoints.length < 1)))){ return (null); }; switch (typeof(_arg1)){ case "string": _local2 = {name:_arg1}; break; case "number": _local2 = {time:_arg1}; break; case "object": _local2 = _arg1; break; }; _local3 = getCuePointIndex(asCuePoints, false, _local2.time, _local2.name); if (_local3 < 0){ return (null); }; _local2 = asCuePoints[_local3]; asCuePoints.splice(_local3, 1); _local3 = getCuePointIndex(allCuePoints, false, _local2.time, _local2.name); if (_local3 > 0){ allCuePoints.splice(_local3, 1); }; if (_owner.getVideoPlayer(_id).playheadTime > 0){ if (_asCuePointIndex > _local3){ _asCuePointIndex--; }; } else { _asCuePointIndex = 0; }; return (_local2); } public function get id():uint{ return (_id); } public function processCuePointsProperty(_arg1:Array):void{ var _local2:uint; var _local3:uint; var _local4:String; var _local5:String; var _local6:Object; var _local7:Boolean; var _local8:int; if ((((_arg1 == null)) || ((_arg1.length == 0)))){ return; }; _local2 = 0; _local8 = 0; while (_local8 < (_arg1.length - 1)) { switch (_local2){ case 6: addOrDisable(_local7, _local6); _local2 = 0; case 0: var _temp1 = _local8; _local8 = (_local8 + 1); if (_arg1[_temp1] != "t"){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "unexpected cuePoint parameter format")); }; if (isNaN(_arg1[_local8])){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "time must be number")); }; _local6 = new Object(); _local6.time = (_arg1[_local8] / 1000); _local2++; break; case 1: var _temp2 = _local8; _local8 = (_local8 + 1); if (_arg1[_temp2] != "n"){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "unexpected cuePoint parameter format")); }; if (_arg1[_local8] == undefined){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "name cannot be null or undefined")); }; _local6.name = unescape(_arg1[_local8]); _local2++; break; case 2: var _temp3 = _local8; _local8 = (_local8 + 1); if (_arg1[_temp3] != "t"){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "unexpected cuePoint parameter format")); }; if (isNaN(_arg1[_local8])){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "type must be number")); }; switch (_arg1[_local8]){ case 0: _local6.type = CuePointType.EVENT; break; case 1: _local6.type = CuePointType.NAVIGATION; break; case 2: _local6.type = CuePointType.ACTIONSCRIPT; break; default: throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "type must be 0, 1 or 2")); }; _local2++; break; case 3: var _temp4 = _local8; _local8 = (_local8 + 1); if (_arg1[_temp4] != "d"){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "unexpected cuePoint parameter format")); }; if (isNaN(_arg1[_local8])){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "disabled must be number")); }; _local7 = !((_arg1[_local8] == 0)); _local2++; break; case 4: var _temp5 = _local8; _local8 = (_local8 + 1); if (_arg1[_temp5] != "p"){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "unexpected cuePoint parameter format")); }; if (isNaN(_arg1[_local8])){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "num params must be number")); }; _local3 = _arg1[_local8]; _local2++; if (_local3 == 0){ _local2++; } else { _local6.parameters = new Object(); }; break; case 5: var _temp6 = _local8; _local8 = (_local8 + 1); _local4 = _arg1[_temp6]; _local5 = _arg1[_local8]; if ((_local4 is String)){ _local4 = unescape(_local4); }; if ((_local5 is String)){ _local5 = unescape(_local5); }; _local6.parameters[_local4] = _local5; _local3--; if (_local3 == 0){ _local2++; }; break; }; _local8++; }; if (_local2 == 6){ addOrDisable(_local7, _local6); } else { throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "unexpected end of cuePoint param string")); }; } flvplayback_internal function getNextCuePointIndexWithName(_arg1:String, _arg2:Array, _arg3:int):int{ var _local4:int; if (_arg1 == null){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "name cannot be undefined or null")); }; if (_arg2 == null){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "cuePoint.array undefined")); }; if (((((isNaN(_arg3)) || ((_arg3 < -1)))) || ((_arg3 >= _arg2.length)))){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "cuePoint.index must be number between -1 and cuePoint.array.length")); }; _local4 = (_arg3 + 1); while (_local4 < _arg2.length) { if (_arg2[_local4].name == _arg1){ break; }; _local4++; }; if (_local4 < _arg2.length){ return (_local4); }; return (-1); } public function dispatchASCuePoints():void{ var _local1:Number; _local1 = _owner.getVideoPlayer(_id).playheadTime; if (((_owner.getVideoPlayer(_id).stateResponsive) && (!((asCuePoints == null))))){ while ((((_asCuePointIndex < asCuePoints.length)) && ((asCuePoints[_asCuePointIndex].time <= (_local1 + _asCuePointTolerance))))) { _owner.dispatchEvent(new MetadataEvent(MetadataEvent.CUE_POINT, false, false, deepCopyObject(asCuePoints[_asCuePointIndex++]), _id)); }; }; } flvplayback_internal function getNextCuePointWithName(_arg1:Object):Object{ var _local2:int; var _local3:Object; if (_arg1 == null){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "cuePoint parameter undefined")); }; if (((isNaN(_arg1.time)) || ((_arg1.time < 0)))){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "time must be number")); }; _local2 = getNextCuePointIndexWithName(_arg1.name, _arg1.array, _arg1.index); if (_local2 < 0){ return (null); }; _local3 = deepCopyObject(_arg1.array[_local2]); _local3.array = _arg1.array; _local3.index = _local2; return (_local3); } public function insertCuePoint(_arg1:int, _arg2:Array, _arg3:Object):Array{ if (_arg1 < 0){ _arg2 = new Array(); _arg2.push(_arg3); } else { if (_arg2[_arg1].time > _arg3.time){ _arg1 = 0; } else { _arg1++; }; _arg2.splice(_arg1, 0, _arg3); }; return (_arg2); } flvplayback_internal function getCuePointIndex(_arg1:Array, _arg2:Boolean, _arg3:Number=NaN, _arg4:String=null, _arg5:int=-1, _arg6:int=-1):int{ var _local7:Boolean; var _local8:Boolean; var _local9:int; var _local10:int; var _local11:int; var _local12:int; var _local13:int; var _local14:int; var _local15:int; if ((((_arg1 == null)) || ((_arg1.length < 1)))){ return (-1); }; _local7 = ((isNaN(_arg3)) || ((_arg3 < 0))); _local8 = (_arg4 == null); if (((_local7) && (_local8))){ throw (new VideoError(VideoError.ILLEGAL_CUE_POINT, "time must be number and/or name must not be undefined or null")); }; if (_arg5 < 0){ _arg5 = 0; }; if (_arg6 < 0){ _arg6 = _arg1.length; }; if (((!(_local8)) && (((_arg2) || (_local7))))){ if (_local7){ _local12 = _arg5; } else { _local12 = getCuePointIndex(_arg1, _arg2, _arg3); }; _local13 = _local12; while (_local13 >= _arg5) { if (_arg1[_local13].name == _arg4){ break; }; _local13--; }; if (_local13 >= _arg5){ return (_local13); }; _local13 = (_local12 + 1); while (_local13 < _arg6) { if (_arg1[_local13].name == _arg4){ break; }; _local13++; }; if (_local13 < _arg6){ return (_local13); }; return (-1); }; if (_arg6 <= _linearSearchTolerance){ _local14 = (_arg5 + _arg6); _local15 = _arg5; while (_local15 < _local14) { _local9 = cuePointCompare(_arg3, _arg4, _arg1[_local15]); if (_local9 == 0){ return (_local15); }; if (_local9 < 0){ break; }; _local15++; }; if (_arg2){ if (_local15 > 0){ return ((_local15 - 1)); }; return (0); }; return (-1); }; _local10 = int((_arg6 / 2)); _local11 = (_arg5 + _local10); _local9 = cuePointCompare(_arg3, _arg4, _arg1[_local11]); if (_local9 < 0){ return (getCuePointIndex(_arg1, _arg2, _arg3, _arg4, _arg5, _local10)); }; if (_local9 > 0){ return (getCuePointIndex(_arg1, _arg2, _arg3, _arg4, (_local11 + 1), ((_local10 - 1) + (_arg6 % 2)))); }; return (_local11); } flvplayback_internal static function deepCopyObject(_arg1:Object, _arg2:uint=0):Object{ var _local3:Object; var _local4:*; if (_arg1 == null){ return (_arg1); }; _local3 = new Object(); for (_local4 in _arg1) { if ((((_arg2 == 0)) && ((((_local4 == "array")) || ((_local4 == "index")))))){ } else { if (typeof(_arg1[_local4]) == "object"){ _local3[_local4] = deepCopyObject(_arg1[_local4], (_arg2 + 1)); } else { _local3[_local4] = _arg1[_local4]; }; }; }; return (_local3); } flvplayback_internal static function cuePointCompare(_arg1:Number, _arg2:String, _arg3:Object):int{ var _local4:Number; var _local5:Number; _local4 = Math.round((_arg1 * 1000)); _local5 = Math.round((_arg3.time * 1000)); if (_local4 < _local5){ return (-1); }; if (_local4 > _local5){ return (1); }; if (_arg2 != null){ if (_arg2 == _arg3.name){ return (0); }; if (_arg2 < _arg3.name){ return (-1); }; return (1); }; return (0); } } }//package fl.video
Section 50
//CuePointType (fl.video.CuePointType) package fl.video { public final class CuePointType { public static const FLV:String = "flv"; public static const ALL:String = "all"; public static const ACTIONSCRIPT:String = "actionscript"; public static const EVENT:String = "event"; public static const NAVIGATION:String = "navigation"; } }//package fl.video
Section 51
//FLVPlayback (fl.video.FLVPlayback) package fl.video { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.geom.*; import flash.net.*; import flash.media.*; public class FLVPlayback extends Sprite { private var _playheadUpdateInterval:Number; private var _align:String; flvplayback_internal var videoPlayerStateDict:Dictionary; flvplayback_internal var cuePointMgrs:Array; private var _volume:Number; private var _origHeight:Number; flvplayback_internal var videoPlayerStates:Array; private var _progressInterval:Number; private var _seekToPrevOffset:Number; private var _origWidth:Number; private var _scaleMode:String; flvplayback_internal var resizingNow:Boolean; flvplayback_internal var videoPlayers:Array; private var _bufferTime:Number; private var _aspectRatio:Boolean; private var _autoRewind:Boolean; flvplayback_internal var uiMgr:UIManager; private var previewImage_mc:Loader; private var _componentInspectorSetting:Boolean; flvplayback_internal var _firstStreamShown:Boolean; private var _visibleVP:uint; private var _idleTimeout:Number; private var _soundTransform:SoundTransform; public var boundingBox_mc:DisplayObject; flvplayback_internal var skinShowTimer:Timer; private var preview_mc:MovieClip; private var livePreviewHeight:Number; flvplayback_internal var _firstStreamReady:Boolean; private var _activeVP:uint; private var isLivePreview:Boolean; private var _topVP:uint; private var livePreviewWidth:Number; private var __forceNCMgr:NCManager; private var previewImageUrl:String; public static const SEEK_TO_PREV_OFFSET_DEFAULT:Number = 1; public static const SHORT_VERSION:String = "2.0"; flvplayback_internal static const skinShowTimerInterval:Number = 2000; public static const VERSION:String = "2.0.0.37"; flvplayback_internal static const DEFAULT_SKIN_SHOW_TIMER_INTERVAL:Number = 2000; public function FLVPlayback(){ var _local1:VideoPlayer; super(); isLivePreview = ((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent"))); _componentInspectorSetting = false; _origWidth = super.width; _origHeight = super.height; super.scaleX = 1; super.scaleY = 1; _local1 = new VideoPlayer(0, 0); _local1.setSize(_origWidth, _origHeight); videoPlayers = new Array(); videoPlayers[0] = _local1; _align = _local1.align; _autoRewind = _local1.autoRewind; _scaleMode = _local1.scaleMode; _bufferTime = _local1.bufferTime; _idleTimeout = _local1.idleTimeout; _playheadUpdateInterval = _local1.playheadUpdateInterval; _progressInterval = _local1.progressInterval; _soundTransform = _local1.soundTransform; _volume = _local1.volume; _seekToPrevOffset = SEEK_TO_PREV_OFFSET_DEFAULT; _firstStreamReady = false; _firstStreamShown = false; resizingNow = false; uiMgr = new UIManager(this); if (isLivePreview){ uiMgr.visible = true; }; _activeVP = 0; _visibleVP = 0; _topVP = 0; videoPlayerStates = new Array(); videoPlayerStateDict = new Dictionary(true); cuePointMgrs = new Array(); createVideoPlayer(0); boundingBox_mc.visible = false; removeChild(boundingBox_mc); boundingBox_mc = null; if (isLivePreview){ previewImageUrl = ""; createLivePreviewMovieClip(); setSize(_origWidth, _origHeight); }; } public function set fullScreenTakeOver(_arg1:Boolean):void{ uiMgr.fullScreenTakeOver = _arg1; } public function pause():void{ var _local1:VideoPlayerState; var _local2:VideoPlayer; if (!_firstStreamShown){ _local1 = videoPlayerStates[_activeVP]; queueCmd(_local1, QueuedCommand.PAUSE); } else { _local2 = videoPlayers[_activeVP]; _local2.pause(); }; } public function setScale(_arg1:Number, _arg2:Number):void{ var _local3:Rectangle; var _local4:Rectangle; var _local5:int; var _local6:VideoPlayer; _local3 = new Rectangle(x, y, width, height); _local4 = new Rectangle(registrationX, registrationY, registrationWidth, registrationHeight); resizingNow = true; _local5 = 0; while (_local5 < videoPlayers.length) { _local6 = videoPlayers[_local5]; if (_local6 !== null){ _local6.setSize((_origWidth * _arg1), (_origWidth * _arg2)); }; _local5++; }; resizingNow = false; dispatchEvent(new LayoutEvent(LayoutEvent.LAYOUT, false, false, _local3, _local4)); } public function stop():void{ var _local1:VideoPlayerState; var _local2:VideoPlayer; if (!_firstStreamShown){ _local1 = videoPlayerStates[_activeVP]; queueCmd(_local1, QueuedCommand.STOP); } else { _local2 = videoPlayers[_activeVP]; _local2.stop(); }; } public function set align(_arg1:String):void{ var _local2:VideoPlayer; if (_activeVP == 0){ _align = _arg1; }; _local2 = videoPlayers[_activeVP]; _local2.align = _arg1; } public function getVideoPlayer(_arg1:Number):VideoPlayer{ return (videoPlayers[_arg1]); } public function get playheadTime():Number{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.playheadTime); } public function get progressInterval():Number{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.progressInterval); } public function set skinFadeTime(_arg1:int):void{ uiMgr.skinFadeTime = _arg1; } public function get seekToPrevOffset():Number{ return (_seekToPrevOffset); } public function set playheadTime(_arg1:Number):void{ seek(_arg1); } public function get source():String{ var _local1:VideoPlayerState; var _local2:VideoPlayer; _local1 = videoPlayerStates[_activeVP]; if (_local1.isWaiting){ return (_local1.url); }; _local2 = videoPlayers[_activeVP]; return (_local2.source); } public function get activeVideoPlayerIndex():uint{ return (_activeVP); } public function get skinFadeTime():int{ return (uiMgr.skinFadeTime); } public function set scaleMode(_arg1:String):void{ var _local2:VideoPlayer; if (_activeVP == 0){ _scaleMode = _arg1; }; _local2 = videoPlayers[_activeVP]; _local2.scaleMode = _arg1; } public function set bufferingBar(_arg1:Sprite):void{ uiMgr.setControl(UIManager.BUFFERING_BAR, _arg1); } public function get metadataLoaded():Boolean{ var _local1:CuePointManager; _local1 = cuePointMgrs[_activeVP]; return (_local1.metadataLoaded); } public function closeVideoPlayer(_arg1:uint):void{ var _local2:VideoPlayer; if (_arg1 == 0){ throw (new VideoError(VideoError.DELETE_DEFAULT_PLAYER)); }; if (videoPlayers[_arg1] == undefined){ return; }; _local2 = videoPlayers[_arg1]; if (_visibleVP == _arg1){ visibleVideoPlayerIndex = 0; }; if (_activeVP == _arg1){ activeVideoPlayerIndex = 0; }; removeChild(_local2); _local2.close(); delete videoPlayers[_arg1]; delete videoPlayerStates[_arg1]; delete videoPlayerStateDict[_local2]; } public function get scaleMode():String{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.scaleMode); } public function set progressInterval(_arg1:Number):void{ var _local2:VideoPlayer; if (_activeVP == 0){ _progressInterval = _arg1; }; _local2 = videoPlayers[_activeVP]; _local2.progressInterval = _arg1; } public function get playing():Boolean{ return ((state == VideoState.PLAYING)); } public function get totalTime():Number{ var _local1:VideoPlayerState; var _local2:VideoPlayer; if (isLivePreview){ return (1); }; _local1 = videoPlayerStates[_activeVP]; if (_local1.totalTimeSet){ return (_local1.totalTime); }; _local2 = videoPlayers[_activeVP]; return (_local2.totalTime); } public function get ncMgr():INCManager{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.ncMgr); } public function set volume(_arg1:Number):void{ var _local2:VideoPlayer; if (_volume == _arg1){ return; }; _volume = _arg1; if (!scrubbing){ _local2 = videoPlayers[_visibleVP]; _local2.volume = _volume; }; dispatchEvent(new SoundEvent(SoundEvent.SOUND_UPDATE, false, false, _local2.soundTransform)); } public function get skinAutoHide():Boolean{ return (uiMgr.skinAutoHide); } public function set source(_arg1:String):void{ var _local2:VideoPlayerState; var _local3:CuePointManager; if (isLivePreview){ return; }; if (_arg1 == null){ _arg1 = ""; }; if (_componentInspectorSetting){ _local2 = videoPlayerStates[_activeVP]; _local2.url = _arg1; if (_arg1.length > 0){ _local2.isWaiting = true; addEventListener(Event.ENTER_FRAME, doContentPathConnect); }; } else { if (source == _arg1){ return; }; _local3 = cuePointMgrs[_activeVP]; _local3.reset(); _local2 = videoPlayerStates[_activeVP]; _local2.url = _arg1; _local2.isWaiting = true; doContentPathConnect(_activeVP); }; } public function set activeVideoPlayerIndex(_arg1:uint):void{ if (_activeVP == _arg1){ return; }; _activeVP = _arg1; if (videoPlayers[_activeVP] == undefined){ createVideoPlayer(_activeVP); }; } override public function set soundTransform(_arg1:SoundTransform):void{ var _local2:VideoPlayer; if (_arg1 == null){ return; }; _volume = _arg1.volume; _soundTransform.volume = (scrubbing) ? 0 : _arg1.volume; _soundTransform.leftToLeft = _arg1.leftToLeft; _soundTransform.leftToRight = _arg1.leftToRight; _soundTransform.rightToLeft = _arg1.rightToLeft; _soundTransform.rightToRight = _arg1.rightToRight; _local2 = videoPlayers[_activeVP]; _local2.soundTransform = _soundTransform; dispatchEvent(new SoundEvent(SoundEvent.SOUND_UPDATE, false, false, _local2.soundTransform)); } public function set seekToPrevOffset(_arg1:Number):void{ _seekToPrevOffset = _arg1; } public function set seekBarScrubTolerance(_arg1:Number):void{ uiMgr.seekBarScrubTolerance = _arg1; } override public function get scaleX():Number{ var _local1:VideoPlayer; _local1 = videoPlayers[_visibleVP]; return ((_local1.width / _origWidth)); } override public function get scaleY():Number{ var _local1:VideoPlayer; _local1 = videoPlayers[_visibleVP]; return ((_local1.height / _origHeight)); } public function get bytesLoaded():uint{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.bytesLoaded); } override public function set height(_arg1:Number):void{ var _local2:Rectangle; var _local3:Rectangle; var _local4:int; var _local5:VideoPlayer; if (isLivePreview){ setSize(this.width, _arg1); return; }; _local2 = new Rectangle(x, y, width, height); _local3 = new Rectangle(registrationX, registrationY, registrationWidth, registrationHeight); resizingNow = true; _local4 = 0; while (_local4 < videoPlayers.length) { _local5 = videoPlayers[_local4]; if (_local5 != null){ _local5.height = _arg1; }; _local4++; }; resizingNow = false; dispatchEvent(new LayoutEvent(LayoutEvent.LAYOUT, false, false, _local2, _local3)); } public function get forwardButton():Sprite{ return (uiMgr.getControl(UIManager.FORWARD_BUTTON)); } public function get seekBarInterval():Number{ return (uiMgr.seekBarInterval); } public function set totalTime(_arg1:Number):void{ var _local2:VideoPlayerState; _local2 = videoPlayerStates[_activeVP]; _local2.totalTime = _arg1; _local2.totalTimeSet = true; } public function set skinAutoHide(_arg1:Boolean):void{ if (isLivePreview){ return; }; uiMgr.skinAutoHide = _arg1; } public function set bufferTime(_arg1:Number):void{ var _local2:VideoPlayer; _local2 = videoPlayers[_activeVP]; _local2.bufferTime = _arg1; } public function get fullScreenSkinDelay():int{ return (uiMgr.fullScreenSkinDelay); } public function seekToNavCuePoint(_arg1):void{ var _local2:Object; var _local3:Object; if ((_arg1 is String)){ _local2 = {name:String(_arg1)}; } else { if ((_arg1 is Number)){ _local2 = {time:Number(_arg1)}; } else { _local2 = _arg1; }; }; if (_local2.name == undefined){ seekToNextNavCuePoint(_local2.time); return; }; if (isNaN(_local2.time)){ _local2.time = 0; }; _local3 = findNearestCuePoint(_arg1, CuePointType.NAVIGATION); while (((!((_local3 == null))) && ((((_local3.time < _local2.time)) || (!(isFLVCuePointEnabled(_local3))))))) { _local3 = findNextCuePointWithName(_local3); }; if (_local3 == null){ throw (new VideoError(VideoError.INVALID_SEEK)); }; seek(_local3.time); } private function onCompletePreview(_arg1:Event):void{ var e = _arg1; try { previewImage_mc.width = livePreviewWidth; previewImage_mc.height = livePreviewHeight; } catch(e:Error) { }; } public function set isLive(_arg1:Boolean):void{ var _local2:VideoPlayerState; _local2 = videoPlayerStates[_activeVP]; _local2.isLive = _arg1; _local2.isLiveSet = true; } flvplayback_internal function showSkinNow(_arg1:TimerEvent):void{ skinShowTimer = null; uiMgr.visible = true; } override public function get x():Number{ var _local1:VideoPlayer; _local1 = videoPlayers[_visibleVP]; return ((super.x + _local1.x)); } override public function get y():Number{ var _local1:VideoPlayer; _local1 = videoPlayers[_visibleVP]; return ((super.y + _local1.y)); } public function get seekBar():Sprite{ return (uiMgr.getControl(UIManager.SEEK_BAR)); } public function get volumeBarInterval():Number{ return (uiMgr.volumeBarInterval); } public function set registrationHeight(_arg1:Number):void{ height = _arg1; } public function get bufferingBarHidesAndDisablesOthers():Boolean{ return (uiMgr.bufferingBarHidesAndDisablesOthers); } public function seek(_arg1:Number):void{ var _local2:VideoPlayerState; var _local3:VideoPlayer; _local2 = videoPlayerStates[_activeVP]; if (!_firstStreamShown){ _local2.preSeekTime = 0; queueCmd(_local2, QueuedCommand.SEEK, _arg1); } else { _local2.preSeekTime = playheadTime; _local3 = videoPlayers[_activeVP]; _local3.seek(_arg1); }; } public function get state():String{ var _local1:VideoPlayer; var _local2:String; var _local3:VideoPlayerState; if (isLivePreview){ return (VideoState.STOPPED); }; _local1 = videoPlayers[_activeVP]; if ((((_activeVP == _visibleVP)) && (scrubbing))){ return (VideoState.SEEKING); }; _local2 = _local1.state; if (_local2 == VideoState.RESIZING){ return (VideoState.LOADING); }; _local3 = videoPlayerStates[_activeVP]; if ((((((_local3.prevState == VideoState.LOADING)) && (_local3.autoPlay))) && ((_local2 == VideoState.STOPPED)))){ return (VideoState.LOADING); }; return (_local2); } public function set autoRewind(_arg1:Boolean):void{ var _local2:VideoPlayer; if (_activeVP == 0){ _autoRewind = _arg1; }; _local2 = videoPlayers[_activeVP]; _local2.autoRewind = _arg1; } public function get volumeBar():Sprite{ return (uiMgr.getControl(UIManager.VOLUME_BAR)); } flvplayback_internal function skinError(_arg1:String):void{ if (isLivePreview){ return; }; if (((_firstStreamReady) && (!(_firstStreamShown)))){ showFirstStream(); }; dispatchEvent(new SkinErrorEvent(SkinErrorEvent.SKIN_ERROR, false, false, _arg1)); } override public function set scaleX(_arg1:Number):void{ var _local2:Rectangle; var _local3:Rectangle; var _local4:int; var _local5:VideoPlayer; _local2 = new Rectangle(x, y, width, height); _local3 = new Rectangle(registrationX, registrationY, registrationWidth, registrationHeight); resizingNow = true; _local4 = 0; while (_local4 < videoPlayers.length) { _local5 = videoPlayers[_local4]; if (_local5 !== null){ _local5.width = (_origWidth * _arg1); }; _local4++; }; resizingNow = false; dispatchEvent(new LayoutEvent(LayoutEvent.LAYOUT, false, false, _local2, _local3)); } override public function set scaleY(_arg1:Number):void{ var _local2:Rectangle; var _local3:Rectangle; var _local4:int; var _local5:VideoPlayer; _local2 = new Rectangle(x, y, width, height); _local3 = new Rectangle(registrationX, registrationY, registrationWidth, registrationHeight); resizingNow = true; _local4 = 0; while (_local4 < videoPlayers.length) { _local5 = videoPlayers[_local4]; if (_local5 !== null){ _local5.height = (_origHeight * _arg1); }; _local4++; }; resizingNow = false; dispatchEvent(new LayoutEvent(LayoutEvent.LAYOUT, false, false, _local2, _local3)); } flvplayback_internal function createVideoPlayer(_arg1:Number):void{ var vp:VideoPlayer; var added:Boolean; var vpState:VideoPlayerState; var cpMgr:CuePointManager; var skinDepth:int; var index = _arg1; if (isLivePreview){ return; }; vp = videoPlayers[index]; if (vp == null){ var _local3 = new VideoPlayer(0, 0); vp = _local3; videoPlayers[index] = _local3; vp.setSize(registrationWidth, registrationHeight); }; vp.visible = false; vp.volume = 0; vp.name = String(index); added = false; if (uiMgr.skin_mc != null){ try { skinDepth = getChildIndex(uiMgr.skin_mc); if (skinDepth > 0){ addChildAt(vp, skinDepth); added = true; }; } catch(err:Error) { }; }; if (!added){ addChild(vp); }; _topVP = index; vp.autoRewind = _autoRewind; vp.scaleMode = _scaleMode; vp.bufferTime = _bufferTime; vp.idleTimeout = _idleTimeout; vp.playheadUpdateInterval = _playheadUpdateInterval; vp.progressInterval = _progressInterval; vp.soundTransform = _soundTransform; vpState = new VideoPlayerState(vp, index); videoPlayerStates[index] = vpState; videoPlayerStateDict[vp] = vpState; vp.addEventListener(AutoLayoutEvent.AUTO_LAYOUT, handleAutoLayoutEvent); vp.addEventListener(MetadataEvent.CUE_POINT, handleMetadataEvent); vp.addEventListener(MetadataEvent.METADATA_RECEIVED, handleMetadataEvent); vp.addEventListener(VideoProgressEvent.PROGRESS, handleVideoProgressEvent); vp.addEventListener(VideoEvent.AUTO_REWOUND, handleVideoEvent); vp.addEventListener(VideoEvent.CLOSE, handleVideoEvent); vp.addEventListener(VideoEvent.COMPLETE, handleVideoEvent); vp.addEventListener(VideoEvent.PLAYHEAD_UPDATE, handleVideoEvent); vp.addEventListener(VideoEvent.STATE_CHANGE, handleVideoEvent); vp.addEventListener(VideoEvent.READY, handleVideoEvent); cpMgr = new CuePointManager(this, index); cuePointMgrs[index] = cpMgr; cpMgr.playheadUpdateInterval = _playheadUpdateInterval; } public function findNearestCuePoint(_arg1, _arg2:String="all"):Object{ var _local3:CuePointManager; _local3 = cuePointMgrs[_activeVP]; switch (_arg2){ case "event": return (_local3.getCuePoint(_local3.eventCuePoints, true, _arg1)); case "navigation": return (_local3.getCuePoint(_local3.navCuePoints, true, _arg1)); case "flv": return (_local3.getCuePoint(_local3.flvCuePoints, true, _arg1)); case "actionscript": return (_local3.getCuePoint(_local3.asCuePoints, true, _arg1)); case "all": default: return (_local3.getCuePoint(_local3.allCuePoints, true, _arg1)); }; } public function get muteButton():Sprite{ return (uiMgr.getControl(UIManager.MUTE_BUTTON)); } public function seekPercent(_arg1:Number):void{ var _local2:VideoPlayer; _local2 = videoPlayers[_activeVP]; if (((((((((isNaN(_arg1)) || ((_arg1 < 0)))) || ((_arg1 > 100)))) || (isNaN(_local2.totalTime)))) || ((_local2.totalTime <= 0)))){ throw (new VideoError(VideoError.INVALID_SEEK)); }; seek(((_local2.totalTime * _arg1) / 100)); } public function set forwardButton(_arg1:Sprite):void{ uiMgr.setControl(UIManager.FORWARD_BUTTON, _arg1); } public function get registrationWidth():Number{ var _local1:VideoPlayer; _local1 = videoPlayers[_visibleVP]; return (_local1.registrationWidth); } flvplayback_internal function queueCmd(_arg1:VideoPlayerState, _arg2:Number, _arg3:Number=NaN):void{ if (_arg1.cmdQueue == null){ _arg1.cmdQueue = new Array(); }; _arg1.cmdQueue.push(new QueuedCommand(_arg2, null, false, _arg3)); } private function doContentPathConnect(_arg1):void{ var _local2:int; var _local3:VideoPlayer; var _local4:VideoPlayerState; if (isLivePreview){ return; }; _local2 = 0; if ((_arg1 is int)){ _local2 = int(_arg1); } else { removeEventListener(Event.ENTER_FRAME, doContentPathConnect); }; _local3 = videoPlayers[_local2]; _local4 = videoPlayerStates[_local2]; if (!_local4.isWaiting){ return; }; if (((_local4.autoPlay) && (_firstStreamShown))){ _local3.play(_local4.url, _local4.totalTime, _local4.isLive); } else { _local3.load(_local4.url, _local4.totalTime, _local4.isLive); }; _local4.isLiveSet = false; _local4.totalTimeSet = false; _local4.isWaiting = false; } public function get registrationX():Number{ return (super.x); } public function bringVideoPlayerToFront(_arg1:uint):void{ var vp:VideoPlayer; var moved:Boolean; var skinDepth:int; var index = _arg1; if (index == _topVP){ return; }; vp = videoPlayers[index]; if (vp == null){ createVideoPlayer(index); vp = videoPlayers[index]; }; moved = false; if (uiMgr.skin_mc != null){ try { skinDepth = getChildIndex(uiMgr.skin_mc); if (skinDepth > 0){ setChildIndex(vp, (skinDepth - 1)); moved = true; }; } catch(err:Error) { }; }; if (!moved){ setChildIndex(vp, (numChildren - 1)); }; _topVP = index; } public function get registrationY():Number{ return (super.y); } public function get pauseButton():Sprite{ return (uiMgr.getControl(UIManager.PAUSE_BUTTON)); } public function set seekBarInterval(_arg1:Number):void{ uiMgr.seekBarInterval = _arg1; } public function addASCuePoint(_arg1, _arg2:String=null, _arg3:Object=null):Object{ var _local4:CuePointManager; _local4 = cuePointMgrs[_activeVP]; return (_local4.addASCuePoint(_arg1, _arg2, _arg3)); } public function get playheadPercentage():Number{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; if (isNaN(_local1.totalTime)){ return (NaN); }; return (((_local1.playheadTime / _local1.totalTime) * 100)); } public function setFLVCuePointEnabled(_arg1:Boolean, _arg2):Number{ var _local3:CuePointManager; _local3 = cuePointMgrs[_activeVP]; return (_local3.setFLVCuePointEnabled(_arg1, _arg2)); } public function set fullScreenSkinDelay(_arg1:int):void{ uiMgr.fullScreenSkinDelay = _arg1; } public function seekToNextNavCuePoint(_arg1:Number=NaN):void{ var _local2:VideoPlayer; var _local3:Object; var _local4:Number; _local2 = videoPlayers[_activeVP]; if (((isNaN(_arg1)) || ((_arg1 < 0)))){ _arg1 = (_local2.playheadTime + 0.001); }; _local3 = findNearestCuePoint(_arg1, CuePointType.NAVIGATION); if (_local3 == null){ seek(_local2.totalTime); return; }; _local4 = _local3.index; if (_local3.time < _arg1){ _local4++; }; while ((((_local4 < _local3.array.length)) && (!(isFLVCuePointEnabled(_local3.array[_local4]))))) { _local4++; }; if (_local4 >= _local3.array.length){ _arg1 = _local2.totalTime; if (_local3.array[(_local3.array.length - 1)].time > _arg1){ _arg1 = _local3.array[(_local3.array.length - 1)]; }; seek(_arg1); } else { seek(_local3.array[_local4].time); }; } public function load(_arg1:String, _arg2:Number=NaN, _arg3:Boolean=false):void{ if ((((_arg1 == null)) || ((_arg1.length == 0)))){ return; }; if (_arg1 == this.source){ return; }; this.autoPlay = false; this.totalTime = _arg2; this.isLive = _arg3; this.source = _arg1; } public function seekSeconds(_arg1:Number):void{ seek(_arg1); } public function get fullScreenButton():Sprite{ return (uiMgr.getControl(UIManager.FULL_SCREEN_BUTTON)); } public function get scrubbing():Boolean{ var _local1:Sprite; var _local2:ControlData; _local1 = seekBar; if (_local1 != null){ _local2 = uiMgr.ctrlDataDict[_local1]; return (_local2.isDragging); }; return (false); } override public function set y(_arg1:Number):void{ var _local2:VideoPlayer; _local2 = videoPlayers[_visibleVP]; super.y = (_arg1 - _local2.y); } public function removeASCuePoint(_arg1):Object{ var _local2:CuePointManager; _local2 = cuePointMgrs[_activeVP]; return (_local2.removeASCuePoint(_arg1)); } public function get fullScreenTakeOver():Boolean{ return (uiMgr.fullScreenTakeOver); } override public function set x(_arg1:Number):void{ var _local2:VideoPlayer; _local2 = videoPlayers[_visibleVP]; super.x = (_arg1 - _local2.x); } public function get backButton():Sprite{ return (uiMgr.getControl(UIManager.BACK_BUTTON)); } public function set seekBar(_arg1:Sprite):void{ uiMgr.setControl(UIManager.SEEK_BAR, _arg1); } public function set skin(_arg1:String):void{ uiMgr.skin = _arg1; } public function set componentInspectorSetting(_arg1:Boolean):void{ _componentInspectorSetting = _arg1; } public function get preferredHeight():int{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.videoHeight); } public function set volumeBarInterval(_arg1:Number):void{ uiMgr.volumeBarInterval = _arg1; } public function set autoPlay(_arg1:Boolean):void{ var _local2:VideoPlayerState; _local2 = videoPlayerStates[_activeVP]; _local2.autoPlay = _arg1; } public function set visibleVideoPlayerIndex(_arg1:uint):void{ var _local2:VideoPlayer; var _local3:VideoPlayer; var _local4:uint; var _local5:Rectangle; var _local6:Rectangle; if (_visibleVP == _arg1){ return; }; if (videoPlayers[_arg1] == undefined){ createVideoPlayer(_arg1); }; _local2 = videoPlayers[_arg1]; _local3 = videoPlayers[_visibleVP]; _local3.visible = false; _local3.volume = 0; _visibleVP = _arg1; if (_firstStreamShown){ uiMgr.setupSkinAutoHide(false); _local2.visible = true; _soundTransform.volume = (scrubbing) ? _volume : 0; _local2.soundTransform = _soundTransform; } else { if (((((((_local2.stateResponsive) || ((_local2.state == VideoState.CONNECTION_ERROR)))) || ((_local2.state == VideoState.DISCONNECTED)))) && (uiMgr.skinReady))){ uiMgr.visible = true; uiMgr.setupSkinAutoHide(false); _firstStreamReady = true; if (uiMgr.skin == ""){ uiMgr.hookUpCustomComponents(); }; showFirstStream(); }; }; if (((!((_local2.height == _local3.height))) || (!((_local2.width == _local3.width))))){ _local5 = new Rectangle((_local3.x + super.x), (_local3.y + super.y), _local3.width, _local3.height); _local6 = new Rectangle((_local3.registrationX + super.x), (_local3.registrationY + super.y), _local3.registrationWidth, _local3.registrationHeight); dispatchEvent(new LayoutEvent(LayoutEvent.LAYOUT, false, false, _local5, _local6)); }; _local4 = _activeVP; _activeVP = _visibleVP; uiMgr.handleIVPEvent(new VideoEvent(VideoEvent.STATE_CHANGE, false, false, state, playheadTime, _visibleVP)); uiMgr.handleIVPEvent(new VideoEvent(VideoEvent.PLAYHEAD_UPDATE, false, false, state, playheadTime, _visibleVP)); if (_local2.isRTMP){ uiMgr.handleIVPEvent(new VideoEvent(VideoEvent.READY, false, false, state, playheadTime, _visibleVP)); } else { uiMgr.handleIVPEvent(new VideoProgressEvent(VideoProgressEvent.PROGRESS, false, false, bytesLoaded, bytesTotal, _visibleVP)); }; _activeVP = _local4; } public function get bufferingBar():Sprite{ return (uiMgr.getControl(UIManager.BUFFERING_BAR)); } flvplayback_internal function _scrubStart():void{ var _local1:Number; var _local2:VideoPlayer; _local1 = playheadTime; _local2 = videoPlayers[_visibleVP]; _volume = _local2.volume; _local2.volume = 0; dispatchEvent(new VideoEvent(VideoEvent.STATE_CHANGE, false, false, VideoState.SEEKING, _local1, _visibleVP)); dispatchEvent(new VideoEvent(VideoEvent.SCRUB_START, false, false, VideoState.SEEKING, _local1, _visibleVP)); } public function get align():String{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.align); } flvplayback_internal function handleAutoLayoutEvent(_arg1:AutoLayoutEvent):void{ var _local2:VideoPlayerState; var _local3:AutoLayoutEvent; var _local4:Rectangle; var _local5:Rectangle; _local2 = videoPlayerStateDict[_arg1.currentTarget]; _local3 = AutoLayoutEvent(_arg1.clone()); _local3.oldBounds.x = (_local3.oldBounds.x + super.x); _local3.oldBounds.y = (_local3.oldBounds.y + super.y); _local3.oldRegistrationBounds.x = (_local3.oldRegistrationBounds.x + super.y); _local3.oldRegistrationBounds.y = (_local3.oldRegistrationBounds.y + super.y); _local3.vp = _local2.index; dispatchEvent(_local3); if (((!(resizingNow)) && ((_local2.index == _visibleVP)))){ _local4 = Rectangle(_arg1.oldBounds.clone()); _local5 = Rectangle(_arg1.oldRegistrationBounds.clone()); _local4.x = (_local4.x + super.x); _local4.y = (_local4.y + super.y); _local5.x = (_local5.x + super.y); _local5.y = (_local5.y + super.y); dispatchEvent(new LayoutEvent(LayoutEvent.LAYOUT, false, false, _local4, _local5)); }; } public function findNextCuePointWithName(_arg1:Object):Object{ var _local2:CuePointManager; _local2 = cuePointMgrs[_activeVP]; return (_local2.getNextCuePointWithName(_arg1)); } public function set playButton(_arg1:Sprite):void{ uiMgr.setControl(UIManager.PLAY_BUTTON, _arg1); } public function set bitrate(_arg1:Number):void{ ncMgr.bitrate = _arg1; } public function set bufferingBarHidesAndDisablesOthers(_arg1:Boolean):void{ uiMgr.bufferingBarHidesAndDisablesOthers = _arg1; } override public function get soundTransform():SoundTransform{ var _local1:VideoPlayer; var _local2:SoundTransform; _local1 = videoPlayers[_visibleVP]; _local2 = _local1.soundTransform; if (scrubbing){ _local2.volume = _volume; }; return (_local2); } public function get stateResponsive():Boolean{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.stateResponsive); } public function get idleTimeout():Number{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.idleTimeout); } override public function get height():Number{ var _local1:VideoPlayer; if (isLivePreview){ return (livePreviewHeight); }; _local1 = videoPlayers[_visibleVP]; return (_local1.height); } public function set registrationWidth(_arg1:Number):void{ width = _arg1; } public function get metadata():Object{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.metadata); } public function set skinBackgroundColor(_arg1:uint):void{ uiMgr.skinBackgroundColor = _arg1; } public function get volume():Number{ return (_volume); } public function play(_arg1:String=null, _arg2:Number=NaN, _arg3:Boolean=false):void{ var _local4:VideoPlayerState; var _local5:VideoPlayer; if (_arg1 == null){ if (!_firstStreamShown){ _local4 = videoPlayerStates[_activeVP]; queueCmd(_local4, QueuedCommand.PLAY); } else { _local5 = videoPlayers[_activeVP]; _local5.play(); }; } else { if (_arg1 == this.source){ return; }; this.autoPlay = true; this.totalTime = _arg2; this.isLive = _arg3; this.source = _arg1; }; } public function get paused():Boolean{ return ((state == VideoState.PAUSED)); } flvplayback_internal function handleVideoEvent(_arg1:VideoEvent):void{ var _local2:VideoPlayerState; var _local3:CuePointManager; var _local4:VideoEvent; var _local5:String; var _local6:Number; _local2 = videoPlayerStateDict[_arg1.currentTarget]; _local3 = cuePointMgrs[_local2.index]; _local4 = VideoEvent(_arg1.clone()); _local4.vp = _local2.index; _local5 = ((((_local2.index == _visibleVP)) && (scrubbing))) ? VideoState.SEEKING : _arg1.state; switch (_arg1.type){ case VideoEvent.AUTO_REWOUND: dispatchEvent(_local4); dispatchEvent(new VideoEvent(VideoEvent.REWIND, false, false, _local5, _arg1.playheadTime, _local2.index)); _local3.resetASCuePointIndex(_arg1.playheadTime); break; case VideoEvent.PLAYHEAD_UPDATE: _local4.state = _local5; dispatchEvent(_local4); if (((!(isNaN(_local2.preSeekTime))) && (!((_arg1.state == VideoState.SEEKING))))){ _local6 = _local2.preSeekTime; _local2.preSeekTime = NaN; _local3.resetASCuePointIndex(_arg1.playheadTime); dispatchEvent(new VideoEvent(VideoEvent.SEEKED, false, false, _arg1.state, _arg1.playheadTime, _local2.index)); if (_local6 < _arg1.playheadTime){ dispatchEvent(new VideoEvent(VideoEvent.FAST_FORWARD, false, false, _arg1.state, _arg1.playheadTime, _local2.index)); } else { if (_local6 > _arg1.playheadTime){ dispatchEvent(new VideoEvent(VideoEvent.REWIND, false, false, _arg1.state, _arg1.playheadTime, _local2.index)); }; }; }; _local3.dispatchASCuePoints(); break; case VideoEvent.STATE_CHANGE: if ((((_local2.index == _visibleVP)) && (scrubbing))){ break; }; if (_arg1.state == VideoState.RESIZING){ break; }; if ((((((_local2.prevState == VideoState.LOADING)) && (_local2.autoPlay))) && ((_arg1.state == VideoState.STOPPED)))){ return; }; if ((((((((_arg1.state == VideoState.CONNECTION_ERROR)) && ((_arg1.vp == _visibleVP)))) && (!(_firstStreamShown)))) && (uiMgr.skinReady))){ showFirstStream(); uiMgr.visible = true; if (uiMgr.skin == ""){ uiMgr.hookUpCustomComponents(); }; if (skinShowTimer != null){ skinShowTimer.reset(); skinShowTimer = null; }; }; _local2.prevState = _arg1.state; _local4.state = _local5; dispatchEvent(_local4); if (_local2.owner.state != _arg1.state){ return; }; switch (_arg1.state){ case VideoState.BUFFERING: dispatchEvent(new VideoEvent(VideoEvent.BUFFERING_STATE_ENTERED, false, false, _local5, _arg1.playheadTime, _local2.index)); break; case VideoState.PAUSED: dispatchEvent(new VideoEvent(VideoEvent.PAUSED_STATE_ENTERED, false, false, _local5, _arg1.playheadTime, _local2.index)); break; case VideoState.PLAYING: dispatchEvent(new VideoEvent(VideoEvent.PLAYING_STATE_ENTERED, false, false, _local5, _arg1.playheadTime, _local2.index)); break; case VideoState.STOPPED: dispatchEvent(new VideoEvent(VideoEvent.STOPPED_STATE_ENTERED, false, false, _local5, _arg1.playheadTime, _local2.index)); break; }; break; case VideoEvent.READY: if (!_firstStreamReady){ if (_local2.index == _visibleVP){ _firstStreamReady = true; if (((uiMgr.skinReady) && (!(_firstStreamShown)))){ uiMgr.visible = true; if (uiMgr.skin == ""){ uiMgr.hookUpCustomComponents(); }; showFirstStream(); }; }; } else { if (((((_firstStreamShown) && ((_arg1.state == VideoState.STOPPED)))) && (_local2.autoPlay))){ if (_local2.owner.isRTMP){ _local2.owner.play(); } else { _local2.prevState = VideoState.STOPPED; _local2.owner.playWhenEnoughDownloaded(); }; }; }; _local4.state = _local5; dispatchEvent(_local4); break; case VideoEvent.CLOSE: case VideoEvent.COMPLETE: _local4.state = _local5; dispatchEvent(_local4); break; }; } public function set volumeBar(_arg1:Sprite):void{ uiMgr.setControl(UIManager.VOLUME_BAR, _arg1); } public function set fullScreenBackgroundColor(_arg1:uint):void{ uiMgr.fullScreenBackgroundColor = _arg1; } public function get isLive():Boolean{ var _local1:VideoPlayerState; var _local2:VideoPlayer; _local1 = videoPlayerStates[_activeVP]; if (_local1.isLiveSet){ return (_local1.isLive); }; _local2 = videoPlayers[_activeVP]; return (_local2.isLive); } public function get bufferTime():Number{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.bufferTime); } public function get registrationHeight():Number{ var _local1:VideoPlayer; _local1 = videoPlayers[_visibleVP]; return (_local1.registrationHeight); } public function get playPauseButton():Sprite{ return (uiMgr.getControl(UIManager.PLAY_PAUSE_BUTTON)); } flvplayback_internal function showFirstStream():void{ var _local1:VideoPlayer; var _local2:int; var _local3:VideoPlayerState; var _local4:int; _firstStreamShown = true; _local1 = videoPlayers[_visibleVP]; _local1.visible = true; if (!scrubbing){ _soundTransform.volume = _volume; _local1.soundTransform = _soundTransform; }; _local2 = 0; while (_local2 < videoPlayers.length) { _local1 = videoPlayers[_local2]; if (_local1 != null){ _local3 = videoPlayerStates[_local2]; if ((((_local1.state == VideoState.STOPPED)) && (_local3.autoPlay))){ if (_local1.isRTMP){ _local1.play(); } else { _local3.prevState = VideoState.STOPPED; _local1.playWhenEnoughDownloaded(); }; }; if (_local3.cmdQueue != null){ _local4 = 0; while (_local4 < _local3.cmdQueue.length) { switch (_local3.cmdQueue[_local4].type){ case QueuedCommand.PLAY: _local1.play(); break; case QueuedCommand.PAUSE: _local1.pause(); break; case QueuedCommand.STOP: _local1.stop(); break; case QueuedCommand.SEEK: _local1.seek(_local3.cmdQueue[_local4].time); break; case QueuedCommand.PLAY_WHEN_ENOUGH: _local1.playWhenEnoughDownloaded(); break; }; _local4++; }; _local3.cmdQueue = null; }; }; _local2++; }; } public function set volumeBarScrubTolerance(_arg1:Number):void{ uiMgr.volumeBarScrubTolerance = _arg1; } public function set skinBackgroundAlpha(_arg1:Number):void{ uiMgr.skinBackgroundAlpha = _arg1; } public function get playheadUpdateInterval():Number{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.playheadUpdateInterval); } public function set muteButton(_arg1:Sprite):void{ uiMgr.setControl(UIManager.MUTE_BUTTON, _arg1); } public function get autoRewind():Boolean{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.autoRewind); } flvplayback_internal function handleMetadataEvent(_arg1:MetadataEvent):void{ var _local2:VideoPlayerState; var _local3:CuePointManager; var _local4:MetadataEvent; _local2 = videoPlayerStateDict[_arg1.currentTarget]; _local3 = cuePointMgrs[_local2.index]; switch (_arg1.type){ case MetadataEvent.METADATA_RECEIVED: _local3.processFLVCuePoints(_arg1.info.cuePoints); break; case MetadataEvent.CUE_POINT: if (!_local3.isFLVCuePointEnabled(_arg1.info)){ return; }; break; }; _local4 = MetadataEvent(_arg1.clone()); _local4.vp = _local2.index; dispatchEvent(_local4); } public function playWhenEnoughDownloaded():void{ var _local1:VideoPlayerState; var _local2:VideoPlayer; if (!_firstStreamShown){ _local1 = videoPlayerStates[_activeVP]; queueCmd(_local1, QueuedCommand.PLAY_WHEN_ENOUGH); } else { _local2 = videoPlayers[_activeVP]; _local2.playWhenEnoughDownloaded(); }; } public function get bitrate():Number{ return (ncMgr.bitrate); } public function get fullScreenBackgroundColor():uint{ return (uiMgr.fullScreenBackgroundColor); } public function get skin():String{ return (uiMgr.skin); } public function set registrationX(_arg1:Number):void{ super.x = _arg1; } public function set registrationY(_arg1:Number):void{ super.y = _arg1; } public function setSize(_arg1:Number, _arg2:Number):void{ var _local3:Rectangle; var _local4:Rectangle; var _local5:int; var _local6:VideoPlayer; _local3 = new Rectangle(x, y, this.width, this.height); _local4 = new Rectangle(registrationX, registrationY, registrationWidth, registrationHeight); if (isLivePreview){ livePreviewWidth = _arg1; livePreviewHeight = _arg2; if (previewImage_mc != null){ previewImage_mc.width = _arg1; previewImage_mc.height = _arg2; }; preview_mc.box_mc.width = _arg1; preview_mc.box_mc.height = _arg2; if ((((preview_mc.box_mc.width < preview_mc.icon_mc.width)) || ((preview_mc.box_mc.height < preview_mc.icon_mc.height)))){ preview_mc.icon_mc.visible = false; } else { preview_mc.icon_mc.visible = true; preview_mc.icon_mc.x = ((preview_mc.box_mc.width - preview_mc.icon_mc.width) / 2); preview_mc.icon_mc.y = ((preview_mc.box_mc.height - preview_mc.icon_mc.height) / 2); }; dispatchEvent(new LayoutEvent(LayoutEvent.LAYOUT, false, false, _local3, _local4)); return; }; resizingNow = true; _local5 = 0; while (_local5 < videoPlayers.length) { _local6 = videoPlayers[_local5]; if (_local6 != null){ _local6.setSize(_arg1, _arg2); }; _local5++; }; resizingNow = false; dispatchEvent(new LayoutEvent(LayoutEvent.LAYOUT, false, false, _local3, _local4)); } public function get isRTMP():Boolean{ var _local1:VideoPlayer; if (isLivePreview){ return (true); }; _local1 = videoPlayers[_activeVP]; return (_local1.isRTMP); } public function set preview(_arg1:String):void{ var filename = _arg1; if (!isLivePreview){ return; }; previewImageUrl = filename; if (previewImage_mc != null){ removeChild(previewImage_mc); }; previewImage_mc = new Loader(); previewImage_mc.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompletePreview); previewImage_mc.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:IOErrorEvent):void{ }); previewImage_mc.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function (_arg1:SecurityErrorEvent):void{ }); addChildAt(previewImage_mc, 1); previewImage_mc.load(new URLRequest(previewImageUrl)); } override public function set width(_arg1:Number):void{ var _local2:Rectangle; var _local3:Rectangle; var _local4:int; var _local5:VideoPlayer; if (isLivePreview){ setSize(_arg1, this.height); return; }; _local2 = new Rectangle(x, y, width, height); _local3 = new Rectangle(registrationX, registrationY, registrationWidth, registrationHeight); resizingNow = true; _local4 = 0; while (_local4 < videoPlayers.length) { _local5 = videoPlayers[_local4]; if (_local5 != null){ _local5.width = _arg1; }; _local4++; }; resizingNow = false; dispatchEvent(new LayoutEvent(LayoutEvent.LAYOUT, false, false, _local2, _local3)); } public function get playButton():Sprite{ return (uiMgr.getControl(UIManager.PLAY_BUTTON)); } public function set pauseButton(_arg1:Sprite):void{ uiMgr.setControl(UIManager.PAUSE_BUTTON, _arg1); } public function get bytesTotal():uint{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.bytesTotal); } public function seekToPrevNavCuePoint(_arg1:Number=NaN):void{ var _local2:Object; var _local3:Number; var _local4:VideoPlayer; if (((isNaN(_arg1)) || ((_arg1 < 0)))){ _local4 = videoPlayers[_activeVP]; _arg1 = _local4.playheadTime; }; _local2 = findNearestCuePoint(_arg1, CuePointType.NAVIGATION); if (_local2 == null){ seek(0); return; }; _local3 = _local2.index; while ((((_local3 >= 0)) && (((!(isFLVCuePointEnabled(_local2.array[_local3]))) || ((_local2.array[_local3].time >= (_arg1 - _seekToPrevOffset))))))) { _local3--; }; if (_local3 < 0){ seek(0); } else { seek(_local2.array[_local3].time); }; } public function get autoPlay():Boolean{ var _local1:VideoPlayerState; _local1 = videoPlayerStates[_activeVP]; return (_local1.autoPlay); } public function set playheadPercentage(_arg1:Number):void{ seekPercent(_arg1); } public function isFLVCuePointEnabled(_arg1):Boolean{ var _local2:CuePointManager; _local2 = cuePointMgrs[_activeVP]; return (_local2.isFLVCuePointEnabled(_arg1)); } public function get buffering():Boolean{ return ((state == VideoState.BUFFERING)); } public function get volumeBarScrubTolerance():Number{ return (uiMgr.volumeBarScrubTolerance); } public function get skinBackgroundColor():uint{ return (uiMgr.skinBackgroundColor); } public function get visibleVideoPlayerIndex():uint{ return (_visibleVP); } public function set stopButton(_arg1:Sprite):void{ uiMgr.setControl(UIManager.STOP_BUTTON, _arg1); } public function get skinBackgroundAlpha():Number{ return (uiMgr.skinBackgroundAlpha); } public function get preferredWidth():int{ var _local1:VideoPlayer; _local1 = videoPlayers[_activeVP]; return (_local1.videoWidth); } override public function get width():Number{ var _local1:VideoPlayer; if (isLivePreview){ return (livePreviewWidth); }; _local1 = videoPlayers[_visibleVP]; return (_local1.width); } public function get stopped():Boolean{ return ((state == VideoState.STOPPED)); } public function set fullScreenButton(_arg1:Sprite):void{ uiMgr.setControl(UIManager.FULL_SCREEN_BUTTON, _arg1); } public function get stopButton():Sprite{ return (uiMgr.getControl(UIManager.STOP_BUTTON)); } public function set playheadUpdateInterval(_arg1:Number):void{ var _local2:CuePointManager; var _local3:VideoPlayer; if (_activeVP == 0){ _playheadUpdateInterval = _arg1; }; _local2 = cuePointMgrs[_activeVP]; _local2.playheadUpdateInterval = _arg1; _local3 = videoPlayers[_activeVP]; _local3.playheadUpdateInterval = _arg1; } private function createLivePreviewMovieClip():void{ preview_mc = new MovieClip(); preview_mc.name = "preview_mc"; preview_mc.box_mc = new MovieClip(); preview_mc.box_mc.name = "box_mc"; preview_mc.box_mc.graphics.beginFill(0); preview_mc.box_mc.graphics.moveTo(0, 0); preview_mc.box_mc.graphics.lineTo(0, 100); preview_mc.box_mc.graphics.lineTo(100, 100); preview_mc.box_mc.graphics.lineTo(100, 0); preview_mc.box_mc.graphics.lineTo(0, 0); preview_mc.box_mc.graphics.endFill(); preview_mc.addChild(preview_mc.box_mc); preview_mc.icon_mc = new Icon(); preview_mc.icon_mc.name = "icon_mc"; preview_mc.addChild(preview_mc.icon_mc); addChild(preview_mc); } public function set idleTimeout(_arg1:Number):void{ var _local2:VideoPlayer; if (_activeVP == 0){ _idleTimeout = _arg1; }; _local2 = videoPlayers[_activeVP]; _local2.idleTimeout = _arg1; } flvplayback_internal function skinLoaded():void{ var _local1:VideoPlayer; if (isLivePreview){ return; }; _local1 = videoPlayers[_visibleVP]; if (((((_firstStreamReady) || ((_local1.state == VideoState.CONNECTION_ERROR)))) || ((_local1.state == VideoState.DISCONNECTED)))){ uiMgr.visible = true; if (!_firstStreamShown){ showFirstStream(); }; } else { if (skinShowTimer != null){ skinShowTimer.reset(); skinShowTimer = null; }; skinShowTimer = new Timer(DEFAULT_SKIN_SHOW_TIMER_INTERVAL, 1); skinShowTimer.addEventListener(TimerEvent.TIMER, showSkinNow); skinShowTimer.start(); }; dispatchEvent(new VideoEvent(VideoEvent.SKIN_LOADED, false, false, state, playheadTime, _visibleVP)); } flvplayback_internal function _scrubFinish():void{ var _local1:Number; var _local2:String; var _local3:VideoPlayer; _local1 = playheadTime; _local2 = state; _local3 = videoPlayers[_visibleVP]; _soundTransform.volume = _volume; _local3.soundTransform = _soundTransform; if (_local2 != VideoState.SEEKING){ dispatchEvent(new VideoEvent(VideoEvent.STATE_CHANGE, false, false, _local2, _local1, _visibleVP)); }; dispatchEvent(new VideoEvent(VideoEvent.SCRUB_FINISH, false, false, _local2, _local1, _visibleVP)); } public function set playPauseButton(_arg1:Sprite):void{ uiMgr.setControl(UIManager.PLAY_PAUSE_BUTTON, _arg1); } public function set backButton(_arg1:Sprite):void{ uiMgr.setControl(UIManager.BACK_BUTTON, _arg1); } public function set cuePoints(_arg1:Array):void{ if (!_componentInspectorSetting){ return; }; cuePointMgrs[0].processCuePointsProperty(_arg1); } public function findCuePoint(_arg1, _arg2:String="all"):Object{ var _local3:CuePointManager; _local3 = cuePointMgrs[_activeVP]; switch (_arg2){ case "event": return (_local3.getCuePoint(_local3.eventCuePoints, false, _arg1)); case "navigation": return (_local3.getCuePoint(_local3.navCuePoints, false, _arg1)); case "flv": return (_local3.getCuePoint(_local3.flvCuePoints, false, _arg1)); case "actionscript": return (_local3.getCuePoint(_local3.asCuePoints, false, _arg1)); case "all": default: return (_local3.getCuePoint(_local3.allCuePoints, false, _arg1)); }; } public function get seekBarScrubTolerance():Number{ return (uiMgr.seekBarScrubTolerance); } flvplayback_internal function handleVideoProgressEvent(_arg1:VideoProgressEvent):void{ var _local2:VideoPlayerState; var _local3:VideoProgressEvent; _local2 = videoPlayerStateDict[_arg1.currentTarget]; _local3 = VideoProgressEvent(_arg1.clone()); _local3.vp = _local2.index; dispatchEvent(_local3); } } }//package fl.video
Section 52
//flvplayback_internal (fl.video.flvplayback_internal) package fl.video { public namespace flvplayback_internal = "http://www.adobe.com/2007/flash/flvplayback/internal"; }//package fl.video
Section 53
//FPADManager (fl.video.FPADManager) package fl.video { import flash.events.*; import flash.net.*; public class FPADManager { flvplayback_internal var _parseResults:ParseResults; flvplayback_internal var rtmpURL:String; flvplayback_internal var _url:String; flvplayback_internal var xmlLoader:URLLoader; flvplayback_internal var xml:XML; flvplayback_internal var _uriParam:String; private var _owner:INCManager; public static const VERSION:String = "2.0.0.37"; public static const SHORT_VERSION:String = "2.0"; public function FPADManager(_arg1:INCManager){ _owner = _arg1; } flvplayback_internal function connectXML(_arg1:String, _arg2:String, _arg3:String, _arg4:ParseResults):Boolean{ _uriParam = _arg2; _parseResults = _arg4; _url = ((_arg1 + "uri=") + _parseResults.protocol); if (_parseResults.serverName != null){ _url = (_url + ("/" + _parseResults.serverName)); }; if (_parseResults.portNumber != null){ _url = (_url + (":" + _parseResults.portNumber)); }; if (_parseResults.wrappedURL != null){ _url = (_url + ("/?" + _parseResults.wrappedURL)); }; _url = (_url + ("/" + _parseResults.appName)); _url = (_url + _arg3); xml = new XML(); xmlLoader = new URLLoader(); xmlLoader.addEventListener(Event.COMPLETE, xmlLoadEventHandler); xmlLoader.addEventListener(IOErrorEvent.IO_ERROR, xmlLoadEventHandler); xmlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, xmlLoadEventHandler); xmlLoader.load(new URLRequest(_url)); return (false); } flvplayback_internal function xmlLoadEventHandler(_arg1:Event):void{ var proxy:String; var e = _arg1; try { if (e.type != Event.COMPLETE){ _owner.helperDone(this, false); } else { xml = new XML(xmlLoader.data); if ((((xml == null)) || ((xml.localName() == null)))){ throw (new VideoError(VideoError.INVALID_XML, (("URL: \"" + _url) + "\" No root node found; if url is for an flv it must have .flv extension and take no parameters"))); } else { if (xml.localName() != "fpad"){ throw (new VideoError(VideoError.INVALID_XML, (("URL: \"" + _url) + "\" Root node not fpad"))); }; }; proxy = null; if ((((((xml.proxy.length() > 0)) && (xml.proxy.hasSimpleContent()))) && ((xml.proxy.*[0].nodeKind() == "text")))){ proxy = xml.proxy.*[0].toString(); }; if (proxy == null){ throw (new VideoError(VideoError.INVALID_XML, (("URL: \"" + _url) + "\" fpad xml requires proxy tag."))); }; rtmpURL = ((((_parseResults.protocol + "/") + proxy) + "/?") + _uriParam); _owner.helperDone(this, true); }; } catch(err:Error) { _owner.helperDone(this, false); throw (err); }; } } }//package fl.video
Section 54
//Icon (fl.video.Icon) package fl.video { import flash.display.*; public dynamic class Icon extends MovieClip { } }//package fl.video
Section 55
//INCManager (fl.video.INCManager) package fl.video { import flash.net.*; public interface INCManager { function set timeout(_arg1:uint):void; function get streamLength():Number; function get timeout():uint; function connectToURL(_arg1:String):Boolean; function get streamName():String; function get bitrate():Number; function get streamHeight():int; function helperDone(_arg1:Object, _arg2:Boolean):void; function getProperty(_arg1:String); function get streamWidth():int; function connectAgain():Boolean; function reconnect():void; function set videoPlayer(_arg1:VideoPlayer):void; function setProperty(_arg1:String, _arg2):void; function set bitrate(_arg1:Number):void; function get netConnection():NetConnection; function get videoPlayer():VideoPlayer; function get isRTMP():Boolean; function close():void; } }//package fl.video
Section 56
//IVPEvent (fl.video.IVPEvent) package fl.video { public interface IVPEvent { function set vp(_arg1:uint):void; function get vp():uint; function get type():String; } }//package fl.video
Section 57
//LayoutEvent (fl.video.LayoutEvent) package fl.video { import flash.events.*; import flash.geom.*; public class LayoutEvent extends Event { private var _oldBounds:Rectangle; private var _oldRegistrationBounds:Rectangle; public static const LAYOUT:String = "layout"; public function LayoutEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Rectangle=null, _arg5:Rectangle=null){ super(_arg1, _arg2, _arg3); _oldBounds = _arg4; _oldRegistrationBounds = _arg5; } public function get oldRegistrationBounds():Rectangle{ return (_oldRegistrationBounds); } override public function clone():Event{ return (new LayoutEvent(type, bubbles, cancelable, Rectangle(oldBounds.clone()), Rectangle(oldRegistrationBounds.clone()))); } public function set oldRegistrationBounds(_arg1:Rectangle):void{ _oldRegistrationBounds = _arg1; } public function set oldBounds(_arg1:Rectangle):void{ _oldBounds = _arg1; } public function get oldBounds():Rectangle{ return (_oldBounds); } } }//package fl.video
Section 58
//MetadataEvent (fl.video.MetadataEvent) package fl.video { import flash.events.*; public class MetadataEvent extends Event implements IVPEvent { private var _info:Object; private var _vp:uint; public static const METADATA_RECEIVED:String = "metadataReceived"; public static const CUE_POINT:String = "cuePoint"; public function MetadataEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Object=null, _arg5:uint=0){ super(_arg1, _arg2, _arg3); _info = _arg4; _vp = _arg5; } public function get vp():uint{ return (_vp); } public function set info(_arg1:Object):void{ _info = _arg1; } override public function clone():Event{ return (new MetadataEvent(type, bubbles, cancelable, info, vp)); } public function get info():Object{ return (_info); } public function set vp(_arg1:uint):void{ _vp = _arg1; } } }//package fl.video
Section 59
//NCManager (fl.video.NCManager) package fl.video { import flash.events.*; import flash.utils.*; import flash.net.*; public class NCManager implements INCManager { public const DEFAULT_TIMEOUT:uint = 60000; flvplayback_internal var _serverName:String; flvplayback_internal var _tryNCTimer:Timer; flvplayback_internal var _autoSenseBW:Boolean; flvplayback_internal var _fpadZone:Number; flvplayback_internal var _appName:String; flvplayback_internal var _ncConnected:Boolean; flvplayback_internal var _fpadMgr:FPADManager; flvplayback_internal var _bitrate:Number; flvplayback_internal var _timeoutTimer:Timer; flvplayback_internal var _wrappedURL:String; flvplayback_internal var _payload:Number; flvplayback_internal var _proxyType:String; flvplayback_internal var _nc:NetConnection; flvplayback_internal var _streamLength:Number; flvplayback_internal var _connTypeCounter:uint; flvplayback_internal var _streamWidth:int; flvplayback_internal var _ncUri:String; flvplayback_internal var _contentPath:String; flvplayback_internal var _smilMgr:SMILManager; flvplayback_internal var _streamHeight:int; flvplayback_internal var _isRTMP:Boolean; flvplayback_internal var _tryNC:Array; flvplayback_internal var _owner:VideoPlayer; flvplayback_internal var _streams:Array; flvplayback_internal var _portNumber:String; flvplayback_internal var _streamName:String; flvplayback_internal var _objectEncoding:uint; public var fallbackServerName:String; flvplayback_internal var _protocol:String; public static const SHORT_VERSION:String = "2.0"; flvplayback_internal static const RTMP_CONN:Array = [{protocol:"rtmp:/", port:"1935"}, {protocol:"rtmp:/", port:"443"}, {protocol:"rtmpt:/", port:"80"}, {protocol:"rtmps:/", port:"443"}]; public static const VERSION:String = "2.0.0.37"; public function NCManager(){ _fpadZone = NaN; _objectEncoding = ObjectEncoding.AMF0; _proxyType = "best"; _timeoutTimer = new Timer(DEFAULT_TIMEOUT); _timeoutTimer.addEventListener(TimerEvent.TIMER, this._onFMSConnectTimeOut); _tryNCTimer = new Timer(1500); _tryNCTimer.addEventListener(TimerEvent.TIMER, this.nextConnect); initNCInfo(); initOtherInfo(); _nc = null; _ncConnected = false; } flvplayback_internal function initNCInfo():void{ _isRTMP = false; _serverName = null; _wrappedURL = null; _portNumber = null; _appName = null; } flvplayback_internal function cleanConns():void{ var _local1:uint; _tryNCTimer.stop(); if (_tryNC != null){ _local1 = 0; while (_local1 < _tryNC.length) { if (((!((_tryNC[_local1] == null))) && (!((_tryNC[_local1] == undefined))))){ _tryNC[_local1].removeEventListener(NetStatusEvent.NET_STATUS, connectOnStatus); if (_tryNC[_local1].client.pending){ _tryNC[_local1].addEventListener(NetStatusEvent.NET_STATUS, disconnectOnStatus); } else { _tryNC[_local1].close(); }; }; _tryNC[_local1] = null; _local1++; }; _tryNC = null; }; } public function get streamWidth():int{ return (_streamWidth); } public function connectToURL(_arg1:String):Boolean{ var parseResults:ParseResults; var canReuse:Boolean; var url = _arg1; initOtherInfo(); _contentPath = url; if ((((_contentPath == null)) || ((_contentPath == "")))){ throw (new VideoError(VideoError.INVALID_SOURCE)); }; parseResults = parseURL(_contentPath); if ((((parseResults.streamName == null)) || ((parseResults.streamName == "")))){ throw (new VideoError(VideoError.INVALID_SOURCE, url)); }; if (parseResults.isRTMP){ canReuse = canReuseOldConnection(parseResults); _isRTMP = true; _protocol = parseResults.protocol; _streamName = parseResults.streamName; _serverName = parseResults.serverName; _wrappedURL = parseResults.wrappedURL; _portNumber = parseResults.portNumber; _appName = parseResults.appName; if ((((((((_appName == null)) || ((_appName == "")))) || ((_streamName == null)))) || ((_streamName == "")))){ throw (new VideoError(VideoError.INVALID_SOURCE, url)); }; _autoSenseBW = (_streamName.indexOf(",") >= 0); return (((canReuse) || (connectRTMP()))); } else { if ((((parseResults.streamName.indexOf("?") < 0)) && ((parseResults.streamName.slice(-4).toLowerCase() == ".flv")))){ canReuse = canReuseOldConnection(parseResults); _isRTMP = false; _streamName = parseResults.streamName; return (((canReuse) || (connectHTTP()))); }; if (parseResults.streamName.indexOf("/fms/fpad") >= 0){ try { return (connectFPAD(parseResults.streamName)); } catch(err:Error) { }; }; }; new this.SMILManager(!NULL!)._smilMgr = !NULL!; return (_smilMgr.connectXML(parseResults.streamName)); } public function get streamName():String{ return (_streamName); } flvplayback_internal function reconnectOnStatus(_arg1:NetStatusEvent):void{ if ((((_arg1.info.code == "NetConnection.Connect.Failed")) || ((_arg1.info.code == "NetConnection.Connect.Rejected")))){ _nc = null; _ncConnected = false; _owner.ncReconnected(); }; } public function get videoPlayer():VideoPlayer{ return (_owner); } flvplayback_internal function getStreamLengthResult(_arg1:Number):void{ trace((("calling getStreamLengthResult(" + _arg1) + ")")); if (_arg1 > 0){ _streamLength = _arg1; }; _owner.ncConnected(); } flvplayback_internal function canReuseOldConnection(_arg1:ParseResults):Boolean{ if ((((_nc == null)) || (!(_ncConnected)))){ return (false); }; if (!_arg1.isRTMP){ if (!_isRTMP){ return (true); }; _owner.close(); _nc = null; _ncConnected = false; initNCInfo(); return (false); }; if (_isRTMP){ if ((((((((((_arg1.serverName == _serverName)) && ((_arg1.appName == _appName)))) && ((_arg1.protocol == _protocol)))) && ((_arg1.portNumber == _portNumber)))) && ((_arg1.wrappedURL == _wrappedURL)))){ return (true); }; _owner.close(); _nc = null; _ncConnected = false; }; initNCInfo(); return (false); } public function getProperty(_arg1:String){ switch (_arg1){ case "fallbackServerName": return (fallbackServerName); case "fpadZone": return (_fpadZone); case "objectEncoding": return (_objectEncoding); case "proxyType": return (_proxyType); default: throw (new VideoError(VideoError.UNSUPPORTED_PROPERTY, _arg1)); }; } flvplayback_internal function connectRTMP():Boolean{ var _local1:uint; _timeoutTimer.stop(); _timeoutTimer.start(); _tryNC = new Array(); _local1 = 0; while (_local1 < RTMP_CONN.length) { _tryNC[_local1] = new NetConnection(); _tryNC[_local1].objectEncoding = _objectEncoding; _tryNC[_local1].proxyType = _proxyType; if (!isNaN(_fpadZone)){ _tryNC[_local1].fpadZone = _fpadZone; }; _tryNC[_local1].client = new ConnectClient(this, _tryNC[_local1], _local1); _tryNC[_local1].addEventListener(NetStatusEvent.NET_STATUS, connectOnStatus); _local1++; }; nextConnect(); return (false); } public function reconnect():void{ if (!_isRTMP){ throw (new Error("Cannot call reconnect on an http connection")); }; _nc.client = new ReconnectClient(this); _nc.addEventListener(NetStatusEvent.NET_STATUS, reconnectOnStatus); _nc.connect(_ncUri, false); } public function helperDone(_arg1:Object, _arg2:Boolean):void{ var _local3:ParseResults; var _local4:String; var _local5:Boolean; var _local6:uint; var _local7:Number; if (!_arg2){ _nc = null; _ncConnected = false; _owner.ncConnected(); _smilMgr = null; _fpadMgr = null; return; }; _local5 = false; if (_arg1 == _fpadMgr){ _local4 = _fpadMgr.rtmpURL; _fpadMgr = null; _local3 = parseURL(_local4); _isRTMP = _local3.isRTMP; _protocol = _local3.protocol; _serverName = _local3.serverName; _portNumber = _local3.portNumber; _wrappedURL = _local3.wrappedURL; _appName = _local3.appName; _streamName = _local3.streamName; _local7 = _fpadZone; _fpadZone = NaN; connectRTMP(); _fpadZone = _local7; return; }; if (_arg1 != _smilMgr){ return; }; _streamWidth = _smilMgr.width; _streamHeight = _smilMgr.height; _local4 = _smilMgr.baseURLAttr[0]; if (((!((_local4 == null))) && (!((_local4 == ""))))){ if (_local4.charAt((_local4.length - 1)) != "/"){ _local4 = (_local4 + "/"); }; _local3 = parseURL(_local4); _isRTMP = _local3.isRTMP; _local5 = true; _streamName = _local3.streamName; if (_isRTMP){ _protocol = _local3.protocol; _serverName = _local3.serverName; _portNumber = _local3.portNumber; _wrappedURL = _local3.wrappedURL; _appName = _local3.appName; if ((((_appName == null)) || ((_appName == "")))){ _smilMgr = null; throw (new VideoError(VideoError.INVALID_XML, ("Base RTMP URL must include application name: " + _local4))); }; if (_smilMgr.baseURLAttr.length > 1){ _local3 = parseURL(_smilMgr.baseURLAttr[1]); if (_local3.serverName != null){ fallbackServerName = _local3.serverName; }; }; }; }; _streams = _smilMgr.videoTags; _smilMgr = null; _local6 = 0; while (_local6 < _streams.length) { _local4 = _streams[_local6].src; _local3 = parseURL(_local4); if (!_local5){ _isRTMP = _local3.isRTMP; _local5 = true; if (_isRTMP){ _protocol = _local3.protocol; if (_streams.length > 1){ throw (new VideoError(VideoError.INVALID_XML, "Cannot switch between multiple absolute RTMP URLs, must use meta tag base attribute.")); }; _serverName = _local3.serverName; _portNumber = _local3.portNumber; _wrappedURL = _local3.wrappedURL; _appName = _local3.appName; if ((((_appName == null)) || ((_appName == "")))){ throw (new VideoError(VideoError.INVALID_XML, ("Base RTMP URL must include application name: " + _local4))); }; } else { if ((((_local3.streamName.indexOf("/fms/fpad") >= 0)) && ((_streams.length > 1)))){ throw (new VideoError(VideoError.INVALID_XML, "Cannot switch between multiple absolute fpad URLs, must use meta tag base attribute.")); }; }; } else { if (((((((!((_streamName == null))) && (!((_streamName == ""))))) && (!(_local3.isRelative)))) && ((_streams.length > 1)))){ throw (new VideoError(VideoError.INVALID_XML, "When using meta tag base attribute, cannot use absolute URLs for video or ref tag src attributes.")); }; }; _streams[_local6].parseResults = _local3; _local6++; }; _autoSenseBW = (_streams.length > 1); if (!_autoSenseBW){ if (_streamName != null){ _streamName = (_streamName + _streams[0].parseResults.streamName); } else { _streamName = _streams[0].parseResults.streamName; }; if (((_isRTMP) && ((_streamName.substr(-4).toLowerCase() == ".flv")))){ _streamName = _streamName.substr(0, (_streamName.length - 4)); }; _streamLength = _streams[0].dur; }; if (_isRTMP){ connectRTMP(); } else { if (((!((_streamName == null))) && ((_streamName.indexOf("/fms/fpad") >= 0)))){ connectFPAD(_streamName); } else { if (_autoSenseBW){ bitrateMatch(); }; connectHTTP(); _owner.ncConnected(); }; }; } public function get netConnection():NetConnection{ return (_nc); } public function get bitrate():Number{ return (_bitrate); } public function setProperty(_arg1:String, _arg2):void{ switch (_arg1){ case "fallbackServerName": fallbackServerName = String(_arg2); break; case "fpadZone": _fpadZone = Number(_arg2); break; case "objectEncoding": _objectEncoding = uint(_arg2); break; case "proxyType": _proxyType = String(_arg2); break; default: throw (new VideoError(VideoError.UNSUPPORTED_PROPERTY, _arg1)); }; } public function get timeout():uint{ return (_timeoutTimer.delay); } public function set videoPlayer(_arg1:VideoPlayer):void{ _owner = _arg1; } flvplayback_internal function bitrateMatch():void{ var _local1:Number; var _local2:uint; var _local3:uint; _local1 = _bitrate; if (isNaN(_local1)){ _local1 = 0; }; _local2 = _streams.length; _local3 = 0; while (_local3 < _streams.length) { if (((isNaN(_streams[_local3].bitrate)) || ((_local1 >= _streams[_local3].bitrate)))){ _local2 = _local3; break; }; _local3++; }; if (_local2 == _streams.length){ throw (new VideoError(VideoError.NO_BITRATE_MATCH)); }; if (_streamName != null){ _streamName = (_streamName + _streams[_local2].src); } else { _streamName = _streams[_local2].src; }; if (((_isRTMP) && ((_streamName.substr(-4).toLowerCase() == ".flv")))){ _streamName = _streamName.substr(0, (_streamName.length - 4)); }; _streamLength = _streams[_local2].dur; } flvplayback_internal function disconnectOnStatus(_arg1:NetStatusEvent):void{ if (_arg1.info.code == "NetConnection.Connect.Success"){ _arg1.target.removeEventListener(NetStatusEvent.NET_STATUS, disconnectOnStatus); _arg1.target.close(); }; } flvplayback_internal function nextConnect(_arg1:TimerEvent=null):void{ var _local2:String; var _local3:String; var _local4:String; var _local5:uint; _tryNCTimer.stop(); if (_connTypeCounter == 0){ _local2 = _protocol; if (_portNumber != null){ _local3 = _portNumber; } else { _local5 = 0; while (_local5 < RTMP_CONN.length) { if (_local2 == RTMP_CONN[_local5].protocol){ _local3 = RTMP_CONN[_local5].port; break; }; _local5++; }; }; } else { _local2 = RTMP_CONN[_connTypeCounter].protocol; _local3 = RTMP_CONN[_connTypeCounter].port; }; _local4 = (((_local2 + ((_serverName)==null) ? "" : (((("/" + _serverName) + ":") + _local3) + "/")) + ((_wrappedURL)==null) ? "" : (_wrappedURL + "/")) + _appName); _tryNC[_connTypeCounter].client.pending = true; _tryNC[_connTypeCounter].connect(_local4, _autoSenseBW); if (_connTypeCounter < (RTMP_CONN.length - 1)){ _connTypeCounter++; _tryNCTimer.start(); }; } flvplayback_internal function connectFPAD(_arg1:String):Boolean{ var _local2:Object; var _local3:String; var _local4:String; var _local5:String; var _local6:ParseResults; _local2 = /^(.+)(\?|\&)(uri=)([^&]+)(\&.*)?$/.exec(_arg1); if (_local2 == null){ throw (new VideoError(VideoError.INVALID_SOURCE, ("fpad url must include uri parameter: " + _arg1))); }; _local3 = (_local2[1] + _local2[2]); _local4 = _local2[4]; _local5 = ((_local2[5])==undefined) ? "" : _local2[5]; _local6 = parseURL(_local4); if (!_local6.isRTMP){ throw (new VideoError(VideoError.INVALID_SOURCE, ("fpad url uri parameter must be rtmp url: " + _arg1))); }; _fpadMgr = new FPADManager(this); return (_fpadMgr.connectXML(_local3, _local4, _local5, _local6)); } flvplayback_internal function connectHTTP():Boolean{ _nc = new NetConnection(); _nc.connect(null); _ncConnected = true; return (true); } public function get isRTMP():Boolean{ return (_isRTMP); } public function get streamLength():Number{ return (_streamLength); } public function connectAgain():Boolean{ var _local1:int; var _local2:String; _local1 = _appName.indexOf("/"); if (_local1 < 0){ _local1 = _streamName.indexOf("/"); if (_local1 >= 0){ _appName = (_appName + "/"); _appName = (_appName + _streamName.slice(0, _local1)); _streamName = _streamName.slice((_local1 + 1)); }; return (false); }; _local2 = _appName.slice((_local1 + 1)); _local2 = (_local2 + "/"); _local2 = (_local2 + _streamName); _streamName = _local2; _appName = _appName.slice(0, _local1); close(); _payload = 0; _connTypeCounter = 0; cleanConns(); connectRTMP(); return (true); } flvplayback_internal function parseURL(_arg1:String):ParseResults{ var _local2:ParseResults; var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:String; var _local8:ParseResults; _local2 = new ParseResults(); _local3 = 0; _local4 = _arg1.indexOf(":/", _local3); if (_local4 >= 0){ _local4 = (_local4 + 2); _local2.protocol = _arg1.slice(_local3, _local4).toLowerCase(); _local2.isRelative = false; } else { _local2.isRelative = true; }; if (((!((_local2.protocol == null))) && ((((((_local2.protocol == "rtmp:/")) || ((_local2.protocol == "rtmpt:/")))) || ((_local2.protocol == "rtmps:/")))))){ _local2.isRTMP = true; _local3 = _local4; if (_arg1.charAt(_local3) == "/"){ _local3++; _local5 = _arg1.indexOf(":", _local3); _local6 = _arg1.indexOf("/", _local3); if (_local6 < 0){ if (_local5 < 0){ _local2.serverName = _arg1.slice(_local3); } else { _local4 = _local5; _local2.portNumber = _arg1.slice(_local3, _local4); _local3 = (_local4 + 1); _local2.serverName = _arg1.slice(_local3); }; return (_local2); }; if ((((_local5 >= 0)) && ((_local5 < _local6)))){ _local4 = _local5; _local2.serverName = _arg1.slice(_local3, _local4); _local3 = (_local4 + 1); _local4 = _local6; _local2.portNumber = _arg1.slice(_local3, _local4); } else { _local4 = _local6; _local2.serverName = _arg1.slice(_local3, _local4); }; _local3 = (_local4 + 1); }; if (_arg1.charAt(_local3) == "?"){ _local7 = _arg1.slice((_local3 + 1)); _local8 = parseURL(_local7); if ((((_local8.protocol == null)) || (!(_local8.isRTMP)))){ throw (new VideoError(VideoError.INVALID_SOURCE, _arg1)); }; _local2.wrappedURL = "?"; _local2.wrappedURL = (_local2.wrappedURL + _local8.protocol); if (_local8.serverName != null){ _local2.wrappedURL = (_local2.wrappedURL + "/"); _local2.wrappedURL = (_local2.wrappedURL + _local8.serverName); }; if (_local8.portNumber != null){ _local2.wrappedURL = (_local2.wrappedURL + (":" + _local8.portNumber)); }; if (_local8.wrappedURL != null){ _local2.wrappedURL = (_local2.wrappedURL + "/"); _local2.wrappedURL = (_local2.wrappedURL + _local8.wrappedURL); }; _local2.appName = _local8.appName; _local2.streamName = _local8.streamName; return (_local2); }; _local4 = _arg1.indexOf("/", _local3); if (_local4 < 0){ _local2.appName = _arg1.slice(_local3); return (_local2); }; _local2.appName = _arg1.slice(_local3, _local4); _local3 = (_local4 + 1); _local4 = _arg1.indexOf("/", _local3); if (_local4 < 0){ _local2.streamName = _arg1.slice(_local3); if (_local2.streamName.slice(-4).toLowerCase() == ".flv"){ _local2.streamName = _local2.streamName.slice(0, -4); }; return (_local2); }; _local2.appName = (_local2.appName + "/"); _local2.appName = (_local2.appName + _arg1.slice(_local3, _local4)); _local3 = (_local4 + 1); _local2.streamName = _arg1.slice(_local3); if (_local2.streamName.slice(-4).toLowerCase() == ".flv"){ _local2.streamName = _local2.streamName.slice(0, -4); }; } else { _local2.isRTMP = false; _local2.streamName = _arg1; }; return (_local2); } flvplayback_internal function initOtherInfo():void{ _contentPath = null; _streamName = null; _streamWidth = -1; _streamHeight = -1; _streamLength = NaN; _streams = null; _autoSenseBW = false; _payload = 0; _connTypeCounter = 0; cleanConns(); } public function set timeout(_arg1:uint):void{ _timeoutTimer.delay = _arg1; } flvplayback_internal function _onFMSConnectTimeOut(_arg1:TimerEvent=null):void{ cleanConns(); _nc = null; _ncConnected = false; if (!connectAgain()){ _owner.ncConnected(); }; } public function get streamHeight():int{ return (_streamHeight); } flvplayback_internal function connectOnStatus(_arg1:NetStatusEvent):void{ _arg1.target.client.pending = false; if (_arg1.info.code == "NetConnection.Connect.Success"){ _nc = _tryNC[_arg1.target.client.connIndex]; cleanConns(); } else { if ((((((_arg1.info.code == "NetConnection.Connect.Failed")) || ((_arg1.info.code == "NetConnection.Connect.Rejected")))) && ((_arg1.target.client.connIndex == (RTMP_CONN.length - 1))))){ if (!connectAgain()){ tryFallBack(); }; }; }; } flvplayback_internal function onReconnected():void{ _ncConnected = true; _owner.ncReconnected(); } flvplayback_internal function tryFallBack():void{ if ((((_serverName == fallbackServerName)) || ((fallbackServerName == null)))){ _nc = null; _ncConnected = false; _owner.ncConnected(); } else { _connTypeCounter = 0; cleanConns(); _serverName = fallbackServerName; connectRTMP(); }; } public function set bitrate(_arg1:Number):void{ if (!_isRTMP){ _bitrate = _arg1; }; } flvplayback_internal function onConnected(_arg1:NetConnection, _arg2:Number):void{ var _local3:Array; var _local4:uint; var _local5:String; _timeoutTimer.stop(); _arg1.removeEventListener(NetStatusEvent.NET_STATUS, connectOnStatus); _nc = _arg1; _ncUri = _nc.uri; _ncConnected = true; if (_autoSenseBW){ _bitrate = (_arg2 * 0x0400); if (_streams != null){ bitrateMatch(); } else { _local3 = _streamName.split(","); _local4 = 0; while (_local4 < _local3.length) { _local5 = stripFrontAndBackWhiteSpace(_local3[_local4]); if ((_local4 + 1) < _local3.length){ if (_arg2 <= Number(_local3[(_local4 + 1)])){ _streamName = _local5; break; }; } else { _streamName = _local5; break; }; _local4 = (_local4 + 2); }; if (_streamName.slice(-4).toLowerCase() == ".flv"){ _streamName = _streamName.slice(0, -4); }; }; }; trace(("_streamLength = " + _streamLength)); if (((!(_owner.isLive)) && (isNaN(_streamLength)))){ trace("calling getStreamLength"); _nc.call("getStreamLength", new Responder(getStreamLengthResult), _streamName); } else { _owner.ncConnected(); }; } public function close():void{ if (_nc){ _nc.close(); _ncConnected = false; }; } flvplayback_internal static function stripFrontAndBackWhiteSpace(_arg1:String):String{ var _local2:uint; var _local3:uint; var _local4:int; var _local5:int; _local3 = _arg1.length; _local4 = 0; _local5 = _local3; _local2 = 0; for (;_local2 < _local3;_local2++) { switch (_arg1.charCodeAt(_local2)){ case 9: case 10: case 13: case 32: continue; }; _local4 = _local2; break; }; _local2 = _local3; for (;_local2 >= 0;_local2--) { switch (_arg1.charCodeAt(_local2)){ case 9: case 10: case 13: case 32: continue; }; _local5 = (_local2 + 1); break; }; if (_local5 <= _local4){ return (""); }; return (_arg1.slice(_local4, _local5)); } } }//package fl.video
Section 60
//ParseResults (fl.video.ParseResults) package fl.video { public class ParseResults { public var portNumber:String; public var streamName:String; public var serverName:String; public var isRTMP:Boolean; public var appName:String; public var isRelative:Boolean; public var protocol:String; public var wrappedURL:String; } }//package fl.video
Section 61
//QueuedCommand (fl.video.QueuedCommand) package fl.video { public class QueuedCommand { public var type:uint; public var time:Number; public var url:String; public var isLive:Boolean; public static const LOAD:uint = 1; public static const STOP:uint = 3; public static const PLAY_WHEN_ENOUGH:uint = 5; public static const PLAY:uint = 0; public static const PAUSE:uint = 2; public static const SEEK:uint = 4; public function QueuedCommand(_arg1:uint, _arg2:String, _arg3:Boolean, _arg4:Number){ this.type = _arg1; this.url = _arg2; this.isLive = _arg3; this.time = _arg4; } } }//package fl.video
Section 62
//ReconnectClient (fl.video.ReconnectClient) package fl.video { public class ReconnectClient { public var owner:NCManager; public function ReconnectClient(_arg1:NCManager){ this.owner = _arg1; } public function close():void{ } public function onBWDone(... _args):void{ owner.onReconnected(); } } }//package fl.video
Section 63
//SkinErrorEvent (fl.video.SkinErrorEvent) package fl.video { import flash.events.*; public class SkinErrorEvent extends ErrorEvent { public static const SKIN_ERROR:String = "skinError"; public function SkinErrorEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:String=""){ super(_arg1, _arg2, _arg3, _arg4); } override public function clone():Event{ return (new SkinErrorEvent(type, bubbles, cancelable, text)); } } }//package fl.video
Section 64
//SMILManager (fl.video.SMILManager) package fl.video { import flash.events.*; import flash.net.*; public class SMILManager { flvplayback_internal var width:int; flvplayback_internal var xmlLoader:URLLoader; flvplayback_internal var xml:XML; flvplayback_internal var height:int; private var _url:String; flvplayback_internal var videoTags:Array; flvplayback_internal var baseURLAttr:Array; private var _owner:INCManager; public static const VERSION:String = "2.0.0.37"; public static const SHORT_VERSION:String = "2.0"; public function SMILManager(_arg1:INCManager){ _owner = _arg1; width = -1; height = -1; } flvplayback_internal function parseVideo(_arg1:XML):Object{ var _local2:Object; _local2 = new Object(); if (_arg1.@src.length() > 0){ _local2.src = _arg1.@src.toString(); }; if (_arg1.@["system-bitrate"].length() > 0){ _local2.bitrate = int(_arg1.@["system-bitrate"].toString()); }; if (_arg1.@dur.length() > 0){ _local2.dur = parseTime(_arg1.@dur.toString()); }; return (_local2); } flvplayback_internal function connectXML(_arg1:String):Boolean{ _url = fixURL(_arg1); xmlLoader = new URLLoader(); xmlLoader.addEventListener(Event.COMPLETE, xmlLoadEventHandler); xmlLoader.addEventListener(IOErrorEvent.IO_ERROR, xmlLoadEventHandler); xmlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, xmlLoadEventHandler); xmlLoader.load(new URLRequest(_url)); return (false); } flvplayback_internal function parseSwitch(_arg1:XML):void{ var _local2:String; var _local3:XML; for (_local2 in _arg1.*) { _local3 = _arg1.*[_local2]; if (_local3.nodeKind() != "element"){ } else { switch (_local3.localName()){ case "video": case "ref": videoTags.push(parseVideo(_local3)); break; default: break; }; }; }; } flvplayback_internal function fixURL(_arg1:String):String{ var _local2:String; if (/^(http:|https:)/i.test(_arg1)){ _local2 = ((_arg1.indexOf("?"))>=0) ? "&" : "?"; return ((((_arg1 + _local2) + "FLVPlaybackVersion=") + SHORT_VERSION)); }; return (_arg1); } flvplayback_internal function xmlLoadEventHandler(_arg1:Event):void{ var e = _arg1; try { if (e.type != Event.COMPLETE){ _owner.helperDone(this, false); } else { baseURLAttr = new Array(); videoTags = new Array(); xml = new XML(xmlLoader.data); if ((((xml == null)) || ((xml.localName() == null)))){ throw (new VideoError(VideoError.INVALID_XML, (("URL: \"" + _url) + "\" No root node found; if url is for an flv it must have .flv extension and take no parameters"))); } else { if (xml.localName() != "smil"){ throw (new VideoError(VideoError.INVALID_XML, (("URL: \"" + _url) + "\" Root node not smil"))); }; }; checkForIllegalNodes(xml, "element", ["head", "body"]); if (xml.head.length() > 0){ parseHead(xml.head[0]); }; if (xml.body.length() < 1){ throw (new VideoError(VideoError.INVALID_XML, (("URL: \"" + _url) + "\" Tag body is required."))); } else { parseBody(xml.body[0]); }; _owner.helperDone(this, true); }; } catch(err:Error) { _owner.helperDone(this, false); throw (err); } finally { xmlLoader.removeEventListener(Event.COMPLETE, xmlLoadEventHandler); xmlLoader.removeEventListener(IOErrorEvent.IO_ERROR, xmlLoadEventHandler); xmlLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, xmlLoadEventHandler); xmlLoader = null; }; } flvplayback_internal function checkForIllegalNodes(_arg1:XML, _arg2:String, _arg3:Array):void{ var _local4:String; var _local5:Boolean; var _local6:XML; var _local7:String; var _local8:String; for (_local4 in _arg1.*) { _local5 = false; _local6 = _arg1.*[_local4]; if (_local6.nodeKind() != _arg2){ } else { _local7 = _local6.localName(); for (_local8 in _arg3) { if (_arg3[_local8] == _local7){ _local5 = true; break; }; }; if (!_local5){ throw (new VideoError(VideoError.INVALID_XML, (((((((("URL: \"" + _url) + "\" ") + _arg2) + " ") + _local7) + " not supported in ") + _arg1.localName()) + " tag."))); }; }; }; } flvplayback_internal function parseHead(_arg1:XML):void{ checkForIllegalNodes(_arg1, "element", ["meta", "layout"]); if (_arg1.meta.length() > 0){ checkForIllegalNodes(_arg1.meta[0], "element", []); checkForIllegalNodes(_arg1.meta[0], "attribute", ["base"]); if (_arg1.meta.@base.length() > 0){ baseURLAttr.push(_arg1.meta.@base.toString()); }; }; if (_arg1.layout.length() > 0){ parseLayout(_arg1.layout[0]); }; } flvplayback_internal function parseBody(_arg1:XML):void{ var _local2:XML; var _local3:String; var _local4:Object; if (((!((_arg1.*.length() == 1))) || (!((_arg1.*[0].nodeKind() == "element"))))){ throw (new VideoError(VideoError.INVALID_XML, (((("URL: \"" + _url) + "\" Tag ") + _arg1.localName()) + " is required to contain exactly one tag."))); }; _local2 = _arg1.*[0]; _local3 = _local2.localName(); switch (_local3){ case "switch": parseSwitch(_local2); break; case "video": case "ref": _local4 = parseVideo(_local2); videoTags.push(_local4); break; default: throw (new VideoError(VideoError.INVALID_XML, (((((("URL: \"" + _url) + "\" Tag ") + _local3) + " not supported in ") + _arg1.localName()) + " tag."))); }; if (videoTags.length < 1){ throw (new VideoError(VideoError.INVALID_XML, (("URL: \"" + _url) + "\" At least one video of ref tag is required."))); }; } flvplayback_internal function parseTime(_arg1:String):Number{ var _local2:Object; var _local3:Number; var _local4:Number; _local2 = /^((\d+):)?(\d+):((\d+)(.\d+)?)$/.exec(_arg1); if (_local2 == null){ _local3 = Number(_arg1); if (((isNaN(_local3)) || ((_local3 < 0)))){ throw (new VideoError(VideoError.INVALID_XML, ("Invalid dur value: " + _arg1))); }; return (_local3); //unresolved jump }; _local4 = 0; _local4 = (_local4 + ((uint(_local2[2]) * 60) * 60)); _local4 = (_local4 + (uint(_local2[3]) * 60)); _local4 = (_local4 + Number(_local2[4])); return (_local4); } flvplayback_internal function parseLayout(_arg1:XML):void{ var _local2:XML; var _local3:Number; var _local4:Number; checkForIllegalNodes(_arg1, "element", ["root-layout"]); if (_arg1["root-layout"].length() > 1){ throw (new VideoError(VideoError.INVALID_XML, (("URL: \"" + _url) + "\" Only one base attribute supported in meta tag."))); }; if (_arg1["root-layout"].length() > 0){ _local2 = _arg1["root-layout"][0]; if (_local2.@width.length() > 0){ _local3 = Number(_local2.@width[0]); }; if (_local2.@height.length() > 0){ _local4 = Number(_local2.@height[0]); }; if (((((((isNaN(_local3)) || ((_local3 < 0)))) || (isNaN(_local4)))) || ((_local4 < 0)))){ throw (new VideoError(VideoError.INVALID_XML, (((("URL: \"" + _url) + "\" Tag ") + _arg1.localName()) + " requires attributes width and height. Width and height must be numbers greater than or equal to 0."))); }; width = Math.round(_local3); height = Math.round(_local4); }; } } }//package fl.video
Section 65
//SoundEvent (fl.video.SoundEvent) package fl.video { import flash.events.*; import flash.media.*; public class SoundEvent extends Event { private var _soundTransform:SoundTransform; public static const SOUND_UPDATE:String = "soundUpdate"; public function SoundEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:SoundTransform=null){ super(_arg1, _arg2, _arg3); _soundTransform = _arg4; } public function get soundTransform():SoundTransform{ return (_soundTransform); } override public function clone():Event{ return (new SoundEvent(type, bubbles, cancelable, soundTransform)); } } }//package fl.video
Section 66
//UIManager (fl.video.UIManager) package fl.video { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.geom.*; import flash.net.*; public class UIManager { flvplayback_internal var _bufferingDelayTimer:Timer; public var ctrlDataDict:Dictionary; flvplayback_internal var _skinAutoHide:Boolean; flvplayback_internal var placeholderLeft:Number; flvplayback_internal var _playAfterScrub:Boolean; public var customClips:Array; flvplayback_internal var _skinFadeStartTime:int; flvplayback_internal var delayedControls:Array; flvplayback_internal var _lastScrubPos:Number; flvplayback_internal var _skinAutoHideLastMotionTime:int; flvplayback_internal var _volumeBarTimer:Timer; flvplayback_internal var borderScale9Rects:Array; flvplayback_internal var _volumeBarScrubTolerance:Number; flvplayback_internal var _skin:String; flvplayback_internal var videoRight:Number; flvplayback_internal var _bufferingBarHides:Boolean; flvplayback_internal var placeholderRight:Number; flvplayback_internal var cachedSoundLevel:Number; flvplayback_internal var videoBottom:Number; flvplayback_internal var border_mc:DisplayObject; flvplayback_internal var _skinFadingTimer:Timer; flvplayback_internal var borderAlpha:Number; flvplayback_internal var borderColorTransform:ColorTransform; flvplayback_internal var borderColor:uint; flvplayback_internal var __visible:Boolean; flvplayback_internal var cacheFLVPlaybackLocation:Rectangle; flvplayback_internal var cacheFLVPlaybackIndex:int; flvplayback_internal var _skinReady:Boolean; flvplayback_internal var controls:Array; flvplayback_internal var _skinAutoHideMouseX:Number; flvplayback_internal var _skinAutoHideMouseY:Number; flvplayback_internal var layout_mc:Sprite; flvplayback_internal var cacheSkinAutoHide:Boolean; flvplayback_internal var cacheStageScaleMode:String; flvplayback_internal var videoTop:Number; flvplayback_internal var _skinFadingMaxTime:int; flvplayback_internal var placeholderTop:Number; flvplayback_internal var _lastVolumePos:Number; flvplayback_internal var mouseCaptureCtrl:int; flvplayback_internal var _seekBarScrubTolerance:Number; flvplayback_internal var borderPrevRect:Rectangle; flvplayback_internal var skinTemplate:Sprite; flvplayback_internal var _progressPercent:Number; flvplayback_internal var videoLeft:Number; flvplayback_internal var _isMuted:Boolean; flvplayback_internal var _skinAutoHideTimer:Timer; flvplayback_internal var _fullScreenBgColor:uint; flvplayback_internal var _vc:FLVPlayback; flvplayback_internal var _bufferingOn:Boolean; flvplayback_internal var _seekBarTimer:Timer; flvplayback_internal var _controlsEnabled:Boolean; flvplayback_internal var _fullScreen:Boolean; flvplayback_internal var placeholderBottom:Number; flvplayback_internal var _fullScreenTakeOver:Boolean; flvplayback_internal var skin_mc:Sprite; flvplayback_internal var skinLoadDelayCount:uint; flvplayback_internal var _skinFadingIn:Boolean; flvplayback_internal var _skinAutoHideMotionTimeout:int; flvplayback_internal var borderCopy:Sprite; flvplayback_internal var cacheStageAlign:String; flvplayback_internal var cacheFLVPlaybackParent:DisplayObjectContainer; flvplayback_internal var skinLoader:Loader; public static const VOLUME_BAR_HIT:int = 12; public static const MUTE_OFF_BUTTON:int = 10; public static const BACK_BUTTON:int = 5; public static const FORWARD_BUTTON:int = 6; public static const STOP_BUTTON:int = 2; public static const NUM_BUTTONS:int = 13; public static const NORMAL_STATE:uint = 0; public static const SEEK_BAR_HANDLE:int = 3; public static const PLAY_BUTTON:int = 1; public static const MUTE_BUTTON:int = 15; public static const DOWN_STATE:uint = 2; public static const SEEK_BAR_SCRUB_TOLERANCE_DEFAULT:Number = 5; public static const FULL_SCREEN_OFF_BUTTON:int = 8; flvplayback_internal static const SKIN_AUTO_HIDE_MOTION_TIMEOUT_DEFAULT:Number = 3000; public static const SEEK_BAR:int = 17; public static const VOLUME_BAR_SCRUB_TOLERANCE_DEFAULT:Number = 0; public static const FULL_SCREEN_ON_BUTTON:int = 7; public static const FULL_SCREEN_BUTTON:int = 14; public static const BUFFERING_BAR:int = 16; public static const VERSION:String = "2.0.0.37"; public static const VOLUME_BAR_HANDLE:int = 11; public static const PAUSE_BUTTON:int = 0; flvplayback_internal static const SKIN_AUTO_HIDE_INTERVAL:Number = 200; public static const OVER_STATE:uint = 1; flvplayback_internal static const SKIN_FADING_INTERVAL:Number = 100; public static const VOLUME_BAR:int = 18; public static const SHORT_VERSION:String = "2.0"; public static const SEEK_BAR_INTERVAL_DEFAULT:Number = 250; flvplayback_internal static const SKIN_FADING_MAX_TIME_DEFAULT:Number = 500; public static const SEEK_BAR_HIT:int = 4; public static const PLAY_PAUSE_BUTTON:int = 13; public static const BUFFERING_DELAY_INTERVAL_DEFAULT:Number = 1000; public static const MUTE_ON_BUTTON:int = 9; public static const NUM_CONTROLS:int = 19; public static const VOLUME_BAR_INTERVAL_DEFAULT:Number = 250; flvplayback_internal static var layoutNameToIndexMappings:Object = null; flvplayback_internal static var buttonSkinLinkageIDs:Array = ["upLinkageID", "overLinkageID", "downLinkageID"]; flvplayback_internal static var layoutNameArray:Array = ["pause_mc", "play_mc", "stop_mc", null, null, "back_mc", "forward_mc", null, null, null, null, null, null, "playpause_mc", "fullScreenToggle_mc", "volumeMute_mc", "bufferingBar_mc", "seekBar_mc", "volumeBar_mc", "seekBarHandle_mc", "seekBarHit_mc", "seekBarProgress_mc", "seekBarFullness_mc", "volumeBarHandle_mc", "volumeBarHit_mc", "volumeBarProgress_mc", "volumeBarFullness_mc", "progressFill_mc"]; flvplayback_internal static var skinClassPrefixes:Array = ["pauseButton", "playButton", "stopButton", null, null, "backButton", "forwardButton", "fullScreenButtonOn", "fullScreenButtonOff", "muteButtonOn", "muteButtonOff", null, null, null, null, null, "bufferingBar", "seekBar", "volumeBar"]; flvplayback_internal static var customComponentClassNames:Array = ["PauseButton", "PlayButton", "StopButton", null, null, "BackButton", "ForwardButton", null, null, null, null, null, null, "PlayPauseButton", "FullScreenButton", "MuteButton", "BufferingBar", "SeekBar", "VolumeBar"]; public function UIManager(_arg1:FLVPlayback){ var vc = _arg1; super(); _vc = vc; _skin = null; _skinAutoHide = false; cacheSkinAutoHide = _skinAutoHide; _skinFadingMaxTime = SKIN_FADING_MAX_TIME_DEFAULT; _skinAutoHideMotionTimeout = SKIN_AUTO_HIDE_MOTION_TIMEOUT_DEFAULT; _skinReady = true; __visible = false; _bufferingBarHides = false; _controlsEnabled = true; _lastScrubPos = 0; _lastVolumePos = 0; cachedSoundLevel = _vc.volume; _isMuted = false; controls = new Array(); customClips = null; ctrlDataDict = new Dictionary(true); skin_mc = null; skinLoader = null; skinTemplate = null; layout_mc = null; border_mc = null; borderCopy = null; borderPrevRect = null; borderScale9Rects = null; borderAlpha = 0.85; borderColor = 4697035; borderColorTransform = new ColorTransform(0, 0, 0, 0, 71, 171, 203, (0xFF * borderAlpha)); _seekBarScrubTolerance = SEEK_BAR_SCRUB_TOLERANCE_DEFAULT; _volumeBarScrubTolerance = VOLUME_BAR_SCRUB_TOLERANCE_DEFAULT; _bufferingOn = false; mouseCaptureCtrl = -1; _seekBarTimer = new Timer(SEEK_BAR_INTERVAL_DEFAULT); _seekBarTimer.addEventListener(TimerEvent.TIMER, seekBarListener); _volumeBarTimer = new Timer(VOLUME_BAR_INTERVAL_DEFAULT); _volumeBarTimer.addEventListener(TimerEvent.TIMER, volumeBarListener); _bufferingDelayTimer = new Timer(BUFFERING_DELAY_INTERVAL_DEFAULT, 1); _bufferingDelayTimer.addEventListener(TimerEvent.TIMER, doBufferingDelay); _skinAutoHideTimer = new Timer(SKIN_AUTO_HIDE_INTERVAL); _skinAutoHideTimer.addEventListener(TimerEvent.TIMER, skinAutoHideHitTest); _skinFadingTimer = new Timer(SKIN_FADING_INTERVAL); _skinFadingTimer.addEventListener(TimerEvent.TIMER, skinFadeMore); _vc.addEventListener(MetadataEvent.METADATA_RECEIVED, handleIVPEvent); _vc.addEventListener(VideoEvent.PLAYHEAD_UPDATE, handleIVPEvent); _vc.addEventListener(VideoProgressEvent.PROGRESS, handleIVPEvent); _vc.addEventListener(VideoEvent.STATE_CHANGE, handleIVPEvent); _vc.addEventListener(VideoEvent.READY, handleIVPEvent); _vc.addEventListener(LayoutEvent.LAYOUT, handleLayoutEvent); _vc.addEventListener(AutoLayoutEvent.AUTO_LAYOUT, handleLayoutEvent); _vc.addEventListener(SoundEvent.SOUND_UPDATE, handleSoundEvent); _vc.addEventListener(Event.ADDED_TO_STAGE, handleEvent); _fullScreen = false; _fullScreenTakeOver = true; _fullScreenBgColor = 0; if (_vc.stage != null){ try { _fullScreen = (_vc.stage.displayState == StageDisplayState.FULL_SCREEN); _vc.stage.addEventListener(FullScreenEvent.FULL_SCREEN, handleFullScreenEvent); } catch(se:SecurityError) { }; }; if (layoutNameToIndexMappings == null){ initLayoutNameToIndexMappings(); }; } flvplayback_internal function removeButtonListeners(_arg1:Sprite):void{ if (_arg1 == null){ return; }; _arg1.removeEventListener(MouseEvent.ROLL_OVER, handleButtonEvent); _arg1.removeEventListener(MouseEvent.ROLL_OUT, handleButtonEvent); _arg1.removeEventListener(MouseEvent.MOUSE_DOWN, handleButtonEvent); _arg1.removeEventListener(MouseEvent.CLICK, handleButtonEvent); _arg1.removeEventListener(Event.ENTER_FRAME, skinButtonControl); } public function set skinFadeTime(_arg1:int):void{ _skinFadingMaxTime = _arg1; } public function get skinFadeTime():int{ return (_skinFadingMaxTime); } flvplayback_internal function finishLoad(_arg1:Event):void{ var i:int; var cachedActivePlayerIndex:int; var state:String; var j:int; var e = _arg1; try { skinLoadDelayCount++; if (skinLoadDelayCount < 2){ return; } else { _vc.removeEventListener(Event.ENTER_FRAME, finishLoad); }; i = 0; while (i < NUM_CONTROLS) { if (delayedControls[i] != undefined){ setControl(i, delayedControls[i]); }; i = (i + 1); }; if (_fullScreenTakeOver){ enterFullScreenTakeOver(); } else { exitFullScreenTakeOver(); }; layoutSkin(); setupSkinAutoHide(false); skin_mc.visible = __visible; _vc.addChild(skin_mc); _skinReady = true; _vc.skinLoaded(); cachedActivePlayerIndex = _vc.activeVideoPlayerIndex; _vc.activeVideoPlayerIndex = _vc.visibleVideoPlayerIndex; state = _vc.state; j = 0; while (j < NUM_CONTROLS) { if (controls[j] == undefined){ } else { setEnabledAndVisibleForState(j, state); if (j < NUM_BUTTONS){ skinButtonControl(controls[j]); }; }; j = (j + 1); }; _vc.activeVideoPlayerIndex = cachedActivePlayerIndex; } catch(err:Error) { _vc.skinError(err.message); removeSkin(); }; } flvplayback_internal function downloadSkin():void{ if (skinLoader == null){ skinLoader = new Loader(); skinLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, handleLoad); skinLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleLoadErrorEvent); skinLoader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, handleLoadErrorEvent); }; skinLoader.load(new URLRequest(_skin)); } flvplayback_internal function removeSkin():void{ var i:int; if (skinLoader != null){ try { skinLoader.close(); } catch(e1:Error) { }; skinLoader = null; }; if (skin_mc != null){ i = 0; while (i < NUM_CONTROLS) { if (controls[i] == undefined){ } else { if (i < NUM_BUTTONS){ removeButtonListeners(controls[i]); }; delete ctrlDataDict[controls[i]]; delete controls[i]; }; i = (i + 1); }; try { skin_mc.parent.removeChild(skin_mc); } catch(e2:Error) { }; skin_mc = null; }; skinTemplate = null; layout_mc = null; border_mc = null; borderCopy = null; borderPrevRect = null; borderScale9Rects = null; } flvplayback_internal function positionBar(_arg1:Sprite, _arg2:String, _arg3:Number):void{ var ctrlData:ControlData; var bar:DisplayObject; var barData:ControlData; var ctrl = _arg1; var type = _arg2; var percent = _arg3; try { if ((((ctrl["positionBar"] is Function)) && (ctrl["positionBar"](type, percent)))){ return; }; } catch(re2:ReferenceError) { }; ctrlData = ctrlDataDict[ctrl]; bar = ctrlData[(type + "_mc")]; if (bar == null){ return; }; barData = ctrlDataDict[bar]; if (bar.parent == ctrl){ if (barData.fill_mc == null){ bar.scaleX = ((barData.origScaleX * percent) / 100); } else { positionMaskedFill(bar, percent); }; } else { bar.x = (ctrl.x + barData.leftMargin); bar.y = (ctrl.y + barData.origY); if (barData.fill_mc == null){ bar.width = ((((ctrl.width - barData.leftMargin) - barData.rightMargin) * percent) / 100); } else { positionMaskedFill(bar, percent); }; }; } flvplayback_internal function setupButtonSkin(_arg1:int):Sprite{ var _local2:String; var _local3:Sprite; var _local4:ControlData; _local2 = skinClassPrefixes[_arg1]; if (_local2 == null){ return (null); }; _local3 = new Sprite(); _local4 = new ControlData(this, _local3, null, _arg1); ctrlDataDict[_local3] = _local4; _local4.state_mc = new Array(); _local4.state_mc[NORMAL_STATE] = setupButtonSkinState(_local3, skinTemplate, (_local2 + "NormalState")); _local4.state_mc[NORMAL_STATE].visible = true; _local4.state_mc[OVER_STATE] = setupButtonSkinState(_local3, skinTemplate, (_local2 + "OverState"), _local4.state_mc[NORMAL_STATE]); _local4.state_mc[DOWN_STATE] = setupButtonSkinState(_local3, skinTemplate, (_local2 + "DownState"), _local4.state_mc[NORMAL_STATE]); _local4.disabled_mc = setupButtonSkinState(_local3, skinTemplate, (_local2 + "DisabledState"), _local4.state_mc[NORMAL_STATE]); return (_local3); } public function get skinReady():Boolean{ return (_skinReady); } public function get skinAutoHide():Boolean{ return (_skinAutoHide); } flvplayback_internal function dispatchMessage(_arg1:int):void{ var _local2:int; var _local3:Sprite; var _local4:ControlData; var _local5:Sprite; if ((((_arg1 == SEEK_BAR_HANDLE)) || ((_arg1 == SEEK_BAR_HIT)))){ _vc._scrubStart(); }; _local2 = _vc.activeVideoPlayerIndex; _vc.activeVideoPlayerIndex = _vc.visibleVideoPlayerIndex; switch (_arg1){ case PAUSE_BUTTON: _vc.pause(); break; case PLAY_BUTTON: _vc.play(); break; case STOP_BUTTON: _vc.stop(); break; case SEEK_BAR_HIT: case SEEK_BAR_HANDLE: _local3 = controls[SEEK_BAR]; _local4 = ctrlDataDict[_local3]; calcPercentageFromHandle(_local3); _lastScrubPos = _local4.percentage; if (_arg1 == SEEK_BAR_HIT){ _local5 = controls[SEEK_BAR_HANDLE]; controls[SEEK_BAR_HANDLE].x = _local5.parent.mouseX; _local5.y = _local5.parent.mouseY; }; _vc.removeEventListener(VideoEvent.PLAYHEAD_UPDATE, handleIVPEvent); if (((_vc.playing) || (_vc.buffering))){ _playAfterScrub = true; } else { if (_vc.state != VideoState.SEEKING){ _playAfterScrub = false; }; }; _seekBarTimer.start(); startHandleDrag(_local3); _vc.pause(); break; case VOLUME_BAR_HIT: case VOLUME_BAR_HANDLE: _local3 = controls[VOLUME_BAR]; _local4 = ctrlDataDict[_local3]; calcPercentageFromHandle(_local3); _lastVolumePos = _local4.percentage; if (_arg1 == VOLUME_BAR_HIT){ _local5 = controls[VOLUME_BAR_HANDLE]; controls[VOLUME_BAR_HANDLE].x = _local5.parent.mouseX; _local5.y = _local5.parent.mouseY; }; _vc.removeEventListener(SoundEvent.SOUND_UPDATE, handleSoundEvent); _volumeBarTimer.start(); startHandleDrag(_local3); break; case BACK_BUTTON: _vc.seekToPrevNavCuePoint(); break; case FORWARD_BUTTON: _vc.seekToNextNavCuePoint(); break; case MUTE_ON_BUTTON: if (!_isMuted){ _isMuted = true; cachedSoundLevel = _vc.volume; _vc.volume = 0; setEnabledAndVisibleForState(MUTE_OFF_BUTTON, VideoState.PLAYING); skinButtonControl(controls[MUTE_OFF_BUTTON]); setEnabledAndVisibleForState(MUTE_ON_BUTTON, VideoState.PLAYING); skinButtonControl(controls[MUTE_ON_BUTTON]); }; break; case MUTE_OFF_BUTTON: if (_isMuted){ _isMuted = false; _vc.volume = cachedSoundLevel; setEnabledAndVisibleForState(MUTE_OFF_BUTTON, VideoState.PLAYING); skinButtonControl(controls[MUTE_OFF_BUTTON]); setEnabledAndVisibleForState(MUTE_ON_BUTTON, VideoState.PLAYING); skinButtonControl(controls[MUTE_ON_BUTTON]); }; break; case FULL_SCREEN_ON_BUTTON: if (((!(_fullScreen)) && (!((_vc.stage == null))))){ _vc.stage.displayState = StageDisplayState.FULL_SCREEN; setEnabledAndVisibleForState(FULL_SCREEN_OFF_BUTTON, VideoState.PLAYING); skinButtonControl(controls[FULL_SCREEN_OFF_BUTTON]); setEnabledAndVisibleForState(FULL_SCREEN_ON_BUTTON, VideoState.PLAYING); skinButtonControl(controls[FULL_SCREEN_ON_BUTTON]); }; break; case FULL_SCREEN_OFF_BUTTON: if (((_fullScreen) && (!((_vc.stage == null))))){ _vc.stage.displayState = StageDisplayState.NORMAL; setEnabledAndVisibleForState(FULL_SCREEN_OFF_BUTTON, VideoState.PLAYING); skinButtonControl(controls[FULL_SCREEN_OFF_BUTTON]); setEnabledAndVisibleForState(FULL_SCREEN_ON_BUTTON, VideoState.PLAYING); skinButtonControl(controls[FULL_SCREEN_ON_BUTTON]); }; break; default: throw (new Error("Unknown ButtonControl")); }; _vc.activeVideoPlayerIndex = _local2; } flvplayback_internal function handleFullScreenEvent(_arg1:FullScreenEvent):void{ _fullScreen = _arg1.fullScreen; setEnabledAndVisibleForState(FULL_SCREEN_OFF_BUTTON, VideoState.PLAYING); skinButtonControl(controls[FULL_SCREEN_OFF_BUTTON]); setEnabledAndVisibleForState(FULL_SCREEN_ON_BUTTON, VideoState.PLAYING); skinButtonControl(controls[FULL_SCREEN_ON_BUTTON]); if (((_fullScreen) && (_fullScreenTakeOver))){ enterFullScreenTakeOver(); } else { if (!_fullScreen){ exitFullScreenTakeOver(); }; }; } flvplayback_internal function handleLayoutEvent(_arg1:LayoutEvent):void{ layoutSkin(); setupSkinAutoHide(false); } flvplayback_internal function seekBarListener(_arg1:TimerEvent):void{ var _local2:int; var _local3:Sprite; var _local4:ControlData; var _local5:Number; _local2 = _vc.activeVideoPlayerIndex; _vc.activeVideoPlayerIndex = _vc.visibleVideoPlayerIndex; _local3 = controls[SEEK_BAR]; if (_local3 == null){ return; }; _local4 = ctrlDataDict[_local3]; calcPercentageFromHandle(_local3); _local5 = _local4.percentage; if (_arg1 == null){ _seekBarTimer.stop(); if (_local5 != _lastScrubPos){ _vc.seekPercent(_local5); }; _vc.addEventListener(VideoEvent.PLAYHEAD_UPDATE, handleIVPEvent); if (_playAfterScrub){ _vc.play(); }; } else { if (_vc.getVideoPlayer(_vc.visibleVideoPlayerIndex).state == VideoState.SEEKING){ } else { if ((((((((_seekBarScrubTolerance <= 0)) || ((Math.abs((_local5 - _lastScrubPos)) > _seekBarScrubTolerance)))) || ((_local5 < _seekBarScrubTolerance)))) || ((_local5 > (100 - _seekBarScrubTolerance))))){ if (_local5 != _lastScrubPos){ _lastScrubPos = _local5; _vc.seekPercent(_local5); }; }; }; }; _vc.activeVideoPlayerIndex = _local2; } public function get seekBarInterval():Number{ return (_seekBarTimer.delay); } public function set skinAutoHide(_arg1:Boolean):void{ if (_arg1 == _skinAutoHide){ return; }; _skinAutoHide = _arg1; cacheSkinAutoHide = _arg1; setupSkinAutoHide(true); } flvplayback_internal function setCustomClip(_arg1:DisplayObject):void{ var dCopy:DisplayObject; var ctrlData:ControlData; var scale9Grid:Rectangle; var diff:Number; var numBorderBitmaps:int; var i:int; var lastXDim:Number; var lastYDim:Number; var newRect:Rectangle; var dispObj = _arg1; dCopy = new (dispObj["constructor"]); skin_mc.addChild(dCopy); ctrlData = new ControlData(this, dCopy, null, -1); ctrlDataDict[dCopy] = ctrlData; ctrlData.avatar = dispObj; customClips.push(dCopy); if (dispObj.name == "border_mc"){ border_mc = dCopy; try { borderCopy = (ctrlData.avatar["colorMe"]) ? new Sprite() : null; } catch(re:ReferenceError) { borderCopy = null; }; if (borderCopy != null){ border_mc.visible = false; scale9Grid = border_mc.scale9Grid; scale9Grid.x = Math.round(scale9Grid.x); scale9Grid.y = Math.round(scale9Grid.y); scale9Grid.width = Math.round(scale9Grid.width); diff = ((scale9Grid.x + scale9Grid.width) - border_mc.scale9Grid.right); if (diff > 0.5){ scale9Grid.width--; } else { if (diff < -0.5){ scale9Grid.width++; }; }; scale9Grid.height = Math.round(scale9Grid.height); diff = ((scale9Grid.y + scale9Grid.height) - border_mc.scale9Grid.bottom); if (diff > 0.5){ scale9Grid.height--; } else { if (diff < -0.5){ scale9Grid.height++; }; }; if (scale9Grid != null){ borderScale9Rects = new Array(); lastXDim = (border_mc.width - (scale9Grid.x + scale9Grid.width)); lastXDim = (Math.floor(lastXDim) + 1); lastYDim = (border_mc.height - (scale9Grid.y + scale9Grid.height)); lastYDim = (Math.floor(lastYDim) + 1); newRect = new Rectangle(0, 0, scale9Grid.x, scale9Grid.y); borderScale9Rects.push(((((newRect.width < 1)) || ((newRect.height < 1)))) ? null : newRect); newRect = new Rectangle(scale9Grid.x, 0, scale9Grid.width, scale9Grid.y); borderScale9Rects.push(((((newRect.width < 1)) || ((newRect.height < 1)))) ? null : newRect); newRect = new Rectangle((scale9Grid.x + scale9Grid.width), 0, lastXDim, scale9Grid.y); borderScale9Rects.push(((((newRect.width < 1)) || ((newRect.height < 1)))) ? null : newRect); newRect = new Rectangle(0, scale9Grid.y, scale9Grid.x, scale9Grid.height); borderScale9Rects.push(((((newRect.width < 1)) || ((newRect.height < 1)))) ? null : newRect); newRect = new Rectangle(scale9Grid.x, scale9Grid.y, scale9Grid.width, scale9Grid.height); borderScale9Rects.push(((((newRect.width < 1)) || ((newRect.height < 1)))) ? null : newRect); newRect = new Rectangle((scale9Grid.x + scale9Grid.width), scale9Grid.y, lastXDim, scale9Grid.height); borderScale9Rects.push(((((newRect.width < 1)) || ((newRect.height < 1)))) ? null : newRect); newRect = new Rectangle(0, (scale9Grid.y + scale9Grid.height), scale9Grid.x, lastYDim); borderScale9Rects.push(((((newRect.width < 1)) || ((newRect.height < 1)))) ? null : newRect); newRect = new Rectangle(scale9Grid.x, (scale9Grid.y + scale9Grid.height), scale9Grid.width, lastYDim); borderScale9Rects.push(((((newRect.width < 1)) || ((newRect.height < 1)))) ? null : newRect); newRect = new Rectangle((scale9Grid.x + scale9Grid.width), (scale9Grid.y + scale9Grid.height), lastXDim, lastYDim); borderScale9Rects.push(((((newRect.width < 1)) || ((newRect.height < 1)))) ? null : newRect); i = 0; while (i < borderScale9Rects.length) { if (borderScale9Rects[i] != null){ break; }; i = (i + 1); }; if (i >= borderScale9Rects.length){ borderScale9Rects = null; }; }; numBorderBitmaps = ((borderScale9Rects)==null) ? 1 : 9; i = 0; while (i < numBorderBitmaps) { if ((((borderScale9Rects == null)) || (!((borderScale9Rects[i] == null))))){ borderCopy.addChild(new Bitmap()); }; i = (i + 1); }; skin_mc.addChild(borderCopy); borderPrevRect = null; }; }; } public function get fullScreenSkinDelay():int{ return (_skinAutoHideMotionTimeout); } flvplayback_internal function doBufferingDelay(_arg1:TimerEvent):void{ var _local2:int; _bufferingDelayTimer.reset(); _local2 = _vc.activeVideoPlayerIndex; _vc.activeVideoPlayerIndex = _vc.visibleVideoPlayerIndex; if (_vc.state == VideoState.BUFFERING){ _bufferingOn = true; handleIVPEvent(new VideoEvent(VideoEvent.STATE_CHANGE, false, false, VideoState.BUFFERING, NaN, _vc.visibleVideoPlayerIndex)); }; _vc.activeVideoPlayerIndex = _local2; } flvplayback_internal function volumeBarListener(_arg1:TimerEvent):void{ var _local2:Sprite; var _local3:ControlData; var _local4:Number; var _local5:Boolean; _local2 = controls[VOLUME_BAR]; if (_local2 == null){ return; }; _local3 = ctrlDataDict[_local2]; calcPercentageFromHandle(_local2); _local4 = _local3.percentage; _local5 = (_arg1 == null); if (_local5){ _volumeBarTimer.stop(); _vc.addEventListener(SoundEvent.SOUND_UPDATE, handleSoundEvent); }; if (((((((((_local5) || ((_volumeBarScrubTolerance <= 0)))) || ((Math.abs((_local4 - _lastVolumePos)) > _volumeBarScrubTolerance)))) || ((_local4 < _volumeBarScrubTolerance)))) || ((_local4 > (100 - _volumeBarScrubTolerance))))){ if (_local4 != _lastVolumePos){ if (_isMuted){ cachedSoundLevel = (_local4 / 100); } else { _vc.volume = (_local4 / 100); }; _lastVolumePos = _local4; }; }; } public function get visible():Boolean{ return (__visible); } flvplayback_internal function fixUpBar(_arg1:DisplayObject, _arg2:String, _arg3:DisplayObject, _arg4:String):void{ var ctrlData:ControlData; var bar:DisplayObject; var barData:ControlData; var definitionHolder = _arg1; var propPrefix = _arg2; var ctrl = _arg3; var name = _arg4; ctrlData = ctrlDataDict[ctrl]; if (ctrlData[name] != null){ return; }; try { bar = ctrl[name]; } catch(re:ReferenceError) { bar = null; }; if (bar == null){ try { bar = createSkin(definitionHolder, (propPrefix + "LinkageID")); } catch(ve:VideoError) { bar = null; }; if (bar == null){ return; }; if (ctrl.parent != null){ if (getBooleanPropSafe(ctrl, (propPrefix + "Below"))){ ctrl.parent.addChildAt(bar, ctrl.parent.getChildIndex(ctrl)); } else { ctrl.parent.addChild(bar); }; }; }; ctrlData[name] = bar; barData = ctrlDataDict[bar]; if (barData == null){ barData = new ControlData(this, bar, ctrl, -1); ctrlDataDict[bar] = barData; }; } public function get volumeBarInterval():Number{ return (_volumeBarTimer.delay); } public function get bufferingBarHidesAndDisablesOthers():Boolean{ return (_bufferingBarHides); } flvplayback_internal function calcLayoutControl(_arg1:DisplayObject):Rectangle{ var rect:Rectangle; var ctrlData:ControlData; var anchorRight:Boolean; var anchorLeft:Boolean; var anchorTop:Boolean; var anchorBottom:Boolean; var ctrl = _arg1; rect = new Rectangle(); if (ctrl == null){ return (rect); }; ctrlData = ctrlDataDict[ctrl]; if (ctrlData == null){ return (rect); }; if (ctrlData.avatar == null){ return (rect); }; anchorRight = false; anchorLeft = true; anchorTop = false; anchorBottom = true; try { anchorRight = ctrlData.avatar["anchorRight"]; } catch(re1:ReferenceError) { anchorRight = false; }; try { anchorLeft = ctrlData.avatar["anchorLeft"]; } catch(re1:ReferenceError) { anchorLeft = true; }; try { anchorTop = ctrlData.avatar["anchorTop"]; } catch(re1:ReferenceError) { anchorTop = false; }; try { anchorBottom = ctrlData.avatar["anchorBottom"]; } catch(re1:ReferenceError) { anchorBottom = true; }; if (anchorRight){ if (anchorLeft){ rect.x = ((ctrlData.avatar.x - placeholderLeft) + videoLeft); rect.width = ((((ctrlData.avatar.x + ctrlData.avatar.width) - placeholderRight) + videoRight) - rect.x); ctrlData.origWidth = NaN; } else { rect.x = ((ctrlData.avatar.x - placeholderRight) + videoRight); rect.width = ctrl.width; }; } else { rect.x = ((ctrlData.avatar.x - placeholderLeft) + videoLeft); rect.width = ctrl.width; }; if (anchorTop){ if (anchorBottom){ rect.y = ((ctrlData.avatar.y - placeholderTop) + videoTop); rect.height = ((((ctrlData.avatar.y + ctrlData.avatar.height) - placeholderBottom) + videoBottom) - rect.y); ctrlData.origHeight = NaN; } else { rect.y = ((ctrlData.avatar.y - placeholderTop) + videoTop); rect.height = ctrl.height; }; } else { rect.y = ((ctrlData.avatar.y - placeholderBottom) + videoBottom); rect.height = ctrl.height; }; try { if ((ctrl["layoutSelf"] is Function)){ rect = ctrl["layoutSelf"](rect); }; } catch(re3:ReferenceError) { }; return (rect); } flvplayback_internal function skinFadeMore(_arg1:TimerEvent):void{ var _local2:Number; if (((((!(_skinFadingIn)) && ((skin_mc.alpha <= 0.5)))) || (((_skinFadingIn) && ((skin_mc.alpha >= 0.95)))))){ skin_mc.visible = _skinFadingIn; skin_mc.alpha = 1; _skinFadingTimer.stop(); } else { _local2 = ((getTimer() - _skinFadeStartTime) / _skinFadingMaxTime); if (!_skinFadingIn){ _local2 = (1 - _local2); }; if (_local2 < 0){ _local2 = 0; } else { if (_local2 > 1){ _local2 = 1; }; }; skin_mc.alpha = _local2; }; } flvplayback_internal function resetPlayPause():void{ var _local1:int; if (controls[PLAY_PAUSE_BUTTON] == undefined){ return; }; _local1 = PAUSE_BUTTON; while (_local1 <= PLAY_BUTTON) { removeButtonListeners(controls[_local1]); delete ctrlDataDict[controls[_local1]]; delete controls[_local1]; _local1++; }; delete ctrlDataDict[controls[PLAY_PAUSE_BUTTON]]; delete controls[PLAY_PAUSE_BUTTON]; } public function setControl(_arg1:int, _arg2:Sprite):void{ var ctrlData:ControlData; var index = _arg1; var ctrl = _arg2; if (ctrl == controls[index]){ return; }; switch (index){ case PAUSE_BUTTON: case PLAY_BUTTON: resetPlayPause(); break; case PLAY_PAUSE_BUTTON: if ((((ctrl == null)) || (!((ctrl.parent == skin_mc))))){ resetPlayPause(); }; if (ctrl != null){ setControl(PAUSE_BUTTON, Sprite(ctrl.getChildByName("pause_mc"))); setControl(PLAY_BUTTON, Sprite(ctrl.getChildByName("play_mc"))); }; break; case FULL_SCREEN_BUTTON: if (ctrl != null){ setControl(FULL_SCREEN_ON_BUTTON, Sprite(ctrl.getChildByName("on_mc"))); setControl(FULL_SCREEN_OFF_BUTTON, Sprite(ctrl.getChildByName("off_mc"))); }; break; case MUTE_BUTTON: if (ctrl != null){ setControl(MUTE_ON_BUTTON, Sprite(ctrl.getChildByName("on_mc"))); setControl(MUTE_OFF_BUTTON, Sprite(ctrl.getChildByName("off_mc"))); }; break; }; if (controls[index] != null){ try { delete controls[index]["uiMgr"]; } catch(re:ReferenceError) { }; if (index < NUM_BUTTONS){ removeButtonListeners(controls[index]); }; delete ctrlDataDict[controls[index]]; delete controls[index]; }; if (ctrl == null){ return; }; ctrlData = ctrlDataDict[ctrl]; if (ctrlData == null){ ctrlData = new ControlData(this, ctrl, null, index); ctrlDataDict[ctrl] = ctrlData; } else { ctrlData.index = index; }; if (index >= NUM_BUTTONS){ controls[index] = ctrl; switch (index){ case SEEK_BAR: addBarControl(ctrl); break; case VOLUME_BAR: addBarControl(ctrl); ctrlData.percentage = (_vc.volume * 100); break; case BUFFERING_BAR: if (ctrl.parent == skin_mc){ finishAddBufferingBar(); } else { ctrl.addEventListener(Event.ENTER_FRAME, finishAddBufferingBar); }; break; }; setEnabledAndVisibleForState(index, _vc.state); } else { controls[index] = ctrl; addButtonControl(ctrl); }; } flvplayback_internal function bitmapCopyBorder():void{ var _local1:Rectangle; var _local2:BitmapData; var _local3:Matrix; var _local4:Number; var _local5:Number; var _local6:Rectangle; var _local7:int; var _local8:int; var _local9:Bitmap; var _local10:Number; var _local11:Number; if ((((border_mc == null)) || ((borderCopy == null)))){ return; }; _local1 = border_mc.getBounds(skin_mc); if ((((borderPrevRect == null)) || (!(borderPrevRect.equals(_local1))))){ borderCopy.x = _local1.x; borderCopy.y = _local1.y; _local3 = new Matrix(border_mc.scaleX, 0, 0, border_mc.scaleY, 0, 0); if (borderScale9Rects == null){ _local2 = new BitmapData(_local1.width, _local1.height, true, 0); _local2.draw(border_mc, _local3, borderColorTransform); Bitmap(borderCopy.getChildAt(0)).bitmapData = _local2; } else { _local4 = 0; _local5 = 0; _local6 = new Rectangle(0, 0, 0, 0); _local7 = 0; _local8 = 0; while (_local8 < borderScale9Rects.length) { if ((_local8 % 3) == 0){ _local4 = 0; _local5 = (_local5 + _local6.height); }; if (borderScale9Rects[_local8] == null){ } else { _local6 = Rectangle(borderScale9Rects[_local8]).clone(); _local3.a = 1; if ((((((_local8 == 1)) || ((_local8 == 4)))) || ((_local8 == 7)))){ _local10 = ((_local1.width - (_local4 * 2)) / _local6.width); _local6.x = (_local6.x * _local10); _local6.width = (_local6.width * _local10); _local6.width = Math.round(_local6.width); _local3.a = (_local3.a * _local10); }; _local3.tx = -(_local6.x); _local6.x = 0; _local3.d = 1; if ((((_local8 >= 3)) && ((_local8 <= 5)))){ _local11 = ((_local1.height - (_local5 * 2)) / _local6.height); _local6.y = (_local6.y * _local11); _local6.height = (_local6.height * _local11); _local6.height = Math.round(_local6.height); _local3.d = (_local3.d * _local11); }; _local3.ty = -(_local6.y); _local6.y = 0; _local2 = new BitmapData(_local6.width, _local6.height, true, 0); _local2.draw(border_mc, _local3, borderColorTransform, null, _local6, false); _local9 = Bitmap(borderCopy.getChildAt(_local7)); _local7++; _local9.bitmapData = _local2; _local9.x = _local4; _local9.y = _local5; _local4 = (_local4 + _local6.width); }; _local8++; }; }; borderPrevRect = _local1; }; } flvplayback_internal function createSkin(_arg1:DisplayObject, _arg2:String):DisplayObject{ var stateSkinDesc:*; var theClass:Class; var definitionHolder = _arg1; var skinName = _arg2; try { stateSkinDesc = definitionHolder[skinName]; if ((stateSkinDesc is String)){ try { theClass = Class(definitionHolder.loaderInfo.applicationDomain.getDefinition(stateSkinDesc)); } catch(err1:Error) { theClass = Class(getDefinitionByName(stateSkinDesc)); }; return (DisplayObject(new (theClass))); } else { if ((stateSkinDesc is Class)){ return (new (stateSkinDesc)); } else { if ((stateSkinDesc is DisplayObject)){ return (stateSkinDesc); }; }; }; } catch(err2:Error) { throw (new VideoError(VideoError.MISSING_SKIN_STYLE, skinName)); }; return (null); } flvplayback_internal function hookUpCustomComponents():void{ var searchHash:Object; var doTheSearch:Boolean; var i:int; var dispObj:DisplayObject; var name:String; var index:int; var ctrl:Sprite; searchHash = new Object(); doTheSearch = false; i = 0; while (i < NUM_CONTROLS) { if (controls[i] == null){ searchHash[customComponentClassNames[i]] = i; doTheSearch = true; }; i = (i + 1); }; if (!doTheSearch){ return; }; i = 0; while (i < _vc.parent.numChildren) { dispObj = _vc.parent.getChildAt(i); name = getQualifiedClassName(dispObj); if (searchHash[name] != undefined){ if (typeof(searchHash[name]) == "number"){ index = int(searchHash[name]); try { ctrl = Sprite(dispObj); if ((((((index >= NUM_BUTTONS)) || ((ctrl["placeholder_mc"] is DisplayObject)))) && ((ctrl["uiMgr"] == null)))){ setControl(index, ctrl); searchHash[name] = ctrl; }; } catch(err:Error) { }; }; }; i = (i + 1); }; } flvplayback_internal function addButtonControl(_arg1:Sprite):void{ var _local2:ControlData; var _local3:int; if (_arg1 == null){ return; }; _local2 = ctrlDataDict[_arg1]; _arg1.mouseChildren = false; _local3 = _vc.activeVideoPlayerIndex; _vc.activeVideoPlayerIndex = _vc.visibleVideoPlayerIndex; _local2.state = NORMAL_STATE; setEnabledAndVisibleForState(_local2.index, _vc.state); _arg1.addEventListener(MouseEvent.ROLL_OVER, handleButtonEvent); _arg1.addEventListener(MouseEvent.ROLL_OUT, handleButtonEvent); _arg1.addEventListener(MouseEvent.MOUSE_DOWN, handleButtonEvent); _arg1.addEventListener(MouseEvent.CLICK, handleButtonEvent); if (_arg1.parent == skin_mc){ skinButtonControl(_arg1); } else { _arg1.addEventListener(Event.ENTER_FRAME, skinButtonControl); }; _vc.activeVideoPlayerIndex = _local3; } flvplayback_internal function positionHandle(_arg1:Sprite):void{ var _local2:ControlData; var _local3:Sprite; var _local4:ControlData; var _local5:Number; var _local6:Number; if (_arg1 == null){ return; }; if ((((_arg1["positionHandle"] is Function)) && (_arg1["positionHandle"]()))){ return; }; _local2 = ctrlDataDict[_arg1]; _local3 = _local2.handle_mc; if (_local3 == null){ return; }; _local4 = ctrlDataDict[_local3]; _local5 = (isNaN(_local2.origWidth)) ? _arg1.width : _local2.origWidth; _local6 = ((_local5 - _local4.rightMargin) - _local4.leftMargin); _local3.x = ((_arg1.x + _local4.leftMargin) + ((_local6 * _local2.percentage) / 100)); _local3.y = (_arg1.y + _local4.origY); if (_local2.fullness_mc != null){ positionBar(_arg1, "fullness", _local2.percentage); }; } flvplayback_internal function exitFullScreenTakeOver():void{ var fullScreenBG:Sprite; if (cacheStageAlign == null){ return; }; _vc.removeEventListener(Event.ADDED_TO_STAGE, handleEvent); try { _vc.stage.align = cacheStageAlign; _vc.stage.scaleMode = cacheStageScaleMode; if (_vc.parent != cacheFLVPlaybackParent){ cacheFLVPlaybackParent.addChildAt(_vc, cacheFLVPlaybackIndex); } else { cacheFLVPlaybackParent.setChildIndex(_vc, cacheFLVPlaybackIndex); }; if (cacheStageAlign == null){ return; }; _vc.registrationX = cacheFLVPlaybackLocation.x; _vc.registrationY = cacheFLVPlaybackLocation.y; _vc.setSize(cacheFLVPlaybackLocation.width, cacheFLVPlaybackLocation.height); fullScreenBG = Sprite(_vc.getChildByName("fullScreenBG")); if (fullScreenBG != null){ _vc.removeChild(fullScreenBG); }; } catch(err:Error) { }; _vc.addEventListener(Event.ADDED_TO_STAGE, handleEvent); cacheStageAlign = null; cacheStageScaleMode = null; cacheFLVPlaybackParent = null; cacheFLVPlaybackIndex = 0; cacheFLVPlaybackLocation = null; if (_skinAutoHide != cacheSkinAutoHide){ _skinAutoHide = cacheSkinAutoHide; setupSkinAutoHide(false); }; } flvplayback_internal function positionMaskedFill(_arg1:DisplayObject, _arg2:Number):void{ var ctrlData:ControlData; var fill:DisplayObject; var mask:DisplayObject; var fillData:ControlData; var maskData:ControlData; var slideReveal:Boolean; var maskSprite:Sprite; var barData:ControlData; var ctrl = _arg1; var percent = _arg2; if (ctrl == null){ return; }; ctrlData = ctrlDataDict[ctrl]; fill = ctrlData.fill_mc; if (fill == null){ return; }; mask = ctrlData.mask_mc; if (ctrlData.mask_mc == null){ try { var _local4 = ctrl["mask_mc"]; mask = _local4; ctrlData.mask_mc = _local4; } catch(re:ReferenceError) { ctrlData.mask_mc = null; }; if (ctrlData.mask_mc == null){ maskSprite = new Sprite(); _local4 = maskSprite; mask = _local4; ctrlData.mask_mc = _local4; maskSprite.graphics.beginFill(0xFFFFFF); maskSprite.graphics.drawRect(0, 0, 1, 1); maskSprite.graphics.endFill(); barData = ctrlDataDict[fill]; maskSprite.x = barData.origX; maskSprite.y = barData.origY; maskSprite.width = barData.origWidth; maskSprite.height = barData.origHeight; maskSprite.visible = false; fill.parent.addChild(maskSprite); fill.mask = maskSprite; }; if (ctrlData.mask_mc != null){ calcBarMargins(ctrl, "mask", true); }; }; fillData = ctrlDataDict[fill]; maskData = ctrlDataDict[mask]; try { slideReveal = fill["slideReveal"]; } catch(re:ReferenceError) { slideReveal = false; }; if (fill.parent == ctrl){ if (slideReveal){ fill.x = ((maskData.origX - fillData.origWidth) + ((fillData.origWidth * percent) / 100)); } else { mask.width = ((fillData.origWidth * percent) / 100); }; } else { if (fill.parent == ctrl.parent){ if (slideReveal){ mask.x = (ctrl.x + maskData.leftMargin); mask.y = (ctrl.y + maskData.topMargin); mask.width = ((ctrl.width - maskData.rightMargin) - maskData.leftMargin); mask.height = ((ctrl.height - maskData.topMargin) - maskData.bottomMargin); fill.x = ((mask.x - fillData.origWidth) + ((maskData.origWidth * percent) / 100)); fill.y = (ctrl.y + fillData.topMargin); } else { fill.x = (ctrl.x + fillData.leftMargin); fill.y = (ctrl.y + fillData.topMargin); mask.x = fill.x; mask.y = fill.y; mask.width = ((((ctrl.width - fillData.rightMargin) - fillData.leftMargin) * percent) / 100); mask.height = ((ctrl.height - fillData.topMargin) - fillData.bottomMargin); }; }; }; } flvplayback_internal function calcPercentageFromHandle(_arg1:Sprite):void{ var _local2:ControlData; var _local3:Sprite; var _local4:ControlData; var _local5:Number; var _local6:Number; var _local7:Number; if (_arg1 == null){ return; }; _local2 = ctrlDataDict[_arg1]; if ((((_arg1["calcPercentageFromHandle"] is Function)) && (_arg1["calcPercentageFromHandle"]()))){ if (_local2.percentage < 0){ _local2.percentage = 0; }; if (_local2.percentage > 100){ _local2.percentage = 100; }; return; }; _local3 = _local2.handle_mc; if (_local3 == null){ return; }; _local4 = ctrlDataDict[_local3]; _local5 = (isNaN(_local2.origWidth)) ? _arg1.width : _local2.origWidth; _local6 = ((_local5 - _local4.rightMargin) - _local4.leftMargin); _local7 = (_local3.x - (_arg1.x + _local4.leftMargin)); _local2.percentage = ((_local7 / _local6) * 100); if (_local2.percentage < 0){ _local2.percentage = 0; }; if (_local2.percentage > 100){ _local2.percentage = 100; }; if (_local2.fullness_mc != null){ positionBar(_arg1, "fullness", _local2.percentage); }; } flvplayback_internal function skinAutoHideHitTest(_arg1:TimerEvent, _arg2:Boolean=true):void{ var visibleVP:VideoPlayer; var hit:Boolean; var e = _arg1; var doFade = _arg2; try { if (!__visible){ skin_mc.visible = false; } else { if (_vc.stage != null){ visibleVP = _vc.getVideoPlayer(_vc.visibleVideoPlayerIndex); hit = visibleVP.hitTestPoint(_vc.stage.mouseX, _vc.stage.mouseY, true); if (((((_fullScreen) && (_fullScreenTakeOver))) && (!((e == null))))){ if ((((_vc.stage.mouseX == _skinAutoHideMouseX)) && ((_vc.stage.mouseY == _skinAutoHideMouseY)))){ if ((getTimer() - _skinAutoHideLastMotionTime) > _skinAutoHideMotionTimeout){ hit = false; }; } else { _skinAutoHideLastMotionTime = getTimer(); _skinAutoHideMouseX = _vc.stage.mouseX; _skinAutoHideMouseY = _vc.stage.mouseY; }; }; if (((!(hit)) && (!((border_mc == null))))){ hit = border_mc.hitTestPoint(_vc.stage.mouseX, _vc.stage.mouseY, true); if (((((hit) && (_fullScreen))) && (_fullScreenTakeOver))){ _skinAutoHideLastMotionTime = getTimer(); }; }; if (((!(doFade)) || ((_skinFadingMaxTime <= 0)))){ _skinFadingTimer.stop(); skin_mc.visible = hit; skin_mc.alpha = 1; } else { if (((((((hit) && (skin_mc.visible))) && (((!(_skinFadingTimer.running)) || (_skinFadingIn))))) || (((!(hit)) && (((!(skin_mc.visible)) || (((_skinFadingTimer.running) && (!(_skinFadingIn)))))))))){ } else { _skinFadingTimer.stop(); _skinFadingIn = hit; if (((_skinFadingIn) && ((skin_mc.alpha == 1)))){ skin_mc.alpha = 0; }; _skinFadeStartTime = getTimer(); _skinFadingTimer.start(); skin_mc.visible = true; }; }; }; }; } catch(se:SecurityError) { _skinAutoHideTimer.stop(); _skinFadingTimer.stop(); skin_mc.visible = __visible; skin_mc.alpha = 1; }; } flvplayback_internal function handleRelease(_arg1:int):void{ var _local2:int; _local2 = _vc.activeVideoPlayerIndex; _vc.activeVideoPlayerIndex = _vc.visibleVideoPlayerIndex; if (_arg1 == SEEK_BAR){ seekBarListener(null); } else { if (_arg1 == VOLUME_BAR){ volumeBarListener(null); }; }; stopHandleDrag(controls[_arg1]); _vc.activeVideoPlayerIndex = _local2; if (_arg1 == SEEK_BAR){ _vc._scrubFinish(); }; } flvplayback_internal function setTwoButtonHolderSkin(_arg1:int, _arg2:int, _arg3:String, _arg4:int, _arg5:String):Sprite{ var _local6:Sprite; var _local7:Sprite; var _local8:ControlData; _local7 = new Sprite(); _local8 = new ControlData(this, _local7, null, _arg1); ctrlDataDict[_local7] = _local8; skin_mc.addChild(_local7); _local6 = setupButtonSkin(_arg2); _local6.name = _arg3; _local6.visible = true; _local7.addChild(_local6); _local6 = setupButtonSkin(_arg4); _local6.name = _arg5; _local6.visible = false; _local7.addChild(_local6); return (_local7); } public function set seekBarInterval(_arg1:Number):void{ if (_seekBarTimer.delay == _arg1){ return; }; _seekBarTimer.delay = _arg1; } flvplayback_internal function layoutControl(_arg1:DisplayObject):void{ var _local2:ControlData; var _local3:Rectangle; var _local4:Sprite; var _local5:Rectangle; if (_arg1 == null){ return; }; _local2 = ctrlDataDict[_arg1]; if (_local2 == null){ return; }; if (_local2.avatar == null){ return; }; _local3 = calcLayoutControl(_arg1); _arg1.x = _local3.x; _arg1.y = _local3.y; _arg1.width = _local3.width; _arg1.height = _local3.height; switch (_local2.index){ case SEEK_BAR: case VOLUME_BAR: if (((!((_local2.hit_mc == null))) && ((_local2.hit_mc.parent == skin_mc)))){ _local4 = _local2.hit_mc; _local5 = calcLayoutControl(_local4); _local4.x = _local5.x; _local4.y = _local5.y; _local4.width = _local5.width; _local4.height = _local5.height; }; if (_local2.progress_mc != null){ if (isNaN(_progressPercent)){ _progressPercent = (_vc.isRTMP) ? 100 : 0; }; positionBar(Sprite(_arg1), "progress", _progressPercent); }; positionHandle(Sprite(_arg1)); break; case BUFFERING_BAR: positionMaskedFill(_arg1, 100); break; }; } public function set fullScreenSkinDelay(_arg1:int):void{ _skinAutoHideMotionTimeout = _arg1; } flvplayback_internal function captureMouseEvent(_arg1:MouseEvent):void{ _arg1.stopPropagation(); } flvplayback_internal function handleMouseUp(_arg1:MouseEvent):void{ var _local2:Sprite; var _local3:ControlData; _local2 = controls[mouseCaptureCtrl]; if (_local2 != null){ _local3 = ctrlDataDict[_local2]; _local3.state = (_local2.hitTestPoint(_arg1.stageX, _arg1.stageY, true)) ? OVER_STATE : NORMAL_STATE; skinButtonControl(_local2); switch (mouseCaptureCtrl){ case SEEK_BAR_HANDLE: case SEEK_BAR_HIT: handleRelease(SEEK_BAR); break; case VOLUME_BAR_HANDLE: case VOLUME_BAR_HIT: handleRelease(VOLUME_BAR); break; }; }; _arg1.currentTarget.removeEventListener(MouseEvent.MOUSE_DOWN, captureMouseEvent, true); _arg1.currentTarget.removeEventListener(MouseEvent.MOUSE_OUT, captureMouseEvent, true); _arg1.currentTarget.removeEventListener(MouseEvent.MOUSE_OVER, captureMouseEvent, true); _arg1.currentTarget.removeEventListener(MouseEvent.MOUSE_UP, handleMouseUp); _arg1.currentTarget.removeEventListener(MouseEvent.ROLL_OUT, captureMouseEvent, true); _arg1.currentTarget.removeEventListener(MouseEvent.ROLL_OVER, captureMouseEvent, true); } public function set visible(_arg1:Boolean):void{ if (__visible == _arg1){ return; }; __visible = _arg1; if (!__visible){ skin_mc.visible = false; } else { setupSkinAutoHide(false); }; } public function get bufferingDelayInterval():Number{ return (_bufferingDelayTimer.delay); } public function set fullScreenBackgroundColor(_arg1:uint):void{ if (_fullScreenBgColor != _arg1){ _fullScreenBgColor = _arg1; if (_vc){ }; }; } public function get fullScreenTakeOver():Boolean{ return (_fullScreenTakeOver); } public function set skin(_arg1:String):void{ var _local2:String; if (_arg1 == null){ removeSkin(); _skin = null; _skinReady = true; } else { _local2 = String(_arg1); if (_arg1 == _skin){ return; }; removeSkin(); _skin = String(_arg1); _skinReady = (_skin == ""); if (!_skinReady){ downloadSkin(); }; }; } public function set volumeBarInterval(_arg1:Number):void{ if (_volumeBarTimer.delay == _arg1){ return; }; _volumeBarTimer.delay = _arg1; } flvplayback_internal function setSkin(_arg1:int, _arg2:DisplayObject):void{ var _local3:Sprite; var _local4:ControlData; var _local5:String; if (_arg1 >= NUM_CONTROLS){ return; }; if (_arg1 < NUM_BUTTONS){ _local3 = setupButtonSkin(_arg1); skin_mc.addChild(_local3); _local4 = ctrlDataDict[_local3]; } else { switch (_arg1){ case PLAY_PAUSE_BUTTON: _local3 = setTwoButtonHolderSkin(_arg1, PLAY_BUTTON, "play_mc", PAUSE_BUTTON, "pause_mc"); _local4 = ctrlDataDict[_local3]; break; case FULL_SCREEN_BUTTON: _local3 = setTwoButtonHolderSkin(_arg1, FULL_SCREEN_ON_BUTTON, "on_mc", FULL_SCREEN_OFF_BUTTON, "off_mc"); _local4 = ctrlDataDict[_local3]; break; case MUTE_BUTTON: _local3 = setTwoButtonHolderSkin(_arg1, MUTE_ON_BUTTON, "on_mc", MUTE_OFF_BUTTON, "off_mc"); _local4 = ctrlDataDict[_local3]; break; case SEEK_BAR: case VOLUME_BAR: _local5 = skinClassPrefixes[_arg1]; _local3 = Sprite(createSkin(skinTemplate, _local5)); if (_local3 != null){ skin_mc.addChild(_local3); _local4 = new ControlData(this, _local3, null, _arg1); ctrlDataDict[_local3] = _local4; _local4.progress_mc = setupBarSkinPart(_local3, _arg2, skinTemplate, (_local5 + "Progress"), "progress_mc"); _local4.fullness_mc = setupBarSkinPart(_local3, _arg2, skinTemplate, (_local5 + "Fullness"), "fullness_mc"); _local4.hit_mc = Sprite(setupBarSkinPart(_local3, _arg2, skinTemplate, (_local5 + "Hit"), "hit_mc")); _local4.handle_mc = Sprite(setupBarSkinPart(_local3, _arg2, skinTemplate, (_local5 + "Handle"), "handle_mc", true)); _local3.width = _arg2.width; _local3.height = _arg2.height; }; break; case BUFFERING_BAR: _local5 = skinClassPrefixes[_arg1]; _local3 = Sprite(createSkin(skinTemplate, _local5)); if (_local3 != null){ skin_mc.addChild(_local3); _local4 = new ControlData(this, _local3, null, _arg1); ctrlDataDict[_local3] = _local4; _local4.fill_mc = setupBarSkinPart(_local3, _arg2, skinTemplate, (_local5 + "Fill"), "fill_mc"); _local3.width = _arg2.width; _local3.height = _arg2.height; }; break; }; }; _local4.avatar = _arg2; ctrlDataDict[_local3] = _local4; delayedControls[_arg1] = _local3; } public function set bufferingBarHidesAndDisablesOthers(_arg1:Boolean):void{ _bufferingBarHides = _arg1; } flvplayback_internal function handleSoundEvent(_arg1:SoundEvent):void{ var _local2:Sprite; var _local3:ControlData; if (((_isMuted) && ((_arg1.soundTransform.volume > 0)))){ _isMuted = false; setEnabledAndVisibleForState(MUTE_OFF_BUTTON, VideoState.PLAYING); skinButtonControl(controls[MUTE_OFF_BUTTON]); setEnabledAndVisibleForState(MUTE_ON_BUTTON, VideoState.PLAYING); skinButtonControl(controls[MUTE_ON_BUTTON]); }; _local2 = controls[VOLUME_BAR]; if (_local2 != null){ _local3 = ctrlDataDict[_local2]; _local3.percentage = ((_isMuted) ? cachedSoundLevel : _arg1.soundTransform.volume * 100); if (_local3.percentage < 0){ _local3.percentage = 0; } else { if (_local3.percentage > 100){ _local3.percentage = 100; }; }; positionHandle(_local2); }; } flvplayback_internal function stopHandleDrag(_arg1:Sprite):void{ var ctrlData:ControlData; var handle:Sprite; var ctrl = _arg1; if (ctrl == null){ return; }; ctrlData = ctrlDataDict[ctrl]; try { if ((((ctrl["stopHandleDrag"] is Function)) && (ctrl["stopHandleDrag"]()))){ ctrlData.isDragging = false; return; }; } catch(re:ReferenceError) { }; handle = ctrlData.handle_mc; if (handle == null){ return; }; handle.stopDrag(); ctrlData.isDragging = false; } public function set skinBackgroundAlpha(_arg1:Number):void{ if (borderAlpha != _arg1){ borderAlpha = _arg1; borderColorTransform.alphaOffset = (0xFF * _arg1); borderPrevRect = null; layoutSkin(); }; } public function getControl(_arg1:int):Sprite{ return (controls[_arg1]); } public function set volumeBarScrubTolerance(_arg1:Number):void{ _volumeBarScrubTolerance = _arg1; } flvplayback_internal function calcBarMargins(_arg1:DisplayObject, _arg2:String, _arg3:Boolean):void{ var ctrlData:ControlData; var bar:DisplayObject; var barData:ControlData; var ctrl = _arg1; var type = _arg2; var symmetricMargins = _arg3; if (ctrl == null){ return; }; ctrlData = ctrlDataDict[ctrl]; bar = ctrlData[(type + "_mc")]; if (bar == null){ try { bar = ctrl[(type + "_mc")]; } catch(re:ReferenceError) { bar = null; }; if (bar == null){ return; }; ctrlData[(type + "_mc")] = bar; }; barData = ctrlDataDict[bar]; if (barData == null){ barData = new ControlData(this, bar, ctrl, -1); ctrlDataDict[bar] = barData; }; barData.leftMargin = getNumberPropSafe(ctrl, (type + "LeftMargin")); if (((isNaN(barData.leftMargin)) && ((bar.parent == ctrl.parent)))){ barData.leftMargin = (bar.x - ctrl.x); }; barData.rightMargin = getNumberPropSafe(ctrl, (type + "RightMargin")); if (isNaN(barData.rightMargin)){ if (symmetricMargins){ barData.rightMargin = barData.leftMargin; } else { if (bar.parent == ctrl.parent){ barData.rightMargin = (((ctrl.width - bar.width) - bar.x) + ctrl.x); }; }; }; barData.topMargin = getNumberPropSafe(ctrl, (type + "TopMargin")); if (((isNaN(barData.topMargin)) && ((bar.parent == ctrl.parent)))){ barData.topMargin = (bar.y - ctrl.y); }; barData.bottomMargin = getNumberPropSafe(ctrl, (type + "BottomMargin")); if (isNaN(barData.bottomMargin)){ if (symmetricMargins){ barData.bottomMargin = barData.topMargin; } else { if (bar.parent == ctrl.parent){ barData.bottomMargin = (((ctrl.height - bar.height) - bar.y) + ctrl.y); }; }; }; barData.origX = getNumberPropSafe(ctrl, (type + "X")); if (isNaN(barData.origX)){ if (bar.parent == ctrl.parent){ barData.origX = (bar.x - ctrl.x); } else { if (bar.parent == ctrl){ barData.origX = bar.x; }; }; }; barData.origY = getNumberPropSafe(ctrl, (type + "Y")); if (isNaN(barData.origY)){ if (bar.parent == ctrl.parent){ barData.origY = (bar.y - ctrl.y); } else { if (bar.parent == ctrl){ barData.origY = bar.y; }; }; }; barData.origWidth = bar.width; barData.origHeight = bar.height; barData.origScaleX = bar.scaleX; barData.origScaleY = bar.scaleY; } public function set skinBackgroundColor(_arg1:uint):void{ if (borderColor != _arg1){ borderColor = _arg1; borderColorTransform.redOffset = ((borderColor >> 16) & 0xFF); borderColorTransform.greenOffset = ((borderColor >> 8) & 0xFF); borderColorTransform.blueOffset = (borderColor & 0xFF); borderPrevRect = null; layoutSkin(); }; } flvplayback_internal function handleLoad(_arg1:Event):void{ var i:int; var dispObj:DisplayObject; var index:Number; var e = _arg1; try { skin_mc = new Sprite(); if (e != null){ skinTemplate = Sprite(skinLoader.content); }; layout_mc = skinTemplate; customClips = new Array(); delayedControls = new Array(); i = 0; while (i < layout_mc.numChildren) { dispObj = layout_mc.getChildAt(i); index = layoutNameToIndexMappings[dispObj.name]; if (!isNaN(index)){ setSkin(int(index), dispObj); } else { if (dispObj.name != "video_mc"){ setCustomClip(dispObj); }; }; i = (i + 1); }; skinLoadDelayCount = 0; _vc.addEventListener(Event.ENTER_FRAME, finishLoad); } catch(err:Error) { _vc.skinError(err.message); removeSkin(); }; } flvplayback_internal function finishAddBufferingBar(_arg1:Event=null):void{ var _local2:Sprite; if (_arg1 != null){ _arg1.currentTarget.removeEventListener(Event.ENTER_FRAME, finishAddBufferingBar); }; _local2 = controls[BUFFERING_BAR]; calcBarMargins(_local2, "fill", true); fixUpBar(_local2, "fill", _local2, "fill_mc"); positionMaskedFill(_local2, 100); } flvplayback_internal function handleButtonEvent(_arg1:MouseEvent):void{ var ctrlData:ControlData; var topLevel:DisplayObject; var e = _arg1; ctrlData = ctrlDataDict[e.currentTarget]; switch (e.type){ case MouseEvent.ROLL_OVER: ctrlData.state = OVER_STATE; break; case MouseEvent.ROLL_OUT: ctrlData.state = NORMAL_STATE; break; case MouseEvent.MOUSE_DOWN: ctrlData.state = DOWN_STATE; mouseCaptureCtrl = ctrlData.index; switch (mouseCaptureCtrl){ case SEEK_BAR_HANDLE: case SEEK_BAR_HIT: case VOLUME_BAR_HANDLE: case VOLUME_BAR_HIT: dispatchMessage(ctrlData.index); break; }; topLevel = _vc.stage; try { topLevel.addEventListener(MouseEvent.MOUSE_DOWN, captureMouseEvent, true); } catch(se:SecurityError) { topLevel = _vc.root; topLevel.addEventListener(MouseEvent.MOUSE_DOWN, captureMouseEvent, true); }; topLevel.addEventListener(MouseEvent.MOUSE_OUT, captureMouseEvent, true); topLevel.addEventListener(MouseEvent.MOUSE_OVER, captureMouseEvent, true); topLevel.addEventListener(MouseEvent.MOUSE_UP, handleMouseUp); topLevel.addEventListener(MouseEvent.ROLL_OUT, captureMouseEvent, true); topLevel.addEventListener(MouseEvent.ROLL_OVER, captureMouseEvent, true); break; case MouseEvent.CLICK: switch (mouseCaptureCtrl){ case SEEK_BAR_HANDLE: case SEEK_BAR_HIT: case VOLUME_BAR_HANDLE: case VOLUME_BAR_HIT: break; default: dispatchMessage(ctrlData.index); break; }; return; }; skinButtonControl(e.currentTarget); } flvplayback_internal function applySkinState(_arg1:ControlData, _arg2:DisplayObject):void{ if (_arg2 != _arg1.currentState_mc){ if (_arg1.currentState_mc != null){ _arg1.currentState_mc.visible = false; }; _arg1.currentState_mc = _arg2; _arg1.currentState_mc.visible = true; }; } flvplayback_internal function handleLoadErrorEvent(_arg1:ErrorEvent):void{ _skinReady = true; _vc.skinError(_arg1.toString()); } flvplayback_internal function addBarControl(_arg1:Sprite):void{ var _local2:ControlData; _local2 = ctrlDataDict[_arg1]; _local2.isDragging = false; _local2.percentage = 0; if ((((_arg1.parent == skin_mc)) && (!((skin_mc == null))))){ finishAddBarControl(_arg1); } else { _arg1.addEventListener(Event.REMOVED_FROM_STAGE, cleanupHandle); _arg1.addEventListener(Event.ENTER_FRAME, finishAddBarControl); }; } flvplayback_internal function handleEvent(_arg1:Event):void{ var e = _arg1; switch (e.type){ case Event.ADDED_TO_STAGE: _fullScreen = false; if (_vc.stage != null){ try { _fullScreen = (_vc.stage.displayState == StageDisplayState.FULL_SCREEN); _vc.stage.addEventListener(FullScreenEvent.FULL_SCREEN, handleFullScreenEvent); } catch(se:SecurityError) { }; }; setEnabledAndVisibleForState(FULL_SCREEN_OFF_BUTTON, VideoState.PLAYING); skinButtonControl(controls[FULL_SCREEN_OFF_BUTTON]); setEnabledAndVisibleForState(FULL_SCREEN_ON_BUTTON, VideoState.PLAYING); skinButtonControl(controls[FULL_SCREEN_ON_BUTTON]); if (((_fullScreen) && (_fullScreenTakeOver))){ enterFullScreenTakeOver(); } else { if (!_fullScreen){ exitFullScreenTakeOver(); }; }; layoutSkin(); setupSkinAutoHide(false); break; }; } flvplayback_internal function skinButtonControl(_arg1:Object):void{ var ctrl:Sprite; var ctrlData:ControlData; var e:Event; var ctrlOrEvent = _arg1; if (ctrlOrEvent == null){ return; }; if ((ctrlOrEvent is Event)){ e = Event(ctrlOrEvent); ctrl = Sprite(e.currentTarget); ctrl.removeEventListener(Event.ENTER_FRAME, skinButtonControl); } else { ctrl = Sprite(ctrlOrEvent); }; ctrlData = ctrlDataDict[ctrl]; if (ctrlData == null){ return; }; try { if (ctrl["placeholder_mc"] != undefined){ ctrl.removeChild(ctrl["placeholder_mc"]); ctrl["placeholder_mc"] = null; }; } catch(re:ReferenceError) { }; if (ctrlData.state_mc == null){ ctrlData.state_mc = new Array(); }; if (ctrlData.state_mc[NORMAL_STATE] == undefined){ ctrlData.state_mc[NORMAL_STATE] = setupButtonSkinState(ctrl, ctrl, buttonSkinLinkageIDs[NORMAL_STATE], null); }; if (((ctrlData.enabled) && (_controlsEnabled))){ if (ctrlData.state_mc[ctrlData.state] == undefined){ ctrlData.state_mc[ctrlData.state] = setupButtonSkinState(ctrl, ctrl, buttonSkinLinkageIDs[ctrlData.state], ctrlData.state_mc[NORMAL_STATE]); }; if (ctrlData.state_mc[ctrlData.state] != ctrlData.currentState_mc){ if (ctrlData.currentState_mc != null){ ctrlData.currentState_mc.visible = false; }; ctrlData.currentState_mc = ctrlData.state_mc[ctrlData.state]; ctrlData.currentState_mc.visible = true; }; applySkinState(ctrlData, ctrlData.state_mc[ctrlData.state]); } else { ctrlData.state = NORMAL_STATE; if (ctrlData.disabled_mc == null){ ctrlData.disabled_mc = setupButtonSkinState(ctrl, ctrl, "disabledLinkageID", ctrlData.state_mc[NORMAL_STATE]); }; applySkinState(ctrlData, ctrlData.disabled_mc); }; } public function set controlsEnabled(_arg1:Boolean):void{ var _local2:int; if (_controlsEnabled == _arg1){ return; }; _controlsEnabled = _arg1; _local2 = 0; while (_local2 < NUM_BUTTONS) { skinButtonControl(controls[_local2]); _local2++; }; } flvplayback_internal function setupSkinAutoHide(_arg1:Boolean):void{ if (((_skinAutoHide) && (!((skin_mc == null))))){ skinAutoHideHitTest(null, _arg1); _skinAutoHideTimer.start(); } else { if (skin_mc != null){ if (((((((_arg1) && ((_skinFadingMaxTime > 0)))) && (((!(skin_mc.visible)) || ((skin_mc.alpha < 1)))))) && (__visible))){ _skinFadingTimer.stop(); _skinFadeStartTime = getTimer(); _skinFadingIn = true; if (skin_mc.alpha == 1){ skin_mc.alpha = 0; }; _skinFadingTimer.start(); } else { if (_skinFadingMaxTime <= 0){ _skinFadingTimer.stop(); skin_mc.alpha = 1; }; }; skin_mc.visible = __visible; }; _skinAutoHideTimer.stop(); }; } flvplayback_internal function finishAddBarControl(_arg1:Object):void{ var ctrl:Sprite; var ctrlData:ControlData; var e:Event; var ctrlOrEvent = _arg1; if (ctrlOrEvent == null){ return; }; if ((ctrlOrEvent is Event)){ e = Event(ctrlOrEvent); ctrl = Sprite(e.currentTarget); ctrl.removeEventListener(Event.ENTER_FRAME, finishAddBarControl); } else { ctrl = Sprite(ctrlOrEvent); }; ctrlData = ctrlDataDict[ctrl]; try { if ((ctrl["addBarControl"] is Function)){ var _local3 = ctrl; _local3["addBarControl"](); }; } catch(re:ReferenceError) { }; ctrlData.origWidth = ctrl.width; ctrlData.origHeight = ctrl.height; fixUpBar(ctrl, "progress", ctrl, "progress_mc"); calcBarMargins(ctrl, "progress", false); if (ctrlData.progress_mc != null){ fixUpBar(ctrl, "progressBarFill", ctrlData.progress_mc, "fill_mc"); calcBarMargins(ctrlData.progress_mc, "fill", false); calcBarMargins(ctrlData.progress_mc, "mask", false); if (isNaN(_progressPercent)){ _progressPercent = (_vc.isRTMP) ? 100 : 0; }; positionBar(ctrl, "progress", _progressPercent); }; fixUpBar(ctrl, "fullness", ctrl, "fullness_mc"); calcBarMargins(ctrl, "fullness", false); if (ctrlData.fullness_mc != null){ fixUpBar(ctrl, "fullnessBarFill", ctrlData.fullness_mc, "fill_mc"); calcBarMargins(ctrlData.fullness_mc, "fill", false); calcBarMargins(ctrlData.fullness_mc, "mask", false); }; fixUpBar(ctrl, "hit", ctrl, "hit_mc"); fixUpBar(ctrl, "handle", ctrl, "handle_mc"); calcBarMargins(ctrl, "handle", true); switch (ctrlData.index){ case SEEK_BAR: setControl(SEEK_BAR_HANDLE, ctrlData.handle_mc); if (ctrlData.hit_mc != null){ setControl(SEEK_BAR_HIT, ctrlData.hit_mc); }; break; case VOLUME_BAR: setControl(VOLUME_BAR_HANDLE, ctrlData.handle_mc); if (ctrlData.hit_mc != null){ setControl(VOLUME_BAR_HIT, ctrlData.hit_mc); }; break; }; positionHandle(ctrl); } public function get skin():String{ return (_skin); } public function get fullScreenBackgroundColor():uint{ return (_fullScreenBgColor); } flvplayback_internal function startHandleDrag(_arg1:Sprite):void{ var ctrlData:ControlData; var handle:Sprite; var handleData:ControlData; var theY:Number; var theWidth:Number; var bounds:Rectangle; var ctrl = _arg1; if (ctrl == null){ return; }; ctrlData = ctrlDataDict[ctrl]; try { if ((((ctrl["startHandleDrag"] is Function)) && (ctrl["startHandleDrag"]()))){ ctrlData.isDragging = true; return; }; } catch(re:ReferenceError) { }; handle = ctrlData.handle_mc; if (handle == null){ return; }; handleData = ctrlDataDict[handle]; theY = (ctrl.y + handleData.origY); theWidth = (isNaN(ctrlData.origWidth)) ? ctrl.width : ctrlData.origWidth; bounds = new Rectangle((ctrl.x + handleData.leftMargin), theY, (theWidth - handleData.rightMargin), 0); handle.startDrag(false, bounds); ctrlData.isDragging = true; } flvplayback_internal function setupBarSkinPart(_arg1:Sprite, _arg2:DisplayObject, _arg3:Sprite, _arg4:String, _arg5:String, _arg6:Boolean=false):DisplayObject{ var part:DisplayObject; var partAvatar:DisplayObject; var ctrlData:ControlData; var partData:ControlData; var ctrl = _arg1; var avatar = _arg2; var definitionHolder = _arg3; var skinName = _arg4; var partName = _arg5; var required = _arg6; try { part = ctrl[partName]; } catch(re:ReferenceError) { part = null; }; if (part == null){ try { part = createSkin(definitionHolder, skinName); } catch(ve:VideoError) { if (required){ throw (ve); }; }; if (part != null){ skin_mc.addChild(part); part.x = ctrl.x; part.y = ctrl.y; partAvatar = layout_mc.getChildByName((skinName + "_mc")); if (partAvatar != null){ if (partName == "hit_mc"){ ctrlData = ctrlDataDict[ctrl]; partData = new ControlData(this, part, controls[ctrlData.index], -1); partData.avatar = partAvatar; ctrlDataDict[part] = partData; } else { part.x = (part.x + (partAvatar.x - avatar.x)); part.y = (part.y + (partAvatar.y - avatar.y)); part.width = partAvatar.width; part.height = partAvatar.height; }; }; }; }; if (((required) && ((part == null)))){ throw (new VideoError(VideoError.MISSING_SKIN_STYLE, skinName)); }; return (part); } public function get skinBackgroundAlpha():Number{ return (borderAlpha); } public function get volumeBarScrubTolerance():Number{ return (_volumeBarScrubTolerance); } public function get skinBackgroundColor():uint{ return (borderColor); } public function get controlsEnabled():Boolean{ return (_controlsEnabled); } flvplayback_internal function handleIVPEvent(_arg1:IVPEvent):void{ var _local2:uint; var _local3:int; var _local4:VideoEvent; var _local5:Sprite; var _local6:ControlData; var _local7:VideoProgressEvent; var _local8:VideoPlayerState; var _local9:Number; var _local10:Number; var _local11:Number; if (_arg1.vp != _vc.visibleVideoPlayerIndex){ return; }; _local2 = _vc.activeVideoPlayerIndex; _vc.activeVideoPlayerIndex = _vc.visibleVideoPlayerIndex; switch (_arg1.type){ case VideoEvent.STATE_CHANGE: _local4 = VideoEvent(_arg1); if (_local4.state == VideoState.BUFFERING){ if (!_bufferingOn){ _bufferingDelayTimer.reset(); _bufferingDelayTimer.start(); }; } else { _bufferingDelayTimer.reset(); _bufferingOn = false; }; if (_local4.state == VideoState.LOADING){ _progressPercent = (_vc.getVideoPlayer(_arg1.vp).isRTMP) ? 100 : 0; _local3 = SEEK_BAR; while (_local3 <= VOLUME_BAR) { _local5 = controls[_local3]; if (controls[_local3] == null){ } else { _local6 = ctrlDataDict[_local5]; if (_local6.progress_mc != null){ positionBar(_local5, "progress", _progressPercent); }; }; _local3++; }; }; _local3 = 0; while (_local3 < NUM_CONTROLS) { if (controls[_local3] == undefined){ } else { setEnabledAndVisibleForState(_local3, _local4.state); if (_local3 < NUM_BUTTONS){ skinButtonControl(controls[_local3]); }; }; _local3++; }; break; case VideoEvent.READY: case MetadataEvent.METADATA_RECEIVED: _local3 = 0; while (_local3 < NUM_CONTROLS) { if (controls[_local3] == undefined){ } else { setEnabledAndVisibleForState(_local3, _vc.state); if (_local3 < NUM_BUTTONS){ skinButtonControl(controls[_local3]); }; }; _local3++; }; if (_vc.getVideoPlayer(_arg1.vp).isRTMP){ _progressPercent = 100; _local3 = SEEK_BAR; while (_local3 <= VOLUME_BAR) { _local5 = controls[_local3]; if (_local5 == null){ } else { _local6 = ctrlDataDict[_local5]; if (_local6.progress_mc != null){ positionBar(_local5, "progress", _progressPercent); }; }; _local3++; }; }; break; case VideoEvent.PLAYHEAD_UPDATE: if (((((((!((controls[SEEK_BAR] == undefined))) && (!(_vc.isLive)))) && (!(isNaN(_vc.totalTime))))) && (!((_vc.getVideoPlayer(_vc.visibleVideoPlayerIndex).state == VideoState.SEEKING))))){ _local4 = VideoEvent(_arg1); _local10 = ((_local4.playheadTime / _vc.totalTime) * 100); if (_local10 < 0){ _local10 = 0; } else { if (_local10 > 100){ _local10 = 100; }; }; _local5 = controls[SEEK_BAR]; _local6 = ctrlDataDict[_local5]; _local6.percentage = _local10; positionHandle(_local5); }; break; case VideoProgressEvent.PROGRESS: _local7 = VideoProgressEvent(_arg1); _progressPercent = ((_local7.bytesTotal)<=0) ? 100 : ((_local7.bytesLoaded / _local7.bytesTotal) * 100); _local8 = _vc.videoPlayerStates[_arg1.vp]; _local9 = _local8.minProgressPercent; if (((!(isNaN(_local9))) && ((_local9 > _progressPercent)))){ _progressPercent = _local9; }; if (!isNaN(_vc.totalTime)){ _local11 = ((_vc.playheadTime / _vc.totalTime) * 100); if (_local11 > _progressPercent){ _progressPercent = _local11; _local8.minProgressPercent = _progressPercent; }; }; _local3 = SEEK_BAR; while (_local3 <= VOLUME_BAR) { _local5 = controls[_local3]; if (_local5 == null){ } else { _local6 = ctrlDataDict[_local5]; if (_local6.progress_mc != null){ positionBar(_local5, "progress", _progressPercent); }; }; _local3++; }; break; }; _vc.activeVideoPlayerIndex = _local2; } flvplayback_internal function setupButtonSkinState(_arg1:Sprite, _arg2:Sprite, _arg3:String, _arg4:DisplayObject=null):DisplayObject{ var stateSkin:DisplayObject; var ctrl = _arg1; var definitionHolder = _arg2; var skinName = _arg3; var defaultSkin = _arg4; try { stateSkin = createSkin(definitionHolder, skinName); } catch(ve:VideoError) { if (defaultSkin != null){ stateSkin = null; } else { throw (ve); }; }; if (stateSkin != null){ stateSkin.visible = false; ctrl.addChild(stateSkin); } else { if (defaultSkin != null){ stateSkin = defaultSkin; }; }; return (stateSkin); } flvplayback_internal function layoutSkin():void{ var video_mc:DisplayObject; var i:int; var borderRect:Rectangle; var forceSkinAutoHide:Boolean; var minWidth:Number; var vidWidth:Number; var minHeight:Number; var vidHeight:Number; if (layout_mc == null){ return; }; if (skinLoadDelayCount < 2){ return; }; video_mc = layout_mc["video_mc"]; if (video_mc == null){ throw (new Error("No layout_mc.video_mc")); }; placeholderLeft = video_mc.x; placeholderRight = (video_mc.x + video_mc.width); placeholderTop = video_mc.y; placeholderBottom = (video_mc.y + video_mc.height); videoLeft = (_vc.x - _vc.registrationX); videoRight = (videoLeft + _vc.width); videoTop = (_vc.y - _vc.registrationY); videoBottom = (videoTop + _vc.height); if (((((_fullScreen) && (_fullScreenTakeOver))) && (!((border_mc == null))))){ borderRect = calcLayoutControl(border_mc); forceSkinAutoHide = false; if ((((borderRect.width > 0)) && ((borderRect.height > 0)))){ if (borderRect.x < 0){ placeholderLeft = (placeholderLeft + (videoLeft - borderRect.x)); forceSkinAutoHide = true; }; if ((borderRect.x + borderRect.width) > _vc.registrationWidth){ placeholderRight = (placeholderRight + ((borderRect.x + borderRect.width) - videoRight)); forceSkinAutoHide = true; }; if (borderRect.y < 0){ placeholderTop = (placeholderTop + (videoTop - borderRect.y)); forceSkinAutoHide = true; }; if ((borderRect.y + borderRect.height) > _vc.registrationHeight){ placeholderBottom = (placeholderBottom + ((borderRect.y + borderRect.height) - videoBottom)); forceSkinAutoHide = true; }; if (forceSkinAutoHide){ _skinAutoHide = true; setupSkinAutoHide(true); }; }; }; try { if (!isNaN(layout_mc["minWidth"])){ minWidth = layout_mc["minWidth"]; vidWidth = (videoRight - videoLeft); if ((((minWidth > 0)) && ((minWidth > vidWidth)))){ videoLeft = (videoLeft - ((minWidth - vidWidth) / 2)); videoRight = (minWidth + videoLeft); }; }; } catch(re1:ReferenceError) { }; try { if (!isNaN(layout_mc["minHeight"])){ minHeight = layout_mc["minHeight"]; vidHeight = (videoBottom - videoTop); if ((((minHeight > 0)) && ((minHeight > vidHeight)))){ videoTop = (videoTop - ((minHeight - vidHeight) / 2)); videoBottom = (minHeight + videoTop); }; }; } catch(re2:ReferenceError) { }; i = 0; while (i < customClips.length) { layoutControl(customClips[i]); if (customClips[i] == border_mc){ bitmapCopyBorder(); }; i = (i + 1); }; i = 0; while (i < NUM_CONTROLS) { layoutControl(controls[i]); i = (i + 1); }; } public function set bufferingDelayInterval(_arg1:Number):void{ if (_bufferingDelayTimer.delay == _arg1){ return; }; _bufferingDelayTimer.delay = _arg1; } flvplayback_internal function setEnabledAndVisibleForState(_arg1:int, _arg2:String):void{ var _local3:int; var _local4:String; var _local5:Sprite; var _local6:ControlData; var _local7:Boolean; var _local8:ControlData; var _local9:ControlData; var _local10:ControlData; var _local11:ControlData; _local3 = _vc.activeVideoPlayerIndex; _vc.activeVideoPlayerIndex = _vc.visibleVideoPlayerIndex; _local4 = _arg2; if ((((_local4 == VideoState.BUFFERING)) && (!(_bufferingOn)))){ _local4 = VideoState.PLAYING; }; _local5 = controls[_arg1]; if (_local5 == null){ return; }; _local6 = ctrlDataDict[_local5]; if (_local6 == null){ return; }; switch (_arg1){ case VOLUME_BAR: case VOLUME_BAR_HANDLE: case VOLUME_BAR_HIT: _local6.enabled = true; break; case FULL_SCREEN_ON_BUTTON: _local6.enabled = !(_fullScreen); if (controls[FULL_SCREEN_BUTTON] != undefined){ _local5.visible = _local6.enabled; }; break; case FULL_SCREEN_OFF_BUTTON: _local6.enabled = _fullScreen; if (controls[FULL_SCREEN_BUTTON] != undefined){ _local5.visible = _local6.enabled; }; break; case MUTE_ON_BUTTON: _local6.enabled = !(_isMuted); if (controls[MUTE_BUTTON] != undefined){ _local5.visible = _local6.enabled; }; break; case MUTE_OFF_BUTTON: _local6.enabled = _isMuted; if (controls[MUTE_BUTTON] != undefined){ _local5.visible = _local6.enabled; }; break; default: switch (_local4){ case VideoState.LOADING: case VideoState.CONNECTION_ERROR: _local6.enabled = false; break; case VideoState.DISCONNECTED: _local6.enabled = ((!((_vc.source == null))) && (!((_vc.source == "")))); break; case VideoState.SEEKING: break; default: _local6.enabled = true; break; }; break; }; switch (_arg1){ case SEEK_BAR: switch (_local4){ case VideoState.STOPPED: case VideoState.PLAYING: case VideoState.PAUSED: case VideoState.REWINDING: case VideoState.SEEKING: _local6.enabled = true; break; case VideoState.BUFFERING: _local6.enabled = ((!(_bufferingBarHides)) || ((controls[BUFFERING_BAR] == undefined))); break; default: _local6.enabled = false; break; }; if (_local6.enabled){ _local6.enabled = !(isNaN(_vc.totalTime)); }; if (_local6.handle_mc != null){ _local8 = ctrlDataDict[_local6.handle_mc]; _local8.enabled = _local6.enabled; _local6.handle_mc.visible = _local8.enabled; }; if (_local6.hit_mc != null){ _local9 = ctrlDataDict[_local6.hit_mc]; _local9.enabled = _local6.enabled; _local6.hit_mc.visible = _local9.enabled; }; _local7 = ((((((!(_bufferingBarHides)) || (_local6.enabled))) || ((controls[BUFFERING_BAR] == undefined)))) || (!(controls[BUFFERING_BAR].visible))); _local5.visible = _local7; if (_local6.progress_mc != null){ _local6.progress_mc.visible = _local7; _local10 = ctrlDataDict[_local6.progress_mc]; if (_local10.fill_mc != null){ _local10.fill_mc.visible = _local7; }; }; if (_local6.fullness_mc != null){ _local6.fullness_mc.visible = _local7; _local11 = ctrlDataDict[_local6.fullness_mc]; if (_local11.fill_mc != null){ _local11.fill_mc.visible = _local7; }; }; break; case BUFFERING_BAR: switch (_local4){ case VideoState.STOPPED: case VideoState.PLAYING: case VideoState.PAUSED: case VideoState.REWINDING: case VideoState.SEEKING: _local6.enabled = false; break; default: _local6.enabled = true; break; }; _local5.visible = _local6.enabled; if (_local6.fill_mc != null){ _local6.fill_mc.visible = _local6.enabled; }; break; case PAUSE_BUTTON: switch (_local4){ case VideoState.DISCONNECTED: case VideoState.STOPPED: case VideoState.PAUSED: case VideoState.REWINDING: _local6.enabled = false; break; case VideoState.PLAYING: _local6.enabled = true; break; case VideoState.BUFFERING: _local6.enabled = ((!(_bufferingBarHides)) || ((controls[BUFFERING_BAR] == undefined))); break; }; if (controls[PLAY_PAUSE_BUTTON] != undefined){ _local5.visible = _local6.enabled; }; break; case PLAY_BUTTON: switch (_local4){ case VideoState.PLAYING: _local6.enabled = false; break; case VideoState.STOPPED: case VideoState.PAUSED: _local6.enabled = true; break; case VideoState.BUFFERING: _local6.enabled = ((!(_bufferingBarHides)) || ((controls[BUFFERING_BAR] == undefined))); break; }; if (controls[PLAY_PAUSE_BUTTON] != undefined){ _local5.visible = !(controls[PAUSE_BUTTON].visible); }; break; case STOP_BUTTON: switch (_local4){ case VideoState.DISCONNECTED: case VideoState.STOPPED: _local6.enabled = false; break; case VideoState.PAUSED: case VideoState.PLAYING: case VideoState.BUFFERING: _local6.enabled = true; break; }; break; case BACK_BUTTON: case FORWARD_BUTTON: switch (_local4){ case VideoState.BUFFERING: _local6.enabled = ((!(_bufferingBarHides)) || ((controls[BUFFERING_BAR] == undefined))); break; }; }; _local5.mouseEnabled = _local6.enabled; _vc.activeVideoPlayerIndex = _local3; } flvplayback_internal function cleanupHandle(_arg1:Object):void{ var e:Event; var ctrl:Sprite; var ctrlData:ControlData; var ctrlOrEvent = _arg1; try { if ((ctrlOrEvent is Event)){ e = Event(ctrlOrEvent); }; ctrl = ((e == null)) ? Sprite(ctrlOrEvent) : Sprite(e.currentTarget); ctrlData = ctrlDataDict[ctrl]; if ((((ctrlData == null)) || ((e == null)))){ ctrl.removeEventListener(Event.REMOVED_FROM_STAGE, cleanupHandle, false); if (ctrlData == null){ return; }; }; ctrl.removeEventListener(Event.ENTER_FRAME, finishAddBarControl); if (ctrlData.handle_mc != null){ if (ctrlData.handle_mc.parent != null){ ctrlData.handle_mc.parent.removeChild(ctrlData.handle_mc); }; delete ctrlDataDict[ctrlData.handle_mc]; ctrlData.handle_mc = null; }; if (ctrlData.hit_mc != null){ if (ctrlData.hit_mc.parent != null){ ctrlData.hit_mc.parent.removeChild(ctrlData.hit_mc); }; delete ctrlDataDict[ctrlData.hit_mc]; ctrlData.hit_mc = null; }; } catch(err:Error) { }; } flvplayback_internal function enterFullScreenTakeOver():void{ var fullScreenBG:Sprite; if (((!(_fullScreen)) || (!((cacheStageAlign == null))))){ return; }; _vc.removeEventListener(Event.ADDED_TO_STAGE, handleEvent); try { cacheStageAlign = _vc.stage.align; cacheStageScaleMode = _vc.stage.scaleMode; cacheFLVPlaybackParent = _vc.parent; cacheFLVPlaybackIndex = _vc.parent.getChildIndex(_vc); cacheFLVPlaybackLocation = new Rectangle(_vc.registrationX, _vc.registrationY, _vc.registrationWidth, _vc.registrationHeight); _vc.stage.align = StageAlign.TOP_LEFT; _vc.stage.scaleMode = StageScaleMode.NO_SCALE; if (_vc.stage != _vc.parent){ _vc.stage.addChild(_vc); } else { _vc.stage.setChildIndex(_vc, (_vc.stage.numChildren - 1)); }; _vc.registrationX = 0; _vc.registrationY = 0; _vc.setSize(_vc.stage.stageWidth, _vc.stage.stageHeight); fullScreenBG = Sprite(_vc.getChildByName("fullScreenBG")); if (fullScreenBG == null){ fullScreenBG = new Sprite(); fullScreenBG.name = "fullScreenBG"; _vc.addChildAt(fullScreenBG, 0); } else { _vc.setChildIndex(fullScreenBG, 0); }; fullScreenBG.graphics.beginFill(_fullScreenBgColor); fullScreenBG.graphics.drawRect(0, 0, _vc.stage.stageWidth, _vc.stage.stageHeight); } catch(err:Error) { }; _vc.addEventListener(Event.ADDED_TO_STAGE, handleEvent); } public function set seekBarScrubTolerance(_arg1:Number):void{ _seekBarScrubTolerance = _arg1; } public function set fullScreenTakeOver(_arg1:Boolean):void{ if (_fullScreenTakeOver != _arg1){ _fullScreenTakeOver = _arg1; if (_fullScreenTakeOver){ enterFullScreenTakeOver(); } else { exitFullScreenTakeOver(); }; }; } public function get seekBarScrubTolerance():Number{ return (_seekBarScrubTolerance); } flvplayback_internal static function getBooleanPropSafe(_arg1:Object, _arg2:String):Boolean{ var boolProp:*; var obj = _arg1; var propName = _arg2; try { boolProp = obj[propName]; return (Boolean(boolProp)); } catch(re:ReferenceError) { }; return (false); } flvplayback_internal static function initLayoutNameToIndexMappings():void{ var _local1:int; layoutNameToIndexMappings = new Object(); _local1 = 0; while (_local1 < layoutNameArray.length) { if (layoutNameArray[_local1] != null){ layoutNameToIndexMappings[layoutNameArray[_local1]] = _local1; }; _local1++; }; } flvplayback_internal static function getNumberPropSafe(_arg1:Object, _arg2:String):Number{ var numProp:*; var obj = _arg1; var propName = _arg2; try { numProp = obj[propName]; return (Number(numProp)); } catch(re:ReferenceError) { }; return (NaN); } } }//package fl.video
Section 67
//VideoAlign (fl.video.VideoAlign) package fl.video { public final class VideoAlign { public static const CENTER:String = "center"; public static const LEFT:String = "left"; public static const BOTTOM_RIGHT:String = "bottomRight"; public static const BOTTOM:String = "bottom"; public static const TOP_LEFT:String = "topLeft"; public static const TOP_RIGHT:String = "topRight"; public static const TOP:String = "top"; public static const BOTTOM_LEFT:String = "bottomLeft"; public static const RIGHT:String = "right"; } }//package fl.video
Section 68
//VideoError (fl.video.VideoError) package fl.video { public class VideoError extends Error { private var _code:uint; public static const INVALID_SOURCE:uint = 1004; flvplayback_internal static const ERROR_MSG:Array = ["Unable to make connection to server or to find FLV on server", "No matching cue point found", "Illegal cue point", "Invalid seek", "Invalid source", "Invalid xml", "No bitrate match, must be no default flv", "Cannot delete default VideoPlayer", "VideoPlayer.iNCManagerClass has not been set or its value is invalid", "Null url parameter sent to load()", "Skin is missing a required style definition or its value is invalid", "Unsupported property"]; public static const NULL_URL_LOAD:uint = 1009; public static const INVALID_XML:uint = 1005; flvplayback_internal static const BASE_ERROR_CODE:uint = 1000; public static const DELETE_DEFAULT_PLAYER:uint = 1007; public static const SHORT_VERSION:String = "2.0"; public static const UNSUPPORTED_PROPERTY:uint = 1011; public static const ILLEGAL_CUE_POINT:uint = 1002; public static const INVALID_SEEK:uint = 1003; public static const NO_CONNECTION:uint = 1000; public static const MISSING_SKIN_STYLE:uint = 1010; public static const INCMANAGER_CLASS_UNSET:uint = 1008; public static const NO_BITRATE_MATCH:uint = 1006; public static const VERSION:String = "2.0.0.37"; public function VideoError(_arg1:uint, _arg2:String=null){ super((((("" + _arg1) + ": ") + ERROR_MSG[(_arg1 - BASE_ERROR_CODE)]) + ((_arg2)==null) ? "" : (": " + _arg2))); name = "VideoError"; _code = _arg1; } public function get code():uint{ return (_code); } } }//package fl.video
Section 69
//VideoEvent (fl.video.VideoEvent) package fl.video { import flash.events.*; public class VideoEvent extends Event implements IVPEvent { private var _vp:uint; private var _playheadTime:Number; private var _state:String; public static const FAST_FORWARD:String = "fastForward"; public static const READY:String = "ready"; public static const SKIN_LOADED:String = "skinLoaded"; public static const SCRUB_FINISH:String = "scrubFinish"; public static const BUFFERING_STATE_ENTERED:String = "bufferingStateEntered"; public static const STOPPED_STATE_ENTERED:String = "stoppedStateEntered"; public static const AUTO_REWOUND:String = "autoRewound"; public static const SCRUB_START:String = "scrubStart"; public static const PLAYHEAD_UPDATE:String = "playheadUpdate"; public static const SEEKED:String = "seeked"; public static const PLAYING_STATE_ENTERED:String = "playingStateEntered"; public static const CLOSE:String = "close"; public static const PAUSED_STATE_ENTERED:String = "pausedStateEntered"; public static const COMPLETE:String = "complete"; public static const REWIND:String = "rewind"; public static const STATE_CHANGE:String = "stateChange"; public function VideoEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:String=null, _arg5:Number=NaN, _arg6:uint=0){ super(_arg1, _arg2, _arg3); _state = _arg4; _playheadTime = _arg5; _vp = _arg6; } public function set playheadTime(_arg1:Number):void{ _playheadTime = _arg1; } public function get playheadTime():Number{ return (_playheadTime); } public function get state():String{ return (_state); } public function get vp():uint{ return (_vp); } override public function clone():Event{ return (new VideoEvent(type, bubbles, cancelable, state, playheadTime, vp)); } public function set state(_arg1:String):void{ _state = _arg1; } public function set vp(_arg1:uint):void{ _vp = _arg1; } } }//package fl.video
Section 70
//VideoPlayer (fl.video.VideoPlayer) package fl.video { import flash.events.*; import flash.utils.*; import flash.geom.*; import flash.net.*; import flash.media.*; public class VideoPlayer extends Video { protected var _align:String; protected var _registrationWidth:Number; flvplayback_internal var _updateProgressTimer:Timer; flvplayback_internal var _atEndCheckPlayhead:Number; flvplayback_internal var _hiddenForResize:Boolean; flvplayback_internal var startProgressTime:Number; protected var _volume:Number; flvplayback_internal var _invalidSeekTime:Boolean; flvplayback_internal var _readyDispatched:Boolean; flvplayback_internal var lastUpdateTimeStuckCount:Number; protected var _ns:NetStream; protected var _isLive:Boolean; flvplayback_internal var _bufferState:String; protected var _streamLength:Number; flvplayback_internal var _rtmpDoSeekTimer:Timer; protected var _contentPath:String; flvplayback_internal var lastUpdateTimeStuckCountMax:int;// = 5 protected var _metadata:Object; protected var __visible:Boolean; flvplayback_internal var autoResizeMetadataDelayMax:Number;// = 5 protected var _scaleMode:String; flvplayback_internal var _lastUpdateTime:Number; flvplayback_internal var _sawPlayStop:Boolean; flvplayback_internal var _atEnd:Boolean; flvplayback_internal var _sawSeekNotify:Boolean; flvplayback_internal var _idleTimeoutTimer:Timer; flvplayback_internal var _prevVideoWidth:int; protected var _registrationX:Number; protected var _registrationY:Number; protected var _bufferTime:Number; flvplayback_internal var _cachedState:String; flvplayback_internal var totalDownloadTime:Number; flvplayback_internal var _cachedPlayheadTime:Number; protected var _autoPlay:Boolean; protected var _autoRewind:Boolean; flvplayback_internal var _invalidSeekRecovery:Boolean; flvplayback_internal var _hiddenRewindPlayheadTime:Number; flvplayback_internal var _prevVideoHeight:int; protected var _ncMgr:INCManager; protected var _soundTransform:SoundTransform; flvplayback_internal var _httpDoSeekCount:Number; flvplayback_internal var oldRegistrationBounds:Rectangle; flvplayback_internal var _cmdQueue:Array; flvplayback_internal var _updateTimeTimer:Timer; flvplayback_internal var httpDoSeekMaxCount:Number;// = 4 flvplayback_internal var _startingPlay:Boolean; flvplayback_internal var baselineProgressTime:Number; flvplayback_internal var _autoResizeTimer:Timer; flvplayback_internal var _autoResizeDone:Boolean; flvplayback_internal var _httpDoSeekTimer:Timer; protected var _state:String; protected var _videoWidth:int; flvplayback_internal var _finishAutoResizeTimer:Timer; flvplayback_internal var _currentPos:Number; flvplayback_internal var oldBounds:Rectangle; protected var _videoHeight:int; flvplayback_internal var waitingForEnough:Boolean; flvplayback_internal var _delayedBufferingTimer:Timer; protected var _registrationHeight:Number; flvplayback_internal var _hiddenForResizeMetadataDelay:Number; flvplayback_internal var autoResizePlayheadTimeout:Number;// = 0.5 flvplayback_internal var _rtmpDoStopAtEndTimer:Timer; flvplayback_internal var totalProgressTime:Number; flvplayback_internal static const DEFAULT_HTTP_DO_SEEK_MAX_COUNT:Number = 4; flvplayback_internal static const FINISH_AUTO_RESIZE_INTERVAL:Number = 250; flvplayback_internal static const DEFAULT_AUTO_RESIZE_PLAYHEAD_TIMEOUT:Number = 0.5; flvplayback_internal static const DEFAULT_AUTO_RESIZE_METADATA_DELAY_MAX:Number = 5; public static const SHORT_VERSION:String = "2.0"; flvplayback_internal static const HTTP_DO_SEEK_INTERVAL:Number = 250; flvplayback_internal static const RTMP_DO_SEEK_INTERVAL:Number = 100; flvplayback_internal static const HTTP_DELAYED_BUFFERING_INTERVAL:Number = 100; public static const DEFAULT_UPDATE_TIME_INTERVAL:Number = 250; flvplayback_internal static const AUTO_RESIZE_INTERVAL:Number = 100; flvplayback_internal static const DEFAULT_LAST_UPDATE_TIME_STUCK_COUNT_MAX:int = 5; flvplayback_internal static const RTMP_DO_STOP_AT_END_INTERVAL:Number = 500; public static const DEFAULT_IDLE_TIMEOUT_INTERVAL:Number = 300000; public static const VERSION:String = "2.0.0.37"; public static const DEFAULT_UPDATE_PROGRESS_INTERVAL:Number = 250; public static var iNCManagerClass:Object = "fl.video.NCManager"; flvplayback_internal static var BUFFER_FLUSH:String = "bufferFlush"; flvplayback_internal static var BUFFER_FULL:String = "bufferFull"; flvplayback_internal static var BUFFER_EMPTY:String = "bufferEmpty"; public function VideoPlayer(_arg1:int=320, _arg2:int=240){ autoResizePlayheadTimeout = DEFAULT_AUTO_RESIZE_PLAYHEAD_TIMEOUT; autoResizeMetadataDelayMax = DEFAULT_AUTO_RESIZE_METADATA_DELAY_MAX; httpDoSeekMaxCount = DEFAULT_HTTP_DO_SEEK_MAX_COUNT; lastUpdateTimeStuckCountMax = DEFAULT_LAST_UPDATE_TIME_STUCK_COUNT_MAX; super(_arg1, _arg2); _registrationX = x; _registrationY = y; _registrationWidth = _arg1; _registrationHeight = _arg2; _state = VideoState.DISCONNECTED; _cachedState = _state; _bufferState = BUFFER_EMPTY; _sawPlayStop = false; _cachedPlayheadTime = 0; _metadata = null; _startingPlay = false; _invalidSeekTime = false; _invalidSeekRecovery = false; _currentPos = 0; _atEnd = false; _streamLength = 0; _cmdQueue = new Array(); _readyDispatched = false; _autoResizeDone = false; _lastUpdateTime = NaN; lastUpdateTimeStuckCount = 0; _sawSeekNotify = false; _hiddenForResize = false; _hiddenForResizeMetadataDelay = 0; _videoWidth = -1; _videoHeight = -1; _prevVideoWidth = 0; _prevVideoHeight = 0; _updateTimeTimer = new Timer(DEFAULT_UPDATE_TIME_INTERVAL); _updateTimeTimer.addEventListener(TimerEvent.TIMER, doUpdateTime); _updateProgressTimer = new Timer(DEFAULT_UPDATE_PROGRESS_INTERVAL); _updateProgressTimer.addEventListener(TimerEvent.TIMER, doUpdateProgress); _idleTimeoutTimer = new Timer(DEFAULT_IDLE_TIMEOUT_INTERVAL, 1); _idleTimeoutTimer.addEventListener(TimerEvent.TIMER, doIdleTimeout); _autoResizeTimer = new Timer(AUTO_RESIZE_INTERVAL); _autoResizeTimer.addEventListener(TimerEvent.TIMER, doAutoResize); _rtmpDoStopAtEndTimer = new Timer(RTMP_DO_STOP_AT_END_INTERVAL); _rtmpDoStopAtEndTimer.addEventListener(TimerEvent.TIMER, rtmpDoStopAtEnd); _rtmpDoSeekTimer = new Timer(RTMP_DO_SEEK_INTERVAL); _rtmpDoSeekTimer.addEventListener(TimerEvent.TIMER, rtmpDoSeek); _httpDoSeekTimer = new Timer(HTTP_DO_SEEK_INTERVAL); _httpDoSeekTimer.addEventListener(TimerEvent.TIMER, httpDoSeek); _httpDoSeekCount = 0; _finishAutoResizeTimer = new Timer(FINISH_AUTO_RESIZE_INTERVAL, 1); _finishAutoResizeTimer.addEventListener(TimerEvent.TIMER, finishAutoResize); _delayedBufferingTimer = new Timer(HTTP_DELAYED_BUFFERING_INTERVAL); _delayedBufferingTimer.addEventListener(TimerEvent.TIMER, doDelayedBuffering); _isLive = false; _align = VideoAlign.CENTER; _scaleMode = VideoScaleMode.MAINTAIN_ASPECT_RATIO; _autoPlay = true; _autoRewind = false; _bufferTime = 0.1; _soundTransform = new SoundTransform(); _volume = _soundTransform.volume; __visible = true; _contentPath = ""; waitingForEnough = false; baselineProgressTime = NaN; startProgressTime = NaN; totalDownloadTime = NaN; totalProgressTime = NaN; } public function get playheadTime():Number{ var _local1:Number; _local1 = ((_ns)==null) ? _currentPos : _ns.time; if (((!((_metadata == null))) && (!((_metadata.audiodelay == undefined))))){ _local1 = (_local1 - _metadata.audiodelay); if (_local1 < 0){ _local1 = 0; }; }; return (_local1); } public function stop():void{ if (!isXnOK()){ if ((((((_state == VideoState.CONNECTION_ERROR)) || ((_ncMgr == null)))) || ((_ncMgr.netConnection == null)))){ throw (new VideoError(VideoError.NO_CONNECTION)); }; return; } else { if (_state == VideoState.EXEC_QUEUED_CMD){ _state = _cachedState; } else { if (!stateResponsive){ queueCmd(QueuedCommand.STOP); return; }; execQueuedCmds(); }; }; if ((((_state == VideoState.STOPPED)) || ((_ns == null)))){ return; }; if (_ncMgr.isRTMP){ if (((_autoRewind) && (!(_isLive)))){ _currentPos = 0; _play(0, 0); _state = VideoState.STOPPED; setState(VideoState.REWINDING); } else { closeNS(true); setState(VideoState.STOPPED); }; } else { _pause(true); if (_autoRewind){ _seek(0); _state = VideoState.STOPPED; setState(VideoState.REWINDING); } else { setState(VideoState.STOPPED); }; }; } flvplayback_internal function execQueuedCmds():void{ var nextCmd:Object; while ((((((_cmdQueue.length > 0)) && (((((stateResponsive) || ((_state == VideoState.DISCONNECTED)))) || ((_state == VideoState.CONNECTION_ERROR)))))) && (((!((_cmdQueue[0].url == null))) || (((!((_state == VideoState.DISCONNECTED))) && (!((_state == VideoState.CONNECTION_ERROR))))))))) { try { nextCmd = _cmdQueue.shift(); _cachedState = _state; _state = VideoState.EXEC_QUEUED_CMD; switch (nextCmd.type){ case QueuedCommand.PLAY: play(nextCmd.url, nextCmd.time, nextCmd.isLive); break; case QueuedCommand.LOAD: load(nextCmd.url, nextCmd.time, nextCmd.isLive); break; case QueuedCommand.PAUSE: pause(); break; case QueuedCommand.STOP: stop(); break; case QueuedCommand.SEEK: seek(nextCmd.time); break; case QueuedCommand.PLAY_WHEN_ENOUGH: playWhenEnoughDownloaded(); break; }; } finally { if (_state == VideoState.EXEC_QUEUED_CMD){ _state = _cachedState; }; }; }; } public function setScale(_arg1:Number, _arg2:Number):void{ super.scaleX = _arg1; super.scaleY = _arg2; _registrationWidth = width; _registrationHeight = height; switch (_scaleMode){ case VideoScaleMode.MAINTAIN_ASPECT_RATIO: case VideoScaleMode.NO_SCALE: startAutoResize(); break; default: super.x = _registrationX; super.y = _registrationY; break; }; } public function set playheadTime(_arg1:Number):void{ seek(_arg1); } override public function get videoWidth():int{ if (_readyDispatched){ _videoWidth = super.videoWidth; }; return (_videoWidth); } public function get scaleMode():String{ return (_scaleMode); } public function get progressInterval():Number{ return (_updateProgressTimer.delay); } public function set align(_arg1:String):void{ if (_align != _arg1){ switch (_arg1){ case VideoAlign.CENTER: case VideoAlign.TOP: case VideoAlign.LEFT: case VideoAlign.BOTTOM: case VideoAlign.RIGHT: case VideoAlign.TOP_LEFT: case VideoAlign.TOP_RIGHT: case VideoAlign.BOTTOM_LEFT: case VideoAlign.BOTTOM_RIGHT: break; default: return; }; _align = _arg1; switch (_scaleMode){ case VideoScaleMode.MAINTAIN_ASPECT_RATIO: case VideoScaleMode.NO_SCALE: startAutoResize(); break; }; }; } public function set scaleMode(_arg1:String):void{ if (_scaleMode != _arg1){ switch (_arg1){ case VideoScaleMode.MAINTAIN_ASPECT_RATIO: case VideoScaleMode.NO_SCALE: case VideoScaleMode.EXACT_FIT: break; default: return; }; _scaleMode = _arg1; startAutoResize(); }; } public function get source():String{ return (_contentPath); } flvplayback_internal function doUpdateTime(_arg1:TimerEvent=null):void{ var _local2:Number; _local2 = playheadTime; if (_local2 != _atEndCheckPlayhead){ _atEndCheckPlayhead = NaN; }; switch (_state){ case VideoState.STOPPED: case VideoState.PAUSED: case VideoState.DISCONNECTED: case VideoState.CONNECTION_ERROR: _updateTimeTimer.stop(); break; case VideoState.PLAYING: case VideoState.BUFFERING: if (((((((((!((_ncMgr == null))) && (!(_ncMgr.isRTMP)))) && ((_lastUpdateTime == _local2)))) && (!((_ns == null))))) && ((_ns.bytesLoaded == _ns.bytesTotal)))){ if (lastUpdateTimeStuckCount > lastUpdateTimeStuckCountMax){ lastUpdateTimeStuckCount = 0; httpDoStopAtEnd(); } else { lastUpdateTimeStuckCount++; }; }; }; if (_lastUpdateTime != _local2){ dispatchEvent(new VideoEvent(VideoEvent.PLAYHEAD_UPDATE, false, false, _state, _local2)); _lastUpdateTime = _local2; lastUpdateTimeStuckCount = 0; }; } flvplayback_internal function rtmpNetStatus(_arg1:NetStatusEvent):void{ if (_state == VideoState.CONNECTION_ERROR){ return; }; switch (_arg1.info.code){ case "NetStream.Play.Stop": if (_startingPlay){ return; }; switch (_state){ case VideoState.RESIZING: if (_hiddenForResize){ finishAutoResize(); }; break; case VideoState.LOADING: case VideoState.STOPPED: case VideoState.PAUSED: break; default: _sawPlayStop = true; break; }; break; case "NetStream.Buffer.Empty": switch (_bufferState){ case BUFFER_FULL: if (_sawPlayStop){ rtmpDoStopAtEnd(); } else { if (_state == VideoState.PLAYING){ setState(VideoState.BUFFERING); }; }; break; }; _bufferState = BUFFER_EMPTY; _sawPlayStop = false; break; case "NetStream.Buffer.Flush": if (((_sawSeekNotify) && ((_state == VideoState.SEEKING)))){ _bufferState = BUFFER_EMPTY; _sawPlayStop = false; setStateFromCachedState(false); doUpdateTime(); execQueuedCmds(); }; if (((_sawPlayStop) && ((((_bufferState == BUFFER_EMPTY)) || ((((_ns.bufferTime <= 0.1)) && ((_ns.bufferLength <= 0.1)))))))){ _cachedPlayheadTime = playheadTime; _rtmpDoStopAtEndTimer.reset(); _rtmpDoStopAtEndTimer.start(); }; switch (_bufferState){ case BUFFER_EMPTY: if (!_hiddenForResize){ if ((((((_state == VideoState.LOADING)) && ((_cachedState == VideoState.PLAYING)))) || ((_state == VideoState.BUFFERING)))){ setState(VideoState.PLAYING); } else { if (_cachedState == VideoState.BUFFERING){ _cachedState = VideoState.PLAYING; }; }; }; _bufferState = BUFFER_FLUSH; break; default: if (_state == VideoState.BUFFERING){ setStateFromCachedState(); }; break; }; break; case "NetStream.Buffer.Full": if (((_sawSeekNotify) && ((_state == VideoState.SEEKING)))){ _bufferState = BUFFER_EMPTY; _sawPlayStop = false; setStateFromCachedState(false); doUpdateTime(); execQueuedCmds(); }; switch (_bufferState){ case BUFFER_EMPTY: _bufferState = BUFFER_FULL; if (!_hiddenForResize){ if ((((((_state == VideoState.LOADING)) && ((_cachedState == VideoState.PLAYING)))) || ((_state == VideoState.BUFFERING)))){ setState(VideoState.PLAYING); } else { if (_cachedState == VideoState.BUFFERING){ _cachedState = VideoState.PLAYING; }; }; if (_rtmpDoStopAtEndTimer.running){ _sawPlayStop = true; _rtmpDoStopAtEndTimer.reset(); }; }; break; case BUFFER_FLUSH: _bufferState = BUFFER_FULL; if (_rtmpDoStopAtEndTimer.running){ _sawPlayStop = true; _rtmpDoStopAtEndTimer.reset(); }; break; }; if (_state == VideoState.BUFFERING){ setStateFromCachedState(); }; break; case "NetStream.Pause.Notify": if ((((_state == VideoState.RESIZING)) && (_hiddenForResize))){ finishAutoResize(); }; break; case "NetStream.Unpause.Notify": if (_state == VideoState.PAUSED){ _state = VideoState.PLAYING; setState(VideoState.BUFFERING); } else { _cachedState = VideoState.PLAYING; }; break; case "NetStream.Play.Start": _rtmpDoStopAtEndTimer.reset(); _bufferState = BUFFER_EMPTY; _sawPlayStop = false; if (_startingPlay){ _startingPlay = false; _cachedPlayheadTime = playheadTime; } else { if (_state == VideoState.PLAYING){ setState(VideoState.BUFFERING); }; }; break; case "NetStream.Play.Reset": _rtmpDoStopAtEndTimer.reset(); if (_state == VideoState.REWINDING){ _rtmpDoSeekTimer.reset(); if ((((playheadTime == 0)) || ((playheadTime < _cachedPlayheadTime)))){ setStateFromCachedState(); } else { _cachedPlayheadTime = playheadTime; _rtmpDoSeekTimer.start(); }; }; break; case "NetStream.Seek.Notify": if (playheadTime != _cachedPlayheadTime){ setStateFromCachedState(false); doUpdateTime(); execQueuedCmds(); } else { _sawSeekNotify = true; _rtmpDoSeekTimer.start(); }; break; case "Netstream.Play.UnpublishNotify": break; case "Netstream.Play.PublishNotify": break; case "NetStream.Play.StreamNotFound": if (!_ncMgr.connectAgain()){ setState(VideoState.CONNECTION_ERROR); }; break; case "NetStream.Play.Failed": case "NetStream.Failed": setState(VideoState.CONNECTION_ERROR); break; }; } public function set progressInterval(_arg1:Number):void{ _updateProgressTimer.delay = _arg1; } flvplayback_internal function onCuePoint(_arg1:Object):void{ if (((!(_hiddenForResize)) || (((!(isNaN(_hiddenRewindPlayheadTime))) && ((playheadTime < _hiddenRewindPlayheadTime)))))){ dispatchEvent(new MetadataEvent(MetadataEvent.CUE_POINT, false, false, _arg1)); }; } flvplayback_internal function createINCManager():void{ var theClass:Class; theClass = null; try { if ((iNCManagerClass is String)){ theClass = Class(getDefinitionByName(String(iNCManagerClass))); } else { if ((iNCManagerClass is Class)){ theClass = Class(iNCManagerClass); }; }; } catch(e:Error) { theClass = null; }; if (theClass == null){ throw (new VideoError(VideoError.INCMANAGER_CLASS_UNSET, iNCManagerClass.toString())); }; _ncMgr = new (theClass); _ncMgr.videoPlayer = this; } flvplayback_internal function doAutoResize(_arg1:TimerEvent=null):void{ var _local2:Number; var _local3:Number; if (_autoResizeTimer.running){ switch (_state){ case VideoState.RESIZING: case VideoState.LOADING: break; case VideoState.DISCONNECTED: case VideoState.CONNECTION_ERROR: _autoResizeTimer.reset(); return; default: if (!stateResponsive){ return; }; }; if (((((((((!((super.videoWidth == _prevVideoWidth))) || (!((super.videoHeight == _prevVideoHeight))))) || ((_bufferState == BUFFER_FULL)))) || ((_bufferState == BUFFER_FLUSH)))) || ((_ns.time > autoResizePlayheadTimeout)))){ if (((((_hiddenForResize) && ((_metadata == null)))) && ((_hiddenForResizeMetadataDelay < autoResizeMetadataDelayMax)))){ _hiddenForResizeMetadataDelay++; return; }; _videoWidth = super.videoWidth; _videoHeight = super.videoHeight; _autoResizeTimer.reset(); } else { return; }; }; if (_autoResizeDone){ setState(_cachedState); return; }; oldBounds = new Rectangle(x, y, width, height); oldRegistrationBounds = new Rectangle(registrationX, registrationY, registrationWidth, registrationHeight); _autoResizeDone = true; switch (_scaleMode){ case VideoScaleMode.NO_SCALE: super.width = _videoWidth; super.height = _videoHeight; break; case VideoScaleMode.EXACT_FIT: super.width = registrationWidth; super.height = registrationHeight; break; case VideoScaleMode.MAINTAIN_ASPECT_RATIO: default: _local2 = ((_videoWidth * _registrationHeight) / _videoHeight); _local3 = ((_videoHeight * _registrationWidth) / _videoWidth); if (_local3 < _registrationHeight){ super.width = _registrationWidth; super.height = _local3; } else { if (_local2 < _registrationWidth){ super.width = _local2; super.height = _registrationHeight; } else { super.width = _registrationWidth; super.height = _registrationHeight; }; }; }; switch (_align){ case VideoAlign.CENTER: case VideoAlign.TOP: case VideoAlign.BOTTOM: default: super.x = (_registrationX + ((_registrationWidth - width) / 2)); break; case VideoAlign.LEFT: case VideoAlign.TOP_LEFT: case VideoAlign.BOTTOM_LEFT: super.x = _registrationX; break; case VideoAlign.RIGHT: case VideoAlign.TOP_RIGHT: case VideoAlign.BOTTOM_RIGHT: super.x = (_registrationX + (_registrationWidth - width)); break; }; switch (_align){ case VideoAlign.CENTER: case VideoAlign.LEFT: case VideoAlign.RIGHT: default: super.y = (_registrationY + ((_registrationHeight - height) / 2)); break; case VideoAlign.TOP: case VideoAlign.TOP_LEFT: case VideoAlign.TOP_RIGHT: super.y = _registrationY; break; case VideoAlign.BOTTOM: case VideoAlign.BOTTOM_LEFT: case VideoAlign.BOTTOM_RIGHT: super.y = (_registrationY + (_registrationHeight - height)); break; }; if (_hiddenForResize){ _hiddenRewindPlayheadTime = playheadTime; if (_state == VideoState.LOADING){ _cachedState = VideoState.PLAYING; }; if (!_ncMgr.isRTMP){ _pause(true); _seek(0); _finishAutoResizeTimer.reset(); _finishAutoResizeTimer.start(); } else { if (!_isLive){ _currentPos = 0; _play(0, 0); setState(VideoState.RESIZING); } else { if (_autoPlay){ _finishAutoResizeTimer.reset(); _finishAutoResizeTimer.start(); } else { finishAutoResize(); }; }; }; } else { dispatchEvent(new AutoLayoutEvent(AutoLayoutEvent.AUTO_LAYOUT, false, false, oldBounds, oldRegistrationBounds)); }; } public function get totalTime():Number{ return (_streamLength); } public function get ncMgr():INCManager{ if (_ncMgr == null){ createINCManager(); }; return (_ncMgr); } public function set volume(_arg1:Number):void{ var _local2:SoundTransform; _local2 = soundTransform; _local2.volume = _arg1; soundTransform = _local2; } flvplayback_internal function _play(_arg1:int=0, _arg2:int=-1):void{ waitingForEnough = false; _rtmpDoStopAtEndTimer.reset(); _startingPlay = true; _ns.play(_ncMgr.streamName, (_isLive) ? -1 : _arg1, _arg2); } flvplayback_internal function finishAutoResize(_arg1:TimerEvent=null):void{ if (stateResponsive){ return; }; _hiddenForResize = false; super.visible = __visible; volume = _volume; dispatchEvent(new AutoLayoutEvent(AutoLayoutEvent.AUTO_LAYOUT, false, false, oldBounds, oldRegistrationBounds)); if (_autoPlay){ if (_ncMgr.isRTMP){ if (!_isLive){ _currentPos = 0; _play(0); }; if (_state == VideoState.RESIZING){ setState(VideoState.LOADING); _cachedState = VideoState.PLAYING; }; } else { waitingForEnough = true; _cachedState = _state; _state = VideoState.PAUSED; checkReadyForPlay(bytesLoaded, bytesTotal); if (waitingForEnough){ _state = _cachedState; setState(VideoState.PAUSED); } else { _cachedState = VideoState.PLAYING; }; }; } else { setState(VideoState.STOPPED); }; } public function set soundTransform(_arg1:SoundTransform):void{ if (_arg1 == null){ return; }; if (_hiddenForResize){ _volume = _arg1.volume; }; _soundTransform = new SoundTransform(); _soundTransform.volume = (_hiddenForResize) ? 0 : _arg1.volume; _soundTransform.leftToLeft = _arg1.leftToLeft; _soundTransform.leftToRight = _arg1.leftToRight; _soundTransform.rightToLeft = _arg1.rightToLeft; _soundTransform.rightToRight = _arg1.rightToRight; if (_ns != null){ _ns.soundTransform = _soundTransform; }; } flvplayback_internal function httpDoSeek(_arg1:TimerEvent):void{ var _local2:Boolean; _local2 = (((_state == VideoState.REWINDING)) || ((_state == VideoState.SEEKING))); if (((((_local2) && ((_httpDoSeekCount < httpDoSeekMaxCount)))) && ((((_cachedPlayheadTime == playheadTime)) || (_invalidSeekTime))))){ _httpDoSeekCount++; return; }; _httpDoSeekCount = 0; _httpDoSeekTimer.reset(); if (!_local2){ return; }; setStateFromCachedState(false); if (_invalidSeekTime){ _invalidSeekTime = false; _invalidSeekRecovery = true; seek(playheadTime); } else { doUpdateTime(); execQueuedCmds(); }; } public function get bytesLoaded():uint{ if ((((_ns == null)) || (_ncMgr.isRTMP))){ return (uint.MIN_VALUE); }; return (_ns.bytesLoaded); } override public function set height(_arg1:Number):void{ super.height = (_registrationHeight = _arg1); switch (_scaleMode){ case VideoScaleMode.MAINTAIN_ASPECT_RATIO: case VideoScaleMode.NO_SCALE: startAutoResize(); break; default: super.height = _arg1; break; }; } flvplayback_internal function httpNetStatus(_arg1:NetStatusEvent):void{ switch (_arg1.info.code){ case "NetStream.Play.Stop": _delayedBufferingTimer.reset(); if (_invalidSeekTime){ _invalidSeekTime = false; _invalidSeekRecovery = true; setState(_cachedState); seek(playheadTime); } else { switch (_state){ case VideoState.PLAYING: case VideoState.BUFFERING: case VideoState.SEEKING: httpDoStopAtEnd(); break; }; }; break; case "NetStream.Seek.InvalidTime": if (_invalidSeekRecovery){ _invalidSeekTime = false; _invalidSeekRecovery = false; setState(_cachedState); seek(0); } else { _invalidSeekTime = true; }; break; case "NetStream.Buffer.Empty": _bufferState = BUFFER_EMPTY; if (_state == VideoState.PLAYING){ _delayedBufferingTimer.reset(); _delayedBufferingTimer.start(); }; break; case "NetStream.Buffer.Full": case "NetStream.Buffer.Flush": _delayedBufferingTimer.reset(); _bufferState = BUFFER_FULL; if (!_hiddenForResize){ if ((((((_state == VideoState.LOADING)) && ((_cachedState == VideoState.PLAYING)))) || ((_state == VideoState.BUFFERING)))){ setState(VideoState.PLAYING); } else { if (_cachedState == VideoState.BUFFERING){ _cachedState = VideoState.PLAYING; }; }; }; break; case "NetStream.Seek.Notify": _invalidSeekRecovery = false; switch (_state){ case VideoState.SEEKING: case VideoState.REWINDING: if (!_httpDoSeekTimer.running){ _httpDoSeekCount = 0; _httpDoSeekTimer.start(); }; break; }; break; case "NetStream.Play.StreamNotFound": setState(VideoState.CONNECTION_ERROR); break; }; } public function get netConnection():NetConnection{ if (_ncMgr != null){ return (_ncMgr.netConnection); }; return (null); } public function set bufferTime(_arg1:Number):void{ _bufferTime = _arg1; if (_ns != null){ _ns.bufferTime = _bufferTime; }; } flvplayback_internal function onMetaData(_arg1:Object):void{ if (_metadata != null){ return; }; _metadata = _arg1; if (isNaN(_streamLength)){ _streamLength = _arg1.duration; }; if (_videoWidth < 0){ _videoWidth = _arg1.width; }; if (_videoHeight < 0){ _videoHeight = _arg1.height; }; dispatchEvent(new MetadataEvent(MetadataEvent.METADATA_RECEIVED, false, false, _arg1)); } flvplayback_internal function queueCmd(_arg1:Number, _arg2:String=null, _arg3:Boolean=false, _arg4:Number=NaN):void{ _cmdQueue.push(new QueuedCommand(_arg1, _arg2, _arg3, _arg4)); } public function set registrationHeight(_arg1:Number):void{ height = _arg1; } override public function get visible():Boolean{ if (!_hiddenForResize){ __visible = super.visible; }; return (__visible); } public function seek(_arg1:Number):void{ if (_invalidSeekTime){ return; }; if (((isNaN(_arg1)) || ((_arg1 < 0)))){ throw (new VideoError(VideoError.INVALID_SEEK)); }; if (!isXnOK()){ if ((((((_state == VideoState.CONNECTION_ERROR)) || ((_ncMgr == null)))) || ((_ncMgr.netConnection == null)))){ throw (new VideoError(VideoError.NO_CONNECTION)); }; flushQueuedCmds(); queueCmd(QueuedCommand.SEEK, null, false, _arg1); setState(VideoState.LOADING); _cachedState = VideoState.LOADING; _ncMgr.reconnect(); return; } else { if (_state == VideoState.EXEC_QUEUED_CMD){ _state = _cachedState; } else { if (!stateResponsive){ queueCmd(QueuedCommand.SEEK, null, false, _arg1); return; }; execQueuedCmds(); }; }; if (_ns == null){ _createStream(); }; if (((_atEnd) && ((_arg1 < playheadTime)))){ _atEnd = false; }; switch (_state){ case VideoState.PLAYING: _state = VideoState.BUFFERING; case VideoState.BUFFERING: case VideoState.PAUSED: _seek(_arg1); setState(VideoState.SEEKING); break; case VideoState.STOPPED: if (_ncMgr.isRTMP){ _play(0); _pause(true); }; _seek(_arg1); _state = VideoState.PAUSED; setState(VideoState.SEEKING); break; }; } public function get state():String{ return (_state); } public function set autoRewind(_arg1:Boolean):void{ _autoRewind = _arg1; } override public function set scaleX(_arg1:Number):void{ super.scaleX = _arg1; _registrationWidth = width; switch (_scaleMode){ case VideoScaleMode.MAINTAIN_ASPECT_RATIO: case VideoScaleMode.NO_SCALE: startAutoResize(); break; }; } override public function set scaleY(_arg1:Number):void{ super.scaleY = _arg1; _registrationHeight = height; switch (_scaleMode){ case VideoScaleMode.MAINTAIN_ASPECT_RATIO: case VideoScaleMode.NO_SCALE: startAutoResize(); break; }; } public function get registrationWidth():Number{ return (_registrationWidth); } flvplayback_internal function flushQueuedCmds():void{ while (_cmdQueue.length > 0) { _cmdQueue.pop(); }; } public function get registrationX():Number{ return (_registrationX); } flvplayback_internal function _setUpStream():void{ if (((!(isNaN(_ncMgr.streamLength))) && ((_ncMgr.streamLength >= 0)))){ _streamLength = _ncMgr.streamLength; }; _videoWidth = ((_ncMgr.streamWidth)>=0) ? _ncMgr.streamWidth : -1; _videoHeight = ((_ncMgr.streamHeight)>=0) ? _ncMgr.streamHeight : -1; if (!_hiddenForResize){ __visible = super.visible; super.visible = false; _volume = volume; volume = 0; _hiddenForResize = true; }; _hiddenForResizeMetadataDelay = 0; _play(0); if (_currentPos > 0){ _seek(_currentPos); _currentPos = 0; }; _autoResizeTimer.reset(); _autoResizeTimer.start(); } public function get registrationY():Number{ return (_registrationY); } flvplayback_internal function httpDoStopAtEnd():void{ if ((((_atEndCheckPlayhead == playheadTime)) && (!((playheadTime == 0))))){ _atEnd = false; _seek(0); return; }; _atEndCheckPlayhead = NaN; _atEnd = true; if (isNaN(_streamLength)){ _streamLength = _ns.time; }; _pause(true); setState(VideoState.STOPPED); if (_state != VideoState.STOPPED){ return; }; doUpdateTime(); if (_state != VideoState.STOPPED){ return; }; dispatchEvent(new VideoEvent(VideoEvent.COMPLETE, false, false, _state, playheadTime)); if (_state != VideoState.STOPPED){ return; }; if (_autoRewind){ _atEnd = false; _pause(true); _seek(0); setState(VideoState.REWINDING); }; } public function ncConnected():void{ if ((((_ncMgr == null)) || ((_ncMgr.netConnection == null)))){ setState(VideoState.CONNECTION_ERROR); } else { _createStream(); _setUpStream(); }; } override public function set visible(_arg1:Boolean):void{ __visible = _arg1; if (!_hiddenForResize){ super.visible = __visible; }; } public function load(_arg1:String, _arg2:Number=NaN, _arg3:Boolean=false):void{ if (_arg1 == null){ throw (new VideoError(VideoError.NULL_URL_LOAD)); }; if (_state == VideoState.EXEC_QUEUED_CMD){ _state = _cachedState; } else { if (((((!(stateResponsive)) && (!((_state == VideoState.DISCONNECTED))))) && (!((_state == VideoState.CONNECTION_ERROR))))){ queueCmd(QueuedCommand.LOAD, _arg1, _arg3, _arg2); return; }; execQueuedCmds(); }; _autoPlay = false; _load(_arg1, _arg2, _arg3); } override public function set x(_arg1:Number):void{ var _local2:Number; if (this.x != _arg1){ _local2 = (_arg1 - this.x); super.x = _arg1; _registrationX = (_registrationX + _local2); }; } override public function set y(_arg1:Number):void{ var _local2:Number; if (this.y != _arg1){ _local2 = (_arg1 - this.y); super.y = _arg1; _registrationY = (_registrationY + _local2); }; } flvplayback_internal function _pause(_arg1:Boolean):void{ _atEndCheckPlayhead = playheadTime; _rtmpDoStopAtEndTimer.reset(); if (_arg1){ _ns.pause(); } else { _ns.resume(); }; } public function get playheadUpdateInterval():Number{ return (_updateTimeTimer.delay); } flvplayback_internal function doDelayedBuffering(_arg1:TimerEvent):void{ switch (_state){ case VideoState.LOADING: case VideoState.RESIZING: break; case VideoState.PLAYING: _delayedBufferingTimer.reset(); if (((((((((!(isNaN(totalTime))) && ((totalTime > 0)))) && ((bytesLoaded > 0)))) && ((bytesLoaded < uint.MAX_VALUE)))) && ((bytesLoaded < bytesTotal)))){ pause(); if (_state == VideoState.PAUSED){ waitingForEnough = true; playWhenEnoughDownloaded(); }; } else { setState(VideoState.BUFFERING); }; break; default: _delayedBufferingTimer.reset(); break; }; } public function get align():String{ return (_align); } public function set registrationWidth(_arg1:Number):void{ width = _arg1; } public function get stateResponsive():Boolean{ switch (_state){ case VideoState.STOPPED: case VideoState.PLAYING: case VideoState.PAUSED: case VideoState.BUFFERING: return (true); default: return (false); }; } public function get volume():Number{ return (soundTransform.volume); } public function get soundTransform():SoundTransform{ var _local1:SoundTransform; if (_ns != null){ _soundTransform = _ns.soundTransform; }; _local1 = new SoundTransform(); _local1.volume = (_hiddenForResize) ? _volume : _soundTransform.volume; _local1.leftToLeft = _soundTransform.leftToLeft; _local1.leftToRight = _soundTransform.leftToRight; _local1.rightToLeft = _soundTransform.rightToLeft; _local1.rightToRight = _soundTransform.rightToRight; return (_local1); } public function get bufferTime():Number{ if (_ns != null){ _bufferTime = _ns.bufferTime; }; return (_bufferTime); } public function get metadata():Object{ return (_metadata); } public function play(_arg1:String=null, _arg2:Number=NaN, _arg3:Boolean=false):void{ if (_arg1 != null){ if (_state == VideoState.EXEC_QUEUED_CMD){ _state = _cachedState; } else { if (((((!(stateResponsive)) && (!((_state == VideoState.DISCONNECTED))))) && (!((_state == VideoState.CONNECTION_ERROR))))){ queueCmd(QueuedCommand.PLAY, _arg1, _arg3, _arg2); return; }; execQueuedCmds(); }; _autoPlay = true; _load(_arg1, _arg2, _arg3); return; }; if (!isXnOK()){ if ((((((_state == VideoState.CONNECTION_ERROR)) || ((_ncMgr == null)))) || ((_ncMgr.netConnection == null)))){ throw (new VideoError(VideoError.NO_CONNECTION)); }; flushQueuedCmds(); queueCmd(QueuedCommand.PLAY); setState(VideoState.LOADING); _cachedState = VideoState.LOADING; _ncMgr.reconnect(); return; } else { if (_state == VideoState.EXEC_QUEUED_CMD){ _state = _cachedState; } else { if (!stateResponsive){ queueCmd(QueuedCommand.PLAY); return; }; execQueuedCmds(); }; }; if (_ns == null){ _createStream(); }; switch (_state){ case VideoState.BUFFERING: if (_ncMgr.isRTMP){ _play(0); if (_atEnd){ _atEnd = false; _currentPos = 0; setState(VideoState.REWINDING); } else { if (_currentPos > 0){ _seek(_currentPos); _currentPos = 0; }; }; }; case VideoState.PLAYING: return; case VideoState.STOPPED: if (_ncMgr.isRTMP){ if (_isLive){ _play(-1); setState(VideoState.BUFFERING); } else { _play(0); if (_atEnd){ _atEnd = false; _currentPos = 0; _state = VideoState.BUFFERING; setState(VideoState.REWINDING); } else { if (_currentPos > 0){ _seek(_currentPos); _currentPos = 0; setState(VideoState.BUFFERING); } else { setState(VideoState.BUFFERING); }; }; }; } else { _pause(false); if (_atEnd){ _atEnd = false; _seek(0); _state = VideoState.BUFFERING; setState(VideoState.REWINDING); } else { if (_bufferState == BUFFER_EMPTY){ setState(VideoState.BUFFERING); } else { setState(VideoState.PLAYING); }; }; }; break; case VideoState.PAUSED: _pause(false); if (!_ncMgr.isRTMP){ if (_bufferState == BUFFER_EMPTY){ setState(VideoState.BUFFERING); } else { setState(VideoState.PLAYING); }; } else { setState(VideoState.BUFFERING); }; break; }; } public function get isLive():Boolean{ return (_isLive); } flvplayback_internal function setStateFromCachedState(_arg1:Boolean=true):void{ switch (_cachedState){ case VideoState.PLAYING: case VideoState.PAUSED: case VideoState.BUFFERING: setState(_cachedState, _arg1); break; default: setState(VideoState.STOPPED, _arg1); break; }; } public function get idleTimeout():Number{ return (_idleTimeoutTimer.delay); } public function get registrationHeight():Number{ return (_registrationHeight); } public function ncReconnected():void{ if ((((_ncMgr == null)) || ((_ncMgr.netConnection == null)))){ setState(VideoState.CONNECTION_ERROR); } else { _ns = null; _state = VideoState.STOPPED; execQueuedCmds(); }; } flvplayback_internal function startAutoResize():void{ switch (_state){ case VideoState.DISCONNECTED: case VideoState.CONNECTION_ERROR: return; default: _autoResizeDone = false; if (((stateResponsive) && (((((((((!((super.videoWidth == 0))) || (!((super.videoHeight == 0))))) || ((_bufferState == BUFFER_FULL)))) || ((_bufferState == BUFFER_FLUSH)))) || ((_ns.time > autoResizePlayheadTimeout)))))){ doAutoResize(); } else { _autoResizeTimer.reset(); _autoResizeTimer.start(); break; }; }; } flvplayback_internal function setState(_arg1:String, _arg2:Boolean=true):void{ var _local3:String; if (_arg1 == _state){ return; }; _hiddenRewindPlayheadTime = NaN; _cachedState = _state; _cachedPlayheadTime = playheadTime; _state = _arg1; _local3 = _state; dispatchEvent(new VideoEvent(VideoEvent.STATE_CHANGE, false, false, _local3, playheadTime)); if (!_readyDispatched){ switch (_local3){ case VideoState.STOPPED: case VideoState.PLAYING: case VideoState.PAUSED: case VideoState.BUFFERING: _readyDispatched = true; dispatchEvent(new VideoEvent(VideoEvent.READY, false, false, _local3, playheadTime)); break; }; }; switch (_cachedState){ case VideoState.REWINDING: dispatchEvent(new VideoEvent(VideoEvent.AUTO_REWOUND, false, false, _local3, playheadTime)); if (((_ncMgr.isRTMP) && ((_local3 == VideoState.STOPPED)))){ closeNS(); }; break; }; switch (_local3){ case VideoState.STOPPED: case VideoState.PAUSED: if (_ncMgr.isRTMP){ _idleTimeoutTimer.reset(); _idleTimeoutTimer.start(); }; break; case VideoState.SEEKING: case VideoState.REWINDING: _bufferState = BUFFER_EMPTY; _sawPlayStop = false; _idleTimeoutTimer.reset(); break; case VideoState.PLAYING: case VideoState.BUFFERING: _updateTimeTimer.start(); _idleTimeoutTimer.reset(); break; case VideoState.LOADING: case VideoState.RESIZING: _idleTimeoutTimer.reset(); break; }; if (_arg2){ execQueuedCmds(); }; } flvplayback_internal function _seek(_arg1:Number):void{ _rtmpDoStopAtEndTimer.reset(); if (((((!((_metadata == null))) && (!((_metadata.audiodelay == undefined))))) && (((isNaN(_streamLength)) || (((_arg1 + _metadata.audiodelay) < _streamLength)))))){ _arg1 = (_arg1 + _metadata.audiodelay); }; _ns.seek(_arg1); _invalidSeekTime = false; _bufferState = BUFFER_EMPTY; _sawPlayStop = false; _sawSeekNotify = false; } public function get autoRewind():Boolean{ return (_autoRewind); } flvplayback_internal function doIdleTimeout(_arg1:TimerEvent):void{ close(); } public function playWhenEnoughDownloaded():void{ if (((!((_ncMgr == null))) && (_ncMgr.isRTMP))){ play(); return; }; if (!isXnOK()){ throw (new VideoError(VideoError.NO_CONNECTION)); }; if (_state == VideoState.EXEC_QUEUED_CMD){ _state = _cachedState; } else { if (!stateResponsive){ queueCmd(QueuedCommand.PLAY_WHEN_ENOUGH); return; }; execQueuedCmds(); }; waitingForEnough = true; checkReadyForPlay(bytesLoaded, bytesTotal); } flvplayback_internal function rtmpDoSeek(_arg1:TimerEvent):void{ if (((!((_state == VideoState.REWINDING))) && (!((_state == VideoState.SEEKING))))){ _rtmpDoSeekTimer.reset(); _sawSeekNotify = false; } else { if (playheadTime != _cachedPlayheadTime){ _rtmpDoSeekTimer.reset(); _sawSeekNotify = false; setStateFromCachedState(false); doUpdateTime(); execQueuedCmds(); }; }; } public function get netStream():NetStream{ return (_ns); } override public function get videoHeight():int{ if (_readyDispatched){ _videoHeight = super.videoHeight; }; return (_videoHeight); } public function set registrationX(_arg1:Number):void{ var _local2:Number; if (_registrationX != _arg1){ _local2 = (_arg1 - _registrationX); _registrationX = _arg1; this.x = (this.x + _local2); }; } public function set registrationY(_arg1:Number):void{ var _local2:Number; if (_registrationY != _arg1){ _local2 = (_arg1 - _registrationY); _registrationY = _arg1; this.y = (this.y + _local2); }; } flvplayback_internal function doUpdateProgress(_arg1:TimerEvent):void{ var _local2:uint; var _local3:uint; if (_ns == null){ return; }; _local2 = _ns.bytesLoaded; _local3 = _ns.bytesTotal; if (_local3 < uint.MAX_VALUE){ dispatchEvent(new VideoProgressEvent(VideoProgressEvent.PROGRESS, false, false, _local2, _local3)); }; if ((((((_state == VideoState.DISCONNECTED)) || ((_state == VideoState.CONNECTION_ERROR)))) || ((_local2 >= _local3)))){ _updateProgressTimer.stop(); }; checkEnoughDownloaded(_local2, _local3); } override public function set width(_arg1:Number):void{ super.width = (_registrationWidth = _arg1); switch (_scaleMode){ case VideoScaleMode.MAINTAIN_ASPECT_RATIO: case VideoScaleMode.NO_SCALE: startAutoResize(); break; default: super.width = _arg1; break; }; } public function get isRTMP():Boolean{ if (_ncMgr == null){ return (false); }; return (_ncMgr.isRTMP); } public function get bytesTotal():uint{ if ((((_ns == null)) || (_ncMgr.isRTMP))){ return (uint.MAX_VALUE); }; return (_ns.bytesTotal); } public function setSize(_arg1:Number, _arg2:Number):void{ super.width = (_registrationWidth = _arg1); super.height = (_registrationHeight = _arg2); switch (_scaleMode){ case VideoScaleMode.MAINTAIN_ASPECT_RATIO: case VideoScaleMode.NO_SCALE: startAutoResize(); break; default: super.x = _registrationX; super.y = _registrationY; break; }; } flvplayback_internal function isXnOK():Boolean{ if (_state == VideoState.LOADING){ return (true); }; if (_state == VideoState.CONNECTION_ERROR){ return (false); }; if (_state != VideoState.DISCONNECTED){ if ((((((_ncMgr == null)) || ((_ncMgr.netConnection == null)))) || (!(_ncMgr.netConnection.connected)))){ setState(VideoState.DISCONNECTED); return (false); }; return (true); }; return (false); } flvplayback_internal function _createStream():void{ var _local1:NetStream; _ns = null; _local1 = new NetStream(_ncMgr.netConnection); if (_ncMgr.isRTMP){ _local1.addEventListener(NetStatusEvent.NET_STATUS, rtmpNetStatus); } else { _local1.addEventListener(NetStatusEvent.NET_STATUS, httpNetStatus); }; _local1.client = new VideoPlayerClient(this); _local1.bufferTime = _bufferTime; _local1.soundTransform = soundTransform; _ns = _local1; attachNetStream(_ns); } flvplayback_internal function checkReadyForPlay(_arg1:uint, _arg2:uint):void{ var _local3:Number; if (_arg1 >= _arg2){ waitingForEnough = false; _cachedState = _state; _state = VideoState.EXEC_QUEUED_CMD; play(); execQueuedCmds(); return; }; if (isNaN(baselineProgressTime)){ return; }; if (((isNaN(totalTime)) || ((totalTime < 0)))){ waitingForEnough = false; _cachedState = _state; _state = VideoState.EXEC_QUEUED_CMD; play(); execQueuedCmds(); } else { if (totalDownloadTime > 1.5){ _local3 = ((totalProgressTime - baselineProgressTime) / totalDownloadTime); if ((totalTime - playheadTime) > ((totalTime - totalProgressTime) / _local3)){ waitingForEnough = false; _cachedState = _state; _state = VideoState.EXEC_QUEUED_CMD; play(); execQueuedCmds(); }; }; }; } flvplayback_internal function closeNS(_arg1:Boolean=false):void{ if (_ns != null){ if (_arg1){ _updateTimeTimer.reset(); doUpdateTime(); _currentPos = _ns.time; }; _ns.removeEventListener(NetStatusEvent.NET_STATUS, rtmpNetStatus); _ns.removeEventListener(NetStatusEvent.NET_STATUS, httpNetStatus); _ns.close(); _ns = null; }; } flvplayback_internal function _load(_arg1:String, _arg2:Number, _arg3:Boolean):void{ var _local4:Boolean; _prevVideoWidth = super.videoWidth; _prevVideoHeight = super.videoHeight; _autoResizeDone = false; _cachedPlayheadTime = 0; _bufferState = BUFFER_EMPTY; _sawPlayStop = false; _metadata = null; _startingPlay = false; _invalidSeekTime = false; _invalidSeekRecovery = false; _isLive = _arg3; _contentPath = _arg1; _currentPos = 0; _streamLength = (((isNaN(_arg2)) || ((_arg2 <= 0)))) ? NaN : _arg2; _atEnd = false; _readyDispatched = false; _lastUpdateTime = NaN; lastUpdateTimeStuckCount = 0; _sawSeekNotify = false; waitingForEnough = false; baselineProgressTime = NaN; startProgressTime = NaN; totalDownloadTime = NaN; totalProgressTime = NaN; _updateTimeTimer.reset(); _updateProgressTimer.reset(); _idleTimeoutTimer.reset(); _autoResizeTimer.reset(); _rtmpDoStopAtEndTimer.reset(); _rtmpDoSeekTimer.reset(); _httpDoSeekTimer.reset(); _finishAutoResizeTimer.reset(); _delayedBufferingTimer.reset(); closeNS(false); if (_ncMgr == null){ createINCManager(); }; _local4 = _ncMgr.connectToURL(_contentPath); setState(VideoState.LOADING); _cachedState = VideoState.LOADING; if (_local4){ _createStream(); _setUpStream(); }; if (!_ncMgr.isRTMP){ _updateProgressTimer.start(); }; } flvplayback_internal function rtmpDoStopAtEnd(_arg1:TimerEvent=null):void{ if (_rtmpDoStopAtEndTimer.running){ switch (_state){ case VideoState.DISCONNECTED: case VideoState.CONNECTION_ERROR: _rtmpDoStopAtEndTimer.reset(); return; }; if ((((_arg1 == null)) || ((_cachedPlayheadTime == playheadTime)))){ _rtmpDoStopAtEndTimer.reset(); } else { _cachedPlayheadTime = playheadTime; return; }; }; if ((((((_atEndCheckPlayhead == playheadTime)) && (!(_isLive)))) && (!((playheadTime == 0))))){ _atEnd = false; _currentPos = 0; _play(0); return; }; _atEndCheckPlayhead = NaN; _bufferState = BUFFER_EMPTY; _sawPlayStop = false; _atEnd = true; setState(VideoState.STOPPED); if (_state != VideoState.STOPPED){ return; }; doUpdateTime(); if (_state != VideoState.STOPPED){ return; }; dispatchEvent(new VideoEvent(VideoEvent.COMPLETE, false, false, _state, playheadTime)); if (_state != VideoState.STOPPED){ return; }; if (((((_autoRewind) && (!(_isLive)))) && (!((playheadTime == 0))))){ _atEnd = false; _currentPos = 0; _play(0, 0); setState(VideoState.REWINDING); } else { closeNS(); }; } public function set idleTimeout(_arg1:Number):void{ _idleTimeoutTimer.delay = _arg1; } public function set playheadUpdateInterval(_arg1:Number):void{ _updateTimeTimer.delay = _arg1; } flvplayback_internal function checkEnoughDownloaded(_arg1:uint, _arg2:uint):void{ if ((((_arg1 == 0)) || ((_arg2 == uint.MAX_VALUE)))){ return; }; if (((isNaN(totalTime)) || ((totalTime <= 0)))){ if (((waitingForEnough) && (stateResponsive))){ waitingForEnough = false; _cachedState = _state; _state = VideoState.EXEC_QUEUED_CMD; play(); execQueuedCmds(); }; return; }; if (_arg1 >= _arg2){ if (waitingForEnough){ waitingForEnough = false; _cachedState = _state; _state = VideoState.EXEC_QUEUED_CMD; play(); execQueuedCmds(); }; return; }; if (isNaN(baselineProgressTime)){ baselineProgressTime = ((_arg1 / _arg2) * totalTime); }; if (isNaN(startProgressTime)){ startProgressTime = getTimer(); } else { totalDownloadTime = ((getTimer() - startProgressTime) / 1000); totalProgressTime = ((_arg1 / _arg2) * totalTime); if (waitingForEnough){ checkReadyForPlay(_arg1, _arg2); }; }; } public function close():void{ closeNS(true); if (((!((_ncMgr == null))) && (_ncMgr.isRTMP))){ _ncMgr.close(); }; setState(VideoState.DISCONNECTED); dispatchEvent(new VideoEvent(VideoEvent.CLOSE, false, false, _state, playheadTime)); } public function pause():void{ if (!isXnOK()){ if ((((((_state == VideoState.CONNECTION_ERROR)) || ((_ncMgr == null)))) || ((_ncMgr.netConnection == null)))){ throw (new VideoError(VideoError.NO_CONNECTION)); }; return; } else { if (_state == VideoState.EXEC_QUEUED_CMD){ _state = _cachedState; } else { if (!stateResponsive){ queueCmd(QueuedCommand.PAUSE); return; }; execQueuedCmds(); }; }; if ((((((_state == VideoState.PAUSED)) || ((_state == VideoState.STOPPED)))) || ((_ns == null)))){ return; }; _pause(true); setState(VideoState.PAUSED); } } }//package fl.video
Section 71
//VideoPlayerClient (fl.video.VideoPlayerClient) package fl.video { public dynamic class VideoPlayerClient { private var _owner:VideoPlayer; public function VideoPlayerClient(_arg1:VideoPlayer){ _owner = _arg1; } public function get owner():VideoPlayer{ return (_owner); } public function onCuePoint(_arg1:Object, ... _args):void{ _owner.onCuePoint(_arg1); } public function onMetaData(_arg1:Object, ... _args):void{ _owner.onMetaData(_arg1); } } }//package fl.video
Section 72
//VideoPlayerState (fl.video.VideoPlayerState) package fl.video { public class VideoPlayerState { public var autoPlay:Boolean; public var isWaiting:Boolean; public var isLiveSet:Boolean; public var index:int; public var prevState:String; public var preSeekTime:Number; public var minProgressPercent:Number; public var url:String; public var totalTime:Number; public var owner:VideoPlayer; public var isLive:Boolean; public var cmdQueue:Array; public var totalTimeSet:Boolean; public function VideoPlayerState(_arg1:VideoPlayer, _arg2:int){ this.owner = _arg1; this.index = _arg2; this.url = ""; this.isLive = false; this.isLiveSet = true; this.totalTime = NaN; this.totalTimeSet = true; this.autoPlay = (_arg2 == 0); this.isWaiting = false; this.preSeekTime = NaN; this.cmdQueue = null; } } }//package fl.video
Section 73
//VideoProgressEvent (fl.video.VideoProgressEvent) package fl.video { import flash.events.*; public class VideoProgressEvent extends ProgressEvent implements IVPEvent { private var _vp:uint; public static const PROGRESS:String = "progress"; public function VideoProgressEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:uint=0, _arg5:uint=0, _arg6:uint=0){ super(_arg1, _arg2, _arg3, _arg4, _arg5); _vp = _arg6; } override public function clone():Event{ return (new VideoProgressEvent(type, bubbles, cancelable, bytesLoaded, bytesTotal, vp)); } public function set vp(_arg1:uint):void{ _vp = _arg1; } public function get vp():uint{ return (_vp); } } }//package fl.video
Section 74
//VideoScaleMode (fl.video.VideoScaleMode) package fl.video { public final class VideoScaleMode { public static const EXACT_FIT:String = "exactFit"; public static const MAINTAIN_ASPECT_RATIO:String = "maintainAspectRatio"; public static const NO_SCALE:String = "noScale"; } }//package fl.video
Section 75
//VideoState (fl.video.VideoState) package fl.video { public final class VideoState { public static const CONNECTION_ERROR:String = "connectionError"; public static const BUFFERING:String = "buffering"; public static const SEEKING:String = "seeking"; public static const STOPPED:String = "stopped"; public static const PAUSED:String = "paused"; public static const RESIZING:String = "resizing"; public static const PLAYING:String = "playing"; public static const DISCONNECTED:String = "disconnected"; public static const LOADING:String = "loading"; public static const REWINDING:String = "rewinding"; flvplayback_internal static var EXEC_QUEUED_CMD:String = "execQueuedCmd"; } }//package fl.video
Section 76
//IndexData (model.vo.IndexData) package model.vo { public class IndexData { public var arrLinkData:Array; public var arrSubWords:Array; public var strWord:String; public function IndexData(){ strWord = ""; arrLinkData = new Array(); arrSubWords = new Array(); } } }//package model.vo
Section 77
//AdvanceExternalToc (model.AdvanceExternalToc) package model { public dynamic class AdvanceExternalToc extends Domain { } }//package model
Section 78
//BookIndex (model.BookIndex) package model { public dynamic class BookIndex extends Domain { override public function init():void{ _properties.books = new Array(); } override public function postDeSerialize():void{ if (!_properties.books){ _properties.books = new Array(); }; } } }//package model
Section 79
//Config (model.Config) package model { import controller.*; import flash.display.*; import view.*; import accessibility.*; public dynamic class Config { public static const COLOR_HS_AUDIO_BORDER_OVER_NORMAL:Number = 0xFF0000; public static const COLOR_HS_INTERNAL_FILL_UP_HIGHLIGHTED:Number = 0xFF6600; public static const BREADCRUMB:Boolean = false; public static const DEFAULT_SHOW_HOTSPOT_STATE:String = "disabled"; public static const SCREEN_READER:Boolean = true; public static const BUTTON_TXT_SELECTION:Boolean = false; public static const ALPHA_HS_EXTERNAL_FILL_UP_HIGHLIGHTED:Number = 0; public static const SEARCH_TEXT_MAX_LENGTH:int = 64; public static const COLOR_HS_EXTERNAL_BORDER_OVER_SELECTED:Number = 0; public static const COLOR_HS_AUDIO_FILL_OVER_HIGHLIGHTED:Number = 0; public static const BUTTON_VOCABULARY:Boolean = false; public static const BUTTON_EBOOK_LINK:Boolean = false; public static const INACTIVE_POS_1:Object = {xPos:10, yPos:620}; public static const PAGESCALE_DEFAULT_TE:Number = 1.2; public static const INACTIVE_POS_5:Object = {xPos:500, yPos:500}; public static const TAB_ORDER_BY_SECTION:Array = [AccessibilityConstants.TOOLS1_BAR, AccessibilityConstants.SEARCH_POPUP, AccessibilityConstants.GLOSSARY_POPUP, AccessibilityConstants.ERROR_POPUP, AccessibilityConstants.RESOURCE_POPUP, AccessibilityConstants.CONTENT1_PAGEITEM, AccessibilityConstants.TOOLS2_BAR]; public static const COLOR_HS_AUDIO_FILL_UP_SELECTED:Number = 0; public static const SEARCH_DATA:Object = null; public static const POSITION_INTERNAL_ICON:String = HotspotClip.TOP_LEFT; public static const BUTTON_HELP:Boolean = true; public static const ALPHA_HS_AUDIO_BORDER_OVER_SELECTED:Number = 0; public static const ALPHA_HS_WEB_BORDER_OVER_SELECTED:Number = 0; public static const COLOR_HS_EXTERNAL_FILL_OVER_SELECTED:Number = 0; public static const COLOR_HS_AUDIO_FILL_DISABLED:Number = 0; public static const COLOR_HS_WEB_BORDER_OVER_HIGHLIGHTED:Number = 0; public static const TABLE_OF_CONTENT_TEXT:String = "Table of Contents"; public static const SPOTLIGHT_SIZE:int = 0; public static const COLOR_HS_INTERNAL_BORDER_UP_SELECTED:Number = 0; public static const POSITION_AUDIO_ICON:String = HotspotClip.TOP_LEFT; public static const COLOR_HS_INTERNAL_FILL_OVER_HIGHLIGHTED:Number = 0; public static const INACTIVE_POS_4:Object = {xPos:400, yPos:400}; public static const SEARCH_DISPLAY_PATTERN:Array = [Constants.PAGE_NUM]; public static const MP3_AUDIO_USE_AS_SWF:Boolean = false; public static const ALPHA_HS_AUDIO_FILL_OVER_SELECTED:Number = 0; public static const CUSTOM_TOOLBAR_DATA:Object = null; public static const INACTIVE_POS_3:Object = {xPos:300, yPos:300}; public static const TOOLBAR_SCOPE:String = "toolbar"; public static const SORT_SEARCH_BY_PAGE_NO:Boolean = true; public static const COLOR_HS_INTERNAL_FILL_UP_NORMAL:Number = 0; public static const SERVER_CONFIG_PATH:String = null; public static const COLOR_HS_INTERNAL_BORDER_OVER_SELECTED:Number = 0; public static const ENABLE_PAGE_FLIP:Boolean = false; public static const Text_Area_Size:Number = 0; public static const INACTIVE_POS_2:Object = {xPos:200, yPos:200}; public static const COLOR_HS_EXTERNAL_BORDER_UP_SELECTED:Number = 0; public static const VIDEO:Object = null; public static const USE_EXTERNAL_TABLE_OF_CONTENT:Boolean = true; public static const ALPHA_HS_INTERNAL_FILL_OVER_NORMAL:Number = 0; public static const ARR_EXTERNAL_INTERFACE_BTN:Array = null; public static const WIDTH_HS_WEB_BORDER:Number = 1; public static const TOC_DATA:Object = {CLOSE_ON_CLICK_OUTSIDE:true}; public static const HIDE_HOTSPOT_IN_EDITMODE:Boolean = false; public static const HIGHLIGHT_AUDIO_ON_CLICK:Boolean = true; public static const CHANGED_BOOKINDEX_PATH:String = "[_@BaseUrl]/[_@BookID]_bookIndex.xml"; public static const COLOR_HS_INTERNAL_FILL_OVER_NORMAL:Number = 1; public static const COLOR_HS_AUDIO_BORDER_UP_HIGHLIGHTED:Number = 0; public static const ALPHA_HS_AUDIO_BORDER_UP_SELECTED:Number = 0; public static const BUTTON_GLOSSARY:Boolean = true; public static const COLOR_HS_WEB_FILL_UP_HIGHLIGHTED:Number = 0xFF00; public static const BUTTON_HTML:Boolean = true; public static const AUDIOPLAYER_MODE_DEFAULT:Number = AudioController.PLAY_MODE_QUEUE; public static const BUTTON_DOUBLE_PAGE:Boolean = true; public static const COLOR_HS_WEB_BORDER_OVER_SELECTED:Number = 0; public static const COLOR_HS_AUDIO_FILL_UP_NORMAL:Number = 1; public static const COLOR_HS_INTERNAL_BORDER_UP_HIGHLIGHTED:Number = 0; public static const COLOR_HS_AUDIO_BORDER_OVER_HIGHLIGHTED:Number = 0; public static const PLAY_AUDIO_ON_START:Boolean = false; public static const CHANGED_TOC_LOCATION:String = "[_@BaseUrl]/[_@BookID]_[_@BookNum]_toc.xml"; public static const ALPHA_HS_WEB_FILL_OVER_SELECTED:Number = 0; public static const HOTSPOT_TOOLTIP_WIDTH:Number = 110; public static const COLOR_HS_AUDIO_FILL_OVER_SELECTED:Number = 0; public static const SHOW_POPUP_SCROLLBAR:String = "no"; public static const SHOW_HOTSPOT_TYPE:Number = 2; public static const POP_ANIMATION_DIMENSIONS:Object = {width:640, height:480}; public static const RESTRICT_TOOLBAR:Object = null; public static const GROUPED_PAGE_LABEL_MODE:Number = 1; public static const ALPHA_HS_INTERNAL_BORDER_DISABLED:Number = 0; public static const LINK_INDEX_XML:Boolean = false; public static const SCROLL_CONTENT:Boolean = true; public static const GLOBAL_BUTTONS_DATA:Object = null; public static const SHOW_POPUP_TOOLBAR:String = "no"; public static const AUDIOPLAYER_MODE_SECONDARY:Number = AudioController.PLAY_MODE_SINGLE; public static const POSITION_HTML_ICON:String = HotspotClip.TOP_LEFT; public static const BUTTON_ZOOM_IN:Boolean = true; public static const SLIDING_TOOL_DATA:Object = null; public static const ALPHA_HS_WEB_BORDER_UP_SELECTED:Number = 0; public static const COLOR_HS_AUDIO_BORDER_UP_SELECTED:Number = 0; public static const BUTTON_VIDEO:Boolean = false; public static const ALPHA_HS_WEB_BORDER_DISABLED:Number = 0; public static const ENABLE_FOLDER_STRUCTURE_CHANGE:Boolean = false; public static const ALPHA_HS_EXTERNAL_FILL_OVER_NORMAL:Number = 0; public static const FLOATING_ELEMENTS:Array = [{item_name:TBConsts.PAGE_AUDIO_CONTROLLER, scope:TOOLBAR_SCOPE, default_visible:false}]; public static const CALLBACK_VOCABULARY:Boolean = false; public static const BUTTON_SECTION_LINK:Boolean = false; public static const BOOK_VOLUMES:Array = null; public static const ALPHA_HS_INTERNAL_BORDER_UP_NORMAL:Number = 0; public static const POP_PDF_DIMENSIONS:Object = {width:100, height:400}; public static const POP_DOC_DIMENSIONS:Object = {width:100, height:100}; public static const GLOSSARY_DATA:Object = {WORD_SORT:false, MULTI_LANGUAGE:true, GLOSSARY_IMAGE_RESIZABLE:true, ALTERNATE_LANGUAGES:[{path:"glossary.xml", language:"english"}, {path:"spanishglossary.xml", language:"spanish"}]}; public static const COLOR_HS_WEB_FILL_DISABLED:Number = 0; public static const POP_VOCABULARY_DIMENSIONS:Object = {width:640, height:480}; public static const COLOR_HS_EXTERNAL_FILL_OVER_NORMAL:Number = 1; public static const ACCESSIBILITY:Boolean = false; public static const COLOR_HS_INTERNAL_BORDER_UP_NORMAL:Number = 1; public static const SELECTED_SHOW_HOTSPOT_STATE:String = "highlighted"; public static const DRAW:Array = null; public static const BUTTON_ZOOM_TEXT:Boolean = true; public static const CHANGED_ASSETS_LOCATION:String = "[_@BaseUrl]/swf/[_@BookID]_[_@UnitNum]/"; public static const ZOOM_TO_SELECTION_FILL:Number = 0xFFFF00; public static const ALPHA_HS_AUDIO_FILL_OVER_NORMAL:Number = 0; public static const USE_COMMA_AS_SEPARATOR_IN_GLOSSARY:Boolean = false; public static const COLOR_HS_WEB_FILL_OVER_NORMAL:Number = 1; public static const MESSAGES:Object = null; public static const COLOR_HS_INTERNAL_BORDER_DISABLED:Number = 0; public static const ALPHA_HS_INTERNAL_FILL_UP_SELECTED:Number = 0; public static const COLOR_HS_WEB_BORDER_DISABLED:Number = 0; public static const POP_DEFAULT_DIMENSIONS:Object = {width:300, height:300}; public static const ALPHA_HS_EXTERNAL_BORDER_OVER_SELECTED:Number = 0; public static const ALPHA_HS_INTERNAL_FILL_UP_NORMAL:Number = 0; public static const ENABLE_HTML_TEXT:Boolean = false; public static const COLOR_HS_EXTERNAL_FILL_UP_NORMAL:Number = 1; public static const COLOR_HS_INTERNAL_FILL_UP_SELECTED:Number = 0; public static const BUTTON_EDITION:Boolean = false; public static const TOOLS2_BAR:Array = [{item:TBConsts.BTN_TOGGLE_TOOLBAR, tabIndex:1, shortcut:"", alt:"Whiteboard View"}, {item:TBConsts.BTN_REWIND, tabIndex:2, shortcut:"", alt:"Previous"}, {item:TBConsts.BTN_FORWARD, tabIndex:3, shortcut:"", alt:"Next"}, {item:TBConsts.BTN_PLAY, tabIndex:4, shortcut:"", alt:"Play / Pause"}, {item:TBConsts.BTN_PREVIOUS2, tabIndex:5, shortcut:"", alt:"Previous Page"}, {item:TBConsts.TXT_PAGE2, tabIndex:6, shortcut:"", alt:"Jump to Page"}, {item:TBConsts.BTN_NEXT2, tabIndex:7, shortcut:"", alt:"Next Page"}, {item:TBConsts.BTN_SEARCH_RESTORE, tabIndex:8, shortcut:"", alt:"search restore"}]; public static const SHOW_POPUP_STATUSBAR:String = "no"; public static const HIDE_PRELOADER:Boolean = false; public static const POSITION_DOC_ICON:String = HotspotClip.TOP_LEFT; public static const ALPHA_HS_INTERNAL_FILL_DISABLED:Number = 0; public static const ALPHA_HS_AUDIO_FILL_UP_NORMAL:Number = 0; public static const PAGE_TXT_2_MAX_LENGTH:int = 30; public static const ALPHA_HS_WEB_FILL_UP_HIGHLIGHTED:Number = 0; public static const ADDITIONAL_TOOLBAR_FEATURES:Array = [{item:TBConsts.PAGE_AUDIO_CONTROLLER, blnAvailable:true}]; public static const WRAPPED_ADVANCE_TOC_TEXT:Boolean = true; public static const MIN_ZOOM:Number = 50; public static const POSITION_ICON_1:String = HotspotClip.TOP_LEFT; public static const COLOR_HS_WEB_BORDER_OVER_NORMAL:Number = 0xFF0000; public static const POSITION_ICON_3:String = HotspotClip.TOP_LEFT; public static const POSITION_ICON_4:String = HotspotClip.TOP_LEFT; public static const POSITION_ICON_5:String = HotspotClip.TOP_LEFT; public static const ZOOM_TO_SELECTION_BLEND:String = "darken"; public static const CALLBACK_EXTERNAL_LINK:Boolean = false; public static const ALPHA_HS_INTERNAL_BORDER_OVER_SELECTED:Number = 0; public static const CHANGED_SEARCH_INDEX_PATH:String = "[_@BaseUrl]/index/[_@BookID]_[_@BookNum]/"; public static const NUMBER_MAX_LINES_NOTES:int = 0; public static const POSITION_ICON_2:String = HotspotClip.TOP_RIGHT; public static const HIGHLIGHTER_COLOR:Number = 0xFFFF00; public static const ALPHA_HS_INTERNAL_BORDER_OVER_NORMAL:Number = 0; public static const BUTTON_COPY_SELECTION:Boolean = false; public static const CALLBACK_PDF:Boolean = false; public static const ALPHA_HS_EXTERNAL_BORDER_UP_NORMAL:Number = 0; public static const CHANGED_PAGE_XML_LOCATION:String = "[_@BaseUrl]/swf/[_@BookID]_[_@UnitNum]/xml/"; public static const INTERNAL_POPUP_WINDOW_SETTINGS:Object = {PDF:{maxWidth:600, maxHeight:600, dragCorner:false, minimize:false, isDraggable:true, removeOnClose:true}, DOC:{maxWidth:300, maxHeight:300, dragCorner:false, minimize:false, isDraggable:true, removeOnClose:false}}; public static const AUDIOPLAYER_USE_SLIDER:Boolean = false; public static const CALLBACK_GROUP:Boolean = false; public static const PAGE_SHADOW_DATA:Object = null; public static const CHANGED_BOOK_LOCATION:String = "[_@BaseUrl]/[_@BookID]_[_@BookNum]_book.xml"; public static const ENABLE_ALTERNATE_LANGUAGE:Boolean = false; public static const POP_QUIZ_DIMENSIONS:Object = {width:515, height:600}; public static const ALPHA_HS_AUDIO_FILL_UP_HIGHLIGHTED:Number = 0.5; public static const PAGE_SCROLLBAR_DATA:Object = null; public static const COLOR_HS_EXTERNAL_BORDER_UP_NORMAL:Number = 1; public static const MAX_ZOOM:Number = 200; public static const BUTTON_FIT_TO_PAGE:Boolean = false; public static const POP_GROUP_DIMENSIONS:Object = {width:738, height:547}; public static const ALPHA_HS_INTERNAL_FILL_UP_HIGHLIGHTED:Number = 0; public static const ALPHA_HS_EXTERNAL_BORDER_DISABLED:Number = 0; public static const ALPHA_HS_EXTERNAL_BORDER_OVER_NORMAL:Number = 0; public static const ALPHA_HS_EXTERNAL_FILL_OVER_HIGHLIGHTED:Number = 0; public static const BUTTON_FREEHAND_DRAWING:Boolean = false; public static const COLOR_HS_AUDIO_FILL_UP_HIGHLIGHTED:Number = 0xFF0000; public static const BUTTON_EXIT:Boolean = false; public static const COLOR_HS_EXTERNAL_FILL_UP_HIGHLIGHTED:Number = 0xFF; public static const PAGESCALE_FIT_TO_PAGE_SE:Number = 0.41; public static const TOOLS1_BAR:Array = [{item:TBConsts.BTN_TOC, tabIndex:1, shortcut:"CONTROL_SHIFT_O", altShortcut:"O", alt:"Table of Contents"}, {item:TBConsts.BTN_SEARCH, tabIndex:2, shortcut:"", alt:"Search"}, {item:TBConsts.TXT_SEARCH, tabIndex:3, shortcut:"", alt:"Search here"}, {item:TBConsts.BTN_ZOOM_OUT, tabIndex:4, shortcut:"", alt:"Zoom out"}, {item:TBConsts.BTN_ZOOM_IN, tabIndex:5, shortcut:"", alt:"Zoom In"}, {item:TBConsts.BTN_SINGLE, tabIndex:6, shortcut:"CONTROL_SHIFT_S", altShortcut:"S", alt:"Single Page View"}, {item:TBConsts.BTN_FACING, tabIndex:7, shortcut:"CONTROL_SHIFT_D", altShortcut:"D", alt:"Double Page View"}, {item:TBConsts.BTN_HELP, tabIndex:8, shortcut:"CONTROL_SHIFT_L", altShortcut:"L", alt:"Help"}, {item:TBConsts.BTN_DOC, tabIndex:9, shortcut:"", alt:"Resources"}, {item:TBConsts.BTN_PREVIOUS, tabIndex:10, shortcut:"CONTROL_SHIFT_P", altShortcut:"P", alt:"Previous Page"}, {item:TBConsts.TXT_PAGE, tabIndex:11, shortcut:"", alt:"Jump to Page"}, {item:TBConsts.BTN_NEXT, tabIndex:12, shortcut:"CONTROL_SHIFT_N", altShortcut:"N", alt:"Next Page"}]; public static const ALPHA_HS_AUDIO_BORDER_UP_NORMAL:Number = 0; public static const CALLBACK_QUIZ:Boolean = false; public static const COLOR_HS_WEB_BORDER_UP_NORMAL:Number = 1; public static const BUTTON_TOGGLE_TOOLBAR:Boolean = false; public static const ALPHA_HS_AUDIO_BORDER_OVER_HIGHLIGHTED:Number = 0; public static const ZOOM_ACCORDING_TO_PAGESCALE_DEFAULT:Boolean = false; public static const CALLBACK_DOC:Boolean = false; public static const ALPHA_HS_WEB_FILL_DISABLED:Number = 0; public static const ALPHA_HS_EXTERNAL_FILL_UP_SELECTED:Number = 0; public static const PAGESCALE_FIT_TO_PAGE_TE:Number = 0.41; public static const SHOW_HOTSPOT_TOOLTIP_INTERNAL:Boolean = true; public static const POSITION_PDF_ICON:String = HotspotClip.TOP_LEFT; public static const ALPHA_HS_EXTERNAL_FILL_DISABLED:Number = 0; public static const CHANGE_ITEMS_THEME:Array = null; public static const PRINT_DATA:Object = null; public static const COLOR_HS_EXTERNAL_FILL_UP_SELECTED:Number = 0; public static const BUTTON_PDF:Boolean = false; public static const COLOR_HS_EXTERNAL_BORDER_OVER_HIGHLIGHTED:Number = 0; public static const DOCKABLE_ICONS:Object = {TOOLS:[TBConsts.BTN_HIGHLIGHTER, TBConsts.BTN_NOTES, TBConsts.BTN_SEARCH, TBConsts.BTN_GLOSSARY, "mcToolBg", "mcExtraContent", "txtSearch", "mcHilightColor_0", "mcHilightColor_1", "mcHilightColor_2"]}; public static const LAUNCH_EXTERNAL_ASSETS_USING_WRRAPER:Boolean = false; public static const ALPHA_HS_AUDIO_BORDER_DISABLED:Number = 0; public static const ALPHA_HS_WEB_FILL_OVER_NORMAL:Number = 0; public static const LOOPING_NAVIGATION:Boolean = false; public static const MAKE_PAGEFOLIO_CASESENSITIVE:Boolean = false; public static const ADVANCED_RESOURCE_PANEL_DATA:Object = null; public static const ALPHA_HS_AUDIO_FILL_UP_SELECTED:Number = 0; public static const COLOR_HS_WEB_FILL_UP_SELECTED:Number = 0; public static const SHOW_TEST_MODE:Boolean = false; public static const ENABLE_EXTERNAL_INTERFACE_CALL:Boolean = false; public static const COLOR_HS_EXTERNAL_BORDER_DISABLED:Number = 0; public static const PAGE_BOUNDRY:Number = 0; public static const POP_VIDEO_DIMENSIONS:Object = {width:320, height:0xFF}; public static const ALPHA_HS_EXTERNAL_BORDER_UP_HIGHLIGHTED:Number = 0; public static const BUTTON_ACTUAL_SIZE:Boolean = false; public static const BUTTON_DOC:Boolean = false; public static const COLOR_HS_WEB_FILL_OVER_SELECTED:Number = 0; public static const NOTES_DATA:Object = null; public static const BUTTON_GRABBER:Boolean = false; public static const BUTTON_ANIMATION:Boolean = false; public static const BUTTON_SINGLE_PAGE:Boolean = true; public static const MAINVIEW_SCOPE:String = "main view"; public static const BUTTON_TOC:Boolean = true; public static const ALPHA_HS_INTERNAL_FILL_OVER_SELECTED:Number = 0; public static const SHOW_POPUP_RESIZEABLE:String = "no"; public static const ALPHA_HS_AUDIO_FILL_OVER_HIGHLIGHTED:Number = 0; public static const ALPHA_HS_EXTERNAL_FILL_UP_NORMAL:Number = 0; public static const HIGHLIGHTER_BLEND:String = "darken"; public static const BUTTON_HIGHLIGHTER:Boolean = true; public static const SIZE_PAGE_HEIGHT_SE:Number = 658.05; public static const PAGE_FLIP_DATA:Object = null; public static const ALPHA_HS_EXTERNAL_BORDER_OVER_HIGHLIGHTED:Number = 0; public static const AUDIOPLAYER_SEEKBAR_WIDTH:Number = 170; public static const COLOR_HS_EXTERNAL_FILL_OVER_HIGHLIGHTED:Number = 0; public static const ALPHA_HS_EXTERNAL_FILL_OVER_SELECTED:Number = 0; public static const COLOR_HS_WEB_BORDER_UP_SELECTED:Number = 0; public static const POP_HTML_DIMENSIONS:Object = {width:100, height:100}; public static const SIZE_PAGE_HEIGHT_TE:Number = 784.05; public static const TEST_MODE_SHAPE_WIDTH:Number = 290.6; public static const ZOOM_TO_SELECTION_ALPHA:Number = 0.6; public static const ALPHA_HS_INTERNAL_BORDER_UP_SELECTED:Number = 0; public static const ALPHA_HS_WEB_BORDER_OVER_HIGHLIGHTED:Number = 0; public static const BTN_PRINT:Boolean = false; public static const ALPHA_HS_WEB_FILL_OVER_HIGHLIGHTED:Number = 0; public static const WIDTH_HS_AUDIO_BORDER:Number = 1; public static const CALLBACK_HELP:Boolean = false; public static const BUTTON_FULLSCREEN:Boolean = false; public static const COLOR_HS_WEB_FILL_OVER_HIGHLIGHTED:Number = 0; public static const CALLBACK_COMPREHENSION:Boolean = false; public static const SHOW_HOTSPOT_TOOLTIP_WEB:Boolean = true; public static const SHOW_HOTSPOT_TOOLTIP_AUDIO:Boolean = true; public static const ALPHA_HS_EXTERNAL_BORDER_UP_SELECTED:Number = 0; public static const POP_INTERACTIVITY_DIMENSIONS:Object = {width:100, height:100}; public static const BUTTON_GROUP:Boolean = false; public static const ZOOM_TO_FEATURES:Object = {COLOR_SELECTION_FILL:0xFFFF00, ALPHA_SELECTION_FILL:0.5, BLEND_SELECTION_FILL:BlendMode.DARKEN, COLOR_SELECTION_BORDER:0xFF0000, ALPHA_SELECTION_BORDER:0, THICKNESS_SELECTION_BORDER:0, MAINTAIN_DISPLAY_STATUS:true}; public static const BUTTON_COMPREHENSION:Boolean = false; public static const HILIGHT_COLOR:Array = [0xFFFF00, 0xFF00FF, 0xFFFF]; public static const ALPHA_HS_WEB_BORDER_UP_NORMAL:Number = 0; public static const COLOR_HS_AUDIO_FILL_OVER_NORMAL:Number = 1; public static const BUTTON_RESOURCE_PANEL:Boolean = false; public static const WIDTH_HS_EXTERNAL_BORDER:Number = 1; public static const ALPHA_HS_AUDIO_BORDER_UP_HIGHLIGHTED:Number = 0; public static const BUTTON_PREV:Boolean = true; public static const COLOR_HS_INTERNAL_BORDER_OVER_NORMAL:Number = 209919; public static const ALPHA_HS_WEB_FILL_UP_NORMAL:Number = 0; public static const BUTTON_ZOOM_OUT:Boolean = true; public static const COLOR_HS_INTERNAL_BORDER_OVER_HIGHLIGHTED:Number = 0; public static const POSITION_DEFAULT_ICON:String = HotspotClip.TOP_LEFT; public static const HOTSPOT_AUDIO_USE_AUDIOPLAYER:Boolean = true; public static const SHOW_HOTSPOT_TOOLTIP_EXTERNAL:Boolean = true; public static const ZOOM_AMT:Number = 25; public static const PROGRESS_BAR_REQUIRED:Boolean = true; public static const PAGE_TXT_MAX_LENGTH:int = 30; public static const BUTTON_QUIZ:Boolean = false; public static const POSITION_INTERACTIVITY_ICON:String = HotspotClip.TOP_LEFT; public static const COLOR_HS_EXTERNAL_BORDER_UP_HIGHLIGHTED:Number = 0; public static const USE_ADVANCE_EXTERNAL_TOC:Boolean = true; public static const BUTTON_NOTES:Boolean = true; public static const BUTTON_SEARCH:Boolean = true; public static const COLOR_HS_EXTERNAL_BORDER_OVER_NORMAL:Number = 0xFF0000; public static const ALPHA_HS_WEB_FILL_UP_SELECTED:Number = 0; public static const SHOW_PAGE_ERROR_MESSAGE:Boolean = true; public static const MAINTAIN_DISPLAY_STATUS:Boolean = false; public static const ALPHA_HS_WEB_BORDER_UP_HIGHLIGHTED:Number = 0; public static const CALLBACK_HTML:Boolean = false; public static const PAGE_VIEW_DATA:Object = null; public static const COLOR_HS_INTERNAL_FILL_DISABLED:Number = 0; public static const COLOR_HS_AUDIO_BORDER_OVER_SELECTED:Number = 0; public static const EXTRA_PAGE_NAVIGATION:Boolean = false; public static const COLOR_HS_WEB_FILL_UP_NORMAL:Number = 1; public static const ALPHA_HS_AUDIO_BORDER_OVER_NORMAL:Number = 0; public static const PAGE_AUDIO_CONTROLLER:Boolean = true; public static const SIZE_PAGE_WIDTH_SE:Number = 504.7; public static const COLOR_HS_WEB_BORDER_UP_HIGHLIGHTED:Number = 0; public static const BUTTON_PAGE:Boolean = true; public static const BUTTON_SHOWHOTSPOT:Boolean = false; public static const ALPHA_HS_INTERNAL_FILL_OVER_HIGHLIGHTED:Number = 0; public static const SIZE_PAGE_WIDTH_TE:Number = 612.7; public static const EXTERNAL_TOC_PROPERTIES:Object = {bSpreadMode:true}; public static const TOOLBAR_VARIABLE_POSITION:Array = [{item_name:TBConsts.BTN_TOC, scope:TOOLBAR_SCOPE, x:158.5, y:589.55, visible:true}, {item_name:TBConsts.BTN_PREVIOUS, scope:TOOLBAR_SCOPE, x:805.75, y:589.35, visible:false}, {item_name:TBConsts.BTN_NEXT, scope:TOOLBAR_SCOPE, x:911.25, y:589.35, visible:false}, {item_name:TBConsts.BTN_SINGLE, scope:TOOLBAR_SCOPE, x:585.25, y:589.3, visible:true}, {item_name:TBConsts.BTN_FACING, scope:TOOLBAR_SCOPE, x:631.2, y:589.3, visible:true}, {item_name:TBConsts.BTN_ZOOM_IN, scope:TOOLBAR_SCOPE, x:531.35, y:589.3, visible:true}, {item_name:TBConsts.BTN_ZOOM_OUT, scope:TOOLBAR_SCOPE, x:448.15, y:589.3, visible:true}, {item_name:TBConsts.BTN_SEARCH, scope:TOOLBAR_SCOPE, x:314.8, y:603.65, visible:true}, {item_name:TBConsts.TXT_ZOOM, scope:TOOLBAR_SCOPE, x:488.55, y:591.6, visible:true}, {item_name:"btnResourcePanel", scope:TOOLBAR_SCOPE, x:665.4, y:571.1, visible:true}, {item_name:TBConsts.TXT_PAGE, scope:TOOLBAR_SCOPE, x:840.85, y:595.45, visible:false}, {item_name:TBConsts.BTN_HELP, scope:TOOLBAR_SCOPE, x:709.5, y:602.9, visible:true}, {item_name:TBConsts.BTN_DOC, scope:TOOLBAR_SCOPE, x:757.3, y:602.9, visible:true}, {item_name:"txtSearch", scope:TOOLBAR_SCOPE, x:336.15, y:593.25, visible:true}, {item_name:"mcContentBackground", scope:TOOLBAR_SCOPE, x:514.85, y:316.9, visible:true}, {item_name:"mcLogo", scope:TOOLBAR_SCOPE, x:4.55, y:598, visible:true}, {item_name:"mcLevel", scope:TOOLBAR_SCOPE, x:823.9, y:575, visible:true}, {item_name:"mcExtraContent", scope:TOOLBAR_SCOPE, x:318, y:592.6, visible:true}, {item_name:"mcContent", scope:MAINVIEW_SCOPE, x:10, y:10.95, visible:true}, {item_name:"mcDragArea", scope:MAINVIEW_SCOPE, x:-0.35, y:7.3, visible:true}, {item_name:"contentBG", scope:MAINVIEW_SCOPE, x:5.2, y:2.95, visible:true}, {item_name:"mcZoomPanel", scope:MAINVIEW_SCOPE, x:13.7, y:14.95, visible:null}]; public static const ALPHA_HS_INTERNAL_BORDER_OVER_HIGHLIGHTED:Number = 0; public static const SHOW_HOTSPOT_TYPE_DEPENDS_ON_TOOLTIP:Boolean = false; public static const CHANGED_PAGE_SWF_LOCATION:String = "[_@BaseUrl]/swf/[_@BookID]_[_@UnitNum]/page/"; public static const DEFAULT_PAGES_COUNT_SE:Number = 1; public static const SHOW_POPUP_MENUBAR:String = "no"; public static const HIGHLIGHTER_ALPHA:Number = 1; public static const CHANGED_GLOSSARY_LOCATION:String = "[_@BaseUrl]/[_@BookID]_[_@BookNum]_glossary.xml"; public static const POP_COMPREHENSION_DIMENSIONS:Object = {width:800, height:600}; public static const COLOR_HS_AUDIO_BORDER_UP_NORMAL:Number = 1; public static const DEFAULT_PAGES_COUNT_TE:Number = 1; public static const PAGE_JUMP_CASESENSITIVE_PATTERN:String = null; public static const BUTTON_NEXT:Boolean = true; public static const CALLBACK_VIDEO:Boolean = false; public static const ALPHA_HS_AUDIO_FILL_DISABLED:Number = 0; public static const CONTEXT_MENU_DATA:Object = null; public static const CALLBACK_ANIMATION:Boolean = false; public static const COLOR_HS_AUDIO_BORDER_DISABLED:Number = 0; public static const INDEX_PANEL_XML:String = null; public static const ALPHA_HS_INTERNAL_BORDER_UP_HIGHLIGHTED:Number = 0; public static const COLOR_HS_INTERNAL_FILL_OVER_SELECTED:Number = 0; public static const SET_DEFAULT_PAGES_COUNT:Boolean = true; public static const WIDTH_HS_INTERNAL_BORDER:Number = 1; public static const PAGESCALE_DEFAULT_SE:Number = 1.2; public static const COLOR_HS_EXTERNAL_FILL_DISABLED:Number = 0; public static const ALPHA_HS_WEB_BORDER_OVER_NORMAL:Number = 0; } }//package model
Section 80
//ConfigManager (model.ConfigManager) package model { import controller.*; public class ConfigManager { private var _defaultPageHeightSE:Number; private var _defaultZoomAmt:Number; private var _sendAndReceivePath:String; private var _blnPageAudioController:Boolean; private var _defaultPageWidthSE:Number; private var _defaultPageHeightTE:Number; private var _defaultPageCountSE:Number; private var _defaultPageWidthTE:Number; private var _defaultnotesData:Object; private var _defaultpageScaleSE:Number; private var _defaultPageCountTE:Number; private var _defaultprintMessages:Object; private var _saveRequestPath:String; private var _defaultFitToPageSE:Number; private var _defaultMinZoom:Number; private var _defaultpageScaleTE:Number; private var _arrBookVolumes:Array; private var _defaultFitToPageTE:Number; private var _defaultMaxZoom:Number; public function ConfigManager(){ _sendAndReceivePath = ""; _saveRequestPath = ""; } public function get sendAndReceivePath():String{ return (_sendAndReceivePath); } public function get pageZoomAmount():Number{ var _local1:Number = chkXmlValue(_defaultZoomAmt, Config.ZOOM_AMT); return (_local1); } public function get pageHeightTE():Number{ var _local1:Number = chkXmlValue(_defaultPageHeightTE, Config.SIZE_PAGE_HEIGHT_TE); return (_local1); } public function get pageWidthSE():Number{ var _local1:Number = chkXmlValue(_defaultPageWidthSE, Config.SIZE_PAGE_WIDTH_TE); return (_local1); } public function get notesData():Object{ var _local1:Object = chkXmlValue(_defaultnotesData, Config.NOTES_DATA); return (_local1); } public function get pageScaleSE():Number{ var _local1:Number = chkXmlValue(_defaultpageScaleSE, Config.PAGESCALE_DEFAULT_SE); return (_local1); } public function set pageHeightTE(_arg1:Number):void{ _defaultPageHeightTE = _arg1; } public function set pageMaxZoom(_arg1:Number):void{ _defaultMaxZoom = _arg1; } public function get page_Audio_Controller():Boolean{ var _local1:Boolean = chkXmlValue(_blnPageAudioController, Config.PAGE_AUDIO_CONTROLLER); return (_local1); } public function set notesData(_arg1:Object):void{ _defaultnotesData = _arg1; } public function get saveRequestPath():String{ return (_saveRequestPath); } public function get pageCountSE():Number{ var _local1:Number = chkXmlValue(_defaultPageCountSE, Config.DEFAULT_PAGES_COUNT_SE); return (_local1); } public function set pageScaleSE(_arg1:Number):void{ _defaultpageScaleSE = _arg1; } public function get printMessages():Object{ var _local1:Object = chkXmlValue(_defaultprintMessages, Config.PRINT_DATA); return (_local1); } public function set pageWidthSE(_arg1:Number):void{ _defaultPageWidthSE = _arg1; } public function set pageScaleFitToPageTE(_arg1:Number):void{ _defaultFitToPageTE = _arg1; } public function set pageCountSE(_arg1:Number):void{ _defaultPageCountSE = _arg1; } public function get pageWidthTE():Number{ var _local1:Number = chkXmlValue(_defaultPageWidthTE, Config.SIZE_PAGE_WIDTH_TE); return (_local1); } public function set page_Audio_Controller(_arg1:Boolean):void{ _blnPageAudioController = _arg1; } public function get pageScaleTE():Number{ var _local1:Number = chkXmlValue(_defaultpageScaleTE, Config.PAGESCALE_DEFAULT_TE); return (_local1); } public function get pageCountTE():Number{ var _local1:Number = chkXmlValue(_defaultPageCountTE, Config.DEFAULT_PAGES_COUNT_TE); return (_local1); } public function set printMessages(_arg1:Object):void{ Controller.instance.tracer((_arg1 + "______________PRINT MESSAGE____________________")); _defaultprintMessages = _arg1; } public function set saveRequestPath(_arg1:String):void{ _saveRequestPath = _arg1; } public function get pageMinZoom():Number{ var _local1:Number = chkXmlValue(_defaultMinZoom, Config.MIN_ZOOM); return (_local1); } public function get pageHeight():Number{ var _local2:Number; var _local1:Model = Controller.instance.model; if (_local1.ebook.edition == "student"){ _local2 = pageHeightSE; } else { _local2 = pageHeightTE; }; return (_local2); } public function get pageScaleFitToPageSE():Number{ var _local1:Number = chkXmlValue(_defaultFitToPageSE, Config.PAGESCALE_FIT_TO_PAGE_SE); return (_local1); } public function get pageMaxZoom():Number{ var _local1:Number = chkXmlValue(_defaultMaxZoom, Config.MAX_ZOOM); return (_local1); } public function set pageWidthTE(_arg1:Number):void{ _defaultPageWidthTE = _arg1; } public function get pageScaleFitToPageTE():Number{ var _local1:Number = chkXmlValue(_defaultFitToPageTE, Config.PAGESCALE_FIT_TO_PAGE_TE); return (_local1); } public function set pageHeightSE(_arg1:Number):void{ _defaultPageHeightSE = _arg1; } public function set pageCountTE(_arg1:Number):void{ _defaultPageCountTE = _arg1; } public function set pageScaleFitToPageSE(_arg1:Number):void{ _defaultFitToPageSE = _arg1; } public function set bookVolumes(_arg1:Array):void{ _arrBookVolumes = _arg1; } public function get pageHeightSE():Number{ var _local1:Number = chkXmlValue(_defaultPageHeightSE, Config.SIZE_PAGE_HEIGHT_SE); return (_local1); } public function set pageMinZoom(_arg1:Number):void{ _defaultMinZoom = _arg1; } private function chkXmlValue(_arg1, _arg2){ if (_arg1){ return (_arg1); }; return (_arg2); } public function get bookVolumes():Array{ var _local1:Array = chkXmlValue(_arrBookVolumes, Config.BOOK_VOLUMES); return (_local1); } public function set sendAndReceivePath(_arg1:String):void{ _sendAndReceivePath = _arg1; } public function set pageZoomAmount(_arg1:Number):void{ _defaultZoomAmt = _arg1; } public function get pageWidth():Number{ var _local2:Number; var _local1:Model = Controller.instance.model; if (_local1.ebook.edition == "student"){ _local2 = pageWidthSE; } else { _local2 = pageWidthTE; }; return (_local2); } public function set pageScaleTE(_arg1:Number):void{ _defaultpageScaleTE = _arg1; } } }//package model
Section 81
//Constants (model.Constants) package model { public dynamic class Constants { public static const BREADCRUMB:String = "breadcrumb"; public static const FREEHAND_ERASER_CURSOR:String = "freehand_eraser_cursor"; public static const PAGE:String = "page"; public static const SHAPE_RECTANGLE:String = "rectangle"; public static const DOWN_STATE:String = "down"; public static const SHAPE_TRIANGLE:String = "triangle"; public static const PANEL_GLOSSARY:String = "panel_glossary"; public static const THEME_1:String = "theme1"; public static const THEME_2:String = "theme2"; public static const GLOBAL_NOTES:String = "global_notes"; public static const SEARCH_PANEL:String = "search_panel"; public static const LINE_1:String = "line1"; public static const AREA_CONTENT:String = "mcCustomCursorArea_Content"; public static const LINE_3:String = "line3"; public static const LINE_2:String = "line2"; public static const ALWAYS_ENABLE:String = "always_enable"; public static const COLOR_1:String = "color1"; public static const COLOR_2:String = "color2"; public static const COLOR_3:String = "color3"; public static const TIME_LEFT:String = "time left"; public static const CONTENT_SCROLLBARS:String = "content_scrollbars"; public static const SECTION_TITLE:String = "section_title"; public static const DROPDOWN_CONTROL_CLICK:String = "dropdown_control_click"; public static const FREEHAND_PEN_CURSOR:String = "freehand_pen_cursor"; public static const GLOBALNOTES_PANEL:String = "globalnotes_panel"; public static const LAUNCH_ASSET:String = "launch_asset"; public static const PAGE_NUM:String = "page_num"; public static const PANEL_GRABBER:String = "panel_grabber"; public static const UP_STATE:String = "up"; public static const SHAPE_STAR:String = "star"; public static const PANEL_PRESET_ZOOM:String = "panel_preset_zoom"; public static const COLOR_4:String = "color4"; public static const SHAPE_POLYGON:String = "polygon"; public static const SHAPE_CIRCLE:String = "circle"; public static const BLANK_SCREEN:String = "blank_screen"; public static const SKIN_INTERNAL:String = "video internal skin"; public static const PANEL_SEARCH:String = "panel_search"; public static const FREEHAND_SHAPE_CURSOR:String = "freehand_shape_cursor"; public static const CONTENT_CLICK_SPACE:String = "mcClickSpace"; public static const SKIN_EXTERNAL:String = "video external skin"; public static const TIME_ELAPSED:String = "time elapsed"; public static const GRABBER_CURSOR:String = "grabber_cursor"; public static const FREEHAND_HIGHLIGHTER_CURSOR:String = "freehand_highlighter_cursor"; public static const ADD_LINK_CURSOR:String = "add_link_cursor"; public static const DRAW_PEN:String = "draw_pen"; } }//package model
Section 82
//Domain (model.Domain) package model { import flash.utils.*; public dynamic class Domain extends Proxy { private var _propertiesIndex:Array; protected var _properties:Object; public function Domain(){ _properties = new Object(); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function deleteProperty(_arg1):Boolean{ if (_properties[_arg1]){ delete _properties[_arg1]; }; return (true); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){ return (_properties[_arg1]); } public function toString():String{ return ("[Domain:]"); } public function init():void{ } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextNameIndex(_arg1:int):int{ var _local2:*; if (_arg1 == 0){ _propertiesIndex = new Array(); for (_local2 in _properties) { _propertiesIndex.push(_local2); }; }; if (_arg1 < _propertiesIndex.length){ return ((_arg1 + 1)); }; return (0); } public function validate():void{ } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(_arg1, _arg2):void{ if (_properties[_arg1] != _arg2){ _properties[_arg1] = _arg2; }; } public function preSerialize():void{ } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextName(_arg1:int):String{ return (_propertiesIndex[(_arg1 - 1)]); } public function postDeSerialize():void{ } } }//package model
Section 83
//DrawObject (model.DrawObject) package model { import controller.*; public class DrawObject { private var _arrDrawSprite:Array;// = null public function get drawingSprite():Array{ return (((_arrDrawSprite)==null) ? getPageSprite() : _arrDrawSprite); } private function getPageSprite():Array{ var _local1:Array = new Array(); var _local2:uint = Controller.instance.view.content.pageCount; var _local3:uint; while (_local3 < _local2) { _local1.push(Controller.instance.view.content.contentPages[_local3].drawContainer); _local3++; }; return (_local1); } public function set drawingSprite(_arg1:Array):void{ _arrDrawSprite = _arg1; } } }//package model
Section 84
//EBook (model.EBook) package model { public dynamic class EBook extends Section { private var _strBookID:String; private var _strUserID:String; public static const EDITIONS:Array = ["student", "teacher"]; public function get bookID():String{ return (_strBookID); } public function set bookID(_arg1:String):void{ _strBookID = _arg1; } public function set userID(_arg1:String):void{ _strUserID = _arg1; } public function get userID():String{ return (_strUserID); } override public function postDeSerialize():void{ super.postDeSerialize(); if (!_properties.edition){ _properties.edition = "student"; }; if (!_properties.config.defaultPageCount){ _properties.config.defaultPageCount = NaN; }; if (!_properties.config.sizePageHeightTE){ _properties.config.sizePageHeightTE = NaN; }; if (!_properties.config.sizePageWidthTE){ _properties.config.sizePageWidthTE = NaN; }; if (!_properties.config.sizePageHeightSE){ _properties.config.sizePageHeightSE = NaN; }; if (!_properties.config.sizePageWidthSE){ _properties.config.sizePageWidthSE = NaN; }; if (!_properties.config.pageScaleFitToPage){ _properties.config.pageScaleFitToPage = NaN; }; if (!_properties.config.notesData){ _properties.config.notesData = null; }; if (!_properties.config.printMessages){ _properties.config.printMessages = null; }; } } }//package model
Section 85
//ErrorMessages (model.ErrorMessages) package model { public dynamic class ErrorMessages { public static const BLANK_SEARCH:String = "Please enter the search keyword."; public static const NO_SEARCH_RESULT:String = "No results found. Please try again."; public static const INVALID_PAGE:String = "No results found. Please try again."; } }//package model
Section 86
//ExistingData (model.ExistingData) package model { import controller.*; import flash.events.*; import flash.net.*; public dynamic class ExistingData { private var _objXMLData:Object; private var _arrExistingHL:Array; private var _arrExistingFreehandShapes:Array; private var _arrExistingNotes:Array; private var _objExternalListener:Object;// = null private var _objXML:XML; public function ExistingData(_arg1:XML){ _arrExistingNotes = new Array(); _arrExistingHL = new Array(); _arrExistingFreehandShapes = new Array(); _objXML = (_arg1 as XML); parseXML(); } private function sendDataToExternalInterface(_arg1:XML):void{ if (_objExternalListener == null){ return; }; _objExternalListener.onExternalListener(Config.SERVER_CONFIG_PATH, _arg1); } private function updatePageData(_arg1:XML, _arg2:uint):void{ var _local3:String; var _local4:uint; var _local5:Boolean; var _local6:uint; var _local7:uint; if (_objXML == ""){ _local3 = Controller.instance.model.configManager.saveRequestPath; _objXML = new XML(((("<userInfo>" + (("<sendAndReceive url=\"" + ??esc_xattr ) + "\"/>")) + (("<saveRequest url=\"" + ??esc_xattr ) + "\"/>")) + "</userInfo>")); _objXML.appendChild(_arg1); return; }; _local4 = _objXML.page.length(); _local5 = false; _local6 = 0; while (_local6 < _local4) { _local7 = _objXML.page[_local6].@num; if (_local7 == _arg2){ _local5 = true; break; }; _local6++; }; if (_local5 == true){ _objXML.replace(_objXML.page[_local6].childIndex(), _arg1); } else { _objXML.appendChild(_arg1); }; } public function updateExistingData(_arg1:Array):void{ _arrExistingNotes = _arg1; } public function initExistingNotesData():void{ var _local4:Object; var _local1:Number = Controller.instance.model.loadingPageIndex; var _local2:Page = Controller.instance.model.loadingPage; var _local3:int; while (_local3 < _arrExistingNotes.length) { _local4 = _arrExistingNotes[_local3]; if (Number(_local4.pageNum) == Number(_local1)){ if (_local4.blnSetValue){ _local2.existingNotes = _local4.pageData; _local2.blnSetValues = _local4.blnSetValue; _local4.blnSetValue = false; } else { _local2.blnSetValues = _local4.blnSetValue; }; }; _local3++; }; } private function createNodes(_arg1:Array, _arg2:String=null, _arg3:XML=null):XML{ var _local6:XML; var _local7:Array; var _local8:Array; var _local9:Array; var _local10:uint; var _local11:Array; var _local4:uint = _arg1.length; var _local5:uint; while (_local5 < _local4) { _local6 = new XML(); _local7 = _arg1[_local5].objData.arrNotesInfo; _local8 = _arg1[_local5].objData.arrHighlightInfo; _local9 = _arg1[_local5].objData.arrFreehandShapesInfo; _local10 = _arg1[_local5].pageNum; _local6 = new XML((("<page num=\"" + ??esc_xattr ) + "\"></page>")); if (_local7 != null){ _local6 = createNoteNode(_local7, _local6); }; if (_local8 != null){ _local6 = createHighLightNode(_local8, _local6); }; if (_local9 != null){ _local6 = createFreehandShapesNode(_local9, _local6); }; if (((!((Config.SERVER_CONFIG_PATH == null))) && (!((Config.SERVER_CONFIG_PATH == "use_param_tag"))))){ _local11 = _arg1[_local5].objData.arrLinks; if (_local11 != null){ _local6 = createHotSpotNode(_local11, _local6); }; if (_local6.children().length() != 0){ if (_arg2 == Constants.GLOBAL_NOTES){ updateGlobalNote(_local6, _local10); } else { updatePageData(_local6, _local10); }; }; } else { _arg3.appendChild(_local6); }; _local5++; }; if (((!((Config.SERVER_CONFIG_PATH == null))) && (!((Config.SERVER_CONFIG_PATH == "use_param_tag"))))){ return (null); }; return (_arg3); } public function initExistingHLData():void{ var _local4:Object; var _local1:Number = Controller.instance.model.loadingPageIndex; var _local2:Page = Controller.instance.model.loadingPage; var _local3:int; while (_local3 < _arrExistingHL.length) { _local4 = (_arrExistingHL[_local3] as Object); if (Number(_local4.pageNum) == Number(_local1)){ if (_local4.blnSetValue){ _local2.existingHL = _local4.pageData; _local2.blnSetValues = _local4.blnSetValue; _local4.blnSetValue = false; } else { _local2.blnSetValues = _local4.blnSetValue; }; }; _local3++; }; } public function sendData(_arg1:Array, _arg2:String=null, _arg3:Boolean=true):void{ var objXml:XML; var url:String; var variables:URLVariables; var userID:String; var strBookID:String; var request:URLRequest; var url_loader:URLLoader; var arrObjectsInfo = _arg1; var strNodeName = _arg2; var bSaveXML = _arg3; if (((!((Config.SERVER_CONFIG_PATH == null))) && (!((Config.SERVER_CONFIG_PATH == "use_param_tag"))))){ if ((((((strNodeName == Constants.GLOBAL_NOTES)) && (!((_objXML == null))))) && (!((_objXML == ""))))){ deleteGlobalNoteNode(); }; createNodes(arrObjectsInfo, strNodeName); if ((((((bSaveXML == true)) && (!((_objXML == null))))) && (!((_objXML == ""))))){ sendDataToExternalInterface(_objXML); }; } else { objXml = new XML(); url = Controller.instance.model.configManager.saveRequestPath; variables = new URLVariables(); userID = Controller.instance.model.ebook.userID; strBookID = Controller.instance.model.ebook.bookID; objXml = new XML((((("<userInfo userID=\"" + ??esc_xattr ) + "\" bookID=\"") + ??esc_xattr ) + "\"></userInfo>")); objXml = createNodes(arrObjectsInfo, strNodeName, objXml); variables.xmldata = objXml; if (((!((url == ""))) && (!((url == null))))){ var onComplete:Function = function (_arg1:Event):void{ var _local2:URLVariables = new URLVariables(_arg1.target.data); }; var onError:Function = function (_arg1:IOErrorEvent):void{ Controller.instance.tracer("Server not responding."); }; request = new URLRequest(url); request.data = variables; request.method = URLRequestMethod.POST; url_loader = new URLLoader(); url_loader.addEventListener(Event.COMPLETE, onComplete); url_loader.addEventListener(IOErrorEvent.IO_ERROR, onError); url_loader.load(request); }; }; } private function createHighLightNode(_arg1:Array, _arg2:XML):XML{ var _local3:XML = new XML(); var _local4:uint = _arg1.length; var _local5:uint; while (_local5 < _local4) { _local3 = new XML((((((((((((("<highlight id=\"" + ??esc_xattr ) + "\" xPos=\"") + ??esc_xattr ) + "\" yPos=\"") + ??esc_xattr ) + "\" width=\"") + ??esc_xattr ) + "\" height=\"") + ??esc_xattr ) + "\" color=\"") + ??esc_xattr ) + "\">\r\n\t\t\t\t</highlight>")); _arg2.appendChild(_local3); _local5++; }; return (_arg2); } public function getExternalListener():Object{ return (_objExternalListener); } private function updateGlobalNote(_arg1:XML, _arg2:uint):void{ var _local3:String; var _local4:XML; if (_objXML == ""){ _local3 = Controller.instance.model.configManager.saveRequestPath; _objXML = new XML(((("<userInfo>" + (("<sendAndReceive url=\"" + ??esc_xattr ) + "\"/>")) + (("<saveRequest url=\"" + ??esc_xattr ) + "\"/>")) + "</userInfo>")); }; if (_objXML.child("globalNote").length() == 0){ _local4 = new XML(); _local4 = <globalNote></globalNote> ; _objXML.appendChild(_local4); _objXML.globalNote.appendChild(_arg1); } else { _objXML.globalNote.appendChild(_arg1); }; } private function parseXML():void{ var _local5:Object; var _local6:Number; var _local7:Array; var _local8:Array; var _local9:Array; var _local10:Number; var _local11:Number; var _local12:Object; var _local13:Object; var _local14:Boolean; var _local15:Hotspot; var _local1:Controller = Controller.instance; var _local2:Number = _objXML.page.length(); Controller.instance.model.ebook.userID = _objXML[0].@userID; Controller.instance.model.ebook.bookID = _objXML[0].@bookID; var _local3:Array = new Array(); var _local4:Number = 0; while (_local4 < _local2) { _local5 = _objXML.page[_local4]; _local6 = _local5.children().length(); _local7 = new Array(); _local8 = new Array(); _local9 = new Array(); _local10 = _objXML.page[_local4].@num; _local11 = 0; while (_local11 < _local6) { if (_local5.children()[_local11].name() == "highlight"){ _local7.push({id:_local5.children()[_local11].@id, xPos:_local5.children()[_local11].@xPos, yPos:_local5.children()[_local11].@yPos, width:_local5.children()[_local11].@width, height:_local5.children()[_local11].@height, color:_local5.children()[_local11].@color}); } else { if (_local5.children()[_local11].name() == "note"){ _local8.push({id:_local5.children()[_local11].@id, xPos:Number(_local5.children()[_local11].@xPos), yPos:Number(_local5.children()[_local11].@yPos), txt:_local5.children()[_local11].context}); } else { if (_local5.children()[_local11].name() == "freehandshape"){ _local14 = ((_local5.children()[_local11].@visible)=="true") ? true : false; _arrExistingFreehandShapes.push({pageNum:_local5.children()[_local11].@id, shapeInfo:_local5.children()[_local11].@shapeInfo, visible:_local14}); } else { if (_local5.children()[_local11].name() == "hotspot"){ _local15 = (ObjectXMLDeserializer.toObject(_local5.children()[_local11]) as Hotspot); _local3.push({pageNum:Number(_local10), linkItem:_local15.hotspots, bAdded:false}); }; }; }; }; _local11++; }; _arrExistingHL.push({pageNum:_local10, blnSetValue:true, pageData:_local7}); _arrExistingNotes.push({pageNum:_local10, blnSetValue:true, pageData:_local8}); _local4++; }; if (((!((Config.DRAW == null))) && (!((_arrExistingFreehandShapes.length == 0))))){ Controller.instance.view.content.updateFreehandShapesData(_arrExistingFreehandShapes); }; if (Controller.instance.view.globalNotesPanel != null){ parseGlobalNoteNode(); }; if (Controller.instance.view.addLinkPanel != null){ Controller.instance.view.addLinkPanel.updateLinkArray(_local3); }; } private function removeNode(_arg1:String):void{ var _local2:uint; var _local3:uint; var _local4:uint; var _local5:uint; if (_objXML != ""){ _local2 = _objXML.page.length(); _local3 = 0; while (_local3 < _local2) { _local4 = _objXML.page[_local3].children().length(); _local5 = 0; while (_local5 < _local4) { if (_objXML.page[_local3].children()[_local5].name() == _arg1){ delete _objXML.page[_local3].children()[_local5]; }; _local5++; }; _local3++; }; }; } private function deleteGlobalNoteNode():void{ var _local1:int; while (_local1 < _objXML.children().length()) { if (_objXML.children()[_local1].name() == "globalNote"){ delete _objXML.children()[_local1]; break; }; _local1++; }; } private function parseGlobalNoteNode():void{ var _local4:Object; var _local5:uint; var _local6:Object; var _local7:uint; var _local8:Boolean; var _local1:uint = _objXML.globalNote.page.length(); var _local2:Array = new Array(); var _local3:uint; while (_local3 < _local1) { _local4 = _objXML.globalNote.page[_local3]; _local5 = _local4.children().length(); _local6 = new Object(); _local6.id = _local4.@num; _local7 = 0; while (_local7 < _local5) { if (_local4.children()[_local7].name() == "note"){ _local6.text = _local4.children()[_local7].context; } else { if (_local4.children()[_local7].name() == "freehandshape"){ _local6.drawingCanvas = _local4.children()[_local7].@shapeInfo; _local6.width = Number(_local4.children()[_local7].@width); _local6.height = Number(_local4.children()[_local7].@height); _local8 = ((_local4.children()[_local7].@visible)=="true") ? true : false; _local6.visible = _local8; }; }; _local7++; }; _local2.push(_local6); _local3++; }; Controller.instance.view.content.saveGlobalNotesData(_local2); } private function createFreehandShapesNode(_arg1:Array, _arg2:XML):XML{ var _local6:String; var _local3:XML = new XML(); var _local4:uint = _arg1.length; var _local5:uint; while (_local5 < _local4) { _local6 = (((("<freehandshape id = '" + _arg1[_local5].pageNum) + "' shapeInfo = '") + _arg1[_local5].shapeInfo) + "'"); if (_arg1[_local5].width != undefined){ _local6 = (_local6 + ((" width = '" + _arg1[_local5].width) + "'")); }; if (_arg1[_local5].height != undefined){ _local6 = (_local6 + ((" height = '" + _arg1[_local5].height) + "'")); }; if (_arg1[_local5].visible != undefined){ _local6 = (_local6 + ((" visible = '" + _arg1[_local5].visible) + "'")); }; _local6 = (_local6 + "></freehandshape>"); _local3 = new XML(_local6); _arg2.appendChild(_local3); _local5++; }; return (_arg2); } public function regiterExternalListner(_arg1:Object):void{ _objExternalListener = _arg1; } public function get existingDataXML():XML{ return (_objXML); } private function createNoteNode(_arg1:Array, _arg2:XML):XML{ var _local6:String; var _local3:XML = new XML(); var _local4:uint = _arg1.length; var _local5:uint; while (_local5 < _local4) { _local6 = "<note "; if (_arg1[_local5].id != undefined){ _local6 = (_local6 + (("id = '" + _arg1[_local5].id) + "'")); }; if (_arg1[_local5].xPos != undefined){ _local6 = (_local6 + (("xPos = '" + _arg1[_local5].xPos) + "'")); }; if (_arg1[_local5].xPos != undefined){ _local6 = (_local6 + (("yPos = '" + _arg1[_local5].yPos) + "'")); }; _local6 = (_local6 + (("><context>" + _arg1[_local5].txt) + "</context></note>")); _local3 = new XML(_local6); _arg2.appendChild(_local3); _local5++; }; return (_arg2); } private function createHotSpotNode(_arg1:Array, _arg2:XML):XML{ var _local6:Object; var _local7:String; var _local8:XML; var _local3:XML = new XML(); _local3 = <hotspot type="Object" class="model.Hotspot"><hotspots type="Array"></hotspots></hotspot> ; var _local4:uint = _arg1.length; var _local5:uint; while (_local5 < _local4) { _local6 = _arg1[_local5].linkClip.data; _local7 = "<item type='Object' class='model.Hotspot'>"; _local7 = (_local7 + "<points type='Array'>"); _local7 = (_local7 + "<item type='Object' class='model.HSPoint'>"); _local7 = (_local7 + (("<y type='Number'>" + _local6.points[0].y) + "</y>")); _local7 = (_local7 + (("<x type='Number'>" + _local6.points[0].x) + "</x>")); _local7 = (_local7 + "</item>"); _local7 = (_local7 + "<item type='Object' class='model.HSPoint'>"); _local7 = (_local7 + (("<y type='Number'>" + _local6.points[1].y) + "</y>")); _local7 = (_local7 + (("<x type='Number'>" + _local6.points[1].x) + "</x>")); _local7 = (_local7 + "</item>"); _local7 = (_local7 + "</points>"); _local7 = (_local7 + (("<use_icon type='Boolean'>" + _local6.use_icon) + "</use_icon>")); _local7 = (_local7 + (("<type type='Number'>" + _local6.type) + "</type>")); _local7 = (_local7 + (("<url type='String'><![CDATA[" + _local6.url) + "]]></url>")); _local7 = (_local7 + "</item>"); _local8 = new XML(_local7); _local3.hotspots.appendChild(_local8); _local5++; }; _arg2.appendChild(_local3); return (_arg2); } } }//package model
Section 87
//FileLoader (model.FileLoader) package model { import controller.*; import flash.events.*; import flash.net.*; public class FileLoader { private var _loader:URLLoader; private var _callback:Function; public function FileLoader(){ _loader = new URLLoader(); _loader.addEventListener(Event.COMPLETE, onComplete, false, 0, true); _loader.addEventListener(IOErrorEvent.IO_ERROR, onError, false, 0, true); _loader.addEventListener(ProgressEvent.PROGRESS, onProgress, false, 0, true); } public function sendAndLoad(_arg1:String, _arg2:Function, _arg3:String, _arg4:URLVariables, _arg5:String="text"):void{ _loader.dataFormat = _arg5; _callback = _arg2; var _local6:URLRequest = new URLRequest(_arg1); _local6.method = _arg3; _local6.data = _arg4; _loader.load(_local6); Controller.instance.onLoadProgress(0); } public function load(_arg1:String, _arg2:Function, _arg3:String="text"):void{ _loader.dataFormat = _arg3; _callback = _arg2; var _local4:URLRequest = new URLRequest(_arg1); _loader.load(_local4); Controller.instance.onLoadProgress(0); } private function onError(_arg1:IOErrorEvent):void{ _callback.apply(null, [null]); } private function onProgress(_arg1:ProgressEvent):void{ Controller.instance.onLoadProgress((_arg1.bytesLoaded / _arg1.bytesTotal)); } private function onComplete(_arg1:Event):void{ _callback.apply(null, [_loader.data]); _loader.data = null; } } }//package model
Section 88
//GlobalNotesPageList (model.GlobalNotesPageList) package model { import controller.*; public class GlobalNotesPageList extends Domain { public var pageListArr:Array; public var _arrExistingPages:Array; private static var gnList:GlobalNotesPageList; public function GlobalNotesPageList(){ initialise(); } private function initialise():void{ pageListArr = new Array(); } public function createExistingNotes(_arg1:Array):void{ _arrExistingPages = _arg1; Controller.instance.view.globalNotesPanel.createExistingPages(); } public static function getInstance():GlobalNotesPageList{ if (gnList == null){ gnList = new (GlobalNotesPageList); }; return (gnList); } } }//package model
Section 89
//Glossary (model.Glossary) package model { public dynamic class Glossary extends Domain { override public function init():void{ _properties.alphabet = new Array(); } } }//package model
Section 90
//GlossaryXMLData (model.GlossaryXMLData) package model { import controller.*; public class GlossaryXMLData { private var _loader:FileLoader; private var _numLoadIndex:Number;// = 0 private var _objGlossaryXML:Glossary; public var _arrGlossaryData:Array; private static var gdata:GlossaryXMLData; public function loadGlossaryXmls(_arg1:Glossary):void{ _arrGlossaryData = new Array(); var _local2:Object = new Object(); _local2.language = Config.GLOSSARY_DATA["ALTERNATE_LANGUAGES"][_numLoadIndex].language; _local2.data = _arg1; _arrGlossaryData.push(_local2); _numLoadIndex++; _loader = new FileLoader(); _loader.load(Config.GLOSSARY_DATA["ALTERNATE_LANGUAGES"][_numLoadIndex].path, xmlLoadCompleteHandler); } public function glossaryDataByLanguage(_arg1:String):Glossary{ var _local2:Glossary = new Glossary(); var _local3:int; while (_local3 < _arrGlossaryData.length) { if (_arg1 == _arrGlossaryData[_local3].language){ _local2 = _arrGlossaryData[_local3].data; }; _local3++; }; return (_local2); } private function xmlLoadCompleteHandler(_arg1:String):void{ var xml:XML; var data = _arg1; try { if (!data){ throw (new Error("Glossary xml not found. ")); }; xml = new XML(data); _objGlossaryXML = (ObjectXMLDeserializer.toObject(xml) as Glossary); } catch(error:Error) { _objGlossaryXML = null; Controller.instance.onError(error); }; var obj:Object = new Object(); obj.language = Config.GLOSSARY_DATA["ALTERNATE_LANGUAGES"][_numLoadIndex].language; obj.data = _objGlossaryXML; _arrGlossaryData.push(obj); _numLoadIndex++; if (_numLoadIndex < (Config.GLOSSARY_DATA["ALTERNATE_LANGUAGES"].length - 1)){ _loader.load(Config.GLOSSARY_DATA["ALTERNATE_LANGUAGES"][_numLoadIndex].path, xmlLoadCompleteHandler); }; } public static function getInstance():GlossaryXMLData{ if (gdata == null){ gdata = new (GlossaryXMLData); }; return (gdata); } } }//package model
Section 91
//Hotspot (model.Hotspot) package model { public dynamic class Hotspot extends Domain { public static const SUB_TYPE_INTERACTIVITY:String = "Interactivity"; public static const SUB_TYPE_PDF:String = "pdf"; public static const SUB_TYPE_EMBEDDED:String = "Embedded"; public static const SHAPE_RECTANGLE:Number = 0; public static const SUB_TYPE_DOC:String = "doc"; public static const SUB_TYPE_VIDEO:String = "Video"; public static const SUB_TYPE_ZOOM:String = "Preset Zoom"; public static const SUB_TYPE_DEFAULT:String = "default"; public static const SHAPE_POLYGON:Number = 1; public static const SUB_TYPE_INTERBOOK:String = "Inter Book"; public static const SUB_TYPE_GLOSSARY:String = "Glossary"; public static const SUB_TYPE_NESTED_HOTSPOT:String = "nested hotspot"; public static const TYPE_WEB:Number = 3; public static const TYPE_EXTERNAL:Number = 1; public static const SUB_TYPE_HTML:String = "html"; public static const TYPE_ADUIO:Number = 2; public static const TYPE_INTERNAL:Number = 0; override public function init():void{ _properties.shapetype = SHAPE_RECTANGLE; _properties.type = TYPE_INTERNAL; _properties.points = new Array(); } } }//package model
Section 92
//HSPoint (model.HSPoint) package model { public dynamic class HSPoint extends Domain { override public function init():void{ _properties.x = 0; _properties.y = 0; } } }//package model
Section 93
//ImageLoader (model.ImageLoader) package model { import flash.events.*; import flash.display.*; import flash.net.*; public class ImageLoader extends Sprite { private var imgWidth:Number; public var parentDocument; private var _width:Number; private var imgHeight:Number; private var _height:Number; private var ldr:Loader; private var _ldrContent; public static const LOAD_COMPLETE:String = "loadComplete"; override public function get width():Number{ return (_width); } private function imageLoadCompleteHandler(_arg1:Event):void{ _ldrContent = _arg1.target.content; if (((!((imgHeight == -1))) && (!((imgWidth == -1))))){ resizeImage(_arg1.target.content); } else { _width = _arg1.target.content.width; _height = _arg1.target.content.height; dispatchEvent(new Event(LOAD_COMPLETE)); }; } public function loadImage(_arg1:String, _arg2:Number=-1, _arg3:Number=-1):void{ ldr = new Loader(); ldr.contentLoaderInfo.addEventListener(Event.INIT, imageLoadCompleteHandler); addChild(ldr); var _local4:RegExp = /\\/g; _arg1 = _arg1.replace(_local4, "/"); imgHeight = _arg3; imgWidth = _arg2; ldr.load(new URLRequest(_arg1)); } private function resizeImage(_arg1):void{ var _local4:Number; var _local2:Number = _arg1.width; var _local3:Number = _arg1.height; if (_local2 > _local3){ _local4 = (_local2 / imgWidth); } else { _local4 = (_local3 / imgHeight); }; _arg1.height = (_arg1.height / _local4); _arg1.width = (_arg1.width / _local4); _width = _arg1.width; _height = _arg1.height; dispatchEvent(new Event(LOAD_COMPLETE)); } public function get content(){ return (_ldrContent); } override public function get height():Number{ return (_height); } } }//package model
Section 94
//Index (model.Index) package model { public dynamic class Index extends Domain { } }//package model
Section 95
//LinkIndex (model.LinkIndex) package model { public dynamic class LinkIndex extends Domain { } }//package model
Section 96
//Model (model.Model) package model { import controller.*; import flash.utils.*; import view.AdvanceFeatures.Playlist.model.*; import flash.net.*; public class Model { private var _arrPageHistory:Array;// = null private var _pageIndex:Number; private var _objPagelist:PageListing; private var _loadingPageIndex:Number; private var _objTocXML:Toc; private var _strBookNum:String; private var _configManager:ConfigManager; private var _loadingPage:Page; private var _objExistingData:ExistingData; private var _arrNotes:Array; private var _ebookIndex:BookIndex; private var _objPlayList:Playlist; private var _blnIsStandalone:Boolean; private var _objLinkIndexXml:LinkIndex; private var _currentPageIndex:Number; private var _strExistingDataXMLPath:String;// = null private var _loadingPageDetails:PageDetail; private var _ebookPath:String; private var _objGlossaryWord:Word; private var _ebookPathTeacher:String; private var _results:Array; private var _stopWordList:Array; private var _changedLocationPageID:String; private var _nStudentViewPageIndx:int; private var _bSectionChanged:Boolean; private var _nStartPage:Number; private var _blnShowHotspots:Boolean; private var _loadingPageList:PageList; private var _nPreviousVisitedPage:Number; private var _bNavigationByPlaylist:Boolean; private var _ebookPathStudent:String; private var _iAdvancedResourcesIndex:int;// = -1 private var _nLastTeacherViewPageIndx:int; private var _strBaseURL:String; private var _objIndexPanelXml:Index; private var _pageMap:Array; private var _strQueryStringPageId:String; private var _objUserPlaylist:UserPlaylist; private var _loader:FileLoader; private var _gradeRangeId:String; private var _loadingWordPages:Array; private var _nCurPageIndxInSection:int; private var _objAdvanceTocXML:AdvanceExternalToc; private var _strSectionId:String; private var _wordPageIndex:Array; private var _objBrandingData:ByteArray; private var _arrSectionLinkSet:Array; private var _first:Boolean; private var _arrAdvancedResourcesXML:Array;// = null private var _bVolumesInitialized:Boolean; private var _objGlossaryXML:Glossary; private var _bEnableEditionAlways:Boolean; private var _strPreviousEbook:String;// = null private var _ebook:EBook; private var _strBookID:String; private var _objSpanishGlossaryXML:Glossary; private var _objDrawObject:DrawObject;// = null public function Model(){ _loader = new FileLoader(); _first = true; _arrNotes = new Array(); _bVolumesInitialized = false; _bNavigationByPlaylist = false; _bSectionChanged = false; _arrPageHistory = new Array(); _configManager = new ConfigManager(); } public function loadBranding():void{ var _local2:String; var _local1 = ""; if (Config.ENABLE_FOLDER_STRUCTURE_CHANGE){ _local1 = Config.CHANGED_ASSETS_LOCATION; _local2 = getSectionId(_loadingPageIndex); if (_local2 == "0"){ throw (new Error("Invalid section id.")); }; _local1 = _local1.split("[_@BookID]").join(_strBookID); _local1 = _local1.split("[_@UnitNum]").join(_local2); _local1 = (_local1 + "branding.swf"); } else { _local1 = (_ebookPath + "branding.swf"); }; _loader.load(_local1, onLoadBranding, "binary"); } public function get currentPageIndex():Number{ return (_currentPageIndex); } private function onLoadWordIndex(_arg1:ByteArray):void{ if (!_arg1){ throw (new Error("Word index not found.")); }; _arg1.uncompress(); var _local2:String = _arg1.readUTFBytes(_arg1.bytesAvailable); _wordPageIndex = _local2.split("\n"); if (((!((Config.SERVER_CONFIG_PATH == null))) && (!((Config.SERVER_CONFIG_PATH == "user_config"))))){ loadConfigPathxml(); } else { callExistingDataWithEmptyXMl(); }; } private function loadLinkIndexXml():void{ var _local1 = "linkIndex.xml"; _loader.load((_ebookPath + _local1), onLoadLinkIndexXml); } public function getIndexPanelData():Index{ return (_objIndexPanelXml); } public function set sectionChanged(_arg1:Boolean):void{ _bSectionChanged = _arg1; } private function checkCurrentSectionTree(_arg1:Object, _arg2:String):Boolean{ var _local3:Array; var _local4:int; var _local5:Section; var _local6:Boolean; if (_arg1.name == _arg2){ return (true); }; _local3 = _arg1.sections; _local4 = 0; while (_local4 < _local3.length) { _local5 = _local3[_local4]; _local6 = checkCurrentSectionTree(_local5, _arg2); if (_local6){ return (true); }; _local4++; }; return (false); } public function get configManager():ConfigManager{ return (_configManager); } private function onLoadLinkIndexXml(_arg1:String):void{ var xml:XML; var data = _arg1; try { if (!data){ throw (new Error("linkIndex xml not found. ")); }; xml = new XML(data); _objLinkIndexXml = (ObjectXMLDeserializer.toObject(xml) as LinkIndex); loadIndexPanelXML(); } catch(error:Error) { _objLinkIndexXml = null; Controller.instance.onError(error); }; } public function get ebookPath():String{ return (_ebookPath); } public function getSectionId(_arg1:int):String{ var _local2:Array = _ebook.sections; var _local3:int; var _local4:int; while (_local4 < _local2.length) { _local3 = (_local3 + _local2[_local4].pages); if (_arg1 <= _local3){ return (_local2[_local4].sectionId); }; _local4++; }; return ("0"); } public function set currentPageIndex(_arg1:Number):void{ _currentPageIndex = _arg1; } private function manageHistoryArray(_arg1:Array, _arg2:Number):void{ Controller.instance.tracer("manageHistoryArray 3"); if (_arg1[(_arg1.length - 1)] != _arg2){ Controller.instance.tracer("manageHistoryArray 4"); _arg1.push(_arg2); }; if (Controller.instance.view.content.pageCount == 2){ Controller.instance.tracer("manageHistoryArray 5"); _arg1.push((_arg2 + 1)); }; Controller.instance.tracer("manageHistoryArray last 6"); } private function onLoadPageSwf(_arg1:ByteArray):void{ if (_arg1){ _pageIndex = _loadingPageIndex; Controller.instance.onLoadPage(_arg1, _loadingPage); } else { Controller.instance.onError(new Error(("Page SWF not found. Page Number:" + _loadingPageIndex))); }; _loadingPage = null; } public function get ebookPathTeacher():String{ return (_ebookPathTeacher); } public function set blnShowHotspots(_arg1:Boolean):void{ _blnShowHotspots = _arg1; } private function onLoadPageList(_arg1:String):void{ var xml:XML; var strXML:String; var data = _arg1; try { if (!data){ _loadingPageList = new PageList(); Controller.instance.onLoadEBook(); }; xml = new XML(data); strXML = xml.toString(); _loadingPageList = (ObjectXMLDeserializer.toObject(xml) as PageList); Controller.instance.onLoadEBook(); } catch(error:Error) { _loadingPageList = null; Controller.instance.onError(error); }; } public function getSectionPages(_arg1:String):Array{ var _local6:Section; var _local2:Array = _ebook.sections; var _local3:Number = 1; var _local4:Array = new Array(); var _local5:int; while (_local5 < _local2.length) { _local6 = _local2[_local5]; if (_local6.name == _arg1){ _local4 = [_local3, (_local3 + _local6.pages)]; return (_local4); }; _local3 = (_local3 + _local6.pages); _local5++; }; return (_local4); } public function getSectionLinkSet():Array{ var _local6:Section; var _local7:Boolean; var _local1:Model = Controller.instance.model; var _local2:Number = Number(_pageIndex); var _local3:String = _objPagelist.getSectionTitle(_local2); var _local4:Array = _ebook.sections; _arrSectionLinkSet = new Array(); var _local5:int; while (_local5 < _local4.length) { _local6 = _local4[_local5]; _local7 = checkCurrentSectionTree(_local6, _local3); if (_local7){ getSectionLinksSorted(_local6, _local6.sectionLink, _local3); }; _local5++; }; return (_arrSectionLinkSet); } public function findRootSectionStart(_arg1:String):Number{ var _local5:Section; var _local2:Array = _ebook.sections; var _local3:Number = 1; var _local4:int; while (_local4 < _local2.length) { _local5 = _local2[_local4]; if (_local5.name == _arg1){ return (_local3); }; _local3 = (_local3 + _local5.pages); _local4++; }; return (0); } private function fireSerachResults():void{ Controller.instance.onSearchResults(_results); _results = null; _loadingWordPages = null; } public function get lastVisitedPage():Number{ var _local1:Number = _arrPageHistory[_ebookPath].pop(); if (Controller.instance.view.content.pageCount == 2){ _local1 = _arrPageHistory[_ebookPath].pop(); }; return (_local1); } private function loadToc():void{ var _local1:String; var _local2:String; if (Config.USE_EXTERNAL_TABLE_OF_CONTENT){ _local1 = ""; if (Config.ENABLE_FOLDER_STRUCTURE_CHANGE){ _local1 = Config.CHANGED_TOC_LOCATION; _local1 = _local1.split("[_@BookID]").join(_strBookID); _local1 = _local1.split("[_@BookNum]").join(_strBookNum); } else { _local1 = "toc.xml"; }; _local2 = (_ebookPath + _local1); _loader.load(_local2, onTocLoad); } else { loadAdvancedResources(); }; } private function onLoadEBook(_arg1:String):void{ var xml:XML; var pageMap:Array; var arrPageMapEntry:Array; var teacherPage:Number; var studentPage:Number; var pageMapEntry:Object; var i:int; var iIndex:Number; var strSearchLocation:String; var path:String; var data = _arg1; try { if (!data){ throw (new Error(("Book XML not found on path" + _ebookPath))); }; xml = new XML(data); _ebook = (ObjectXMLDeserializer.toObject(xml) as EBook); _ebook.userID = _ebook.userIdentity; if (_first){ if (_ebook.edition != "student"){ if (_ebook.page_map){ _ebookPathTeacher = _ebookPath; _ebookPathStudent = _ebook.student_edition_path; _pageMap = new Array(); pageMap = _ebook.page_map.split("\n"); arrPageMapEntry = new Array(); arrPageMapEntry = pageMap[0].split(","); if (arrPageMapEntry[0] == Constants.ALWAYS_ENABLE){ _bEnableEditionAlways = true; _nStudentViewPageIndx = int(arrPageMapEntry[1]); } else { i = 0; while (i < pageMap.length) { arrPageMapEntry = pageMap[i].split(","); if (((arrPageMapEntry) && ((arrPageMapEntry.length == 2)))){ pageMapEntry = new Object(); pageMapEntry.teacher = Number(arrPageMapEntry[0]); pageMapEntry.student = Number(arrPageMapEntry[1]); if (((!(isNaN(pageMapEntry.teacher))) && (!(isNaN(pageMapEntry.student))))){ _pageMap.push(pageMapEntry); }; }; i = (i + 1); }; }; }; }; _first = false; }; _objPlayList = new Playlist(); _objUserPlaylist = new UserPlaylist(); _objPagelist = new PageListing(_ebook, _objPlayList); setConfigmanagerValues(); setBookVolumes(); if (Config.DRAW != null){ _objDrawObject = new DrawObject(); }; if (_strQueryStringPageId != null){ iIndex = (Controller.instance.model.pageIDMapper(_strQueryStringPageId) as Number); Controller.instance.tracer(((_pageIndex + "_pageIndex===") + iIndex)); if (iIndex != -1){ _pageIndex = iIndex; }; }; _blnShowHotspots = false; if (Config.BUTTON_SEARCH){ strSearchLocation = ""; if (Config.ENABLE_FOLDER_STRUCTURE_CHANGE){ strSearchLocation = Config.CHANGED_SEARCH_INDEX_PATH; strSearchLocation = strSearchLocation.split("[_@BookID]").join(_strBookID); strSearchLocation = strSearchLocation.split("[_@BookNum]").join(_strBookNum); strSearchLocation = (strSearchLocation + "w.idx"); } else { strSearchLocation = "pages/index/w.idx"; }; path = (_ebookPath + strSearchLocation); _loader.load(path, onLoadWordIndex, "binary"); } else { if (((!((Config.SERVER_CONFIG_PATH == null))) && (!((Config.SERVER_CONFIG_PATH == "user_config"))))){ loadConfigPathxml(); } else { callExistingDataWithEmptyXMl(); }; }; } catch(error:Error) { Controller.instance.onError(error); }; } public function setStandaloneMode():void{ var _local1:String = Controller.instance.loaderInfo.parameters.mode; if (_local1 != null){ _local1 = _local1.toLowerCase(); }; if (_local1 == "standalone"){ _blnIsStandalone = true; } else { _blnIsStandalone = false; }; } public function getExternalTocData():AdvanceExternalToc{ return (_objAdvanceTocXML); } public function loadPage(_arg1:Number):void{ var _local3:String; var _local2 = ""; if ((((_arg1 < 1)) || ((_arg1 > _ebook.pages)))){ throw (new Error(("Page number is out of range: Page Number:" + _arg1))); }; if (_bNavigationByPlaylist){ Controller.instance.tracer(""); Controller.instance.tracer("--------------playlist navigation in model.........sk"); if (_bSectionChanged){ Controller.instance.tracer("Section is changed"); _bSectionChanged = false; Controller.instance.tracer(("curretn section " + _objUserPlaylist.currentSection)); _loadingPageIndex = (_objPagelist.getPageIndexFromSectionTitle(_objUserPlaylist.currentSectionTitle) + _nCurPageIndxInSection); Controller.instance.tracer(((_objUserPlaylist.currentSectionTitle + " < currentSectionTitle & _loadingPageIndex 1 > ") + _loadingPageIndex)); } else { Controller.instance.tracer((" _nCurPageIndxInSection when the section is not changed " + _nCurPageIndxInSection)); if (_nCurPageIndxInSection <= _objUserPlaylist.pagesInCurrentSection){ if (_nCurPageIndxInSection >= 1){ Controller.instance.tracer(("loading next page of the current section " + _objUserPlaylist.currentSectionTitle)); _loadingPageIndex = _arg1; } else { Controller.instance.tracer("Here the cur section is being changed with Prev changable section"); _objUserPlaylist.currentSection = _objUserPlaylist.prevChangeableSection; _nCurPageIndxInSection = _objUserPlaylist.pagesInCurrentSection; _bSectionChanged = true; loadPage(_arg1); }; } else { Controller.instance.tracer("Here the cur section is being changed with next changable section"); _objUserPlaylist.currentSection = _objUserPlaylist.nextChangeableSection; _nCurPageIndxInSection = 1; _bSectionChanged = true; loadPage(_arg1); }; }; } else { Controller.instance.tracer("Normal navigation in model..........sk"); _loadingPageIndex = _arg1; }; Controller.instance.tracer(((_arg1 + " <<pageIndex :: _loadingPageIndex 2 >> ") + _loadingPageIndex)); if (Config.ENABLE_FOLDER_STRUCTURE_CHANGE){ _local2 = Config.CHANGED_PAGE_XML_LOCATION; _local3 = getSectionId(_arg1); if (_local3 == "0"){ throw (new Error("Invalid section id.")); }; _local2 = _local2.split("[_@BookID]").join(_strBookID); _local2 = _local2.split("[_@UnitNum]").join(_local3); _local2 = (((_local2 + "page") + _arg1) + ".xml"); } else { _local2 = (((_ebookPath + "pages/xml/page") + _arg1) + ".xml"); }; _loader.load(_local2, onLoadPageXml); } public function globalPdfUrl():String{ return ((_ebookPath + _ebook.globalPdfUrl)); } public function get ebookPathStudent():String{ return (_ebookPathStudent); } public function setSectionLinksAsPerLevel(_arg1:Array, _arg2:Array):Array{ var _local5:Number; var _local6:Object; var _local7:Number; var _local8:Object; var _local3:Array = new Array(); _arg1 = trimSectionLinks(_arg1); _arg2 = trimSectionLinks(_arg2); var _local4:Number = 0; while (_local4 < _arg2.length) { _local5 = 0; _local6 = _arg2[_local4]; _local7 = 0; while (_local7 < _arg1.length) { _local8 = _arg1[_local7]; if (_local6.type != _local8.type){ _local5++; }; _local7++; }; if (_local5 == _arg1.length){ _local3.push(_local6); }; _local4++; }; if (((!((_local3 == null))) && (!((_local3.length == 0))))){ _arg1 = _arg1.concat(_local3); }; return (_arg1); } public function get ebookPageList():PageList{ return (_loadingPageList); } public function get userPlaylist():UserPlaylist{ return (_objUserPlaylist); } public function getAdvancedResourcesData(_arg1:uint):LinkIndex{ return (_arrAdvancedResourcesXML[_arg1]); } public function set graderangeid(_arg1:String):void{ if (_arg1 != null){ _gradeRangeId = _arg1; } else { _gradeRangeId = ""; }; } public function getSpanishGlossaryData():Glossary{ return (_objSpanishGlossaryXML); } public function isNavigationByPlaylist():Boolean{ return (_bNavigationByPlaylist); } public function pageIDMapper(_arg1:String):int{ var _local3:int; var _local5:Array; var _local6:Array; var _local7:Number; var _local8:String; var _local9:Array; var _local10:String; var _local11:Number; var _local12:String; var _local13:String; var _local14:String; var _local15:String; var _local2:PageListing = _objPagelist; var _local4:Function = Controller.instance.view.toolbar.trimString; if (_local2 != null){ _local5 = _local2.labelsArray; _local6 = _arg1.split("-"); _local7 = 0; while (_local7 < _local5.length) { _local8 = String(_local5[_local7][1]); _local9 = _local8.split("-"); _local10 = _local4(_local6[0]); if (Config.PAGE_JUMP_CASESENSITIVE_PATTERN != null){ _local12 = getCaseSensitivePattern(_local8); _local13 = getCaseSensitivePattern(_local10); if (_local12 != null){ _local8 = _local12; }; if (_local13 != null){ _local10 = _local13; }; } else { _local8 = _local8.toLowerCase(); _local10 = _local10.toLowerCase(); }; if (_local8 == _local10){ _local3 = (_local7 + 1); break; }; _local11 = 0; while (_local11 < _local9.length) { _local14 = _local4(_local9[_local11]); if (Config.PAGE_JUMP_CASESENSITIVE_PATTERN != null){ _local15 = getCaseSensitivePattern(_local14); if (_local15 != null){ _local14 = _local15; }; } else { _local14 = _local14.toLowerCase(); }; if (_local14 == _local10){ _local3 = (_local7 + 1); break; }; _local11++; }; _local7++; }; } else { _local3 = parseInt(_arg1, 10); }; return (_local3); } public function set strPreviousEbook(_arg1:String):void{ Controller.instance.tracer(("set ebbok path: " + _arg1)); _strPreviousEbook = _arg1; } public function set lastVisitedPage(_arg1:Number):void{ if (!isNaN(_arg1)){ Controller.instance.tracer("------------------skkkkkkk------lastVisitedPage 1-----------------kkkkkkkssssssssss"); if ((((_arrPageHistory[_ebookPath] == null)) || ((_arrPageHistory[_ebookPath] == undefined)))){ _arrPageHistory[_ebookPath] = new Array(); }; Controller.instance.tracer(((_ebookPath + "==") + _strPreviousEbook)); if ((((_ebookPath == _strPreviousEbook)) || ((_strPreviousEbook == null)))){ manageHistoryArray(_arrPageHistory[_ebookPath], _arg1); } else { Controller.instance.tracer(("lastVisitedPage else 2 " + _strPreviousEbook)); manageHistoryArray(_arrPageHistory[_strPreviousEbook], _arg1); }; _strPreviousEbook = _ebookPath; _nPreviousVisitedPage = _arg1; }; } public function get ebook():EBook{ return (_ebook); } public function get curPageIndxInSection():int{ return (_nCurPageIndxInSection); } public function get historyCount():Number{ if ((((_arrPageHistory[_ebookPath] == null)) || ((_arrPageHistory[_ebookPath] == undefined)))){ _arrPageHistory[_ebookPath] = new Array(); }; return (_arrPageHistory[_ebookPath].length); } public function getTocData():Toc{ return (_objTocXML); } private function onSpanishGlossaryLoad(_arg1:String):void{ var xml:XML; var data = _arg1; try { if (!data){ throw (new Error("Spanish Glossary xml not found. ")); }; xml = new XML(data); _objSpanishGlossaryXML = (ObjectXMLDeserializer.toObject(xml) as Glossary); loadStopWordsList(); } catch(error:Error) { _objSpanishGlossaryXML = null; Controller.instance.onError(error); }; } public function get arrNotes():Array{ return (_arrNotes); } public function get blnTestMode():Boolean{ return (_ebook.testMode); } public function get existingDataObj():Object{ return (_objExistingData); } private function loadConfigPathxml():void{ if (Config.SERVER_CONFIG_PATH == "use_param_tag"){ _configManager.sendAndReceivePath = Controller.instance.loaderInfo.parameters.inservice; _configManager.saveRequestPath = Controller.instance.loaderInfo.parameters.outservice; loadExistingData(); } else { _loader.load(_strExistingDataXMLPath, onloadConfigPathxml, "binary"); }; } private function onloadConfigPathxml(_arg1:ByteArray):void{ var xml:XML; var data = _arg1; try { if (!data){ throw (new Error("Existing data not received from the server")); }; xml = new XML(data); _configManager.sendAndReceivePath = xml[0].sendAndReceive[0].@url; _configManager.saveRequestPath = xml[0].saveRequest[0].@url; onLoadExistingData(data); } catch(error:Error) { Controller.instance.onError(error); loadExistingData(); }; } private function loadGlossaray():void{ var _local1:String; var _local2:String; if (((Config.BUTTON_GLOSSARY) || (((!((Config.GLOSSARY_DATA == null))) && (Config.GLOSSARY_DATA.GLOSSARY_CALLOUT))))){ _local1 = ""; if (Config.ENABLE_FOLDER_STRUCTURE_CHANGE){ _local1 = Config.CHANGED_GLOSSARY_LOCATION; _local1 = _local1.split("[_@BookID]").join(_strBookID); _local1 = _local1.split("[_@BookNum]").join(_strBookNum); } else { _local1 = "glossary.xml"; }; _local2 = (_ebookPath + _local1); _loader.load(_local2, onGlossaryLoad, "binary"); } else { loadStopWordsList(); }; } public function get bEnableEditionAlways():Boolean{ return (_bEnableEditionAlways); } public function translatePage(_arg1:Number, _arg2:Boolean):Number{ var _local3:Number; var _local4:Number; var _local5:String; var _local6:String; var _local7:int; var _local8:Object; if (_bEnableEditionAlways){ if (_arg2){ _local3 = _loadingPageIndex; _local4 = Controller.instance.view.content.pageCount; _nLastTeacherViewPageIndx = ((_local4)!=1) ? (_local3 - 1) : _local3; return (_nStudentViewPageIndx); } else { return (_nLastTeacherViewPageIndx); }; } else { _local5 = (_arg2) ? "teacher" : "student"; _local6 = (_arg2) ? "student" : "teacher"; _local7 = 0; while (_local7 < _pageMap.length) { _local8 = _pageMap[_local7]; if (_local8[_local5] == _arg1){ return (_local8[_local6]); }; _local7++; }; }; return (0); } private function initExistingData():void{ _loadingPage.currentPageIndex = _loadingPageIndex; _objExistingData.initExistingNotesData(); _objExistingData.initExistingHLData(); } public function set pageIndex(_arg1:Number):void{ _pageIndex = _arg1; } private function onLoadIndexPanelXml(_arg1:String):void{ var xml:XML; var data = _arg1; try { if (!data){ throw (new Error("Index xml not found. ")); }; xml = new XML(data); _objIndexPanelXml = (ObjectXMLDeserializer.toObject(xml) as Index); loadGlossaray(); } catch(error:Error) { _objIndexPanelXml = null; Controller.instance.onError(error); }; } public function loadBookIndexer(_arg1:String, _arg2:Number, _arg3:String, _arg4:String, _arg5:String, _arg6:String):void{ _ebookPath = _arg1; if (!_arg1){ _ebookPath = ""; } else { _ebookPath = _arg1.replace(/\\/g, "/"); }; if (_arg6 == null){ _arg6 = "0"; }; if (_arg5 == null){ _arg5 = "1"; _arg6 = "0"; }; _nStartPage = _arg2; _strBookID = _arg4; _strBaseURL = _arg3; _strSectionId = _arg5; _changedLocationPageID = _arg6; var _local7:String = Config.CHANGED_BOOKINDEX_PATH; _local7 = _local7.split("[_@BookID]").join(_strBookID); _loader.load((_ebookPath + _local7), onLoadBookIndexer); } public function getLinkIndexData():LinkIndex{ return (_objLinkIndexXml); } public function trimSectionLinks(_arg1:Array):Array{ var _local3:Number; var _local4:Object; var _local2:Array = new Array(); if (_arg1 != null){ _local3 = 0; while (_local3 < _arg1.length) { _local4 = _arg1[_local3]; if (((!((_local4.url == ""))) && (!((_local4.url == null))))){ _local2.push(_local4); }; _local3++; }; return (_local2); //unresolved jump }; return (null); } public function get isStandalone():Boolean{ return (_blnIsStandalone); } private function loadIndexPanelXML():void{ var _local1:String; if (Config.INDEX_PANEL_XML != null){ _local1 = Config.INDEX_PANEL_XML; _loader.load((_ebookPath + _local1), onLoadIndexPanelXml); } else { loadGlossaray(); }; } public function get blnShowHotspots():Boolean{ return (_blnShowHotspots); } private function onLoadBookIndexer(_arg1:String):void{ var xml:XML; var books:Array; var unit:Array; var i:int; var j:int; var data = _arg1; try { if (!data){ throw (new Error(("BookIndex XML not found on path" + _ebookPath))); }; xml = new XML(data); books = new Array(); unit = new Array(); _ebookIndex = (ObjectXMLDeserializer.toObject(xml) as BookIndex); books = _ebookIndex.books; i = 0; while (i < books.length) { unit = books[i].unit; j = 0; while (j < unit.length) { if (unit[j] == _strSectionId){ _strBookNum = books[i].bookNum; i = books.length; break; }; j = (j + 1); }; i = (i + 1); }; loadEBook(_ebookPath, _nStartPage); } catch(error:Error) { Controller.instance.onError(error); }; } public function getEbookLink():Array{ return (_ebook.sectionLink); } private function onLoadWordPage(_arg1:ByteArray):void{ var _local8:String; var _local9:String; var _local10:Array; var _local11:Array; var _local12:int; var _local13:Object; var _local14:int; var _local15:Object; var _local16:Object; var _local2:Object = _loadingWordPages.shift(); if (!_arg1){ _loadingWordPages = null; _results = null; throw (new Error(("Word index data not found. Word index page" + _local2.no))); }; _arg1.uncompress(); var _local3:String = _arg1.readUTFBytes(_arg1.bytesAvailable); _arg1 = null; var _local4:Array = _local3.split("\n"); _local3 = null; var _local5:Array = _local2.words; var _local6:int; var _local7:int; while (_local7 < _local5.length) { _local8 = _local5[_local7]; while (_local6 < _local4.length) { _local9 = _local4[_local6]; if (startsWith(_local9, (_local8 + ","))){ break; }; _local6++; }; if (_local6 == _local4.length){ _results = null; fireSerachResults(); return; }; _local10 = _local9.split(","); _local11 = new Array(); _local12 = 1; while ((_local12 + 1) < _local10.length) { _local13 = new Object(); _local13.pageNo = parseInt(_local10[_local12], 10); _local13.count = parseInt(_local10[(_local12 + 1)], 10); _local11.push(_local13); _local12 = (_local12 + 2); }; if (_results != null){ _local14 = 0; _local12 = 0; while ((((_local12 < _local11.length)) && ((_local14 < _results.length)))) { _local15 = _local11[_local12]; while (_local14 < _results.length) { _local16 = _results[_local14]; if (_local16.pageNo < _local15.pageNo){ _results.splice(_local14, 1); if (_results.length == 0){ _results = null; fireSerachResults(); return; }; _local14--; } else { if (_local16.pageNo > _local15.pageNo){ break; } else { _local16.count = (_local16.count + _local15.count); _local14++; break; }; }; _local14++; }; _local12++; }; if (_local14 < _results.length){ _results.splice(_local14, (_results.length - _local14)); if (_results.length == 0){ _results = null; fireSerachResults(); return; }; }; } else { _results = _local11; }; _local7++; }; loadWordPage(); } public function get brandingData():ByteArray{ return (_objBrandingData); } public function getSectionLink(_arg1:String):String{ var _local4:Section; var _local2:Array = _ebook.sections; var _local3:int; while (_local3 < _local2.length) { _local4 = _local2[_local3]; if (_local4.name == _arg1){ return (_local4.sectionLink); }; _local3++; }; return (""); } private function onLoadAdvancedResources(_arg1:String):void{ var _local3:XML; var _local4:String; if (!_arg1){ _arrAdvancedResourcesXML.push(null); } else { _local3 = new XML(_arg1); _arrAdvancedResourcesXML.push(LinkIndex(ObjectXMLDeserializer.toObject(_local3))); }; var _local2:Array = Config.ADVANCED_RESOURCE_PANEL_DATA.resourcePanels; if (_iAdvancedResourcesIndex == (_local2.length - 1)){ Controller.instance.onLoadEBook(); } else { _local4 = (_ebookPath + String(_local2[++_iAdvancedResourcesIndex])); _loader.load(_local4, onLoadAdvancedResources); }; } public function get strBookID():String{ return (_strBookID); } public function getGlossaryData():Glossary{ return (_objGlossaryXML); } public function get graderangeid():String{ return (_gradeRangeId); } public function get strPreviousEbook():String{ return (_strPreviousEbook); } private function setConfigmanagerValues():void{ if (_ebook.config.toString() == "[Domain:]"){ _configManager.pageCountSE = _ebook.config.defaultPageCount; _configManager.pageCountTE = _ebook.config.defaultPageCount; _configManager.pageHeightTE = _ebook.config.sizePageHeightTE; _configManager.pageWidthTE = _ebook.config.sizePageWidthTE; _configManager.pageHeightSE = _ebook.config.sizePageHeightSE; _configManager.pageWidthSE = _ebook.config.sizePageWidthSE; _configManager.pageScaleFitToPageTE = _ebook.config.pageScaleFitToPageTE; _configManager.pageScaleFitToPageSE = _ebook.config.pageScaleFitToPageSE; _configManager.pageScaleTE = _ebook.config.pageScaleTE; _configManager.pageScaleSE = _ebook.config.pageScaleSE; _configManager.pageMinZoom = _ebook.config.pageMinZoom; _configManager.pageMaxZoom = _ebook.config.pageMaxZoom; _configManager.pageZoomAmount = _ebook.config.pageZoomAmount; _configManager.notesData = _ebook.config.notesData; _configManager.printMessages = _ebook.config.printMessages; if (!_bVolumesInitialized){ _configManager.bookVolumes = _ebook.config.bookVolumes; }; }; } public function get strBaseURL():String{ return (_strBaseURL); } private function onTocLoad(_arg1:String):void{ var xml:XML; var data = _arg1; try { if (!data){ throw (new Error("toc xml not found. ")); }; xml = new XML(data); if (Config.USE_ADVANCE_EXTERNAL_TOC){ _objAdvanceTocXML = (ObjectXMLDeserializer.toObject(xml) as AdvanceExternalToc); } else { _objTocXML = (ObjectXMLDeserializer.toObject(xml) as Toc); }; loadAdvancedResources(); } catch(error:Error) { _objTocXML = null; Controller.instance.onError(error); }; } private function onStopWordsListLoad(_arg1:String):void{ if (_arg1 != ""){ _stopWordList = _arg1.split("\r\n"); }; if (Config.USE_EXTERNAL_TABLE_OF_CONTENT){ loadToc(); } else { loadAdvancedResources(); }; } private function onLoadBranding(_arg1:ByteArray):void{ _objBrandingData = _arg1; if (Config.BUTTON_RESOURCE_PANEL){ loadLinkIndexXml(); } else { loadIndexPanelXML(); }; } private function callExistingDataWithEmptyXMl():void{ var _local1:XML = new XML(""); _objExistingData = new ExistingData(_local1); loadBranding(); } public function setExistingDataXMLPath(_arg1:String):void{ _strExistingDataXMLPath = ((_arg1)!=null) ? (_arg1 + Config.SERVER_CONFIG_PATH) : Config.SERVER_CONFIG_PATH; } public function getCurrentBreadCrumb(_arg1:uint):String{ return (_objPagelist.getBreadCrumb(_arg1)); } public function get pageIndex():Number{ return (_pageIndex); } private function onGlossaryLoad(_arg1:String):void{ var xml:XML; var data = _arg1; try { if (!data){ throw (new Error("Glossary xml not found. ")); }; xml = new XML(data); _objGlossaryXML = (ObjectXMLDeserializer.toObject(xml) as Glossary); loadStopWordsList(); } catch(error:Error) { _objGlossaryXML = null; Controller.instance.onError(error); }; if (Config.GLOSSARY_DATA["MULTI_LANGUAGE"]){ GlossaryXMLData.getInstance().loadGlossaryXmls(_objGlossaryXML); }; } private function getSectionLinksSorted(_arg1:Object, _arg2:Array, _arg3:String):void{ var _local4:Array; var _local5:int; var _local6:Boolean; var _local7:Array; if (_arg1.name == _arg3){ _arrSectionLinkSet = _arg2; } else { _local4 = _arg1.sections; _local5 = 0; while (_local5 < _local4.length) { _local6 = checkCurrentSectionTree(_local4[_local5], _arg3); if (_local6){ _local7 = setSectionLinksAsPerLevel(_local4[_local5].sectionLink, _arg2); getSectionLinksSorted(_local4[_local5], _local7, _arg3); }; _local5++; }; }; } public function get drawObject():DrawObject{ return (_objDrawObject); } public function get loadingPageIndex():Number{ return (_loadingPageIndex); } public function loadEBook(_arg1:String, _arg2:Number, _arg3:String=null):void{ var _local4:String; _ebookPath = _arg1; if (!_arg1){ _ebookPath = ""; } else { _ebookPath = _arg1.replace(/\\/g, "/"); }; _pageIndex = _arg2; _strQueryStringPageId = _arg3; if (Config.ENABLE_FOLDER_STRUCTURE_CHANGE){ _local4 = Config.CHANGED_BOOK_LOCATION; _local4 = _local4.split("[_@BookID]").join(_strBookID); _local4 = _local4.split("[_@BookNum]").join(_strBookNum); } else { _local4 = "book.xml"; }; Controller.instance.tracer(("_ebook path " + _ebookPath)); Controller.instance.tracer(("strBookLocation: " + _local4)); _loader.load((_ebookPath + _local4), onLoadEBook); } public function set curPageIndxInSection(_arg1:int):void{ _nCurPageIndxInSection = _arg1; } private function setBookVolumes():void{ if (!_bVolumesInitialized){ if (((!((_configManager.bookVolumes == null))) && ((_configManager.bookVolumes.length > 0)))){ Controller.instance.view.toolbar.registerBookVolumeButtons(); if (_strQueryStringPageId == null){ _strQueryStringPageId = Controller.instance.view.toolbar.getDefaultPage(_ebookPath); }; Controller.instance.view.toolbar.disableVolumeButton(_ebookPath); _bVolumesInitialized = true; }; }; } public function search(_arg1:String):void{ var _local6:String; var _local7:Object; _results = null; _loadingWordPages = new Array(); _arg1 = _arg1.toLowerCase(); var _local2:Array = _arg1.split(" "); var _local3:Array = trimStopWords(_local2); if (_local3 != null){ _local2 = _local3; }; _local2.sort(); Controller.instance.tracer(((("words.length " + _wordPageIndex.length) + " ::: ") + _wordPageIndex)); var _local4:int; var _local5:int; while (_local5 < _local2.length) { _local6 = _local2[_local5]; if (_local6.length > 0){ while (_local4 < _wordPageIndex.length) { if (_local6 <= _wordPageIndex[_local4]){ if (_loadingWordPages.length > 0){ _local7 = _loadingWordPages[(_loadingWordPages.length - 1)]; if (_local7.no != (_local4 + 1)){ _local7 = null; }; }; if (_local7 == null){ _local7 = new Object(); _local7.no = (_local4 + 1); _local7.words = new Array(); _loadingWordPages.push(_local7); }; _local7.words.push(_local6); break; }; _local4++; }; if (_local4 == _wordPageIndex.length){ fireSerachResults(); return; }; }; _local5++; }; loadWordPage(); } private function loadWordPage():void{ if (_loadingWordPages.length == 0){ if (_results != null){ _results.sortOn("count", (Array.DESCENDING | Array.NUMERIC)); }; fireSerachResults(); return; }; var _local1:Object = _loadingWordPages[0]; var _local2 = ""; if (Config.ENABLE_FOLDER_STRUCTURE_CHANGE){ _local2 = Config.CHANGED_SEARCH_INDEX_PATH; _local2 = _local2.split("[_@BookID]").join(_strBookID); _local2 = _local2.split("[_@BookNum]").join(_strBookNum); } else { _local2 = "pages/index/"; }; var _local3 = (((_ebookPath + _local2) + _local1.no) + ".w.dat"); _loader.load(_local3, onLoadWordPage, "binary"); } public function set arrNotes(_arg1:Array):void{ _arrNotes = _arg1; } private function trimStopWords(_arg1:Array):Array{ var _local3:Number; var _local4:Number; var _local5:Number; var _local2:Array = new Array(); if (_stopWordList){ _local4 = 0; while (_local4 < _stopWordList.length) { _local3 = -1; _local5 = 0; while (_local5 < _arg1.length) { if (_stopWordList[_local4] == _arg1[_local5]){ _local3 = _local5; break; }; _local5++; }; if (_local3 != -1){ _arg1.splice(_local3, 1); }; _local4++; }; }; return (_arg1); } private function loadStopWordsList():void{ var _local1:String; var _local2:String; if (Config.BUTTON_SEARCH){ _local1 = ""; if (Config.ENABLE_FOLDER_STRUCTURE_CHANGE){ _local1 = Config.CHANGED_SEARCH_INDEX_PATH; _local1 = _local1.split("[_@BookID]").join(_strBookID); _local1 = _local1.split("[_@BookNum]").join(_strBookNum); _local1 = (_local1 + "stopwords.txt"); } else { _local1 = "pages/index/stopwords.txt"; }; _local2 = (_ebookPath + _local1); _loader.load(_local2, onStopWordsListLoad, "binary"); } else { loadToc(); }; } public function get edition():String{ return (_ebook.edition); } public function get changedLocationPageID():String{ return (_changedLocationPageID); } private function loadExistingData():void{ var _local1:String; var _local2:String; var _local3:URLVariables; if (_configManager.sendAndReceivePath != null){ _local1 = Controller.instance.loaderInfo.parameters.bookID; _local2 = Controller.instance.loaderInfo.parameters.userID; _local3 = new URLVariables(); _local3.bookID = _local1; _local3.userID = _local2; _ebook.bookID = _local1; _ebook.userID = _local2; _loader.sendAndLoad(_configManager.sendAndReceivePath, onLoadExistingData, URLRequestMethod.POST, _local3, "binary"); } else { loadBranding(); }; } public function getCaseSensitivePattern(_arg1:String):String{ var _local6:int; var _local7:int; var _local8:int; var _local9:Array; var _local10:int; var _local11:String; var _local2:String = _arg1; var _local3:String = Config.PAGE_JUMP_CASESENSITIVE_PATTERN; var _local4:int = _local3.indexOf("*"); var _local5:int = _local3.indexOf("?"); if ((((_local4 == -1)) && (!((_local5 == -1))))){ return (null); }; if (((!((_local4 == -1))) && ((_local5 == -1)))){ _local2 = _local2.toLowerCase(); return (_local2); }; if ((((_local4 == -1)) && ((_local5 == -1)))){ return (null); }; if (((!((_local4 == -1))) && (!((_local5 == -1))))){ if (_local4 > _local5){ _local7 = _local4; _local8 = _local2.length; } else { _local6 = (_local3.length - 1); _local7 = 0; _local8 = (_local2.length - _local6); }; _local9 = _local2.split(""); _local10 = _local7; while (_local10 < _local8) { _local9[_local10] = _local9[_local10].toLowerCase(); _local10++; }; _local11 = _local9.join(""); }; Controller.instance.tracer(("strJoin------ " + _local11)); return (_local11); } private function onLoadExistingData(_arg1:ByteArray):void{ var xml:XML; var data = _arg1; try { if (data == null){ callExistingDataWithEmptyXMl(); }; xml = new XML(data); _objExistingData = new ExistingData(xml); loadBranding(); } catch(error:Error) { _objExistingData = new ExistingData(new XML("")); Controller.instance.onError(error); }; } private function onLoadPageXml(_arg1:String):void{ var strPageLocation:String; var strSectionId:String; var xml:XML; var data = _arg1; try { strPageLocation = ""; if (!data){ throw (new Error(("Page XML not found. Page Number:" + _loadingPageIndex))); }; xml = new XML(data); _loadingPage = (ObjectXMLDeserializer.toObject(xml) as Page); initExistingData(); if (Config.ENABLE_FOLDER_STRUCTURE_CHANGE){ strPageLocation = Config.CHANGED_PAGE_SWF_LOCATION; strSectionId = getSectionId(_loadingPageIndex); if (strSectionId == "0"){ throw (new Error("Invalid section id.")); }; strPageLocation = strPageLocation.split("[_@BookID]").join(_strBookID); strPageLocation = strPageLocation.split("[_@UnitNum]").join(strSectionId); strPageLocation = (((strPageLocation + "page") + _loadingPageIndex) + ".swf"); } else { strPageLocation = (((_ebookPath + "pages/swf/page") + _loadingPageIndex) + ".swf"); }; _loader.load(strPageLocation, onLoadPageSwf, "binary"); } catch(error:Error) { _loadingPage = null; Controller.instance.onError(error); }; } public function get objPageList():PageListing{ return (_objPagelist); } public function get loadingPage():Page{ return (_loadingPage); } private function loadAdvancedResources():void{ var _local1:String; if (((!((Config.ADVANCED_RESOURCE_PANEL_DATA == null))) && (((!((Config.ADVANCED_RESOURCE_PANEL_DATA.resourcePanels == null))) && ((Config.ADVANCED_RESOURCE_PANEL_DATA.resourcePanels.length > 0)))))){ _arrAdvancedResourcesXML = new Array(); _local1 = (_ebookPath + String(Config.ADVANCED_RESOURCE_PANEL_DATA.resourcePanels[++_iAdvancedResourcesIndex])); _loader.load(_local1, onLoadAdvancedResources); } else { Controller.instance.onLoadEBook(); }; } public function get printData():Array{ var _local1:Array = _ebook.config.printablePages; return (_local1); } public function get playList():Playlist{ return (_objPlayList); } public function setNavigationByPlaylist(_arg1:Boolean):void{ _bNavigationByPlaylist = _arg1; _bSectionChanged = _arg1; _nCurPageIndxInSection = 1; } private static function startsWith(_arg1:String, _arg2:String):Boolean{ var _local3:int; while (_local3 < _arg2.length) { if (_arg2.charAt(_local3) != _arg1.charAt(_local3)){ return (false); }; _local3++; }; return (true); } } }//package model
Section 97
//ObjectXMLDeserializer (model.ObjectXMLDeserializer) package model { import controller.*; import flash.utils.*; public class ObjectXMLDeserializer { private static function XMLToObject(_arg1:XML):Object{ var obj:Object; var clazz:String; var Ref:Class; var child:XML; var xml = _arg1; try { clazz = xml.@["class"]; Ref = (getDefinitionByName(clazz) as Class); obj = new (Ref); if ((obj is Domain)){ for each (child in xml.*) { obj[child.name().localName] = toObject(child); }; (obj as Domain).postDeSerialize(); } else { for each (child in xml.*) { obj[child.name().localName] = toObject(child); }; }; } catch(error:Error) { throw (new Exception(("Incorrect object in xml:" + xml), error)); }; return (obj); } public static function toObject(_arg1:XML):Object{ var _local3:*; var _local2:String = _arg1.@type; switch (_local2){ case "String": _local3 = new String(_arg1.text().toString()); break; case "Date": _local3 = new Date(_arg1.text().toString()); break; case "Number": _local3 = new Number(_arg1.text().toString()); break; case "Boolean": _local3 = new Boolean((_arg1.text().toString() == "true")); break; case "Object": _local3 = XMLToObject(_arg1); break; case "Array": _local3 = XMLToArray(_arg1); break; default: throw (new Error(("Unsupported object type:" + _local2))); }; return (_local3); } private static function XMLToArray(_arg1:XML):Array{ var _local3:XML; var _local2:Array = new Array(); for each (_local3 in _arg1.*) { _local2.push(toObject(_local3)); }; return (_local2); } } }//package model
Section 98
//Page (model.Page) package model { public dynamic class Page extends Domain { private var _objInterPageData:Object;// = null private var _arrExistingFreehandShapes:Array; private var _currentPageIndex:Number; private var _blnSetValue:Boolean; private var _existingNotes:Array; private var _existingHL:Array; public function set blnSetValues(_arg1:Boolean):void{ _blnSetValue = _arg1; } public function get currentPageIndex():Number{ return (_currentPageIndex); } public function get existingHL():Array{ return (_existingHL); } override public function init():void{ _properties.hotspots = new Array(); } public function set currentPageIndex(_arg1:Number):void{ _currentPageIndex = _arg1; } public function get interPageData():Object{ return (_objInterPageData); } public function set existingHL(_arg1:Array):void{ _existingHL = _arg1; } public function get blnSetValues():Boolean{ return (_blnSetValue); } public function set interPageData(_arg1:Object):void{ _objInterPageData = _arg1; } public function set existingNotes(_arg1:Array):void{ _existingNotes = _arg1; } public function get interPageHotspotIndex():int{ if ((((_objInterPageData == null)) || ((_objInterPageData.hotspotIndex == null)))){ return (-1); }; return (_objInterPageData.hotspotIndex); } public function get existingNotes():Array{ return (_existingNotes); } } }//package model
Section 99
//PageDetail (model.PageDetail) package model { public dynamic class PageDetail extends Domain { override public function init():void{ _properties.pagenum = 0; _properties.pagetitle = ""; } } }//package model
Section 100
//PageList (model.PageList) package model { public dynamic class PageList extends Domain { override public function init():void{ _properties.pageDetails = new Array(); } } }//package model
Section 101
//PageListing (model.PageListing) package model { import controller.*; import view.AdvanceFeatures.Playlist.model.*; public dynamic class PageListing { private var _objPlayList:Playlist; private var _strRunningNumber:String; private var _strBookLabel:String; private var _objEbook:EBook; private var _arrPagelist:Array; public function PageListing(_arg1:EBook, _arg2:Playlist=null){ _arrPagelist = new Array(); _objEbook = _arg1; _objPlayList = _arg2; generatePgeList(_objEbook, _objEbook.name, "", ""); Controller.instance.tracer(_objPlayList.ToString()); } public function getPageIndexFromTitle(_arg1:String):Number{ var _local5:String; var _local6:String; var _local7:String; var _local2:Controller = Controller.instance; var _local3:Model = _local2.model; var _local4:int; while (_local4 < _arrPagelist.length) { _local2.tracer(((_arg1 + " @@@@@@getPageIndexFromTitle=Length= ") + _arg1.length)); _local5 = trimLeft(_arrPagelist[_local4][1]); if (Config.PAGE_JUMP_CASESENSITIVE_PATTERN != null){ _local6 = _local3.getCaseSensitivePattern(_arg1); _local7 = _local3.getCaseSensitivePattern(_local5); if (_local6 != null){ _arg1 = _local6; }; if (_local7 != null){ _local5 = _local7; }; } else { _arg1 = _arg1.toLowerCase(); _local5 = _local5.toLowerCase(); }; if (_local5 == _arg1){ return ((_local4 + 1)); }; _local4++; }; return (-1); } public function get bookTitle():String{ return (_objEbook.name); } private function trimLeft(_arg1:String):String{ var _local2:int; while (_local2 < _arg1.length) { if (_arg1.charAt(0) == " "){ _arg1 = _arg1.substring(1, _arg1.length); } else { break; }; _local2++; }; return (_arg1); } public function get pageList():Array{ Controller.instance.tracer(((_arrPagelist.length + "===arrPageList ") + _arrPagelist)); return (_objEbook.sections[0].sections); } private function romanToDec(_arg1:String):Number{ var _local7:String; var _local8:String; var _local9:Number; var _local10:Number; var _local2:Object = {I:1, V:5, X:10, L:50, C:100, D:500, M:1000}; var _local3:Number = 0; var _local4:Array = _arg1.toUpperCase().split(""); var _local5:Number = _local4.length; var _local6:int; while (_local6 < _local5) { _local7 = _local4[_local6]; _local8 = _local4[(_local6 + 1)]; _local9 = _local2[_local7]; _local10 = _local2[_local8]; _local10 = (isNaN(Number(_local10))) ? 0 : _local10; if (_local10 > _local9){ if (((((_local10 / 5) == _local9)) || (((_local10 / 10) == _local9)))){ _local3 = (_local3 - _local9); } else { return (-1); }; } else { _local3 = (_local3 + _local9); }; _local6++; }; return (_local3); } private function getSectionPages(_arg1:Number, _arg2:String, _arg3:String, _arg4:Boolean, _arg5:String, _arg6:Array, _arg7:Boolean, _arg8:Number):Array{ var _local12:Array; var _local13:String; var _local14:String; var _local15:String; var _local9:Controller = Controller.instance; var _local10:Array = new Array(); _strRunningNumber = ((_strRunningNumber)=="") ? _arrPagelist[(_arrPagelist.length - 1)][0] : _strRunningNumber; if (_arg2 == "STRING"){ _strRunningNumber = _arg3; _arg3 = ""; _arg4 = true; }; var _local11:int; while (_local11 < _arg1) { _local12 = new Array(); _local13 = ""; if (!_arg4){ _local13 = _strRunningNumber; _arg4 = true; } else { if (_arg7){ }; _local13 = getNextSeq(_arg2, _strRunningNumber, _arg1, _local11); }; if (_arg2 == "STRING"){ _local12[0] = _local13; _local12[1] = _local13; } else { if (_arg7){ _local14 = getNextSeq(_arg2, _local13, _arg1, _local11); _local15 = ((((_arg3 + _local13) + " - ") + _arg3) + _local14); _strRunningNumber = _local14; _local12[0] = _local15; _local12[1] = _local15; } else { _local12[0] = _local13; _strRunningNumber = _local13; _local12[1] = (_arg3 + _local12[0]); }; }; _local12[2] = _arg5; _local12[3] = _arg7; _local10.push(_local12); _local11++; }; return (_local10); } private function generatePgeList(_arg1:Object, _arg2:String, _arg3:String, _arg4:String):void{ var _local7:String; var _local9:String; var _local11:Array; var _local12:Boolean; var _local13:Boolean; var _local14:Controller; var _local15:Array; _strBookLabel = _arg1.name; var _local5:Array = _arg1.sections; var _local6:Number = 0; var _local8:String = _arg2; var _local10:int; while (_local10 < _local5.length) { _local9 = ((_local8 + "|") + _arg1.sections[_local10].name); _local11 = _arg1.sections[_local10].sections; _local12 = !(_arg1.sections[_local10].resetRunningLabel); if (!_local12){ _arg3 = _arg1.sections[_local10].labelMode; _arg4 = _arg1.sections[_local10].labelPrefix; _strRunningNumber = _arg1.sections[_local10].labelRunningNumber; }; _local6 = (_local6 + _arg1.sections[_local10].pages); _local13 = false; _local14 = Controller.instance; if (_objPlayList){ _objPlayList.addSection(_local11.length, _arg1.sections[_local10].name, _arg1.sections[_local10].pages); }; Controller.instance.tracer(((("... objBlock.sections[i].name " + _arg1.sections[_local10].name) + " subsections ") + _local11.length)); if (_local11.length > 0){ generatePgeList(_arg1.sections[_local10], _local9, _arg3, _arg4); } else { _local15 = getSectionPages(_arg1.sections[_local10].pages, _arg3, _arg4, _local12, _local9, _local11, _arg1.sections[_local10].groupPages, _arg1.sections[_local10].groupByNumOfPages); _arrPagelist = _arrPagelist.concat(_local15); }; _local10++; }; } public function getBreadCrumb(_arg1:Number):String{ var _local2:String = _arrPagelist[(_arg1 - 1)][2]; var _local3:String = _arrPagelist[(_arg1 - 1)][1]; var _local4:String = _local2; return (_local4); } public function get labelsArray():Array{ return (_arrPagelist); } private function decToRoman(_arg1:Number):String{ var _local5:Number; var _local8:String; if (_arg1 <= 0){ return (undefined); }; var _local2:Array = ["i", "v", "x", "l", "c", "d", "m"]; var _local3:Number = 1000; var _local4:Number = 2; var _local6 = ""; var _local7:Number = 6; while (_local7 >= 0) { _local5 = Math.floor((_arg1 / _local3)); if (_local5 >= 4){ if (_local6.charAt((_local6.length - 1)) == _local2[(_local7 + 1)]){ _local6 = _local6.substr(0, (_local6.length - 1)); _local6 = (_local6 + (_local2[_local7] + _local2[(_local7 + 2)])); } else { _local6 = (_local6 + (_local2[_local7] + _local2[(_local7 + 1)])); }; } else { _local8 = _local2[_local7]; while (_local5 > 0) { _local6 = (_local6 + _local8); _local5--; }; }; _arg1 = (_arg1 % _local3); _local3 = (_local3 / _local4); _local4 = ((_local4 == 2)) ? 5 : 2; _local7--; }; return (_local6); } public function getSectionTitle(_arg1:Number):String{ var _local2:String = _arrPagelist[(_arg1 - 1)][2]; var _local3:Array = _local2.split("|"); var _local4:Number = _local3.length; return (_local3[(_local4 - 1)]); } public function getPageIndexFromSectionTitle(_arg1:String):Number{ var _local2:Controller = Controller.instance; Controller.instance.tracer(("section title .. :: " + _arg1)); var _local3:int; while (_local3 < _arrPagelist.length) { if (_arrPagelist[_local3][2].lastIndexOf(_arg1) > -1){ return (_local3); }; _local3++; }; return (-1); } public function getPageLabel(_arg1:Number):String{ if (((!((_arrPagelist[(_arg1 - 1)] == undefined))) || (!((_arrPagelist[(_arg1 - 1)] == null))))){ return (_arrPagelist[(_arg1 - 1)][1]); }; return (null); } private function getNextSeq(_arg1:String, _arg2:String, _arg3:Number, _arg4:int):String{ var _local6:String; var _local7:Number; var _local5:Controller = Controller.instance; _arg1 = String(_arg1).toUpperCase(); if ((((_arg1 == "NUMBER")) || ((_arg1 == "")))){ _local6 = String((Number(_arg2) + 1)); } else { if (_arg1 == "ALPHABET_CAPS"){ _local6 = String.fromCharCode((_arg2.toUpperCase().charCodeAt(0) + 1)); } else { if (_arg1 == "ALPHABET_SMALL"){ _local6 = String.fromCharCode((_arg2.toLowerCase().charCodeAt(0) + 1)); } else { if (_arg1 == "STRING"){ if (_arg3 == 1){ _local6 = _arg2; } else { _local6 = (_arg2 + (_arg4 + 1)); }; } else { if (_arg1 == "ROMAN"){ _local7 = romanToDec(_arg2); _local6 = decToRoman((_local7 + 1)); }; }; }; }; }; return (_local6); } public function getPageRange(_arg1:String, _arg2:String):Array{ var _local3:Controller = Controller.instance; var _local4:Array = new Array(); var _local5:int; while (_local5 < _arrPagelist.length) { if (trimLeft(_arg1.toLowerCase()) != ""){ if (trimLeft(_arrPagelist[_local5][1].toLowerCase()) == _arg1.toLowerCase()){ _local4[0] = (_local5 + 1); } else { if (_local4[0] == undefined){ _local4[0] = -1; }; }; }; if (trimLeft(_arg2.toLowerCase()) != ""){ if (trimLeft(_arrPagelist[_local5][1].toLowerCase()) == _arg2.toLowerCase()){ _local4[1] = (_local5 + 1); } else { if (_local4[1] == undefined){ _local4[1] = -1; }; }; }; _local5++; }; return (_local4); } } }//package model
Section 102
//Section (model.Section) package model { public dynamic class Section extends Domain { override public function init():void{ _properties.name = ""; _properties.pages = 2; _properties.sections = new Array(); _properties.resetRunningLabel = false; _properties.labelMode = ""; _properties.labelRunningNumber = ""; _properties.labelPrefix = ""; _properties.sectionId = ""; _properties.config = new Object(); } override public function postDeSerialize():void{ if (!_properties.name){ _properties.name = ""; }; if (!_properties.pages){ _properties.pages = 2; }; if (!_properties.sections){ _properties.sections = new Array(); }; if (!_properties.resetRunningLabel){ _properties.resetRunningLabel = false; }; if (!_properties.labelMode){ _properties.labelMode = ""; }; if (!_properties.labelRunningNumber){ _properties.labelRunningNumber = ""; }; if (!_properties.labelPrefix){ _properties.labelPrefix = ""; }; if (!_properties.sectionId){ _properties.sectionId = ""; }; if (!_properties.config){ _properties.config = new Object(); }; } } }//package model
Section 103
//TBConsts (model.TBConsts) package model { public dynamic class TBConsts { public static const BTN_FREEHAND_HIGHLIGHTER:String = "btn_draw_highlight"; public static const BTN_FIT_TO_PAGE:String = "btn_fit_to_page"; public static const BTN_SPOTLIGHT:String = "btn_Spotlight"; public static const BTN_SEARCH:String = "btn_search"; public static const BTN_ZOOM_IN:String = "btn_zoom_in"; public static const BTN_NEXT:String = "btn_next"; public static const BTN_ANIMATION:String = "btn_animation"; public static const BTN_FREEHAND_ERASER_LINEPANEL:String = "mcEraserLinePanel"; public static const BTN_EDITION_TEACHER:String = "btn_edition_teacher"; public static const BTN_FREEHAND_LINE_PANEL:String = "mc_LinePanel"; public static const BTN_FACING:String = "btn_facing"; public static const TXT_EDITION_INFO:String = "txt_edition_info"; public static const BTN_SEARCH_RESTORE:String = "btn_search_restore"; public static const BTN_FREEHAND_HIGHLIGHTER_COLOR:String = "mcFreeHandHighlighter"; public static const BTN_PDF:String = "btn_pdf"; public static const BTN_PLAY:String = "btn_play"; public static const MC_BREADCRUMP:String = "mc_breadcrump"; public static const TXT_ZOOM:String = "txt_zoom"; public static const BTN_ZOOM_TO:String = "btnZoomTo"; public static const BTN_ZOOM_OUT:String = "btn_zoom_out"; public static const BTN_ADD_BOOKMARK:String = "btn_add_bookmark"; public static const BTN_HELP:String = "btn_help"; public static const BTN_HIDE:String = "mcHideContent"; public static const BTN_FREEHAND_ERASER:String = "btn_freehand_eraser"; public static const BTN_REWIND:String = "btn_rewind"; public static const PAGE_AUDIO_CONTROLLER:String = "audio_controller"; public static const BTN_EDITION_STUDENT:String = "btn_edition_student"; public static const BTN_QUIZ:String = "btn_quiz"; public static const TXT_SEARCH:String = "txt_search"; public static const TXT_PAGE:String = "txt_page"; public static const BTN_LAST_VISITED:String = "btn_last_visited"; public static const ALL_BTN:String = "mcToolbar"; public static const BTN_GLOBAL_NOTE:String = "btn_global_notes"; public static const BTN_PLAYLIST:String = "btn_Playlist"; public static const BTN_ACTUAL_SIZE:String = "btnActualSize"; public static const BTN_DOC:String = "btn_doc"; public static const BTN_DELETE_ALL_DRAWING:String = "btn_delete_all_drawing"; public static const BTN_VIDEO:String = "btn_video"; public static const BTN_PREVIOUS:String = "btn_previous"; public static const BTN_ADD_LINK:String = "btn_add_link"; public static const BTN_GRABBER:String = "btn_grabber"; public static const BTN_COMPREHENSION:String = "btn_comprehension"; public static const BTN_FORWARD:String = "btn_forward"; public static const BTN_GROUP:String = "btn_group"; public static const BTN_TOC:String = "btn_toc"; public static const BTN_SHOWHOTSPOT:String = "btn_showhotspot"; public static const BTN_EDITION:String = "btn_edition"; public static const BTN_SINGLE:String = "btn_single"; public static const BTN_AUDIO_SCRIPT:String = "btn_audio_script"; public static const TXT_EDITION:String = "txt_edition"; public static const BTN_FREEHAND_PEN:String = "btn_freehand_pen"; public static const BTN_SHOW_BOOKMARK:String = "btn_show_bookmark"; public static const BTN_GLOSSARY:String = "btn_glossary"; public static const TOOLS:String = "TOOLS"; public static const BTN_FREEHAND_SHAPE_COLOR:String = "mcFreeHandShapeColorPanel"; public static const BTN_HIGHLIGHTER:String = "btn_highlighter"; public static const BTN_VOCABULARY:String = "btn_vocabulary"; public static const BTN_HTML:String = "btn_html"; public static const BTN_PRINT:String = "btn_print"; public static const BTN_TOGGLE_TOOLBAR:String = "btn_toggle_toolbar"; public static const TXT_PAGE2:String = "txt_page2"; public static const BTN_RESOURCE_PANEL:String = "btn_resource_panel"; public static const BTN_PREVIOUS2:String = "btn_previous2"; public static const BTN_NEXT2:String = "btn_next2"; public static const BTN_NOTES:String = "btn_notes"; public static const BTN_SHOW_DRAWING:String = "btn_show_drawing"; public static const BTN_THEME:String = "btn_theme"; public static const BTN_FREEHAND_SHAPES:String = "mcShapePanel"; public static const BTN_FREEHAND_HIGHLIGHTER_LINEPANEL:String = "mcHighlighterLinePanel"; public static const BTN_FREEHAND_PEN_COLOR:String = "mcPenColorPanel"; } }//package model
Section 104
//Toc (model.Toc) package model { public dynamic class Toc extends Domain { } }//package model
Section 105
//TreeData (model.TreeData) package model { public dynamic class TreeData extends Domain { override public function init():void{ _properties.label = ""; _properties.page = 0; _properties.sections = new Array(); } } }//package model
Section 106
//TreeDataVO (model.TreeDataVO) package model { public class TreeDataVO { private const URL_TYPE:String = "url"; private const TREE_TYPE:String = "tree"; private const OPEN_STATE:String = "open"; private const CLOSE_STATE:String = "close"; private const IDLE_STATE:String = "idle"; private const POP_UP_TYPE:String = "popup"; private const PAGE_TYPE:String = "page"; private var _objData:Object;// = null private var _level:int;// = 0 private var _bVerticalSpace:Boolean;// = false private var _chapter:Object;// = null private var _count:Number;// = 0 private var _description:String;// = null private var _strTreeState:String;// = null private var _link;// = null private var _category:String;// = null private var _children:Array;// = null private var _title:String;// = null private var _bHasChildTree:Boolean;// = false private var _bHasAnyChild:Boolean;// = false private var _page:Number;// = NAN public function TreeDataVO(_arg1:Object){ if (_arg1 == null){ trace("Error: Parameter passed to AdvancedTreeData is not valid."); return; }; parseData(_arg1); } public function get link(){ return (_link); } public function set category(_arg1:String):void{ if (_arg1 != null){ _category = _arg1; }; } public function set level(_arg1:int):void{ if (!isNaN(_arg1)){ _level = _arg1; }; } public function get level():int{ return (_level); } public function get page():Number{ return (_page); } public function get treeState():String{ return (_strTreeState); } public function get count():Number{ return (_count); } public function set vSpace(_arg1:Boolean):void{ _bVerticalSpace = _arg1; } public function set hasAnyChild(_arg1:Boolean):void{ _bHasAnyChild = _arg1; } public function set page(_arg1:Number):void{ if (_arg1 >= 0){ _page = _arg1; }; } public function set chapter(_arg1:Object):void{ if (_arg1 != null){ _chapter = _arg1; }; } public function set count(_arg1:Number):void{ if (!isNaN(_arg1)){ _count = _arg1; }; } public function set treeState(_arg1:String):void{ var _local2:String = _arg1.toLowerCase(); if ((((((_local2 == OPEN_STATE)) || ((_local2 == CLOSE_STATE)))) || ((_local2 == IDLE_STATE)))){ _strTreeState = _local2; }; } public function set title(_arg1:String):void{ if (_arg1 == null){ _title = "Undefined"; }; _title = _arg1; } public function get vSpace():Boolean{ return (_bVerticalSpace); } public function set hasChildTree(_arg1:Boolean):void{ _bHasChildTree = _arg1; } public function get hasAnyChild():Boolean{ return (_bHasAnyChild); } public function get title():String{ return (_title); } public function get chapter():Object{ return (_chapter); } public function get hasChildTree():Boolean{ return (_bHasChildTree); } public function set link(_arg1):void{ _link = _arg1; } public function get description():String{ return (_description); } private function parseData(_arg1:Object):void{ _objData = _arg1; this.title = _objData.title; this.description = _objData.description; this.link = _objData.link; this.category = _objData.category; if (_objData.chapter != null){ this.chapter = _objData.chapter; }; this.vSpace = ((String(_objData.space).toLowerCase())=="true") ? true : false; if ((((_objData.link.length == undefined)) || ((_objData.link.length == 0)))){ this.hasAnyChild = false; } else { this.hasAnyChild = true; }; } public function get category():String{ return (_category); } public function set description(_arg1:String):void{ if (_arg1.length > 0){ _description = _arg1; }; } } }//package model
Section 107
//Word (model.Word) package model { public dynamic class Word extends Domain { override public function init():void{ _properties.value = ""; _properties.audioURL = ""; _properties.description = ""; } } }//package model
Section 108
//EdgeMetrics (mx.core.EdgeMetrics) package mx.core { public class EdgeMetrics { public var top:Number; public var left:Number; public var bottom:Number; public var right:Number; mx_internal static const VERSION:String = "3.3.0.4852"; public static const EMPTY:EdgeMetrics = new EdgeMetrics(0, 0, 0, 0); ; public function EdgeMetrics(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0){ this.left = _arg1; this.top = _arg2; this.right = _arg3; this.bottom = _arg4; } public function clone():EdgeMetrics{ return (new EdgeMetrics(left, top, right, bottom)); } } }//package mx.core
Section 109
//FlexMovieClip (mx.core.FlexMovieClip) package mx.core { import flash.display.*; import mx.utils.*; public class FlexMovieClip extends MovieClip { mx_internal static const VERSION:String = "3.3.0.4852"; public function FlexMovieClip(){ super(); try { name = NameUtil.createUniqueName(this); } catch(e:Error) { }; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 110
//FlexSprite (mx.core.FlexSprite) package mx.core { import flash.display.*; import mx.utils.*; public class FlexSprite extends Sprite { mx_internal static const VERSION:String = "3.3.0.4852"; public function FlexSprite(){ super(); try { name = NameUtil.createUniqueName(this); } catch(e:Error) { }; } override public function toString():String{ return (NameUtil.displayObjectToString(this)); } } }//package mx.core
Section 111
//IBorder (mx.core.IBorder) package mx.core { public interface IBorder { function get borderMetrics():EdgeMetrics; } }//package mx.core
Section 112
//IFlexAsset (mx.core.IFlexAsset) package mx.core { public interface IFlexAsset { } }//package mx.core
Section 113
//IFlexDisplayObject (mx.core.IFlexDisplayObject) package mx.core { import flash.events.*; import flash.display.*; import flash.geom.*; import flash.accessibility.*; public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher { function get visible():Boolean; function get rotation():Number; function localToGlobal(_arg1:Point):Point; function get name():String; function set width(_arg1:Number):void; function get measuredHeight():Number; function get blendMode():String; function get scale9Grid():Rectangle; function set name(_arg1:String):void; function set scaleX(_arg1:Number):void; function set scaleY(_arg1:Number):void; function get measuredWidth():Number; function get accessibilityProperties():AccessibilityProperties; function set scrollRect(_arg1:Rectangle):void; function get cacheAsBitmap():Boolean; function globalToLocal(_arg1:Point):Point; function get height():Number; function set blendMode(_arg1:String):void; function get parent():DisplayObjectContainer; function getBounds(_arg1:DisplayObject):Rectangle; function get opaqueBackground():Object; function set scale9Grid(_arg1:Rectangle):void; function setActualSize(_arg1:Number, _arg2:Number):void; function set alpha(_arg1:Number):void; function set accessibilityProperties(_arg1:AccessibilityProperties):void; function get width():Number; function hitTestPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean; function set cacheAsBitmap(_arg1:Boolean):void; function get scaleX():Number; function get scaleY():Number; function get scrollRect():Rectangle; function get mouseX():Number; function get mouseY():Number; function set height(_arg1:Number):void; function set mask(_arg1:DisplayObject):void; function getRect(_arg1:DisplayObject):Rectangle; function get alpha():Number; function set transform(_arg1:Transform):void; function move(_arg1:Number, _arg2:Number):void; function get loaderInfo():LoaderInfo; function get root():DisplayObject; function hitTestObject(_arg1:DisplayObject):Boolean; function set opaqueBackground(_arg1:Object):void; function set visible(_arg1:Boolean):void; function get mask():DisplayObject; function set x(_arg1:Number):void; function set y(_arg1:Number):void; function get transform():Transform; function set filters(_arg1:Array):void; function get x():Number; function get y():Number; function get filters():Array; function set rotation(_arg1:Number):void; function get stage():Stage; } }//package mx.core
Section 114
//IRepeaterClient (mx.core.IRepeaterClient) package mx.core { public interface IRepeaterClient { function get instanceIndices():Array; function set instanceIndices(_arg1:Array):void; function get isDocument():Boolean; function set repeaters(_arg1:Array):void; function initializeRepeaterArrays(_arg1:IRepeaterClient):void; function get repeaters():Array; function set repeaterIndices(_arg1:Array):void; function get repeaterIndices():Array; } }//package mx.core
Section 115
//MovieClipAsset (mx.core.MovieClipAsset) package mx.core { public class MovieClipAsset extends FlexMovieClip implements IFlexAsset, IFlexDisplayObject, IBorder { private var _measuredHeight:Number; private var _measuredWidth:Number; mx_internal static const VERSION:String = "3.3.0.4852"; public function MovieClipAsset(){ _measuredWidth = width; _measuredHeight = height; } public function get measuredWidth():Number{ return (_measuredWidth); } public function get measuredHeight():Number{ return (_measuredHeight); } public function setActualSize(_arg1:Number, _arg2:Number):void{ width = _arg1; height = _arg2; } public function move(_arg1:Number, _arg2:Number):void{ this.x = _arg1; this.y = _arg2; } public function get borderMetrics():EdgeMetrics{ if (scale9Grid == null){ return (EdgeMetrics.EMPTY); }; return (new EdgeMetrics(scale9Grid.left, scale9Grid.top, Math.ceil((measuredWidth - scale9Grid.right)), Math.ceil((measuredHeight - scale9Grid.bottom)))); } } }//package mx.core
Section 116
//mx_internal (mx.core.mx_internal) package mx.core { public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal"; }//package mx.core
Section 117
//SoundAsset (mx.core.SoundAsset) package mx.core { import flash.media.*; public class SoundAsset extends Sound implements IFlexAsset { mx_internal static const VERSION:String = "3.3.0.4852"; } }//package mx.core
Section 118
//SpriteAsset (mx.core.SpriteAsset) package mx.core { public class SpriteAsset extends FlexSprite implements IFlexAsset, IFlexDisplayObject, IBorder { private var _measuredHeight:Number; private var _measuredWidth:Number; mx_internal static const VERSION:String = "3.3.0.4852"; public function SpriteAsset(){ _measuredWidth = width; _measuredHeight = height; } public function get measuredWidth():Number{ return (_measuredWidth); } public function get measuredHeight():Number{ return (_measuredHeight); } public function setActualSize(_arg1:Number, _arg2:Number):void{ width = _arg1; height = _arg2; } public function move(_arg1:Number, _arg2:Number):void{ this.x = _arg1; this.y = _arg2; } public function get borderMetrics():EdgeMetrics{ if (scale9Grid == null){ return (EdgeMetrics.EMPTY); }; return (new EdgeMetrics(scale9Grid.left, scale9Grid.top, Math.ceil((measuredWidth - scale9Grid.right)), Math.ceil((measuredHeight - scale9Grid.bottom)))); } } }//package mx.core
Section 119
//NameUtil (mx.utils.NameUtil) package mx.utils { import flash.display.*; import flash.utils.*; import mx.core.*; public class NameUtil { mx_internal static const VERSION:String = "3.3.0.4852"; private static var counter:int = 0; public static function displayObjectToString(_arg1:DisplayObject):String{ var result:String; var o:DisplayObject; var s:String; var indices:Array; var displayObject = _arg1; try { o = displayObject; while (o != null) { if (((((o.parent) && (o.stage))) && ((o.parent == o.stage)))){ break; }; s = o.name; if ((o is IRepeaterClient)){ indices = IRepeaterClient(o).instanceIndices; if (indices){ s = (s + (("[" + indices.join("][")) + "]")); }; }; result = ((result == null)) ? s : ((s + ".") + result); o = o.parent; }; } catch(e:SecurityError) { }; return (result); } public static function createUniqueName(_arg1:Object):String{ if (!_arg1){ return (null); }; var _local2:String = getQualifiedClassName(_arg1); var _local3:int = _local2.indexOf("::"); if (_local3 != -1){ _local2 = _local2.substr((_local3 + 2)); }; var _local4:int = _local2.charCodeAt((_local2.length - 1)); if ((((_local4 >= 48)) && ((_local4 <= 57)))){ _local2 = (_local2 + "_"); }; return ((_local2 + counter++)); } } }//package mx.utils
Section 120
//DuplicateObject (util.DuplicateObject) package util { import flash.display.*; import flash.geom.*; public class DuplicateObject extends Sprite { public static function duplicateDisplayObject(_arg1:DisplayObject, _arg2:Boolean=false):DisplayObject{ var _local5:Rectangle; var _local3:Class = Object(_arg1).constructor; var _local4:DisplayObject = new (_local3); _local4.transform = _arg1.transform; _local4.filters = _arg1.filters; _local4.cacheAsBitmap = _arg1.cacheAsBitmap; _local4.opaqueBackground = _arg1.opaqueBackground; if (_arg1.scale9Grid){ _local5 = _arg1.scale9Grid; _local4.scale9Grid = _local5; }; if (((_arg2) && (_arg1.parent))){ _arg1.parent.addChild(_local4); }; return (_local4); } } }//package util
Section 121
//AdvanceResourcePanel (view.AdvanceFeatures.AdvanceResourcePanel.AdvanceResourcePanel) package view.AdvanceFeatures.AdvanceResourcePanel { import controller.*; import flash.display.*; import view.*; import flash.text.*; public class AdvanceResourcePanel extends ResourcePanel { private var _uID:uint;// = 0 private var _strTitleText:String; public function AdvanceResourcePanel(_arg1:DisplayObject, _arg2:uint){ super(_arg1); _instance = (_arg1 as Sprite); _uID = _arg2; var _local3:TextField = (getChildByName("txtTitle") as TextField); if (_local3 != null){ _local3.mouseEnabled = false; _strTitleText = _local3.htmlText; }; } override public function init():void{ var _local1:int; var _local2:Object; var _local3:int; var _local4:Object; _objData = Controller.instance.model.getAdvancedResourcesData(_uID); if (_objData != null){ if (_objData.unit != undefined){ _local1 = 0; while (_local1 < _objData.unit.length) { _local2 = _objData.unit[_local1]; _local3 = 0; while (_local3 < _local2.chapter.length) { _local4 = _local2.chapter[_local3]; pushLessonInformation(_local4); _local3++; }; _local1++; }; } else { if (_objData.resourceGroups != undefined){ _bPageWiseResources = true; setResourcesPageWise(_objData.resourceGroups); }; }; }; } public function setTitleText():void{ var _local1:TextField = (getChildByName("txtTitle") as TextField); if (_local1 != null){ _local1.htmlText = ((_objData.title)!=null) ? _objData.title : _strTitleText; }; } public function set active(_arg1:Boolean):void{ _bActive = _arg1; } public function get active():Boolean{ return (_bActive); } } }//package view.AdvanceFeatures.AdvanceResourcePanel
Section 122
//AdvanceExternalTableOfContent (view.AdvanceFeatures.AdvanceToc.AdvanceExternalTableOfContent) package view.AdvanceFeatures.AdvanceToc { import controller.*; import flash.events.*; import flash.display.*; import view.*; import model.*; public class AdvanceExternalTableOfContent extends WrappedDisplayObject { private var _objData:AdvanceExternalToc; private var _instance:DisplayObject; private var _list:List; private var _bLaunched:Boolean;// = false private var _arrAdvanceSubMenu:Array; private var _btnTextBook:CustomButton; private var _isScrollAdded:Boolean; private var _btnExit1:SimpleButton; private var _btnExit2:SimpleButton; private var _bottomMax:Number; private var _displayList:Sprite; private var _displayTree:DisplayObject; private var _advanceMenu:CreateAdvanceMenu; private var _advanceExternalToc:AdvanceExternalTableOfContent; private var _btnWorkBook:CustomButton; private var _c:Controller; private var _bookName:String; private var _arrTextBook:Array; public static const TYPE_TREE:String = "tree"; public static const TYPE_POPUP:String = "popup"; public static const TYPE_URL:String = "url"; public static const TEXT_BOOK:String = "text_book"; public static const WORK_BOOK:String = "work_book"; public static const TYPE_SUBMENU:String = "submenu"; public static const TYPE_PAGE:String = "page"; public function AdvanceExternalTableOfContent(_arg1:DisplayObject){ super(_arg1); _instance = _arg1; _bookName = TEXT_BOOK; _bottomMax = _instance.height; drawTOC(); } public function onListItemClick(_arg1:Object):void{ var _local3:Object; var _local4:CreateAdvanceMenu; var _local5:Number; var _local6:MovieClip; _local3 = arguments[0]; switch (_local3.category){ case TYPE_SUBMENU: if (_local3.chapter != null){ onChapter(_local3.chapter); }; _local5 = (Number(_local3.index) + 1); _local6 = (_displayTree as MovieClip); if (!_displayTree.visible){ setAdvancedTocRightPanelTheme(); _displayTree.visible = true; _local6.play(); _local6.addEventListener(Event.ENTER_FRAME, onMoviePlay); }; _arrAdvanceSubMenu[0].createMenu(_local3.link, onListItemClick, _local5); _arrAdvanceSubMenu[0].advanceList.updateAdvanceListScrollBar(); break; case TYPE_PAGE: onPageItem(_local3); this.visible = false; break; case TYPE_URL: loadExternalLink(_local3); this.visible = false; break; case TYPE_POPUP: loadPopup(_local3); this.visible = false; break; case TYPE_TREE: onChapter(_local3.chapter); break; }; } private function onWorkBook(_arg1:Event):void{ _displayTree.visible = false; _btnExit1.visible = true; Controller.instance.view.advanceExternalTOC.advanceList.removeAllChildren(); _btnWorkBook.setState(CustomButton.STATE_DISABLED); _btnTextBook.setState(CustomButton.STATE_NORMAL); _bookName = WORK_BOOK; drawMenuItem(); } private function getListDataItems():Array{ var _local1:Array = new Array(); var _local2:Number = 0; while (_local2 < _arrTextBook.length) { _local1.push(_arrTextBook[_local2].title); _local2++; }; return (_local1); } private function onExit(_arg1:Event):void{ var _local2:MovieClip = (Controller.instance.view.toolbar.getAccessibleObject(TBConsts.BTN_TOC) as MovieClip); _local2.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); } private function mouseReleaseOutsideHandler(_arg1:MouseEvent):void{ var _local2:Sprite; var _local3:*; var _local4:Number; var _local5:MovieClip; if (((Config.TOC_DATA["CLOSE_ON_CLICK_OUTSIDE"]) && (this.visible))){ _local2 = (_displayTree as Sprite); _local3 = _local2.getChildByName("panelRight"); _local4 = (_local3.x + _local3.width); _local5 = (Controller.instance.view.toolbar.getAccessibleObject(TBConsts.BTN_TOC) as MovieClip); if ((((((((_instance.mouseX < 0)) || ((_instance.mouseX > _local4)))) || ((_instance.mouseY < 0)))) || ((_instance.mouseY > (_bottomMax - 50))))){ if ((((((((_local5.mouseX < 0)) || ((_local5.mouseX > _local5.width)))) || ((_local5.mouseY < 0)))) || ((_local5.mouseY > _local5.height)))){ _btnExit1.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); }; }; }; } public function inItExternalToc():void{ _c = Controller.instance; } private function onTextBook(_arg1:Event):void{ _displayTree.visible = false; _btnExit1.visible = true; Controller.instance.view.advanceExternalTOC.advanceList.removeAllChildren(); _btnTextBook.setState(CustomButton.STATE_DISABLED); _btnWorkBook.setState(CustomButton.STATE_NORMAL); _bookName = TEXT_BOOK; drawMenuItem(); } public function setAdvancedTocRightPanelTheme():void{ var _local1:MovieClip; if (Config.CHANGE_ITEMS_THEME != null){ _local1 = (_displayTree as MovieClip); if (_local1 != null){ Controller.instance.tracer(("setAdvancedTocRightPanelTheme " + Controller.instance.view)); if (Controller.instance.view.toolbar.themeHandler != null){ Controller.instance.view.toolbar.themeHandler.searchItems(_local1); }; }; }; } public function get advanceList():AdvanceList{ return (_advanceMenu.advanceList); } private function getNodeData(_arg1:Number):Object{ return (_arrTextBook[_arg1]); } private function onPageItem(_arg1:Object=null):void{ var _local2:Object; var _local3:int; if (_arg1 != null){ _local2 = _arg1.link; _local3 = _c.model.pageIDMapper(_local2.page); _c.loadPage(_local3); }; } private function onMoviePlay(_arg1:Event):void{ var _local2:MovieClip = (_arg1.currentTarget as MovieClip); _btnExit1.visible = false; if (_local2.currentFrame == _local2.totalFrames){ _local2.stop(); _local2.removeEventListener(Event.ENTER_FRAME, onMoviePlay); }; } private function loadPopup(_arg1:Object=null):void{ var _local2:Object = _arg1.link; Controller.instance.openPanel(_local2.popup); } private function drawTOC():void{ _arrAdvanceSubMenu = new Array(); _arrTextBook = new Array(); _isScrollAdded = false; var inst:MovieClip = (_instance as MovieClip); _btnWorkBook = new CustomButton(inst.mcWorkBook); _btnTextBook = new CustomButton(inst.mcTextBook); try { _displayList = (inst.mcListPanel as Sprite); } catch(e:Error) { Controller.instance.tracer(("error " + e.toString())); }; _btnExit1 = (inst.btnExit1 as SimpleButton); _displayTree = _displayList.getChildByName("panelRight"); _displayTree.visible = false; var mc:MovieClip = (_displayTree as MovieClip); if (Config.EXTERNAL_TOC_PROPERTIES.bSpreadMode){ setAdvancedTocRightPanelTheme(); _btnExit1.visible = false; mc.gotoAndStop(mc.totalFrames); mc.visible = true; } else { mc.gotoAndStop(1); mc.visible = false; }; _arrAdvanceSubMenu = new Array(); _advanceMenu = new CreateAdvanceMenu(_displayList); var sp:Sprite = (_displayTree as Sprite); var right_panel:DisplayObject = (sp.getChildByName("panelRight") as DisplayObject); _arrAdvanceSubMenu.push(new CreateAdvanceMenu(right_panel)); if (_btnWorkBook.instance != null){ _btnWorkBook.instance.addEventListener(MouseEvent.CLICK, onWorkBook, false, 0, true); }; if (_btnTextBook.instance != null){ _btnTextBook.instance.addEventListener(MouseEvent.CLICK, onTextBook, false, 0, true); }; _btnExit1.addEventListener(MouseEvent.CLICK, onExit, false, 0, true); _btnWorkBook.setState(CustomButton.STATE_NORMAL); _btnTextBook.setState(CustomButton.STATE_NORMAL); _btnExit2 = (mc.panelRight.btnExit2 as SimpleButton); _btnExit2.addEventListener(MouseEvent.CLICK, onExit, false, 0, true); Controller.instance.addEventListener(MouseEvent.MOUSE_DOWN, mouseReleaseOutsideHandler); } private function onChapter(_arg1:Object):void{ switch (_arg1.category){ case TYPE_PAGE: onPageItem(_arg1); break; case TYPE_URL: loadExternalLink(_arg1); break; case TYPE_POPUP: loadPopup(_arg1); break; case TYPE_TREE: break; }; } private function loadExternalLink(_arg1:Object=null):void{ var _local2:Object; var _local3:Object; var _local4:String; var _local5:String; var _local6:String; if (_arg1 != null){ _local2 = null; _local3 = _arg1.link; _local4 = _local3.url; if (((!((_local3.url == undefined))) || (!((_local3.url == null))))){ _local5 = _local4.substr(0, 4); _local6 = ""; if (_local5 == "www."){ _local6 = "web"; }; _c.loadURL(_local4, _local6, _local2, false); }; }; } public function drawMenuItem():void{ var _local1:MovieClip; var _local2:SimpleButton; _objData = _c.model.getExternalTocData(); Controller.instance.view.advanceExternalTOC.advanceList.removeAllChildren(); if (_bookName == TEXT_BOOK){ _advanceMenu.createMenu(_objData.textBook, onListItemClick); _btnTextBook.setState(CustomButton.STATE_SELECTED); _btnWorkBook.setState(CustomButton.STATE_NORMAL); if (((Config.EXTERNAL_TOC_PROPERTIES.bSpreadMode) && (!(_bLaunched)))){ _local1 = (_displayList.getChildByName("mcItemContainer") as MovieClip); _local2 = (Sprite(_local1.getChildByName("item0")).getChildByName("btnBar") as SimpleButton); _local2.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); _bLaunched = true; }; } else { if (_bookName == WORK_BOOK){ _advanceMenu.createMenu(_objData.workBook, onListItemClick); _btnTextBook.setState(CustomButton.STATE_NORMAL); _btnWorkBook.setState(CustomButton.STATE_SELECTED); }; }; _advanceMenu.advanceList.updateAdvanceListScrollBar(); } } }//package view.AdvanceFeatures.AdvanceToc
Section 123
//AdvanceList (view.AdvanceFeatures.AdvanceToc.AdvanceList) package view.AdvanceFeatures.AdvanceToc { import controller.*; import flash.events.*; import flash.display.*; import view.*; import model.*; import flash.text.*; public class AdvanceList extends List { private const VERTICAL_SPACE:Number = 10; private const DATA_OBJECT_NAME:String = "data"; private var _advanceTree:AdvanceTree; private var _currentBtn:MovieClip; private var _blnScrollUpdated:Boolean; private var _rightPanelItem:Sprite; private var _objAdvanceMenuItem:CreateAdvanceMenuItem; private var _instance:DisplayObject; private var _list:AdvanceList; public function AdvanceList(_arg1:DisplayObject){ super(_arg1); _instance = _arg1; _blnScrollUpdated = false; } private function setSelectedState():void{ _objAdvanceMenuItem.parentMenu.showAsSelected(_currentBtn); } public function updateAdvanceListScrollBar():void{ _scrollbars.verticalScroll.reset(); _scrollbars.horizontalScroll.reset(); updateScrollbars(); } public function clearAllItems():void{ while (_itemContainer.numChildren > 0) { _itemContainer.removeChildAt(0); }; _itemsCount = 0; } private function onAdvancedItemClick(_arg1:Event):void{ Controller.instance.tracer("onAdvancedItemClick===="); var _local2:SimpleButton = (_arg1.currentTarget as SimpleButton); var _local3:MenuItemData = this.getDataObj(_local2); _currentBtn = (_local2.parent.getChildByName("btnState") as MovieClip); setSelectedState(); _callBackFunc.apply(null, [_local3]); } private function adjustWrappedAdvanceBtn():void{ var _local1:Sprite; var _local2:TextField; var _local3:TextField; var _local4:SimpleButton; var _local5:MovieClip; var _local6:MovieClip; var _local9:Number; var _local10:Number; Controller.instance.tracer("!!!!!!!adjustWrappedAdvanceBtn"); var _local7:Number = (_list.getChildByName("mcMask").width - 15); var _local8:int; while (_local8 < _itemContainer.numChildren) { _local1 = (_itemContainer.getChildAt(_local8) as Sprite); _local9 = _local1.getChildByName("data")["index"]; if (_local9 == 0){ _local1.x = 10; }; _local2 = (_local1.getChildByName("txtResult") as TextField); _local3 = (_local1.getChildByName("txtDescription") as TextField); _local4 = (_local1.getChildByName("btnBar") as SimpleButton); _local5 = (_local1.getChildByName("btnState") as MovieClip); _local6 = (_local1.getChildByName("mcBG") as MovieClip); _local3.y = (_local2.height + 2); _local10 = (_local3.height + _local2.height); _local2.width = _local7; _local4.width = _local7; _local5.width = _local7; _local6.width = _local7; _local4.height = _local10; _local5.height = _local10; _local6.height = _local10; _local8++; }; } public function addCallBackForAdvanceTOC(_arg1:Function):void{ _callBackFunc = _arg1; } public function adjustAdvanceBtn(_arg1:Boolean=false):void{ var _local3:Sprite; var _local4:TextField; var _local5:TextField; var _local6:SimpleButton; var _local7:MovieClip; var _local8:MovieClip; if (Config.WRAPPED_ADVANCE_TOC_TEXT){ adjustWrappedAdvanceBtn(); return; }; var _local2:Number = 185; var _local9:int; while (_local9 < _itemContainer.numChildren) { _local3 = (_itemContainer.getChildAt(_local9) as Sprite); _local4 = (_local3.getChildByName("txtResult") as TextField); if (_local2 < _local4.width){ _local2 = (_local4.width + 5); }; _local9++; }; _local9 = 0; while (_local9 < _itemContainer.numChildren) { _local3 = (_itemContainer.getChildAt(_local9) as Sprite); _local5 = (_local3.getChildByName("txtDescription") as TextField); _local6 = (_local3.getChildByName("btnBar") as SimpleButton); _local7 = (_local3.getChildByName("btnState") as MovieClip); _local8 = (_local3.getChildByName("mcBG") as MovieClip); if (_arg1){ _local6.width = (_local2 + 5); _local7.width = (_local2 + 5); _local8.width = (_local2 + 5); }; _local9++; }; } public function removeAllChildren():void{ while (_itemContainer.numChildren > 0) { _itemContainer.removeChildAt(0); }; _itemsCount = 0; } private function createListItem(_arg1:Object=null):void{ var _local5:TextField; var _local6:TextField; var _local7:SimpleButton; var _local8:MovieClip; var _local9:MovieClip; var _local13:Number; var _local15:Sprite; var _local2:Sprite = new ListItem(); _local2.name = ("item" + String(_itemsCount)); var _local3:String = _arg1.title; var _local4 = ""; var _local10:Sprite = new Sprite(); if (_arg1.description != null){ _local4 = _arg1.description; }; var _local11:int = _itemContainer.numChildren; var _local12:MenuItemData = new MenuItemData(); _local12.name = DATA_OBJECT_NAME; _local12.index = _arg1.index; _local12.category = _arg1.category; _local12.link = _arg1.link; if ((((_arg1.chapter == undefined)) || ((_arg1.chapter == null)))){ _local12.chapter = null; } else { _local12.chapter = _arg1.chapter; }; _local10 = _local2; _local5 = (_local10.getChildByName("txtResult") as TextField); _local6 = (_local10.getChildByName("txtDescription") as TextField); _local7 = (_local10.getChildByName("btnBar") as SimpleButton); _local8 = (_local10.getChildByName("btnState") as MovieClip); _local9 = (_local10.getChildByName("mcBG") as MovieClip); if (Config.WRAPPED_ADVANCE_TOC_TEXT == true){ _local5.wordWrap = true; _local6.wordWrap = true; }; _local5.htmlText = String(_local3); _local5.tabEnabled = false; _local5.mouseEnabled = false; _local5.autoSize = TextFieldAutoSize.LEFT; _local6.htmlText = String(_local4); _local6.tabEnabled = false; _local6.mouseEnabled = false; _local6.autoSize = TextFieldAutoSize.LEFT; _local8.visible = false; if (_local12.link != undefined){ _local7.addEventListener(MouseEvent.CLICK, onAdvancedItemClick, false, 0, true); } else { _local7.mouseEnabled = false; }; if (Number(_arg1.index) != 0){ _local13 = 180; } else { if (Number(_arg1.index) == 0){ _local13 = 205; }; }; if ((((_arg1.description == undefined)) || ((_arg1.description == null)))){ _local6.visible = false; _local6.y = 0; _local8.height = (_local5.height + 2); _local7.height = _local8.height; _local9.height = _local8.height; }; var _local14:Number = _itemContainer.height; if (_local11 > 0){ _local15 = (_itemContainer.getChildAt((_local11 - 1)) as Sprite); _local14 = (_local15.y + _local15.height); }; _local2.y = _local14; if (String(_arg1.space).toLowerCase() == "true"){ _local2.y = (_local2.y + VERTICAL_SPACE); }; _local10.addChild(_local12); _itemContainer.addChild(_local10); _itemsCount = (_itemsCount + 1); adjustAdvanceBtn(true); } public function createMenuItem(_arg1:AdvanceList, _arg2:Object, _arg3:CreateAdvanceMenuItem):void{ _list = _arg1; _itemContainer = (_list.getChildByName("mcItemContainer") as Sprite); _objAdvanceMenuItem = _arg3; switch (_arg2.category){ case AdvanceExternalTableOfContent.TYPE_SUBMENU: case AdvanceExternalTableOfContent.TYPE_PAGE: case AdvanceExternalTableOfContent.TYPE_URL: case AdvanceExternalTableOfContent.TYPE_POPUP: createListItem(_arg2); break; case AdvanceExternalTableOfContent.TYPE_TREE: createTreeItem(_arg2); break; }; } private function createTreeItem(_arg1:Object):void{ _advanceTree = new AdvanceTree(_instance, _arg1, _callBackFunc, _objAdvanceMenuItem); } private function getDataObj(_arg1:SimpleButton):MenuItemData{ var _local2:Sprite = (_arg1.parent as Sprite); var _local3:MenuItemData = (_local2.getChildByName(DATA_OBJECT_NAME) as MenuItemData); return (_local3); } public function handleScrollBar():void{ _scrollbars = new Scrollbars(_list.getChildByName("mcScrollbars"), null); _scrollbars.registerListener(this); if (Config.WRAPPED_ADVANCE_TOC_TEXT){ Controller.instance.tracer(("before " + _scrollbars.horizontalScroll.visible)); _scrollbars.horizontalScroll.visible = false; Controller.instance.tracer(("after " + _scrollbars.horizontalScroll.visible)); }; } } }//package view.AdvanceFeatures.AdvanceToc
Section 124
//AdvanceTree (view.AdvanceFeatures.AdvanceToc.AdvanceTree) package view.AdvanceFeatures.AdvanceToc { import controller.*; import flash.events.*; import flash.display.*; import view.*; import model.*; import flash.utils.*; import flash.text.*; public class AdvanceTree extends List { private const CHILD_SPRITE_NAME:String = "childSprite"; private const STATUS_BTN_X:Number = 5; private const STATUS_BTN_Y:Number = 7; private const INITIAL_WIDTH_FOR_LIST_ITEM:Number = 183; private const BTN_CLOSE:String = "btnClose"; private const BG_LIST_ITEM:String = "mcBG"; private const POP_UP_CATEGORY:String = "popup"; private const LIST_ITEM_SPRITE_NAME:String = "listItemSprite"; private const BTN_ICON:String = "icon_btn"; private const TEXT_FIELD_NAME:String = "txtResult"; private const PAGE_CATEGORY:String = "page"; private const BTN_SELECTED_STATE:String = "btnState"; private const OPEN_STATE:String = "open"; private const DESCRIPTION_TEXT_FIELD_NAME:String = "txtDescription"; private const INDENTATION:int = 8; private const IDLE_STATE:String = "idle"; private const CLOSE_STATE:String = "close"; private const VERTICAL_SPACE:Number = 10; private const BTN_OPEN:String = "btnOpen"; private const URL_CATEGORY:String = "url"; private const BTN_BAR:String = "btnBar"; private const BTN_IDLE:String = "btnIdle"; private const TREE_CATEGORY:String = "tree"; private var _activeSelectedState:MovieClip;// = null private var _bIsTreeOpen:Boolean;// = false private var _objCreateAdvanceMenuItem:CreateAdvanceMenuItem;// = null private var _instance:DisplayObject;// = null private var _objDictionary:Dictionary;// = null private var _objTreeDataVO:TreeDataVO;// = null private static var ItemStatus:Class = AdvanceTree_ItemStatus; public function AdvanceTree(_arg1:DisplayObject, _arg2:Object, _arg3:Function, _arg4:CreateAdvanceMenuItem, _arg5:Boolean=false){ super(_arg1); _objCreateAdvanceMenuItem = _arg4; _callBackFunc = _arg3; _instance = _arg1; _bIsTreeOpen = _arg5; if (_arg2 == null){ trace("ERROR: Data object for creating tree is not valid."); return; }; _objDictionary = new Dictionary(); _objTreeDataVO = new TreeDataVO(_arg2); createTreeItem(_itemContainer, _objTreeDataVO); adjustBtnSize(_itemContainer); } private function adjustBtnSize(_arg1:Sprite):void{ var _local3:Sprite; var _local4:TextField; var _local5:SimpleButton; var _local6:MovieClip; var _local7:MovieClip; var _local2:Number = INITIAL_WIDTH_FOR_LIST_ITEM; var _local8:int; while (_local8 < _arg1.numChildren) { _local3 = (_arg1.getChildAt(_local8) as Sprite); _local4 = (_local3.getChildByName(TEXT_FIELD_NAME) as TextField); if (_local2 < _local4.width){ _local2 = (_local4.width + 20); }; _local8++; }; _local8 = 0; while (_local8 < _arg1.numChildren) { _local3 = (_arg1.getChildAt(_local8) as Sprite); _local5 = (_local3.getChildByName(BTN_BAR) as SimpleButton); _local5.width = (_local2 + 5); _local6 = (_local3.getChildByName(BG_LIST_ITEM) as MovieClip); _local6.width = (_local2 + 5); _local7 = (_local3.getChildByName(BTN_SELECTED_STATE) as MovieClip); _local7.width = (_local2 + 5); _local8++; }; } private function updateTree(_arg1:Sprite, _arg2:TreeDataVO):void{ switch (_arg2.treeState){ case OPEN_STATE: createChildren(_arg1, _arg2); break; case CLOSE_STATE: collapseChildren(_arg1, _arg2); break; default: break; }; } private function checkSelectedState(_arg1:Sprite):Boolean{ var _local2:MovieClip = getSelectedStateMc(_arg1); var _local3:Boolean = ((_local2)!=null) ? true : false; return (_local3); } private function onItemClick(_arg1:MouseEvent):void{ var _local2:SimpleButton = (_arg1.currentTarget as SimpleButton); var _local3:Sprite = (_local2.parent as Sprite); var _local4:TreeDataVO = getTreeVO(_local3); if (_local4.category == TREE_CATEGORY){ changeTreeState(_local3, _local4); updateTree(_local3, _local4); if (_local4.chapter != null){ launchLink(_local4); }; } else { launchLink(_local4); }; } private function storeTreeVO(_arg1:Sprite, _arg2:TreeDataVO):void{ if ((((_arg1 == null)) || ((_arg2 == null)))){ Controller.instance.tracer("Error: AdvanceTree.as: Parameters passed to storeTreeVO() function are not valid."); return; }; _objDictionary[_arg1] = _arg2; } private function showBranchAsUnselected():void{ _objCreateAdvanceMenuItem.parentMenu.showAsUnselected(); } private function getSelectedStateMc(_arg1:Sprite):MovieClip{ var _local2:MovieClip = (_arg1.getChildByName(BTN_SELECTED_STATE) as MovieClip); return (_local2); } private function createChildren(_arg1:Sprite, _arg2:TreeDataVO):void{ var _local3:Array; var _local4:Number; var _local5:Number; var _local6:int; var _local7:Sprite; var _local8:Number; var _local9:Object; if (_arg2.hasAnyChild){ _local3 = _arg2.link; _local4 = _arg2.count; _local5 = _local3.length; _local6 = (_arg2.level + 1); _local7 = new Sprite(); _local7.name = CHILD_SPRITE_NAME; _arg1.addChild(_local7); _local8 = 0; while (_local8 < _local5) { _local9 = _local3[_local8]; _arg2 = new TreeDataVO(_local9); _local4 = (_local4 + _local8); createTreeItem(_local7, _arg2, _arg1, _local6); _local8++; }; adjustBtnSize(_local7); updateTreePosition(_local7, _local7.height, true); }; } private function changeTreeState(_arg1:Sprite, _arg2:TreeDataVO):void{ var _local3:String; if ((((_arg2.category == TREE_CATEGORY)) && (_arg2.hasAnyChild))){ _local3 = _arg2.treeState; switch (_local3){ case OPEN_STATE: setTreeState(_arg1, CLOSE_STATE); break; case CLOSE_STATE: setTreeState(_arg1, OPEN_STATE); break; default: break; }; }; } private function showBranchAsSelected(_arg1:Sprite):void{ var _local2:MovieClip = getSelectedStateMc(_arg1); _objCreateAdvanceMenuItem.parentMenu.showAsSelected(_local2); _activeSelectedState = _local2; } private function getTreeVO(_arg1:Sprite):TreeDataVO{ return ((_objDictionary[_arg1] as TreeDataVO)); } private function updateTreePosition(_arg1:Sprite, _arg2:Number, _arg3:Boolean):void{ var _local8:Sprite; var _local4:Sprite = (_arg1.parent as Sprite); var _local5:int = (_local4.getChildIndex(_arg1) as int); var _local6:Number = _local4.numChildren; var _local7:int = (_local5 + 1); while (_local7 < _local6) { _local8 = (_local4.getChildAt(_local7) as Sprite); if (_arg3){ _local8.y = (_local8.y + _arg2); } else { _local8.y = (_local8.y - _arg2); }; _local7++; }; _objCreateAdvanceMenuItem.parentMenu.advanceList.updateAdvanceListScrollBar(); if (_local4 != _itemContainer){ updateTreePosition(_local4, _arg2, _arg3); }; } private function setTreeState(_arg1:Sprite, _arg2:String):void{ var _local5:MovieClip; var _local3:Sprite = (_arg1.getChildByName(BTN_ICON) as Sprite); var _local4:TreeDataVO = (getTreeVO(_arg1) as TreeDataVO); switch (_arg2){ case OPEN_STATE: _local3.getChildByName(BTN_OPEN).visible = true; _local3.getChildByName(BTN_CLOSE).visible = false; _local3.getChildByName(BTN_IDLE).visible = false; showBranchAsSelected(_arg1); if (_local4 != null){ _local4.treeState = OPEN_STATE; }; break; case CLOSE_STATE: _local3.getChildByName(BTN_OPEN).visible = false; _local3.getChildByName(BTN_CLOSE).visible = true; _local3.getChildByName(BTN_IDLE).visible = false; _local5 = getSelectedStateMc(_arg1); if (_local5 == _activeSelectedState){ showBranchAsUnselected(); }; if (_local4 != null){ _local4.treeState = CLOSE_STATE; }; break; case IDLE_STATE: _local3.getChildByName(BTN_OPEN).visible = false; _local3.getChildByName(BTN_CLOSE).visible = false; _local3.getChildByName(BTN_IDLE).visible = true; if (_local4 != null){ _local4.treeState = IDLE_STATE; }; break; default: break; }; } private function collapseChildren(_arg1:Sprite, _arg2:TreeDataVO):void{ var _local3:Sprite; var _local4:Number; if (_arg2.hasAnyChild){ _local3 = (_arg1.getChildByName(CHILD_SPRITE_NAME) as Sprite); _local4 = _local3.height; _arg1.removeChild(_local3); }; updateTreePosition(_arg1, _local4, false); } private function launchLink(_arg1:TreeDataVO):void{ var _local2:String = _arg1.category.toLowerCase(); _callBackFunc.apply(null, [_arg1]); } private function createTreeItem(_arg1:Sprite, _arg2:TreeDataVO, _arg3:Sprite=null, _arg4:int=0):void{ var _local17:Sprite; var _local18:MovieClip; var _local19:MovieClip; var _local20:MovieClip; var _local5:Sprite = new ListItem(); _local5.name = LIST_ITEM_SPRITE_NAME; var _local6:String = _arg2.title; var _local7:String = _arg2.description; var _local8:Number = 0; var _local9:Number = 0; if (_arg3 == null){ _local8 = _arg1.numChildren; _local9 = Number(_arg1.height); if (_local8 > 0){ _local17 = (_arg1.getChildAt((_local8 - 1)) as Sprite); _local9 = (_local17.y + _local17.height); }; } else { _local9 = _arg3.height; }; _arg2.count = _local8; _local5.y = _local9; if (_arg2.vSpace){ _local5.y = (_local5.y + VERTICAL_SPACE); }; var _local10:int; if (_arg4 > 0){ _local10 = (INDENTATION * _arg4); _arg2.level = (_arg4 + 1); }; var _local11:TextField = (_local5.getChildByName(TEXT_FIELD_NAME) as TextField); _local11.htmlText = String((" " + _local6)); _local11.x = _local10; _local11.tabEnabled = false; _local11.mouseEnabled = false; _local11.autoSize = TextFieldAutoSize.LEFT; if (Config.WRAPPED_ADVANCE_TOC_TEXT){ _local11.wordWrap = true; }; var _local12:MovieClip; if (checkSelectedState(_local5)){ _local12 = getSelectedStateMc(_local5); _local12.visible = false; }; var _local13:SimpleButton = (_local5.getChildByName(BTN_BAR) as SimpleButton); _local13.addEventListener(MouseEvent.CLICK, onItemClick); var _local14:TextField = (_local5.getChildByName(DESCRIPTION_TEXT_FIELD_NAME) as TextField); if (_local14 != null){ _local14.x = _local10; _local14.tabEnabled = false; _local14.mouseEnabled = false; _local14.autoSize = TextFieldAutoSize.LEFT; if (Config.WRAPPED_ADVANCE_TOC_TEXT){ _local14.wordWrap = true; }; if (_local7 != null){ _local14.htmlText = String((" " + _local7)); if (Config.WRAPPED_ADVANCE_TOC_TEXT){ _local14.y = _local11.height; _local13.height = (_local11.height + _local14.height); _local18 = (_local5.getChildByName(BG_LIST_ITEM) as MovieClip); _local18.height = _local13.height; _local19 = (_local5.getChildByName(BTN_SELECTED_STATE) as MovieClip); _local19.height = _local13.height; _local19.width = _local13.width; } else { _local13.height = (_local11.height + 2); }; } else { _local14.visible = false; _local14.y = 0; if (_local12 != null){ _local12.height = (_local11.height + 2); }; _local13.height = (_local11.height + 2); _local20 = (_local5.getChildByName(BG_LIST_ITEM) as MovieClip); _local20.height = (_local11.height + 2); }; }; var _local15:Sprite = new ItemStatus(); _local15.name = BTN_ICON; _local15.buttonMode = false; _local15.mouseEnabled = false; _local15.mouseChildren = false; _local15.x = (STATUS_BTN_X + _local10); _local15.y = STATUS_BTN_Y; _local5.addChild(_local15); _arg1.addChild(_local5); storeTreeVO(_local5, _arg2); var _local16:String; if (_arg2.hasAnyChild){ _local16 = (_bIsTreeOpen) ? OPEN_STATE : CLOSE_STATE; } else { _local16 = IDLE_STATE; }; setTreeState(_local5, _local16); } } }//package view.AdvanceFeatures.AdvanceToc
Section 125
//AdvanceTree_ItemStatus (view.AdvanceFeatures.AdvanceToc.AdvanceTree_ItemStatus) package view.AdvanceFeatures.AdvanceToc { import flash.display.*; import mx.core.*; public class AdvanceTree_ItemStatus extends SpriteAsset { public var btnZoomIn:DisplayObject; public var mcThumb:DisplayObject; public var mcContent:DisplayObject; public var mc_thumb:DisplayObject; public var mc_X:DisplayObject; public var mc_O:DisplayObject; public var mc_J:DisplayObject; public var mc_Y:DisplayObject; public var btnSrchMinimized:DisplayObject; public var btnHTML:DisplayObject; public var btnUp:DisplayObject; public var mc_T:DisplayObject; public var mcIconAnim:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnBar:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var btnTeacher:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var btnIdle:DisplayObject; public var mcPatch:DisplayObject; public var mcBG:DisplayObject; public var bg:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var txtLink:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var btnOpen:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnLinkBg:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var btnState:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcThemeClip:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcDot:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_B:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mc_K:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_R:DisplayObject; public var mc_U:DisplayObject; public var mc_V:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_L:DisplayObject; public var mc_D:DisplayObject; public var mc_N:DisplayObject; public var mc_W:DisplayObject; public var mc_P:DisplayObject; public var mc_Q:DisplayObject; public var mc_S:DisplayObject; public var mc_C:DisplayObject; public var txtWord:DisplayObject; public var mcGlossaryImage:DisplayObject; } }//package view.AdvanceFeatures.AdvanceToc
Section 126
//CreateAdvanceMenu (view.AdvanceFeatures.AdvanceToc.CreateAdvanceMenu) package view.AdvanceFeatures.AdvanceToc { import controller.*; import flash.display.*; public class CreateAdvanceMenu { private var _nIndex:int; private var _callBack:Function; private var _c:Controller; private var _arrToc:Array; private var _menuItem:CreateAdvanceMenuItem; private var _isScrollCreated:Boolean; private var _activeSelectedState:MovieClip; private var _list:AdvanceList; public function CreateAdvanceMenu(_arg1:DisplayObject){ Controller.instance.tracer("TEXT_BOOK!!!!"); _c = Controller.instance; _list = new AdvanceList(_arg1); _menuItem = new CreateAdvanceMenuItem(_list, this); _isScrollCreated = false; } public function get advanceList():AdvanceList{ return (_list); } public function showAsUnselected():void{ if (_activeSelectedState !== null){ _activeSelectedState.visible = false; _activeSelectedState = null; }; } public function showAsSelected(_arg1:MovieClip):void{ showAsUnselected(); _arg1.visible = true; _activeSelectedState = _arg1; } public function createMenu(_arg1:Array, _arg2:Function, _arg3:Number=0):void{ _arrToc = new Array(); _arrToc = _arg1; _callBack = _arg2; _nIndex = _arg3; _list.addCallBackForAdvanceTOC(_callBack); var _local4:Number = _arrToc.length; if (_nIndex > 0){ _list.clearAllItems(); }; var _local5:Number = 0; while (_local5 < _local4) { _menuItem.drawMenuItem(_arrToc[_local5], _nIndex); _local5++; }; if (!_isScrollCreated){ advanceList.handleScrollBar(); _isScrollCreated = true; }; } } }//package view.AdvanceFeatures.AdvanceToc
Section 127
//CreateAdvanceMenuItem (view.AdvanceFeatures.AdvanceToc.CreateAdvanceMenuItem) package view.AdvanceFeatures.AdvanceToc { public class CreateAdvanceMenuItem { private var _menuObject:Object; private var _objCreateAdvanceMenu:CreateAdvanceMenu; private var _list:AdvanceList; public function CreateAdvanceMenuItem(_arg1:AdvanceList, _arg2:CreateAdvanceMenu){ _list = _arg1; this.parentMenu = _arg2; } public function get parentMenu():CreateAdvanceMenu{ return (_objCreateAdvanceMenu); } public function set parentMenu(_arg1:CreateAdvanceMenu):void{ _objCreateAdvanceMenu = _arg1; } public function drawMenuItem(_arg1:Object, _arg2:Number):void{ _menuObject = new Object(); _menuObject = _arg1; _menuObject.index = _arg2; _list.createMenuItem(_list, _menuObject, this); } } }//package view.AdvanceFeatures.AdvanceToc
Section 128
//MenuItemData (view.AdvanceFeatures.AdvanceToc.MenuItemData) package view.AdvanceFeatures.AdvanceToc { import flash.display.*; public class MenuItemData extends Sprite { private var _nIndex:Number; private var _chapter:Object; private var _link; private var _category:String; public function get link(){ return (_link); } public function set index(_arg1:Number):void{ _nIndex = _arg1; } public function set chapter(_arg1:Object):void{ _chapter = _arg1; } public function get index():Number{ return (_nIndex); } public function get chapter():Object{ return (_chapter); } public function set link(_arg1):void{ _link = _arg1; } public function set category(_arg1:String):void{ _category = _arg1; } public function get category():String{ return (_category); } } }//package view.AdvanceFeatures.AdvanceToc
Section 129
//CursorManager (view.AdvanceFeatures.CustomCursor.CursorManager) package view.AdvanceFeatures.CustomCursor { import controller.*; import flash.events.*; import flash.display.*; import model.*; import flash.ui.*; public class CursorManager { private var _arrRegisterMouseOutListener:Array; private var _arrRegisterMouseMoveListener:Array; private var _arrRegisterMouseOverListener:Array; private var _arrRegisterMouseUpListener:Array; private var _arrRegisterMouseDownListener:Array; private var _arrRegisterItems:Array; private var _mcCursorClip:MovieClip;// = null private var _mcCursor:MovieClip;// = null private var _strCustomCursorFrameId:String;// = null private var _mcCustomCursorArea:MovieClip;// = null private var _strCursorAreaScope:String;// = null private static var c_objCursor:CursorManager = null; private static var CustomCursor:Class = CursorManager_CustomCursor; public function CursorManager(_arg1:SingletonEnforcerer){ if (_arg1 == null){ trace("Error: Singleton class. Can't create instance outside the class. Use CursorManager.getInstance()"); return; }; init(); } private function onCursorMouseMove(_arg1:MouseEvent):void{ var _local2:Controller = Controller.instance; _mcCursor.x = _local2.stage.mouseX; _mcCursor.y = _local2.stage.mouseY; dispatchRegisterEvents(_arg1, _arrRegisterMouseMoveListener); if (((!(_mcCursorClip.visible)) && ((Constants.AREA_CONTENT == _strCursorAreaScope)))){ if (Constants.CONTENT_CLICK_SPACE != _arg1.target.name){ Mouse.show(); _mcCursorClip.visible = false; } else { Mouse.hide(); _mcCursorClip.visible = true; }; }; _arg1.updateAfterEvent(); } public function registerItemListeners(_arg1:Array):void{ _arrRegisterItems = _arg1; var _local2:int = _arrRegisterItems.length; var _local3:int; while (_local3 < _local2) { switch (_arg1[_local3].eventId){ case "mouseOver": _arrRegisterMouseOverListener.push(_arg1[_local3]); break; case "mouseOut": _arrRegisterMouseOutListener.push(_arg1[_local3]); break; case "mouseMove": _arrRegisterMouseMoveListener.push(_arg1[_local3]); break; case "mouseUp": _arrRegisterMouseUpListener.push(_arg1[_local3]); break; case "mouseDown": _arrRegisterMouseDownListener.push(_arg1[_local3]); break; default: Controller.instance.tracer("not registered in cursor manager class"); }; _local3++; }; } private function onCursorMouseOver(_arg1:MouseEvent):void{ if (Constants.AREA_CONTENT == _strCursorAreaScope){ if (Constants.CONTENT_CLICK_SPACE != _arg1.target.name){ Mouse.show(); _mcCursorClip.visible = false; } else { Mouse.hide(); _mcCursorClip.visible = true; if (_arg1.buttonDown == true){ _mcCursor.gotoAndStop(Constants.DOWN_STATE); } else { _mcCursor.gotoAndStop(Constants.UP_STATE); }; }; dispatchRegisterEvents(_arg1, _arrRegisterMouseOverListener); }; } private function startRenderingProcess():void{ _mcCursorClip.addEventListener(Event.ENTER_FRAME, onRenderEnterFrame); } private function dispatchRegisterEvents(_arg1:MouseEvent, _arg2:Array):void{ var _local3:int = _arg2.length; var _local4:int; while (_local4 < _local3) { _arg2[_local4].callBackFunction.apply(null, [_arg1]); _local4++; }; } private function onRender(_arg1:Event):void{ var _local2:Boolean; _mcCursorClip.removeEventListener(Event.RENDER, onRender); _mcCursor = (_mcCursorClip[("mc_" + _strCustomCursorFrameId)] as MovieClip); if (_mcCursor != null){ _local2 = hasLabel(_mcCursor, Constants.UP_STATE); if (_local2 == true){ _mcCursor.gotoAndStop(Constants.UP_STATE); } else { _mcCursor.gotoAndStop(1); }; } else { Controller.instance.tracer("mc cursor clip not found in frames contain states"); }; setCustomCursorArea(); } private function init():void{ _mcCursorClip = new CustomCursor(); if (_mcCursorClip != null){ _mcCursorClip.visible = false; _mcCursorClip.gotoAndStop(1); _mcCursorClip.mouseEnabled = false; _mcCursorClip.mouseChildren = false; Controller.instance.addChild(_mcCursorClip); } else { Controller.instance.tracer("mcCustomCursorClip ----- custom cursor clip not found in library fla"); return; }; _arrRegisterMouseMoveListener = new Array(); _arrRegisterMouseUpListener = new Array(); _arrRegisterMouseDownListener = new Array(); _arrRegisterMouseOverListener = new Array(); _arrRegisterMouseOutListener = new Array(); _arrRegisterItems = new Array(); } private function onCursorMouseDown(_arg1:MouseEvent):void{ _mcCursor.gotoAndStop(Constants.DOWN_STATE); dispatchRegisterEvents(_arg1, _arrRegisterMouseDownListener); } private function onCursorMouseUp(_arg1:MouseEvent):void{ _mcCursor.gotoAndStop(Constants.UP_STATE); dispatchRegisterEvents(_arg1, _arrRegisterMouseUpListener); } public function getCustomCursor():MovieClip{ return (_mcCursorClip); } private function removeRegisterEventListener():void{ var _local1:int = _arrRegisterItems.length; var _local2:int; while (_local2 < _local1) { _mcCustomCursorArea.removeEventListener(MouseEvent.MOUSE_MOVE, _arrRegisterItems[_local2].callBackFunction); _mcCustomCursorArea.removeEventListener(MouseEvent.MOUSE_OVER, _arrRegisterItems[_local2].callBackFunction); _mcCustomCursorArea.removeEventListener(MouseEvent.MOUSE_OUT, _arrRegisterItems[_local2].callBackFunction); _mcCustomCursorArea.removeEventListener(MouseEvent.MOUSE_DOWN, _arrRegisterItems[_local2].callBackFunction); _mcCustomCursorArea.removeEventListener(MouseEvent.MOUSE_UP, _arrRegisterItems[_local2].callBackFunction); _local2++; }; } private function addCursorListeners():void{ _mcCustomCursorArea.addEventListener(MouseEvent.MOUSE_MOVE, onCursorMouseMove, false, 0, true); _mcCustomCursorArea.addEventListener(MouseEvent.MOUSE_OVER, onCursorMouseOver, false, 0, true); _mcCustomCursorArea.addEventListener(MouseEvent.MOUSE_OUT, onCursorMouseOut, false, 0, true); _mcCustomCursorArea.addEventListener(MouseEvent.MOUSE_DOWN, onCursorMouseDown, false, 0, true); _mcCustomCursorArea.addEventListener(MouseEvent.MOUSE_UP, onCursorMouseUp, false, 0, true); } public function setCustomCursor(_arg1:String, _arg2:String, _arg3:Boolean):void{ _strCustomCursorFrameId = _arg1; _strCursorAreaScope = _arg2; removeCursorListeners(); Mouse.show(); if (_arg3 == false){ Controller.instance.tracer(("bShow " + _mcCursorClip)); _mcCursorClip.visible = false; return; }; var _local4:Boolean = hasLabel(_mcCursorClip, _strCustomCursorFrameId); if (_local4 == false){ Controller.instance.tracer("custom cursor frame label not found in CustomCursor class"); return; }; Controller.instance.tracer(("_strCustomCursorFrameId " + _strCustomCursorFrameId)); _mcCursorClip.gotoAndStop(_strCustomCursorFrameId); startRenderingProcess(); } private function onRenderEnterFrame(_arg1:Event):void{ _mcCursorClip.removeEventListener(Event.ENTER_FRAME, onRenderEnterFrame); _mcCursorClip.addEventListener(Event.RENDER, onRender); _mcCursorClip.stage.invalidate(); } private function onCursorMouseOut(_arg1:MouseEvent):void{ Mouse.show(); _mcCursorClip.visible = false; dispatchRegisterEvents(_arg1, _arrRegisterMouseOutListener); } private function setCustomCursorArea():void{ var _local1:String = _strCursorAreaScope; var _local2:Controller = Controller.instance; if (_local1 != null){ switch (_local1){ case Constants.AREA_CONTENT: _mcCustomCursorArea = (_local2.view.content.holder as MovieClip); break; default: Controller.instance.tracer("default case strCursorAreaFrameId"); break; }; }; if (_mcCustomCursorArea != null){ addCursorListeners(); } else { Controller.instance.tracer("_mcCustomCursorArea not found in CursorManager Class"); }; } private function stopRendering():void{ if (_mcCursorClip != null){ _mcCursorClip.removeEventListener(Event.ENTER_FRAME, onRenderEnterFrame); _mcCursorClip.removeEventListener(Event.RENDER, onRender); }; } private function removeCursorListeners():void{ if (_mcCustomCursorArea != null){ _mcCustomCursorArea.removeEventListener(MouseEvent.MOUSE_MOVE, onCursorMouseMove); _mcCustomCursorArea.removeEventListener(MouseEvent.MOUSE_OVER, onCursorMouseOver); _mcCustomCursorArea.removeEventListener(MouseEvent.MOUSE_OUT, onCursorMouseOut); _mcCustomCursorArea.removeEventListener(MouseEvent.MOUSE_DOWN, onCursorMouseDown); _mcCustomCursorArea.removeEventListener(MouseEvent.MOUSE_UP, onCursorMouseUp); removeRegisterEventListener(); }; stopRendering(); } public function hasLabel(_arg1:MovieClip, _arg2:String):Boolean{ var _local3:int; while (_local3 < _arg1.currentLabels.length) { if (_arg1.currentLabels[_local3].name == _arg2){ return (true); }; _local3++; }; return (false); } public static function getInstance():CursorManager{ if (CursorManager.c_objCursor == null){ CursorManager.c_objCursor = new CursorManager(new SingletonEnforcerer()); }; return (CursorManager.c_objCursor); } } }//package view.AdvanceFeatures.CustomCursor class SingletonEnforcerer { private function SingletonEnforcerer(){ } }
Section 130
//CursorManager_CustomCursor (view.AdvanceFeatures.CustomCursor.CursorManager_CustomCursor) package view.AdvanceFeatures.CustomCursor { import flash.display.*; import mx.core.*; public class CursorManager_CustomCursor extends MovieClipAsset { public var mc_Z:DisplayObject; public var mc_H:DisplayObject; public var mcContent:DisplayObject; public var mc_K:DisplayObject; public var mc_thumb:DisplayObject; public var btnHTML:DisplayObject; public var btnTeacher:DisplayObject; public var mcGlossaryImage:DisplayObject; public var mc_W:DisplayObject; public var btnUp:DisplayObject; public var mc_I:DisplayObject; public var btnZoomIn:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var mcPatch:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var mcView:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var mcDragArea:DisplayObject; public var txtWord:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcIndexList:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mcAudio:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_A:DisplayObject; public var mc_R:DisplayObject; public var mc_L:DisplayObject; public var mc_U:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mc_P:DisplayObject; public var mcThumb:DisplayObject; public var btnExit2:DisplayObject; public var mc_S:DisplayObject; public var mc_T:DisplayObject; public var mc_D:DisplayObject; public var mc_V:DisplayObject; public var mc_O:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_J:DisplayObject; public var mc_B:DisplayObject; public var mc_C:DisplayObject; public var mc_N:DisplayObject; public var mc_Y:DisplayObject; } }//package view.AdvanceFeatures.CustomCursor
Section 131
//CustomGrabber (view.AdvanceFeatures.CustomTools.CustomGrabber) package view.AdvanceFeatures.CustomTools { import controller.*; import flash.events.*; import flash.display.*; import model.*; import view.AdvanceFeatures.CustomCursor.*; import flash.ui.*; import view.AdvanceFeatures.GlobalNotes.*; public class CustomGrabber { private var _objScrollPane:CustomScrollPane;// = null private var _iInitMouseY:int;// = 0 private var _bDragging:Boolean;// = false private var _iInitMouseX:int;// = 0 private var _mcCursorContainer:MovieClip;// = null private var _mcGrabCursor:MovieClip;// = null private static var c_objCustomGrabber:CustomGrabber = null; public function CustomGrabber(_arg1:SingletonEnforcerer):void{ if (_arg1 == null){ trace("Error: Singleton class. Can't create instance outside the class. Use Zoom.getInstance()"); return; }; } private function onMouseOut(_arg1:MouseEvent):void{ _bDragging = false; _mcGrabCursor.visible = false; Mouse.show(); _arg1.updateAfterEvent(); } public function startProcess(_arg1:MovieClip, _arg2:CustomScrollPane):void{ Controller.instance.view.toolbar.onEditMode(true, Constants.PANEL_GRABBER); _mcGrabCursor = CursorManager.getInstance().getCustomCursor(); _mcCursorContainer = _arg1; _objScrollPane = _arg2; CursorManager.getInstance().setCustomCursor(Constants.GRABBER_CURSOR, null, true); Controller.instance.view.content.currentCustomCursor = Constants.PANEL_GRABBER; addListeners(); } private function onMouseMove(_arg1:MouseEvent):void{ var _local2:int; var _local3:int; var _local4:Number; _mcGrabCursor.x = Controller.instance.stage.mouseX; _mcGrabCursor.y = Controller.instance.stage.mouseY; if (_bDragging){ _local2 = _mcCursorContainer.mouseX; _local3 = _mcCursorContainer.mouseY; _local4 = 0; if (_local2 > _iInitMouseX){ if (_objScrollPane.hasHorizontalScrollbar){ _local4 = -2.5; }; } else { if (_local2 < _iInitMouseX){ if (_objScrollPane.hasHorizontalScrollbar){ _local4 = 2.5; }; }; }; if (_local4 != 0){ _objScrollPane.hScrollBar.moveTarget(_local4); _local4 = 0; }; if (_local3 > _iInitMouseY){ if (_objScrollPane.hasVerticalScrollbar){ _local4 = -2.5; }; } else { if (_local3 < _iInitMouseY){ if (_objScrollPane.hasVerticalScrollbar){ _local4 = 2.5; }; }; }; if (_local4 != 0){ _objScrollPane.vScrollBar.moveTarget(_local4); }; }; _arg1.updateAfterEvent(); } private function onMouseUp(_arg1:MouseEvent):void{ _bDragging = false; } private function onMouseOver(_arg1:MouseEvent):void{ _mcCursorContainer.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove); _mcGrabCursor.visible = true; Mouse.hide(); _arg1.updateAfterEvent(); } private function onMouseDown(_arg1:MouseEvent):void{ _iInitMouseX = _mcCursorContainer.mouseX; _iInitMouseY = _mcCursorContainer.mouseY; _bDragging = true; } public function stopProcess():void{ if (_mcCursorContainer != null){ Controller.instance.view.toolbar.onEditMode(false); CursorManager.getInstance().setCustomCursor(Constants.GRABBER_CURSOR, null, false); removeListeners(); _bDragging = false; _mcGrabCursor.visible = false; Mouse.show(); Controller.instance.view.content.currentCustomCursor = null; _mcCursorContainer = null; _mcGrabCursor = null; _objScrollPane = null; }; } private function removeListeners():void{ _mcCursorContainer.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove); _mcCursorContainer.stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp); _mcCursorContainer.removeEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); _mcCursorContainer.removeEventListener(MouseEvent.MOUSE_OVER, onMouseOver); _mcCursorContainer.removeEventListener(MouseEvent.MOUSE_OUT, onMouseOut); } private function addListeners():void{ _mcCursorContainer.stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); _mcCursorContainer.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); _mcCursorContainer.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver); _mcCursorContainer.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); } public static function getInstance():CustomGrabber{ if (CustomGrabber.c_objCustomGrabber == null){ CustomGrabber.c_objCustomGrabber = new CustomGrabber(new SingletonEnforcerer()); }; return (CustomGrabber.c_objCustomGrabber); } } }//package view.AdvanceFeatures.CustomTools class SingletonEnforcerer { private function SingletonEnforcerer(){ } }
Section 132
//CustomToolHandler (view.AdvanceFeatures.CustomTools.CustomToolHandler) package view.AdvanceFeatures.CustomTools { import controller.*; import flash.events.*; import flash.display.*; import view.*; import model.*; import view.AdvanceFeatures.MP3Player.*; public class CustomToolHandler extends EventDispatcher { public const CHANGE_ITEM:String = "change_item"; public const CLOSE:String = "close"; private var _objNext:CustomButton;// = null private var _objTranscript:CustomButton;// = null private var _nMinZoom:Number;// = 0 private var _objZoomOut:CustomButton;// = null private var _mcToolBar:MovieClip;// = null private var _objZoomIn:CustomButton;// = null private var _objMP3Player:MP3Player;// = null private var _objToolData:Object;// = null private var _objCallBack:Object;// = null private var _objBack:CustomButton;// = null public function CustomToolHandler(_arg1:MovieClip, _arg2:Object):void{ var _local3:MovieClip; var _local4:MovieClip; var _local5:MovieClip; super(); if (_arg1 != null){ _mcToolBar = _arg1; _objCallBack = _arg2; _local3 = (_mcToolBar.getChildByName("mcTranscript") as MovieClip); if (_local3 != null){ _local3.visible = false; }; _local4 = (_mcToolBar.getChildByName("btnBack") as MovieClip); if (_local4 != null){ _local4.visible = false; }; _local5 = (_mcToolBar.getChildByName("btnNext") as MovieClip); if (_local5 != null){ _local5.visible = false; }; }; } private function initToolBar():void{ var _local3:MovieClip; var _local4:MovieClip; var _local5:MovieClip; var _local1:MovieClip = (_mcToolBar.getChildByName("btnZoomIn") as MovieClip); if (_local1 != null){ _objZoomIn = new CustomButton(_local1); _objZoomIn.addEventListener(MouseEvent.CLICK, onZoomIn); _objZoomIn.setState(CustomButton.STATE_NORMAL); _nMinZoom = _objCallBack.zoom; }; var _local2:MovieClip = (_mcToolBar.getChildByName("btnZoomOut") as MovieClip); if (_local2 != null){ _objZoomOut = new CustomButton(_local2); _objZoomOut.addEventListener(MouseEvent.CLICK, onZoomOut); _objZoomOut.setState(CustomButton.STATE_NORMAL); }; updateZoomButtonState(); if (_objToolData != null){ if (((!((_objToolData.path == null))) && (!((_objToolData.path == ""))))){ addAudioPlayer(_objToolData.path); }; _local3 = (_mcToolBar.getChildByName("mcTranscript") as MovieClip); if (_local3 != null){ if (_objToolData.transcript != null){ _local3.visible = true; _objTranscript = new CustomButton(_local3); _objTranscript.addEventListener(MouseEvent.CLICK, onTranscript); _objTranscript.setState(CustomButton.STATE_NORMAL); }; }; if (_objToolData.totalItems != null){ _local4 = (_mcToolBar.getChildByName("btnBack") as MovieClip); if (_local4 != null){ _local4.visible = true; _objBack = new CustomButton(_local4); _objBack.addEventListener(MouseEvent.CLICK, onBackClicked); _objBack.setState(CustomButton.STATE_NORMAL); }; _local5 = (_mcToolBar.getChildByName("btnNext") as MovieClip); if (_local5 != null){ _local5.visible = true; _objNext = new CustomButton(_local5); _objNext.addEventListener(MouseEvent.CLICK, onNextClicked); _objNext.setState(CustomButton.STATE_NORMAL); }; updateNavigationButtonStates(); }; }; } private function onZoomOut(_arg1:CustomButton):void{ var _local2:Number; if (_objCallBack.zoom > _nMinZoom){ _local2 = (_objCallBack.zoom - Config.CUSTOM_TOOLBAR_DATA.ZOOM_AMT); if (_local2.toFixed(4) <= _nMinZoom.toFixed(4)){ _local2 = _nMinZoom; }; _objCallBack.zoom = _local2; updateZoomButtonState(); }; } private function onTranscriptClose(_arg1:Event):void{ _mcToolBar.mouseEnabled = true; _mcToolBar.mouseChildren = true; dispatchEvent(new Event(CLOSE)); } public function destroy():void{ removeListeners(); if (_objMP3Player != null){ _objMP3Player.killAudio(); _objMP3Player.destroy(); _mcToolBar.removeChild(_objMP3Player); _objMP3Player = null; }; if (_objTranscript != null){ _objTranscript.removeEventListener(MouseEvent.CLICK); _objTranscript = null; }; _objToolData = null; _mcToolBar = null; _objCallBack = null; } private function onZoomIn(_arg1:CustomButton):void{ var _local3:Number; var _local2:Number = (_nMinZoom + (Config.CUSTOM_TOOLBAR_DATA.ZOOM_AMT * Config.CUSTOM_TOOLBAR_DATA.NUM_ZOOM)); if (_objCallBack.zoom < _local2){ _local3 = (_objCallBack.zoom + Config.CUSTOM_TOOLBAR_DATA.ZOOM_AMT); if (_local3.toFixed(4) >= _local2.toFixed(4)){ _local3 = _local2; }; _objCallBack.zoom = _local3; updateZoomButtonState(); }; } public function get currentIndex():int{ return (_objToolData.currentIndex); } private function removeListeners():void{ if (_objZoomIn != null){ _objZoomIn.removeEventListener(MouseEvent.CLICK); }; if (_objZoomOut != null){ _objZoomOut.removeEventListener(MouseEvent.CLICK); }; if (_objNext != null){ _objNext.removeEventListener(MouseEvent.CLICK); }; if (_objBack != null){ _objBack.removeEventListener(MouseEvent.CLICK); }; if (_objTranscript != null){ _objTranscript.removeEventListener(MouseEvent.CLICK); }; } private function onBackClicked(_arg1:CustomButton):void{ _objToolData.currentIndex--; updateNavigationButtonStates(); dispatchEvent(new Event(CHANGE_ITEM)); } private function onNextClicked(_arg1:CustomButton):void{ _objToolData.currentIndex++; updateNavigationButtonStates(); dispatchEvent(new Event(CHANGE_ITEM)); } private function updateZoomButtonState():void{ if (_objCallBack.zoom <= _nMinZoom){ _objZoomOut.setState(CustomButton.STATE_DISABLED); _objZoomOut.setEnabled(false); } else { _objZoomOut.setState(CustomButton.STATE_NORMAL); _objZoomOut.setEnabled(true); }; if (_objCallBack.zoom >= (_nMinZoom + (Config.CUSTOM_TOOLBAR_DATA.ZOOM_AMT * Config.CUSTOM_TOOLBAR_DATA.NUM_ZOOM))){ _objZoomIn.setState(CustomButton.STATE_DISABLED); _objZoomIn.setEnabled(false); } else { _objZoomIn.setState(CustomButton.STATE_NORMAL); _objZoomIn.setEnabled(true); }; } public function setCustomTool(_arg1:Object):void{ if (_mcToolBar != null){ _objToolData = _arg1; initToolBar(); }; } private function updateNavigationButtonStates():void{ if (_objToolData.currentIndex == 0){ _objBack.setState(CustomButton.STATE_DISABLED); _objBack.setEnabled(false); } else { _objBack.setState(CustomButton.STATE_NORMAL); _objBack.setEnabled(true); }; if (_objToolData.currentIndex == (_objToolData.totalItems - 1)){ _objNext.setState(CustomButton.STATE_DISABLED); _objNext.setEnabled(false); } else { _objNext.setState(CustomButton.STATE_NORMAL); _objNext.setEnabled(true); }; } private function onTranscript(_arg1:CustomButton):void{ if (Config.CUSTOM_TOOLBAR_DATA.GRABBER){ CustomGrabber.getInstance().stopProcess(); }; if (_objMP3Player != null){ _objMP3Player.StopUp(); }; _mcToolBar.mouseEnabled = false; _mcToolBar.mouseChildren = false; var _local2:Object = Config.INTERNAL_POPUP_WINDOW_SETTINGS["TRANSCRIPT"]; Controller.instance.view.assetExplorer.open(_objToolData.transcript, _local2, "", null, null, null, true, _objToolData.transcript_audio); Controller.instance.view.assetExplorer.addEventListener("close", onTranscriptClose); } private function addAudioPlayer(_arg1:String):void{ var _local3:Array; var _local2:MovieClip = (_mcToolBar.getChildByName("mcAudioPlayerContainer") as MovieClip); if (_local2 != null){ _objMP3Player = new MP3Player(); _local3 = new Array(); _local3.push({path:_arg1}); _objMP3Player.storeAudioData(_local3); _objMP3Player.x = _local2.x; _objMP3Player.y = _local2.y; _mcToolBar.addChild(_objMP3Player); }; } } }//package view.AdvanceFeatures.CustomTools
Section 133
//ColorPanel (view.AdvanceFeatures.drawTool.ColorPanel) package view.AdvanceFeatures.drawTool { import controller.*; import flash.events.*; import flash.display.*; import view.*; import model.*; import event.*; public class ColorPanel extends WrappedDisplayObject { private var _objColorListDropDown:DropDown;// = null private var _instance:Sprite;// = null private var _strToolName:String;// = null private var _objToolData:Object;// = null private var _btnColorPanel:DisplayObject;// = null public function ColorPanel(_arg1:Sprite, _arg2:DisplayObject, _arg3:Object){ super(_arg1); _instance = (_arg1 as Sprite); _btnColorPanel = _arg2; _objToolData = new Object(); _objToolData = _arg3; init(); } private function enableColorPanel(_arg1:Boolean):void{ if (_arg1){ _objColorListDropDown.setDropDownControlState(CustomButton.STATE_NORMAL); } else { _objColorListDropDown.setDropDownControlState(CustomButton.STATE_DISABLED); }; } public function onItemClicked(_arg1:String=null, _arg2:Boolean=false):void{ var _local3:uint; var _local4:uint; if (_arg1 != null){ _local3 = _objToolData.color.length; _local4 = 0; while (_local4 < _local3) { if (_arg1 == _objToolData.color[_local4].itemId){ DrawData.getInstance().setCurrentColor(_objToolData.btnInstance, _objToolData.color[_local4].value); DrawTool.getInstance().color = _objToolData.color[_local4].value; break; }; _local4++; }; }; if (!_arg2){ _objColorListDropDown.setDropDownControlState(_arg1); enableColorPanel(true); }; } private function init():void{ _objColorListDropDown = new DropDown(_btnColorPanel, _instance, onItemClicked, false, false); _objColorListDropDown.addEventListener(Constants.DROPDOWN_CONTROL_CLICK, onDropDownClicked); _objColorListDropDown.selectedMenuItem(_objToolData.defaultColorId); if (_objToolData.groupWithColor){ CustomEventDispatcher.getInstance().addEventListener(CustomEvent.EDIT_MODE, editModeHandler); }; } private function onDropDownClicked(_arg1:Event):void{ var _local2:Object; var _local3:Object; switch (dropDownControlInstance.name){ case TBConsts.BTN_FREEHAND_PEN_COLOR: if (Controller.instance.view.toolbar.isEditPenBtnOn != true){ _local2 = Controller.instance.view.toolbar.getObject(TBConsts.BTN_FREEHAND_PEN); _local2.setState(CustomButton.STATE_SELECTED); Controller.instance.view.toolbar.onFreeHandPenClicked(_local2); }; break; case TBConsts.BTN_FREEHAND_HIGHLIGHTER_COLOR: if (Controller.instance.view.toolbar.isEditFreeHandHighlighterOn != true){ _local3 = Controller.instance.view.toolbar.getObject(TBConsts.BTN_FREEHAND_HIGHLIGHTER); _local3.setState(CustomButton.STATE_SELECTED); Controller.instance.view.toolbar.onFreeHandHighlighterClicked(_local3); }; break; case TBConsts.BTN_FREEHAND_SHAPE_COLOR: if (Controller.instance.view.toolbar.isEditFreeHandShapeOn != true){ Controller.instance.view.toolbar.onFreeHandShapeClicked(true); }; break; }; } public function get dropDownControlInstance():DisplayObject{ return (_objColorListDropDown.dropDownControlInstance); } private function editModeHandler(_arg1:CustomEvent):void{ if ((((_arg1.data.strActiveTool == _objToolData.btnInstance)) && ((MovieClip(dropDownControlInstance).currentLabel == CustomButton.STATE_NORMAL)))){ dropDownControlInstance.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); }; } } }//package view.AdvanceFeatures.drawTool
Section 134
//DrawData (view.AdvanceFeatures.drawTool.DrawData) package view.AdvanceFeatures.drawTool { import model.*; public class DrawData { private var _objShapeData:Object;// = null private var _objPenData:Object;// = null private var _objEraserData:Object;// = null private var _objHighLighterData:Object;// = null private static var c_objDrawData:DrawData = null; public function DrawData(_arg1:SingletonEnforcerer){ if (_arg1 == null){ return; }; init(); } public function getCurrentColor(_arg1:String):uint{ var _local2:uint; switch (_arg1){ case TBConsts.BTN_FREEHAND_PEN: _local2 = _objPenData.color; break; case TBConsts.BTN_FREEHAND_HIGHLIGHTER: _local2 = _objHighLighterData.color; break; case TBConsts.BTN_FREEHAND_ERASER: _local2 = _objEraserData.color; break; case TBConsts.BTN_FREEHAND_SHAPES: _local2 = _objShapeData.color; break; default: _local2 = _objPenData.color; }; return (_local2); } public function setCurrentShape(_arg1:String, _arg2:String):void{ switch (_arg1){ case TBConsts.BTN_FREEHAND_SHAPES: _objShapeData.strShape = _arg2; break; }; } public function setCurrentColor(_arg1:String, _arg2:uint):void{ switch (_arg1){ case TBConsts.BTN_FREEHAND_PEN: _objPenData.color = _arg2; break; case TBConsts.BTN_FREEHAND_HIGHLIGHTER: _objHighLighterData.color = _arg2; break; case TBConsts.BTN_FREEHAND_SHAPES: _objShapeData.color = _arg2; break; }; } private function init():void{ _objPenData = new Object(); _objHighLighterData = new Object(); _objEraserData = new Object(); _objShapeData = new Object(); setOtherSettings(); } public function getCurrentThickness(_arg1:String):Number{ var _local2:Number; switch (_arg1){ case TBConsts.BTN_FREEHAND_PEN: _local2 = _objPenData.thickness; break; case TBConsts.BTN_FREEHAND_HIGHLIGHTER: _local2 = ((_objHighLighterData.thickness)!=null) ? _objHighLighterData.thickness : _objPenData.thickness; break; case TBConsts.BTN_FREEHAND_ERASER: _local2 = _objEraserData.thickness; break; case TBConsts.BTN_FREEHAND_SHAPES: _local2 = ((_objShapeData.thickness)!=null) ? _objShapeData.thickness : _objPenData.thickness; break; default: _local2 = _objPenData.thickness; }; return (_local2); } public function setOtherSettings():void{ var _local2:uint; var _local1:uint = Config.DRAW.length; while (_local2 < _local1) { switch (Config.DRAW[_local2].btnInstance){ case TBConsts.BTN_FREEHAND_PEN: _objPenData.alpha = Config.DRAW[_local2].alpha; break; case TBConsts.BTN_FREEHAND_HIGHLIGHTER: _objHighLighterData.alpha = Config.DRAW[_local2].alpha; _objHighLighterData.thickness = Config.DRAW[_local2].thickness; break; case TBConsts.BTN_FREEHAND_ERASER: _objEraserData.alpha = Config.DRAW[_local2].alpha; _objEraserData.thickness = Config.DRAW[_local2].thickness; _objEraserData.color = Config.DRAW[_local2].color; break; case TBConsts.BTN_FREEHAND_SHAPES: _objShapeData.thickness = Config.DRAW[_local2].thickness; _objShapeData.alpha = Config.DRAW[_local2].alpha; break; }; _local2++; }; } public function getCurrentAlpha(_arg1:String):Number{ var _local2:Number; switch (_arg1){ case TBConsts.BTN_FREEHAND_PEN: _local2 = _objPenData.alpha; break; case TBConsts.BTN_FREEHAND_HIGHLIGHTER: _local2 = _objHighLighterData.alpha; break; case TBConsts.BTN_FREEHAND_ERASER: _local2 = _objEraserData.alpha; break; case TBConsts.BTN_FREEHAND_SHAPES: _local2 = _objShapeData.alpha; break; default: _local2 = _objPenData.alpha; }; return (_local2); } public function setCurrentThickness(_arg1:String, _arg2:Number):void{ switch (_arg1){ case TBConsts.BTN_FREEHAND_PEN: _objPenData.thickness = _arg2; break; case TBConsts.BTN_FREEHAND_HIGHLIGHTER: _objHighLighterData.thickness = _arg2; break; case TBConsts.BTN_FREEHAND_ERASER: _objEraserData.thickness = _arg2; break; case TBConsts.BTN_FREEHAND_SHAPES: _objShapeData.thickness = _arg2; break; }; } public function getCurrentShape(_arg1:String):String{ var _local2:String; switch (_arg1){ case TBConsts.BTN_FREEHAND_SHAPES: _local2 = _objShapeData.strShape; break; }; return (_local2); } public static function getInstance():DrawData{ if (DrawData.c_objDrawData == null){ DrawData.c_objDrawData = new DrawData(new SingletonEnforcerer()); }; return (DrawData.c_objDrawData); } } }//package view.AdvanceFeatures.drawTool class SingletonEnforcerer { private function SingletonEnforcerer(){ } }
Section 135
//DrawShape (view.AdvanceFeatures.drawTool.DrawShape) package view.AdvanceFeatures.drawTool { import flash.display.*; import model.*; import flash.geom.*; public class DrawShape { private var _bLineStyleSet:Boolean; private var _gTarget:Graphics; private static const ANGLE:Number = 60; private static var c_objDrawShape:DrawShape = null; public function draw(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{ var _local6:Number = (_arg4 - _arg2); var _local7:Number = (_arg5 - _arg3); var _local8:Number = ((_local6)>_local7) ? _local6 : _local7; switch (_arg1){ case Constants.SHAPE_RECTANGLE: drawRect(_arg2, _arg3, _local6, _local7); break; case Constants.SHAPE_CIRCLE: drawEllipse(_arg2, _arg3, _local6, _local7); break; case Constants.SHAPE_TRIANGLE: drawTriangle(_arg2, _arg3, _local7, _local6, ANGLE); break; case Constants.SHAPE_POLYGON: drawRegularPolygon(_arg2, _arg3, 5, _local8, 55); break; case Constants.SHAPE_STAR: drawStar(_arg2, _arg3, 5, (_local8 / 4), _local8); break; }; } public function curveTo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{ if (!_bLineStyleSet){ lineStyle(); }; _gTarget.curveTo(_arg1, _arg2, _arg3, _arg4); } public function drawCurve(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):void{ if (!_bLineStyleSet){ lineStyle(); }; _gTarget.moveTo(_arg1, _arg2); _gTarget.curveTo(_arg3, _arg4, _arg5, _arg6); } public function beginFill(_arg1:Number, _arg2:Number=1):void{ _gTarget.beginFill(_arg1, _arg2); } public function lineGradientStyle(_arg1:String, _arg2:Array, _arg3:Array, _arg4:Array, _arg5:Matrix=null, _arg6:String="pad", _arg7:String="rgb", _arg8:Number=0):void{ if (!_bLineStyleSet){ lineStyle(); }; _gTarget.lineGradientStyle(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); } public function lineTo(_arg1:Number, _arg2:Number):void{ if (!_bLineStyleSet){ lineStyle(); }; _gTarget.lineTo(_arg1, _arg2); } public function get target():Graphics{ return (_gTarget); } public function clear():void{ _gTarget.clear(); _bLineStyleSet = false; } public function drawRect(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{ if (!_bLineStyleSet){ lineStyle(); }; _gTarget.drawRect(_arg1, _arg2, _arg3, _arg4); } public function drawLine(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{ if (!_bLineStyleSet){ lineStyle(); }; _gTarget.moveTo(_arg1, _arg2); _gTarget.lineTo(_arg3, _arg4); } public function beginBitmapFill(_arg1:BitmapData, _arg2:Matrix=null, _arg3:Boolean=true, _arg4:Boolean=false):void{ _gTarget.beginBitmapFill(_arg1, _arg2, _arg3, _arg4); } public function beginGradientFill(_arg1:String, _arg2:Array, _arg3:Array, _arg4:Array, _arg5:Matrix=null, _arg6:String="pad", _arg7:String="rgb", _arg8:Number=0):void{ _gTarget.beginGradientFill(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); } public function lineStyle(_arg1:Number=1, _arg2:Number=0, _arg3:Number=1, _arg4:Boolean=false, _arg5:String="normal", _arg6:String=null, _arg7:String=null, _arg8:Number=3):void{ _gTarget.lineStyle(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); _bLineStyleSet = true; } public function set target(_arg1:Graphics):void{ _gTarget = _arg1; } public function drawRoundRectComplex(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number):void{ if (!_bLineStyleSet){ lineStyle(); }; _gTarget.drawRoundRectComplex(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); } public function moveTo(_arg1:Number, _arg2:Number):void{ _gTarget.moveTo(_arg1, _arg2); } public function drawSlice(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{ drawArc(_arg4, _arg5, _arg2, _arg1, _arg3, true); } public function drawRegularPolygon(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Boolean=false):void{ _arg5 = ((_arg5 * Math.PI) / 180); var _local7:Number = ((2 * Math.PI) / _arg3); var _local8:Number = ((_arg4 / 2) / Math.sin((_local7 / 2))); var _local9:Number = ((Math.cos(_arg5) * _local8) + _arg1); var _local10:Number = ((Math.sin(_arg5) * _local8) + _arg2); moveTo(_local9, _local10); var _local11:Number = 1; while (_local11 <= _arg3) { _local9 = ((Math.cos(((_local7 * _local11) + _arg5)) * _local8) + _arg1); _local10 = ((Math.sin(((_local7 * _local11) + _arg5)) * _local8) + _arg2); lineTo(_local9, _local10); _local11++; }; } public function drawCircle(_arg1:Number, _arg2:Number, _arg3:Number):void{ if (!_bLineStyleSet){ lineStyle(); }; _gTarget.drawCircle(_arg1, _arg2, _arg3); } public function drawRoundRect(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{ if (!_bLineStyleSet){ lineStyle(); }; _gTarget.drawRoundRect(_arg1, _arg2, _arg3, _arg4, _arg5); } public function drawStar(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number=0):void{ if (_arg3 < 3){ return; }; var _local7:Number = ((Math.PI * 2) / _arg3); _arg6 = ((Math.PI * (_arg6 - 90)) / 180); var _local8:Number = _arg6; var _local9:Number = (_arg1 + (Math.cos((_local8 + (_local7 / 2))) * _arg4)); var _local10:Number = (_arg2 + (Math.sin((_local8 + (_local7 / 2))) * _arg4)); moveTo(_local9, _local10); _local8 = (_local8 + _local7); var _local11:Number = 0; while (_local11 < _arg3) { _local9 = (_arg1 + (Math.cos(_local8) * _arg5)); _local10 = (_arg2 + (Math.sin(_local8) * _arg5)); lineTo(_local9, _local10); _local9 = (_arg1 + (Math.cos((_local8 + (_local7 / 2))) * _arg4)); _local10 = (_arg2 + (Math.sin((_local8 + (_local7 / 2))) * _arg4)); lineTo(_local9, _local10); _local8 = (_local8 + _local7); _local11++; }; } public function drawEllipse(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{ if (!_bLineStyleSet){ lineStyle(); }; _gTarget.drawEllipse(_arg1, _arg2, _arg3, _arg4); } public function drawTriangle(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number=0):void{ _arg6 = ((_arg6 * Math.PI) / 180); _arg5 = ((_arg5 * Math.PI) / 180); var _local7:Number = (Math.cos((_arg5 - _arg6)) * _arg3); var _local8:Number = (Math.sin((_arg5 - _arg6)) * _arg3); var _local9:Number = (Math.cos(-(_arg6)) * _arg4); var _local10:Number = (Math.sin(-(_arg6)) * _arg4); var _local11:Number = 0; var _local12:Number = 0; drawLine((-(_local11) + _arg1), (-(_local12) + _arg2), ((_local9 - _local11) + _arg1), ((_local10 - _local12) + _arg2)); lineTo(((_local7 - _local11) + _arg1), ((_local8 - _local12) + _arg2)); lineTo((-(_local11) + _arg1), (-(_local12) + _arg2)); } public function drawArc(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Boolean=false):void{ var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; if (_arg4 > 360){ _arg4 = 360; }; _arg4 = ((Math.PI / 180) * _arg4); var _local7:Number = (_arg4 / 8); var _local8:Number = (_arg3 / Math.cos((_local7 / 2))); _arg5 = (_arg5 * (Math.PI / 180)); var _local9:Number = _arg5; var _local14:Number = (_arg1 + (Math.cos(_arg5) * _arg3)); var _local15:Number = (_arg2 + (Math.sin(_arg5) * _arg3)); if (_arg6){ moveTo(_arg1, _arg2); lineTo(_local14, _local15); } else { moveTo(_local14, _local15); }; var _local16:Number = 0; while (_local16 < 8) { _local9 = (_local9 + _local7); _local10 = (_arg1 + (Math.cos((_local9 - (_local7 / 2))) * _local8)); _local11 = (_arg2 + (Math.sin((_local9 - (_local7 / 2))) * _local8)); _local12 = (_arg1 + (Math.cos(_local9) * _arg3)); _local13 = (_arg2 + (Math.sin(_local9) * _arg3)); curveTo(_local10, _local11, _local12, _local13); _local16++; }; if (_arg6){ lineTo(_arg1, _arg2); }; } public function endFill():void{ _gTarget.endFill(); } public static function getInstance():DrawShape{ if (c_objDrawShape == null){ c_objDrawShape = new (DrawShape); }; return (c_objDrawShape); } } }//package view.AdvanceFeatures.drawTool
Section 136
//DrawTool (view.AdvanceFeatures.drawTool.DrawTool) package view.AdvanceFeatures.drawTool { import controller.*; import flash.events.*; import flash.display.*; import model.*; import flash.utils.*; import view.AdvanceFeatures.CustomCursor.*; import flash.geom.*; import flash.ui.*; public class DrawTool { private var _bToolActive:Boolean;// = false private var _arrExistingUserData:Array;// = null private var _uColor:uint;// = 0 private var _strToolType:String;// = null private var _objPreviousData:Object;// = null private var _arrDrawContainer:Array;// = null private var _objPencilLoc:Object;// = null private var _bPageNavigate:Boolean;// = true private var _objStage:Stage; private var _spPreviousContainer:Sprite;// = null private var _nAlpha:Number;// = 1 private var _objDrawingDetail:Object;// = null private var _bShowGlobalNotes:Boolean;// = true private var _strBlendMode:String;// = null private var _bMouseDown:Boolean;// = false private var _nThickness:Number;// = 1 private var _strShape:String;// = null private var _uPageCount:uint;// = 0 private var _mcCursor:Sprite;// = null private var _bShowDrawing:Boolean;// = true private static const BASE64_CHARS:String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; private static var c_objDrawTool:DrawTool = null; private function createLineClip(_arg1:Sprite):void{ var _local4:Boolean; var _local5:Point; var _local2:Sprite = (_arg1.getChildByName("sptShapeContainer") as Sprite); if (_local2 == null){ _local2 = new Sprite(); _local2.mouseEnabled = false; _local2.mouseChildren = false; _local2.name = "sptShapeContainer"; _arg1.addChild(_local2); _local4 = (((!((Controller.instance.view.globalNotesPanel == null))) && (Controller.instance.view.globalNotesPanel.visible))) ? _bShowGlobalNotes : _bShowDrawing; _local2.visible = _local4; maskDrawContainer(_arg1); }; var _local3:Shape = new Shape(); _local3.graphics.beginFill(0, 0); _local3.graphics.drawRect(0, 0, _arg1.width, _arg1.height); _local3.graphics.endFill(); _local2.addChild(_local3); _objPencilLoc = new Object(); _objPencilLoc.sptDrawnShape = _local3; _objPencilLoc.sptDrawContainer = _arg1; if (_objPreviousData != null){ if (_objPreviousData.x != undefined){ _local5 = new Point(_objPreviousData.x, _objPreviousData.y); _local5 = _spPreviousContainer.localToGlobal(_local5); _local5 = _arg1.globalToLocal(_local5); _objPencilLoc.x = _local5.x; _objPencilLoc.y = _local5.y; }; }; } public function updateExistingShapes(_arg1:Array=null, _arg2:uint=0, _arg3:Sprite=null):void{ var _local5:uint; if (_arg1 != null){ _arrExistingUserData = _arg1; return; }; var _local4:uint = _arrExistingUserData.length; if (_local4 != 0){ _local5 = 0; while (_local5 < _local4) { if (_arrExistingUserData[_local5].pageNum == _arg2){ drawExisingShape(_arrExistingUserData[_local5].shapeInfo, _arg3, _arrExistingUserData[_local5].visible); _arrExistingUserData.splice(_local5, 1); _local4 = _arrExistingUserData.length; break; }; _local5++; }; }; } private function enableDrawSprite(_arg1:Boolean):void{ var _local4:Sprite; var _local2:uint = _arrDrawContainer.length; var _local3:uint; while (_local3 < _local2) { _local4 = _arrDrawContainer[_local3]; _local4.mouseEnabled = _arg1; _local4.mouseChildren = _arg1; if (Controller.instance.view.content.contentPages[_local3] != null){ Controller.instance.view.content.contentPages[_local3].clickSpace.mouseEnabled = !(_arg1); }; _local3++; }; } public function init():void{ _objStage = Controller.instance.stage; _objPencilLoc = new Object(); _arrDrawContainer = new Array(); _arrExistingUserData = new Array(); _objDrawingDetail = new Object(); _objDrawingDetail[Constants.PAGE] = null; _objDrawingDetail[Constants.GLOBAL_NOTES] = null; _mcCursor = CursorManager.getInstance().getCustomCursor(); } private function maskDrawContainer(_arg1:Sprite):void{ var _local2:Sprite; if (_arg1.mask == null){ _local2 = new Sprite(); _arg1.parent.addChild(_local2); _local2.graphics.beginFill(0xFF0000, 0); _local2.graphics.drawRect(0, 0, _arg1.width, _arg1.height); _local2.mouseEnabled = false; _arg1.mask = _local2; }; } public function activateDrawTool(_arg1:Boolean, _arg2:String, _arg3:String=null):void{ CursorManager.getInstance().setCustomCursor(_arg2, null, _arg1); _strToolType = _arg3; _bToolActive = _arg1; if (_arg1){ storePageSprite(); addListeners(); Controller.instance.view.content.currentCustomCursor = _arg2; setCurrentSettings(); _strBlendMode = ((_arg2)==Constants.FREEHAND_ERASER_CURSOR) ? BlendMode.ERASE : BlendMode.NORMAL; } else { _bMouseDown = false; removeAllListeners(); Controller.instance.view.content.currentCustomCursor = null; _spPreviousContainer = null; _objPreviousData = new Object(); }; enableDrawSprite(_arg1); } private function encode(_arg1:Sprite, _arg2:Number=0, _arg3:Number=0):String{ var _local7:Array; var _local9:uint; var _local10:uint; var _local11:uint; var _local12:uint; var _local13:uint; _arg2 = ((_arg2)==0) ? Controller.instance.model.configManager.pageWidth : _arg2; _arg3 = ((_arg3)==0) ? Controller.instance.model.configManager.pageHeight : _arg3; var _local4:BitmapData = new BitmapData(_arg2, _arg3, true, 0); _local4.draw(_arg1, null, null, null, null, true); var _local5:ByteArray = new ByteArray(); _local5 = _local4.getPixels(_local4.rect); _local5.position = 0; _local5.compress(); var _local6 = ""; var _local8:Array = new Array(4); _local5.position = 0; while (_local5.bytesAvailable > 0) { _local7 = new Array(); _local9 = 0; while ((((_local9 < 3)) && ((_local5.bytesAvailable > 0)))) { _local7[_local9] = _local5.readUnsignedByte(); _local9++; }; _local8[0] = ((_local7[0] & 252) >> 2); _local8[1] = (((_local7[0] & 3) << 4) | (_local7[1] >> 4)); _local8[2] = (((_local7[1] & 15) << 2) | (_local7[2] >> 6)); _local8[3] = (_local7[2] & 63); _local10 = _local7.length; _local11 = _local10; while (_local11 < 3) { _local8[(_local11 + 1)] = 64; _local11++; }; _local12 = _local8.length; _local13 = 0; while (_local13 < _local12) { _local6 = (_local6 + BASE64_CHARS.charAt(_local8[_local13])); _local13++; }; }; return (_local6); } public function updateFreehandShapesData(_arg1:Array, _arg2:String="page"):void{ _objDrawingDetail[_arg2] = _arg1; } public function showAllDrawing(_arg1:Boolean):void{ var _local4:Sprite; var _local2:uint = _arrDrawContainer.length; var _local3:uint; while (_local3 < _local2) { _local4 = _arrDrawContainer[_local3].getChildByName("sptShapeContainer"); if (_local4 != null){ _local4.visible = _arg1; }; _local3++; }; if (((!((Controller.instance.view.globalNotesPanel == null))) && (Controller.instance.view.globalNotesPanel.visible))){ _bShowGlobalNotes = _arg1; } else { _bShowDrawing = _arg1; }; } private function addListeners():void{ var _local3:Sprite; var _local1:uint = _arrDrawContainer.length; var _local2:uint; while (_local2 < _local1) { _local3 = _arrDrawContainer[_local2]; _local3.blendMode = BlendMode.LAYER; _local3.addEventListener(MouseEvent.MOUSE_MOVE, moveDrawCursor); _local3.stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); _local3.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); _local3.addEventListener(MouseEvent.MOUSE_OVER, showCursor); _local3.addEventListener(MouseEvent.ROLL_OUT, hideCursor); _local2++; }; } public function decode(_arg1:String, _arg2:Sprite, _arg3:Number=0, _arg4:Number=0):Bitmap{ var _local11:uint; var _local12:uint; var _local13:uint; var _local5:ByteArray = new ByteArray(); var _local6:Array = new Array(4); var _local7:Array = new Array(3); var _local8:uint; while (_local8 < _arg1.length) { _local11 = 0; while ((((_local11 < 4)) && (((_local8 + _local11) < _arg1.length)))) { _local6[_local11] = BASE64_CHARS.indexOf(_arg1.charAt((_local8 + _local11))); _local11++; }; _local7[0] = ((_local6[0] << 2) + ((_local6[1] & 48) >> 4)); _local7[1] = (((_local6[1] & 15) << 4) + ((_local6[2] & 60) >> 2)); _local7[2] = (((_local6[2] & 3) << 6) + _local6[3]); _local12 = _local7.length; _local13 = 0; while (_local13 < _local12) { if (_local6[(_local13 + 1)] == 64){ break; }; _local5.writeByte(_local7[_local13]); _local13++; }; _local8 = (_local8 + 4); }; _local5.position = 0; _local5.uncompress(); _local5.position = 0; _arg3 = ((_arg3)==0) ? Controller.instance.model.configManager.pageWidth : _arg3; _arg4 = ((_arg4)==0) ? Controller.instance.model.configManager.pageHeight : _arg4; var _local9:BitmapData = new BitmapData(_arg3, _arg4, true, 0); new BitmapData(_arg3, _arg4, true, 0).setPixels(_local9.rect, _local5); var _local10:Bitmap = new Bitmap(_local9); return (_local10); } public function get globalNotesVisible():Boolean{ return (_bShowGlobalNotes); } private function hideCursor(_arg1:MouseEvent):void{ _mcCursor.visible = false; Mouse.show(); } private function showCursor(_arg1:MouseEvent):void{ _mcCursor.visible = true; Mouse.hide(); } public function set alpha(_arg1:Number):void{ _nAlpha = _arg1; } private function onMouseUp(_arg1:MouseEvent):void{ _bMouseDown = false; _spPreviousContainer = null; _objPreviousData = new Object(); } private function onMouseDown(_arg1:MouseEvent):void{ var _local2:Sprite = (_arg1.target as Sprite); _objPencilLoc = new Object(); var _local3:Sprite = (_local2.parent.getChildByName("mcClickSpace") as Sprite); _local3 = ((_local3)==null) ? _local2 : _local3; if (_local3.hitTestPoint(_objStage.mouseX, _objStage.mouseY, true)){ _bMouseDown = true; createLineClip(_local2); _objPencilLoc.sptDrawnShape.blendMode = _strBlendMode; if (_strToolType == TBConsts.BTN_FREEHAND_SHAPES){ _objPencilLoc.x = _local2.mouseX; _objPencilLoc.y = _local2.mouseY; DrawShape.getInstance().target = _objPencilLoc.sptDrawnShape.graphics; } else { _objPencilLoc.sptDrawnShape.graphics.lineStyle(_nThickness, _uColor, _nAlpha, false); _objPencilLoc.sptDrawnShape.graphics.moveTo(_local2.mouseX, _local2.mouseY); }; }; } private function removeAllListeners():void{ var sptDrawContainer:Sprite; var uPageCount:uint = _arrDrawContainer.length; var i:uint; while (i < uPageCount) { sptDrawContainer = _arrDrawContainer[i]; if (sptDrawContainer != null){ try { sptDrawContainer.removeEventListener(MouseEvent.MOUSE_MOVE, moveDrawCursor); sptDrawContainer.stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp); sptDrawContainer.removeEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); sptDrawContainer.removeEventListener(MouseEvent.MOUSE_OVER, showCursor); sptDrawContainer.removeEventListener(MouseEvent.ROLL_OUT, hideCursor); } catch(error:Error) { }; }; i = (i + 1); }; } private function draw(_arg1:Sprite):void{ var _local3:Point; var _local2:Sprite = (_arg1.parent.getChildByName("mcClickSpace") as Sprite); _local2 = ((_local2)==null) ? _arg1 : _local2; if (_local2.hitTestPoint(_objStage.mouseX, _objStage.mouseY, true)){ if (_strToolType == TBConsts.BTN_FREEHAND_SHAPES){ _objPencilLoc.sptDrawnShape.blendMode = _strBlendMode; _objPencilLoc.sptDrawnShape.graphics.clear(); if (_spPreviousContainer == null){ if (_objPencilLoc.sptDrawContainer == _arg1){ DrawShape.getInstance().lineStyle(_nThickness, _uColor, _nAlpha, false); DrawShape.getInstance().draw(_strShape, _objPencilLoc.x, _objPencilLoc.y, _arg1.mouseX, _arg1.mouseY); } else { _spPreviousContainer = _objPencilLoc.sptDrawContainer; _objPreviousData = _objPencilLoc; }; } else { _local3 = new Point(_arg1.mouseX, _arg1.mouseY); _local3 = _arg1.localToGlobal(_local3); _local3 = _spPreviousContainer.globalToLocal(_local3); DrawShape.getInstance().target = _objPreviousData.sptDrawnShape.graphics; DrawShape.getInstance().clear(); DrawShape.getInstance().lineStyle(_nThickness, _uColor, _nAlpha, false); DrawShape.getInstance().draw(_strShape, _objPreviousData.x, _objPreviousData.y, _local3.x, _local3.y); createLineClip(_arg1); DrawShape.getInstance().target = _objPencilLoc.sptDrawnShape.graphics; DrawShape.getInstance().lineStyle(_nThickness, _uColor, _nAlpha, false); DrawShape.getInstance().draw(_strShape, _objPencilLoc.x, _objPencilLoc.y, _arg1.mouseX, _arg1.mouseY); }; } else { drawLine(_arg1); }; }; } public function set color(_arg1:uint):void{ _uColor = _arg1; } private function showCurrentDrawing():void{ var _local5:Sprite; var _local6:Sprite; var _local1:Boolean; var _local2:uint = _arrDrawContainer.length; var _local3:uint; var _local4:uint; while (_local4 < _local2) { _local5 = _arrDrawContainer[_local4]; _local6 = (_local5.getChildByName("sptShapeContainer") as Sprite); if (_local6 != null){ if (_local3 == 0){ _local3++; _local1 = _local6.visible; } else { if (_local6.visible != _local1){ _local1 = true; break; }; }; }; _local4++; }; showAllDrawing(_local1); Controller.instance.view.toolbar.setButtonState(TBConsts.BTN_SHOW_DRAWING, _bShowDrawing); } public function deleteAllDrawing():void{ var _local3:Sprite; var _local1:uint = _arrDrawContainer.length; var _local2:uint; while (_local2 < _local1) { _local3 = _arrDrawContainer[_local2].getChildByName("sptShapeContainer"); if (((!((_local3 == null))) && ((_local3.numChildren > 0)))){ removeShape(_local3); }; _local2++; }; } private function drawLine(_arg1:Sprite):void{ var _local2:Number; if (_objPencilLoc.sptDrawContainer == _arg1){ _objPencilLoc.sptDrawnShape.graphics.lineTo(_arg1.mouseX, _arg1.mouseY); } else { _local2 = ((_objPencilLoc.sptDrawContainer)==_arrDrawContainer[0]) ? _objPencilLoc.sptDrawContainer.width : 0; _objPencilLoc.sptDrawnShape.graphics.lineTo(_local2, _arg1.mouseY); createLineClip(_arg1); _objPencilLoc.sptDrawnShape.blendMode = _strBlendMode; _objPencilLoc.sptDrawnShape.graphics.lineStyle(_nThickness, _uColor, _nAlpha, false); _local2 = ((_objPencilLoc.sptDrawContainer)==_arrDrawContainer[0]) ? _objPencilLoc.sptDrawContainer.width : 0; _objPencilLoc.sptDrawnShape.graphics.moveTo(_local2, _arg1.mouseY); }; } public function showExistingShape(_arg1:uint, _arg2:Sprite, _arg3:String="page"):void{ var _local4:Array; var _local5:uint; var _local6:uint; if (_objDrawingDetail[_arg3] != null){ _local4 = new Array(); _local4 = _objDrawingDetail[_arg3]; _local5 = _local4.length; _local6 = 0; while (_local6 < _local5) { if (_local4[_local6].pageNum == _arg1){ drawExisingShape(_local4[_local6].shapeInfo, _arg2, _local4[_local6].visible); break; }; _local6++; }; }; updateExistingShapes(null, _arg1, _arg2); if (_uPageCount == 0){ _arrDrawContainer = new Array(); _bPageNavigate = true; }; _arrDrawContainer.push(_arg2); _uPageCount++; if (_uPageCount == Controller.instance.view.content.pageCount){ _uPageCount = 0; showCurrentDrawing(); }; } public function set shape(_arg1:String):void{ _strShape = _arg1; } private function drawExisingShape(_arg1:String, _arg2:Sprite, _arg3:Boolean):void{ var _local4:Bitmap; if (((!((_arg1 == null))) && (!((_arg1 == ""))))){ _local4 = decode(_arg1, _arg2); }; var _local5:Sprite = (_arg2.getChildByName("sptShapeContainer") as Sprite); if (_local5 == null){ _local5 = new Sprite(); _local5.mouseEnabled = false; _local5.mouseChildren = false; _local5.name = "sptShapeContainer"; _arg2.addChild(_local5); }; if (_local4 != null){ _local5.addChild(_local4); }; _local5.visible = _arg3; maskDrawContainer(_arg2); } public function onShowGlobalNotesPanel(_arg1:Boolean):void{ _bPageNavigate = false; storePageSprite(); var _local2:Boolean = ((_arg1)==true) ? _bShowGlobalNotes : _bShowDrawing; showAllDrawing(_local2); Controller.instance.view.toolbar.setButtonState(TBConsts.BTN_SHOW_DRAWING, _local2); } public function saveShapes(_arg1:Sprite, _arg2:uint, _arg3:String="page", _arg4:Number=0, _arg5:Number=0):void{ var _local9:Array; var _local10:uint; var _local11:Boolean; var _local12:uint; var _local6:Sprite = (_arg1.getChildByName("sptShapeContainer") as Sprite); var _local7:Boolean = (((!((Controller.instance.view.globalNotesPanel == null))) && (Controller.instance.view.globalNotesPanel.visible))) ? _bShowGlobalNotes : _bShowDrawing; var _local8 = ""; if (((!((_local6 == null))) && (!((_local6.numChildren == 0))))){ _local8 = encode(_local6, _arg4, _arg5); _local7 = _local6.visible; }; if (_objDrawingDetail[_arg3] != null){ _local9 = new Array(); _local9 = _objDrawingDetail[_arg3]; _local10 = _local9.length; _local11 = false; _local12 = 0; while (_local12 < _local10) { if (_local9[_local12].pageNum == _arg2){ _local9[_local12].shapeInfo = _local8; _local9[_local12].visible = _local7; _local11 = true; break; }; _local12++; }; if (_local11 != true){ _local9.push({pageNum:_arg2, shapeInfo:_local8, visible:_local7}); }; _objDrawingDetail[_arg3] = _local9; } else { _objDrawingDetail[_arg3] = new Array({pageNum:_arg2, shapeInfo:_local8, visible:_local7}); }; } public function set thickness(_arg1:Number):void{ _nThickness = _arg1; } public function set globalNotesVisible(_arg1:Boolean):void{ _bShowGlobalNotes = _arg1; } public function onShowGlobalNotesPage():void{ if (!_bPageNavigate){ if (_bToolActive){ removeAllListeners(); storePageSprite(); addListeners(); showAllDrawing(_bShowGlobalNotes); Controller.instance.view.toolbar.setButtonState(TBConsts.BTN_SHOW_DRAWING, _bShowGlobalNotes); } else { storePageSprite(); showAllDrawing(_bShowGlobalNotes); Controller.instance.view.toolbar.setButtonState(TBConsts.BTN_SHOW_DRAWING, _bShowGlobalNotes); }; }; } private function moveDrawCursor(_arg1:MouseEvent):void{ var _local2:Sprite; if (_mcCursor != null){ _mcCursor.x = _objStage.mouseX; _mcCursor.y = _objStage.mouseY; if (_bMouseDown == true){ _local2 = (_arg1.target as Sprite); draw(_local2); }; }; _arg1.updateAfterEvent(); } private function storePageSprite():void{ if (!_bPageNavigate){ _arrDrawContainer = Controller.instance.model.drawObject.drawingSprite; _bPageNavigate = false; }; } public function getFreehandShapesInfo(_arg1:uint, _arg2:String="page"):Array{ var _local3:Array; var _local4:uint; var _local5:uint; if (_objDrawingDetail[_arg2] != null){ _local3 = new Array(); _local3 = _objDrawingDetail[_arg2]; _local4 = _local3.length; _local5 = 0; while (_local5 < _local4) { if (_local3[_local5].pageNum == _arg1){ return (new Array(_local3[_local5])); }; _local5++; }; }; return (null); } private function setCurrentSettings():void{ color = DrawData.getInstance().getCurrentColor(_strToolType); thickness = DrawData.getInstance().getCurrentThickness(_strToolType); alpha = DrawData.getInstance().getCurrentAlpha(_strToolType); shape = DrawData.getInstance().getCurrentShape(_strToolType); } public function removeShape(_arg1:Sprite):void{ while (_arg1.numChildren > 0) { _arg1.removeChildAt(0); }; } public static function getInstance():DrawTool{ if (c_objDrawTool == null){ c_objDrawTool = new (DrawTool); }; return (c_objDrawTool); } } }//package view.AdvanceFeatures.drawTool
Section 137
//LineListPanel (view.AdvanceFeatures.drawTool.LineListPanel) package view.AdvanceFeatures.drawTool { import controller.*; import flash.events.*; import flash.display.*; import view.*; import model.*; import event.*; public class LineListPanel extends WrappedDisplayObject { private var _objToolData:Object;// = null private var _instance:Sprite; private var _strToolName:String;// = null private var _btnLinePanel:DisplayObject; private var _objLineListDropDown:DropDown; public function LineListPanel(_arg1:Sprite, _arg2:DisplayObject, _arg3:Object){ super(_arg1); _instance = (_arg1 as Sprite); _btnLinePanel = _arg2; _objToolData = new Object(); _objToolData = _arg3; init(); } private function enableLineListPanel(_arg1:Boolean):void{ if (_arg1){ _objLineListDropDown.setDropDownControlState(CustomButton.STATE_NORMAL); } else { _objLineListDropDown.setDropDownControlState(CustomButton.STATE_DISABLED); }; } private function init():void{ _objLineListDropDown = new DropDown(_btnLinePanel, _instance, onItemClicked, false, false); _objLineListDropDown.addEventListener(Constants.DROPDOWN_CONTROL_CLICK, onDropDownClicked); _objLineListDropDown.selectedMenuItem(_objToolData.defaultLineId); if (_objToolData.groupWithLine){ CustomEventDispatcher.getInstance().addEventListener(CustomEvent.EDIT_MODE, editModeHandler); }; } private function onDropDownClicked(_arg1:Event):void{ var _local2:Object; var _local3:Object; var _local4:Object; switch (dropDownControlInstance.name){ case TBConsts.BTN_FREEHAND_LINE_PANEL: if (Controller.instance.view.toolbar.isEditPenBtnOn != true){ _local2 = Controller.instance.view.toolbar.getObject(TBConsts.BTN_FREEHAND_PEN); _local2.setState(CustomButton.STATE_SELECTED); Controller.instance.view.toolbar.onFreeHandPenClicked(_local2); }; break; case TBConsts.BTN_FREEHAND_HIGHLIGHTER_LINEPANEL: if (Controller.instance.view.toolbar.editMode != TBConsts.BTN_FREEHAND_HIGHLIGHTER){ _local3 = Controller.instance.view.toolbar.getObject(TBConsts.BTN_FREEHAND_HIGHLIGHTER); _local3.setState(CustomButton.STATE_SELECTED); Controller.instance.view.toolbar.onFreeHandHighlighterClicked(_local3); }; break; case TBConsts.BTN_FREEHAND_ERASER_LINEPANEL: if (Controller.instance.view.toolbar.editMode != TBConsts.BTN_FREEHAND_ERASER){ _local4 = Controller.instance.view.toolbar.getObject(TBConsts.BTN_FREEHAND_ERASER); _local4.setState(CustomButton.STATE_SELECTED); Controller.instance.view.toolbar.onFreeHandEraserClicked(_local4); }; break; }; } public function get dropDownControlInstance():DisplayObject{ return (_objLineListDropDown.dropDownControlInstance); } public function onItemClicked(_arg1:String=null, _arg2:Boolean=false):void{ var _local3:uint; var _local4:uint; if (_arg1 != null){ _local3 = _objToolData.line.length; _local4 = 0; while (_local4 < _local3) { if (_arg1 == _objToolData.line[_local4].itemId){ DrawData.getInstance().setCurrentThickness(_objToolData.btnInstance, _objToolData.line[_local4].value); DrawTool.getInstance().thickness = _objToolData.line[_local4].value; break; }; _local4++; }; }; if (!_arg2){ _objLineListDropDown.setDropDownControlState(_arg1); enableLineListPanel(true); }; } private function editModeHandler(_arg1:CustomEvent):void{ if ((((_arg1.data.strActiveTool == _objToolData.btnInstance)) && ((MovieClip(dropDownControlInstance).currentLabel == CustomButton.STATE_NORMAL)))){ Controller.instance.tracer("editModeHandler "); dropDownControlInstance.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); }; } } }//package view.AdvanceFeatures.drawTool
Section 138
//ShapePanel (view.AdvanceFeatures.drawTool.ShapePanel) package view.AdvanceFeatures.drawTool { import controller.*; import flash.events.*; import flash.display.*; import view.*; import model.*; public class ShapePanel extends WrappedDisplayObject { private var _btnShapePanel:DisplayObject;// = null private var _instance:Sprite;// = null private var _strToolName:String;// = null private var _objShapeListDropDown:DropDown;// = null private var _objToolData:Object;// = null public function ShapePanel(_arg1:Sprite, _arg2:DisplayObject, _arg3:Object){ super(_arg1); _instance = (_arg1 as Sprite); _btnShapePanel = _arg2; _objToolData = new Object(); _objToolData = _arg3; init(); } public function get dropDownControlInstance():DisplayObject{ return (_objShapeListDropDown.dropDownControlInstance); } public function setDropDownState(_arg1:String):void{ _objShapeListDropDown.setDropDownControlState(_arg1); } private function enableShapePanel(_arg1:Boolean):void{ if (_arg1){ _objShapeListDropDown.setDropDownControlState(CustomButton.STATE_SELECTED); } else { _objShapeListDropDown.setDropDownControlState(CustomButton.STATE_DISABLED); }; } private function init():void{ _objShapeListDropDown = new DropDown(_btnShapePanel, _instance, onItemClicked, false, false); _objShapeListDropDown.addEventListener(Constants.DROPDOWN_CONTROL_CLICK, onDropDownClicked); _objShapeListDropDown.selectedMenuItem(_objToolData.defaultShapeId); DrawData.getInstance().setCurrentShape(_objToolData.btnInstance, _objToolData.defaultShapeId); _objShapeListDropDown.setDropDownControlState(CustomButton.STATE_NORMAL); } public function onItemClicked(_arg1:String=null, _arg2:Boolean=false):void{ var _local3:uint; var _local4:uint; if (_arg1 != null){ _local3 = _objToolData.shape.length; _local4 = 0; while (_local4 < _local3) { if (_arg1 == _objToolData.shape[_local4].itemId){ DrawData.getInstance().setCurrentShape(_objToolData.btnInstance, _objToolData.shape[_local4].value); DrawTool.getInstance().shape = _objToolData.shape[_local4].value; break; }; _local4++; }; }; if (!_arg2){ _objShapeListDropDown.setDropDownControlState(_arg1); enableShapePanel(true); }; } private function onDropDownClicked(_arg1:Event):void{ if (Controller.instance.view.toolbar.isEditFreeHandShapeOn != true){ Controller.instance.view.toolbar.onFreeHandShapeClicked(true); } else { Controller.instance.view.toolbar.onFreeHandShapeClicked(false); }; } } }//package view.AdvanceFeatures.drawTool
Section 139
//FullScreenHandler (view.AdvanceFeatures.fullscreen.FullScreenHandler) package view.AdvanceFeatures.fullscreen { import controller.*; import flash.events.*; import flash.display.*; import event.*; public class FullScreenHandler extends CustomEventDispatcher { private var _objControlClip:DisplayObject;// = null private var _objStage:Stage;// = null public function FullScreenHandler(_arg1:DisplayObject){ _objControlClip = _arg1; initialize(); } private function initialize():void{ _objStage = Controller.instance.stage; _objStage.addEventListener(FullScreenEvent.FULL_SCREEN, onFullScreen); } private function onFullScreen(_arg1:FullScreenEvent=null):void{ var _local2:Object = new Object(); if (_objStage.displayState == StageDisplayState.FULL_SCREEN){ _local2.bFullScreen = true; } else { _local2.bFullScreen = false; }; CustomEventDispatcher.getInstance().dispatchEvent(new CustomEvent(CustomEvent.FULL_SCREEN, false, false, _local2)); } public function onToggleFullScreen(_arg1:Boolean=false):void{ var bFullScreen = _arg1; try { _objStage.displayState = (bFullScreen) ? StageDisplayState.FULL_SCREEN : StageDisplayState.NORMAL; } catch(e:SecurityError) { Controller.instance.tracer("Error! allow fullscreen mode"); }; } } }//package view.AdvanceFeatures.fullscreen
Section 140
//Canvas (view.AdvanceFeatures.GlobalNotes.Canvas) package view.AdvanceFeatures.GlobalNotes { import flash.events.*; import flash.display.*; public class Canvas extends MovieClip { private var _verticalGap:Number;// = 10 private var __height:Number;// = 0 private var _horizontalGap:Number;// = 10 private var _backgroundColor:uint;// = 10079385 private var _childDirection:String;// = "NONE" private var __width:Number;// = 0 public var verticalItemHeight:Number;// = 0 public function Canvas():void{ this.addEventListener(Event.ADDED, childAddHandler); this.addEventListener(Event.REMOVED, childRemoveHandler); backgroundColor = 16777164; } public function set verticalGap(_arg1:Number):void{ _verticalGap = _arg1; _horizontalGap = 0; resetChildDirection(); } public function get childDirection():String{ return (_childDirection); } public function set childDirection(_arg1:String):void{ _childDirection = _arg1; resetChildDirection(); } override public function get width():Number{ return (__width); } public function get verticalGap():Number{ return (_verticalGap); } private function drawBackground():void{ this.graphics.clear(); this.graphics.lineStyle(1, 0, 0); this.graphics.beginFill(_backgroundColor, 1); this.graphics.drawRect(0, 0, __width, __height); this.graphics.endFill(); } public function get backgroundColor():uint{ return (_backgroundColor); } override public function set width(_arg1:Number):void{ __width = _arg1; drawBackground(); } override public function set height(_arg1:Number):void{ __height = _arg1; drawBackground(); } public function set horizontalGap(_arg1:Number):void{ _horizontalGap = _arg1; _verticalGap = 0; resetChildDirection(); } private function childAddHandler(_arg1:Event):void{ resetChildDirection(); } override public function get height():Number{ return (__height); } private function childRemoveHandler(_arg1:Event):void{ resetChildDirection(); } public function set backgroundColor(_arg1:uint):void{ _backgroundColor = _arg1; drawBackground(); } public function resetChildDirection():void{ var _local2:*; var _local1:int; while (_local1 < this.numChildren) { _local2 = this.getChildAt(_local1); if (_childDirection == "HORIZONTAL"){ _local2.x = ((_local2.width + _horizontalGap) * _local1); _local2.y = 0; } else { if (_childDirection == "VERTICAL"){ _local2.x = 0; if (verticalItemHeight == 0){ verticalItemHeight = (_local2.height + _verticalGap); }; _local2.y = (verticalItemHeight * _local1); } else { if (_childDirection == "NONE"){ }; }; }; _local1++; }; } } }//package view.AdvanceFeatures.GlobalNotes
Section 141
//CustomHScrollBar (view.AdvanceFeatures.GlobalNotes.CustomHScrollBar) package view.AdvanceFeatures.GlobalNotes { import controller.*; import flash.events.*; import flash.display.*; import flash.utils.*; import flash.geom.*; public class CustomHScrollBar extends HScrollBarGfx { private var heightDifference:Number;// = 0 private var timer:Timer; private var __height:Number; private var isRightThumbPressed:Boolean;// = false private var isLeftThumbPressed:Boolean;// = false private var __width:Number; private var initialXPos:Number; private var targetObject:MovieClip; private var isThumbDragging:Boolean;// = false public static const SCROLL_MOVE:String = "scrollMove"; public static const SCROLLBAR_APPEAR:String = "scrollbarAppear"; public function CustomHScrollBar(){ height = 20; width = 100; target = this; timer = new Timer(1); timer.addEventListener(TimerEvent.TIMER, timerTickHandler); leftThumb.addEventListener(MouseEvent.MOUSE_DOWN, leftThumbMouseDownHandler); leftThumb.addEventListener(MouseEvent.MOUSE_UP, leftThumbMouseUpHandler); leftThumb.addEventListener(MouseEvent.CLICK, leftThumbClickUpHandler); rightThumb.addEventListener(MouseEvent.MOUSE_DOWN, rightThumbMouseDownHandler); rightThumb.addEventListener(MouseEvent.MOUSE_UP, rightThumbMouseUpHandler); rightThumb.addEventListener(MouseEvent.CLICK, rightThumbClickUpHandler); scrollThumb.addEventListener(MouseEvent.MOUSE_DOWN, scrollThumbMouseDownHandler); scrollThumb.addEventListener(MouseEvent.MOUSE_UP, scrollThumbMouseUpHandler); Controller.instance.addEventListener(MouseEvent.MOUSE_UP, scrollThumbMouseUpHandler); Controller.instance.addEventListener(MouseEvent.MOUSE_MOVE, rootMouseMoveHandler); } private function rightThumbClickUpHandler(_arg1:MouseEvent):void{ if (scrollThumb.x < ((scrollBg.width - scrollThumb.width) + scrollBg.x)){ scrollThumb.x = (scrollThumb.x + 0.5); } else { scrollThumb.x = ((scrollBg.width - scrollThumb.width) + __height); }; updateScrollPosition(); } private function scrollThumbMouseUpHandler(_arg1:MouseEvent):void{ scrollThumb.stopDrag(); isThumbDragging = false; } private function setSize(_arg1:MovieClip, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{ _arg1.width = _arg4; _arg1.height = _arg5; _arg1.x = _arg2; _arg1.y = _arg3; } override public function get width():Number{ return (__width); } public function moveTarget(_arg1:Number):void{ if (_arg1 < 0){ if (scrollThumb.x > scrollBg.x){ scrollThumb.x = (scrollThumb.x + _arg1); } else { scrollThumb.x = scrollBg.x; }; } else { if (scrollThumb.x < ((scrollBg.width - scrollThumb.width) + scrollBg.x)){ scrollThumb.x = (scrollThumb.x + _arg1); } else { scrollThumb.x = ((scrollBg.width - scrollThumb.width) + __height); }; }; updateScrollPosition(); } private function rightThumbMouseUpHandler(_arg1:MouseEvent):void{ isRightThumbPressed = false; timer.stop(); } public function get target():MovieClip{ return (targetObject); } private function leftThumbMouseDownHandler(_arg1:MouseEvent):void{ if (scrollThumb.x != 0){ isLeftThumbPressed = true; timer.start(); }; } private function scrollThumbMouseDownHandler(_arg1:MouseEvent):void{ isThumbDragging = true; scrollThumb.startDrag(false, new Rectangle(scrollBg.x, 0, (scrollBg.width - scrollThumb.width), 0)); } override public function set height(_arg1:Number):void{ __height = _arg1; resizeAssets(); } public function updateScrollBar():void{ var _local3:Number; var _local1:Number = scrollThumb.width; if (targetObject.width > this.width){ this.visible = true; heightDifference = (targetObject.width - this.width); if (scrollThumb.width > __height){ _local3 = (targetObject.width / this.width); scrollThumb.width = (scrollBg.width / _local3); } else { scrollThumb.width = __height; }; } else { this.visible = false; scrollThumb.x = scrollBg.x; }; var _local2:Number = (scrollThumb.width - _local1); if ((((_local2 > 0)) && ((this.visible == true)))){ if ((scrollThumb.x - _local2) < scrollBg.x){ scrollThumb.x = scrollBg.x; } else { scrollThumb.x = (scrollThumb.x - _local2); }; updateScrollPosition(); }; } private function rootMouseMoveHandler(_arg1:MouseEvent):void{ if (isThumbDragging){ updateScrollPosition(); }; } private function resizeAssets():void{ setSize(leftThumb, 0, 0, __height, __height); setSize(rightThumb, (__width - __height), 0, __height, __height); setSize(scrollBg, __height, 0, (__width - (2 * __height)), __height); setSize(scrollThumb, __height, 0, (__width - (2 * __height)), __height); } override public function set width(_arg1:Number):void{ __width = _arg1; resizeAssets(); } private function rightThumbMouseDownHandler(_arg1:MouseEvent):void{ if (scrollThumb.x != (scrollBg.width - scrollThumb.width)){ isRightThumbPressed = true; timer.start(); }; } public function set target(_arg1:MovieClip):void{ initialXPos = _arg1.x; targetObject = _arg1; Controller.instance.tracer(String(("initialXPos target: " + initialXPos))); } private function timerTickHandler(_arg1:TimerEvent):void{ if (isLeftThumbPressed){ if (scrollThumb.x > scrollBg.x){ scrollThumb.x = (scrollThumb.x - 0.5); } else { scrollThumb.x = scrollBg.x; timer.stop(); isLeftThumbPressed = false; }; }; if (isRightThumbPressed){ if (scrollThumb.x < ((scrollBg.width - scrollThumb.width) + scrollBg.x)){ scrollThumb.x = (scrollThumb.x + 0.5); } else { scrollThumb.x = ((scrollBg.width - scrollThumb.width) + __height); timer.stop(); isRightThumbPressed = false; }; }; updateScrollPosition(); } public function moveTo(_arg1:Number, _arg2:Number):void{ this.x = _arg1; this.y = _arg2; } override public function get height():Number{ return (__height); } private function leftThumbClickUpHandler(_arg1:MouseEvent):void{ if (scrollThumb.x > scrollBg.x){ scrollThumb.x = (scrollThumb.x - 0.5); } else { scrollThumb.x = scrollBg.x; }; updateScrollPosition(); } private function leftThumbMouseUpHandler(_arg1:MouseEvent):void{ timer.stop(); isLeftThumbPressed = false; } private function updateScrollPosition():void{ var _local1:Number = (scrollThumb.x - scrollBg.x); var _local2:Number = (scrollBg.width - scrollThumb.width); var _local3:Number = ((_local1 / _local2) * 100); var _local4:Number = ((_local3 / 100) * (targetObject.width - this.width)); targetObject.x = (initialXPos - _local4); Controller.instance.tracer(String(("initialXPos: " + initialXPos))); dispatchEvent(new Event(SCROLL_MOVE)); } } }//package view.AdvanceFeatures.GlobalNotes
Section 142
//CustomScrollPane (view.AdvanceFeatures.GlobalNotes.CustomScrollPane) package view.AdvanceFeatures.GlobalNotes { import flash.events.*; import flash.display.*; public class CustomScrollPane extends CustomScrollPaneGfx { private var horizontalScrollBar:CustomHScrollBar; private var __height:Number; private var _horizontalScrollPolicy:String;// = "auto" private var _verticalScrollPolicy:String;// = "auto" public var hasVerticalScrollbar:Boolean;// = false private var __align:String;// = "left" private var __width:Number; private var scrollBarWidth:Number;// = 13 public var hasHorizontalScrollbar:Boolean;// = false private var verticalScrollBar:CustomVScrollBar; private var _source; public static const PANE_SCROLL:String = "paneScroll"; public static const AUTO:String = "auto"; public static const OFF:String = "off"; public function CustomScrollPane(){ _source = new MovieClip(); verticalScrollBar = new CustomVScrollBar(); verticalScrollBar.addEventListener(CustomVScrollBar.SCROLL_MOVE, scrollMoveHanlder); verticalScrollBar.height = maskMc.height; verticalScrollBar.width = scrollBarWidth; verticalScrollBar.moveTo((maskMc.width - scrollBarWidth), 0); this.addChild(verticalScrollBar); horizontalScrollBar = new CustomHScrollBar(); horizontalScrollBar.addEventListener(CustomHScrollBar.SCROLL_MOVE, scrollMoveHanlder); horizontalScrollBar.height = scrollBarWidth; horizontalScrollBar.width = maskMc.width; horizontalScrollBar.moveTo(0, (maskMc.height - scrollBarWidth)); this.addChild(horizontalScrollBar); } private function resetScrollCornerPosition():void{ scrollCorner.width = scrollBarWidth; scrollCorner.height = scrollBarWidth; scrollCorner.x = (maskMc.x + maskMc.width); scrollCorner.y = (maskMc.y + maskMc.height); } public function get align():String{ return (__align); } public function set horizontalScrollPolicy(_arg1:String):void{ _horizontalScrollPolicy = _arg1; } public function setVerticalPosition(_arg1:Number):void{ if (verticalScrollBar.visible){ verticalScrollBar.scrollTo(_arg1); }; } override public function get width():Number{ return (__width); } public function set align(_arg1:String):void{ if (_source.width < maskMc.width){ __align = _arg1; switch (_arg1){ case "right": _source.x = ((maskMc.width - _source.width) - 3); break; case "center": _source.x = ((maskMc.width - _source.width) / 2); break; case "left": _source.x = 0; break; }; }; } override public function set width(_arg1:Number):void{ maskMc.width = (_arg1 - scrollBarWidth); verticalScrollBar.x = (_arg1 - scrollBarWidth); horizontalScrollBar.width = maskMc.width; resetScrollCornerPosition(); __width = _arg1; } override public function set height(_arg1:Number):void{ maskMc.height = (_arg1 - scrollBarWidth); verticalScrollBar.height = maskMc.height; horizontalScrollBar.y = maskMc.height; resetScrollCornerPosition(); __height = _arg1; } public function get source(){ return (_source); } private function scrollMoveHanlder(_arg1:Event):void{ dispatchEvent(new Event(PANE_SCROLL)); } public function getTabItems():Array{ var _local1:Array = new Array(); if (hasVerticalScrollbar){ _local1.push(verticalScrollBar.upThumb); _local1.push(verticalScrollBar.downThumb); }; return (_local1); } public function get horizontalScrollPolicy():String{ return (_horizontalScrollPolicy); } public function set verticalScrollPolicy(_arg1:String):void{ _verticalScrollPolicy = _arg1; } override public function get height():Number{ return (__height); } public function get verticalScrollPolicy():String{ return (_verticalScrollPolicy); } public function set source(_arg1):void{ _source = _arg1; _source.x = this.x; _source.y = this.y; verticalScrollBar.target = _source; horizontalScrollBar.target = _source; _source.mask = maskMc; if (_horizontalScrollPolicy == AUTO){ horizontalScrollBar.updateScrollBar(); } else { horizontalScrollBar.visible = false; }; if (_verticalScrollPolicy == AUTO){ verticalScrollBar.updateScrollBar(); } else { verticalScrollBar.visible = false; }; hasVerticalScrollbar = verticalScrollBar.visible; hasHorizontalScrollbar = horizontalScrollBar.visible; if (((hasVerticalScrollbar) && (hasHorizontalScrollbar))){ scrollCorner.visible = true; } else { scrollCorner.visible = false; }; } public function get vScrollBar():CustomVScrollBar{ return (verticalScrollBar); } public function get hScrollBar():CustomHScrollBar{ return (horizontalScrollBar); } } }//package view.AdvanceFeatures.GlobalNotes
Section 143
//CustomVScrollBar (view.AdvanceFeatures.GlobalNotes.CustomVScrollBar) package view.AdvanceFeatures.GlobalNotes { import controller.*; import flash.events.*; import flash.display.*; import flash.utils.*; import flash.geom.*; public class CustomVScrollBar extends VScrollBarGfx { private var heightDifference:Number;// = 0 private var timer:Timer; private var __height:Number; private var __width:Number; private var targetObject; private var isUpThumbPressed:Boolean;// = false private var isDownThumbPressed:Boolean;// = false private var isThumbDragging:Boolean;// = false private var initialYPos:Number; public static const SCROLL_MOVE:String = "scrollMove"; public static const SCROLLBAR_APPEAR:String = "scrollbarAppear"; public function CustomVScrollBar(){ height = 100; width = 15; target = this; timer = new Timer(1); timer.addEventListener(TimerEvent.TIMER, timerTickHandler); upThumb.addEventListener(MouseEvent.MOUSE_DOWN, upThumbMouseDownHandler); upThumb.addEventListener(MouseEvent.MOUSE_UP, upThumbMouseUpHandler); upThumb.addEventListener(MouseEvent.CLICK, upThumbClickUpHandler); downThumb.addEventListener(MouseEvent.MOUSE_DOWN, downThumbMouseDownHandler); downThumb.addEventListener(MouseEvent.MOUSE_UP, downThumbMouseUpHandler); downThumb.addEventListener(MouseEvent.CLICK, downThumbClickUpHandler); scrollThumb.addEventListener(MouseEvent.MOUSE_DOWN, scrollThumbMouseDownHandler); scrollThumb.addEventListener(MouseEvent.MOUSE_UP, scrollThumbMouseUpHandler); Controller.instance.addEventListener(MouseEvent.MOUSE_UP, scrollThumbMouseUpHandler); Controller.instance.addEventListener(MouseEvent.MOUSE_MOVE, rootMouseMoveHandler); this.addEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelHandler); } private function downThumbClickUpHandler(_arg1:MouseEvent):void{ if (scrollThumb.y < ((scrollBg.height - scrollThumb.height) + scrollBg.y)){ scrollThumb.y = (scrollThumb.y + 0.5); } else { scrollThumb.y = ((scrollBg.height - scrollThumb.height) + __width); }; updateScrollPosition(); } private function setSize(_arg1:MovieClip, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{ _arg1.width = _arg4; _arg1.height = _arg5; _arg1.x = _arg2; _arg1.y = _arg3; } private function updateScrollPosition():void{ var _local1:Number = (scrollThumb.y - scrollBg.y); var _local2:Number = (scrollBg.height - scrollThumb.height); var _local3:Number = ((_local1 / _local2) * 100); var _local4:Number = ((_local3 / 100) * (targetObject.height - this.height)); targetObject.y = (initialYPos - _local4); dispatchEvent(new Event(SCROLL_MOVE)); } public function moveTarget(_arg1:Number):void{ if (_arg1 < 0){ if (scrollThumb.y > scrollBg.y){ scrollThumb.y = (scrollThumb.y + _arg1); } else { scrollThumb.y = scrollBg.y; }; } else { if (scrollThumb.y < ((scrollBg.height - scrollThumb.height) + scrollBg.y)){ scrollThumb.y = (scrollThumb.y + _arg1); } else { scrollThumb.y = ((scrollBg.height - scrollThumb.height) + __width); }; }; updateScrollPosition(); } public function set target(_arg1):void{ initialYPos = _arg1.y; targetObject = _arg1; } public function get target(){ return (targetObject); } private function scrollThumbMouseDownHandler(_arg1:MouseEvent):void{ isThumbDragging = true; scrollThumb.startDrag(false, new Rectangle(0, scrollBg.y, 0, (scrollBg.height - scrollThumb.height))); } override public function set height(_arg1:Number):void{ __height = _arg1; resizeAssets(); } private function downThumbMouseUpHandler(_arg1:MouseEvent):void{ isDownThumbPressed = false; timer.stop(); } private function downThumbMouseDownHandler(_arg1:MouseEvent):void{ if (scrollThumb.y != (scrollBg.height - scrollThumb.height)){ isDownThumbPressed = true; timer.start(); }; } override public function get width():Number{ return (__width); } override public function set width(_arg1:Number):void{ __width = _arg1; resizeAssets(); } private function rootMouseMoveHandler(_arg1:MouseEvent):void{ if (isThumbDragging){ updateScrollPosition(); }; } private function resizeAssets():void{ setSize(upThumb, 0, 0, __width, __width); setSize(downThumb, 0, (__height - __width), __width, __width); setSize(scrollBg, 0, __width, __width, (__height - (2 * __width))); setSize(scrollThumb, 0, __width, __width, (__height - (2 * __width))); } private function upThumbMouseUpHandler(_arg1:MouseEvent):void{ timer.stop(); isUpThumbPressed = false; } override public function get height():Number{ return (__height); } private function timerTickHandler(_arg1:TimerEvent):void{ if (isUpThumbPressed){ if (scrollThumb.y > scrollBg.y){ scrollThumb.y = (scrollThumb.y - 0.5); } else { scrollThumb.y = scrollBg.y; timer.stop(); isUpThumbPressed = false; }; }; if (isDownThumbPressed){ if (scrollThumb.y < ((scrollBg.height - scrollThumb.height) + scrollBg.y)){ scrollThumb.y = (scrollThumb.y + 0.5); } else { scrollThumb.y = ((scrollBg.height - scrollThumb.height) + __width); timer.stop(); isDownThumbPressed = false; }; }; updateScrollPosition(); } private function upThumbClickUpHandler(_arg1:MouseEvent):void{ if (scrollThumb.y > scrollBg.y){ scrollThumb.y = (scrollThumb.y - 0.5); } else { scrollThumb.y = scrollBg.y; }; updateScrollPosition(); } public function moveTo(_arg1:Number, _arg2:Number):void{ this.x = _arg1; this.y = _arg2; } public function scrollTo(_arg1:Number):void{ var _local2:Number = ((_arg1 / 100) * (scrollBg.height - scrollThumb.height)); scrollThumb.y = (_local2 + scrollBg.y); updateScrollPosition(); } private function mouseWheelHandler(_arg1:MouseEvent):void{ } private function scrollThumbMouseUpHandler(_arg1:MouseEvent):void{ scrollThumb.stopDrag(); isThumbDragging = false; } public function updateScrollBar():void{ var _local3:Number; var _local1:Number = scrollThumb.height; if (targetObject.height > this.height){ this.visible = true; heightDifference = (targetObject.height - this.height); if (scrollThumb.height > __width){ _local3 = (targetObject.height / this.height); scrollThumb.height = (scrollBg.height / _local3); } else { scrollThumb.height = __width; }; } else { this.visible = false; scrollThumb.y = scrollBg.y; }; var _local2:Number = (scrollThumb.height - _local1); if (_local2 > 0){ if ((scrollThumb.y - _local2) < scrollBg.y){ scrollThumb.y = scrollBg.y; } else { scrollThumb.y = (scrollThumb.y - _local2); }; updateScrollPosition(); }; } private function upThumbMouseDownHandler(_arg1:MouseEvent):void{ if (scrollThumb.y != 0){ isUpThumbPressed = true; timer.start(); }; } } }//package view.AdvanceFeatures.GlobalNotes
Section 144
//GlobalNotesNavigator (view.AdvanceFeatures.GlobalNotes.GlobalNotesNavigator) package view.AdvanceFeatures.GlobalNotes { import flash.display.*; public class GlobalNotesNavigator extends MovieClip { private var notesPagePanel:Canvas; public var notesThumbContainer:NotesThumbContainer; public static var parentClass; public static var notesArea:Canvas; public function GlobalNotesNavigator(_arg1){ parentClass = _arg1; notesPagePanel = new Canvas(); notesArea = notesPagePanel; notesPagePanel.width = 370; notesPagePanel.height = 390; addChild(notesPagePanel); notesThumbContainer = new NotesThumbContainer(notesPagePanel); notesThumbContainer.x = 375; addChild(notesThumbContainer); } private function isNoteThumbnailSelectable(_arg1:NotesThumbnailGfx):Boolean{ var _local2:Boolean; var _local3:Number = notesThumbContainer.contentCanvas.y; var _local4:Number = _arg1.y; var _local5:Number = (_local4 - (-1 * _local3)); var _local6:Number = (_local5 + _arg1.notesThumbBtn.height); if ((((_local5 >= 0)) && ((_local6 < notesThumbContainer.scrollPane.height)))){ _local2 = true; }; return (_local2); } public function arrangeTabItems(_arg1:Array):Array{ var _local2:NotesThumbnail = notesThumbContainer.selectedThumb; var _local3:Number = 2; var _local4:Array = _arg1; _local4.push({item:_local2.page.textArea, tabIndex:_local3, shortcut:"", alt:""}); var _local5:int; while (_local5 < notesThumbContainer.contentCanvas.numChildren) { _local2 = (notesThumbContainer.contentCanvas.getChildAt(_local5) as NotesThumbnail); if (isNoteThumbnailSelectable(_local2)){ _local3++; _local4.push({item:_local2.notesThumbBtn, tabIndex:_local3, shortcut:"", alt:""}); if (_local5 != 0){ }; }; _local5++; }; var _local6:Array = notesThumbContainer.scrollPane.getTabItems(); var _local7:int; while (_local7 < _local6.length) { _local3++; _local4.push({item:_local6[_local7], tabIndex:_local3, shortcut:"", alt:""}); _local7++; }; return (_local4); } } }//package view.AdvanceFeatures.GlobalNotes
Section 145
//NotesPage (view.AdvanceFeatures.GlobalNotes.NotesPage) package view.AdvanceFeatures.GlobalNotes { import controller.*; import flash.events.*; import flash.display.*; import view.*; import model.*; import flash.text.*; import event.*; public class NotesPage extends MovieClip { private var _contentHeight:Number;// = 100 private var textAreaContainer:MovieClip; private var drawingCanvasContainer:MovieClip; private var isActive:Boolean;// = false private var thumb:NotesThumbnail; private var isEditMode:Boolean;// = true public var textArea:TextField; public var drawingCanvas:Sprite; public var content:MovieClip; private var _id:Number; private var _contentWidth:Number;// = 100 public function NotesPage(){ CustomEventDispatcher.getInstance().addEventListener(CustomEvent.EDIT_MODE, editModeHandler); content = new MovieClip(); addChild(content); } override public function get width():Number{ return (_contentWidth); } public function createScreen():void{ drawingCanvasContainer = new MovieClip(); content.addChild(drawingCanvasContainer); drawingCanvas = new Sprite(); drawingCanvas.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); drawingCanvasContainer.addChild(drawingCanvas); textAreaContainer = new MovieClip(); content.addChild(textAreaContainer); createTextField(""); drawBackground(); } public function hide():void{ isActive = false; this.mouseChildren = false; this.visible = false; } private function mouseUpHandler(_arg1:MouseEvent):void{ if (Controller.instance.view.toolbar.editMode != null){ generateBitmap(); }; } private function editModeHandler(_arg1:CustomEvent):void{ if (isActive){ this.mouseChildren = true; } else { this.mouseChildren = false; }; if (_arg1.data.strActiveTool == null){ textAreaContainer.mouseChildren = true; textAreaContainer.mouseEnabled = true; } else { textAreaContainer.mouseChildren = false; textAreaContainer.mouseEnabled = false; }; } private function textChangeHandler(_arg1:Event):void{ generateBitmap(); } private function drawBackground():void{ textArea.width = this.width; drawingCanvas.graphics.clear(); drawingCanvas.graphics.lineStyle(1, 0, 0); drawingCanvas.graphics.beginFill(0xFFFFFF, 0); drawingCanvas.graphics.drawRect(0, 0, this.width, this.height); drawingCanvas.graphics.endFill(); } private function generateBitmap():void{ if (thumb.pageBitmapContainer.numChildren > 0){ thumb.pageBitmapContainer.removeChildAt(0); }; var _local1:BitmapData = new BitmapData(_contentWidth, _contentHeight); _local1.draw(this); var _local2:Bitmap = new Bitmap(_local1); _local2.height = thumb.notesThumbBtn.height; _local2.width = thumb.notesThumbBtn.width; thumb.pageBitmapContainer.addChild(_local2); } public function updateScreen(_arg1:Object):void{ drawingCanvasContainer = new MovieClip(); content.addChild(drawingCanvasContainer); drawingCanvas = _arg1.drawingCanvas; drawingCanvas.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); drawingCanvasContainer.addChild(drawingCanvas); if (_arg1.drawingCanvasMask != null){ drawingCanvasContainer.addChild(_arg1.drawingCanvasMask); }; textAreaContainer = new MovieClip(); content.addChild(textAreaContainer); createTextField(_arg1.text); } public function get thumbnail():NotesThumbnail{ return (thumb); } public function get id():Number{ return (_id); } private function removeAllChildren(_arg1):void{ var _local2:int = (_arg1.numChildren - 1); while (_local2 > -1) { _arg1.removeChildAt(_local2); _local2--; }; } public function set thumbnail(_arg1:NotesThumbnail):void{ thumb = _arg1; } public function set text(_arg1:String):void{ textArea.text = _arg1; } override public function set width(_arg1:Number):void{ _contentWidth = _arg1; } override public function set height(_arg1:Number):void{ _contentHeight = _arg1; } override public function get height():Number{ return (_contentHeight); } public function get text():String{ return (textArea.text); } private function createTextField(_arg1:String):void{ textArea = new TextField(); textArea.type = "input"; textArea.multiline = true; textArea.wordWrap = true; textArea.width = this.width; textAreaContainer.addChild(textArea); textArea.autoSize = TextFieldAutoSize.LEFT; textArea.addEventListener(Event.CHANGE, textChangeHandler); textArea.text = _arg1; textArea.maxChars = Config.Text_Area_Size; } public function set id(_arg1:Number):void{ _id = _arg1; } public function show():void{ isActive = true; this.visible = true; this.mouseChildren = true; if (Controller.instance.view.toolbar.editMode != null){ textAreaContainer.mouseChildren = false; textAreaContainer.mouseEnabled = false; }; Controller.instance.model.drawObject.drawingSprite = new Array(drawingCanvas); Controller.instance.view.toolbar.onShowGlobalNotesPage(); this.parent.setChildIndex(this, (this.parent.numChildren - 1)); } } }//package view.AdvanceFeatures.GlobalNotes
Section 146
//NotesThumbContainer (view.AdvanceFeatures.GlobalNotes.NotesThumbContainer) package view.AdvanceFeatures.GlobalNotes { import controller.*; import flash.events.*; import model.*; import accessibility.*; public class NotesThumbContainer extends Canvas { public var selectedPage:NotesPage; private var itemsPerPage:Number;// = 3 public var contentCanvas:Canvas; public var scrollPane:CustomScrollPane; public var selectedIndex:Number; public var selectedThumb:NotesThumbnail; public var workArea:Canvas; public function NotesThumbContainer(_arg1:Canvas){ workArea = _arg1; GlobalNotesPageList.getInstance().pageListArr = new Array(); scrollPane = new CustomScrollPane(); scrollPane.addEventListener(CustomScrollPane.PANE_SCROLL, paneScrollHandler); scrollPane.height = 390; scrollPane.width = 125; addChild(scrollPane); contentCanvas = new Canvas(); contentCanvas.childDirection = "VERTICAL"; contentCanvas.verticalItemHeight = (scrollPane.height / itemsPerPage); addChild(contentCanvas); scrollPane.source = contentCanvas; } private function removeNoteHandler(_arg1:Event):void{ var _local2:NotesThumbnail; var _local3:*; if (contentCanvas.numChildren > 1){ _local2 = (_arg1.target as NotesThumbnail); contentCanvas.removeChildAt(_local2.id); workArea.removeChild(_local2.page); contentCanvas.resetChildDirection(); rearrangeNoteIDs(); _local3 = contentCanvas.getChildAt((contentCanvas.numChildren - 1)); contentCanvas.height = (_local3.y + _local3.height); scrollPane.source = contentCanvas; showSelectedPage((contentCanvas.getChildAt((_local2.id - 1)) as NotesThumbnail)); rearrangeNoteIDs(); }; } public function createBlankNote():void{ var _local1:NotesThumbnail = new NotesThumbnail(); _local1.id = 0; _local1.addEventListener(NotesThumbnail.ADD_NOTE, addNewNoteAtHandler); _local1.addEventListener(NotesThumbnail.REMOVE_NOTE, removeNoteHandler); _local1.addEventListener(NotesThumbnail.THUMB_CLICK, noteThumbClickHandler); contentCanvas.addChild(_local1); var _local2:NotesPage = new NotesPage(); _local2.thumbnail = _local1; _local2.width = workArea.width; _local2.height = workArea.height; workArea.addChild(_local2); _local2.createScreen(); _local2.show(); _local2.id = 0; _local1.page = _local2; GlobalNotesPageList.getInstance().pageListArr.push(_local2); selectedIndex = 0; selectedPage = _local2; selectedThumb = _local1; } private function paneScrollHandler(_arg1:Event):void{ Controller.instance.initilizeAccesibility(AccessibilityConstants.GLOBALNOTES_POPUP); } private function rearrangeNoteIDs():void{ var _local2:NotesThumbnail; var _local1:int; while (_local1 < contentCanvas.numChildren) { _local2 = (contentCanvas.getChildAt(_local1) as NotesThumbnail); _local2.id = _local1; _local2.page.id = _local1; _local1++; }; } private function addNewNoteAtHandler(_arg1:Event):void{ var _local2:NotesThumbnail = (_arg1.target as NotesThumbnail); var _local3:Number = _local2.parent.getChildIndex(_local2); var _local4:NotesThumbnail = new NotesThumbnail(); _local4.addEventListener(NotesThumbnail.ADD_NOTE, addNewNoteAtHandler); _local4.addEventListener(NotesThumbnail.REMOVE_NOTE, removeNoteHandler); _local4.addEventListener(NotesThumbnail.THUMB_CLICK, noteThumbClickHandler); contentCanvas.addChildAt(_local4, (_local3 + 1)); var _local5:NotesPage = new NotesPage(); _local5.thumbnail = _local4; workArea.addChild(_local5); _local5.width = workArea.width; _local5.height = workArea.height; _local5.createScreen(); _local4.page = _local5; rearrangeNoteIDs(); var _local6:* = contentCanvas.getChildAt((contentCanvas.numChildren - 1)); contentCanvas.height = (_local6.y + _local6.height); scrollPane.source = contentCanvas; showSelectedPage(_local4); } private function showSelectedPage(_arg1:NotesThumbnail):void{ var _local3:NotesThumbnail; GlobalNotesPageList.getInstance().pageListArr = new Array(); var _local2:int; while (_local2 < contentCanvas.numChildren) { _local3 = (contentCanvas.getChildAt(_local2) as NotesThumbnail); GlobalNotesPageList.getInstance().pageListArr.push(_local3.page); _local3.page.hide(); _local2++; }; workArea.setChildIndex(_arg1.page, (workArea.numChildren - 1)); _arg1.page.show(); selectedIndex = _arg1.id; selectedPage = _arg1.page; selectedThumb = _arg1; Controller.instance.initilizeAccesibility(AccessibilityConstants.GLOBALNOTES_POPUP); } private function removeAllNotes():void{ var _local1:int = (contentCanvas.numChildren - 1); while (_local1 > -1) { contentCanvas.removeChildAt(_local1); _local1--; }; } private function noteThumbClickHandler(_arg1:Event):void{ var _local2:NotesThumbnail = (_arg1.target as NotesThumbnail); showSelectedPage(_local2); } private function createExistingNotes(_arg1:Object, _arg2:Number):void{ var _local3:NotesThumbnail = new NotesThumbnail(); _local3.id = _arg2; _local3.addEventListener(NotesThumbnail.ADD_NOTE, addNewNoteAtHandler); _local3.addEventListener(NotesThumbnail.REMOVE_NOTE, removeNoteHandler); _local3.addEventListener(NotesThumbnail.THUMB_CLICK, noteThumbClickHandler); contentCanvas.addChild(_local3); var _local4:NotesPage = new NotesPage(); _local4.thumbnail = _local3; _local4.hide(); workArea.addChild(_local4); _local4.width = workArea.width; _local4.height = workArea.height; _local4.updateScreen(_arg1); _local4.id = _arg2; _local3.page = _local4; GlobalNotesPageList.getInstance().pageListArr.push(_local4); if (_arg2 == 0){ selectedIndex = 0; selectedPage = _local4; selectedThumb = _local3; _local4.show(); }; } public function createExistingPages():void{ var _local2:int; var _local1:Array = GlobalNotesPageList.getInstance()._arrExistingPages; removeAllNotes(); if (_local1.length > 0){ _local2 = 0; while (_local2 < _local1.length) { createExistingNotes(_local1[_local2], _local2); _local2++; }; } else { createBlankNote(); }; } } }//package view.AdvanceFeatures.GlobalNotes
Section 147
//NotesThumbnail (view.AdvanceFeatures.GlobalNotes.NotesThumbnail) package view.AdvanceFeatures.GlobalNotes { import controller.*; import flash.events.*; public class NotesThumbnail extends NotesThumbnailGfx { public var page:NotesPage; public var _id:Number; public static const ADD_NOTE:String = "addNote"; public static const REMOVE_NOTE:String = "removeNote"; public static const THUMB_CLICK:String = "thumbClick"; public function NotesThumbnail(){ setHandCursors(); addBtn.visible = false; removeBtn.visible = false; this.addEventListener(MouseEvent.MOUSE_OVER, thumbMouseOverHandler); this.addEventListener(MouseEvent.MOUSE_OUT, thumbMouseOutHandler); addBtn.tooltip.visible = false; addBtn.addEventListener(MouseEvent.CLICK, addNoteClickHandler); addBtn.addEventListener(MouseEvent.MOUSE_OVER, addNoteOverHandler); addBtn.addEventListener(MouseEvent.MOUSE_OUT, addNoteOutHandler); removeBtn.tooltip.visible = false; removeBtn.addEventListener(MouseEvent.CLICK, removeNoteClickHandler); removeBtn.addEventListener(MouseEvent.MOUSE_OVER, removeNoteOverHandler); removeBtn.addEventListener(MouseEvent.MOUSE_OUT, removeNoteOutHandler); notesThumbBtn.addEventListener(MouseEvent.CLICK, thumbClickHandler); } private function removeNoteOverHandler(_arg1:MouseEvent):void{ removeBtn.tooltip.visible = true; } private function addNoteOverHandler(_arg1:MouseEvent):void{ addBtn.tooltip.visible = true; } private function thumbMouseOverHandler(_arg1:MouseEvent):void{ addBtn.visible = true; if (_id != 0){ removeBtn.visible = true; }; } public function setIdText(_arg1:String):void{ idTxt.text = _arg1; } private function thumbMouseOutHandler(_arg1:MouseEvent):void{ addBtn.visible = false; removeBtn.visible = false; } private function setHandCursors():void{ setHandCursor(notesThumbBtn); setHandCursor(addBtn); setHandCursor(removeBtn); } private function setHandCursor(_arg1):void{ _arg1.useHandCursor = true; _arg1.buttonMode = true; _arg1.mouseChildren = false; } private function removeNoteOutHandler(_arg1:MouseEvent):void{ removeBtn.tooltip.visible = false; } private function addNoteClickHandler(_arg1:MouseEvent):void{ dispatchEvent(new Event(ADD_NOTE)); } private function addNoteOutHandler(_arg1:MouseEvent):void{ addBtn.tooltip.visible = false; } private function removeNoteClickHandler(_arg1:MouseEvent):void{ dispatchEvent(new Event(REMOVE_NOTE)); } public function get id():Number{ return (_id); } public function set id(_arg1:Number):void{ _id = _arg1; } private function thumbClickHandler(_arg1:MouseEvent):void{ dispatchEvent(new Event(THUMB_CLICK)); Controller.instance.model.drawObject.drawingSprite = new Array(page); } } }//package view.AdvanceFeatures.GlobalNotes
Section 148
//HideContent (view.AdvanceFeatures.HideContent.HideContent) package view.AdvanceFeatures.HideContent { import controller.*; import model.*; public class HideContent { private static var c_objHideContent:HideContent = null; public function HideContent(_arg1:SingletonEnforcerer){ if (_arg1 == null){ return; }; } public function hideContent(_arg1:Boolean):void{ Controller.instance.view.getContentMask.visible = _arg1; if (_arg1){ Controller.instance.stopAudio(); }; Controller.instance.onPopUp(_arg1, Constants.BLANK_SCREEN); } public static function getInstance():HideContent{ if (_slot1.c_objHideContent == null){ _slot1.c_objHideContent = new HideContent(new SingletonEnforcerer()); }; return (_slot1.c_objHideContent); } } }//package view.AdvanceFeatures.HideContent class SingletonEnforcerer { private function SingletonEnforcerer(){ } }
Section 149
//AddLinkPanel (view.AdvanceFeatures.LinkHandler.AddLinkPanel) package view.AdvanceFeatures.LinkHandler { import controller.*; import flash.events.*; import flash.display.*; import view.*; import model.*; import accessibility.*; import flash.text.*; import event.*; public class AddLinkPanel extends Panel { private var _btnBrowse:CustomButton;// = null private var _btnURL:CustomButton;// = null private var _objLinkData:Hotspot;// = null private var _btnDelete:CustomButton;// = null private var _mcUrlSelection:MovieClip;// = null private var _btnOK:CustomButton;// = null private var _mcFileSelection:MovieClip;// = null private var _spUpdateLinkPanel:Sprite;// = null private var _btnEdit:CustomButton;// = null private var _strAction:String;// = null private var _btnFile:CustomButton;// = null private var _objDeleteLinkPanel:DeleteLinkPanel;// = null private var _spPanel:Sprite;// = null private var _arrLinkItem:Array;// = null private var _objCurrentLinkItem:HotspotClip;// = null private var _btnCancel:CustomButton;// = null public static const DELETE_LINK:String = "delete_link"; private static const EDIT_LINK:String = "edit_link"; public function AddLinkPanel(_arg1:Sprite, _arg2:Sprite, _arg3:DeleteLinkPanel, _arg4:Sprite){ super(_arg1, _arg2); _spPanel = _arg1; _objDeleteLinkPanel = _arg3; _spUpdateLinkPanel = _arg4; init(_arg2); } private function assignEventOnRadioButton():void{ var _local1:DisplayObject = _spPanel.getChildByName("mcRadioButton_File"); var _local2:DisplayObject = _spPanel.getChildByName("mcRadioButton_Url"); if (((!((_local1 == null))) && (!((_local2 == null))))){ _btnFile = new CustomButton(_local1); _btnFile.__bToggle = false; _btnFile.__id = Hotspot.TYPE_INTERNAL; _btnFile.setState(CustomButton.STATE_SELECTED); _btnFile.addEventListener(MouseEvent.CLICK, resetLinkPanel); _btnURL = new CustomButton(_local2); _btnURL.__bToggle = false; _btnURL.__id = Hotspot.TYPE_WEB; _btnURL.setState(CustomButton.STATE_NORMAL); _btnURL.addEventListener(MouseEvent.CLICK, resetLinkPanel); }; } private function onDeleteLink(_arg1:CustomButton):void{ if (_objDeleteLinkPanel != null){ _objCurrentLinkItem = (Controller.instance.view.updateLinkPanel.parent as HotspotClip); _objDeleteLinkPanel.show(true); Controller.instance.onPopUp(true); }; } private function setEnable(_arg1:MovieClip, _arg2:Boolean):void{ var _local4:Number; if (_arg1 != null){ _arg1.mouseChildren = _arg2; _local4 = ((_arg2)==true) ? 1 : 0.5; _arg1.alpha = _local4; }; var _local3:TextField = (_arg1.getChildByName("txtUrl") as TextField); if (_local3 != null){ _local3.text = ""; if (_arg2 == true){ _spPanel.stage.focus = _local3; }; }; } private function onPanelClose(_arg1:Event):void{ onPopUp(false); resetLinkPanel(_btnFile); } private function assignEventOnUpdateLinkButtons():void{ var _local3:CustomButton; var _local4:CustomButton; var _local1:DisplayObject = _spUpdateLinkPanel.getChildByName("mcEditLink"); if (_local1 != null){ _local3 = new CustomButton(_local1); _local3.setState(CustomButton.STATE_NORMAL); _local3.addEventListener(MouseEvent.CLICK, onEditLink); }; var _local2:DisplayObject = _spUpdateLinkPanel.getChildByName("mcDeleteLink"); if (_local2 != null){ _local4 = new CustomButton(_local2); _local4.setState(CustomButton.STATE_NORMAL); _local4.addEventListener(MouseEvent.CLICK, onDeleteLink); }; } private function init(_arg1:Sprite):void{ if (_objDeleteLinkPanel != null){ _objDeleteLinkPanel.addEventListener(DELETE_LINK, onLinkDeleted); }; if (_spUpdateLinkPanel != null){ assignEventOnUpdateLinkButtons(); }; _arrLinkItem = new Array(); _mcFileSelection = (_spPanel.getChildByName("mcFileSelection") as MovieClip); _mcUrlSelection = (_spPanel.getChildByName("mcUrlSelection") as MovieClip); addListeners(); } private function attachLinkItem():void{ setHotSpotData(); var _local1:Link = new Link(_objLinkData); var _local2:int = getHotSpotIndexInArray(_objLinkData.pageNum); if (_local2 == -1){ _arrLinkItem.push({pageNum:_objLinkData.pageNum, linkItem:[_local1], bAdded:true}); } else { _arrLinkItem[_local2].linkItem.push(_local1); }; getPageInstance(_objLinkData.target).updateHotSpotTabArray(_local1.linkClip); Controller.instance.initilizeAccesibility(AccessibilityConstants.CONTENT1_PAGEITEM); _objLinkData = new Hotspot(); } private function resetLinkPanel(_arg1:CustomButton):void{ _arg1.setState(CustomButton.STATE_SELECTED); if (_arg1.__id == Hotspot.TYPE_INTERNAL){ _btnFile.setEnabled(false); _btnURL.setState(CustomButton.STATE_NORMAL); setEnable(_mcFileSelection, true); setEnable(_mcUrlSelection, false); } else { _btnURL.setEnabled(false); _btnFile.setState(CustomButton.STATE_NORMAL); setEnable(_mcFileSelection, false); setEnable(_mcUrlSelection, true); }; onTextChange(); } private function addListeners():void{ addEventListener(Panel.PANEL_CLOSE, onPanelClose); LinkCursor.instance.addEventListener(LinkCursor.ADD_LINK, showLinkPanel); assignEventOnRadioButton(); var _local1:DisplayObject = _spPanel.getChildByName("mcOk"); if (_local1 != null){ _btnOK = new CustomButton(_local1); _btnOK.setState(CustomButton.STATE_DISABLED); _btnOK.setEnabled(false); _btnOK.addEventListener(MouseEvent.CLICK, onOK); }; var _local2:DisplayObject = _spPanel.getChildByName("mcCancel"); if (_local2 != null){ _btnCancel = new CustomButton(_local2); _btnCancel.setState(CustomButton.STATE_NORMAL); _btnCancel.addEventListener(MouseEvent.CLICK, onCancel); }; var _local3:TextField = (_mcFileSelection.getChildByName("txtUrl") as TextField); _local3.addEventListener(Event.CHANGE, onTextChange); var _local4:TextField = (_mcUrlSelection.getChildByName("txtUrl") as TextField); _local4.addEventListener(Event.CHANGE, onTextChange); } private function onEditLink(_arg1:CustomButton):void{ _strAction = EDIT_LINK; _objCurrentLinkItem = (Controller.instance.view.updateLinkPanel.parent as HotspotClip); var _local2:CustomButton = ((_objCurrentLinkItem.data.type)==Hotspot.TYPE_WEB) ? _btnURL : _btnFile; resetLinkPanel(_local2); var _local3:MovieClip = ((_objCurrentLinkItem.data.type)==Hotspot.TYPE_WEB) ? _mcUrlSelection : _mcFileSelection; var _local4:TextField = (_local3.getChildByName("txtUrl") as TextField); _local4.text = _objCurrentLinkItem.data.url; _spPanel.stage.focus = _local4; _local4.setSelection(0, _local4.length); _btnOK.setState(CustomButton.STATE_NORMAL); _btnOK.setEnabled(true); onPopUp(true); } private function showLinkPanel(_arg1:CustomEvent):void{ _strAction = LinkCursor.ADD_LINK; _objLinkData = new Hotspot(); _objLinkData.x = _arg1.data.xPos; _objLinkData.y = _arg1.data.yPos; _objLinkData.pageNum = _arg1.data.pageNum; _objLinkData.target = _arg1.data.target; Controller.instance.view.toolbar.onAddLinkClick(null); setPanelDefaultState(); onPopUp(true); } private function onPopUp(_arg1:Boolean):void{ if (!_arg1){ _strAction = null; }; show(_arg1); Controller.instance.onPopUp(_arg1); } public function updateLinkArray(_arg1:Array):void{ _arrLinkItem = _arg1; } private function getPageInstance(_arg1:Sprite){ var _local2:uint = Controller.instance.view.content.pageCount; var _local3:uint; while (_local3 < _local2) { if (_arg1 == Controller.instance.view.content.contentPages[_local3].linkContainer){ return (Controller.instance.view.content.contentPages[_local3]); }; _local3++; }; } public function removeAllLinks(_arg1:Sprite):void{ while (_arg1.numChildren > 0) { _arg1.removeChildAt(0); }; } private function onCancel(_arg1:CustomButton):void{ onPopUp(false); resetLinkPanel(_btnFile); } private function setPanelDefaultState():void{ setEnable(_mcUrlSelection, false); setEnable(_mcFileSelection, true); _btnFile.setEnabled(false); } public function showExistingLink(_arg1:uint, _arg2:Sprite):void{ var _local4:Array; var _local5:uint; var _local6:*; var _local7:uint; var _local8:Hotspot; var _local9:Link; var _local3:int = getHotSpotIndexInArray(_arg1); if (_local3 != -1){ _local4 = _arrLinkItem[_local3].linkItem; _local5 = _local4.length; _local6 = getPageInstance(_arg2); if (!_arrLinkItem[_local3].bAdded){ _local7 = 0; while (_local7 < _local5) { _local8 = _local4[_local7]; _local8.target = _arg2; _local8.pageNum = _arg1; _local9 = new Link(_local8); _local4[_local7] = _local9; _local6.updateHotSpotTabArray(_local4[_local7].linkClip); _local7++; }; _arrLinkItem[_local3].bAdded = true; } else { _local7 = 0; while (_local7 < _local5) { _arg2.addChild(_local4[_local7].linkClip); _local6.updateHotSpotTabArray(_local4[_local7].linkClip); _local7++; }; }; }; } public function activateLinkCursor(_arg1:Boolean):void{ LinkCursor.instance.activateLinkCursor(_arg1); } public function getLinkArray(_arg1:uint):Array{ var _local2:int = getHotSpotIndexInArray(_arg1); if (_local2 == -1){ return (null); }; return (_arrLinkItem[_local2].linkItem); } private function getHotSpotIndexInArray(_arg1:uint):int{ var _local2:uint = _arrLinkItem.length; var _local3:int; while (_local3 < _local2) { if (_arg1 == _arrLinkItem[_local3].pageNum){ return (_local3); }; _local3++; }; return (-1); } private function getLinkUrl():String{ var _local1:TextField = (_mcFileSelection.getChildByName("txtUrl") as TextField); if (_local1.text != ""){ return (_local1.text); }; var _local2:TextField = (_mcUrlSelection.getChildByName("txtUrl") as TextField); if (_local2.text != ""){ return (_local2.text); }; return (null); } private function onLinkDeleted(_arg1:Event):void{ var _local6:Link; var _local2:int = getHotSpotIndexInArray(_objCurrentLinkItem.data.pageNum); var _local3:Array = _arrLinkItem[_local2].linkItem; var _local4:uint = _local3.length; var _local5:uint; while (_local5 < _local4) { if (_local3[_local5].linkClip == _objCurrentLinkItem){ _local6 = _local3[_local5]; _local6.removeAllListeners(); getPageInstance(Sprite(_local6.linkClip.parent)).updateHotSpotTabArray(_local6.linkClip, DELETE_LINK); Controller.instance.initilizeAccesibility(AccessibilityConstants.CONTENT1_PAGEITEM); _local6.linkClip.parent.removeChild(_local6.linkClip); _local3.splice(_local5, 1); break; }; _local5++; }; onCancel(null); } private function setCurrentItem(_arg1:Event):void{ var _local2:Link = (_arg1["target"] as Link); _objCurrentLinkItem = _local2.linkClip; } private function onOK(_arg1:CustomButton):void{ var _local2:Number = ((_btnFile.currentState)==CustomButton.STATE_SELECTED) ? Hotspot.TYPE_INTERNAL : Hotspot.TYPE_WEB; var _local3:String = getLinkUrl(); switch (_strAction){ case LinkCursor.ADD_LINK: _objLinkData.type = _local2; _objLinkData.url = _local3; attachLinkItem(); break; case EDIT_LINK: _objCurrentLinkItem.data.type = _local2; _objCurrentLinkItem.data.url = _local3; _objCurrentLinkItem.data.tooltip = _local3; _objCurrentLinkItem.updateToolTipText(); break; }; onPopUp(false); resetLinkPanel(_btnFile); } private function onTextChange(_arg1:Event=null):void{ var _local3:String; var _local2:Boolean = ((getLinkUrl())==null) ? false : true; if (_btnOK.getEnabled() != _local2){ _local3 = (_local2) ? CustomButton.STATE_NORMAL : CustomButton.STATE_DISABLED; _btnOK.setState(_local3); _btnOK.setEnabled(_local2); }; } private function setHotSpotData():void{ var _local1:HSPoint = new HSPoint(); _local1.y = _objLinkData.y; _local1.x = _objLinkData.x; _objLinkData.points = [_local1, _local1]; _objLinkData.use_icon = true; _objLinkData.shape = Hotspot.SHAPE_RECTANGLE; _objLinkData.bCreateToolTip = true; } } }//package view.AdvanceFeatures.LinkHandler
Section 150
//DeleteLinkPanel (view.AdvanceFeatures.LinkHandler.DeleteLinkPanel) package view.AdvanceFeatures.LinkHandler { import controller.*; import flash.events.*; import flash.display.*; import view.*; public class DeleteLinkPanel extends Panel { private var _spPanel:Sprite;// = null public function DeleteLinkPanel(_arg1:Sprite, _arg2:Sprite){ super(_arg1, _arg2); _spPanel = _arg1; init(); } private function init():void{ show(false); addListeners(); } private function onNoClicked(_arg1:CustomButton):void{ onPopUp(false); } private function onPanelClose(_arg1:Event):void{ Controller.instance.onPopUp(false); } private function onPopUp(_arg1:Boolean):void{ show(_arg1); Controller.instance.onPopUp(_arg1); } private function addListeners():void{ var _local3:CustomButton; var _local4:CustomButton; addEventListener(Panel.PANEL_CLOSE, onPanelClose); var _local1:DisplayObject = _spPanel.getChildByName("mcYes"); if (_local1 != null){ _local3 = new CustomButton(_local1); _local3.setState(CustomButton.STATE_NORMAL); _local3.addEventListener(MouseEvent.CLICK, onYesClicked); }; var _local2:DisplayObject = _spPanel.getChildByName("mcNo"); if (_local2 != null){ _local4 = new CustomButton(_local2); _local4.setState(CustomButton.STATE_NORMAL); _local4.addEventListener(MouseEvent.CLICK, onNoClicked); }; } private function onYesClicked(_arg1:CustomButton):void{ onPopUp(false); dispatchEvent(new Event(AddLinkPanel.DELETE_LINK)); } } }//package view.AdvanceFeatures.LinkHandler
Section 151
//Link (view.AdvanceFeatures.LinkHandler.Link) package view.AdvanceFeatures.LinkHandler { import controller.*; import flash.events.*; import flash.display.*; import view.*; import model.*; public class Link extends EventDispatcher { private var _spLinkItem:HotspotClip;// = null private var _objLinkData:Hotspot;// = null public function Link(_arg1:Hotspot){ _objLinkData = _arg1; createLinkClip(); } private function addUpdateLinkPanel():void{ var _local2:Number; var _local3:Number; var _local1:Sprite = Controller.instance.view.updateLinkPanel; if (_local1 != null){ _spLinkItem.addChild(_local1); _local2 = 4; _local3 = ((_spLinkItem.getChildByName("icon"))!=null) ? (_spLinkItem.getChildByName("icon").width / 2) : 0; _local1.x = ((_objLinkData.points[0].x + _local3) + _local2); _local1.y = _objLinkData.points[0].y; if ((_local1.x + _local1.width) > Controller.instance.model.configManager.pageWidth){ _local1.x = (_local1.x - ((_local1.width + _local3) + 2)); }; _local1.visible = true; }; } public function removeAllListeners():void{ _spLinkItem.removeEventListener(MouseEvent.CLICK, onListItemClick); if (_spLinkItem.hasEventListener(MouseEvent.ROLL_OVER)){ _spLinkItem.removeEventListener(MouseEvent.ROLL_OVER, onRollOver); }; if (_spLinkItem.hasEventListener(MouseEvent.ROLL_OUT)){ _spLinkItem.removeEventListener(MouseEvent.ROLL_OUT, onRollOut); }; } private function createLinkClip():void{ _objLinkData.tooltip = _objLinkData.url; _objLinkData.bCreateToolTip = true; _spLinkItem = new HotspotClip(_objLinkData); _spLinkItem.name = ((("LinkItem_" + _objLinkData.pageNum) + "_") + _objLinkData.target.numChildren); _objLinkData.target.addChild(_spLinkItem); _spLinkItem.addEventListener(MouseEvent.CLICK, onListItemClick); _spLinkItem.addEventListener(MouseEvent.ROLL_OVER, onRollOver); _spLinkItem.addEventListener(MouseEvent.ROLL_OUT, onRollOut); } public function get linkClip():HotspotClip{ return (_spLinkItem); } private function onRollOver(_arg1:MouseEvent):void{ addUpdateLinkPanel(); } private function onRollOut(_arg1:MouseEvent):void{ var _local3:DisplayObjectContainer; var _local2:Sprite = Controller.instance.view.updateLinkPanel; if (_local2 != null){ _local2.visible = false; _local3 = (Controller.instance.view.instance as DisplayObjectContainer); _local3.addChild(_local2); }; } private function openLinkPage():void{ var _local3:int; var _local1:Model = Controller.instance.model; var _local2:int = _local1.pageIDMapper(_objLinkData.url); Controller.instance.loadPage(_local2); if (((((!(isNaN(_local2))) && ((_local2 >= 1)))) && ((_local2 <= _local1.ebook.pages)))){ _local3 = Controller.instance.view.content.pageCount; if ((((_local2 == _local1.pageIndex)) || ((((_local3 == 2)) && ((_local2 == (_local1.pageIndex - 1))))))){ return; }; Controller.instance.loadPage(_local2); } else { if (Config.SHOW_PAGE_ERROR_MESSAGE){ Controller.instance.view.errorWindow.showError(ErrorMessages.INVALID_PAGE); if (Config.USE_EXTERNAL_TABLE_OF_CONTENT){ Controller.instance.view.tableOfContent.visible = false; }; }; Controller.instance.view.toolbar.update(); }; } private function onListItemClick(_arg1:MouseEvent):void{ var _local4:String; var _local5:DisplayObjectContainer; if ((_arg1.target is SimpleButton)){ return; }; var _local2:HotspotClip = (_arg1.target as HotspotClip); switch (_local2.data.type){ case Hotspot.TYPE_INTERNAL: openLinkPage(); break; case Hotspot.TYPE_WEB: _local4 = _objLinkData.url.replace(/\\/g, "/"); Controller.instance.loadURL(_local4, "web", null, false); break; }; var _local3:Sprite = Controller.instance.view.updateLinkPanel; if (_local3 != null){ _local3.visible = false; _local5 = (Controller.instance.view.instance as DisplayObjectContainer); _local5.addChild(_local3); }; } } }//package view.AdvanceFeatures.LinkHandler
Section 152
//LinkCursor (view.AdvanceFeatures.LinkHandler.LinkCursor) package view.AdvanceFeatures.LinkHandler { import controller.*; import flash.events.*; import flash.display.*; import model.*; import view.AdvanceFeatures.CustomCursor.*; import flash.ui.*; import event.*; public class LinkCursor extends EventDispatcher { private var _mcCursor:MovieClip;// = null public static const ADD_LINK:String = "add_link"; private static var _objLinkCursor:LinkCursor = null; public function LinkCursor(){ _mcCursor = CursorManager.getInstance().getCustomCursor(); } private function getPageNum(_arg1:Sprite):uint{ var _local2:uint = Controller.instance.view.content.pageCount; var _local3:uint = Controller.instance.model.pageIndex; if ((((_local2 == 2)) && ((_arg1 == Controller.instance.view.content.contentPages[0].linkContainer)))){ return ((_local3 - 1)); }; return (_local3); } private function showCursor(_arg1:MouseEvent):void{ _mcCursor.visible = true; Mouse.hide(); } private function enableLinkContainer(_arg1:Boolean):void{ var _local2:uint = Controller.instance.view.content.pageCount; var _local3:uint; while (_local3 < _local2) { Controller.instance.view.content.contentPages[_local3].linkContainer.mouseEnabled = _arg1; _local3++; }; } private function moveCursor(_arg1:MouseEvent):void{ var _local2:Stage; if (_mcCursor != null){ _local2 = Controller.instance.stage; _mcCursor.x = _local2.mouseX; _mcCursor.y = _local2.mouseY; }; } private function removeListener():void{ var _local3:Sprite; var _local1:uint = Controller.instance.view.content.pageCount; var _local2:uint; while (_local2 < _local1) { _local3 = Controller.instance.view.content.contentPages[_local2].linkContainer; _local3.removeEventListener(MouseEvent.MOUSE_MOVE, moveCursor); _local3.removeEventListener(MouseEvent.CLICK, onMouseClick); _local3.removeEventListener(MouseEvent.MOUSE_OVER, showCursor); _local3.removeEventListener(MouseEvent.MOUSE_OUT, hideCursor); _local2++; }; } private function onMouseClick(_arg1:MouseEvent):void{ var _local2:Sprite = (_arg1["target"] as Sprite); dispatchEvent(new CustomEvent(ADD_LINK, false, false, {xPos:_local2.mouseX, yPos:_local2.mouseY, target:_local2, pageNum:getPageNum(_local2)})); } public function activateLinkCursor(_arg1:Boolean):void{ CursorManager.getInstance().setCustomCursor(Constants.ADD_LINK_CURSOR, null, _arg1); enableLinkContainer(_arg1); if (_arg1 == true){ addListeners(); } else { removeListener(); }; } private function addListeners():void{ var _local3:Sprite; var _local1:uint = Controller.instance.view.content.pageCount; var _local2:uint; while (_local2 < _local1) { _local3 = Controller.instance.view.content.contentPages[_local2].linkContainer; _local3.addEventListener(MouseEvent.MOUSE_MOVE, moveCursor); _local3.addEventListener(MouseEvent.CLICK, onMouseClick); _local3.addEventListener(MouseEvent.MOUSE_OVER, showCursor); _local3.addEventListener(MouseEvent.MOUSE_OUT, hideCursor); _local2++; }; } private function hideCursor(_arg1:MouseEvent):void{ _mcCursor.visible = false; Mouse.show(); } public static function get instance():LinkCursor{ if (_objLinkCursor == null){ _objLinkCursor = new (LinkCursor); }; return (_objLinkCursor); } } }//package view.AdvanceFeatures.LinkHandler
Section 153
//SeekControl (view.AdvanceFeatures.MP3Player.controls.SeekControl) package view.AdvanceFeatures.MP3Player.controls { import flash.events.*; import flash.display.*; import flash.geom.*; public class SeekControl extends MovieClip { private var _objRectBound:Rectangle; private var _mcSeekBar:MovieClip; private var _bSeeking:Boolean; private var _nPercent:Number; public function SeekControl(_arg1:MovieClip){ _bSeeking = false; percent = 0; _mcSeekBar = _arg1; _mcSeekBar.mcFillBar.x = (_mcSeekBar.mcFillBar.x - _mcSeekBar.mcFillBar.width); _objRectBound = new Rectangle(0, _mcSeekBar.mcSeekHandle.y, _mcSeekBar.mcSeekHit.width, 0); _mcSeekBar.mcSeekHit.addEventListener(MouseEvent.MOUSE_DOWN, dragHandle, false, 0, true); _mcSeekBar.mcSeekHandle.addEventListener(MouseEvent.MOUSE_DOWN, dragHandle, false, 0, true); _mcSeekBar.mcSeekHandle.addEventListener(MouseEvent.MOUSE_UP, endDrag, false, 0, true); _mcSeekBar.mcSeekHandle.addEventListener(MouseEvent.MOUSE_OUT, endDrag, false, 0, true); } public function get percent():Number{ return (_nPercent); } public function set percent(_arg1:Number):void{ _nPercent = _arg1; } public function moveSeekPos(_arg1:Number):void{ _mcSeekBar.mcFillBar.x = ((_mcSeekBar.mcFillBar.width * _arg1) - _mcSeekBar.mcFillBar.width); if (!_bSeeking){ _mcSeekBar.mcSeekHandle.x = (100 * _arg1); percent = _arg1; }; } private function endDrag(_arg1:MouseEvent):void{ _bSeeking = false; _mcSeekBar.mcSeekHandle.stopDrag(); _mcSeekBar.mcFillBar.x = (_mcSeekBar.mcSeekHandle.x - _mcSeekBar.mcFillBar.width); percent = (_mcSeekBar.mcSeekHandle.x / 100); dispatchEvent(new Event("seek_change")); } private function dragHandle(_arg1:MouseEvent):void{ _bSeeking = true; _mcSeekBar.mcSeekHandle.startDrag(true, _objRectBound); } public function removeListeners():void{ percent = 1; _bSeeking = false; _mcSeekBar.mcSeekHit.removeEventListener(MouseEvent.MOUSE_DOWN, dragHandle); _mcSeekBar.mcSeekHandle.removeEventListener(MouseEvent.MOUSE_DOWN, dragHandle); _mcSeekBar.mcSeekHandle.removeEventListener(MouseEvent.MOUSE_UP, endDrag); _mcSeekBar.mcSeekHandle.removeEventListener(MouseEvent.MOUSE_OUT, endDrag); } } }//package view.AdvanceFeatures.MP3Player.controls
Section 154
//VolControl (view.AdvanceFeatures.MP3Player.controls.VolControl) package view.AdvanceFeatures.MP3Player.controls { import flash.events.*; import flash.display.*; import flash.geom.*; public class VolControl extends MovieClip { private var _objRectBound:Rectangle; private var _mcVolumeControl:MovieClip; private var _nPercent:Number; public function VolControl(_arg1:MovieClip){ percent = 1; _mcVolumeControl = _arg1; _objRectBound = new Rectangle(0, _mcVolumeControl.mcVolumeHandle.y, _mcVolumeControl.mcVolumeBar.width, 0); _mcVolumeControl.mcVolumeBar.mcHit.addEventListener(MouseEvent.MOUSE_DOWN, dragHandle, false, 0, true); _mcVolumeControl.mcVolumeHandle.addEventListener(MouseEvent.MOUSE_DOWN, dragHandle, false, 0, true); _mcVolumeControl.mcVolumeHandle.addEventListener(MouseEvent.MOUSE_UP, endDrag, false, 0, true); _mcVolumeControl.mcVolumeHandle.addEventListener(MouseEvent.MOUSE_OUT, endDrag, false, 0, true); } public function get percent():Number{ return (_nPercent); } private function changeVolume(_arg1:Event):void{ _mcVolumeControl.mcVolumeBar.mcFillBar.mcFill.x = (_mcVolumeControl.mcVolumeHandle.x - _mcVolumeControl.mcVolumeBar.mcFillBar.mcFill.width); percent = (_mcVolumeControl.mcVolumeHandle.x / 50); dispatchEvent(new Event("volume_change")); } private function endDrag(_arg1:MouseEvent):void{ _mcVolumeControl.mcVolumeHandle.stopDrag(); _mcVolumeControl.mcVolumeBar.mcFillBar.mcFill.x = (_mcVolumeControl.mcVolumeHandle.x - _mcVolumeControl.mcVolumeBar.mcFillBar.mcFill.width); percent = (_mcVolumeControl.mcVolumeHandle.x / 50); dispatchEvent(new Event("volume_change")); this.removeEventListener(Event.ENTER_FRAME, changeVolume); } public function set percent(_arg1:Number):void{ _nPercent = _arg1; } public function removeListeners():void{ percent = 1; _mcVolumeControl.mcVolumeBar.mcHit.removeEventListener(MouseEvent.MOUSE_DOWN, dragHandle); _mcVolumeControl.mcVolumeHandle.removeEventListener(MouseEvent.MOUSE_DOWN, dragHandle); _mcVolumeControl.mcVolumeHandle.removeEventListener(MouseEvent.MOUSE_UP, endDrag); _mcVolumeControl.mcVolumeHandle.removeEventListener(MouseEvent.MOUSE_OUT, endDrag); } private function dragHandle(_arg1:MouseEvent):void{ _mcVolumeControl.mcVolumeHandle.startDrag(true, _objRectBound); this.addEventListener(Event.ENTER_FRAME, changeVolume, false, 0, true); } } }//package view.AdvanceFeatures.MP3Player.controls
Section 155
//MP3Player (view.AdvanceFeatures.MP3Player.MP3Player) package view.AdvanceFeatures.MP3Player { import controller.*; import flash.events.*; import flash.display.*; import flash.net.*; import flash.media.*; import view.AdvanceFeatures.MP3Player.controls.*; public class MP3Player extends AudioPlayerGfx { private const SOUND_GAP:Number = 0.25; private var _objVolumeControl:VolControl;// = null private var _arrAudioData:Array;// = null private var _mcVolume:MovieClip;// = null private var _objSound:Sound; private var _nPosition:Number; private var _mcBack:MovieClip;// = null private var _objSoundChannel:SoundChannel; private var _mcForward:MovieClip;// = null private var _objSndTransform:SoundTransform;// = null private var _iCurrentIndex:int;// = -1 private var _objSeekControl:SeekControl;// = null private var _mcMute:MovieClip;// = null public function MP3Player(){ _mcBack = (getChildByName("mcBack") as MovieClip); if (_mcBack != null){ _mcBack.stop(); _mcBack.mouseChildren = false; }; _mcForward = (getChildByName("mcForward") as MovieClip); if (_mcForward != null){ _mcForward.stop(); _mcForward.mouseChildren = false; }; _mcMute = (getChildByName("mcMute") as MovieClip); if (_mcMute != null){ _mcMute.isMute = false; _mcMute.mouseChildren = false; _mcMute.stop(); }; mcPlayPause.playing = false; mcPlayPause.mouseChildren = false; mcPlayPause.stop(); mcStop.stop(); mcStop.mouseChildren = false; _mcVolume = (getChildByName("mcVolume") as MovieClip); if (_mcVolume != null){ _objVolumeControl = new VolControl(_mcVolume); }; _objSeekControl = new SeekControl(mcSeekBar); _nPosition = 0; if (_objVolumeControl != null){ _objSndTransform = new SoundTransform(_objVolumeControl.percent); }; addListeners(); } private function ForwardOut(_arg1:MouseEvent):void{ var _local2:Object = _arg1.currentTarget; _local2.gotoAndStop("forward"); } private function MuteDown(_arg1:MouseEvent):void{ var _local2:Object = _arg1.currentTarget; if (_local2.isMute){ _local2.gotoAndStop("unmute_down"); } else { _local2.gotoAndStop("mute_down"); }; } private function BackUp(_arg1:MouseEvent):void{ var _local2:Object = _arg1.currentTarget; _local2.gotoAndStop("back"); var _local3:Number = ((_objSound.length / (_objSound.bytesLoaded / _objSound.bytesTotal)) * (_objSeekControl.percent - SOUND_GAP)); if (_local3 > 0){ _objSeekControl.moveSeekPos((_objSeekControl.percent - SOUND_GAP)); changeSeekBar(null); } else { _objSeekControl.moveSeekPos(0); changeSeekBar(null); }; } private function PlayUp(_arg1:MouseEvent):void{ var _local2:Object = _arg1.currentTarget; if (_local2.playing){ _local2.gotoAndStop("play_over"); _nPosition = _objSoundChannel.position; _objSoundChannel.stop(); _local2.playing = false; } else { if (_objSound == null){ loadAudio(_arrAudioData[_iCurrentIndex].path); _nPosition = 0; mcPlayPause.playing = true; mcPlayPause.gotoAndStop("pause"); } else { if (_nPosition >= _objSound.length){ StopUp(null); } else { _local2.gotoAndStop("pause_over"); _objSoundChannel = _objSound.play(_nPosition); if (_objSndTransform != null){ _objSoundChannel.soundTransform = (_mcMute.isMute) ? new SoundTransform(0) : _objSndTransform; }; _objSoundChannel.addEventListener(Event.SOUND_COMPLETE, soundComplete, false, 0, true); this.addEventListener(Event.ENTER_FRAME, updateSeek, false, 0, true); _local2.playing = true; }; }; }; } public function loadAudio(_arg1:String):void{ Controller.instance.tracer(("strUrl : " + _arg1)); _objSound = new Sound(); _objSound.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler, false, 0, true); _objSound.addEventListener(Event.COMPLETE, onLoadAudio); _objSound.load(new URLRequest(_arg1)); } private function PlayDown(_arg1:MouseEvent):void{ var _local2:Object = _arg1.currentTarget; if (_local2.playing){ _local2.gotoAndStop("pause_down"); } else { _local2.gotoAndStop("play_down"); }; } private function ForwardOver(_arg1:MouseEvent):void{ var _local2:Object = _arg1.currentTarget; _local2.gotoAndStop("forward_over"); } private function removeListeners():void{ if (_objVolumeControl != null){ _objVolumeControl.removeListeners(); _objVolumeControl.removeEventListener("volume_change", updateVolume); }; if (_objSeekControl != null){ _objSeekControl.removeListeners(); _objSeekControl.removeEventListener("seek_change", changeSeekBar); }; mcPlayPause.removeEventListener(MouseEvent.MOUSE_OVER, PlayOver); mcPlayPause.removeEventListener(MouseEvent.MOUSE_OUT, PlayOut); mcPlayPause.removeEventListener(MouseEvent.MOUSE_DOWN, PlayDown); mcPlayPause.removeEventListener(MouseEvent.MOUSE_UP, PlayUp); mcStop.removeEventListener(MouseEvent.MOUSE_OVER, StopOver); mcStop.removeEventListener(MouseEvent.MOUSE_OUT, StopOut); mcStop.removeEventListener(MouseEvent.MOUSE_DOWN, StopDown); mcStop.removeEventListener(MouseEvent.MOUSE_UP, StopUp); if (_mcMute != null){ _mcMute.removeEventListener(MouseEvent.MOUSE_OVER, MuteOver); _mcMute.removeEventListener(MouseEvent.MOUSE_OUT, MuteOut); _mcMute.removeEventListener(MouseEvent.MOUSE_DOWN, MuteDown); _mcMute.removeEventListener(MouseEvent.MOUSE_UP, MuteUp); }; if (_mcBack != null){ _mcBack.removeEventListener(MouseEvent.MOUSE_OVER, BackOver); _mcBack.removeEventListener(MouseEvent.MOUSE_OUT, BackOut); _mcBack.removeEventListener(MouseEvent.MOUSE_DOWN, BackDown); _mcBack.removeEventListener(MouseEvent.MOUSE_UP, BackUp); }; if (_mcForward != null){ _mcForward.removeEventListener(MouseEvent.MOUSE_OVER, ForwardOver); _mcForward.removeEventListener(MouseEvent.MOUSE_OUT, ForwardOut); _mcForward.removeEventListener(MouseEvent.MOUSE_DOWN, ForwardDown); _mcForward.removeEventListener(MouseEvent.MOUSE_UP, ForwardUp); }; _objSndTransform = null; _objSoundChannel = null; _objSound = null; } private function addListeners():void{ if (_objVolumeControl != null){ _objVolumeControl.addEventListener("volume_change", updateVolume, false, 0, true); }; _objSeekControl.addEventListener("seek_change", changeSeekBar, false, 0, true); mcPlayPause.addEventListener(MouseEvent.MOUSE_OVER, PlayOver); mcPlayPause.addEventListener(MouseEvent.MOUSE_OUT, PlayOut); mcPlayPause.addEventListener(MouseEvent.MOUSE_DOWN, PlayDown); mcPlayPause.addEventListener(MouseEvent.MOUSE_UP, PlayUp); mcStop.addEventListener(MouseEvent.MOUSE_OVER, StopOver); mcStop.addEventListener(MouseEvent.MOUSE_OUT, StopOut); mcStop.addEventListener(MouseEvent.MOUSE_DOWN, StopDown); mcStop.addEventListener(MouseEvent.MOUSE_UP, StopUp); if (_mcMute != null){ _mcMute.addEventListener(MouseEvent.MOUSE_OVER, MuteOver); _mcMute.addEventListener(MouseEvent.MOUSE_OUT, MuteOut); _mcMute.addEventListener(MouseEvent.MOUSE_DOWN, MuteDown); _mcMute.addEventListener(MouseEvent.MOUSE_UP, MuteUp); }; if (_mcBack != null){ _mcBack.addEventListener(MouseEvent.MOUSE_OVER, BackOver); _mcBack.addEventListener(MouseEvent.MOUSE_OUT, BackOut); _mcBack.addEventListener(MouseEvent.MOUSE_DOWN, BackDown); _mcBack.addEventListener(MouseEvent.MOUSE_UP, BackUp); }; if (_mcForward != null){ _mcForward.addEventListener(MouseEvent.MOUSE_OVER, ForwardOver); _mcForward.addEventListener(MouseEvent.MOUSE_OUT, ForwardOut); _mcForward.addEventListener(MouseEvent.MOUSE_DOWN, ForwardDown); _mcForward.addEventListener(MouseEvent.MOUSE_UP, ForwardUp); }; } public function killAudio():void{ try { _objSound.close(); } catch(error:Error) { }; try { _objSoundChannel.stop(); } catch(error:Error) { }; } public function onItemClick(_arg1:Sprite):void{ killAudio(); _objSeekControl.moveSeekPos(0); var _local2:uint = _arrAudioData.length; var _local3:uint; while (_local3 < _local2) { if (_arrAudioData[_local3].id == _arg1){ _iCurrentIndex = _local3; break; }; _local3++; }; loadAudio(_arrAudioData[_iCurrentIndex].path); _nPosition = 0; mcPlayPause.playing = true; mcPlayPause.gotoAndStop("pause"); } private function ForwardUp(_arg1:MouseEvent):void{ var _local2:Object = _arg1.currentTarget; _local2.gotoAndStop("forward"); var _local3:Number = ((_objSound.length / (_objSound.bytesLoaded / _objSound.bytesTotal)) * (_objSeekControl.percent + SOUND_GAP)); if (_local3 <= _objSound.length){ _objSeekControl.moveSeekPos((_objSeekControl.percent + SOUND_GAP)); changeSeekBar(null); } else { _objSeekControl.moveSeekPos(0); changeSeekBar(null); }; } private function changeSeekBar(_arg1:Event):void{ if (_objSound != null){ _nPosition = ((_objSound.length / (_objSound.bytesLoaded / _objSound.bytesTotal)) * _objSeekControl.percent); if (mcPlayPause.playing){ if (_nPosition <= _objSound.length){ _objSoundChannel.stop(); _objSoundChannel = _objSound.play(_nPosition); if (_objSndTransform != null){ _objSoundChannel.soundTransform = (_mcMute.isMute) ? new SoundTransform(0) : _objSndTransform; }; _objSoundChannel.addEventListener(Event.SOUND_COMPLETE, soundComplete, false, 0, true); } else { StopUp(null); }; }; }; } private function StopOver(_arg1:MouseEvent):void{ var _local2:Object = _arg1.currentTarget; _local2.gotoAndStop("stop_over"); } private function MuteOver(_arg1:MouseEvent):void{ var _local2:Object = _arg1.currentTarget; if (_local2.isMute){ _local2.gotoAndStop("unmute_over"); } else { _local2.gotoAndStop("mute_over"); }; } private function MuteUp(_arg1:MouseEvent):void{ var _local2:Object = _arg1.currentTarget; if (_local2.isMute){ _local2.gotoAndStop("mute_over"); _local2.isMute = false; _objSoundChannel.soundTransform = _objSndTransform; } else { _local2.gotoAndStop("unmute_over"); _local2.isMute = true; _objSoundChannel.soundTransform = new SoundTransform(0); }; } public function storeAudioData(_arg1:Array):void{ _arrAudioData = new Array(); _arrAudioData = _arg1; _iCurrentIndex = 0; } private function updateVolume(_arg1:Event):void{ _objSndTransform.volume = _objVolumeControl.percent; _objSoundChannel.soundTransform = (_mcMute.isMute) ? new SoundTransform(0) : _objSndTransform; } private function BackOut(_arg1:MouseEvent):void{ var _local2:Object = _arg1.currentTarget; _local2.gotoAndStop("back"); } private function PlayOver(_arg1:MouseEvent):void{ var _local2:Object = _arg1.currentTarget; if (_local2.playing){ _local2.gotoAndStop("pause_over"); } else { _local2.gotoAndStop("play_over"); }; } private function BackDown(_arg1:MouseEvent):void{ var _local2:Object = _arg1.currentTarget; _local2.gotoAndStop("back_down"); } private function MuteOut(_arg1:MouseEvent):void{ var _local2:Object = _arg1.currentTarget; if (_local2.isMute){ _local2.gotoAndStop("unmute"); } else { _local2.gotoAndStop("mute"); }; } public function StopUp(_arg1:MouseEvent=null):void{ if (_objSoundChannel != null){ _objSoundChannel.stop(); }; _nPosition = 0; _objSeekControl.moveSeekPos(0); mcPlayPause.playing = false; mcPlayPause.gotoAndStop("play"); mcStop.gotoAndStop("stop"); this.removeEventListener(Event.ENTER_FRAME, updateSeek); } private function updateSeek(_arg1:Event):void{ var _local2:Number; if (((!((_objSoundChannel == null))) && (mcPlayPause.playing))){ _local2 = (_objSoundChannel.position / (_objSound.length / (_objSound.bytesLoaded / _objSound.bytesTotal))); if (!isNaN(_local2)){ _objSeekControl.moveSeekPos(_local2); }; }; } private function StopDown(_arg1:MouseEvent):void{ var _local2:Object = _arg1.currentTarget; _local2.gotoAndStop("stop_down"); } private function ForwardDown(_arg1:MouseEvent):void{ var _local2:Object = _arg1.currentTarget; _local2.gotoAndStop("forward_down"); } private function ioErrorHandler(_arg1:Event):void{ trace(("ioErrorHandler: " + _arg1)); } private function PlayOut(_arg1:MouseEvent):void{ var _local2:Object = _arg1.currentTarget; if (_local2.playing){ _local2.gotoAndStop("pause"); } else { _local2.gotoAndStop("play"); }; } private function StopOut(_arg1:MouseEvent):void{ var _local2:Object = _arg1.currentTarget; _local2.gotoAndStop("stop"); } private function soundComplete(_arg1:Event):void{ StopUp(null); } private function onLoadAudio(_arg1:Event):void{ _objSound.removeEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); _objSound.removeEventListener(Event.COMPLETE, onLoadAudio); _objSoundChannel = _objSound.play(); Controller.instance.tracer(("onLoadAudio : " + _objSoundChannel)); if (_objSndTransform != null){ _objSoundChannel.soundTransform = (_mcMute.isMute) ? new SoundTransform(0) : _objSndTransform; }; _objSoundChannel.addEventListener(Event.SOUND_COMPLETE, soundComplete, false, 0, true); this.removeEventListener(Event.ENTER_FRAME, updateSeek); this.addEventListener(Event.ENTER_FRAME, updateSeek, false, 0, true); } public function destroy():void{ removeListeners(); } private function BackOver(_arg1:MouseEvent):void{ var _local2:Object = _arg1.currentTarget; _local2.gotoAndStop("back_over"); } } }//package view.AdvanceFeatures.MP3Player
Section 156
//StateChangeEvent (view.AdvanceFeatures.PageFlip.events.StateChangeEvent) package view.AdvanceFeatures.PageFlip.events { import flash.events.*; public class StateChangeEvent extends Event { private var oldState_:String; private var newState_:String; public static const STATE_CHANGE:String = "state_change"; public function StateChangeEvent(_arg1:String, _arg2:String, _arg3:String, _arg4:Boolean=false, _arg5:Boolean=false){ super(_arg1, _arg4, _arg5); this.oldState_ = _arg2; this.newState_ = _arg3; } public function get newState():String{ return (newState_); } public function get oldState():String{ return (oldState_); } } }//package view.AdvanceFeatures.PageFlip.events
Section 157
//Vector2D (view.AdvanceFeatures.PageFlip.utils.Vector2D) package view.AdvanceFeatures.PageFlip.utils { public class Vector2D { public var x:Number; public var y:Number; public static const ORIGIN:Vector2D = new (Vector2D); ; public function Vector2D(_arg1:Number=0, _arg2:Number=0):void{ x = _arg1; y = _arg2; } public function plusEquals(_arg1:Vector2D=null):Vector2D{ _arg1 = ((_arg1) || (ORIGIN)); x = (x + _arg1.x); y = (y + _arg1.y); return (this); } public function interpolate(_arg1:Vector2D=null, _arg2:Number=0.5):Vector2D{ _arg1 = ((_arg1) || (ORIGIN)); x = (x + ((_arg1.x - x) * _arg2)); y = (y + ((_arg1.y - y) * _arg2)); return (this); } public function divEquals(_arg1:Number=1):Vector2D{ x = (x / _arg1); y = (y / _arg1); return (this); } public function dot(_arg1:Vector2D=null):Number{ _arg1 = ((_arg1) || (ORIGIN)); return (((x * _arg1.x) + (y * _arg1.y))); } public function normalize(_arg1:Number=1):Vector2D{ var _local2:Number = magnitude; if (_local2 == 0){ throw (new ArgumentError("Trying to normalize a vector with zero length.")); }; divEquals((_local2 / _arg1)); return (this); } public function minusEquals(_arg1:Vector2D=null):Vector2D{ _arg1 = ((_arg1) || (ORIGIN)); x = (x - _arg1.x); y = (y - _arg1.y); return (this); } public function get magnitude():Number{ return (distance()); } public function div(_arg1:Number=1):Vector2D{ return (new Vector2D((x / _arg1), (y / _arg1))); } public function multEquals(_arg1:Number=1):Vector2D{ x = (x * _arg1); y = (y * _arg1); return (this); } public function cross(_arg1:Vector2D=null):Number{ _arg1 = ((_arg1) || (ORIGIN)); return (((x * _arg1.y) - (y * _arg1.x))); } public function project(_arg1:Vector2D):Vector2D{ var _local2:Number = (((x * _arg1.x) + (y * _arg1.y)) / ((_arg1.x * _arg1.x) + (_arg1.y * _arg1.y))); return (new Vector2D((_local2 * _arg1.x), (_local2 * _arg1.y))); } public function plus(_arg1:Vector2D=null):Vector2D{ _arg1 = ((_arg1) || (ORIGIN)); return (new Vector2D((x + _arg1.x), (y + _arg1.y))); } public function rotate(_arg1:Number, _arg2:Vector2D=null):Vector2D{ _arg2 = ((_arg2) || (ORIGIN)); _arg1 = (_arg1 + Math.atan2((y - _arg2.y), (x - _arg2.x))); var _local3:Number = distance(_arg2); x = (_arg2.x + (Math.cos(_arg1) * _local3)); y = (_arg2.y + (Math.sin(_arg1) * _local3)); return (this); } public function clone():Vector2D{ return (new Vector2D(x, y)); } public function set magnitude(_arg1:Number):void{ normalize(_arg1); } public function toString():String{ return ((((("Vector2D[x=" + x) + ", y=") + y) + "]")); } public function minus(_arg1:Vector2D=null):Vector2D{ _arg1 = ((_arg1) || (ORIGIN)); return (new Vector2D((x - _arg1.x), (y - _arg1.y))); } public function lhn():Vector2D{ return (new Vector2D(y, -(x))); } public function copy(_arg1:Vector2D=null):Vector2D{ _arg1 = ((_arg1) || (ORIGIN)); x = _arg1.x; y = _arg1.y; return (this); } public function mult(_arg1:Number=1):Vector2D{ return (new Vector2D((x * _arg1), (y * _arg1))); } public function rhn():Vector2D{ return (new Vector2D(-(y), x)); } public function distance(_arg1:Vector2D=null):Number{ _arg1 = ((_arg1) || (ORIGIN)); var _local2:Number = (x - _arg1.x); var _local3:Number = (y - _arg1.y); return (Math.sqrt(((_local2 * _local2) + (_local3 * _local3)))); } public function setTo(_arg1:Number=0, _arg2:Number=0):Vector2D{ x = _arg1; y = _arg2; return (this); } public static function min(_arg1:Vector2D, ... _args):Vector2D{ var _local4:int; var _local3:Vector2D = _arg1.clone(); if (_args){ _local4 = 0; while (_local4 < _args.length) { if ((_args[_local4] is _slot1)){ _local3.x = Math.min(_local3.x, Vector2D(_args[_local4]).x); _local3.y = Math.min(_local3.y, Vector2D(_args[_local4]).y); }; _local4++; }; }; return (_local3); } public static function max(_arg1:Vector2D, ... _args):Vector2D{ var _local4:int; var _local3:Vector2D = _arg1.clone(); if (_args){ _local4 = 0; while (_local4 < _args.length) { if ((_args[_local4] is _slot1)){ _local3.x = Math.max(_local3.x, Vector2D(_args[_local4]).x); _local3.y = Math.max(_local3.y, Vector2D(_args[_local4]).y); }; _local4++; }; }; return (_local3); } } }//package view.AdvanceFeatures.PageFlip.utils
Section 158
//Constants (view.AdvanceFeatures.PageFlip.Constants) package view.AdvanceFeatures.PageFlip { public class Constants { public static const PAGE_STATE_READY:String = "page_state_ready"; public static const PAGE_STATE_TURNING:String = "page_state_turning"; public static const NO_PAGES_TURNING:String = "no_pages_turning"; public static const PAGE_STATE_DRAGGING:String = "page_state_dragging"; public static const PAGE_STATE_RESTORING:String = "page_state_restoring"; public static const PAGE_STATE_DRAGGING_USER:String = "page_state_dragging_user"; } }//package view.AdvanceFeatures.PageFlip
Section 159
//DragPath (view.AdvanceFeatures.PageFlip.DragPath) package view.AdvanceFeatures.PageFlip { import view.AdvanceFeatures.PageFlip.utils.*; class DragPath { private var d:Number; private var f:Function; private var p:Vector2D; private var t:Number;// = 0 public static const ARCH_LEFT:String = "arch_left"; public static const ARCH_RIGHT:String = "arch_right"; public static const LINEAR:String = "linear"; function DragPath(_arg1:Vector2D, _arg2:Vector2D, _arg3:String="linear", _arg4:Number=1, _arg5:Number=0.5, _arg6:Number=20){ p = _arg1.clone(); d = _arg6; switch (_arg3){ case ARCH_LEFT: f = getArch(_arg1, _arg2, _arg4, _arg5, true); break; case ARCH_RIGHT: f = getArch(_arg1, _arg2, _arg4, _arg5, false); break; case LINEAR: default: f = getLine(_arg1, _arg2); }; } public function get position():Vector2D{ return (p); } private function getLine(_arg1:Vector2D, _arg2:Vector2D):Function{ var offset:Vector2D; var dist:Number; var direction:Vector2D; var start = _arg1; var end = _arg2; offset = start.clone(); dist = start.distance(end); direction = end.minus(start).normalize(); return (function (_arg1:Number):Boolean{ if (_arg1 < 0){ _arg1 = 0; }; if (_arg1 > dist){ _arg1 = dist; }; p.copy(offset.plus(direction.normalize(_arg1))); return ((_arg1 == dist)); }); } public function step():Boolean{ t = (t + d); return (f(t)); } private function getArch(_arg1:Vector2D, _arg2:Vector2D, _arg3:Number, _arg4:Number=0.5, _arg5:Boolean=true):Function{ var offset:Vector2D; var dist:Number; var direction:Vector2D; var normal:Vector2D; var sideways:Vector2D; var maxHeight:Number; var start = _arg1; var end = _arg2; var factor = _arg3; var multFactor = _arg4; var left = _arg5; offset = start.clone(); dist = start.distance(end); direction = end.minus(start).normalize(); normal = (left) ? direction.normalize().lhn() : direction.normalize().rhn(); sideways = new Vector2D(); maxHeight = ((dist * 0.5) * factor); return (function (_arg1:Number):Boolean{ if (_arg1 < 0){ _arg1 = 0; }; if (_arg1 > dist){ _arg1 = dist; }; var _local2:* = (Math.sin(((_arg1 / dist) * Math.PI)) * maxHeight); sideways.copy(normal); sideways.normalize(_local2); p.copy(direction); p.normalize(_arg1); p.plusEquals(sideways); p.plusEquals(offset); return ((_arg1 == dist)); }); } } }//package view.AdvanceFeatures.PageFlip
Section 160
//PageEffects (view.AdvanceFeatures.PageFlip.PageEffects) package view.AdvanceFeatures.PageFlip { import controller.*; import flash.events.*; import flash.display.*; import model.*; import flash.utils.*; import flash.geom.*; import flash.net.*; import view.AdvanceFeatures.PageFlip.utils.*; import view.AdvanceFeatures.PageFlip.events.*; import flash.filters.*; public class PageEffects extends EventDispatcher { private const COLOR:uint = 0xFFFFFF; private const DRAG_SPEED:Number = 0.3; private var _arrShadowAndLight:Array;// = null private var _objLoader:Loader;// = null private var _objDragFunction:DragPath;// = null private var _spTopLeftPage:Sprite;// = null private var _spTopRightPage:Sprite;// = null private var _spPageContainer:Sprite; private var _nWidth:Number;// = 0 private var _spBottomLeftPage:Sprite;// = null private var _objDragReference:Vector2D;// = null private var _uCounter:uint;// = 0 private var _bLeftTurn:Boolean;// = false private var _arrPreCachePagesIndex:Array;// = null private var _iPageIndex:int;// = -1 private var _nDragOffset:Number;// = 0 private var _bUseShadowsAndHighlights:Boolean;// = true private var _spBottomRightPage:Sprite;// = null private var _objCurrentDragPosition:Vector2D;// = null private var _uShadowAlpha:uint;// = 1 private var _objDragTarget:Vector2D;// = null private var _bAutoTurn:Boolean;// = false private var _nPageDiagonale:Number;// = 0 private var _strCurrentPageState:String;// = "page_state_ready" private var _objDragReferenceBottomMiddle:Vector2D;// = null private var _spStaticLeftPage:Sprite;// = null private var _spStaticRightPage:Sprite;// = null private var _arrPreCachePages:Array;// = null private var _objDragReferenceTopMiddle:Vector2D;// = null private var _objTimer:Timer;// = null private var _nDragMaxDistTop:Number;// = 0 private var _uPageCount:uint;// = 0 private var _nDragMaxDistBottom:Number;// = 0 private var _nHeight:Number;// = 0 private static var c_objPageEffects:PageEffects; public function PageEffects(_arg1:Sprite, _arg2:Number, _arg3:Number){ c_objPageEffects = this; this._spPageContainer = _arg1; this._nWidth = _arg2; this._nHeight = _arg3; this._objDragTarget = new Vector2D(); this._objCurrentDragPosition = new Vector2D(); this._objDragReference = new Vector2D(); this._objDragReferenceBottomMiddle = new Vector2D(_nWidth, _nHeight); this._objDragReferenceTopMiddle = new Vector2D(_nWidth, 0); this._nPageDiagonale = Math.sqrt(((_nWidth * _nWidth) + (_nHeight * _nHeight))); _objTimer = new Timer(80); _objTimer.addEventListener(TimerEvent.TIMER, onTurnPageTimer); _bUseShadowsAndHighlights = (((!((Config.PAGE_FLIP_DATA == null))) && (!((Config.PAGE_FLIP_DATA.useShadow == null))))) ? Config.PAGE_FLIP_DATA.useShadow : true; } private function onTurnPageTimer(_arg1:TimerEvent):void{ redraw(); } public function destroy():void{ var _local1:*; if (_objTimer != null){ _objTimer.stop(); }; if (!_bAutoTurn){ cleanUpPageSprite(_spBottomLeftPage); cleanUpPageSprite(_spBottomRightPage); destroyMask(_spTopLeftPage); destroyMask(_spTopRightPage); cleanUpPageSprite(_spStaticLeftPage); cleanUpPageSprite(_spStaticRightPage); } else { cleanUpPageSprite(_spTopLeftPage); cleanUpPageSprite(_spTopRightPage); if (_bLeftTurn){ if (_uPageCount == 1){ cleanUpPageSprite(_spBottomLeftPage); } else { destroyMask(_spBottomLeftPage); }; destroyMask(_spStaticLeftPage); cleanUpPageSprite(_spBottomRightPage); cleanUpPageSprite(_spStaticRightPage); } else { if (_uPageCount == 1){ cleanUpPageSprite(_spBottomRightPage); } else { destroyMask(_spBottomRightPage); }; destroyMask(_spStaticRightPage); cleanUpPageSprite(_spBottomLeftPage); if (_uPageCount == 1){ destroyMask(_spStaticLeftPage); } else { cleanUpPageSprite(_spStaticLeftPage); }; }; }; if (_arrShadowAndLight){ for each (_local1 in _arrShadowAndLight) { if (_local1){ if (_local1.parent){ _local1.parent.removeChild(_local1); }; if (((_local1.mask) && (_local1.mask.parent))){ _local1.mask.parent.removeChild(_local1.mask); }; }; }; }; reInitialize(); } private function destroyMask(_arg1:Sprite):void{ var _local2:Shape; if (_arg1 != null){ _local2 = Shape(_arg1.mask); if (_local2 != null){ _local2.graphics.clear(); _spPageContainer.removeChild(_local2); _arg1.mask = null; }; }; } public function beginDrag(_arg1:Vector2D, _arg2:Number, _arg3:Boolean):void{ _bLeftTurn = _arg3; setOffset(_arg2); _objDragReference.setTo((_bLeftTurn) ? 0 : (_nWidth * _uPageCount), _nDragOffset); _objCurrentDragPosition.copy(_objDragReference); _objCurrentDragPosition.interpolate(_arg1, 0.1); changeState(Constants.PAGE_STATE_DRAGGING); setDragTarget(_arg1); } private function updatePagesDepths():void{ if (((((_bAutoTurn) && ((_spStaticRightPage == null)))) && ((_uPageCount == 2)))){ _spTopRightPage.x = _nWidth; _spPageContainer.addChildAt(_spBottomLeftPage, _spPageContainer.getChildIndex(_spTopRightPage)); } else { if (((((_bAutoTurn) && ((_spStaticLeftPage == null)))) && ((_uPageCount == 2)))){ _spPageContainer.addChildAt(_spStaticRightPage, _spPageContainer.getChildIndex(_spBottomRightPage)); _spPageContainer.addChildAt(_spBottomRightPage, _spPageContainer.getChildIndex(_spTopRightPage)); } else { if (((_bAutoTurn) && ((_uPageCount == 1)))){ } else { if (!_bAutoTurn){ _spPageContainer.addChildAt(_spStaticLeftPage, _spPageContainer.getChildIndex(_spTopLeftPage)); if (_spTopRightPage != null){ _spPageContainer.addChildAt(_spStaticRightPage, _spPageContainer.getChildIndex(_spTopRightPage)); }; }; }; }; }; } private function onTurnComplete(_arg1:TimerEvent=null):void{ _objTimer.stop(); resetPage(); dispatchEvent(new Event(Constants.NO_PAGES_TURNING)); } public function get state():String{ return (_strCurrentPageState); } private function preCachePagesReference():void{ var _local1:String; var _local2:String; if (_arrPreCachePagesIndex[_iPageIndex] == null){ onLoadComplete(null); } else { if (Config.ENABLE_FOLDER_STRUCTURE_CHANGE){ _local1 = Config.CHANGED_PAGE_SWF_LOCATION; _local2 = Controller.instance.model.getSectionId(_arrPreCachePagesIndex[_iPageIndex]); _local1 = _local1.split("[_@BookID]").join(Controller.instance.model.strBookID); _local1 = _local1.split("[_@UnitNum]").join(_local2); _local1 = (((_local1 + "page") + _arrPreCachePagesIndex[_iPageIndex]) + ".swf"); } else { _local1 = (((Controller.instance.model.ebookPath + "pages/swf/page") + _arrPreCachePagesIndex[_iPageIndex]) + ".swf"); }; _objLoader.load(new URLRequest(_local1)); }; } private function setOffset(_arg1:Number):void{ _nDragOffset = _arg1; _nDragMaxDistTop = Math.sqrt(((_nWidth * _nWidth) + (_nDragOffset * _nDragOffset))); _nDragMaxDistBottom = Math.sqrt(((_nWidth * _nWidth) + ((_nHeight - _nDragOffset) * (_nHeight - _nDragOffset)))); } private function cleanUpPageSprite(_arg1:Sprite):void{ if (_arg1 != null){ destroyMask(_arg1); while (_arg1.numChildren > 0) { _arg1.removeChildAt(0); }; _arg1.graphics.clear(); if (_arg1.parent == _spPageContainer){ _spPageContainer.removeChild(_arg1); }; }; } private function onLoadComplete(_arg1:Event):void{ if (_arg1 == null){ _arrPreCachePages.push(null); } else { _arrPreCachePages.push(_objLoader.content); }; if (_iPageIndex < (_arrPreCachePagesIndex.length - 1)){ _iPageIndex++; preCachePagesReference(); } else { _objLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onLoadComplete); _objLoader.unload(); _objLoader = null; addCachedPagesToContainer(); }; } private function createPageSide(_arg1:Sprite, _arg2:Sprite, _arg3:uint):void{ makePages(_arg2); _arg2.addChild(_arrShadowAndLight[(_arg3 + 2)]); _arg1.addChild(_arrShadowAndLight[_arg3]); if (_spPageContainer){ if (_bAutoTurn){ _spPageContainer.addChild(_arg1); if (_uPageCount == 1){ _spPageContainer.addChild(_arg2); }; if (_spStaticRightPage == null){ _arg2.x = 0; } else { _arg1.x = _arg2.x; }; } else { _arg2.x = _arg1.x; _spPageContainer.addChild(_arg2); }; }; } private function reInitialize():void{ _arrShadowAndLight = new Array(); _arrShadowAndLight = null; _spBottomLeftPage = null; _spBottomRightPage = null; _spTopLeftPage = null; _spTopRightPage = null; _spStaticLeftPage = null; _spStaticRightPage = null; _iPageIndex = -1; _arrPreCachePagesIndex = new Array(); _arrPreCachePages = new Array(); _uCounter = 0; } public function initialize(_arg1:Sprite, _arg2:Sprite, _arg3:Sprite, _arg4:Sprite, _arg5:Sprite, _arg6:Sprite, _arg7:uint, _arg8:Boolean=false, _arg9:Array=null):void{ this._bAutoTurn = _arg8; this._uPageCount = _arg7; this._spTopLeftPage = _arg1; this._spTopRightPage = _arg2; initShadowHighlightArray(); createStaticPages(_arg5, _arg6); if (_spTopLeftPage != null){ _spBottomLeftPage = ((_arg3)==null) ? new Sprite() : _arg3; createPageSide(_spTopLeftPage, _spBottomLeftPage, 0); }; if (_arg2 != null){ _spBottomRightPage = ((_arg4)==null) ? new Sprite() : _arg4; if (_arg4){ _spBottomRightPage.x = ((_uPageCount)==2) ? _nWidth : 0; }; createPageSide(_spTopRightPage, _spBottomRightPage, 1); }; updatePagesDepths(); if (_spTopLeftPage != null){ createPageMask(_spTopLeftPage, _spBottomLeftPage); }; if (_arg2 != null){ createPageMask(_spTopRightPage, _spBottomRightPage); }; startPreCachePages(_arg9); } private function fpEquals(_arg1:Number, _arg2:Number, _arg3:Number=0.001):Boolean{ return ((Math.abs((_arg1 - _arg2)) < _arg3)); } private function startPreCachePages(_arg1:Array):void{ if (_arg1 != null){ _arrPreCachePagesIndex = new Array(); _arrPreCachePages = new Array(); _arrPreCachePagesIndex = _arg1; _iPageIndex++; _objLoader = new Loader(); _objLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete, false, 0, true); preCachePagesReference(); }; } private function onLoadError(_arg1:IOErrorEvent):void{ } private function addCachedPagesToContainer():void{ var _local1:Array = new Array(); _local1.push(_spStaticLeftPage); _local1.push(_spBottomLeftPage); _local1.push(_spBottomRightPage); _local1.push(_spStaticRightPage); var _local2:uint = _arrPreCachePages.length; var _local3:uint; while (_local3 < _local2) { if (((!((_arrPreCachePages[_local3] == null))) && (!((_local1[_local3] == null))))){ _local1[_local3].graphics.clear(); if (_local1[_local3].numChildren > 0){ _local1[_local3].addChildAt(_arrPreCachePages[_local3], (_local1[_local3].numChildren - 1)); } else { _local1[_local3].addChild(_arrPreCachePages[_local3]); }; }; _local3++; }; _local1 = new Array(); } private function createPageMask(_arg1:Sprite, _arg2:Sprite):void{ var _local3:Shape = new Shape(); _arg2.mask = _local3; var _local4:Shape = new Shape(); var _local5:Graphics = _local4.graphics; _local5.clear(); _local5.beginFill(COLOR); _local5.drawRect(_arg1.x, _arg1.y, _nWidth, _nHeight); _local5.drawRect(_arg1.x, _arg1.y, _nWidth, _nHeight); _local5.endFill(); _arg1.mask = _local4; _spPageContainer.addChild(_local3); _spPageContainer.addChild(_local4); } private function updateShadowVisibility():void{ if (_uShadowAlpha){ if (((_bUseShadowsAndHighlights) && (!((_strCurrentPageState == Constants.PAGE_STATE_READY))))){ if (_bLeftTurn){ Shape(_arrShadowAndLight[0]).visible = true; Shape(_arrShadowAndLight[2]).visible = true; Shape(_arrShadowAndLight[4]).visible = true; } else { Shape(_arrShadowAndLight[1]).visible = true; Shape(_arrShadowAndLight[3]).visible = true; Shape(_arrShadowAndLight[5]).visible = true; }; } else { if (_arrShadowAndLight != null){ Shape(_arrShadowAndLight[0]).visible = false; Shape(_arrShadowAndLight[1]).visible = false; Shape(_arrShadowAndLight[2]).visible = false; Shape(_arrShadowAndLight[3]).visible = false; Shape(_arrShadowAndLight[4]).visible = false; Shape(_arrShadowAndLight[5]).visible = false; }; }; }; } private function changeState(_arg1:String):void{ if (_arg1 == _strCurrentPageState){ return; }; var _local2:String = _strCurrentPageState; _strCurrentPageState = _arg1; dispatchEvent(new StateChangeEvent(StateChangeEvent.STATE_CHANGE, _local2, _arg1)); } private function updateMatrices():void{ var _local2:Shape; var _local14:Vector2D; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Point; var _local1:Matrix = new Matrix(); var _local3:Vector2D = _objCurrentDragPosition.minus(_objDragReference); if (_bLeftTurn){ _local3.x = ((_local3.x) || (0.1)); } else { _local3.x = ((_local3.x) || (-0.1)); }; var _local4:Vector2D = _objDragReference.clone().interpolate(_objCurrentDragPosition); var _local5:Number = Math.atan2(_local3.y, _local3.x); _local1.translate((_bLeftTurn) ? -(_nWidth) : 0, -(_nDragOffset)); _local1.rotate((_local5 * 2)); _local1.translate(_objCurrentDragPosition.x, _objCurrentDragPosition.y); if (_bLeftTurn){ _spBottomLeftPage.transform.matrix = _local1; } else { _spBottomRightPage.transform.matrix = _local1; }; var _local6:Vector2D = (_bLeftTurn) ? _local3.lhn().normalize() : _local3.rhn().normalize(); var _local7:Vector2D = new Vector2D((_local4.x - ((_local6.x * _local4.y) / _local6.y)), 0); var _local8:Vector2D = new Vector2D((_local4.x + ((_local6.x * (_nHeight - _local4.y)) / _local6.y)), _nHeight); if (_local7.x < 0){ _local7.x = 0; _local7.y = (_local4.y - ((_local6.y * _local4.x) / _local6.x)); } else { if (_local7.x > (_nWidth * 2)){ _local7.x = (_nWidth * 2); _local7.y = (_local4.y - ((_local6.y * (_local4.x - (_nWidth * 2))) / _local6.x)); }; }; if (_local8.x < 0){ _local8.x = 0; _local8.y = (_local4.y - ((_local6.y * _local4.x) / _local6.x)); } else { if (_local8.x > (_nWidth * 2)){ _local8.x = (_nWidth * 2); _local8.y = (_local4.y - ((_local6.y * (_local4.x - (_nWidth * 2))) / _local6.x)); }; }; var _local9:Vector2D = new Vector2D(0, 1).rotate((_local5 * 2)); var _local10:Vector2D = _objCurrentDragPosition.minus(_local9.mult(_nDragOffset)); var _local11:Vector2D = _objCurrentDragPosition.plus(_local9.mult((_nHeight - _nDragOffset))); var _local12:Graphics = (_bLeftTurn) ? Shape(_spBottomLeftPage.mask).graphics : Shape(_spTopRightPage.mask).graphics; var _local13:Graphics = (_bLeftTurn) ? Shape(_spTopLeftPage.mask).graphics : Shape(_spBottomRightPage.mask).graphics; _local12.clear(); _local13.clear(); _local12.beginFill(COLOR); _local13.beginFill(COLOR); if (_bLeftTurn){ _local12.moveTo(_local7.x, _local7.y); if (_local7.y > 0){ _local12.lineTo(_local11.x, _local11.y); _local12.lineTo(_local8.x, _local8.y); } else { _local12.lineTo(_local10.x, _local10.y); if (_local8.y == _nHeight){ _local12.lineTo(_local11.x, _local11.y); }; _local12.lineTo(_local8.x, _local8.y); }; _local13.moveTo(_nWidth, 0); _local13.lineTo(_nWidth, _nHeight); if (_local8.y < _nHeight){ _local13.lineTo(0, _nHeight); }; _local13.lineTo(_local8.x, _local8.y); _local13.lineTo(_local7.x, _local7.y); if (_local7.y > 0){ _local13.lineTo(0, 0); }; } else { if (_uPageCount == 2){ _local12.moveTo(_nWidth, 0); } else { _local12.moveTo(0, 0); }; if (_local7.y > 0){ _local12.lineTo((_nWidth * _uPageCount), 0); }; _local12.lineTo(_local7.x, _local7.y); _local12.lineTo(_local8.x, _local8.y); if (_local8.y < _nHeight){ _local12.lineTo((_nWidth * _uPageCount), _nHeight); }; if (_uPageCount == 2){ _local12.lineTo(_nWidth, _nHeight); } else { _local12.lineTo(0, _nHeight); }; _local13.moveTo(_local7.x, _local7.y); if (_local7.y > 0){ _local13.lineTo(_local8.x, _local8.y); _local13.lineTo(_local11.x, _local11.y); } else { _local13.lineTo(_local8.x, _local8.y); if (_local8.y == _nHeight){ _local13.lineTo(_local11.x, _local11.y); }; _local13.lineTo(_local10.x, _local10.y); }; }; _local12.endFill(); _local13.endFill(); if (_uShadowAlpha){ if (_bUseShadowsAndHighlights){ _local14 = _local7.clone().interpolate(_local8); _local3.setTo((_bLeftTurn) ? (_nWidth * 2) : ((_uPageCount)==2) ? 0 : -(_nWidth), _nDragOffset); _local15 = (1 - (_local3.distance(_objCurrentDragPosition) / (_nWidth * 2))); _local15 = ((_local15 < 0.1)) ? 0.1 : _local15; _local16 = 0; if (_local15 < 0.05){ _local16 = (0.05 + (_local15 * 0.05)); } else { if (_local15 < 0.75){ _local16 = ((0.1 + _local15) + _local15); _local16 = ((_local16 > 1)) ? 1 : _local16; } else { _local16 = (6.4 * (1 - _local15)); _local16 = ((_local16 > 1)) ? 1 : _local16; }; }; _local17 = (_local16 + _local16); _local17 = ((_local17 > 1)) ? 1 : _local17; if (_local15 > 0.5){ _local17 = ((2 - _local15) - _local15); }; _local2 = _arrShadowAndLight[(_bLeftTurn) ? 0 : 1]; _local18 = Math.max((_nWidth * 2), _nHeight); _local19 = _local2.globalToLocal(_spPageContainer.localToGlobal(new Point(_local14.x, _local14.y))); _local1.createGradientBox(_local18, _local18, _local5, (_local19.x - (_local18 / 2)), (_local19.y - (_local18 / 2))); _local12 = Shape(_local2).graphics; _local12.clear(); _local12.beginGradientFill(GradientType.LINEAR, [0x666666, 0x666666, 0x666666], [0, (_local16 * _uShadowAlpha), 0], [(128 - (_local15 * 16)), 128, (128 + (_local15 * 127))], _local1); _local12.drawRect(0, 0, (_nWidth * 2), _nHeight); _local12.endFill(); _local2.visible = true; _local2 = _arrShadowAndLight[(_bLeftTurn) ? 4 : 5]; _local12 = Shape(_local2).graphics; _local12.clear(); _local12.beginGradientFill(GradientType.LINEAR, [0x666666, 0x666666, 0x666666], [0, (_local16 * _uShadowAlpha), 0], [(128 - (_local15 * 16)), 128, (128 + (_local15 * 127))], _local1); _local12.drawRect(0, 0, _nWidth, _nHeight); _local12.endFill(); _local2.visible = true; _local2 = _arrShadowAndLight[(_bLeftTurn) ? 2 : 3]; _local19 = _local2.globalToLocal(_spPageContainer.localToGlobal(new Point(_local14.x, _local14.y))); _local18 = Math.max(_nWidth, _nHeight); _local1.createGradientBox(_local18, _local18, -(_local5), (_local19.x - (_local18 / 2)), (_local19.y - (_local18 / 2))); _local12 = Shape(_local2).graphics; _local12.clear(); _local12.beginGradientFill(GradientType.LINEAR, [0xFFFFFF, 0xFFFFFF, 0xFFFFFF], [0, (_local17 * _uShadowAlpha), 0], [120, (125 + (_local15 * 35)), (130 + (_local15 * 70))], _local1); _local12.drawRect(0, 0, _nWidth, _nHeight); _local12.endFill(); _local2.visible = true; } else { Shape(_arrShadowAndLight[0]).visible = false; Shape(_arrShadowAndLight[1]).visible = false; Shape(_arrShadowAndLight[2]).visible = false; Shape(_arrShadowAndLight[3]).visible = false; Shape(_arrShadowAndLight[4]).visible = false; Shape(_arrShadowAndLight[5]).visible = false; }; }; } private function createShadowOrLight():Shape{ var _local1:Shape = new Shape(); _local1.visible = true; _local1.filters = [new BlurFilter(8, 8, BitmapFilterQuality.LOW)]; return (_local1); } public function turnPage(_arg1:Boolean, _arg2:Boolean):void{ var _local3:Number; if (_arg1){ _bLeftTurn = _arg2; resetPage(); return; }; if (_strCurrentPageState == Constants.PAGE_STATE_READY){ if (_arg2){ beginDrag(new Vector2D(0, 0), 0, true); } else { beginDrag(new Vector2D((_nWidth * _uPageCount), 0), 0, false); }; }; _local3 = (((!((Config.PAGE_FLIP_DATA == null))) && (Config.PAGE_FLIP_DATA.dragSpeed))) ? (Config.PAGE_FLIP_DATA.dragSpeed * _uPageCount) : 80; _objDragFunction = new DragPath(_objCurrentDragPosition, new Vector2D((_bLeftTurn) ? (_nWidth * 2) : ((_uPageCount)==2) ? 0 : -(_nWidth), _nDragOffset), (((int(_bLeftTurn) ^ int(((_objCurrentDragPosition.y - _nDragOffset) < 0))) == 0)) ? DragPath.ARCH_LEFT : DragPath.ARCH_RIGHT, (0.025 + (Math.random() * 0.075)), 4.5, _local3); redraw(); changeState(Constants.PAGE_STATE_TURNING); if (_uCounter == 0){ _uCounter++; _objTimer.reset(); _objTimer.start(); }; } private function validatePosition(_arg1:Vector2D, _arg2:Boolean=false):Vector2D{ var _local3:Number; var _local5:Number; var _local4:Number = 20; if (((!(_arg2)) && ((((_strCurrentPageState == Constants.PAGE_STATE_DRAGGING)) || ((_strCurrentPageState == Constants.PAGE_STATE_DRAGGING_USER)))))){ if (_bLeftTurn){ _arg1.x = ((_local4 < _arg1.x)) ? _arg1.x : _local4; } else { _local3 = ((_nWidth * 2) - _local4); _arg1.x = ((_local3 > _arg1.x)) ? _arg1.x : _local3; }; }; _local5 = _arg1.distance(_objDragReference); if (_local5 > (_nWidth * 2)){ _arg1.interpolate(_objDragReference, (1 - ((_nWidth * 2) / _local5))); }; _local5 = _arg1.distance(_objDragReferenceTopMiddle); if ((((_local5 > _nDragMaxDistTop)) && ((_uPageCount == 2)))){ _arg1.interpolate(_objDragReferenceTopMiddle, (1 - (_nDragMaxDistTop / _local5))); }; _local5 = _arg1.distance(_objDragReferenceBottomMiddle); if ((((_local5 > _nDragMaxDistBottom)) && ((_uPageCount == 2)))){ _arg1.interpolate(_objDragReferenceBottomMiddle, (1 - (_nDragMaxDistBottom / _local5))); }; return (_arg1); } public function setDragTarget(_arg1:Vector2D):void{ _objDragTarget.copy(_arg1); if ((((_objDragReference.y == 0)) && ((_objDragTarget.y < 0)))){ if (((_bLeftTurn) && ((_objDragTarget.x > (_nWidth * 2))))){ _objDragTarget.setTo((_nWidth * 2), 0); } else { if (((!(_bLeftTurn)) && ((_objDragTarget.x < 0)))){ _objDragTarget.setTo(0, 0); }; }; } else { if ((((_objDragReference.y == _nHeight)) && ((_objDragTarget.y > _nHeight)))){ if (((_bLeftTurn) && ((_objDragTarget.x > (_nWidth * 2))))){ _objDragTarget.setTo((_nWidth * 2), _nHeight); } else { if (((!(_bLeftTurn)) && ((_objDragTarget.x < 0)))){ _objDragTarget.setTo(0, _nHeight); }; }; }; }; validatePosition(_objDragTarget); } public function beginUserDrag():void{ changeState(Constants.PAGE_STATE_DRAGGING_USER); } private function createStaticPages(_arg1:Sprite, _arg2:Sprite):void{ if (_arg1 == null){ if (!_bAutoTurn){ _spStaticLeftPage = new Sprite(); makePages(_spStaticLeftPage); _spPageContainer.addChild(_spStaticLeftPage); _spStaticLeftPage.addChild(_arrShadowAndLight[4]); }; } else { _spStaticLeftPage = _arg1; _spPageContainer.addChild(_spStaticLeftPage); _spStaticLeftPage.addChild(_arrShadowAndLight[4]); }; if (_arg2 != null){ _spStaticRightPage = _arg2; _spPageContainer.addChild(_spStaticRightPage); _spStaticRightPage.addChild(_arrShadowAndLight[5]); } else { if ((((_uPageCount == 2)) && (!(_bAutoTurn)))){ _spStaticRightPage = new Sprite(); makePages(_spStaticRightPage); _spPageContainer.addChild(_spStaticRightPage); _spStaticRightPage.x = _nWidth; _spStaticRightPage.addChild(_arrShadowAndLight[5]); }; }; } public function cancelDrag(_arg1:Boolean=false):void{ var _local2:Boolean; var _local3:Vector2D; var _local4:Vector2D; var _local5:Number; if (((!((_strCurrentPageState == Constants.PAGE_STATE_DRAGGING))) && (!((_strCurrentPageState == Constants.PAGE_STATE_DRAGGING_USER))))){ return; }; if (_arg1){ resetPage(); } else { _local2 = false; _local3 = _objCurrentDragPosition.minus(_objDragReference); _local4 = new Vector2D(-(_local3.y), _local3.x).normalize(); if (_objCurrentDragPosition.y < _objDragReference.y){ _local4.multEquals((_nDragOffset - _nHeight)); setOffset(_nHeight); } else { _local2 = false; _local4.multEquals(_nDragOffset); setOffset(0); }; if (_bLeftTurn){ _local4.multEquals(-1); }; _local3.plusEquals(_local4); _local3.plusEquals(_objDragReference); _objDragReference.y = _nDragOffset; _local5 = (_local3.y - _objDragReference.y); _local5 = (_local5 / (_local3.distance(_objDragReference) * 2)); _objDragFunction = new DragPath(_local3, _objDragReference, ((int(_local2) ^ int(_bLeftTurn))) ? DragPath.ARCH_RIGHT : DragPath.ARCH_LEFT, _local5, 0.5, (DRAG_SPEED * 1.5)); changeState(Constants.PAGE_STATE_RESTORING); }; } private function initShadowHighlightArray():void{ _arrShadowAndLight = new Array(6); _arrShadowAndLight[0] = createShadowOrLight(); _arrShadowAndLight[1] = createShadowOrLight(); _arrShadowAndLight[2] = createShadowOrLight(); _arrShadowAndLight[3] = createShadowOrLight(); _arrShadowAndLight[4] = createShadowOrLight(); _arrShadowAndLight[5] = createShadowOrLight(); } public function redraw():void{ if ((((_strCurrentPageState == Constants.PAGE_STATE_DRAGGING)) || ((_strCurrentPageState == Constants.PAGE_STATE_DRAGGING_USER)))){ if (fpEquals(_objCurrentDragPosition.distance(_objDragTarget), 0, 1)){ return; }; _objCurrentDragPosition.interpolate(_objDragTarget, DRAG_SPEED); } else { if ((((_strCurrentPageState == Constants.PAGE_STATE_TURNING)) || ((_strCurrentPageState == Constants.PAGE_STATE_RESTORING)))){ if (_objDragFunction.step()){ onTurnComplete(); } else { _objCurrentDragPosition.copy(_objDragFunction.position); validatePosition(_objCurrentDragPosition, true); }; }; }; if (((!((_strCurrentPageState == Constants.PAGE_STATE_READY))) && (_objCurrentDragPosition))){ updateMatrices(); }; } private function makePages(_arg1:Sprite):void{ _arg1.graphics.beginFill(COLOR); _arg1.graphics.drawRect(0, 0, _nWidth, _nHeight); } public function resetPage():void{ var _local2:Graphics; var _local1:Matrix = new Matrix(); if (_spBottomLeftPage != null){ _spBottomLeftPage.transform.matrix = _local1; _spBottomLeftPage.x = _nWidth; }; if (_spTopLeftPage != null){ _spTopLeftPage.transform.matrix = _local1; _spTopLeftPage.x = 0; }; if (_spTopRightPage != null){ _spTopRightPage.transform.matrix = _local1; _spTopRightPage.x = _nWidth; }; if (_spBottomRightPage != null){ _spBottomRightPage.transform.matrix = _local1; _spBottomRightPage.x = 0; }; if (_spTopLeftPage != null){ _local2 = Shape(_spTopLeftPage.mask).graphics; _local2.clear(); _local2.beginFill(COLOR); _local2.drawRect(_spTopLeftPage.x, _spTopLeftPage.y, _nWidth, _nHeight); _local2.drawRect(_spTopLeftPage.x, _spTopLeftPage.y, _nWidth, _nHeight); _local2.endFill(); }; if (_spBottomLeftPage != null){ _local2 = Shape(_spBottomLeftPage.mask).graphics; _local2.clear(); }; if (_spTopRightPage != null){ _local2 = Shape(_spTopRightPage.mask).graphics; _local2.clear(); _local2.beginFill(COLOR); _local2.drawRect(_spTopRightPage.x, _spTopRightPage.y, _nWidth, _nHeight); _local2.drawRect(_spTopRightPage.x, _spTopRightPage.y, _nWidth, _nHeight); _local2.endFill(); if (_spBottomRightPage != null){ _local2 = Shape(_spBottomRightPage.mask).graphics; _local2.clear(); }; }; changeState(Constants.PAGE_STATE_READY); updateShadowVisibility(); } public static function get instance():PageEffects{ return (c_objPageEffects); } } }//package view.AdvanceFeatures.PageFlip
Section 161
//PageFlipHandler (view.AdvanceFeatures.PageFlip.PageFlipHandler) package view.AdvanceFeatures.PageFlip { import controller.*; import flash.events.*; import flash.display.*; import model.*; import flash.utils.*; import event.*; import view.AdvanceFeatures.PageFlip.utils.*; import view.AdvanceFeatures.PageFlip.events.*; import flash.media.*; public class PageFlipHandler extends EventDispatcher { private var _iPreviousPageIndex:int;// = 0 private var _arrPreviousPages:Array;// = null private var _arrCurrentPages:Array;// = null private var _bPopUpOpen:Boolean;// = false private var _spPageContainer:Sprite;// = null private var _nWidth:Number;// = 0 private var _bTurningLeftToRight:Boolean;// = false private var _objPageEffects:PageEffects;// = null private var _bCursorInDragArea:Boolean;// = false private var _bCornerHintActive:Boolean;// = false private var _strCurrentState:String;// = "no_pages_turning" private var _objDragStart:Vector2D;// = null private var _bAutoTurning:Boolean;// = false private var _arrBitmapData:Array;// = null private var _nCornerHintRadius:Number;// = 0 private var _objCornerHintBase:Vector2D;// = null private var _nCornerHintAngle:Number;// = 0 private var _iCursorOut:int;// = 0 private var _objCornerHintTimer:Timer; private var _arrPreCachePages:Array;// = null private var _objDraggedPage:PageEffects; private var _objPageTurnSound:Sound; private var _uPageCount:uint;// = 1 private var _bCursorInside:Boolean; private var _nHeight:Number;// = 0 public static const PAGE_DRAGGED:String = "page_dragged"; public static const CONTENT_CLICK_SPACE:String = "mcClickSpace"; public static const PAGES_TURNING:String = "pages_turning"; private static const CURSOR_RIGHT:int = 2; private static const CURSOR_TOP:int = 4; private static const CURSOR_LEFT:int = 1; public static const PAGES_TURNED:String = "pages_turned"; private static const CURSOR_BOTTOM:int = 8; private static const CURSOR_NOWHERE:int = 0; private static var c_objPageFlipHandler:PageFlipHandler = null; private static var TURN_SOUND:Class = PageFlipHandler_TURN_SOUND; public function PageFlipHandler(_arg1:SingletonEnforcerer){ if (_arg1 == null){ return; }; } public function destroy():void{ removeMouseListeners(); removeStageMouseListeners(); if (_objPageEffects != null){ _objPageEffects.removeEventListener(StateChangeEvent.STATE_CHANGE, handlePageStateChange); _objPageEffects.destroy(); }; _objDraggedPage = null; _arrPreCachePages = new Array(); } private function beginCornerHint():Boolean{ if (_objDraggedPage){ return (false); }; beginDrag((CURSOR_RIGHT | CURSOR_BOTTOM)); return (true); } private function getCornerHintPos():Vector2D{ return (_objCornerHintBase.plus(new Vector2D((Math.sin(_nCornerHintAngle) * _nCornerHintRadius), ((Math.cos(_nCornerHintAngle) * _nCornerHintRadius) / 2)))); } private function beginDrag(_arg1:int):void{ if (_bAutoTurning){ return; }; if (((_arg1 & CURSOR_LEFT) | (_arg1 & CURSOR_RIGHT)) == 0){ return; }; var _local2 = ((_arg1 & CURSOR_LEFT) > 0); if (_objDraggedPage){ cancelDrag(true); }; _objDraggedPage = _objPageEffects; var _local3:Number = 0; if ((_arg1 & (CURSOR_BOTTOM | CURSOR_TOP))){ _local3 = ((_arg1 & CURSOR_BOTTOM)) ? _nHeight : 0; } else { _local3 = _spPageContainer.mouseY; }; _bTurningLeftToRight = _local2; if (isCornerHintingEnabled){ _objDraggedPage.beginDrag(getCornerHintPos(), _local3, _bTurningLeftToRight); } else { _objDraggedPage.beginDrag(new Vector2D(_spPageContainer.mouseX, _spPageContainer.mouseY), _local3, _bTurningLeftToRight); }; if (isCornerHintingEnabled){ return; }; addStageMouseListeners(); changeState(PAGE_DRAGGED); } private function set isCornerHintingEnabled(_arg1:Boolean):void{ if (_bCornerHintActive == _arg1){ return; }; if (_bCornerHintActive){ stopCursorHint(true); _bCornerHintActive = false; } else { _bCornerHintActive = true; _bCornerHintActive = beginCornerHint(); }; } private function stopCursorHint(_arg1:Boolean=false):void{ cancelDrag(_arg1); } private function removeStageMouseListeners():void{ if (_spPageContainer.stage){ _spPageContainer.stage.removeEventListener(MouseEvent.MOUSE_DOWN, handleMouseDown); _spPageContainer.stage.removeEventListener(MouseEvent.MOUSE_UP, handleMouseUp); }; } private function getCursorPosition():int{ var _local2:Number; var _local3:Sprite; var _local4:Sprite; var _local1:int = CURSOR_NOWHERE; if (((((((((_bCursorInside) && ((_spPageContainer.mouseX > 0)))) && ((_spPageContainer.mouseX < (_nWidth * _uPageCount))))) && ((_spPageContainer.mouseY > 0)))) && ((_spPageContainer.mouseY < _nHeight)))){ _local2 = (Config.PAGE_FLIP_DATA.pageClickable) ? _nWidth : (_nWidth / 10); if (Config.PAGE_FLIP_DATA.dragCorner){ if (_spPageContainer.mouseY < _local2){ _local1 = (_local1 | CURSOR_TOP); } else { if (_spPageContainer.mouseY > (_nHeight - _local2)){ _local1 = (_local1 | CURSOR_BOTTOM); }; }; }; _local3 = (Controller.instance.view.toolbar.getAccessibleObject("btnNext") as Sprite); _local4 = (Controller.instance.view.toolbar.getAccessibleObject("btnBack") as Sprite); if ((((((_spPageContainer.mouseX < _local2)) && (_local4.mouseEnabled))) && ((_uPageCount == 2)))){ if ((((_local1 == CURSOR_NOWHERE)) && (!(Config.PAGE_FLIP_DATA.pageClickable)))){ if (_spPageContainer.mouseX < Config.PAGE_FLIP_DATA.clickRange){ _local1 = (_local1 | CURSOR_LEFT); } else { _local1 = CURSOR_NOWHERE; }; } else { _local1 = (_local1 | CURSOR_LEFT); }; } else { if ((((_spPageContainer.mouseX > ((_nWidth * _uPageCount) - _local2))) && (_local3.mouseEnabled))){ if ((((_local1 == CURSOR_NOWHERE)) && (!(Config.PAGE_FLIP_DATA.pageClickable)))){ if (_spPageContainer.mouseX > ((_nWidth * _uPageCount) - Config.PAGE_FLIP_DATA.clickRange)){ _local1 = (_local1 | CURSOR_RIGHT); } else { _local1 = CURSOR_NOWHERE; }; } else { _local1 = (_local1 | CURSOR_RIGHT); }; }; }; }; return (_local1); } public function gotoPage(_arg1:Array, _arg2:Number, _arg3:Boolean):void{ _arrCurrentPages = new Array(); _arrCurrentPages = _arg1; _uPageCount = _arg2; if (((((!((Config.PAGE_FLIP_DATA == null))) && (Config.PAGE_FLIP_DATA.dragCorner))) && (!(_arg3)))){ storePreChachePagesReference(); createPages(_arg3); }; if (((!((Config.PAGE_FLIP_DATA == null))) && (Config.PAGE_FLIP_DATA.pageClickable))){ addMouseListeners(); }; if ((((((((_arrPreviousPages == null)) || (!(_arg3)))) || (_bAutoTurning))) || (((_objDraggedPage) && ((_objDraggedPage.state == Constants.PAGE_STATE_DRAGGING_USER)))))){ return; }; createPages(_arg3); var _local4:uint = Controller.instance.model.pageIndex; var _local5 = (_iPreviousPageIndex > _local4); turnPage(_local5); } public function initialize(_arg1:Sprite, _arg2:Number, _arg3:Number):void{ _spPageContainer = _arg1; _nWidth = _arg2; _nHeight = _arg3; _objDragStart = new Vector2D(); _objCornerHintBase = new Vector2D(0, _nHeight); _objPageEffects = new PageEffects(_spPageContainer, _nWidth, _nHeight); CustomEventDispatcher.getInstance().addEventListener(CustomEvent.EDIT_MODE, editModeHandler, false, 0, true); if (((!((Config.PAGE_FLIP_DATA == null))) && (Config.PAGE_FLIP_DATA.playSound))){ _objPageTurnSound = new TURN_SOUND(); }; } private function destroyBitmapData():void{ if (_arrBitmapData == null){ return; }; var _local1:uint = _arrBitmapData.length; var _local2:uint; while (_local2 < _local1) { _arrBitmapData[_local2].dispose(); _local2++; }; _arrBitmapData = new Array(); } private function storePreChachePagesReference():void{ var _local4:int; var _local5:uint; _arrPreCachePages = new Array(); var _local1:Model = Controller.instance.model; var _local2:int = _local1.pageIndex; var _local3:Sprite = (Controller.instance.view.toolbar.getAccessibleObject("btnBack") as Sprite); if (_local3.mouseEnabled){ _local4 = (((_local2 - _uPageCount))>=1) ? (_local2 - _uPageCount) : _local1.ebook.pages; _local4 = ((_uPageCount)==2) ? --_local4; _local4 : _local4; _arrPreCachePages.push(_local4); _local4++; _arrPreCachePages.push(((_uPageCount)>1) ? _local4 : null); } else { _local5 = 0; while (_local5 < 2) { _arrPreCachePages.push(null); _local5++; }; }; _local3 = (Controller.instance.view.toolbar.getAccessibleObject("btnNext") as Sprite); if (_local3.mouseEnabled){ _local4 = (((_local2 + _uPageCount))<=_local1.ebook.pages) ? (_local2 + 1) : 1; _arrPreCachePages.push(_local4); _local4++; _arrPreCachePages.push(((_uPageCount)>1) ? _local4 : null); } else { _local5 = 0; while (_local5 < 2) { _arrPreCachePages.push(null); _local5++; }; }; } public function createPages(_arg1:Boolean):void{ var _local2:uint; var _local3:Boolean; var _local4:Sprite; var _local5:Sprite; var _local6:Sprite; var _local7:Sprite; if (!_arg1){ if (_uPageCount < 2){ } else { _objPageEffects.initialize(_arrCurrentPages[0].instance, _arrCurrentPages[1].instance, null, null, null, null, _uPageCount, false, _arrPreCachePages); addListener(); }; } else { _local2 = Controller.instance.model.pageIndex; _local3 = (_iPreviousPageIndex > _local2); if (_uPageCount < 2){ if (_local3){ _objPageEffects.initialize(_arrPreviousPages[0], null, null, null, _arrCurrentPages[0].instance, null, _uPageCount, true); } else { _objPageEffects.initialize(null, _arrPreviousPages[0], null, null, null, _arrCurrentPages[0].instance, _uPageCount, true); }; } else { _local7 = null; if (_local3){ _local5 = _arrCurrentPages[0].instance; _local4 = _arrCurrentPages[1].instance; } else { _local6 = _arrCurrentPages[0].instance; _local7 = _arrCurrentPages[1].instance; }; _objPageEffects.initialize(_arrPreviousPages[0], _arrPreviousPages[1], _local4, _local6, _local5, _local7, _uPageCount, true); }; }; } private function handleMouseDown(_arg1:MouseEvent):void{ if (((isCornerHintingEnabled) || (_bAutoTurning))){ return; }; if (_objDraggedPage){ if ((((_arg1.target.name == CONTENT_CLICK_SPACE)) && ((_objDraggedPage.state == Constants.PAGE_STATE_DRAGGING)))){ _objDraggedPage.beginUserDrag(); _objDragStart.setTo(_spPageContainer.mouseX, _spPageContainer.mouseY); _objDraggedPage.redraw(); }; } else { beginDrag(getCursorPosition()); if (_objDraggedPage){ _objDragStart.setTo(_spPageContainer.mouseX, _spPageContainer.mouseY); _objDraggedPage.beginUserDrag(); }; }; } private function handleCornerTimer(_arg1:TimerEvent):void{ if (_objDraggedPage == null){ return; }; _nCornerHintAngle = (_nCornerHintAngle + 0.05); _objPageEffects.setDragTarget(getCornerHintPos()); } private function changeState(_arg1:String):void{ if (_strCurrentState == _arg1){ return; }; var _local2:String = _strCurrentState; _strCurrentState = _arg1; dispatchEvent(new StateChangeEvent(StateChangeEvent.STATE_CHANGE, _local2, _arg1)); } private function playSound():void{ _objPageTurnSound.play(0); } private function loadPageTurnSound():void{ } private function editModeHandler(_arg1:CustomEvent):void{ if (((((!((Config.PAGE_FLIP_DATA == null))) && (Config.PAGE_FLIP_DATA.dragCorner))) && ((_uPageCount == 2)))){ if (_arg1.data.strActiveTool == null){ addMouseListeners(); } else { removeMouseListeners(); }; } else { if (((!((Config.PAGE_FLIP_DATA == null))) && (Config.PAGE_FLIP_DATA.pageClickable))){ if (_arg1.data.strActiveTool == null){ addMouseListeners(); } else { removeMouseListeners(); }; }; }; } public function setPreviousPages(_arg1:Array):void{ var _local4:Sprite; var _local5:BitmapData; var _local6:Sprite; var _local7:Bitmap; destroyBitmapData(); _arrPreviousPages = new Array(); if (_arg1 == null){ return; }; _arrBitmapData = new Array(); _iPreviousPageIndex = _arg1[0].currentPageIndex; var _local2:uint = _arg1.length; var _local3:uint; while (_local3 < _local2) { _local4 = _arg1[_local3].instance; _local5 = new BitmapData(_local4.width, _local4.height); _local5.draw(_local4); _local6 = new Sprite(); _local7 = new Bitmap(_local5); _local6.addChild(_local7); _arrPreviousPages[_local3] = _local6; _arrBitmapData.push(_local5); _local3++; }; } private function get isCornerHintingEnabled():Boolean{ return (_bCornerHintActive); } private function removeMouseListeners(_arg1:Event=null):void{ if (_spPageContainer){ if (((!((Config.PAGE_FLIP_DATA == null))) && ((Config.PAGE_FLIP_DATA.dragCorner == true)))){ _spPageContainer.removeEventListener(MouseEvent.MOUSE_DOWN, handleMouseDown); }; _spPageContainer.removeEventListener(MouseEvent.MOUSE_UP, handleMouseUp); _spPageContainer.removeEventListener(MouseEvent.ROLL_OVER, handleMouseEnter); _spPageContainer.removeEventListener(MouseEvent.ROLL_OUT, handleMouseLeave); }; } private function cancelDrag(_arg1:Boolean=false):void{ if (((_objDraggedPage) && ((((_objDraggedPage.state == Constants.PAGE_STATE_DRAGGING)) || ((_objDraggedPage.state == Constants.PAGE_STATE_DRAGGING_USER)))))){ removeStageMouseListeners(); if (!_arg1){ changeState(PAGES_TURNING); }; _objDraggedPage.cancelDrag(_arg1); _objDraggedPage = null; }; } private function addStageMouseListeners():void{ if (_spPageContainer.stage){ _spPageContainer.stage.addEventListener(MouseEvent.MOUSE_DOWN, handleMouseDown, false, 0, true); _spPageContainer.stage.addEventListener(MouseEvent.MOUSE_UP, handleMouseUp, false, 0, true); }; } private function handleMouseMovement(_arg1:Event):void{ var _local4:Boolean; if (_iCursorOut > 0){ _iCursorOut--; return; }; if (_bAutoTurning){ return; }; var _local2:int = getCursorPosition(); var _local3:Boolean = ((((_local2 & CURSOR_LEFT) > 0)) || (((_local2 & CURSOR_RIGHT) > 0))); if (((_local3) && (!(_bCursorInDragArea)))){ isCornerHintingEnabled = false; _bCursorInDragArea = true; } else { if (((!(_local3)) && (_bCursorInDragArea))){ _bCursorInDragArea = false; }; }; if (!isCornerHintingEnabled){ _local4 = ((((_local2 & (CURSOR_LEFT | CURSOR_RIGHT)) > 0)) && (((_local2 & (CURSOR_TOP | CURSOR_BOTTOM)) > 0))); if (_objDraggedPage){ if (((_local4) || ((_objDraggedPage.state == Constants.PAGE_STATE_DRAGGING_USER)))){ _objDraggedPage.setDragTarget(new Vector2D(_spPageContainer.mouseX, _spPageContainer.mouseY)); _objDraggedPage.redraw(); } else { changeState(Constants.PAGE_STATE_RESTORING); cancelDrag(true); }; } else { if (_local4){ beginDrag(_local2); }; }; }; if ((((_local2 & CURSOR_LEFT)) || ((_local2 & CURSOR_RIGHT)))){ _spPageContainer.buttonMode = true; } else { if (!_objDraggedPage){ _spPageContainer.buttonMode = false; }; }; } private function handleMouseLeave(_arg1:Event):void{ if (((((!((_objDraggedPage == null))) && (!((_objDraggedPage.state == Constants.PAGE_STATE_DRAGGING_USER))))) && (((!((Config.PAGE_FLIP_DATA == null))) && (Config.PAGE_FLIP_DATA.dragCorner))))){ handleMouseMovement(_arg1); _spPageContainer.removeEventListener(Event.ENTER_FRAME, handleMouseMovement); }; _bCursorInside = false; _iCursorOut = 1; if (_objDraggedPage == null){ return; }; if (_objDraggedPage.state != Constants.PAGE_STATE_DRAGGING_USER){ if (!isCornerHintingEnabled){ cancelDrag(); }; }; } private function onTurnComplete(_arg1:Event):void{ destroy(); if (_bPopUpOpen){ Controller.instance.onPopUp(false, Constants.PAGE); _bPopUpOpen = false; }; _objPageEffects.removeEventListener(Constants.NO_PAGES_TURNING, onTurnComplete); var _local2:Object = new Object(); _local2.bAutoTurn = _bAutoTurning; var _local3:CustomEvent = new CustomEvent(PAGES_TURNED, false, false, _local2); CustomEventDispatcher.getInstance().dispatchEvent(_local3); if (!_bAutoTurning){ loadNextPage(); } else { gotoPage(_arrCurrentPages, _uPageCount, false); }; _bAutoTurning = false; } private function handleMouseUp(_arg1:MouseEvent):void{ var _local2:int; var _local3:Boolean; var _local4:Number; if ((((_arg1.target.name == CONTENT_CLICK_SPACE)) && (Config.PAGE_FLIP_DATA.pageClickable))){ _local2 = getCursorPosition(); _local3 = ((((_local2 & CURSOR_LEFT) > 0)) || (((_local2 & CURSOR_RIGHT) > 0))); if (_local3){ _bTurningLeftToRight = ((_local2 & CURSOR_LEFT) > 0); loadNextPage(); }; return; }; if (_bAutoTurning){ return; }; if (((_objDraggedPage) && ((((_objDraggedPage.state == Constants.PAGE_STATE_DRAGGING)) || ((_objDraggedPage.state == Constants.PAGE_STATE_DRAGGING_USER)))))){ _local4 = _objDragStart.distance(new Vector2D(_spPageContainer.mouseX, _spPageContainer.mouseY)); if ((((_local4 >= _nWidth)) || ((_local4 < (_nWidth / 4))))){ _spPageContainer.removeEventListener(Event.ENTER_FRAME, handleMouseMovement); if (turnPage(_bTurningLeftToRight)){ }; } else { isCornerHintingEnabled = false; changeState(Constants.PAGE_STATE_RESTORING); cancelDrag(true); }; }; } private function addMouseListeners(_arg1:Event=null):void{ if (_spPageContainer){ if (Config.PAGE_FLIP_DATA.dragCorner == true){ _spPageContainer.addEventListener(MouseEvent.MOUSE_DOWN, handleMouseDown, false, 0, true); }; _spPageContainer.addEventListener(MouseEvent.MOUSE_UP, handleMouseUp, false, 0, true); _spPageContainer.addEventListener(MouseEvent.ROLL_OVER, handleMouseEnter, false, 0, true); _spPageContainer.addEventListener(MouseEvent.ROLL_OUT, handleMouseLeave, false, 0, true); }; } private function handlePageStateChange(_arg1:StateChangeEvent):void{ changeState(_arg1.newState); } private function turnPage(_arg1:Boolean):Boolean{ if (_bAutoTurning){ return (false); }; isCornerHintingEnabled = false; removeMouseListeners(); removeStageMouseListeners(); if (!Controller.instance.isPopupOpen){ Controller.instance.onPopUp(true, Constants.PAGE); _bPopUpOpen = true; }; if (_objDraggedPage){ _objPageEffects.addEventListener(Constants.NO_PAGES_TURNING, onTurnComplete, false, 0, true); _objDraggedPage.turnPage(false, _bTurningLeftToRight); _objDraggedPage = null; } else { _bAutoTurning = true; _bTurningLeftToRight = _arg1; _objPageEffects.addEventListener(Constants.NO_PAGES_TURNING, onTurnComplete, false, 0, true); _objPageEffects.turnPage(false, _bTurningLeftToRight); }; if (_objPageTurnSound != null){ setTimeout(playSound, 350); }; return (true); } private function onAudioLoadError(_arg1:Event):void{ } private function loadNextPage():void{ var _local1:String = (_bTurningLeftToRight) ? "btnBack" : "btnNext"; var _local2:Sprite = (Controller.instance.view.toolbar.getAccessibleObject(_local1) as Sprite); if (_local2.mouseEnabled){ _local2.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); }; } private function handleMouseEnter(_arg1:Event):void{ _bCursorInside = true; if (((!((Config.PAGE_FLIP_DATA == null))) && (Config.PAGE_FLIP_DATA.dragCorner))){ _spPageContainer.addEventListener(Event.ENTER_FRAME, handleMouseMovement, false, 0, true); }; } private function addListener():void{ _objPageEffects.addEventListener(StateChangeEvent.STATE_CHANGE, handlePageStateChange, false, 0, true); addMouseListeners(); } public static function get instance():PageFlipHandler{ if (PageFlipHandler.c_objPageFlipHandler == null){ PageFlipHandler.c_objPageFlipHandler = new PageFlipHandler(new SingletonEnforcerer()); }; return (PageFlipHandler.c_objPageFlipHandler); } } }//package view.AdvanceFeatures.PageFlip class SingletonEnforcerer { private function SingletonEnforcerer(){ } }
Section 162
//PageFlipHandler_TURN_SOUND (view.AdvanceFeatures.PageFlip.PageFlipHandler_TURN_SOUND) package view.AdvanceFeatures.PageFlip { import flash.display.*; import mx.core.*; public class PageFlipHandler_TURN_SOUND extends SoundAsset { public var btnSave:DisplayObject; public var mcContent:DisplayObject; public var mc_K:DisplayObject; public var mc_N:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mcGlossaryImage:DisplayObject; public var btnHTML:DisplayObject; public var mc_W:DisplayObject; public var btnTeacher:DisplayObject; public var btnUp:DisplayObject; public var mcThumb:DisplayObject; public var mcExit:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnBar:DisplayObject; public var btnZoomIn:DisplayObject; public var txtWord:DisplayObject; public var txtDisplay:DisplayObject; public var mcIconAnim:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThemeClip:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var btnIdle:DisplayObject; public var mcCross:DisplayObject; public var mcPatch:DisplayObject; public var mcBG:DisplayObject; public var bg:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var btnNote:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var txtLink:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var btnOpen:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var btnPDF:DisplayObject; public var mcCheckBg:DisplayObject; public var mcTxt:DisplayObject; public var mcNoResult:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var btnDelete:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var txtInput:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var txtInfo:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var btnLinkBg:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var btnState:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var textMc:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPrint:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcShape:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcDot:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_B:DisplayObject; public var mc_D:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mcTOC:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_J:DisplayObject; public var mc_L:DisplayObject; public var mc_U:DisplayObject; public var mc_thumb:DisplayObject; public var mc_P:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_T:DisplayObject; public var mc_V:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_R:DisplayObject; public var mc_S:DisplayObject; public var mc_C:DisplayObject; public var mc_O:DisplayObject; public var mc_Y:DisplayObject; } }//package view.AdvanceFeatures.PageFlip
Section 163
//PlaylistBrowserPanel (view.AdvanceFeatures.Playlist.controller.PlaylistBrowserPanel) package view.AdvanceFeatures.Playlist.controller { import controller.*; import flash.display.*; import view.*; import view.AdvanceFeatures.Playlist.model.*; import flash.text.*; import view.AdvanceFeatures.Playlist.view.*; import event.*; public class PlaylistBrowserPanel extends Panel { private var _spBrowserPlaylist:Sprite; private var _txtTitle:TextField; private var _spPanelBg:Sprite; private var _objUserCreatedPlaylist:UserPlaylist; private var _objPlaylistBrowser:PlaylistBrowser; public function PlaylistBrowserPanel(_arg1:Sprite, _arg2:Sprite, _arg3:UserPlaylist){ super(_arg1, _arg2); _objUserCreatedPlaylist = _arg3; _spBrowserPlaylist = (_arg1.getChildByName("mcSectionList") as Sprite); _spPanelBg = (_arg1.getChildByName("mcPanelBg") as Sprite); _txtTitle = (_arg1.getChildByName("txtTitle") as TextField); _txtTitle.mouseEnabled = false; } private function onPanelClose(_arg1:CustomEvent):void{ Controller.instance.model.setNavigationByPlaylist(false); Controller.instance.view.toolbar.update(); Controller.instance.view.toolbar.enablePlayListBtn(true); } public function setPlaylistTitle(_arg1:String):void{ _txtTitle.text = _arg1; } override public function minimizePanel():void{ _spBrowserPlaylist.visible = false; _spPanelBg.visible = false; } public function loadDefaultPage():void{ _objPlaylistBrowser.loadDefaultPage(); } private function onLabelClick(_arg1:CustomEvent):void{ Controller.instance.model.setNavigationByPlaylist(true); if (_arg1.data.section.type == PlaylistSection.TYPE_NORMAL){ Controller.instance.loadPage(); } else { if (_arg1.data.section.type == PlaylistSection.TYPE_WEBLINK){ Controller.instance.loadURL(_arg1.data.section.name, "web", null, false); Controller.instance.view.toolbar.update(); Controller.instance.model.sectionChanged = false; }; }; } override public function maximizePanel():void{ _spBrowserPlaylist.visible = true; _spPanelBg.visible = true; } public function createList():void{ if (_objPlaylistBrowser){ _objPlaylistBrowser.dispose(); } else { _objPlaylistBrowser = new PlaylistBrowser(_spBrowserPlaylist, _objUserCreatedPlaylist); _objPlaylistBrowser.addEventListener(UserPlaylistItem.EVENT_LABEL_CLICK, onLabelClick); }; addEventListener(Panel.PANEL_CLOSE, onPanelClose); _objPlaylistBrowser.createList(); Controller.instance.tracer("Playlist browse after createList"); } } }//package view.AdvanceFeatures.Playlist.controller
Section 164
//PlaylistCreatorPanel (view.AdvanceFeatures.Playlist.controller.PlaylistCreatorPanel) package view.AdvanceFeatures.Playlist.controller { import controller.*; import flash.events.*; import flash.display.*; import view.*; import view.AdvanceFeatures.Playlist.model.*; import flash.net.*; import flash.text.*; import view.AdvanceFeatures.Playlist.view.*; import event.*; public class PlaylistCreatorPanel extends Panel { private var _btnSave:CustomButton; private var _spScreenDisable:Sprite; private var _btnChaptersOnly:CustomButton; private var _objBookPlaylistPanel:PlaylistPanel; private var _btnChaptersWithLessons:CustomButton; private var _objUserPlaylist:UserPlaylist; private var _spUserPlaylist:Sprite; private var _spBookSectionList:Sprite; private var _objPlaylistWeblinkPanel:PlaylistWeblinkPanel; private var _txtTitle:TextField; private var _objUserPlaylistPanel:UserPlaylistPanel; private var _objPlaylist:Playlist; private var _spDragArea:Sprite; public static const EDIT_MODE:String = "editMode"; public static const CREATE_MODE:String = "createMode"; public function PlaylistCreatorPanel(_arg1:Sprite, _arg2:Sprite, _arg3:Playlist, _arg4:UserPlaylist, _arg5:PlaylistWeblinkPanel){ super(_arg1, _arg2); _objPlaylistWeblinkPanel = _arg5; _objPlaylistWeblinkPanel.addEventListener(PlaylistWeblinkPanel.WEBLINK_PANEL_VISIBILITY_CHANGED, enablePanel); _spBookSectionList = (_arg1.getChildByName("mcBookSectionList") as Sprite); _spUserPlaylist = (_arg1.getChildByName("mcUserPlaylist") as Sprite); _btnSave = new CustomButton(_arg1.getChildByName("mcSavePlaylist")); _btnSave.__bToggle = false; _btnSave.addEventListener(MouseEvent.CLICK, savePlaylist); _objPlaylist = _arg3; _objUserPlaylist = _arg4; var _local6:DisplayObject = _arg1.getChildByName("mcChaptersOnlyCheckbox"); var _local7:DisplayObject = _arg1.getChildByName("mcChaptersWithLessonCheckbox"); if (((!((_local6 == null))) && (!((_local7 == null))))){ _btnChaptersOnly = new CustomButton(_local6); _btnChaptersOnly.__bToggle = false; _btnChaptersOnly.__id = Playlist.PLAYLIST_TYPE_CHAPTERS_ONLY; _btnChaptersOnly.setState(CustomButton.STATE_NORMAL); _btnChaptersOnly.addEventListener(MouseEvent.CLICK, resetPlaylists); _btnChaptersWithLessons = new CustomButton(_local7); _btnChaptersWithLessons.__bToggle = false; _btnChaptersWithLessons.__id = Playlist.PLAYLIST_TYPE_CHAPTERS_WITH_LESSON; _btnChaptersWithLessons.setState(CustomButton.STATE_DISABLED); _btnChaptersWithLessons.addEventListener(MouseEvent.CLICK, resetPlaylists); }; _objUserPlaylist.playlistType = Playlist.PLAYLIST_TYPE_CHAPTERS_WITH_LESSON; _objPlaylist.playlistType = Playlist.PLAYLIST_TYPE_CHAPTERS_WITH_LESSON; _spDragArea = _arg2; _spScreenDisable = (_arg1.getChildByName("mcScreenDisable") as Sprite); _spScreenDisable.visible = false; _txtTitle = (_arg1.getChildByName("txtTitle") as TextField); _txtTitle.mouseEnabled = false; } private function securityErrorHandler(_arg1:SecurityErrorEvent):void{ Controller.instance.tracer(("securityErrorHandler: " + _arg1)); } public function loadUserPlaylist(_arg1:XML):void{ var _local6:PlaylistSection; _objBookPlaylistPanel.resetPlaylistItems(); resetUserPlaylistPanel(); var _local2:Array = _objPlaylist.sectionList; var _local3:int = _local2.length; var _local4:int = _arg1.section.length(); _objUserPlaylist.playlistType = _arg1.@type; _objPlaylist.playlistType = _arg1.@type; resetUserPlaylistPanel(); resetBookPlaylistPanel(); var _local5:int; while (_local5 < _local4) { if (_arg1.section[_local5].@type == PlaylistSection.TYPE_NORMAL){ _local6 = _objPlaylist.getPlaylistSection(_arg1.section[_local5].@id); if (_local6 != null){ _objBookPlaylistPanel.selectPlaylistItem(_local6); _objUserPlaylist.updateList([_local6], Playlist.ADD_SECTIONS); } else { Controller.instance.tracer(" There is no legal section found for this id in book(wrong id in xml) "); }; } else { if (_arg1.section[_local5].@type == PlaylistSection.TYPE_WEBLINK){ _objUserPlaylist.addWeblink(_arg1.section[_local5].@name, _arg1.section[_local5].@id); }; }; _local5++; }; if (_objUserPlaylist.playlistType == Playlist.PLAYLIST_TYPE_CHAPTERS_WITH_LESSON){ _btnChaptersOnly.setState(CustomButton.STATE_NORMAL); _btnChaptersWithLessons.setState(CustomButton.STATE_DISABLED); } else { if (_objUserPlaylist.playlistType == Playlist.PLAYLIST_TYPE_CHAPTERS_ONLY){ _btnChaptersOnly.setState(CustomButton.STATE_DISABLED); _btnChaptersWithLessons.setState(CustomButton.STATE_NORMAL); }; }; _objUserPlaylist.updatePlaylistXml(_arg1); enablePlaylistDropDownMenuItem(); enableSaveBtn(false); } override public function show(_arg1:Boolean):void{ super.show(_arg1); if (_arg1){ enableSaveBtn(false); _objUserPlaylistPanel.setUpDownButtonsStates(); }; Controller.instance.onPopUp(_arg1); } public function enablePanel(_arg1:CustomEvent):void{ _spScreenDisable.visible = _arg1.data.visibility; } private function onPlaylistUpdated(_arg1:CustomEvent):void{ enableSaveBtn(true); } public function init():void{ _objBookPlaylistPanel = new PlaylistPanel(_spBookSectionList, _objPlaylist); _objBookPlaylistPanel.addEventListener(PlaylistPanel.ITEM_CLICK, onBookPlaylistItemClick); _objBookPlaylistPanel.createList(); _objUserPlaylistPanel = new UserPlaylistPanel(_spUserPlaylist, _objUserPlaylist, _objPlaylistWeblinkPanel); _objUserPlaylistPanel.addEventListener(UserPlaylistPanel.PLAYLIST_UPDATED, onPlaylistUpdated); _objUserPlaylistPanel.updateScrollbars(); addEventListener(Panel.PANEL_CLOSE, onPanelClose); } private function onPanelClose(_arg1:CustomEvent):void{ Controller.instance.model.setNavigationByPlaylist(false); Controller.instance.view.toolbar.enablePlayListBtn(true); } public function setCurrentActionMode(_arg1:String):void{ switch (_arg1){ case PlaylistCreatorPanel.CREATE_MODE: _txtTitle.text = "Create Playlist"; _objBookPlaylistPanel.resetPlaylistItems(); resetUserPlaylistPanel(); break; case PlaylistCreatorPanel.EDIT_MODE: _txtTitle.text = "Edit Playlist"; loadUserPlaylist(_objUserPlaylist.savedPlaylistXml); break; }; } public function resetBookPlaylistPanel():void{ _objBookPlaylistPanel.removeAllItems(); _objBookPlaylistPanel.createList(); } public function enableSaveBtn(_arg1:Boolean):void{ if (((_arg1) && ((_objUserPlaylist.sectionList.length > 0)))){ _btnSave.setState(CustomButton.STATE_NORMAL); } else { _btnSave.setState(CustomButton.STATE_DISABLED); }; } private function resetPlaylists(_arg1:CustomButton=null):void{ _arg1.setState(CustomButton.STATE_DISABLED); if (_arg1.__id == Playlist.PLAYLIST_TYPE_CHAPTERS_ONLY){ _btnChaptersWithLessons.setState(CustomButton.STATE_NORMAL); _objUserPlaylist.playlistType = Playlist.PLAYLIST_TYPE_CHAPTERS_ONLY; _objPlaylist.playlistType = Playlist.PLAYLIST_TYPE_CHAPTERS_ONLY; } else { _btnChaptersOnly.setState(CustomButton.STATE_NORMAL); _objUserPlaylist.playlistType = Playlist.PLAYLIST_TYPE_CHAPTERS_WITH_LESSON; _objPlaylist.playlistType = Playlist.PLAYLIST_TYPE_CHAPTERS_WITH_LESSON; }; resetUserPlaylistPanel(); resetBookPlaylistPanel(); } private function ioErrorHandler(_arg1:IOErrorEvent):void{ Controller.instance.tracer(("ioErrorHandler: " + _arg1)); } private function completeHandler(_arg1:Event):void{ _objUserPlaylist.updatePlaylistXml(); enablePlaylistDropDownMenuItem(); var _local2:String = String(FileReference(_arg1.target).name); _local2 = _local2.split(".xml")[0]; _local2 = _local2.split(".XML")[0]; Controller.instance.view.setBrowserPlaylistTitle(_local2); enableSaveBtn(false); } private function cancelHandler(_arg1:Event):void{ } private function savePlaylist(_arg1:CustomButton):void{ var _local2:String = _objUserPlaylist.playlistData; var _local3:FileReference = new FileReference(); configureListeners(_local3); _local3.save(_local2, "PlayList.xml"); } public function resetUserPlaylistPanel():void{ _objUserPlaylistPanel.removeAllItems(); _objUserPlaylist.resetPlaylist(); } private function configureListeners(_arg1:IEventDispatcher):void{ _arg1.addEventListener(Event.CANCEL, cancelHandler); _arg1.addEventListener(Event.COMPLETE, completeHandler); _arg1.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); _arg1.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); } private function onBookPlaylistItemClick(_arg1:CustomEvent):void{ _objUserPlaylist.updateList(_arg1.data.items, _arg1.data.actionType); } public function enablePlaylistDropDownMenuItem():void{ var _local1:Boolean; if (_objUserPlaylist.sectionList.length > 0){ _local1 = true; }; Controller.instance.view.toolbar.enablePlaylistDropDownMenuItem("edit", _local1); Controller.instance.view.toolbar.enablePlaylistDropDownMenuItem("view", _local1); } } }//package view.AdvanceFeatures.Playlist.controller
Section 165
//IPlaylist (view.AdvanceFeatures.Playlist.model.IPlaylist) package view.AdvanceFeatures.Playlist.model { public interface IPlaylist { function get sectionList():Array; } }//package view.AdvanceFeatures.Playlist.model
Section 166
//Playlist (view.AdvanceFeatures.Playlist.model.Playlist) package view.AdvanceFeatures.Playlist.model { import flash.events.*; public class Playlist extends EventDispatcher implements IPlaylist { protected var _arrRootSection:Array; private var _iOrder:int;// = 0 private var _strId:String;// = "" private var _objCurrentSection:PlaylistSection;// = null protected var _strPlaylistType:String; public static const PLAYLIST_TYPE_CHAPTERS_WITH_LESSON:String = "chaptersWithLesson"; public static const DELETE_SECTIONS:String = "deleteSections"; public static const ADD_SECTIONS:String = "addSections"; public static const PLAYLIST_TYPE_CHAPTERS_ONLY:String = "chaptersOnly"; public function Playlist(){ _arrRootSection = new Array(); super(); } public function get sectionList():Array{ return (_arrRootSection); } public function addSection(_arg1:int, _arg2:String, _arg3:int, _arg4:String="normal"):void{ var _local5:PlaylistSection = new PlaylistSection(_arg1, _arg2, _arg3, _arg4); if (_objCurrentSection == null){ _objCurrentSection = _local5; } else { if (_objCurrentSection.hasEmptySubSectionSlot()){ _objCurrentSection.addSubSection(_local5, _objCurrentSection.id); _objCurrentSection = _local5; return; }; if (addInParent(_local5)){ return; }; }; _iOrder++; _objCurrentSection = _local5; _objCurrentSection.id = String(_iOrder); _objCurrentSection.orderNumber = _iOrder; _arrRootSection.push(_objCurrentSection); } public function get currentSection():PlaylistSection{ return (_objCurrentSection); } public function ToString():String{ var _local1:int = _arrRootSection.length; var _local2 = "<pl>"; var _local3:int; while (_local3 < _local1) { _local2 = (_local2 + (((((("<item id=\"" + PlaylistSection(_arrRootSection[_local3]).id) + "\"") + " type=\"") + PlaylistSection(_arrRootSection[_local3]).name) + "\">") + PlaylistSection(_arrRootSection[_local3]).ToString())); _local2 = (_local2 + "</item>"); _local3++; }; _local2 = (_local2 + "</pl>"); return (_local2); } private function addInParent(_arg1:PlaylistSection):Boolean{ var _local2:Boolean; if (_objCurrentSection.parentSection == null){ return (false); }; if (_objCurrentSection.parentSection.hasEmptySubSectionSlot()){ _objCurrentSection.parentSection.addSubSection(_arg1, _objCurrentSection.parentSection.id); _objCurrentSection = _arg1; return (true); }; _objCurrentSection = _objCurrentSection.parentSection; if (addInParent(_arg1)){ _local2 = true; }; return (_local2); } public function get pagesInCurrentSection():int{ return (_objCurrentSection.pagesInSection); } public function set currentSection(_arg1:PlaylistSection):void{ _objCurrentSection = _arg1; } public function get playlistType():String{ return (_strPlaylistType); } public function get currentSectionTitle():String{ return (_objCurrentSection.name); } public function getPlaylistSection(_arg1:String):PlaylistSection{ var _local5:PlaylistSection; var _local2:Array = _arg1.split("_"); var _local3:String = _local2[0]; var _local4:uint = _arrRootSection.length; var _local6:uint; while (_local6 < _local4) { _local5 = _arrRootSection[_local6]; if (_local5.id == _local3){ if (_arg1 == _local5.id){ return (_local5); }; _local5 = _local5.getPlaylistSection(_arg1); break; }; _local6++; }; return (_local5); } public function set playlistType(_arg1:String):void{ _strPlaylistType = _arg1; } } }//package view.AdvanceFeatures.Playlist.model
Section 167
//PlaylistSection (view.AdvanceFeatures.Playlist.model.PlaylistSection) package view.AdvanceFeatures.Playlist.model { import controller.*; public class PlaylistSection { private var _objParentSection:PlaylistSection;// = null private var _iOrder:int; private var _arrSubSection:Array; private var _strType:String; private var _strName:String; private var _bSelected:Boolean; private var _iTotalSubSection:int; private var _iPagesInSection:int; private var _strId:String; private var _orderNumber:int; public static const TYPE_WEBLINK:String = "weblink"; public static const TYPE_NORMAL:String = "normal"; public function PlaylistSection(_arg1:int, _arg2:String, _arg3:int, _arg4:String):void{ _iTotalSubSection = _arg1; _strName = _arg2; _iPagesInSection = _arg3; _strType = _arg4; _arrSubSection = new Array(); } public function get type():String{ return (_strType); } public function set id(_arg1:String):void{ _strId = _arg1; } public function hasPages():Boolean{ if (_iPagesInSection > 0){ return (true); }; return (false); } public function get name():String{ return (_strName); } public function addSubSection(_arg1:PlaylistSection, _arg2:String):void{ _arg1.parentSection = this; _iOrder++; _arg1.id = ((_arg2 + "_") + String(_iOrder)); _arg1.orderNumber = _iOrder; _arrSubSection.push(_arg1); } public function getPlaylistSection(_arg1:String):PlaylistSection{ var _local3:PlaylistSection; var _local5:PlaylistSection; var _local6:String; var _local2:uint = _arrSubSection.length; Controller.instance.tracer(""); Controller.instance.tracer(""); Controller.instance.tracer(("-getPlaylistSection start---- serach id is " + _arg1)); Controller.instance.tracer(""); var _local4:uint; while (_local4 < _local2) { _local5 = PlaylistSection(_arrSubSection[_local4]); if (_local5.id == _arg1){ Controller.instance.tracer(((("----- in if SECTION object FOUND " + _local5.id) + " , and target id ") + _arg1)); _local3 = _local5; break; } else { _local6 = parentIdPart(_local5.id, _arg1); Controller.instance.tracer(((("----- in else strParentIdPart " + _local6) + " , and strParentID ") + _local5.id)); if (_local5.id == _local6){ Controller.instance.tracer(((_local5.id + " section has this child section ") + _arg1)); _local3 = _local5.getPlaylistSection(_arg1); break; }; }; _local4++; }; return (_local3); } public function ToString():String{ var _local1 = ""; var _local2:int = _arrSubSection.length; var _local3:int; while (_local3 < _local2) { _local1 = (_local1 + (((((("<item id=\"" + PlaylistSection(_arrSubSection[_local3]).id) + "\"") + "type=\"") + PlaylistSection(_arrSubSection[_local3]).name) + "\">") + PlaylistSection(_arrSubSection[_local3]).ToString())); _local1 = (_local1 + "</item>"); _local3++; }; return (_local1); } public function get id():String{ return (_strId); } public function get subSections():Array{ return (_arrSubSection); } public function hasEmptySubSectionSlot():Boolean{ if (_iTotalSubSection == 0){ return (false); }; return (!((_arrSubSection.length == _iTotalSubSection))); } public function get parentSection():PlaylistSection{ return (_objParentSection); } public function get pagesInSection():int{ return (_iPagesInSection); } public function hasValidPages():Boolean{ if (((!(hasChildren())) && ((_strType == TYPE_NORMAL)))){ return (true); }; return (false); } public function getPlaylistSection1(_arg1:String):PlaylistSection{ var _local5:PlaylistSection; var _local2:Array = _arg1.split("_"); _local2.pop(); var _local3:String = _local2.join("_"); var _local4:uint = _arrSubSection.length; var _local6:uint; while (_local6 < _local4) { _local5 = _arrSubSection[_local6]; if (_local5.id == _local3){ if (_arg1 == _local5.id){ return (_local5); }; }; _local6++; }; return (_local5); } public function findImmidiateSelectedChilren():int{ var _local2:int; var _local3:int; var _local1:int = _arrSubSection.length; if (this.hasChildren()){ _local3 = 0; while (_local3 < _local1) { if (PlaylistSection(_arrSubSection[_local3]).selected){ _local2++; }; _local3++; }; }; return (_local2); } public function set name(_arg1:String):void{ _strName = _arg1; } public function get selected():Boolean{ return (_bSelected); } public function hasParent():Boolean{ return (((_objParentSection)!=null) ? true : false); } public function set orderNumber(_arg1:int):void{ _orderNumber = _arg1; } public function set parentSection(_arg1:PlaylistSection):void{ _objParentSection = _arg1; } public function get orderNumber():int{ return (_orderNumber); } public function hasChildren():Boolean{ return (((_arrSubSection.length > 0)) ? true : false); } public function set selected(_arg1:Boolean):void{ _bSelected = _arg1; } private function parentIdPart(_arg1:String, _arg2:String):String{ Controller.instance.tracer(""); Controller.instance.tracer("parentIdPart called"); var _local3:int = _arg1.split("_").length; var _local4:Array = _arg2.split("_"); var _local5:int = _local4.length; var _local6:int = _local3; while (_local6 < _local5) { _local4.pop(); _local6++; }; Controller.instance.tracer("parentIdPart end"); Controller.instance.tracer(""); return (_local4.join("_")); } } }//package view.AdvanceFeatures.Playlist.model
Section 168
//UserPlaylist (view.AdvanceFeatures.Playlist.model.UserPlaylist) package view.AdvanceFeatures.Playlist.model { import controller.*; import event.*; public class UserPlaylist extends Playlist implements IPlaylist { private const WEBLINK_ID_SEPARATOR:String = "."; private const WEBLINK_ID_PREFIX:String = "w"; private var _objEditableSection:PlaylistSection; private var _objTempPlaylistXml:XML; private var _arrSectionList:Array; private var _objPrevChangeableSection:PlaylistSection; private var _iWeblinkOrder:int;// = 0 private var _objSavedPlaylistXml:XML; private var _objNextChangeableSection:PlaylistSection; private var _iNewSectionsLocation:int; public static const SECTION_EDITED:String = "sectionEdited"; public static const SECTIONS_INSERTED:String = "sectionsinserted"; public static const SECTIONS_APPENDED:String = "sectionsappended"; public static const SECTIONS_SWAPPED:String = "sectionsswapped"; public static const SECTIONS_REMOVED:String = "sectionsremoved"; public function UserPlaylist(){ _arrSectionList = new Array(); super(); } private function pushArrayAtIndex(_arg1:Array, _arg2:int):Array{ var _local3:Array = _arrSectionList.slice(0, _arg2); var _local4:Array = _arrSectionList.slice(_arg2, _arrSectionList.length); _arrSectionList = _local3.concat(_arg1).concat(_local4); return (_local4); } public function updateList(_arg1:Array, _arg2:String):void{ var _local3:int; var _local4:PlaylistSection; var _local5:String; var _local6:int; var _local7:String; var _local8:int; var _local9:String; var _local10:String; var _local11:Array; var _local12:Array; var _local13:int; var _local14:int; var _local15:int; _local4 = _arg1[0]; Controller.instance.tracer("-----------------------------------updateList called ------------------ "); Controller.instance.tracer(("items to be updated " + _arg1.length)); if (_arg2 == ADD_SECTIONS){ _local3 = _arrSectionList.length; Controller.instance.tracer("Add items"); if ((((_local3 > 0)) && (!((_local4.parentSection == null))))){ Controller.instance.tracer("Item would be inserted as is a child "); _local5 = _local4.id; _local7 = _local4.parentSection.id; _local6 = (_local3 - 1); while (_local6 >= 0) { _local9 = PlaylistSection(_arrSectionList[_local6]).id; _local10 = getComparableId(_local7, _local9); if (_local7 == _local10){ _local8 = (_local6 + 1); _local11 = pushArrayAtIndex(_arg1, _local8); dispatchEvent(new CustomEvent(SECTIONS_INSERTED, false, false, {position:_local8, insertedSections:_arg1, affectedSections:_local11})); return; }; _local6--; }; }; Controller.instance.tracer(("going to be added in root section is id : " + _local4.id)); Controller.instance.tracer(("going to be added in root section is name: " + _local4.name)); _arrRootSection.push(_local4); _arrSectionList = _arrSectionList.concat(_arg1); Controller.instance.tracer("SECTIONS_APPENDED "); dispatchEvent(new CustomEvent(SECTIONS_APPENDED, false, false, {position:_iNewSectionsLocation, sections:_arg1})); } else { Controller.instance.tracer("remove items"); _local12 = new Array(); _local3 = _arrSectionList.length; _local13 = _arg1.length; _local6 = 0; while (_local6 < _local13) { _local4 = _arg1[_local6]; _local5 = _local4.id; _local3 = _arrSectionList.length; _local14 = 0; while (_local14 < _local3) { if (_local5 == PlaylistSection(_arrSectionList[_local14]).id){ Controller.instance.tracer(("removed section " + _local5)); updateWeblinkIds(_local14); _arrSectionList.splice(_local14, 1); break; }; _local14++; }; _local3 = _arrRootSection.length; _local15 = 0; while (_local15 < _local3) { if (_local5 == PlaylistSection(_arrRootSection[_local15]).id){ _arrRootSection.splice(_local15, 1); break; }; _local15++; }; _local6++; }; _local3 = _arrSectionList.length; _local6 = _local14; while (_local6 < _local3) { _local12.push(_arrSectionList[_local6]); Controller.instance.tracer(("affected section (In UserPlaylist model) " + PlaylistSection(_arrSectionList[_local6]).id)); _local6++; }; dispatchEvent(new CustomEvent(SECTIONS_REMOVED, false, false, {position:_iNewSectionsLocation, removedSections:_arg1, affectedSections:_local12})); }; } public function get prevChangeableSection():PlaylistSection{ return (_objPrevChangeableSection); } private function extractSectionChildenAndUpdateSectionsList(_arg1:PlaylistSection):Array{ var _local7:PlaylistSection; var _local8:String; var _local9:String; Controller.instance.tracer(""); Controller.instance.tracer("extractSectionChildenAndUpdateSectionsList called"); var _local2:int = _arrSectionList.length; var _local3:String = _arg1.id; var _local4:Array = new Array(); var _local5:Array = _arrSectionList.slice(); var _local6:int; while (_local6 < _arrSectionList.length) { _local7 = _arrSectionList[_local6]; _local8 = _local7.id; _local9 = getComparableId(_local3, _local8); if (_local3 == _local9){ _arrSectionList.splice(_local6, 1); _local6--; _local4.push(_local7); }; _local6++; }; Controller.instance.tracer("extractSectionChildenAndUpdateSectionsList end"); Controller.instance.tracer(""); return (_local4); } public function moveSectionUp(_arg1:PlaylistSection):Boolean{ var _local2:int; var _local4:String; var _local5:Boolean; var _local6:PlaylistSection; var _local3:int = _arrRootSection.length; Controller.instance.tracer(("obj.parentSection " + _arg1.parentSection)); Controller.instance.tracer(("PlaylistSection(_arrRootSection[0]).id " + PlaylistSection(_arrRootSection[0]).id)); Controller.instance.tracer(("obj.id " + _arg1.id)); if ((((_arg1.parentSection == null)) && ((PlaylistSection(_arrRootSection[0]).id == _arg1.id)))){ return (false); }; if (_arg1.parentSection == null){ _local2 = findSectionPosition(_arg1, _arrRootSection); Controller.instance.tracer(("iPosition of the selected item " + _local2)); _local4 = PlaylistSection(_arrRootSection[(_local2 - 1)]).id; Controller.instance.tracer(("strLowerSeqSectionId(id of the upper item) " + _local4)); swapRootSections((_local2 - 1), _local2); findSequenceIdAndPushSection(_arg1, _local4); return (true); }; _local5 = isTopMostChild(_arg1); if (_local5){ return (false); }; _local6 = findPreviousSequentialSibling(_arg1); _local2 = findSectionPosition(_arg1, _arrSectionList); Controller.instance.tracer(("section position in list " + _local2)); findSequenceIdAndPushSection(_arg1, _local6.id); return (true); } public function findNextSection(_arg1:PlaylistSection):PlaylistSection{ var _local3:int; var _local4:int; var _local2:int = _arrSectionList.length; _local3 = 0; while (_local3 < _local2) { Controller.instance.tracer(((("PlaylistSection(_arrSectionList[" + _local3) + "]).id ") + PlaylistSection(_arrSectionList[_local3]).id)); _local3++; }; _local3 = 0; while (_local3 < _local2) { if (PlaylistSection(_arrSectionList[_local3]).id == _arg1.id){ ++_local3; _local4 = _local3; while (_local4 < _local2) { if (PlaylistSection(_arrSectionList[_local4]).hasValidPages()){ return (PlaylistSection(_arrSectionList[_local4])); }; _local4++; }; break; }; _local3++; }; return (null); } public function generateWeblinkId(_arg1:int=0):String{ if (_arg1 == 0){ _arg1 = ++_iWeblinkOrder; }; return (((WEBLINK_ID_PREFIX + WEBLINK_ID_SEPARATOR) + _arg1)); } public function moveSectionDown(_arg1:PlaylistSection):Boolean{ var _local2:int; var _local4:PlaylistSection; var _local5:Boolean; Controller.instance.tracer(("obj " + _arg1)); var _local3:int = _arrRootSection.length; Controller.instance.tracer(("obj.parentSection " + _arg1.parentSection)); Controller.instance.tracer(("PlaylistSection(_arrRootSection[0]).id " + PlaylistSection(_arrRootSection[(_local3 - 1)]).id)); Controller.instance.tracer(("obj.id " + _arg1.id)); if ((((_arg1.parentSection == null)) && ((PlaylistSection(_arrRootSection[(_local3 - 1)]).id == _arg1.id)))){ return (false); }; if (_arg1.parentSection == null){ _local2 = findSectionPosition(_arg1, _arrRootSection); Controller.instance.tracer(("iPosition of the selected item " + _local2)); findSequenceIdAndPushSection(_arrRootSection[(_local2 + 1)], _arg1.id); swapRootSections((_local2 + 1), _local2); return (true); }; _local4 = findNextSequentialSibling(_arg1); _local5 = ((_local4)==null) ? true : false; if (_local5){ return (false); }; _local2 = findSectionPosition(_arg1, _arrSectionList); findSequenceIdAndPushSection(_local4, _arg1.id); return (true); } private function findPrevChangeableSectionInLoop(_arg1:PlaylistSection):void{ var _local4:PlaylistSection; var _local2:int = _arrSectionList.length; var _local3:int = (_local2 - 1); while (_local3 >= 0) { _local4 = PlaylistSection(_arrSectionList[_local3]); if (_local4.hasValidPages()){ _objPrevChangeableSection = _local4; break; }; _local3--; }; } private function getComparableId(_arg1:String, _arg2:String):String{ var _local3:RegExp = /_/g; var _local4:Array = _arg1.match(_local3); var _local5:int = _local4.length; var _local6:Array = _arg2.split("_"); var _local7:int = _local6.length; var _local8:String = _local6[0]; var _local9 = 1; while ((((_local9 <= _local5)) && ((_local9 < _local7)))) { _local8 = (_local8 + ("_" + _local6[_local9])); _local9++; }; return (_local8); } public function get playlistData():String{ var _local3:PlaylistSection; var _local4:XML; var _local1:int = _arrSectionList.length; _objTempPlaylistXml = <UserPlaylist/> ; _objTempPlaylistXml.@type = _strPlaylistType; var _local2:int; while (_local2 < _local1) { _local3 = PlaylistSection(_arrSectionList[_local2]); _local4 = <section/> ; _local4.@id = _local3.id; _local4.@type = _local3.type; _local4.@id = _local3.id; if (_local3.type == PlaylistSection.TYPE_WEBLINK){ _local4.@name = _local3.name; }; _objTempPlaylistXml.appendChild(_local4); _local2++; }; Controller.instance.tracer(("sk...... " + _objTempPlaylistXml)); return (_objTempPlaylistXml.toString()); } override public function get sectionList():Array{ return (_arrSectionList); } public function isPrevPageExist(_arg1:int, _arg2:Boolean):Boolean{ var _local6:int; var _local3:PlaylistSection = currentSection; _objPrevChangeableSection = null; Controller.instance.tracer(""); Controller.instance.tracer("-----$%$%$%$%$%------$%$%$%$%$%---------isPrevPageExist called "); Controller.instance.tracer(("objCurSection.name " + _local3.name)); Controller.instance.tracer(("objCurSection.pagesInSection " + _local3.pagesInSection)); Controller.instance.tracer(("iCurPageIndex " + _arg1)); if (_arg1 > 1){ return (true); }; var _local4:int = _arrSectionList.length; var _local5:int; while (_local5 < _local4) { if (PlaylistSection(_arrSectionList[_local5]).id == _local3.id){ --_local5; _local6 = _local5; while (_local6 >= 0) { if (PlaylistSection(_arrSectionList[_local6]).hasValidPages()){ _objPrevChangeableSection = PlaylistSection(_arrSectionList[_local6]); Controller.instance.tracer(("......._objPrevChangeableSection " + _objPrevChangeableSection.name)); return (true); }; _local6--; }; break; }; _local5++; }; if (_arg2){ findPrevChangeableSectionInLoop(_local3); }; if (_objPrevChangeableSection != null){ Controller.instance.tracer(("...... _objPrevChangeableSection " + _objPrevChangeableSection.name)); } else { Controller.instance.tracer("....null prev section...._objPrevChangeableSection is null"); }; return (false); } public function updateWeblinkIds(_arg1:int):void{ var _local3:int; var _local4:int; var _local5:int; var _local6:PlaylistSection; var _local7:int; var _local2:PlaylistSection = _arrSectionList[_arg1]; Controller.instance.tracer("------sk-----updateWeblinkIds called"); Controller.instance.tracer(("objRemovedSection id " + _local2.id)); Controller.instance.tracer(("objRemovedSection name " + _local2.name)); Controller.instance.tracer(("objRemovedSection type " + _local2.type)); if (_local2.type == PlaylistSection.TYPE_WEBLINK){ _local3 = _arrSectionList.length; _local4 = int(_local2.id.split(WEBLINK_ID_SEPARATOR)[1]); Controller.instance.tracer(("as the removed item is a weblink so iRemovedWlinkOrder " + _local4)); _local5 = 0; while (_local5 < _local3) { _local6 = PlaylistSection(_arrSectionList[_local5]); if (_local6.type == PlaylistSection.TYPE_WEBLINK){ _local7 = int(_local6.id.split(WEBLINK_ID_SEPARATOR)[1]); Controller.instance.tracer(("iListedWeblinkOrder " + _local7)); if (_local7 > _local4){ Controller.instance.tracer(((("previous id " + _local6.id) + " name ") + _local6.name)); --_local7; _local6.id = generateWeblinkId(_local7); Controller.instance.tracer(((("changed id " + _local6.id) + " name ") + _local6.name)); }; }; _local5++; }; _iWeblinkOrder--; }; } private function findSectionPosition(_arg1:PlaylistSection, _arg2:Array):int{ var _local3:int; var _local4:int = _arg2.length; var _local5:int; while (_local5 < _local4) { if (PlaylistSection(_arg2[_local5]).id == _arg1.id){ _local3 = _local5; break; }; _local5++; }; return (_local3); } public function resetPlaylist():void{ _arrRootSection = new Array(); _arrSectionList = new Array(); _iWeblinkOrder = 0; } public function get nextChangeableSection():PlaylistSection{ return (_objNextChangeableSection); } private function findSequenceIdAndPushSection(_arg1:PlaylistSection, _arg2:String):void{ var _local4:int; Controller.instance.tracer(""); Controller.instance.tracer("findSequenceIdAndPushSection called"); Controller.instance.tracer(("objSectionToPush.id " + _arg1.id)); Controller.instance.tracer(("strWhereToPush_SectionId " + _arg2)); var _local3:int = _arrSectionList.length; var _local5:int; while (_local5 < _local3) { Controller.instance.tracer(("section found where to fush in section list index of loop " + _local5)); if (PlaylistSection(_arrSectionList[_local5]).id == _arg2){ _local4 = _local5; break; }; _local5++; }; var _local6:Array = extractSectionChildenAndUpdateSectionsList(_arg1); Controller.instance.tracer(("arrChildren " + _local6)); var _local7:Array = pushArrayAtIndex(_local6, _local4); Controller.instance.tracer(("arrEndArray " + _local7)); dispatchEvent(new CustomEvent(SECTIONS_SWAPPED, false, false, {position:_local4, insertedSections:_local6, affectedSections:_local7})); Controller.instance.tracer(""); Controller.instance.tracer("findSequenceIdAndPushSection end"); } private function isTopMostChild(_arg1:PlaylistSection):Boolean{ var _local2:int = _arrSectionList.length; var _local3:int; while (_local3 < _local2) { if (_arrSectionList[_local3].id == _arg1.id){ break; }; _local3++; }; if (_local3 > 0){ if (_arrSectionList[(_local3 - 1)].id == _arg1.parentSection.id){ return (true); }; }; return (false); } public function set editableSection(_arg1:PlaylistSection):void{ _objEditableSection = _arg1; } private function findPreviousSequentialSibling(_arg1:PlaylistSection):PlaylistSection{ var _local2:PlaylistSection; var _local3:int = _arrSectionList.length; var _local4:int = findSectionPosition(_arg1, _arrSectionList); var _local5:int = (_local4 - 1); while (_local5 >= 0) { _local2 = PlaylistSection(_arrSectionList[_local5]); if (_local2.parentSection != null){ if ((((_local2.parentSection.id == _arg1.parentSection.id)) && (!((_local2.id == _arg1.id))))){ return (_local2); }; }; _local5--; }; return (null); } private function findNextSequentialSibling(_arg1:PlaylistSection):PlaylistSection{ var _local2:PlaylistSection; var _local3:int = _arrSectionList.length; var _local4:int = findSectionPosition(_arg1, _arrSectionList); var _local5:int = _local4; while (_local5 < _local3) { _local2 = PlaylistSection(_arrSectionList[_local5]); if (_local2.parentSection != null){ if ((((_local2.parentSection.id == _arg1.parentSection.id)) && (!((_local2.id == _arg1.id))))){ return (_local2); }; }; _local5++; }; return (null); } private function findNextChangeableSectionInLoop(_arg1:PlaylistSection):void{ var _local4:PlaylistSection; var _local2:int = _arrSectionList.length; var _local3:int; while (_local3 < _local2) { _local4 = PlaylistSection(_arrSectionList[_local3]); Controller.instance.tracer(("sss objSection.name " + _local4.name)); Controller.instance.tracer(("sss objSection.type " + _local4.type)); if (_local4.hasValidPages()){ _objNextChangeableSection = _local4; break; }; _local3++; }; } public function updatePlaylistXml(_arg1:XML=null):void{ if (_arg1 != null){ _objSavedPlaylistXml = _arg1; } else { _objSavedPlaylistXml = _objTempPlaylistXml; }; } public function get savedPlaylistXml():XML{ return (_objSavedPlaylistXml); } public function get rootSectionList():Array{ return (_arrRootSection); } private function swapRootSections(_arg1:int, _arg2:int):void{ Controller.instance.tracer(""); Controller.instance.tracer(".........swapRootSections called"); Controller.instance.tracer(("iPosition1 " + _arg1)); Controller.instance.tracer(("iPosition2 " + _arg2)); var _local3:PlaylistSection = _arrRootSection[_arg1]; _arrRootSection[_arg1] = _arrRootSection[_arg2]; _arrRootSection[_arg2] = _local3; var _local4:int; while (_local4 < _arrRootSection.length) { Controller.instance.tracer(("**** section id " + _arrRootSection[_local4].id)); _local4++; }; Controller.instance.tracer(".........swapRootSections end"); Controller.instance.tracer(""); } public function isNextPageExist(_arg1:int, _arg2:Boolean):Boolean{ var _local6:int; _objNextChangeableSection = null; var _local3:PlaylistSection = currentSection; Controller.instance.tracer(""); Controller.instance.tracer("-----$%$%$%$%$%------$%$%$%$%$%---------isNextPageExist called "); Controller.instance.tracer(("objCurSection.name " + _local3.name)); Controller.instance.tracer(("objCurSection.pagesInSection " + _local3.pagesInSection)); Controller.instance.tracer(("iCurPageIndex " + _arg1)); if (_arg1 < _local3.pagesInSection){ return (true); }; var _local4:int = _arrSectionList.length; var _local5:int; while (_local5 < _local4) { if (PlaylistSection(_arrSectionList[_local5]).id == _local3.id){ ++_local5; _local6 = _local5; while (_local6 < _local4) { if (PlaylistSection(_arrSectionList[_local6]).hasValidPages()){ _objNextChangeableSection = PlaylistSection(_arrSectionList[_local6]); Controller.instance.tracer(("........_objNextChangeableSection " + _objNextChangeableSection.name)); return (true); }; _local6++; }; break; }; _local5++; }; if (_arg2){ findNextChangeableSectionInLoop(_local3); }; if (_objNextChangeableSection != null){ Controller.instance.tracer(("........._objNextChangeableSection " + _objNextChangeableSection.name)); } else { Controller.instance.tracer("....null next section......_objNextChangeableSection is null"); }; return (false); } public function addWeblink(_arg1:String, _arg2:String=null):void{ var _local3:PlaylistSection = new PlaylistSection(0, _arg1, 0, PlaylistSection.TYPE_WEBLINK); if (_arg2 == null){ _local3.id = generateWeblinkId(); } else { _local3.id = _arg2; _iWeblinkOrder++; }; updateList([_local3], ADD_SECTIONS); } public function ToNames(_arg1:Array):String{ var _local2:int = _arg1.length; var _local3 = ""; var _local4:int; while (_local4 < _local2) { _local3 = (_local3 + (_arg1[_local4].id + ",")); _local4++; }; return (_local3); } public function editSection(_arg1:String):void{ var _local4:PlaylistSection; var _local2:int = _arrSectionList.length; var _local3:int; while (_local3 < _local2) { _local4 = PlaylistSection(_arrSectionList[_local3]); if (_local4.id == _objEditableSection.id){ _local4.name = _arg1; dispatchEvent(new CustomEvent(SECTION_EDITED, false, false, {section:_local4})); break; }; _local3++; }; } } }//package view.AdvanceFeatures.Playlist.model
Section 169
//PlaylistBrowser (view.AdvanceFeatures.Playlist.view.PlaylistBrowser) package view.AdvanceFeatures.Playlist.view { import controller.*; import flash.display.*; import flash.utils.*; import view.AdvanceFeatures.Playlist.model.*; import event.*; public class PlaylistBrowser extends PlaylistPanel { public function PlaylistBrowser(_arg1:Sprite, _arg2:IPlaylist){ super(_arg1, _arg2); } override protected function addToPanel(_arg1:PlaylistSection, _arg2:Number, _arg3:Number):void{ if (((!((_arg1.parentSection == null))) && ((Playlist(_objPlaylist).playlistType == Playlist.PLAYLIST_TYPE_CHAPTERS_ONLY)))){ return; }; var _local4:UserPlaylistItem = new UserPlaylistItem(_arg1, false); _dcPlaylistSection[_arg1] = _local4; _local4.addEventListener(UserPlaylistItem.EVENT_LABEL_CLICK, onLabelClick); var _local5:int = String(_arg1.id).split("_").length; _local4.x = (START_X + (_local5 * HORIZONTAL_INDENT)); _local4.y = _nTotalVerticalDistance; _nTotalVerticalDistance = (_nTotalVerticalDistance + VERTICAL_INDENT); _spTree.addChild(_local4); } public function loadDefaultPage():void{ onLabelClick(); } private function onLabelClick(_arg1:CustomEvent=null):void{ var _local2:PlaylistSection; if (_arg1 == null){ _local2 = _objPlaylist.sectionList[0]; } else { _local2 = _arg1.data.section; }; var _local3:UserPlaylist = (_objPlaylist as UserPlaylist); _local3.currentSection = _local2; var _local4:PlaylistSection = _local2; Controller.instance.tracer(("objPlayListSection.hasChildren() " + _local4.hasChildren())); if (_local4.hasChildren()){ _local4 = _local3.findNextSection(_local4); Controller.instance.tracer(("objPlayListNext " + _local4.id)); if (_local4 == null){ Controller.instance.tracer("*&*&*&*&this section or next forthcoming sections have not pages*****"); return; }; }; _local3.currentSection = _local4; dispatchEvent(new CustomEvent(UserPlaylistItem.EVENT_LABEL_CLICK, false, false, {section:_local2})); } override public function dispose():void{ var _local1:UserPlaylistItem; for each (_local1 in _dcPlaylistSection) { _spTree.removeChild((_local1 as UserPlaylistItem)); _local1.removeEventListener(UserPlaylistItem.EVENT_LABEL_CLICK, onLabelClick); _local1 = null; }; _dcPlaylistSection = new Dictionary(); } } }//package view.AdvanceFeatures.Playlist.view
Section 170
//PlaylistItem (view.AdvanceFeatures.Playlist.view.PlaylistItem) package view.AdvanceFeatures.Playlist.view { import flash.events.*; import flash.display.*; import view.*; import view.AdvanceFeatures.Playlist.model.*; import flash.text.*; import event.*; public class PlaylistItem extends Sprite { private const CHECKBOX_BUTTON:String = "CHECKBOX_BUTTON"; protected var _btnCheckBox:CustomButton; private var _objItem:Sprite; protected var _btnLabel:CustomButton; protected var _objPlaylistSection:PlaylistSection; private var _strName:String; public static const EVENT_CHECKBOX_CLICK:String = "oncheckboxclick"; private static var CheckboxAndLabel:Class = PlaylistItem_CheckboxAndLabel; public function PlaylistItem(_arg1:PlaylistSection){ _objPlaylistSection = _arg1; this.addEventListener(Event.ADDED_TO_STAGE, addedToList); } public function get playlistSection():PlaylistSection{ return (_objPlaylistSection); } public function dispatchSelectEvent():void{ var _local1:MouseEvent; _btnCheckBox.onEventFire(_local1); } protected function onCustomButtonClick(_arg1:CustomButton):void{ switch (_arg1.__id){ case CHECKBOX_BUTTON: dispatchEvent(new CustomEvent(EVENT_CHECKBOX_CLICK, false, false, {state:_arg1.currentState, section:_objPlaylistSection})); break; }; } public function isSelected():Boolean{ return (((_btnCheckBox.currentState == CustomButton.STATE_SELECTED)) ? true : false); } public function selectItem(_arg1:Boolean):void{ if (_arg1){ _btnCheckBox.setState(CustomButton.STATE_SELECTED); } else { _btnCheckBox.setState(CustomButton.STATE_NORMAL); }; } public function get currentState():String{ return (_btnCheckBox.currentState); } protected function addedToList(_arg1:Event):void{ this.removeEventListener(Event.ADDED_TO_STAGE, addedToList); _objItem = new CheckboxAndLabel(); var _local2:Sprite = (_objItem.getChildByName("btnLabel") as Sprite); (_local2.getChildByName("txtLabel") as TextField).text = _objPlaylistSection.name; _btnLabel = new CustomButton(_local2.getChildByName("mcPlayListLabelBg")); _btnLabel.setState(CustomButton.STATE_NORMAL); _btnLabel.buttonMode = false; _btnLabel.__bToggle = false; _btnCheckBox = new CustomButton(_objItem.getChildByName("mcCheckbox")); _btnCheckBox.setState(CustomButton.STATE_NORMAL); _btnCheckBox.__id = CHECKBOX_BUTTON; _btnCheckBox.__bToggle = true; _btnCheckBox.addEventListener(MouseEvent.CLICK, onCustomButtonClick); addChild(_objItem); } public function dispose():void{ if (_btnCheckBox){ _btnCheckBox.removeEventListener(MouseEvent.CLICK); }; } } }//package view.AdvanceFeatures.Playlist.view
Section 171
//PlaylistItem_CheckboxAndLabel (view.AdvanceFeatures.Playlist.view.PlaylistItem_CheckboxAndLabel) package view.AdvanceFeatures.Playlist.view { import flash.display.*; import mx.core.*; public class PlaylistItem_CheckboxAndLabel extends SpriteAsset { public var btnSave:DisplayObject; public var mcContent:DisplayObject; public var mc_N:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mcThemeClip:DisplayObject; public var mc_J:DisplayObject; public var mc_W:DisplayObject; public var btnTeacher:DisplayObject; public var btnHTML:DisplayObject; public var btnUp:DisplayObject; public var mcThumb:DisplayObject; public var mcExit:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnBar:DisplayObject; public var btnZoomIn:DisplayObject; public var txtWord:DisplayObject; public var btnLabel:DisplayObject; public var txtDisplay:DisplayObject; public var mcIconAnim:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var btnIdle:DisplayObject; public var mcCross:DisplayObject; public var mcPatch:DisplayObject; public var mcBG:DisplayObject; public var bg:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txtLabel:DisplayObject; public var btnNote:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var txtLink:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var btnOpen:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var btnPDF:DisplayObject; public var mcCheckBg:DisplayObject; public var mcTxt:DisplayObject; public var mcNoResult:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var btnDelete:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var txtInput:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var txtInfo:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var btnLinkBg:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var mcCheckbox:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var mcPlayListLabelBg:DisplayObject; public var btnState:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var textMc:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPrint:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcShape:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcDot:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_B:DisplayObject; public var mc_D:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mcTOC:DisplayObject; public var mc_K:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_Q:DisplayObject; public var mc_L:DisplayObject; public var mc_U:DisplayObject; public var mc_thumb:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_T:DisplayObject; public var mc_V:DisplayObject; public var mc_O:DisplayObject; public var mc_P:DisplayObject; public var mc_Y:DisplayObject; public var mc_R:DisplayObject; public var mc_S:DisplayObject; public var mc_C:DisplayObject; public var mc_X:DisplayObject; public var mcGlossaryImage:DisplayObject; } }//package view.AdvanceFeatures.Playlist.view
Section 172
//PlaylistPanel (view.AdvanceFeatures.Playlist.view.PlaylistPanel) package view.AdvanceFeatures.Playlist.view { import controller.*; import flash.events.*; import flash.display.*; import view.*; import flash.utils.*; import view.AdvanceFeatures.Playlist.model.*; import event.*; public class PlaylistPanel extends EventDispatcher { protected const START_X:Number = 10; protected const START_Y:Number = 10; protected const VERTICAL_INDENT:Number = 40; protected const HORIZONTAL_INDENT:Number = 20; protected var _nTotalVerticalDistance:Number;// = 0 private var _arrItem:Array; protected var _objPlaylist:IPlaylist; protected var _scrollbars:Scrollbars; protected var _spPlaylist:Sprite; protected var _iSectionCount:int;// = 0 protected var _dcPlaylistSection:Dictionary; protected var _spTree:Sprite; public static const ITEM_CLICK:String = "itemclick"; public function PlaylistPanel(_arg1:Sprite, _arg2:IPlaylist){ _spPlaylist = _arg1; _objPlaylist = _arg2; _dcPlaylistSection = new Dictionary(); _spTree = (_spPlaylist.getChildByName("mcTree") as Sprite); configureScrollBars(); } public function createList():void{ Controller.instance.tracer("start adding list items"); _nTotalVerticalDistance = START_Y; traverseSectionList(_objPlaylist.sectionList, START_X, START_Y); updateScrollbars(); } public function removeAllItems():void{ var i:int; var mcItem:*; Controller.instance.tracer(("removeAllItems from panel " + _spTree.numChildren)); _nTotalVerticalDistance = 0; _iSectionCount = 0; _dcPlaylistSection = new Dictionary(); i = 0; while (i < _spTree.numChildren) { mcItem = _spTree.getChildAt(i); try { Controller.instance.tracer("remove"); PlaylistItem(mcItem).dispose(); _spTree.removeChild(mcItem); i = (i - 1); } catch(e:Error) { Controller.instance.tracer(((("error in removing item at index " + i) + " ...") + e.toString())); }; i = (i + 1); }; } private function selectChildren(_arg1:PlaylistSection, _arg2:Boolean):void{ var _local3:int; var _local4:Array; var _local5:int; if (_arg1.hasChildren()){ _local4 = _arg1.subSections; _local3 = _local4.length; _local5 = 0; while (_local5 < _local3) { selectChild(PlaylistSection(_local4[_local5]), _arg2); _local5++; }; }; } private function checkSelectionOfImmidiateChildren(_arg1:PlaylistSection):Boolean{ var _local2:int; var _local3:Array; _local3 = _arg1.subSections; _local2 = _local3.length; var _local4:int; while (_local4 < _local2) { if (PlaylistItem(_dcPlaylistSection[_local3[_local4]]).currentState == CustomButton.STATE_SELECTED){ return (true); }; _local4++; }; return (false); } private function configureScrollBars():void{ _scrollbars = new Scrollbars(_spPlaylist.getChildByName("mcScrollbars"), null); _scrollbars.registerListener(this); } private function selectChild(_arg1:PlaylistSection, _arg2:Boolean):void{ if (_dcPlaylistSection[_arg1] != undefined){ if (PlaylistItem(_dcPlaylistSection[_arg1]).isSelected() != _arg2){ PlaylistItem(_dcPlaylistSection[_arg1]).selectItem(_arg2); PlaylistSection(_arg1).selected = _arg2; _arrItem.push(_arg1); }; } else { _arrItem.push(_arg1); }; if (_arg1.hasChildren()){ selectChildren(_arg1, _arg2); }; } public function onScrollHorizontal(_arg1:Number):void{ _spTree.x = -(_arg1); } protected function traverseSectionList(_arg1:Array, _arg2:Number, _arg3:Number):void{ var _local4:int = _arg1.length; var _local5:int; while (_local5 < _local4) { addToPanel(PlaylistSection(_arg1[_local5]), _arg2, _arg3); _local5++; }; } private function selectParentItems(_arg1:PlaylistSection, _arg2:Boolean):void{ if (_arg1.hasParent()){ if (_arg2){ if (PlaylistItem(_dcPlaylistSection[_arg1.parentSection]).currentState == CustomButton.STATE_SELECTED){ return; }; selectParentItem(_arg1.parentSection, _arg2); } else { _arg2 = checkSelectionOfImmidiateChildren(_arg1.parentSection); if (_arg2){ return; }; selectParentItem(_arg1.parentSection, _arg2); }; }; } public function dispose():void{ } protected function updateScrollbarsOld():void{ var _local1:Sprite = (_spPlaylist.getChildByName("mcMask") as Sprite); var _local2:Number = (_spPlaylist.width + 10); var _local3:Number = (_spPlaylist.height + 10); Controller.instance.tracer((((_local1.height + 15) + "-maskheight--------in updateScrollbars maxHeight ") + _local3)); Controller.instance.tracer((((_local1.width + 15) + "-maskwidth--------maxwidth ") + _local2)); var _local4:Number = _scrollbars.update((_local2 - _local1.width), (_local3 - _local1.height)); } public function selectPlaylistItem(_arg1:PlaylistSection):void{ var _local2:PlaylistItem; if (_dcPlaylistSection[_arg1] != undefined){ _local2 = PlaylistItem(_dcPlaylistSection[_arg1]); _local2.selectItem(true); }; } public function onScrollVertical(_arg1:Number):void{ _spTree.y = -(_arg1); } private function selectParentItem(_arg1:PlaylistSection, _arg2:Boolean):void{ if (PlaylistItem(_dcPlaylistSection[_arg1]).isSelected() != _arg2){ PlaylistItem(_dcPlaylistSection[_arg1]).selectItem(_arg2); PlaylistSection(_arg1).selected = _arg2; _arrItem.unshift(_arg1); }; if (_arg1.hasParent()){ selectParentItems(_arg1, _arg2); }; } private function onPlaylistItemClick(_arg1:CustomEvent):void{ var _local2:String; _arrItem = new Array(); switch (_arg1.type){ case PlaylistItem.EVENT_CHECKBOX_CLICK: _arrItem.push(_arg1.data.section); if (_arg1.data.state == CustomButton.STATE_SELECTED){ PlaylistSection(_arg1.data.section).selected = true; selectChildren(_arg1.data.section, true); selectParentItems(_arg1.data.section, true); _local2 = Playlist.ADD_SECTIONS; } else { PlaylistSection(_arg1.data.section).selected = true; selectChildren(_arg1.data.section, false); selectParentItems(_arg1.data.section, false); _local2 = Playlist.DELETE_SECTIONS; }; dispatchEvent(new CustomEvent(ITEM_CLICK, false, false, {actionType:_local2, items:_arrItem})); break; }; } protected function addToPanel(_arg1:PlaylistSection, _arg2:Number, _arg3:Number):void{ Controller.instance.tracer("addToPanel ......"); var _local4:PlaylistItem = new PlaylistItem(_arg1); _dcPlaylistSection[_arg1] = _local4; _local4.addEventListener(PlaylistItem.EVENT_CHECKBOX_CLICK, onPlaylistItemClick); _local4.x = _arg2; _local4.y = _nTotalVerticalDistance; _nTotalVerticalDistance = (_nTotalVerticalDistance + VERTICAL_INDENT); _spTree.addChild(_local4); Controller.instance.tracer(("addToPanel in Play list panel " + Playlist(_objPlaylist).playlistType)); if (((_arg1.hasChildren()) && ((Playlist(_objPlaylist).playlistType == Playlist.PLAYLIST_TYPE_CHAPTERS_WITH_LESSON)))){ traverseSectionList(_arg1.subSections, (_arg2 + HORIZONTAL_INDENT), (_arg3 + VERTICAL_INDENT)); }; } public function updateScrollbars():void{ var _local1:Sprite = (_spPlaylist.getChildByName("mcMask") as Sprite); var _local2:Number = _spTree.width; var _local3:Number = _spTree.height; Controller.instance.tracer(((_local1.height + "-maskheight--------in updateScrollbars maxHeight ") + _local3)); Controller.instance.tracer(((_local1.width + "-maskwidth--------maxwidth ") + _local2)); var _local4:Number = _scrollbars.update((_local2 - _local1.width), (_local3 - _local1.height)); } public function resetPlaylistItems():void{ var mcItem:*; var nTotItems:int = _spTree.numChildren; var i:int; while (i < nTotItems) { Controller.instance.tracer(("index " + i)); mcItem = _spTree.getChildAt(i); try { PlaylistItem(mcItem).selectItem(false); } catch(e:Error) { Controller.instance.tracer(("error ..." + e.toString())); }; i = (i + 1); }; } } }//package view.AdvanceFeatures.Playlist.view
Section 173
//PlaylistWeblinkPanel (view.AdvanceFeatures.Playlist.view.PlaylistWeblinkPanel) package view.AdvanceFeatures.Playlist.view { import flash.events.*; import flash.display.*; import view.*; import flash.text.*; import event.*; public class PlaylistWeblinkPanel extends Panel { private const ADD_WEBLINK:String = "addWeblink"; private const EDIT_WEBLINK:String = "editWeblink"; private var _strActionType:String; private var _txtUrl:TextField; private var _spPanel:Sprite; private var _objPlaylistBrowser:PlaylistBrowser; private var _spBrowserPlaylist:Sprite; public static const WEBLINK_PANEL_VISIBILITY_CHANGED:String = "weblinkPanelVisibilityChanged"; public static const WEBLINK_EDITED:String = "weblinkEdited"; public static const WEBLINK_ADDED:String = "weblinkAdded"; public function PlaylistWeblinkPanel(_arg1:Sprite, _arg2:Sprite){ super(_arg1, _arg2); _spPanel = _arg1; } public function editWeblink(_arg1:String):void{ _strActionType = EDIT_WEBLINK; _txtUrl.text = _arg1; selectText(); } private function selectText():void{ _spPanel.stage.focus = _txtUrl; _txtUrl.setSelection(0, _txtUrl.length); } private function setWeblinkInUserPlaylist(_arg1:Object):void{ if (_strActionType == ADD_WEBLINK){ dispatchEvent(new CustomEvent(WEBLINK_ADDED, false, false, {strUrl:_txtUrl.text})); } else { if (_strActionType == EDIT_WEBLINK){ dispatchEvent(new CustomEvent(WEBLINK_EDITED, false, false, {strUrl:_txtUrl.text})); }; }; show(false); _txtUrl.text = ""; } override public function show(_arg1:Boolean):void{ super.show(_arg1); _strActionType = ADD_WEBLINK; if (_arg1){ selectText(); }; dispatchEvent(new CustomEvent(WEBLINK_PANEL_VISIBILITY_CHANGED, false, false, {visibility:_arg1})); } public function init():void{ var _local2:CustomButton; _txtUrl = (_spPanel.getChildByName("txtUrl") as TextField); var _local1:DisplayObject = _spPanel.getChildByName("mcOk"); if (_local1 != null){ _local2 = new CustomButton(_local1); _local2.__bToggle = false; _local2.setState(CustomButton.STATE_NORMAL); _local2.addEventListener(MouseEvent.CLICK, setWeblinkInUserPlaylist); }; } } }//package view.AdvanceFeatures.Playlist.view
Section 174
//UserPlaylistItem (view.AdvanceFeatures.Playlist.view.UserPlaylistItem) package view.AdvanceFeatures.Playlist.view { import flash.events.*; import flash.display.*; import view.*; import view.AdvanceFeatures.Playlist.model.*; import flash.text.*; import event.*; public class UserPlaylistItem extends PlaylistItem { private const LABEL_BUTTON:String = "labelbutton"; private var _bToggleable:Boolean; private var _objLabel:Sprite; public static const EVENT_LABEL_CLICK:String = "labelclick"; private static var Label:Class = UserPlaylistItem_Label; public function UserPlaylistItem(_arg1:PlaylistSection, _arg2:Boolean=true):void{ super(_arg1); _bToggleable = _arg2; } override protected function addedToList(_arg1:Event):void{ setLabelFunctionality(new Label()); addChild(_objLabel); } override protected function onCustomButtonClick(_arg1:CustomButton):void{ switch (_arg1.__id){ case LABEL_BUTTON: dispatchEvent(new CustomEvent(EVENT_LABEL_CLICK, false, false, {state:_arg1.currentState, section:_objPlaylistSection})); break; }; } public function get labelObject():Sprite{ return (_objLabel); } override public function selectItem(_arg1:Boolean):void{ if (_arg1){ _btnLabel.setState(CustomButton.STATE_SELECTED); } else { _btnLabel.setState(CustomButton.STATE_NORMAL); }; } protected function setLabelFunctionality(_arg1:Sprite):void{ _objLabel = _arg1; this.removeEventListener(Event.ADDED_TO_STAGE, addedToList); var _local2:TextField = (_objLabel.getChildByName("txtLabel") as TextField); _local2.text = _objPlaylistSection.name; _local2.mouseEnabled = false; _btnLabel = new CustomButton(_objLabel.getChildByName("mcPlayListLabelBg")); _btnLabel.__id = LABEL_BUTTON; _btnLabel.__bToggle = _bToggleable; _btnLabel.setState(CustomButton.STATE_NORMAL); _btnLabel.addEventListener(MouseEvent.CLICK, onCustomButtonClick); } override public function dispose():void{ if (_btnLabel){ _btnLabel.removeEventListener(MouseEvent.CLICK); }; } } }//package view.AdvanceFeatures.Playlist.view
Section 175
//UserPlaylistItem_Label (view.AdvanceFeatures.Playlist.view.UserPlaylistItem_Label) package view.AdvanceFeatures.Playlist.view { import flash.display.*; import mx.core.*; public class UserPlaylistItem_Label extends SpriteAsset { public var btnSave:DisplayObject; public var mcContent:DisplayObject; public var mc_N:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mcThemeClip:DisplayObject; public var mc_J:DisplayObject; public var mc_W:DisplayObject; public var btnTeacher:DisplayObject; public var btnHTML:DisplayObject; public var btnUp:DisplayObject; public var mcThumb:DisplayObject; public var mcExit:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnBar:DisplayObject; public var btnZoomIn:DisplayObject; public var txtWord:DisplayObject; public var btnLabel:DisplayObject; public var txtDisplay:DisplayObject; public var mcIconAnim:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var btnIdle:DisplayObject; public var mcCross:DisplayObject; public var mcPatch:DisplayObject; public var mcBG:DisplayObject; public var bg:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txtLabel:DisplayObject; public var btnNote:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var txtLink:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var btnOpen:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var btnPDF:DisplayObject; public var mcCheckBg:DisplayObject; public var mcTxt:DisplayObject; public var mcNoResult:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var btnDelete:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var txtInput:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var txtInfo:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var btnLinkBg:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var mcCheckbox:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var mcPlayListLabelBg:DisplayObject; public var btnState:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var textMc:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPrint:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcShape:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcDot:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_B:DisplayObject; public var mc_D:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mcTOC:DisplayObject; public var mc_K:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_Q:DisplayObject; public var mc_L:DisplayObject; public var mc_U:DisplayObject; public var mc_thumb:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_T:DisplayObject; public var mc_V:DisplayObject; public var mc_O:DisplayObject; public var mc_P:DisplayObject; public var mc_Y:DisplayObject; public var mc_R:DisplayObject; public var mc_S:DisplayObject; public var mc_C:DisplayObject; public var mc_X:DisplayObject; public var mcGlossaryImage:DisplayObject; } }//package view.AdvanceFeatures.Playlist.view
Section 176
//UserPlaylistPanel (view.AdvanceFeatures.Playlist.view.UserPlaylistPanel) package view.AdvanceFeatures.Playlist.view { import controller.*; import flash.events.*; import flash.display.*; import view.*; import view.AdvanceFeatures.Playlist.model.*; import event.*; public class UserPlaylistPanel extends PlaylistPanel { private var _objCurrentSelectedItem:UserPlaylistItem; private var _btnUp:CustomButton; private var _btnDown:CustomButton; private var _objPlaylistWeblinkPanel:PlaylistWeblinkPanel; private var _btnWeblink:CustomButton; private var _objSelectedSection:PlaylistSection; public static const PLAYLIST_UPDATED:String = "String"; public function UserPlaylistPanel(_arg1:Sprite, _arg2:UserPlaylist, _arg3:PlaylistWeblinkPanel){ super(_arg1, _arg2); _objPlaylistWeblinkPanel = _arg3; _objPlaylistWeblinkPanel.addEventListener(PlaylistWeblinkPanel.WEBLINK_ADDED, addWeblink); _objPlaylistWeblinkPanel.addEventListener(PlaylistWeblinkPanel.WEBLINK_EDITED, editWeblink); _btnUp = new CustomButton(_arg1.getChildByName("mcUp")); _btnDown = new CustomButton(_arg1.getChildByName("mcDown")); var _local4:DisplayObject = _arg1.getChildByName("mcAddWeblink"); if (_local4 != null){ _btnWeblink = new CustomButton(_local4); _btnWeblink.addEventListener(MouseEvent.CLICK, onClickAddWebLink); }; _btnUp.__bToggle = (_btnDown.__bToggle = false); _btnUp.setState(CustomButton.STATE_NORMAL); _btnDown.setState(CustomButton.STATE_NORMAL); _btnUp.addEventListener(MouseEvent.CLICK, onUpClick); _btnDown.addEventListener(MouseEvent.CLICK, onDownClick); _arg2.addEventListener(UserPlaylist.SECTIONS_APPENDED, onSectionsAppended); _arg2.addEventListener(UserPlaylist.SECTIONS_INSERTED, onSectionsInserted); _arg2.addEventListener(UserPlaylist.SECTIONS_REMOVED, onSectionsRemoved); _arg2.addEventListener(UserPlaylist.SECTIONS_SWAPPED, onSwapSections); _arg2.addEventListener(UserPlaylist.SECTION_EDITED, onSectionEdited); } private function createPlayListItem(_arg1:PlaylistSection){ var _local2:*; if (_arg1.type == PlaylistSection.TYPE_NORMAL){ _local2 = new UserPlaylistItem(_arg1); } else { if (_arg1.type == PlaylistSection.TYPE_WEBLINK){ _local2 = new WeblinkPlaylistItem(_arg1); _local2.addEventListener(WeblinkPlaylistItem.DELETE_WEBLINK, deleteWeblink); _local2.addEventListener(WeblinkPlaylistItem.EDIT_WEBLINK, editWeblinkInPanel); }; }; _local2.addEventListener(UserPlaylistItem.EVENT_LABEL_CLICK, onLabelClick); return (_local2); } private function onSectionsRemoved(_arg1:CustomEvent):void{ var _local5:PlaylistSection; var _local10:UserPlaylistItem; var _local2:Array = (_arg1.data.removedSections as Array); var _local3:Array = (_arg1.data.affectedSections as Array); var _local4:int = _local2.length; if (_objCurrentSelectedItem){ _objCurrentSelectedItem.selectItem(false); _objCurrentSelectedItem = null; _objSelectedSection = null; }; var _local6:int; var _local7:int; while (_local7 < _local4) { _local5 = PlaylistSection(_local2[_local7]); if ((((UserPlaylist(_objPlaylist).playlistType == Playlist.PLAYLIST_TYPE_CHAPTERS_ONLY)) && (!((_local5.parentSection == null))))){ Controller.instance.tracer(((_local5.id + " this item was not added in panel so would not be removed ") + _local5.parentSection)); } else { _local10 = _dcPlaylistSection[_local5]; _spTree.removeChild(_local10); _local10.dispose(); _local10.removeEventListener(UserPlaylistItem.EVENT_LABEL_CLICK, onLabelClick); _local10 = null; _iSectionCount--; _local6++; }; _local7++; }; var _local8:int = _local3.length; Controller.instance.tracer(("total affected sections " + _local8)); var _local9:int; while (_local9 < _local8) { _local5 = PlaylistSection(_local3[_local9]); Controller.instance.tracer(((("_dcPlaylistSection[" + _local5.id) + "] ") + _dcPlaylistSection[_local5])); if (_dcPlaylistSection[_local5] != undefined){ UserPlaylistItem(_dcPlaylistSection[_local5]).y = (UserPlaylistItem(_dcPlaylistSection[_local5]).y - (_local6 * VERTICAL_INDENT)); Controller.instance.tracer(("UserPlaylistItem(_dcPlaylistSection[objSection]).y " + UserPlaylistItem(_dcPlaylistSection[_local5]).y)); }; _local9++; }; updateScrollbars(); enableReorderingBtns(); dispatchEvent(new CustomEvent(PLAYLIST_UPDATED, false, false)); setUpDownButtonsStates(); } public function setUpDownButtonsStates():void{ var _local8:int; var _local9:PlaylistSection; var _local10:int; var _local11:Boolean; if (_objSelectedSection == null){ _btnDown.setState(CustomButton.STATE_DISABLED); _btnUp.setState(CustomButton.STATE_DISABLED); return; }; var _local1:Array = UserPlaylist(_objPlaylist).sectionList.slice(); var _local2:int = _local1.length; var _local3 = -1; var _local4:int; var _local5:int = _objSelectedSection.id.split("_").length; var _local6:Boolean; var _local7:Boolean; if (_objSelectedSection != null){ _local8 = 0; while (_local8 < _local2) { _local9 = _local1[_local8]; if (_local9.id == _objSelectedSection.id){ _local3 = _local4; _local6 = true; }; _local10 = _local9.id.split("_").length; if (_local5 == _local10){ _local11 = true; if (_objSelectedSection.parentSection != null){ if (_local9 != null){ if (_local9.parentSection.id == _objSelectedSection.parentSection.id){ _local11 = true; } else { _local11 = false; }; } else { _local11 = false; }; }; if (_local11){ _local7 = true; _local4++; if (((_local6) && ((_local3 < (_local4 - 1))))){ break; }; }; } else { if (((((_local6) && (_local7))) && ((_local10 < _local5)))){ break; }; }; _local8++; }; }; if (_local4 <= 1){ _btnDown.setState(CustomButton.STATE_DISABLED); _btnUp.setState(CustomButton.STATE_DISABLED); } else { if (_local3 == 0){ _btnDown.setState(CustomButton.STATE_NORMAL); _btnUp.setState(CustomButton.STATE_DISABLED); } else { if (_local3 == (_local4 - 1)){ _btnDown.setState(CustomButton.STATE_DISABLED); _btnUp.setState(CustomButton.STATE_NORMAL); } else { _btnDown.setState(CustomButton.STATE_NORMAL); _btnUp.setState(CustomButton.STATE_NORMAL); }; }; }; } private function onSectionsAppended(_arg1:CustomEvent):void{ var _local2:int; var _local8:PlaylistSection; var _local9:*; var _local3:int = int(_arg1.data.position); var _local4:Array = (_arg1.data.sections as Array); var _local5:int = _local4.length; var _local6:Number = (START_Y + (_iSectionCount * VERTICAL_INDENT)); Controller.instance.tracer(("_iSectionCount " + _iSectionCount)); Controller.instance.tracer(("VERTICAL_INDENT " + VERTICAL_INDENT)); Controller.instance.tracer(("VERTICAL_INDENT " + VERTICAL_INDENT)); Controller.instance.tracer("___________________________________"); Controller.instance.tracer("Adding User Play list item process start"); Controller.instance.tracer("___________________________________"); if (_objCurrentSelectedItem){ _objCurrentSelectedItem.selectItem(false); _objCurrentSelectedItem = null; _objSelectedSection = null; }; var _local7:int; while (_local7 < _local5) { _local8 = PlaylistSection(_local4[_local7]); Controller.instance.tracer(("UserPlaylist(_objPlaylist).playlistType " + UserPlaylist(_objPlaylist).playlistType)); Controller.instance.tracer(("objSection.parentSection " + _local8.parentSection)); Controller.instance.tracer(("section id " + _local8.id)); Controller.instance.tracer(("section name " + _local8.name)); if ((((UserPlaylist(_objPlaylist).playlistType == Playlist.PLAYLIST_TYPE_CHAPTERS_ONLY)) && (!((_local8.parentSection == null))))){ Controller.instance.tracer(((_local8.id + " will not be added and loop continue objSection.parentSection ") + _local8.parentSection)); } else { _local9 = createPlayListItem(_local8); _local9.y = (_local6 + (_local7 * VERTICAL_INDENT)); _local2 = String(_local8.id).split("_").length; _local9.x = (START_X + (_local2 * HORIZONTAL_INDENT)); _spTree.addChild(_local9); _dcPlaylistSection[_local8] = _local9; _iSectionCount++; }; _local7++; }; updateScrollbars(); enableReorderingBtns(); dispatchEvent(new CustomEvent(PLAYLIST_UPDATED, false, false)); setUpDownButtonsStates(); } private function onUpClick(_arg1:CustomButton):void{ var _local2:Boolean; if (_objCurrentSelectedItem != null){ _local2 = (_objPlaylist as UserPlaylist).moveSectionUp(_objCurrentSelectedItem.playlistSection); if (!_local2){ trace("The section cannot be moved"); }; }; } private function onSectionEdited(_arg1:CustomEvent):void{ var _local2:* = _dcPlaylistSection[_arg1.data.section]; _local2.labelText = _arg1.data.section.name; } private function editWeblinkInPanel(_arg1:CustomEvent):void{ _objPlaylistWeblinkPanel.show(true); UserPlaylist(_objPlaylist).editableSection = _arg1.data.section; _objPlaylistWeblinkPanel.editWeblink(_arg1.data.section.name); } private function onClickAddWebLink(_arg1:CustomButton):void{ _objPlaylistWeblinkPanel.show(true); } public function enableReorderingBtns():void{ var _local1:int = UserPlaylist(_objPlaylist).sectionList.length; Controller.instance.tracer(""); Controller.instance.tracer(("enableReorderingBtns called --- length of sectionList (items) " + UserPlaylist(_objPlaylist).sectionList.length)); var _local2:int; while (_local2 < _local1) { Controller.instance.tracer(("**** section id " + UserPlaylist(_objPlaylist).sectionList[_local2].id)); _local2++; }; Controller.instance.tracer(""); Controller.instance.tracer(("section in root " + UserPlaylist(_objPlaylist).rootSectionList.length)); _local2 = 0; while (_local2 < UserPlaylist(_objPlaylist).rootSectionList.length) { Controller.instance.tracer(("**** section id " + UserPlaylist(_objPlaylist).rootSectionList[_local2].id)); _local2++; }; Controller.instance.tracer("enableReorderingBtns end "); Controller.instance.tracer(""); } private function deleteWeblink(_arg1:CustomEvent):void{ UserPlaylist(_objPlaylist).updateList([_arg1.data.section], Playlist.DELETE_SECTIONS); } private function onSectionsInserted(_arg1:CustomEvent):void{ var _local2:int; var _local7:PlaylistSection; var _local13:*; var _local3:int = int(_arg1.data.position); var _local4:Array = (_arg1.data.insertedSections as Array); var _local5:int = _local4.length; var _local6:Number = (START_Y + (_local3 * VERTICAL_INDENT)); Controller.instance.tracer(""); Controller.instance.tracer("------------onSectionsInserted called--------- "); Controller.instance.tracer(("total sections to be inserting " + _local5)); if (_objCurrentSelectedItem){ _objCurrentSelectedItem.selectItem(false); _objCurrentSelectedItem = null; _objSelectedSection = null; }; var _local8:int; var _local9:int; while (_local9 < _local5) { _local7 = PlaylistSection(_local4[_local9]); if ((((UserPlaylist(_objPlaylist).playlistType == Playlist.PLAYLIST_TYPE_CHAPTERS_ONLY)) && (!((_local7.parentSection == null))))){ Controller.instance.tracer(((_local7.id + " will not be inserted as item in panel and loop continue objSection.parentSection ") + _local7.parentSection)); } else { _local13 = createPlayListItem(_local7); _local13.y = (_local6 + (_local8 * VERTICAL_INDENT)); _local2 = String(_local7.id).split("_").length; _local13.x = (START_X + (_local2 * HORIZONTAL_INDENT)); _spTree.addChild(_local13); _dcPlaylistSection[_local7] = _local13; _iSectionCount++; _local8++; }; _local9++; }; var _local10:Array = (_arg1.data.affectedSections as Array); var _local11:int = _local10.length; var _local12:int; while (_local12 < _local11) { _local7 = PlaylistSection(_local10[_local12]); if (_dcPlaylistSection[_local7] != undefined){ _dcPlaylistSection[_local7].y = (_dcPlaylistSection[_local7].y + (_local5 * VERTICAL_INDENT)); }; _local12++; }; enableReorderingBtns(); updateScrollbars(); dispatchEvent(new CustomEvent(PLAYLIST_UPDATED, false, false)); setUpDownButtonsStates(); } private function onSwapSections(_arg1:CustomEvent):void{ var _local2:int; var _local11:PlaylistSection; var _local16:UserPlaylistItem; var _local3:int = int(_arg1.data.position); var _local4:Array = (_arg1.data.insertedSections as Array); var _local5:int = _local4.length; var _local6:Array = UserPlaylist(_objPlaylist).sectionList; var _local7:int = _local6.length; var _local8:int = _local3; var _local9:int; while (_local9 < _local3) { _local11 = PlaylistSection(_local6[_local9]); if (_dcPlaylistSection[_local11] == undefined){ _local8--; }; _local9++; }; var _local10:Number = (START_Y + (_local8 * VERTICAL_INDENT)); var _local12:int; _local9 = 0; while (_local9 < _local5) { _local11 = PlaylistSection(_local4[_local9]); if (_dcPlaylistSection[_local11] != undefined){ _local16 = _dcPlaylistSection[_local11]; _local16.y = (_local10 + (_local12 * VERTICAL_INDENT)); _local12++; } else { _local10 = (START_Y + ((_local8 - 1) * VERTICAL_INDENT)); }; _local9++; }; var _local13:Array = (_arg1.data.affectedSections as Array); var _local14:int = _local13.length; _local12 = 1; var _local15:int; while (_local15 < _local14) { _local11 = PlaylistSection(_local13[_local15]); if (_dcPlaylistSection[_local11] != undefined){ _dcPlaylistSection[_local11].y = (_local16.y + (_local12 * VERTICAL_INDENT)); _local12++; }; _local15++; }; enableReorderingBtns(); dispatchEvent(new CustomEvent(PLAYLIST_UPDATED, false, false)); setUpDownButtonsStates(); } private function editWeblink(_arg1:CustomEvent):void{ Controller.instance.tracer("Start editing................................"); UserPlaylist(_objPlaylist).editSection(_arg1.data.strUrl); Controller.instance.tracer("items is edited............"); } private function addWeblink(_arg1:CustomEvent):void{ UserPlaylist(_objPlaylist).addWeblink(_arg1.data.strUrl); } private function onDownClick(_arg1:CustomButton):void{ var _local2:Boolean; if (_objCurrentSelectedItem != null){ _local2 = (_objPlaylist as UserPlaylist).moveSectionDown(_objCurrentSelectedItem.playlistSection); if (!_local2){ Controller.instance.tracer("The section cannot be moved"); }; }; } private function onLabelClick(_arg1:CustomEvent):void{ var _local2:UserPlaylistItem = UserPlaylistItem(_dcPlaylistSection[_arg1.data.section]); if (((!((_objCurrentSelectedItem == null))) && (!((_objCurrentSelectedItem.playlistSection.id == _local2.playlistSection.id))))){ _objCurrentSelectedItem.selectItem(false); }; _objCurrentSelectedItem = _local2; _objSelectedSection = _arg1.data.section; setUpDownButtonsStates(); } } }//package view.AdvanceFeatures.Playlist.view
Section 177
//WeblinkPlaylistItem (view.AdvanceFeatures.Playlist.view.WeblinkPlaylistItem) package view.AdvanceFeatures.Playlist.view { import flash.events.*; import flash.display.*; import view.*; import view.AdvanceFeatures.Playlist.model.*; import flash.text.*; import event.*; public class WeblinkPlaylistItem extends UserPlaylistItem { private var _btnDeleteWeblink:CustomButton; private var _btnEditWeblink:CustomButton; private var _spPlaylistLabel:Sprite; private var _objLabel:Sprite; public static const EDIT_WEBLINK:String = "editWeblink"; public static const DELETE_WEBLINK:String = "deleteWeblink"; private static var Label:Class = WeblinkPlaylistItem_Label; public function WeblinkPlaylistItem(_arg1:PlaylistSection, _arg2:Boolean=true):void{ super(_arg1, _arg2); } public function set labelText(_arg1:String):void{ var _local2:TextField = (_spPlaylistLabel.getChildByName("txtLabel") as TextField); _local2.text = _arg1; } private function deleteWeblink(_arg1:Object):void{ dispatchEvent(new CustomEvent(DELETE_WEBLINK, false, false, {section:_objPlaylistSection})); } private function editWeblink(_arg1:Object):void{ dispatchEvent(new CustomEvent(EDIT_WEBLINK, false, false, {section:_objPlaylistSection})); } override protected function addedToList(_arg1:Event):void{ _objLabel = new Label(); _spPlaylistLabel = (_objLabel.getChildByName("mcPlaylistLabel") as Sprite); setLabelFunctionality(_spPlaylistLabel); var _local2:DisplayObject = _objLabel.getChildByName("mcDeletWeblink"); if (_local2 != null){ _btnDeleteWeblink = new CustomButton(_local2); _btnDeleteWeblink.addEventListener(MouseEvent.CLICK, deleteWeblink); }; var _local3:DisplayObject = _objLabel.getChildByName("mcEditWeblink"); if (_local3 != null){ _btnEditWeblink = new CustomButton(_local3); _btnEditWeblink.addEventListener(MouseEvent.CLICK, editWeblink); }; addChild(_objLabel); } override public function dispose():void{ super.dispose(); if (_btnDeleteWeblink){ _btnDeleteWeblink.removeEventListener(MouseEvent.CLICK); }; if (_btnEditWeblink){ _btnEditWeblink.removeEventListener(MouseEvent.CLICK); }; } } }//package view.AdvanceFeatures.Playlist.view
Section 178
//WeblinkPlaylistItem_Label (view.AdvanceFeatures.Playlist.view.WeblinkPlaylistItem_Label) package view.AdvanceFeatures.Playlist.view { import flash.display.*; import mx.core.*; public class WeblinkPlaylistItem_Label extends SpriteAsset { public var btnSave:DisplayObject; public var mcExit:DisplayObject; public var mcContent:DisplayObject; public var mc_K:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mcThemeClip:DisplayObject; public var mc_T:DisplayObject; public var mc_J:DisplayObject; public var mc_W:DisplayObject; public var btnTeacher:DisplayObject; public var btnHTML:DisplayObject; public var btnUp:DisplayObject; public var mcAudio:DisplayObject; public var btnZoomIn:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnLabel:DisplayObject; public var btnBar:DisplayObject; public var txtWord:DisplayObject; public var txtDisplay:DisplayObject; public var mcThumb:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcPlaylistLabel:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var btnIdle:DisplayObject; public var mcCross:DisplayObject; public var mcPatch:DisplayObject; public var mcIconAnim:DisplayObject; public var mcBG:DisplayObject; public var mcThumbBg:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var bg:DisplayObject; public var txtLabel:DisplayObject; public var mcEditWeblink:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnNote:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var txtLink:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var mcDeletWeblink:DisplayObject; public var txtResult:DisplayObject; public var btnAnimation:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var btnOpen:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var btnPDF:DisplayObject; public var mcCheckBg:DisplayObject; public var mcTxt:DisplayObject; public var mcNoResult:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var btnDelete:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var txtInput:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var txtInfo:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var mcView:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var mcCheckbox:DisplayObject; public var btnLinkBg:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var mcPlayListLabelBg:DisplayObject; public var btnState:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var textMc:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPrint:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcShape:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcDot:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_B:DisplayObject; public var mc_D:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mc_I:DisplayObject; public var mcTOC:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_N:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_Q:DisplayObject; public var mc_L:DisplayObject; public var mc_U:DisplayObject; public var mc_thumb:DisplayObject; public var mc_P:DisplayObject; public var mc_X:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_V:DisplayObject; public var mc_Y:DisplayObject; public var mc_R:DisplayObject; public var mc_S:DisplayObject; public var mc_C:DisplayObject; public var mc_O:DisplayObject; public var mcGlossaryImage:DisplayObject; } }//package view.AdvanceFeatures.Playlist.view
Section 179
//PrintPanel (view.AdvanceFeatures.PrintTool.PrintPanel) package view.AdvanceFeatures.PrintTool { import controller.*; import flash.events.*; import flash.display.*; import view.*; import model.*; import flash.utils.*; import flash.geom.*; import flash.net.*; import flash.text.*; import flash.printing.*; public class PrintPanel extends WrappedDisplayObject { private var _txtStartFrom:TextField; private var _txtEndTo:TextField; private var _dragBar:SimpleButton; private var _arrContainerBgSprite:Array; private var _bPageExist:Boolean; private var _objSinglePageMode:CustomButton; private var _cancelPrint:SimpleButton; private var _nSwfHeight:Number; private var _objDoublePageMode:CustomButton; private var _objTimerTwoPage:Timer; private var _txtProcessing:TextField; private var _mcPageMode:MovieClip; private var _objPrintJob:PrintJob; private var _objSelectedMode:Object;// = null private var _arrMainContainerSprite:Array; private var _arrPrintablePages:Array; private var _closeWindow:CustomButton; private var _sptWatermark:Sprite; private var _objPrint:CustomButton; private var _nPageRangeLen:int; private var _arrPrintPages:Array; private var _nPageMode:int; private var _arrWatermark:Array; private var _bg:Sprite; private var _arrAllPage:Array; private var _arrBitmapImage:Array; private var _objTimerOnePage:Timer; private var _bCancelPrint:Boolean; private var _nSwfWidth:Number; private var _instance:Sprite; private var _arrLoadedPage:Array; private var _close:SimpleButton; public function PrintPanel(_arg1:DisplayObject){ _arrPrintPages = new Array(); _arrLoadedPage = new Array(); _arrMainContainerSprite = new Array(); _arrContainerBgSprite = new Array(); _arrBitmapImage = new Array(); _arrAllPage = new Array(); super(_arg1); _instance = (_arg1 as Sprite); init(); } private function onLoadErrorWatermark(_arg1:IOErrorEvent):void{ onPrintProcessing(); } private function getDefaultMessage(_arg1:String):String{ var _local2:String; switch (_arg1){ case "processing": _local2 = "Processing"; break; case "invalidPage": _local2 = "Invalid page"; break; case "exceededMaximunRange": _local2 = "Exceeded Maximun Print Range Limit of 30"; break; case "invalidPrintRange": _local2 = "Invalid print range "; break; }; return (_local2); } private function getWatermarkBitmap(_arg1:Number, _arg2:Number):Bitmap{ var _local4:BitmapData; var _local5:Bitmap; if (_sptWatermark == null){ return (null); }; var _local3:Loader = (_sptWatermark.getChildByName("watermarkLoader") as Loader); if (_local3.content != null){ _local4 = new BitmapData(_arg1, _arg2, false, 4294967295); _local5 = new Bitmap(_local4); _local3.content.width = _arg1; _local3.content.height = _arg2; _local4.draw(_local3, null, null, null, null, true); _local5.alpha = Config.PRINT_DATA.watermark.watermarkOpacity; }; return (_local5); } private function onClose(_arg1:MouseEvent):void{ showPrintPanel(false); initDeafultState(); Controller.instance.view.toolbar.activatePrintControl(); } private function onSelectMode(_arg1:Object):void{ Controller.instance.tracer(("objControl " + _arg1.instance)); if (_objSelectedMode != _arg1){ if (_objSelectedMode != null){ _objSelectedMode.setState(CustomButton.STATE_NORMAL); }; if (_arg1 != null){ _arg1.setState(CustomButton.STATE_SELECTED); _objSelectedMode = _arg1; }; }; _nPageMode = _arg1.__id; if (_mcPageMode != null){ _mcPageMode.gotoAndStop(_nPageMode); }; } private function pageRangeValidation():void{ var _local8:int; var _local10:int; var _local11:int; var _local12:int; var _local13:int; var _local1:Controller = Controller.instance; var _local2:Model = Controller.instance.model; var _local3:int = _local2.ebook.pages; if (_local2.ebook.edition == "student"){ _nSwfWidth = Controller.instance.model.configManager.pageWidthSE; _nSwfHeight = Controller.instance.model.configManager.pageHeightSE; } else { _nSwfWidth = Controller.instance.model.configManager.pageWidthTE; _nSwfHeight = Controller.instance.model.configManager.pageHeightTE; }; var _local4:PageListing = _local2.objPageList; var _local5:String = _txtStartFrom.text; var _local6:String = _txtEndTo.text; var _local7:Array = _local4.getPageRange(_local5, _local6); Controller.instance.tracer(((_local7 + " length ") + _local7.length)); var _local9:int = _local7.length; if (_local9 == 0){ _txtProcessing.htmlText = getMessage("invalidPage"); initDeafultState(); }; if (_local9 < 2){ if ((((((isNaN(_local7[0]) == false)) && ((_local7[0] > _local3)))) || ((_local7[0] == -1)))){ _txtProcessing.htmlText = (getMessage("invalidPage") + _local5); initDeafultState(); return; }; if (((!((_local7[0] == undefined))) && ((_local7[1] == undefined)))){ if (_nPageMode == 1){ _arrAllPage.push(_local7[0]); } else { if (_nPageMode == 2){ if ((_local7[0] % 2) == 0){ _local8 = (_local7[0] - 1); _arrAllPage[0] = _local8; _arrAllPage[1] = _local7[0]; } else { _local8 = (_local7[0] + 1); _arrAllPage[0] = _local7[0]; _arrAllPage[1] = _local8; }; }; }; startPreCachePages(); }; }; if (_local7.length == 2){ if ((((isNaN(_local7[0]) == false)) && ((_local7[0] > _local3)))){ _txtProcessing.htmlText = (getMessage("invalidPage") + _local5); initDeafultState(); return; }; if ((((isNaN(_local7[1]) == false)) && ((_local7[1] > _local3)))){ _txtProcessing.htmlText = (getMessage("invalidPage") + _local6); initDeafultState(); return; }; if ((((_local7[0] == -1)) && (!((_local7[1] == -1))))){ _txtProcessing.htmlText = (getMessage("invalidPage") + _local5); initDeafultState(); return; }; if (((!((_local7[0] == -1))) && ((_local7[1] == -1)))){ _txtProcessing.htmlText = (getMessage("invalidPage") + _local6); initDeafultState(); return; }; if ((((_local7[0] == -1)) && ((_local7[1] == -1)))){ _txtProcessing.htmlText = (getMessage("invalidPage") + _local5); initDeafultState(); return; }; if ((((_local7[0] == undefined)) && (!((_local7[1] == undefined))))){ if (_local7[1] == -1){ _txtProcessing.htmlText = (getMessage("invalidPage") + _local6); initDeafultState(); return; }; if (_nPageMode == 1){ _arrAllPage.push(_local7[1]); } else { if (_nPageMode == 2){ if ((_local7[1] % 2) == 0){ _local8 = (_local7[1] - 1); _arrAllPage[0] = _local8; _arrAllPage[1] = _local7[1]; } else { _local8 = (_local7[1] + 1); _arrAllPage[0] = _local7[1]; _arrAllPage[1] = _local8; }; }; }; startPreCachePages(); } else { if (((!((_local7[0] == -1))) && (!((_local7[1] == -1))))){ _local10 = _local7[0]; _local11 = _local7[1]; if ((((((isNaN(_local7[0]) == false)) && ((_local7[0] <= _local3)))) && ((((isNaN(_local7[1]) == false)) && ((_local7[1] <= _local3)))))){ _local13 = (_local11 - _local10); Controller.instance.tracer((" nDiff " + _local13)); if (_local13 > 30){ Controller.instance.tracer((" ifffffffff 1 " + _local13)); _txtProcessing.htmlText = getMessage("exceededMaximunRange"); initDeafultState(); return; }; if (_local10 > _local11){ Controller.instance.tracer(((_local11 + " ifffffffff 2 ") + _local10)); _txtProcessing.htmlText = getMessage("invalidPrintRange"); initDeafultState(); return; }; }; _local12 = _local10; while (_local12 <= _local11) { if (_nPageMode == 1){ _arrAllPage.push(_local12); } else { if (_nPageMode == 2){ if (((((_local10 % 2) == 0)) && ((_local12 == _local10)))){ _local8 = (_local10 - 1); _arrAllPage[0] = _local8; }; _arrAllPage.push(_local12); if (((!(((_local11 % 2) == 0))) && ((_local12 == _local11)))){ _local8 = (_local11 + 1); _arrAllPage.push(_local8); }; }; }; _local12++; }; startPreCachePages(); }; }; }; } private function init():void{ _bg = (getChildByName("mcPrintPanelBg") as Sprite); _dragBar = (getChildByName("mcDragBar") as SimpleButton); _dragBar.addEventListener(MouseEvent.MOUSE_DOWN, onPrintPanelDrag, false, 0, true); _dragBar.addEventListener(MouseEvent.MOUSE_UP, onPrintPanelDrop, false, 0, true); _close = (getChildByName("btnClose") as SimpleButton); _close.addEventListener(MouseEvent.CLICK, onClose, false, 0, true); var _local1:DisplayObject = getChildByName("btnWindowClose"); if (_local1 != null){ _closeWindow = new CustomButton(_local1); _closeWindow.setState(CustomButton.STATE_NORMAL); _closeWindow.instance.addEventListener(MouseEvent.CLICK, onClose); }; _cancelPrint = (getChildByName("btnPrintCancel") as SimpleButton); _cancelPrint.addEventListener(MouseEvent.CLICK, cancelPrintRequest, false, 0, true); _cancelPrint.visible = false; _txtStartFrom = (getChildByName("txtRangeStart") as TextField); _txtEndTo = (getChildByName("txtRangeEnd") as TextField); _txtProcessing = (getChildByName("txtProcessing") as TextField); _mcPageMode = (getChildByName("mcPageMode") as MovieClip); var _local2:DisplayObject = getChildByName("mcPrint"); if (_local2 != null){ _objPrint = new CustomButton(_local2); _objPrint.setState(CustomButton.STATE_NORMAL); _objPrint.addEventListener(MouseEvent.CLICK, sendPrintRequest); }; var _local3:DisplayObject = getChildByName("mcSinglePageMode"); if (_local3 != null){ _objSinglePageMode = new CustomButton(_local3); _objSinglePageMode.__id = 1; _objSinglePageMode.setState(CustomButton.STATE_NORMAL); _objSinglePageMode.addEventListener(MouseEvent.CLICK, onSelectMode); }; var _local4:DisplayObject = getChildByName("mcDoublePageMode"); if (_local4 != null){ _objDoublePageMode = new CustomButton(_local4); _objDoublePageMode.__id = 2; _objDoublePageMode.setState(CustomButton.STATE_NORMAL); _objDoublePageMode.addEventListener(MouseEvent.CLICK, onSelectMode); }; } private function printOnePerPage(_arg1:TimerEvent):void{ var j:int; var nSwfRotationWidth:Number; var nSwfRotationHeight:Number; var spPrintPage:Sprite; var spCombinedPage:Sprite; var objWatermarkBitmap:Bitmap; var bWaterMark:Boolean; var options:PrintJobOptions; var e = _arg1; _objTimerOnePage.stop(); _objTimerOnePage.reset(); _objTimerOnePage.removeEventListener(TimerEvent.TIMER, printOnePerPage); var pagesToPrint:uint; var nLen:int = _arrBitmapImage.length; _objPrintJob = new PrintJob(); if (_objPrintJob.start()){ j = 0; while (j < nLen) { _arrContainerBgSprite[j].width = _objPrintJob.pageWidth; _arrContainerBgSprite[j].height = _objPrintJob.pageHeight; spPrintPage = new Sprite(); spCombinedPage = new Sprite(); spPrintPage.addChild(spCombinedPage); spCombinedPage.addChild(_arrBitmapImage[j]); objWatermarkBitmap = getWatermarkBitmap(spCombinedPage.getChildAt(0).width, spCombinedPage.getChildAt(0).height); if (objWatermarkBitmap != null){ bWaterMark = ((_arrWatermark.length)==0) ? true : _arrWatermark[j]; if (bWaterMark){ spCombinedPage.addChild(objWatermarkBitmap); spCombinedPage.getChildAt(1).x = spCombinedPage.getChildAt(0).x; }; }; if (_objPrintJob.orientation == PrintJobOrientation.LANDSCAPE){ spCombinedPage.rotation = 90; nSwfRotationWidth = _nSwfHeight; nSwfRotationHeight = _nSwfWidth; spCombinedPage.x = nSwfRotationWidth; } else { if (_objPrintJob.orientation == PrintJobOrientation.PORTRAIT){ nSwfRotationWidth = _nSwfWidth; nSwfRotationHeight = _nSwfHeight; }; }; if ((((_nSwfHeight >= _objPrintJob.pageHeight)) || ((_nSwfWidth >= _objPrintJob.pageWidth)))){ resizeImage(spPrintPage, _arrContainerBgSprite[j], nSwfRotationWidth, nSwfRotationHeight); } else { spPrintPage.x = ((_arrContainerBgSprite[j].width - spPrintPage.width) / 2); spPrintPage.y = ((_arrContainerBgSprite[j].height - spPrintPage.height) / 2); }; _arrMainContainerSprite[j].addChild(spPrintPage); try { options = new PrintJobOptions(); options.printAsBitmap = true; _objPrintJob.addPage(_arrMainContainerSprite[j], null, options); pagesToPrint = (pagesToPrint + 1); } catch(e:Error) { }; j = (j + 1); }; if (pagesToPrint > 0){ _objPrintJob.send(); }; _close.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); } else { _close.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); }; disposeBitmapData(); } private function loadPage(_arg1:int):void{ var _local2:Controller; var _local3:Model; var _local4:PageListing; var _local5:Loader; var _local6:String; var _local7:String; if (_bCancelPrint == false){ _nPageRangeLen = _arg1; _local2 = Controller.instance; _local3 = _local2.model; _local4 = _local2.model.objPageList; if (_arrAllPage[_nPageRangeLen] != undefined){ _local5 = new Loader(); _local6 = (((Controller.instance.model.ebookPath + "pages/swf/page") + _arrAllPage[_nPageRangeLen]) + ".swf"); _local5.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete); _local5.load(new URLRequest(_local6)); _local7 = getMessage("processing"); if (_local7 == ""){ _txtProcessing.htmlText = ""; } else { if (_nPageMode == 1){ _txtProcessing.htmlText = (_local7 + _local4.getPageLabel(_arrAllPage[_nPageRangeLen])); } else { if (_nPageMode == 2){ if ((_arrPrintPages.length % 2) == 0){ _txtProcessing.htmlText = (_local7 + _local4.getPageLabel(_arrAllPage[_nPageRangeLen])); }; }; }; }; }; } else { return; }; } private function resizeImage(_arg1:Sprite, _arg2:Sprite, _arg3:Number, _arg4:Number):void{ var _local15:Number; var _local5:Sprite = _arg1; var _local6:Number = 20; var _local7:Number = 20; _local5.x = _local6; _local5.y = _local7; var _local8:Number = (_arg2.width - (2 * _local6)); var _local9:Number = (_arg2.height - (2 * _local7)); var _local10:Number = _arg3; var _local11:Number = _arg4; var _local12:Number = (_local10 / _local11); var _local13:Number = (_local8 / _local12); var _local14:Number = (_local9 * _local12); if ((((_local10 > _local8)) || ((_local11 > _local9)))){ if (_local10 > _local11){ _local5.width = _local8; _local5.height = _local13; if (_local13 > _local9){ _local5.height = _local9; _local5.width = _local14; _local5.x = (_local6 + ((_local8 - _local14) / 2)); } else { _local5.y = (_local7 + ((_local9 - _local13) / 2)); }; } else { if (_local10 < _local11){ _local5.width = _local14; _local5.height = _local9; if (_local14 > _local8){ _local5.height = _local13; _local5.width = _local8; _local5.y = (_local7 + ((_local9 - _local13) / 2)); } else { _local5.x = (_local6 + ((_local8 - _local14) / 2)); }; } else { _local15 = ((_local9)<=_local8) ? _local9 : _local8; _local5.width = (_local5.height = _local15); if (_local9 < _local8){ _local5.x = (_local6 + ((_local8 - _local5.width) / 2)); } else { _local5.y = (_local7 + ((_local9 - _local5.height) / 2)); }; }; }; } else { if (_local10 > _local11){ _local5.width = _local8; _local5.height = _local13; if (_local13 > _local9){ _local5.height = _local9; _local5.width = _local14; _local5.x = (_local6 + ((_local8 - _local14) / 2)); } else { _local5.y = (_local7 + ((_local9 - _local13) / 2)); }; } else { if (_local10 < _local11){ _local5.width = _local14; _local5.height = _local9; if (_local14 > _local8){ _local5.height = _local13; _local5.width = _local8; _local5.y = (_local7 + ((_local9 - _local13) / 2)); } else { _local5.x = (_local6 + ((_local8 - _local14) / 2)); }; } else { _local15 = ((_local9)<=_local8) ? _local9 : _local8; _local5.width = (_local5.height = _local15); if (_local9 < _local8){ _local5.x = (_local6 + ((_local8 - _local5.width) / 2)); } else { _local5.y = (_local7 + ((_local9 - _local5.height) / 2)); }; }; }; }; } private function onPrintPanelDrag(_arg1:MouseEvent):void{ var _local2:Sprite = Controller.instance.view.dragarea; var _local3:Rectangle = new Rectangle(_local2.x, _local2.y, ((_local2.x + _local2.width) - _bg.width), (_local2.height - _bg.height)); _instance.startDrag(false, _local3); } public function getPrintPanelTabItems():Array{ var _local1:Array = new Array(); _local1.push({item:_objSinglePageMode.instance, tabIndex:1, shortcut:"", alt:""}); _local1.push({item:_objDoublePageMode.instance, tabIndex:2, shortcut:"", alt:""}); _local1.push({item:_txtStartFrom, tabIndex:3, shortcut:"", alt:""}); _local1.push({item:_txtEndTo, tabIndex:4, shortcut:"", alt:""}); _local1.push({item:_objPrint.instance, tabIndex:5, shortcut:"", alt:""}); _local1.push({item:_closeWindow.instance, tabIndex:6, shortcut:"", alt:""}); _local1.push({item:_cancelPrint, tabIndex:7, shortcut:"", alt:""}); _local1.push({item:_close, tabIndex:8, shortcut:"", alt:""}); return (_local1); } private function onPrintPanelDrop(_arg1:MouseEvent):void{ _instance.stopDrag(); } private function createWatermarkSprite():void{ var _local1:Loader; var _local2:String; if (((((!((Config.PRINT_DATA == null))) && (!((Config.PRINT_DATA.watermark == null))))) && ((_sptWatermark == null)))){ _sptWatermark = new Sprite(); _sptWatermark.name = "watermark"; _local1 = new Loader(); _local1.name = "watermarkLoader"; _local2 = Config.PRINT_DATA.watermark.watermarkUrl; _local1.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadCompleteWatermark); _local1.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onLoadErrorWatermark); _local1.load(new URLRequest(_local2)); _sptWatermark.addChild(_local1); } else { onPrintProcessing(); }; } private function startPreCachePages():void{ _arrAllPage = getPrintablePages(); var _local1:Controller = Controller.instance; var _local2:Model = _local1.model; if (_bCancelPrint == false){ if (_arrAllPage[(_arrAllPage.length - 1)] > _local2.ebook.pages){ Controller.instance.tracer(((_local2.ebook.pages + " pages---greater ") + _arrAllPage[(_arrAllPage.length - 1)])); _arrAllPage[(_arrAllPage.length - 1)] = _arrAllPage[(_arrAllPage.length - 2)]; _bPageExist = false; }; preCachePrintPagesReference(); } else { return; }; } private function cancelPrintRequest(_arg1:MouseEvent):void{ Controller.instance.tracer("cancel request "); _bCancelPrint = true; _close.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); } private function onLoadComplete(_arg1:Event):void{ var _local2:int; var _local3:int; var _local4:Sprite; var _local5:Sprite; _arrPrintPages.push(_arg1.target.loader); if (_bCancelPrint == false){ if (_arrPrintPages.length == _arrAllPage.length){ _instance.mouseChildren = false; _instance.visible = false; _local2 = _arrPrintPages.length; if (((!(((_local2 % 2) == 0))) && ((_nPageMode == 2)))){ _local2++; }; _local3 = 0; while (_local3 < _local2) { _local4 = new Sprite(); _local5 = new Sprite(); _local5.graphics.beginFill(0xFFFFFF, 1); _local5.graphics.drawRect(0, 0, 100, 100); _local5.graphics.endFill(); _local4.addChild(_local5); _arrMainContainerSprite.push(_local4); _arrContainerBgSprite.push(_local5); Controller.instance.addChild(_local4); _local4.x = 2000; _local3++; }; createBitmapImage(); }; _nPageRangeLen++; loadPage(_nPageRangeLen); } else { return; }; } private function onPrintProcessing():void{ if (_bCancelPrint == false){ pageRangeValidation(); }; } public function showPrintPanel(_arg1:Boolean, _arg2:Array=null):void{ setDefaultMode(); if (((!((Config.PRINT_DATA == null))) && (!((Config.PRINT_DATA.printPerPage == null))))){ _nPageMode = Config.PRINT_DATA.printPerPage; }; _arrPrintablePages = new Array(); _arrPrintablePages = _arg2; if (((!((Config.PRINT_DATA == null))) && (Config.PRINT_DATA.noPanel))){ sendPrintRequest(_objPrint); } else { _instance.visible = _arg1; Controller.instance.onPopUp(_arg1); }; } private function onLoadCompleteWatermark(_arg1:Event):void{ onPrintProcessing(); } private function sendPrintRequest(_arg1:Object):void{ _objPrint.setState(CustomButton.STATE_SELECTED); _objPrint.setEnabled(false); _cancelPrint.visible = true; if (_closeWindow != null){ _closeWindow.visible = false; }; _txtStartFrom.type = TextFieldType.DYNAMIC; _txtEndTo.type = TextFieldType.DYNAMIC; createWatermarkSprite(); } private function destroyTimerListeners():void{ if (_objTimerOnePage != null){ _objTimerOnePage.stop(); _objTimerOnePage.reset(); _objTimerOnePage.removeEventListener(TimerEvent.TIMER, printOnePerPage); }; if (_objTimerTwoPage != null){ _objTimerTwoPage.stop(); _objTimerTwoPage.reset(); _objTimerTwoPage.removeEventListener(TimerEvent.TIMER, printTwoPerPage); }; } private function setDefaultMode():void{ var _local5:int; var _local6:int; var _local7:int; var _local1:Controller = Controller.instance; var _local2:Model = Controller.instance.model; var _local3:PageListing = _local2.objPageList; var _local4:Number = Controller.instance.model.loadingPageIndex; _nPageMode = _local1.view.content.pageCount; if (_nPageMode == 1){ _objSinglePageMode.instance.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); _local5 = _local4; _local6 = _local4; } else { if (_nPageMode == 2){ _objDoublePageMode.instance.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); _local7 = (_local4 - 1); if (_local7 == 0){ _local5 = _local4; } else { _local5 = (_local4 - 1); }; _local6 = _local4; }; }; _txtStartFrom.text = String(_local3.getPageLabel(_local5)); _txtEndTo.text = String(_local3.getPageLabel(_local6)); _bCancelPrint = false; _txtProcessing.htmlText = ""; initDeafultState(); } private function getMessage(_arg1:String):String{ Controller.instance.tracer((" strMessage== IN= " + _arg1)); var _local2:String; var _local3:Object = Controller.instance.model.configManager; if (_local3.printMessages != null){ if (_local3.printMessages.messages != null){ switch (_arg1){ case "processing": _local2 = _local3.printMessages.messages.processing; break; case "invalidPage": _local2 = _local3.printMessages.messages.invalidPage; break; case "exceededMaximunRange": _local2 = _local3.printMessages.messages.exceededMaximunRange; break; case "invalidPrintRange": _local2 = _local3.printMessages.messages.invalidPrintRange; break; }; }; }; if (_local2 == null){ _local2 = getDefaultMessage(_arg1); }; return (_local2); } public function preCachePrintPagesReference():void{ if (_bCancelPrint == false){ loadPage(_nPageRangeLen); } else { return; }; } private function createBitmapImage():void{ var _local3:BitmapData; var _local4:Bitmap; var _local1:int = _arrPrintPages.length; var _local2:int; while (_local2 < _local1) { _local3 = new BitmapData(_nSwfWidth, _nSwfHeight, false, 4294967295); _local4 = new Bitmap(_local3); _local3.draw(_arrPrintPages[_local2].content, null, null, null, null, true); _arrMainContainerSprite[_local2].addChild(_local4); _arrBitmapImage[_local2] = _local4; _local2++; }; if (((!(((_local1 % 2) == 0))) && ((_nPageMode == 2)))){ _local3 = new BitmapData(_nSwfWidth, _nSwfHeight, false, 4294967295); _local4 = new Bitmap(_local3); _arrMainContainerSprite[_local2].addChild(_local4); _arrBitmapImage[_local2] = _local4; _arrWatermark.push(false); }; if (_nPageMode == 1){ _objTimerOnePage = new Timer(10, 1); _objTimerOnePage.start(); _objTimerOnePage.addEventListener(TimerEvent.TIMER, printOnePerPage); } else { if (_nPageMode == 2){ _objTimerTwoPage = new Timer(10, 1); _objTimerTwoPage.start(); _objTimerTwoPage.addEventListener(TimerEvent.TIMER, printTwoPerPage); }; }; } private function initDeafultState():void{ disposeBitmapData(); _instance.mouseChildren = true; _txtStartFrom.type = TextFieldType.INPUT; _txtEndTo.type = TextFieldType.INPUT; _nPageRangeLen = 0; _arrPrintPages = new Array(); _arrMainContainerSprite = new Array(); _arrContainerBgSprite = new Array(); _arrPrintPages = new Array(); _arrBitmapImage = new Array(); _arrAllPage = new Array(); _arrWatermark = new Array(); _cancelPrint.visible = false; if (_closeWindow != null){ _closeWindow.visible = true; }; _objPrint.setEnabled(true); _objPrint.setState(CustomButton.STATE_NORMAL); _bPageExist = true; destroyTimerListeners(); } private function disposeBitmapData():void{ var _local2:int; var _local1:int = _arrBitmapImage.length; if (_local1 >= 1){ _local2 = 0; while (_local2 < _local1) { Controller.instance.tracer("dispose "); if (_arrBitmapImage[_local2].bitmapData != null){ _arrBitmapImage[_local2].bitmapData.dispose(); }; _local2++; }; }; _local1 = _arrMainContainerSprite.length; _local2 = 0; while (_local2 < _local1) { Controller.instance.removeChild(_arrMainContainerSprite[_local2]); _local2++; }; } private function getPrintablePages():Array{ var _local2:uint; var _local3:uint; var _local1:Array = new Array(); if (_arrPrintablePages != null){ _local2 = _arrPrintablePages.length; while (_arrAllPage.length != 0) { _local3 = 0; while (_local3 < _local2) { if ((((_arrPrintablePages[_local3].index == _arrAllPage[0])) && (_arrPrintablePages[_local3].printable))){ _local1.push(_arrAllPage[0]); if (_arrPrintablePages[_local3].watermark == undefined){ _arrWatermark.push(true); } else { _arrWatermark.push(_arrPrintablePages[_local3].watermark); }; break; }; _local3++; }; _arrAllPage.splice(0, 1); }; }; _local1 = ((_local1.length)==0) ? _arrAllPage : _local1; return (_local1); } private function printTwoPerPage(_arg1:TimerEvent):void{ var j:int; var nCombinedSwfWidth:Number; var nCombinedSwfHeight:Number; var spPrintPage:Sprite; var spCombinedPage:Sprite; var objWatermarkBitmap:Bitmap; var bWaterMark:Boolean; var options:PrintJobOptions; var e = _arg1; _objTimerTwoPage.stop(); _objTimerTwoPage.reset(); _objTimerTwoPage.removeEventListener(TimerEvent.TIMER, printTwoPerPage); var nGroup:int; var pagesToPrint:uint; var nLen:int = _arrBitmapImage.length; _objPrintJob = new PrintJob(); if (_objPrintJob.start()){ j = 0; while (j < nLen) { nGroup = (nGroup + 1); if ((nGroup % 2) == 0){ spPrintPage = new Sprite(); spCombinedPage = new Sprite(); spPrintPage.addChild(spCombinedPage); spCombinedPage.addChild(_arrBitmapImage[(j - 1)]); spCombinedPage.addChild(_arrBitmapImage[j]); spCombinedPage.getChildAt(1).x = (spCombinedPage.getChildAt(0).x + _nSwfWidth); objWatermarkBitmap = getWatermarkBitmap(spCombinedPage.getChildAt(0).width, spCombinedPage.getChildAt(0).height); if (objWatermarkBitmap != null){ bWaterMark = ((_arrWatermark.length)==0) ? true : _arrWatermark[(j - 1)]; if (bWaterMark){ spCombinedPage.addChild(objWatermarkBitmap); spCombinedPage.getChildAt(2).x = spCombinedPage.getChildAt(0).x; }; bWaterMark = ((_arrWatermark.length)==0) ? true : _arrWatermark[j]; objWatermarkBitmap = getWatermarkBitmap(spCombinedPage.getChildAt(1).width, spCombinedPage.getChildAt(1).height); if (bWaterMark){ spCombinedPage.addChild(objWatermarkBitmap); spCombinedPage.getChildAt(3).x = spCombinedPage.getChildAt(1).x; }; }; _arrContainerBgSprite[(j - 1)].width = _objPrintJob.pageWidth; _arrContainerBgSprite[(j - 1)].height = _objPrintJob.pageHeight; if ((((_bPageExist == false)) && ((j == 0)))){ spCombinedPage.getChildAt(1).visible = false; if (spCombinedPage.numChildren >= 4){ spCombinedPage.getChildAt(3).visible = false; }; }; if (_objPrintJob.orientation == PrintJobOrientation.PORTRAIT){ spCombinedPage.rotation = 90; nCombinedSwfWidth = _nSwfHeight; nCombinedSwfHeight = (2 * _nSwfWidth); spCombinedPage.x = nCombinedSwfWidth; } else { if (_objPrintJob.orientation == PrintJobOrientation.LANDSCAPE){ nCombinedSwfWidth = (2 * _nSwfWidth); nCombinedSwfHeight = _nSwfHeight; }; }; if ((((nCombinedSwfHeight >= _objPrintJob.pageHeight)) || ((nCombinedSwfWidth >= _objPrintJob.pageWidth)))){ resizeImage(spPrintPage, _arrContainerBgSprite[(j - 1)], nCombinedSwfWidth, nCombinedSwfHeight); } else { spPrintPage.x = ((_arrContainerBgSprite[(j - 1)].width - spPrintPage.width) / 2); spPrintPage.y = ((_arrContainerBgSprite[(j - 1)].height - spPrintPage.height) / 2); }; _arrMainContainerSprite[(j - 1)].addChild(spPrintPage); try { options = new PrintJobOptions(); options.printAsBitmap = true; _objPrintJob.addPage(_arrMainContainerSprite[(j - 1)], null, options); pagesToPrint = (pagesToPrint + 1); } catch(e:Error) { }; }; j = (j + 1); }; if (pagesToPrint > 0){ _objPrintJob.send(); }; _close.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); } else { _close.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); }; disposeBitmapData(); } } }//package view.AdvanceFeatures.PrintTool
Section 180
//AssetsExplorer (view.AdvanceFeatures.ResizeablePopup.AssetsExplorer) package view.AdvanceFeatures.ResizeablePopup { import controller.*; import flash.events.*; import flash.display.*; import model.*; import flash.text.*; import view.AdvanceFeatures.CustomTools.*; public class AssetsExplorer extends Sprite { private var _strAudioPath:String;// = null private var _objCustomToolHandler:CustomToolHandler;// = null private var popupWindow:PopupWindow; private static var aExp:AssetsExplorer; public function AssetsExplorer(){ initialise(); } private function setTextFormat(_arg1:TextField, _arg2:Object):void{ var _local3:TextFormat; var _local4:String; if (_arg2 != null){ _local3 = _arg1.defaultTextFormat; for (_local4 in _arg2) { _local3[_local4] = _arg2[_local4]; }; _arg1.defaultTextFormat = _local3; }; } private function imgLoadCompleteHandler(_arg1:Event):void{ var maxWidth:Number; var maxHeight:Number; var imageRatio:Number; var nScaleRatio:Number; var evt = _arg1; var iLdr:ImageLoader = (evt.target as ImageLoader); var pw:PopupWindow = iLdr.parentDocument; try { evt.target.content.setContentRef(Controller.instance, restoreClickHandler); } catch(e:Error) { }; if (pw.objSettings.scaleImage){ maxWidth = pw.objSettings.maxWidth; maxHeight = pw.objSettings.maxHeight; pw.width = maxWidth; pw.height = maxHeight; imageRatio = (iLdr.width / iLdr.height); nScaleRatio = ((imageRatio)>1) ? ((maxWidth - 40) / iLdr.width) : ((maxHeight - (pw.headerBar.height + 40)) / iLdr.height); pw.zoom = nScaleRatio; } else { if (iLdr.width < pw.objSettings.maxWidth){ pw.width = (iLdr.width + 40); } else { pw.width = pw.objSettings.maxWidth; }; if (iLdr.height < pw.objSettings.maxHeight){ pw.height = (iLdr.height + 60); } else { pw.height = pw.objSettings.maxHeight; }; }; setCustomTool(); } public function open(_arg1:String, _arg2:Object, _arg3:String="", _arg4:String=null, _arg5:Object=null, _arg6:Object=null, _arg7:Boolean=true, _arg8:String=null):void{ var _local9:MovieClip; var _local10:ImageLoader; if (!windowExists(_arg3)){ popupWindow = new PopupWindow(); popupWindow.addEventListener(PopupWindow.CLOSE, popupCloseHandler); popupWindow.addEventListener(PopupWindow.HIDE, onPopUpHideHandler); addChild(popupWindow); popupWindow.objSettings = _arg2; popupWindow.dragAreaSprite = Controller.instance.view.dragarea; popupWindow.dragCorner = _arg2.dragCorner; popupWindow.isPopup = _arg2.isDraggable; popupWindow.title = (("<b>" + _arg3) + "</b>"); popupWindow.removeOnClose = _arg2.removeOnClose; popupWindow.minimize = _arg2.minimize; _strAudioPath = _arg8; if (_arg2.restrict != null){ popupWindow.restrict = _arg2.restrict; }; if (_arg1 == null){ if (_arg6 != null){ popupWindow.addWindowContent(_arg6); } else { if (_arg2.textFormat != null){ addPopupText(_arg4, _arg5, _arg2.textFormat); } else { addPopupText(_arg4, _arg5); }; }; } else { _local10 = new ImageLoader(); _local10.parentDocument = popupWindow; _local10.addEventListener(ImageLoader.LOAD_COMPLETE, imgLoadCompleteHandler); popupWindow.addWindowContent(_local10); _local10.loadImage(_arg1); }; _local9 = popupWindow.panelToolBar; if (_local9 != null){ _objCustomToolHandler = new CustomToolHandler(_local9, popupWindow); }; }; if (_arg7){ popupWindow.show(); }; } private function setCustomTool():void{ var _local1:Object; if (_objCustomToolHandler != null){ _local1 = new Object(); if (((!((_strAudioPath == null))) && (!((_strAudioPath == ""))))){ _local1.path = _strAudioPath; }; _objCustomToolHandler.setCustomTool(_local1); }; } private function windowExists(_arg1:String):Boolean{ var _local4:PopupWindow; var _local2:Boolean; var _local3:int; while (_local3 < this.numChildren) { _local4 = (this.getChildAt(_local3) as PopupWindow); if (_local4.title == _arg1){ _local3 = this.numChildren; popupWindow = _local4; _local2 = true; }; _local3++; }; return (_local2); } public function showPopup(_arg1:Boolean):void{ if (_arg1){ if (!popupWindow.visible){ popupWindow.show(); }; } else { popupWindow.headerBar.closeBtn.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); }; } private function initialise():void{ } private function addPopupText(_arg1:String, _arg2:Object, _arg3:Object=null):void{ var _local4:TextField = new TextField(); _local4.width = popupWindow.objSettings.maxWidth; _local4.autoSize = TextFieldAutoSize.RIGHT; setTextFormat(_local4, _arg3); _local4.embedFonts = true; _local4.htmlText = _arg1; _local4.mouseEnabled = false; _local4.multiline = true; _local4.wordWrap = true; popupWindow.addWindowContent(_local4); if ((_arg2.x + popupWindow.width) > popupWindow.dragAreaSprite.width){ popupWindow.x = (_arg2.x - popupWindow.width); } else { popupWindow.x = _arg2.x; }; popupWindow.y = (_arg2.y - popupWindow.height); } private function onPopUpHideHandler(_arg1:Event):void{ dispatchEvent(new Event(PopupWindow.HIDE)); } public function restoreClickHandler():void{ popupWindow.headerBar.restoreBtn.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); } private function popupCloseHandler(_arg1:Event):void{ var _local2:PopupWindow = (_arg1.target as PopupWindow); this.removeChild(_local2); dispatchEvent(new Event(PopupWindow.CLOSE)); var _local3:MovieClip = _local2.panelToolBar; if (_local3 != null){ _objCustomToolHandler.destroy(); }; } public static function getInstance():AssetsExplorer{ if (aExp == null){ aExp = new (AssetsExplorer); }; return (aExp); } } }//package view.AdvanceFeatures.ResizeablePopup
Section 181
//PopupWindow (view.AdvanceFeatures.ResizeablePopup.PopupWindow) package view.AdvanceFeatures.ResizeablePopup { import controller.*; import flash.events.*; import flash.display.*; import flash.geom.*; import flash.text.*; import view.AdvanceFeatures.GlobalNotes.*; import view.AdvanceFeatures.CustomTools.*; public class PopupWindow extends PopupWindowGfx { private var _dragCornerMc:MovieClip; private var _strTitle:String;// = "Title Bar" private var _headerBg:MovieClip; private var _restrict:String; private var _dragAreaSprite:MovieClip; private var _closeBtnRight:Number; private var _isHeightResizable:Boolean;// = true private var _removeOnClose:Boolean;// = false private var _height:Number; private var _dragCorner:Boolean;// = true private var _verticalScrollPosition:Number; private var _titleTxt:TextField; private var _isResizing:Boolean;// = false private var _isPopup:Boolean;// = true private var _contentContainer:MovieClip; private var _scrollPane:CustomScrollPane; private var _dragHeader:MovieClip; private var _objSettings:Object; private var _restoreBtn:MovieClip; private var _restoreBtnRight:Number; private var _popupBgHeight:Number; private var _closeBtn:MovieClip; private var _isWidthResizable:Boolean;// = true private var _scrollPaneHeight:Number; private var _isMinimized:Boolean;// = false private var _horizontalScrollPolicy:Boolean;// = false private var _rectDragArea:Rectangle; private var _width:Number; private var _mainContainer:MovieClip; private var _popupBg:MovieClip; private var _verticalScrollPolicy:Boolean;// = false private var _contentAreaHeight:Number; public static const HIDE:String = "hide"; public static const RESTRICT_PARTIALLY:String = "restrictPartially"; public static const MINIMIZE:String = "minimize"; public static const RESTORE:String = "restore"; public static const CLOSE:String = "close"; public static const CREATION_COMPLETE:String = "creationComplete"; public static const RESTRICT_NONE:String = "restrictNone"; public static const SHOW:String = "show"; public static const RESTRICT_ALL:String = "all"; public function PopupWindow(){ _closeBtn = headerBar.closeBtn; _restoreBtn = headerBar.restoreBtn; _titleTxt = headerBar.titleTxt; _dragHeader = headerBar.popupDragArea; _headerBg = headerBar.headerBg; _popupBg = popupWindowBg; _titleTxt.mouseEnabled = false; _restoreBtn.visible = false; setHandCursor(_closeBtn); setHandCursor(_restoreBtn); _closeBtnRight = (headerBar.width - headerBar.closeBtn.x); _restoreBtnRight = (headerBar.width - headerBar.restoreBtn.x); _headerBg.scale9Grid = new Rectangle(10, 10, (_headerBg.width - 20), 5); _popupBg.scale9Grid = new Rectangle(10, 10, (popupWindowBg.width - 20), (popupWindowBg.height - 20)); _dragHeader.addEventListener(MouseEvent.MOUSE_DOWN, headerMouseDownHandler); _dragHeader.addEventListener(MouseEvent.MOUSE_UP, headerMouseUpHandler); _closeBtn.addEventListener(MouseEvent.CLICK, popupCloseHandler); _restoreBtn.addEventListener(MouseEvent.CLICK, restoreClickHandler); _mainContainer = new MovieClip(); addChild(_mainContainer); _mainContainer.x = 10; _mainContainer.y = (_headerBg.height + 10); _contentContainer = new MovieClip(); _mainContainer.addChild(_contentContainer); _scrollPane = new CustomScrollPane(); _mainContainer.addChild(_scrollPane); _scrollPane.width = (popupWindowBg.width - 20); _scrollPane.height = (popupWindowBg.height - (_headerBg.height + 20)); restrict = RESTRICT_ALL; this.visible = false; _dragCornerMc = new MovieClip(); addChild(_dragCornerMc); _dragCornerMc.graphics.lineStyle(1, 0, 0); _dragCornerMc.graphics.beginFill(0x999999, 1); _dragCornerMc.graphics.moveTo(15, 0); _dragCornerMc.graphics.lineTo(0, 15); _dragCornerMc.graphics.lineTo(7, 15); _dragCornerMc.graphics.curveTo(15, 15, 15, 7); _dragCornerMc.graphics.lineTo(15, 0); _dragCornerMc.graphics.endFill(); _dragCornerMc.width = 15; _dragCornerMc.height = 15; _dragCornerMc.x = (popupWindowBg.width - 15); _dragCornerMc.y = (popupWindowBg.height - 15); _dragCornerMc.addEventListener(MouseEvent.MOUSE_DOWN, startResizing); Controller.instance.stage.addEventListener(MouseEvent.MOUSE_UP, stopResizing); Controller.instance.stage.addEventListener(MouseEvent.MOUSE_MOVE, moveResizing); dispatchEvent(new Event(CREATION_COMPLETE)); } public function get dragAreaSprite(){ return (_dragAreaSprite); } private function headerMouseDownHandler(_arg1:MouseEvent):void{ if (_isPopup){ dragWindow(); }; } public function set dragAreaSprite(_arg1):void{ _dragAreaSprite = _arg1; if (_dragAreaSprite != null){ _rectDragArea = new Rectangle(_dragAreaSprite.x, _dragAreaSprite.y, (_dragAreaSprite.width - popupWindowBg.width), (_dragAreaSprite.height - popupWindowBg.height)); this.x = ((_dragAreaSprite.width - popupWindowBg.width) / 2); this.y = (_dragAreaSprite.y + 10); } else { this.x = ((this.parent.width - popupWindowBg.width) / 2); this.y = ((this.parent.height - popupWindowBg.height) / 2); _rectDragArea = new Rectangle(this.x, this.y, 0, 0); }; } override public function get height():Number{ return (popupWindowBg.height); } private function updateWindowWidth(_arg1:Number):void{ popupWindowBg.width = _arg1; _headerBg.width = _arg1; _titleTxt.width = (_arg1 - _closeBtnRight); _closeBtn.x = (_arg1 - _closeBtnRight); _restoreBtn.x = (_arg1 - _restoreBtnRight); _dragHeader.width = (_arg1 - _restoreBtnRight); _scrollPane.width = (popupWindowBg.width - 20); _dragCornerMc.x = (popupWindowBg.width - 15); _dragCornerMc.y = (popupWindowBg.height - 15); scaleGridArea.width = 1; scaleGridArea.height = 1; } public function get removeOnClose():Boolean{ return (_removeOnClose); } public function get objSettings():Object{ return (_objSettings); } public function set minimize(_arg1:Boolean):void{ if (_arg1){ _restoreBtn.visible = true; } else { _restoreBtn.visible = false; }; } public function hide():void{ this.visible = false; Controller.instance.onPopUp(false, "asds"); if (objSettings.isGrabber){ CustomGrabber.getInstance().stopProcess(); }; if (_removeOnClose){ dispatchEvent(new Event(CLOSE)); } else { dispatchEvent(new Event(HIDE)); }; } private function dragWindow():void{ if (_dragAreaSprite != null){ _rectDragArea = new Rectangle(_dragAreaSprite.x, _dragAreaSprite.y, (_dragAreaSprite.width - popupWindowBg.width), (_dragAreaSprite.height - popupWindowBg.height)); } else { _rectDragArea = new Rectangle(this.x, this.y, 0, 0); }; this.startDrag(false, _rectDragArea); } override public function set height(_arg1:Number):void{ _isHeightResizable = false; _height = _arg1; _verticalScrollPolicy = true; updateWindowHeight(_arg1); _scrollPane.verticalScrollPolicy = CustomScrollPane.AUTO; _scrollPane.source = _contentContainer; _scrollPane.visible = true; } public function addWindowContent(_arg1):void{ _scrollPane.visible = false; _contentContainer.addChild(_arg1); if (((!(_isHeightResizable)) || (!(_isWidthResizable)))){ _scrollPane.source = _contentContainer; _scrollPane.visible = true; }; if (_isWidthResizable){ _scrollPane.horizontalScrollPolicy = CustomScrollPane.OFF; updateWindowWidth((_arg1.width + 20)); }; if (_isHeightResizable){ _scrollPane.verticalScrollPolicy = CustomScrollPane.OFF; updateWindowHeight(((_arg1.height + headerBar.height) + 20)); }; } private function restoreClickHandler(_arg1:MouseEvent):void{ if (_restoreBtn.currentFrame == 1){ minimizePopup(); dispatchEvent(new Event(MINIMIZE)); } else { restorePopup(); dispatchEvent(new Event(RESTORE)); }; } public function set dragCorner(_arg1:Boolean):void{ _dragCorner = _arg1; _dragCornerMc.visible = _arg1; } public function set isPopup(_arg1:Boolean):void{ _isPopup = _arg1; } public function set horizontalScrollPolicy(_arg1:Boolean):void{ if (_arg1){ _scrollPane.horizontalScrollPolicy = CustomScrollPane.AUTO; } else { _scrollPane.horizontalScrollPolicy = CustomScrollPane.OFF; }; _horizontalScrollPolicy = _arg1; } public function get title():String{ return (_strTitle); } private function moveResizing(_arg1:MouseEvent):void{ var _local2:Number; var _local3:Number; if (_isResizing){ _local2 = ((_objSettings.minResizeWidth)!=null) ? _objSettings.minResizeWidth : 100; _local3 = ((_objSettings.minResizeHeight)!=null) ? _objSettings.minResizeHeight : 100; if ((((this.mouseX > _local2)) && ((this.mouseY > _local3)))){ if (_objSettings.resizeToInitialSize){ if ((((this.mouseX > _objSettings.maxWidth)) || ((this.mouseY > _objSettings.maxHeight)))){ return; }; }; if (_objSettings.scaleImage){ scaleContent(this.mouseX, this.mouseY); }; updateWindowHeight(this.mouseY); updateWindowWidth(this.mouseX); _scrollPane.source = _contentContainer; _scrollPane.align = "center"; }; }; } public function set removeOnClose(_arg1:Boolean):void{ _removeOnClose = _arg1; } public function set objSettings(_arg1:Object):void{ _objSettings = _arg1; } public function set restrict(_arg1:String):void{ _restrict = _arg1; } private function stopResizing(_arg1:MouseEvent):void{ _isResizing = false; } override public function set width(_arg1:Number):void{ _isWidthResizable = false; _width = _arg1; _horizontalScrollPolicy = true; updateWindowWidth(_arg1); _scrollPane.horizontalScrollPolicy = CustomScrollPane.AUTO; _scrollPane.source = _contentContainer; _scrollPane.visible = true; } public function get minimize():Boolean{ if (_restoreBtn.visible){ return (true); }; return (false); } private function updateWindowHeight(_arg1:Number):void{ popupWindowBg.height = _arg1; _scrollPane.height = (popupWindowBg.height - (_headerBg.height + 20)); _dragCornerMc.x = (popupWindowBg.width - 15); _dragCornerMc.y = (popupWindowBg.height - 15); } public function getTabItems():Array{ var _local1:Array = new Array(); if (minimize){ _local1.push({item:_restoreBtn, tabIndex:1, shortcut:"", alt:""}); }; _local1.push({item:_closeBtn, tabIndex:1, shortcut:"", alt:""}); return (_local1); } public function get isPopup():Boolean{ return (_isPopup); } public function set zoom(_arg1:Number):void{ var _local2:DisplayObject = _contentContainer.getChildAt(0); _contentContainer.scaleX = (_contentContainer.scaleY = _arg1); _scrollPane.source = _contentContainer; _scrollPane.align = "center"; if (objSettings.isGrabber){ if (((_scrollPane.hasHorizontalScrollbar) || (_scrollPane.hasVerticalScrollbar))){ CustomGrabber.getInstance().startProcess(_contentContainer, _scrollPane); } else { CustomGrabber.getInstance().stopProcess(); }; }; } private function setHandCursor(_arg1):void{ _arg1.useHandCursor = true; _arg1.buttonMode = true; _arg1.mouseChildren = false; } public function get dragCorner():Boolean{ return (_dragCorner); } public function get horizontalScrollPolicy():Boolean{ return (_horizontalScrollPolicy); } public function set title(_arg1:String):void{ _titleTxt.htmlText = _arg1; _strTitle = _arg1; } public function get panelToolBar():MovieClip{ return (MovieClip(getChildByName("mcPanelToolBar"))); } public function get restrict():String{ return (_restrict); } private function restorePopup():void{ _isMinimized = false; _popupBg.height = _popupBgHeight; popupWindowBg.visible = true; _scrollPane.visible = true; _contentContainer.visible = true; _dragCornerMc.visible = _dragCorner; _restoreBtn.gotoAndStop(1); if (_dragAreaSprite != null){ if (((_dragAreaSprite.y + _dragAreaSprite.height) - this.y) < _popupBgHeight){ this.y = ((_dragAreaSprite.y + _dragAreaSprite.height) - (_popupBgHeight + 2)); }; }; } private function dropWindow():void{ this.stopDrag(); } override public function get width():Number{ return (popupWindowBg.width); } private function scaleContent(_arg1:Number, _arg2:Number):void{ var _local3:Number = (_scrollPane.width - _contentContainer.width); var _local4:Number = (_scrollPane.height - _contentContainer.height); _contentContainer.width = ((_arg1 - 20) - _local3); _contentContainer.height = ((_arg2 - (_headerBg.height + 20)) - _local4); _scrollPane.source = _contentContainer; _scrollPane.align = "center"; } private function minimizePopup():void{ _isMinimized = true; _popupBgHeight = _popupBg.height; popupWindowBg.height = _headerBg.height; popupWindowBg.visible = false; _scrollPane.visible = false; _contentContainer.visible = false; _dragCornerMc.visible = false; _restoreBtn.gotoAndStop(2); } public function get zoom():Number{ return (_contentContainer.scaleX); } public function set verticalScrollPolicy(_arg1:Boolean):void{ if (_arg1){ _scrollPane.verticalScrollPolicy = CustomScrollPane.AUTO; } else { _scrollPane.verticalScrollPolicy = CustomScrollPane.OFF; }; _verticalScrollPolicy = _arg1; } private function startResizing(_arg1:MouseEvent):void{ _isResizing = true; } public function get verticalScrollPolicy():Boolean{ return (_verticalScrollPolicy); } private function headerMouseUpHandler(_arg1:MouseEvent):void{ dropWindow(); } public function show():void{ switch (_restrict){ case RESTRICT_ALL: Controller.instance.onPopUp(true, "asds"); break; case RESTRICT_PARTIALLY: break; case RESTRICT_NONE: Controller.instance.onPopUp(false, "asds"); break; }; if (_isMinimized){ restorePopup(); }; this.visible = true; dispatchEvent(new Event(SHOW)); } private function popupCloseHandler(_arg1:MouseEvent):void{ hide(); } } }//package view.AdvanceFeatures.ResizeablePopup
Section 182
//SpotLight (view.AdvanceFeatures.SpotLight.SpotLight) package view.AdvanceFeatures.SpotLight { import controller.*; import flash.events.*; import flash.display.*; import model.*; public class SpotLight { private var _objParent:Object;// = null private var _spMaskContainer:Sprite; private var _mcMaskedClipped:MovieClip; private static var c_objSpotLight:SpotLight = null; public function SpotLight(_arg1:SingletonEnforcerer=null){ if (_arg1 == null){ trace("Error: Singleton class. Can't create instance outside the class. Use SpotLight.getInstance()"); return; }; } private function mouseUpHandler(_arg1:MouseEvent):void{ _spMaskContainer.stopDrag(); } private function draw(_arg1:Sprite):void{ var _local2:int = Config.SPOTLIGHT_SIZE; _arg1.graphics.beginFill(0xFFCC00); _arg1.graphics.drawCircle(0, 0, _local2); _arg1.graphics.endFill(); _arg1.x = _objParent.mouseX; _arg1.y = _objParent.mouseY; } public function removeSpotLight():void{ if (_spMaskContainer != null){ _objParent.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); _objParent.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); _objParent.removeChild(_spMaskContainer); _spMaskContainer.mask = null; _spMaskContainer = null; _mcMaskedClipped.buttonMode = false; }; } private function mouseMoveHandler(_arg1:MouseEvent):void{ _spMaskContainer.startDrag(true); _arg1.updateAfterEvent(); } public function createSpotLight():void{ _mcMaskedClipped = (Controller.instance.view.content.instance as MovieClip); _objParent = Controller.instance.view.instance.stage; _spMaskContainer = new Sprite(); draw(_spMaskContainer); _mcMaskedClipped.mask = _spMaskContainer; _objParent.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); _objParent.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); _objParent.addChild(_spMaskContainer); _mcMaskedClipped.buttonMode = true; } public function destroy():void{ if (_objParent != null){ _objParent.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); _objParent.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); }; } public static function getInstance():SpotLight{ if (_slot1.c_objSpotLight == null){ _slot1.c_objSpotLight = new SpotLight(new SingletonEnforcerer()); }; return (_slot1.c_objSpotLight); } } }//package view.AdvanceFeatures.SpotLight class SingletonEnforcerer { private function SingletonEnforcerer(){ } }
Section 183
//ThemeHandler (view.AdvanceFeatures.Theme.ThemeHandler) package view.AdvanceFeatures.Theme { import controller.*; import flash.display.*; import view.*; import model.*; public class ThemeHandler extends WrappedDisplayObject { private var _objThemeListDropDown:DropDown; private var _strCurrentTheme:String; private var _btnThemeList:DisplayObject; private var _arrThemeItems:Array; private var _instance:Sprite; public function ThemeHandler(_arg1:Sprite, _arg2:DisplayObject){ super(_arg1); _instance = (_arg1 as Sprite); _btnThemeList = _arg2; init(); } public function get dropDownControlInstance():DisplayObject{ return (_objThemeListDropDown.dropDownControlInstance); } public function setDefaultThemeItemsArray():void{ var _local3:Object; var _local4:Object; var _local5:String; var _local6:String; var _local7:int; var _local8:int; var _local1:Controller = Controller.instance; var _local2:Model = Controller.instance.model; Controller.instance.tracer("setDefaultThemeItemsArray "); if (Config.CHANGE_ITEMS_THEME != null){ _local3 = new Object(); _local4 = new Object(); _local7 = Config.CHANGE_ITEMS_THEME.length; _local8 = 0; while (_local8 < _local7) { _local5 = Config.CHANGE_ITEMS_THEME[_local8].item_name; _local6 = Config.CHANGE_ITEMS_THEME[_local8].scope; Controller.instance.tracer(((_local5 + " strItemName ") + _local1.view.toolbar.getObject(_local5))); if (_local6 == Config.TOOLBAR_SCOPE){ if (_local1.view.toolbar.getObject(_local5) != null){ _local3 = _local1.view.toolbar.getObject(_local5); _arrThemeItems.push({item:_local3, item_name:_local5, default_Theme:Config.CHANGE_ITEMS_THEME[_local8].defaultTheme}); }; } else { if (_local6 == Config.MAINVIEW_SCOPE){ _local4 = _instance.parent.parent; Controller.instance.tracer(("objItemParent.getChildByName(strItemName) " + _local4.getChildByName(_local5))); if (_local4.getChildByName(_local5) != null){ _local3 = _local4.getChildByName(_local5); _arrThemeItems.push({item:_local3, item_name:_local5, default_Theme:Config.CHANGE_ITEMS_THEME[_local8].defaultTheme}); }; }; }; _local8++; }; _objThemeListDropDown.selectedMenuItem(_arrThemeItems[0].default_Theme); }; } public function get dropDownMenuInstance():Sprite{ return (_objThemeListDropDown.dropDownMenuInstance); } private function handleCustomBtnTheme(_arg1:CustomButton):void{ _arg1.stopRendering(); _arg1.setTheme(); } private function handleMcTheme(_arg1:MovieClip):void{ Controller.instance.tracer("handleMcTheme >>>>>>>>>>>"); Controller.instance.view.content.setNotesTheme(); Controller.instance.view.glossary.setGlossaryTheme(); Controller.instance.view.advanceExternalTOC.setAdvancedTocRightPanelTheme(); var _local2:DisplayObject = (_arg1 as DisplayObject); searchItems(_local2); } private function onThemeListDropDownItem(_arg1:String=null, _arg2:Boolean=false):void{ Controller.instance.tracer(("-----onThemeListDropDownItem Inside main menu item id " + _arg1)); if (_arg1 != null){ _strCurrentTheme = _arg1; Controller.instance.currentTheme = _strCurrentTheme; changeItemsTheme(_strCurrentTheme); }; if (!_arg2){ enableThemeListBtn(true); }; } public function get dropDownControl():CustomButton{ return (_objThemeListDropDown.dropDownControl); } private function init():void{ _arrThemeItems = new Array(); _objThemeListDropDown = new DropDown(_btnThemeList, _instance, onThemeListDropDownItem, true, true); } private function changeItemsTheme(_arg1:String):void{ var _local4:Boolean; var _local5:CustomButton; var _local6:MovieClip; var _local2:int = _arrThemeItems.length; Controller.instance.tracer(("changeItemsTheme " + _local2)); var _local3:int; while (_local3 < _local2) { _local4 = (_arrThemeItems[_local3].item is CustomButton); if (_local4 == true){ _local5 = (_arrThemeItems[_local3].item as CustomButton); handleCustomBtnTheme(_local5); } else { _local6 = _arrThemeItems[_local3].item; handleMcTheme(_local6); }; _local3++; }; } private function enableThemeListBtn(_arg1:Boolean):void{ Controller.instance.tracer(("enable play list button " + _arg1)); if (_arg1){ _objThemeListDropDown.setDropDownControlState(CustomButton.STATE_NORMAL); } else { _objThemeListDropDown.setDropDownControlState(CustomButton.STATE_DISABLED); }; Controller.instance.tracer("end "); } private function recursiveSearch(_arg1:DisplayObject):void{ var _local3:int; var _local4:String; var _local5:Boolean; var _local2:MovieClip = (_arg1 as MovieClip); if (_local2 != null){ _local3 = _local2.numChildren; trace(((((_local3 + " children ") + _local2.name) + " type of ") + typeof(_local2))); if (_local3 > 0){ _local4 = _local2.name; if (_local4 == "mcThemeClip"){ _local5 = hasLabel(_local2, _strCurrentTheme); if (_local5 == true){ Controller.instance.tracer(((_strCurrentTheme + " objChild ") + _local2.name)); _local2.gotoAndStop(_strCurrentTheme); }; } else { searchItems(_local2); }; }; }; } public function searchItems(_arg1:DisplayObject):void{ var _local2:MovieClip; var _local3:int; var _local4:int; var _local5:DisplayObject; if (_arg1 != null){ _local2 = (_arg1 as MovieClip); _local3 = _local2.numChildren; _local4 = 0; while (_local4 < _local3) { _local5 = _local2.getChildAt(_local4); recursiveSearch(_local5); _local4++; }; }; } } }//package view.AdvanceFeatures.Theme
Section 184
//Zoom (view.AdvanceFeatures.zoom.Zoom) package view.AdvanceFeatures.zoom { import controller.*; import flash.events.*; import flash.display.*; import view.*; import model.*; import flash.utils.*; import flash.geom.*; import flash.net.*; import event.*; import view.AdvanceFeatures.GlobalNotes.*; import view.AdvanceFeatures.CustomTools.*; public class Zoom { private const TOOL_CONTAINER:String = "mcPanelToolBar"; private const MASK_CONTAINER:String = "mcMask"; private const CLOSE_BTN:String = "btnClose"; private const IMAGE_CONTAINER:String = "mcContainer"; private const SCROLL_CONTENT:String = "mcScrollContent"; private var _objCustomToolHandler:CustomToolHandler;// = null private var _objHotSpot:Hotspot;// = null private var _objScrollPane:CustomScrollPane;// = null private var _historyOnClose:Boolean;// = false private var _arrHotspots:Array;// = null private var _bTerminateProcess:Boolean;// = false private var _nMaxWidth:Number;// = 0 private var _arrPositions:Array;// = null private var _objLoader:Loader;// = null private var _nMaxHeight:Number;// = 0 private static var c_objZoom:Zoom = null; public function Zoom(_arg1:SingletonEnforcerer){ if (_arg1 == null){ trace("Error: Singleton class. Can't create instance outside the class. Use Zoom.getInstance()"); return; }; var _local2:MovieClip = getMaskContainer(); var _local3:MovieClip = getZoomPanel(); var _local4:MovieClip = (getZoomPanel().getChildByName("mcPosition") as MovieClip); _nMaxWidth = ((_local3)==null) ? 923 : ((_local4)!=null) ? _local4.width : _local3.width; _nMaxHeight = ((_local3)==null) ? 547 : ((_local4)!=null) ? _local4.height : _local3.height; } private function onTranscriptClose(_arg1:Event):void{ updateGrabTool(); } private function getToolContainer():MovieClip{ var _local2:MovieClip; var _local1:MovieClip = getZoomPanel(); if (_local1 != null){ _local2 = (_local1.getChildByName(TOOL_CONTAINER) as MovieClip); return (_local2); }; return (null); } private function onPaneScroll(_arg1:Event):void{ var _local3:MovieClip; var _local2:MovieClip = getScrollContent(); if (_local2 != null){ _local3 = getImageContainer(); _local3.x = _local2.x; _local3.y = _local2.y; }; } private function removeAllChildren():void{ var _local2:Number; var _local3:Number; var _local1:MovieClip = getImageContainer(); if (_local1 != null){ _local2 = _local1.numChildren; _local3 = 0; while (_local3 < _local2) { _local1.removeChildAt(_local3); _local3++; }; }; } public function set zoom(_arg1:Number):void{ var _local2:DisplayObject = (_objLoader.content as DisplayObject); var _local3:Matrix = new Matrix(); _local3.tx = (_local3.tx - _arrPositions[0].x); _local3.ty = (_local3.ty - _arrPositions[0].y); _local3.scale(_arg1, _arg1); _local2.scaleX = (_local2.scaleY = _arg1); _local2.x = _local3.tx; _local2.y = _local3.ty; var _local4:Number = ((_arrPositions[1].x - _arrPositions[0].x) * _arg1); var _local5:Number = ((_arrPositions[1].y - _arrPositions[0].y) * _arg1); var _local6:MovieClip = getImageContainer(); var _local7:MovieClip = (getZoomPanel().getChildByName("mcPosition") as MovieClip); _local6.x = ((_local7)==null) ? ((_nMaxWidth - _local4) / 2) : (_local7.x + ((_nMaxWidth - _local4) / 2)); _local6.y = ((_local7)==null) ? ((_nMaxHeight - _local5) / 2) : (_local7.y + ((_nMaxHeight - _local5) / 2)); var _local8:MovieClip = getScrollContent(); if (_local8 != null){ _local8.width = _local4; _local8.height = _local5; _local8.x = _local6.x; _local8.y = _local6.y; _objScrollPane.source = _local8; }; updateGrabTool(); } private function setCustomTool():void{ var _local2:uint; var _local1:Object = new Object(); _local1.path = ((_objHotSpot.type)==Hotspot.TYPE_EXTERNAL) ? null : _objHotSpot.path; if (_objHotSpot.data != null){ _arrHotspots = _objHotSpot.data.split(","); }; if (((!((_arrHotspots == null))) && ((_arrHotspots.length > 1)))){ _local1.totalItems = _arrHotspots.length; _local2 = 0; while (_local2 < _local1.totalItems) { if (_objHotSpot.tabIndex == _arrHotspots[_local2]){ _local1.currentIndex = _local2; break; }; _local2++; }; } else { _local1.transcript = _objHotSpot.data; _local1.transcript_audio = _objHotSpot.transcript_audio; }; if (Config.CUSTOM_TOOLBAR_DATA.SCROLLBAR != null){ addScrollPane(); }; _objCustomToolHandler.setCustomTool(_local1); _objCustomToolHandler.addEventListener(_objCustomToolHandler.CHANGE_ITEM, changeItem); _objCustomToolHandler.addEventListener(_objCustomToolHandler.CLOSE, onTranscriptClose); updateGrabTool(); } private function getScrollContent():MovieClip{ var _local2:MovieClip; var _local1:MovieClip = getZoomPanel(); if (_local1 != null){ _local2 = (_local1.getChildByName(SCROLL_CONTENT) as MovieClip); return (_local2); }; return (null); } private function getZoomPanel():MovieClip{ var _local1:MainView = Controller.instance.view; var _local2:MovieClip = _local1.zoomPanel; if (_local2 != null){ return (_local2); }; return (null); } private function getMaskContainer():MovieClip{ var _local2:MovieClip; var _local1:MovieClip = getZoomPanel(); if (_local1 != null){ _local2 = (_local1.getChildByName(MASK_CONTAINER) as MovieClip); return (_local2); }; return (null); } private function hideZoomPanel():void{ var _local1:MovieClip = getZoomPanel(); if (_local1 != null){ _local1.visible = false; Controller.instance.onPopUp(false, Constants.PANEL_PRESET_ZOOM); }; } public function get zoom():Number{ var _local1:DisplayObject = (_objLoader.content as DisplayObject); return (_local1.scaleX); } private function onClose(_arg1:MouseEvent):void{ if (_historyOnClose){ Controller.instance.loadLastVisitPage(); _historyOnClose = false; }; hideZoomPanel(); var _local2:SimpleButton = (_arg1.currentTarget as SimpleButton); destroy(_local2); } private function showImage(_arg1:Loader, _arg2:Hotspot):void{ var _local3:Array = _arg2.points; var _local4:Number = _local3[0].x; var _local5:Number = _local3[0].y; var _local6:Number = (_local3[1].x - _local4); var _local7:Number = (_local3[1].y - _local5); var _local8:Number = (_local6 / _local7); var _local9:Number = (_nMaxWidth - 20); var _local10:Number = (_nMaxHeight - 20); var _local11:Number = 0; Controller.instance.tracer(("image ratio " + _local8)); _local11 = ((_local8)>1.7) ? (_local9 / _local6) : (_local10 / _local7); var _local12:Matrix = new Matrix(); new Matrix().tx = (_local12.tx - _local4); _local12.ty = (_local12.ty - _local5); _local12.scale(_local11, _local11); var _local13:MovieClip = getImageContainer(); var _local14:DisplayObject = (_objLoader.content as DisplayObject); _local13.addChild(_objLoader); _local14.scaleX = (_local14.scaleY = _local11); _local14.x = _local12.tx; _local14.y = _local12.ty; var _local15:MovieClip = getMaskContainer(); _local15.width = (_local6 * _local11); _local15.height = (_local7 * _local11); var _local16:Number = _local15.x; var _local17:MovieClip = (getZoomPanel().getChildByName("mcPosition") as MovieClip); _local15.x = ((_local17)==null) ? ((_nMaxWidth - _local15.width) / 2) : (_local17.x + ((_nMaxWidth - _local15.width) / 2)); _local13.x = _local15.x; _local15.y = ((_local17)==null) ? ((_nMaxHeight - _local15.height) / 2) : (_local17.y + ((_nMaxHeight - _local15.height) / 2)); _local13.y = _local15.y; if (_objCustomToolHandler != null){ _arrPositions = new Array(); _arrPositions = _local3; setCustomTool(); }; } private function changeItem(_arg1:Event):void{ var _local2:Object = new Object(); _local2.hotspotIndex = _arrHotspots[_objCustomToolHandler.currentIndex]; _local2.currentPageIndex = _objHotSpot.page; var _local3:CustomEvent = new CustomEvent(CustomEvent.HOTSPOT_CHANGE, false, false, _local2); var _local4:SimpleButton = (getZoomPanel().getChildByName(CLOSE_BTN) as SimpleButton); if (_local4 != null){ _local4.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); }; CustomEventDispatcher.getInstance().dispatchEvent(_local3); } private function addScrollPane():void{ var _local1:MovieClip = getMaskContainer(); var _local2:MovieClip = new MovieClip(); _local2.name = SCROLL_CONTENT; _local2.x = _local1.x; _local2.y = _local1.y; _local2.graphics.beginFill(0, 0); _local2.graphics.drawRect(0, 0, _local1.width, _local1.height); _local2.graphics.endFill(); getZoomPanel().addChild(_local2); _objScrollPane = new CustomScrollPane(); getZoomPanel().addChild(_objScrollPane); _objScrollPane.x = _local1.x; _objScrollPane.y = _local1.y; _objScrollPane.height = (_local1.height + _objScrollPane.vScrollBar.width); _objScrollPane.width = (_local1.width + _objScrollPane.vScrollBar.width); if (Config.CUSTOM_TOOLBAR_DATA.SCROLLBAR.visibility != null){ _objScrollPane.visible = Config.CUSTOM_TOOLBAR_DATA.SCROLLBAR.visibility; }; _objScrollPane.source = _local2; _objScrollPane.addEventListener(CustomScrollPane.PANE_SCROLL, onPaneScroll); } private function updateGrabTool():void{ if (Config.CUSTOM_TOOLBAR_DATA.GRABBER){ if (((_objScrollPane.hasHorizontalScrollbar) || (_objScrollPane.hasVerticalScrollbar))){ CustomGrabber.getInstance().startProcess(getScrollContent(), _objScrollPane); } else { CustomGrabber.getInstance().stopProcess(); }; }; } public function showZoom(_arg1:ByteArray, _arg2:Hotspot, _arg3:Boolean=false):void{ var _local4:MovieClip; _historyOnClose = _arg3; if ((((((_arg1 == null)) && ((((_arg2.path == null)) || ((_arg2.path == "")))))) || ((_arg2 == null)))){ Controller.instance.tracer("Error: Parameters passed to showZoom() in Zoom.as are not valid."); return; }; showZoomPanel(); if (!_bTerminateProcess){ _objLoader = new Loader(); getImageContainer().addChild(_objLoader); _objLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadImage); if (_arg2.type == Hotspot.TYPE_EXTERNAL){ _objLoader.load(new URLRequest(_arg2.path)); } else { _objLoader.loadBytes(_arg1); }; _objHotSpot = _arg2; _local4 = getToolContainer(); if (((!((_local4 == null))) && (!((Config.CUSTOM_TOOLBAR_DATA == null))))){ _objCustomToolHandler = new CustomToolHandler(_local4, c_objZoom); }; } else { Controller.instance.tracer("Error: Zoom panel movieclip does not exist in the library. So Terminating the process."); return; }; } private function showZoomPanel():void{ var _local1:MovieClip = getZoomPanel(); if (_local1 == null){ _bTerminateProcess = true; } else { _local1.visible = true; Controller.instance.onPopUp(true, Constants.PANEL_PRESET_ZOOM); assignCloseBehaviour(); }; } private function onLoadImage(_arg1:Event):void{ var _local2:DisplayObject; if (_objHotSpot.type == Hotspot.TYPE_EXTERNAL){ _local2 = (_objLoader.content as DisplayObject); _objHotSpot.points = [{x:0, y:0}, {x:_local2.width, y:_local2.height}]; }; showImage(_objLoader, _objHotSpot); } private function destroy(_arg1:SimpleButton):void{ var _local3:MovieClip; if (_arg1 != null){ _arg1.removeEventListener(MouseEvent.CLICK, onClose, false); }; removeAllChildren(); _bTerminateProcess = false; _objLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onLoadImage); if (((!((Config.CUSTOM_TOOLBAR_DATA == null))) && (Config.CUSTOM_TOOLBAR_DATA.GRABBER))){ CustomGrabber.getInstance().stopProcess(); }; var _local2:MovieClip = getToolContainer(); if (_local2 != null){ _objCustomToolHandler.removeEventListener(_objCustomToolHandler.CHANGE_ITEM, changeItem); _objCustomToolHandler.removeEventListener(_objCustomToolHandler.CLOSE, onTranscriptClose); _objCustomToolHandler.destroy(); _arrPositions = null; }; if (_objScrollPane != null){ _local3 = getZoomPanel(); _objScrollPane.removeEventListener(CustomScrollPane.PANE_SCROLL, onPaneScroll); _local3.removeChild(getScrollContent()); _local3.removeChild(_objScrollPane); _objScrollPane = null; }; } private function assignCloseBehaviour():void{ var _local2:SimpleButton; var _local1:MovieClip = getZoomPanel(); if (_local1 != null){ _local2 = (_local1.getChildByName(CLOSE_BTN) as SimpleButton); if (_local2 != null){ _local2.addEventListener(MouseEvent.CLICK, onClose, false); }; }; } private function getImageContainer():MovieClip{ var _local2:MovieClip; var _local1:MovieClip = getZoomPanel(); if (_local1 != null){ _local2 = (_local1.getChildByName(IMAGE_CONTAINER) as MovieClip); return (_local2); }; return (null); } public static function getInstance():Zoom{ if (Zoom.c_objZoom == null){ Zoom.c_objZoom = new Zoom(new SingletonEnforcerer()); }; return (Zoom.c_objZoom); } } }//package view.AdvanceFeatures.zoom class SingletonEnforcerer { private function SingletonEnforcerer(){ } }
Section 185
//BookMarkPanel (view.BookMarkPanel) package view { import controller.*; import flash.events.*; import flash.display.*; import model.*; import flash.geom.*; import accessibility.*; import flash.text.*; public class BookMarkPanel extends WrappedDisplayObject { private var _dragBar:DisplayObject; private var _textArea:TextField; private var _mask:Sprite; private var _txtNoResult:TextField; private var _noResult:Sprite; private var _bg:Sprite; private var _resultArea:Sprite; private var _scrollbars:Scrollbars; private var _resultCount:Number; private var _instance:Sprite; private var _close:DisplayObject; private var _minimize:DisplayObject; private static var ResultBar:Class = BookMarkPanel_ResultBar; public function BookMarkPanel(_arg1:DisplayObject){ super(_arg1); _instance = (_arg1 as Sprite); _scrollbars = new Scrollbars(getChildByName("mcScrollbars"), "BookMark"); _mask = (getChildByName("mcMask") as Sprite); _resultArea = (getChildByName("mcSearchContent") as Sprite); _noResult = (getChildByName("mcNoResult") as Sprite); _txtNoResult = (_noResult.getChildByName("txtResult") as TextField); _bg = (getChildByName("mcSrchPanelBg") as Sprite); _dragBar = (getChildByName("mcSrchDragBar") as DisplayObject); _dragBar.addEventListener(MouseEvent.MOUSE_DOWN, onSearchDrag, false, 0, true); _dragBar.addEventListener(MouseEvent.MOUSE_UP, onSearchDrop, false, 0, true); _dragBar.stage.addEventListener(MouseEvent.MOUSE_UP, onSearchDrop, false, 0, true); _dragBar.stage.addEventListener(MouseEvent.CLICK, onSearchDrop, false, 0, true); _close = (getChildByName("btnClose") as DisplayObject); _minimize = (getChildByName("btnMinimize") as DisplayObject); _close.addEventListener(MouseEvent.CLICK, onClose, false, 0, true); if (_minimize){ _minimize.addEventListener(MouseEvent.CLICK, onMinimize, false, 0, true); }; } public function onBlankSearch():void{ clearSearch(); _noResult.visible = true; _txtNoResult.text = ErrorMessages.BLANK_SEARCH; showSearchPanel(true); _scrollbars.verticalScroll.reset(); _scrollbars.horizontalScroll.reset(); updateScrollbars(); } private function updateScrollbars():void{ _resultArea.x = getMaskMovieClip().x; var _local1:Number = (_resultArea.width + 10); var _local2:Number = (_resultArea.height + 10); var _local3:Number = _scrollbars.update((_local1 - _mask.width), (_local2 - _mask.height)); if (_local3 < 0){ _resultArea.x = getMaskMovieClip().x; }; } public function showSearchPanel(_arg1:Boolean):void{ visible = _arg1; Controller.instance.onPopUp(_arg1, Constants.PANEL_SEARCH); } public function getSearchTabItem():Array{ var _local9:Sprite; var _local1:Array = new Array(); var _local2:Number = 1; var _local3:Array = checkForTabItems(); var _local4:Object = _resultArea.numChildren; var _local5:Number = 0; while (_local5 < _local3.length) { _local9 = (_local3[_local5] as Sprite); _local1.push({item:_local9.getChildByName("btnBar"), tabIndex:_local2, shortcut:"", alt:"altText"}); _local2++; _local5++; }; var _local6:Array = _scrollbars.verticalScroll.accessibleButtons; _local6 = _local6.concat(_scrollbars.horizontalScroll.accessibleButtons); var _local7:Array = ["scroll up", "scroll down", "scroll left", "scroll right"]; var _local8:int; while (_local8 < _local6.length) { var _temp1 = _local2; _local2 = (_local2 + 1); _local1.push({item:_local6[_local8], tabIndex:_temp1, shortcut:"", alt:_local7[_local8]}); _local8++; }; if (_minimize){ var _temp2 = _local2; _local2 = (_local2 + 1); _local1.push({item:_minimize, tabIndex:_temp2, shortcut:"", alt:"minimise"}); }; var _temp3 = _local2; _local2 = (_local2 + 1); _local1.push({item:_close, tabIndex:_temp3, shortcut:"", alt:"close"}); return (_local1); } public function displaySearchResults(_arg1:Array):void{ var _local2:int; var _local3:Object; _resultCount = -1; clearSearch(); if (_arg1 == null){ _noResult.visible = true; _txtNoResult.text = ErrorMessages.NO_SEARCH_RESULT; } else { _noResult.visible = false; if (Config.SORT_SEARCH_BY_PAGE_NO){ _arg1 = sortResultsByPageNo(_arg1); }; _local2 = 0; while (_local2 < _arg1.length) { _local3 = _arg1[_local2]; addSearchResult(_local3); _local2++; }; resizeAllResultBars(); }; showSearchPanel(true); _scrollbars.verticalScroll.reset(); _scrollbars.horizontalScroll.reset(); updateScrollbars(); } private function onSearchDrop(_arg1:MouseEvent):void{ _instance.stopDrag(); } public function onScrollHorizontal(_arg1:Number):void{ _resultArea.x = (-(_arg1) + 12); Controller.instance.initilizeAccesibility(AccessibilityConstants.SEARCH_POPUP); } private function getMaskMovieClip():Sprite{ var _local1:Sprite = (getChildByName("mcMask") as Sprite); return (_local1); } public function clearSearch():void{ _resultArea.stage.focus = null; while (_resultArea.numChildren > 0) { _resultArea.removeChildAt(0); }; _resultCount = -1; } private function onClose(_arg1:MouseEvent):void{ showSearchPanel(false); Controller.instance.view.toolbar.onCloseSearch(); Controller.instance.view.toolbar.onCloseBookMark(); } private function checkForTabItems():Array{ var _local4:Sprite; var _local1:Array = new Array(); var _local2:Number = _resultArea.numChildren; var _local3:Number = 0; while (_local3 < _local2) { _local4 = (_resultArea.getChildAt(_local3) as Sprite); if (_local4.hitTestObject(_mask)){ _local1.push(_local4); }; _local3++; }; return (_local1); } public function onScrollVertical(_arg1:Number):void{ _resultArea.y = -(_arg1); Controller.instance.initilizeAccesibility(AccessibilityConstants.SEARCH_POPUP); } public function restoreSearch():void{ showSearchPanel(true); } private function formDisplayString(_arg1:String, _arg2:String, _arg3:String):String{ var _local4 = ""; if (_arg2 != null){ _arg2 = ("Page - " + _arg2); } else { _arg2 = ""; }; if (_arg3 != null){ _arg3 = (" - " + _arg3); } else { _arg3 = ""; }; if (_arg1 != null){ _arg1 = _arg1.split("|").join(" - "); _arg1 = (_arg1 + " - "); } else { _arg1 = ""; }; _local4 = ((_arg1 + _arg2) + _arg3); return (_local4); } private function resizeAllResultBars():void{ var _local4:Sprite; var _local5:DisplayObject; var _local6:DisplayObject; var _local1:Number = _resultArea.numChildren; var _local2:Number = 0; var _local3:Number = 0; while (_local3 < _local1) { _local4 = (_resultArea.getChildAt(_local3) as Sprite); if (_local4.width > _local2){ _local2 = _local4.width; }; _local3++; }; _local3 = 0; while (_local3 < _local1) { _local4 = (_resultArea.getChildAt(_local3) as Sprite); _local5 = _local4.getChildByName("btnBar"); _local5.width = _local2; _local6 = _local4.getChildByName("btnClose"); _local6.x = ((_local5.x + _local5.width) + 10); _local3++; }; } private function addSearchResult(_arg1:Object):void{ _resultCount = (_resultCount + 1); var _local2:Sprite = new ResultBar(); _local2.name = ("resultBar_" + _arg1.pageNo); _resultArea.addChild(_local2); _local2.x = 0; _local2.y = (_mask.y + (_local2.height * _resultCount)); var _local3:TextField = (_local2.getChildByName("txtResult") as TextField); var _local4:PageListing = Controller.instance.model.objPageList; var _local5:String = _local4.getPageLabel(_arg1.pageNo); if (_local5 == null){ _resultArea.removeChild(_local2); return; }; var _local6:String; var _local7:String = _local4.getSectionTitle(_arg1.pageNo); if (Config.BUTTON_RESOURCE_PANEL){ _local7 = _local7.split("@")[0]; }; var _local8:Array = Config.SEARCH_DISPLAY_PATTERN; if (_local8 != null){ if (_local8.indexOf(Constants.SECTION_TITLE) <= -1){ _local7 = null; }; if (_local8.indexOf(Constants.BREADCRUMB) != -1){ _local6 = _local4.getBreadCrumb(_arg1.pageNo); }; }; var _local9:TextFormat = new TextFormat(); if (Config.ENABLE_HTML_TEXT){ _local3.htmlText = formDisplayString(_local6, _local5, _local7); _local9.bold = true; _local3.setTextFormat(_local9); } else { _local3.text = formDisplayString(_local6, _local5, _local7); }; _local3.mouseEnabled = false; _local3.tabEnabled = false; var _local10:DisplayObject = (_local2.getChildByName("btnBar") as DisplayObject); Controller.instance.tracer("themeHandler.searchItems called"); _local10.addEventListener(MouseEvent.CLICK, openResultPage, false, 0, true); if (Controller.instance.view.toolbar.themeHandler != null){ Controller.instance.view.toolbar.themeHandler.searchItems(_local10); }; if (_local3.maxScrollH > 0){ _local3.autoSize = TextFieldAutoSize.LEFT; if (_local10.width < _local3.width){ _local10.width = (_local3.width + 10); }; } else { _local3.autoSize = TextFieldAutoSize.NONE; }; var _local11:DisplayObject = (_local2.getChildByName("btnClose") as DisplayObject); _local11.addEventListener(MouseEvent.CLICK, deleteResult, false, 0, true); } private function deleteResult(_arg1:MouseEvent):void{ var _local2:String = String(_arg1.currentTarget.parent.name); var _local3:Number = _local2.indexOf("_"); var _local4:Number = Number(_local2.substring((_local3 + 1), _local2.length)); Controller.instance.view.toolbar.deleteBookMark(_local4); _resultArea.removeChild(_arg1.currentTarget.parent); } private function onMinimize(_arg1:MouseEvent):void{ Controller.instance.view.toolbar.showMinimizedSearchButton(); showSearchPanel(false); } private function openResultPage(_arg1:MouseEvent):void{ var _local2:String = String(_arg1.currentTarget.parent.name); var _local3:Number = _local2.indexOf("_"); var _local4:Number = Number(_local2.substring((_local3 + 1), _local2.length)); Controller.instance.loadPage(_local4); } private function onSearchDrag(_arg1:MouseEvent):void{ var _local2:Sprite = Controller.instance.view.dragarea; var _local3:Rectangle = new Rectangle(_local2.x, _local2.y, ((_local2.x + _local2.width) - _bg.width), (_local2.height - _bg.height)); _instance.startDrag(false, _local3); } private function sortResultsByPageNo(_arg1:Array):Array{ var _local5:int; var _local2:Array = new Array(); var _local3:Array = new Array(); var _local4:int; while (_local4 < _arg1.length) { _local3.push(_arg1[_local4].pageNo); _local4++; }; _local3.sort(Array.NUMERIC); _local4 = 0; while (_local4 < _local3.length) { _local5 = 0; while (_local5 < _arg1.length) { if (_local3[_local4] == _arg1[_local5].pageNo){ _local3[_local4] = null; _local2.push(_arg1[_local5]); break; }; _local5++; }; _local4++; }; return (_local2); } } }//package view
Section 186
//BookMarkPanel_ResultBar (view.BookMarkPanel_ResultBar) package view { import flash.display.*; import mx.core.*; public class BookMarkPanel_ResultBar extends SpriteAsset { public var btnZoomIn:DisplayObject; public var mcContent:DisplayObject; public var mc_thumb:DisplayObject; public var btnHTML:DisplayObject; public var mc_O:DisplayObject; public var mc_Y:DisplayObject; public var btnTeacher:DisplayObject; public var btnUp:DisplayObject; public var mcThumb:DisplayObject; public var mc_J:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnBar:DisplayObject; public var mc_N:DisplayObject; public var txtWord:DisplayObject; public var mcIconAnim:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var mcPatch:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnLinkBg:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcThemeClip:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_D:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mc_K:DisplayObject; public var mc_M:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_R:DisplayObject; public var mc_L:DisplayObject; public var mcGlossary:DisplayObject; public var mc_P:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_T:DisplayObject; public var mc_U:DisplayObject; public var mc_V:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_S:DisplayObject; public var mc_B:DisplayObject; public var mc_C:DisplayObject; public var mc_W:DisplayObject; public var mcGlossaryImage:DisplayObject; } }//package view
Section 187
//Branding (view.Branding) package view { import controller.*; import flash.display.*; import flash.utils.*; public class Branding extends WrappedDisplayObject { private var _loader:Loader; private var _instance:Sprite; public function Branding(_arg1:DisplayObject){ super(_arg1); _loader = new Loader(); _instance = (_arg1 as Sprite); addChild(_loader); } public function showBranding():void{ var _local1:ByteArray = Controller.instance.model.brandingData; if (_local1 != null){ _loader.loadBytes(_local1); }; } } }//package view
Section 188
//BreadCrumbPanel (view.BreadCrumbPanel) package view { import controller.*; import flash.events.*; import flash.display.*; import model.*; import flash.text.*; public class BreadCrumbPanel extends WrappedDisplayObject { private var _instance:Sprite; private var _arrLinks:Array; private static var BCLink:Class = BreadCrumbPanel_BCLink; private static var classObject:BreadCrumbPanel; public function BreadCrumbPanel(_arg1:DisplayObject){ super(_arg1); _instance = (_arg1 as Sprite); _arrLinks = new Array(); } private function clearBreadCrumb():void{ var _local1:int; while (_local1 < _arrLinks.length) { _arrLinks.pop().removeEventListener(MouseEvent.CLICK, onLink); _local1++; }; while (_instance.numChildren > 0) { _instance.removeChildAt(0); }; } private function getName(_arg1:Array, _arg2:Number):String{ var _local3 = ""; var _local4:int; while (_local4 < _arg2) { if (_local3 != ""){ _local3 = (_local3 + "|"); }; _local3 = (_local3 + _arg1[_local4]); _local4++; }; return (_local3); } public function setBreadCrumb(_arg1:Number):void{ var _local7:Sprite; var _local8:Sprite; var _local9:TextField; var _local10:Sprite; clearBreadCrumb(); var _local2:Controller = Controller.instance; var _local3:Model = _local2.model; var _local4:String = _local3.objPageList.getBreadCrumb(_arg1); var _local5:Array = _local4.split("|"); var _local6 = 1; while (_local6 < _local5.length) { _local7 = new BCLink(); _local7.name = getName(_local5, (_local6 + 1)); _local8 = (_local7.getChildByName("bg") as Sprite); _local9 = (_local7.getChildByName("txt") as TextField); _local9.selectable = false; _local10 = (_local7.getChildByName("mcDot") as Sprite); _local9.mouseEnabled = false; _local9.autoSize = TextFieldAutoSize.LEFT; if (Config.ENABLE_HTML_TEXT){ _local9.htmlText = (("<b>" + _local5[_local6]) + "</b>"); } else { _local9.text = _local5[_local6]; }; _local8.width = _local9.width; _local7.x = _instance.width; _local10.visible = false; if (_local6 >= (_local5.length - 1)){ } else { _local9.appendText(" / "); }; _instance.addChild(_local7); _local8.addEventListener(MouseEvent.CLICK, onLink, false, 0, true); _local8.addEventListener(MouseEvent.ROLL_OVER, showUnderline, false, 0, true); _local8.addEventListener(MouseEvent.ROLL_OUT, hideUnderline, false, 0, true); _local8.buttonMode = true; _arrLinks.push(_local7); _local6++; }; } private function onLink(_arg1:MouseEvent):void{ var _local2:Controller = Controller.instance; var _local3:Model = _local2.model; var _local4:Number = _local3.objPageList.getPageIndexFromSectionTitle(_arg1.target.parent.name); _local2.loadPage((_local4 + 1)); } private function hideUnderline(_arg1:MouseEvent):void{ var _local2:Sprite = (_arg1.target.parent as Sprite); var _local3:TextField = (_local2.getChildByName("txt") as TextField); var _local4:TextFormat = new TextFormat(); _local4.underline = false; _local3.setTextFormat(_local4); } private function showUnderline(_arg1:MouseEvent):void{ var _local5:int; var _local2:Sprite = (_arg1.target.parent as Sprite); var _local3:TextField = (_local2.getChildByName("txt") as TextField); var _local4:TextFormat = new TextFormat(); _local5 = _local3.text.lastIndexOf(" / "); _local4.underline = true; if (_local5 > -1){ _local3.setTextFormat(_local4, 0, _local5); } else { _local3.setTextFormat(_local4); }; } public static function getclassObject(_arg1:MovieClip):BreadCrumbPanel{ if (classObject == null){ classObject = new BreadCrumbPanel(_arg1); }; return (classObject); } } }//package view
Section 189
//BreadCrumbPanel_BCLink (view.BreadCrumbPanel_BCLink) package view { import flash.display.*; import mx.core.*; public class BreadCrumbPanel_BCLink extends SpriteAsset { public var btnZoomIn:DisplayObject; public var mcThumb:DisplayObject; public var mcContent:DisplayObject; public var mc_thumb:DisplayObject; public var mc_O:DisplayObject; public var mc_J:DisplayObject; public var mc_Y:DisplayObject; public var btnSrchMinimized:DisplayObject; public var btnHTML:DisplayObject; public var btnUp:DisplayObject; public var mcIconAnim:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnBar:DisplayObject; public var txtWord:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var btnTeacher:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var mcPatch:DisplayObject; public var mcBG:DisplayObject; public var bg:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var txtLink:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnLinkBg:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var btnState:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcThemeClip:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcDot:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_D:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mc_K:DisplayObject; public var mc_M:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_R:DisplayObject; public var mc_L:DisplayObject; public var mcGlossary:DisplayObject; public var mc_P:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_T:DisplayObject; public var mc_U:DisplayObject; public var mc_V:DisplayObject; public var mc_W:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_S:DisplayObject; public var mc_B:DisplayObject; public var mc_C:DisplayObject; public var mc_N:DisplayObject; public var mcGlossaryImage:DisplayObject; } }//package view
Section 190
//Content (view.Content) package view { import controller.*; import flash.events.*; import flash.display.*; import model.*; import flash.utils.*; import flash.geom.*; import accessibility.*; import event.*; import view.AdvanceFeatures.PageFlip.*; import view.AdvanceFeatures.drawTool.*; public class Content extends WrappedDisplayObject { private var _loadingPageIndex:int; private var _arrSaveHighlighters:Array; private var _sptZoomToSelectionArea:Sprite; private var _sptPopupContent:Sprite;// = null private var _bIsZoomToLastAction:Boolean;// = false private var _sptZoomToArea:Sprite; private var _arrNestedHotSpot:Array;// = null private var _bIsSelectionAreaCreated:Boolean;// = false private var _SRContent:Sprite; private var _arrOldPages:Array; private var _objStage:Stage; private var _scrollbars:Scrollbars; private var _blnShowTestMode:Boolean; private var _strCustomCursor:String; private var _sptZoomToCursor:Sprite; private var _blnActiveSelection:Boolean; private var _pages:Array; private var _mask:Sprite; private var _bAutoTurn:Boolean;// = false private var _objZoomToData:Object; private var _holder:Sprite; private var _bIsMouseDown:Boolean;// = false private static var ZoomToCursor:Class = Content_ZoomToCursor; public function Content(_arg1:DisplayObject){ super(_arg1); _sptPopupContent = new Sprite(); _scrollbars = new Scrollbars(getChildByName("mcScrollbars"), "Content"); _scrollbars.horizontalScroll.visible = false; _scrollbars.verticalScroll.visible = false; _mask = (getChildByName("mcMask") as Sprite); _holder = (getChildByName("mcHolder") as Sprite); _SRContent = (getChildByName("mcSRContent") as Sprite); _sptZoomToSelectionArea = new Sprite(); _sptZoomToSelectionArea.name = "sptZoomToSelectionArea"; _objZoomToData = new Object(); _pages = new Array(); addPage(); _loadingPageIndex = -1; _holder.scaleX = (_holder.scaleY = Config.PAGESCALE_DEFAULT_TE); _blnShowTestMode = false; _arrOldPages = new Array(); _blnActiveSelection = false; createZoomToArea(); addChild(_sptPopupContent); handleScrollBarVisibility(); } public function get isZoomToLastAction():Boolean{ return (_bIsZoomToLastAction); } public function set isZoomToLastAction(_arg1:Boolean):void{ _bIsZoomToLastAction = _arg1; } public function get scrollbars():Scrollbars{ return (_scrollbars); } private function restPageAudioController():void{ var _local6:Array; var _local7:ContentPage; var _local8:Sprite; var _local9:Page; var _local10:int; var _local11:HotspotClip; var _local12:String; var _local1:Array = new Array(); var _local2:int; while (_local2 < _pages.length) { _local6 = new Array(); _local7 = _pages[_local2]; _local8 = _local7.hotspots; _local9 = _pages[_local2].page; _local10 = 0; while (_local10 < _local8.numChildren) { _local11 = (_local8.getChildAt(_local10) as HotspotClip); if (((!((_local11 == null))) && ((_local11.data.type == Hotspot.TYPE_ADUIO)))){ _local12 = null; if (((((!((_local11.data.path == null))) && (!((_local11.data.path == ""))))) && (!((_local11.data.path == undefined))))){ _local12 = ((_local11.data.data)!=null) ? _local11.data.data : ""; }; _local6.push({path:_local11.data.path, mcClip:_local11, tabIndex:_local11.data.tabIndex, useAudioPlayer:Config.HOTSPOT_AUDIO_USE_AUDIOPLAYER, transcript:_local12}); }; _local10++; }; if (((!((_local9.voice_over == undefined))) && (!((_local9.voice_over == ""))))){ _local1.push({path:_local9.voice_over, pageIndex:(_local2 + 1), mcClip:null, tabIndex:null, useAudioPlayer:Config.AUDIOPLAYER_USE_SLIDER}); }; _local1 = _local1.concat(_local6.sortOn("tabIndex", Array.NUMERIC)); _local2++; }; var _local3:AudioController = Controller.instance.pageAudioController; _local3.mediaMode = Config.AUDIOPLAYER_MODE_DEFAULT; _local3.sequenceArray = _local1; var _local4:ConfigManager = Controller.instance.model.configManager; var _local5:MovieClip = Controller.instance.view.toolbar.pageAudioControls; if (_local5 != null){ _local5.visible = _local4.page_Audio_Controller; _local3.controllerClip = Controller.instance.view.toolbar.pageAudioControls; }; } public function getVoiceOverHotspots(_arg1:String):Array{ var _local3:Array; var _local4:Hotspot; var _local6:int; var _local7:Object; var _local2:Array = new Array(); var _local5:int; while (_local5 < _pages.length) { _local3 = _pages[_local5].page.hotspots; _local6 = 0; while (_local6 < _local3.length) { _local4 = _local3[_local6]; if ((((_local4.path == _arg1)) && ((_local4.subtype == "voice over")))){ _local7 = new Object(); _local7.duration = _local4.duration; _local7.order = _local4.order; _local7.hotspot = (_pages[_local5].hotspots.getChildByName(("hotspot_" + _local6)) as HotspotClip); _local2.push(_local7); }; _local6++; }; _local5++; }; _local2.sortOn("order", Array.NUMERIC); return (_local2); } private function moveZoomToCursor():void{ if (_sptZoomToCursor != null){ _sptZoomToCursor.x = _objStage.mouseX; _sptZoomToCursor.y = _objStage.mouseY; }; } private function getContentObjectInstance(_arg1:String):Object{ var _local2:Controller = Controller.instance; var _local3:Object; switch (_arg1){ case Constants.CONTENT_SCROLLBARS: _local3 = _scrollbars.instance; break; }; return (_local3); } public function saveObject():void{ var _local3:Array; var _local4:Array; var _local5:Object; var _local6:Number; var _local7:Array; var _local8:Array; var _local1:Array = new Array(); var _local2:int; while (_local2 < _arrOldPages.length) { _local3 = new Array(); _local4 = _arrOldPages[_local2].existingNotes; _local5 = new Object(); _arrSaveHighlighters = new Array(); _local3 = HighlightHandler.instance.getHighLighterInfo(_arrOldPages[_local2].currentPageIndex); if (_local3 != null){ _local6 = 0; while (_local6 < _local3.length) { _arrSaveHighlighters.push({id:_local3[_local6].id, xPos:_local3[_local6].xPos, yPos:_local3[_local6].yPos, width:_local3[_local6].width, height:_local3[_local6].height, color:_local3[_local6].color}); _local6++; }; _local5.arrHighlightInfo = _arrSaveHighlighters; }; if (_local4 != null){ _local5.arrNotesInfo = _local4; }; if (Config.DRAW != null){ _local7 = new Array(); _local7 = DrawTool.getInstance().getFreehandShapesInfo(_arrOldPages[_local2].currentPageIndex); if (_local7 != null){ _local5.arrFreehandShapesInfo = _local7; }; }; if (Controller.instance.view.addLinkPanel != null){ _local8 = new Array(); _local8 = Controller.instance.view.addLinkPanel.getLinkArray(_arrOldPages[_local2].currentPageIndex); if (_local8 != null){ _local5.arrLinks = _local8; }; }; _local1.push({objData:_local5, pageNum:_arrOldPages[_local2].currentPageIndex}); _local2++; }; Controller.instance.model.existingDataObj.sendData(_local1); } public function clearAllSelecetdText():void{ var _local1:int; while (_local1 < _pages.length) { _pages[_local1].clearSelecetdText(); _local1++; }; } public function showAllHotspots(_arg1:Boolean):void{ var _local2:int; while (_local2 < _pages.length) { _pages[_local2].showAllHotspots(_arg1); _local2++; }; } public function enableHotspots(_arg1:Boolean):void{ var _local2:int; while (_local2 < _pages.length) { _pages[_local2].enableHotspots(_arg1); _local2++; }; } public function onScrollVertical(_arg1:Number):void{ _holder.y = -(_arg1); reArrangeAccessibility(); } private function zoomToSelectionArea(_arg1:MouseEvent=null):void{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; _bIsMouseDown = false; if (_bIsSelectionAreaCreated){ _objZoomToData.topLeftX = ((_objZoomToData.topLeftX < _objZoomToData.bottomRightX)) ? _objZoomToData.topLeftX : _objZoomToData.bottomRightX; _objZoomToData.topLeftY = ((_objZoomToData.topLeftY < _objZoomToData.bottomRightY)) ? _objZoomToData.topLeftY : _objZoomToData.bottomRightY; _local2 = _holder.scaleX; _local3 = _holder.x; _local4 = _holder.y; _local5 = _sptZoomToSelectionArea.width; _local6 = _sptZoomToSelectionArea.height; _local7 = (_local5 / _local6); _local8 = _mask.width; _local9 = _mask.height; _local10 = 0; _local10 = ((_local7)>1) ? (_local8 / _local5) : (_local9 / _local6); zoom = (_local10 * _local2); _local11 = ((_objZoomToData.topLeftX - _local3) * _local10); _local12 = ((_objZoomToData.topLeftY - _local4) * _local10); _scrollbars.setScrollbars(_local11, _local12); _bIsZoomToLastAction = true; _sptZoomToSelectionArea.graphics.clear(); _bIsSelectionAreaCreated = false; Controller.instance.view.toolbar.activateZoomButtons(); Controller.instance.view.toolbar.deactivateZoomTo(); }; } public function showPage(_arg1:ByteArray, _arg2:Page):void{ var _local3:ContentPage; var _local4:int; if (_loadingPageIndex == -1){ _local4 = 0; while (_local4 < _pages.length) { _local3 = _pages[_local4]; if (_local3.page != null){ if (((Config.ENABLE_PAGE_FLIP) && ((_local4 == 0)))){ PageFlipHandler.instance.destroy(); if (!Controller.instance.view.toolbar.isPageCountSwitched()){ PageFlipHandler.instance.setPreviousPages(_pages); } else { PageFlipHandler.instance.setPreviousPages(null); Controller.instance.view.toolbar.onSwitchPageCount(false); _bAutoTurn = false; }; }; }; _local3.unloadPage(); _local4++; }; }; _local3 = _pages[++_loadingPageIndex]; _local3.showPage(_arg1, _arg2); } public function get customCursor():String{ return (_strCustomCursor); } public function onShowPage():void{ var _local3:Number; var _local4:Boolean; var _local5:int; var _local6:int; var _local7:ContentPage; var _local8:DisplayObject; var _local9:Sprite; var _local1:Controller = Controller.instance; var _local2:Model = _local1.model; if (_loadingPageIndex < (_pages.length - 1)){ _local1.loadPage((_local2.pageIndex + 1), false); } else { _loadingPageIndex = -1; _local3 = 0; _local4 = (Controller.instance.model.ebook.edition == "student"); _local5 = 0; while (_local5 < _pages.length) { _local7 = _pages[_local5]; _local8 = _local7.instance; _local8.x = _local3; if (_local4){ _local3 = (_local3 + Controller.instance.model.configManager.pageWidthSE); } else { _local3 = (_local3 + Controller.instance.model.configManager.pageWidthTE); }; _local5++; }; if (_arrOldPages.length >= pageCount){ saveObject(); _arrOldPages = null; _arrOldPages = new Array(); }; _arrOldPages = new Array(); _local6 = 0; while (_local6 < _pages.length) { if (_pages[_local6].page != null){ _arrOldPages.push(_pages[_local6].page); }; _local6++; }; updateScrollbars(); restPageAudioController(); Controller.instance.view.toolbar.playAnimation(false); Controller.instance.onShowContent(); if (_local2.blnTestMode == true){ createTestMode(); showTestModeHighligted(); }; if (Config.ACCESSIBILITY){ setSRContent(); }; if (Config.BUTTON_EDITION){ _local9 = Controller.instance.view.toolbar.edition; if (((_local9.visible) && (!(_local2.bEnableEditionAlways)))){ editionSwitchHandler(_local9.getChildByName("btnStudent").visible); }; }; if (((Config.PLAY_AUDIO_ON_START) && (!(_bAutoTurn)))){ Controller.instance.pageAudioController.playFirstAudio(); }; if (Config.ENABLE_PAGE_FLIP){ PageFlipHandler.instance.gotoPage(_pages, pageCount, _bAutoTurn); _bAutoTurn = true; }; }; Controller.instance.view.toolbar.pageTextFocus = true; } public function get popupContentHolder():Sprite{ return (_sptPopupContent); } public function updatePageScale(_arg1:Boolean):void{ var _local2:ConfigManager = Controller.instance.model.configManager; if (_arg1){ _holder.scaleX = (_holder.scaleY = _local2.pageScaleTE); } else { _holder.scaleX = (_holder.scaleY = _local2.pageScaleSE); }; updateScrollbars(); } private function editionSwitchHandler(_arg1:Boolean):void{ var _local5:Number; var _local2:Controller = Controller.instance; var _local3:Model = _local2.model; var _local4:Boolean; var _local6:Number = _local3.pageIndex; if (pageCount == 2){ _local5 = _local3.translatePage((_local6 - 1), _arg1); if (((!(isNaN(_local5))) && (!((_local5 == 0))))){ _local5 = _local3.translatePage(_local6, _arg1); }; } else { _local5 = _local3.translatePage(_local6, _arg1); }; if (((isNaN(_local5)) || ((_local5 == 0)))){ _local4 = false; }; enableEdition(_local4); } public function saveGlobalNotesData(_arg1:Array):void{ var _local5:MovieClip; var _local6:Sprite; var _local7:Sprite; var _local2:Object = new Object(); var _local3:uint = _arg1.length; var _local4:uint; while (_local4 < _local3) { _local5 = new MovieClip(); _local5.graphics.clear(); _local5.graphics.lineStyle(1, 0, 0); _local5.graphics.beginFill(0xFFFFFF, 0); _local5.graphics.drawRect(0, 0, _arg1[_local4].width, _arg1[_local4].height); _local5.graphics.endFill(); if (((!((Config.DRAW == null))) && (!((_arg1[_local4].drawingCanvas == null))))){ _local6 = new Sprite(); _local6.mouseEnabled = false; _local6.mouseChildren = false; _local6.name = "sptShapeContainer"; _local6.visible = _arg1[_local4].visible; _local5.addChild(_local6); _local7 = new Sprite(); _local7.graphics.beginFill(0xFF0000, 0); _local7.graphics.drawRect(0, 0, _local5.width, _local5.height); _local7.mouseEnabled = false; _local5.mask = _local7; _arg1[_local4].drawingCanvasMask = _local7; if (_arg1[_local4].drawingCanvas != ""){ _local6.addChild(DrawTool.getInstance().decode(_arg1[_local4].drawingCanvas, _local5, _arg1[_local4].width, _arg1[_local4].height)); }; if (_local4 == 0){ DrawTool.getInstance().globalNotesVisible = _arg1[_local4].visible; }; }; _arg1[_local4].drawingCanvas = _local5; _local4++; }; GlobalNotesPageList.getInstance().createExistingNotes(_arg1); } private function handleScrollBarVisibility():void{ if (((!((Config.PAGE_SCROLLBAR_DATA == null))) && (!((Config.PAGE_SCROLLBAR_DATA.visibility == null))))){ _scrollbars.visible = Config.PAGE_SCROLLBAR_DATA.visibility; }; } public function createTestMode():void{ var _local1:int; while (_local1 < _pages.length) { _pages[_local1].createTestMode(); _local1++; }; } public function getAccesibleItems():Array{ var _local9:Array; var _local10:Number; var _local11:Object; var _local1:Array = new Array(); var _local2:Array = new Array(); var _local3:Number = 0; var _local4:Number = 0; var _local5:int; while (_local5 < _pages.length) { _local9 = _pages[_local5].arrayTabHotSpot; _local10 = 0; while (_local10 < _local9.length) { _local9[_local10].tabIndex = (_local9[_local10].tabIndex + _local3); _local11 = _local9[_local10].item; if (_local11.hitTestObject(_mask)){ _local2.push(_local9[_local10]); }; _local10++; }; _local3 = (_local3 + _local9.length); _local5++; }; if (_local2.length > 0){ _local4 = (_local2[(_local2.length - 1)].tabIndex + _local3); } else { _local4 = 1; }; _local1 = _local1.concat(_local2); var _local6:Array = _scrollbars.verticalScroll.accessibleButtons; _local6 = _local6.concat(_scrollbars.horizontalScroll.accessibleButtons); var _local7:Array = ["scroll up", "scroll down", "scroll left", "scroll right"]; var _local8:int; while (_local8 < _local6.length) { var _temp1 = _local4; _local4 = (_local4 + 1); _local1.push({item:_local6[_local8], tabIndex:_temp1, shortcut:"", alt:_local7[_local8]}); _local8++; }; return (_local1); } public function createZoomToArea():void{ var _local1:Sprite = (getChildByName("mcZoomToArea") as Sprite); _sptZoomToArea = new Sprite(); _sptZoomToArea.name = "sptZoomToArea"; addChild(_sptZoomToArea); var _local2:Sprite = (instance as Sprite); _local2.setChildIndex(_sptZoomToArea, 0); _sptZoomToArea.graphics.beginFill(0xFF, 0); _sptZoomToArea.graphics.drawRect(0, 0, _mask.width, _mask.height); } public function showTestModeHighligted():void{ Controller.instance.tracer("showTestModeHighligted===="); var _local1:int; while (_local1 < _pages.length) { _pages[_local1].showHotSpotArea(_blnShowTestMode); _local1++; }; } public function set pageCount(_arg1:int):void{ var _local4:ContentPage; var _local2:Controller = Controller.instance; var _local3:Model = _local2.model; if (_arg1 == 1){ if (_pages.length == 2){ _local4 = _pages.pop(); _local4.unloadPage(); _holder.removeChild(_local4.instance); _local2.loadPage((_local3.pageIndex - 1), true, true); }; } else { if (_arg1 == 2){ if (_pages.length == 1){ addPage(); _loadingPageIndex = -1; _local2.loadPage(_local3.pageIndex, true, true); }; }; }; } public function activateZoomTo(_arg1:Boolean):void{ if (_arg1){ _sptZoomToCursor = new ZoomToCursor(); _sptZoomToCursor.name = "sptZoomToCursor"; Controller.instance.addChild(_sptZoomToCursor); _objStage = Controller.instance.stage; moveZoomToCursor(); _objZoomToData.bCreateSelectionArea = false; _objStage.addEventListener(MouseEvent.MOUSE_DOWN, initZoomSelectionArea); _objStage.addEventListener(MouseEvent.MOUSE_MOVE, completeZoomSelectionArea); } else { _objStage.removeEventListener(MouseEvent.MOUSE_DOWN, initZoomSelectionArea, false); _objStage.removeEventListener(MouseEvent.MOUSE_MOVE, completeZoomSelectionArea, false); _objStage.removeEventListener(MouseEvent.MOUSE_UP, zoomToSelectionArea, false); if (Controller.instance.getChildByName("sptZoomToCursor") != null){ Controller.instance.removeChild(_sptZoomToCursor); }; _sptZoomToCursor = null; if (getChildByName("sptZoomToSelectionArea") != null){ removeChild(_sptZoomToSelectionArea); }; _objZoomToData.bCreateSelectionArea = false; _bIsMouseDown = false; }; } public function copySelectedText():void{ var _local1:int; while (_local1 < _pages.length) { _pages[_local1].copySelectedText(); _local1++; }; } public function set currentCustomCursor(_arg1:String):void{ _strCustomCursor = _arg1; } public function unloadBook():void{ var _local1:ContentPage; var _local2:int; if (_loadingPageIndex == -1){ _local2 = 0; while (_local2 < _pages.length) { _local1 = _pages[_local2]; _local1.unloadPage(); _local2++; }; }; saveObject(); } private function createZoomToSelectionArea():void{ _objZoomToData.bottomRightX = instance.mouseX; _objZoomToData.bottomRightY = instance.mouseY; var _local1:Graphics = _sptZoomToSelectionArea.graphics; _local1.clear(); if (((((!((_objZoomToData.thicknessBorder == undefined))) && (!((_objZoomToData.colorBorder == undefined))))) && (!((_objZoomToData.alphaBorder == undefined))))){ _local1.lineStyle(_objZoomToData.thicknessBorder, _objZoomToData.colorBorder, _objZoomToData.alphaBorder); }; _local1.beginFill(_objZoomToData.colorFill, _objZoomToData.alphaFill); _local1.drawRect(_objZoomToData.topLeftX, _objZoomToData.topLeftY, (_objZoomToData.bottomRightX - _objZoomToData.topLeftX), (_objZoomToData.bottomRightY - _objZoomToData.topLeftY)); _local1.endFill(); _sptZoomToSelectionArea.mouseEnabled = false; _bIsSelectionAreaCreated = true; } public function initPageCount(_arg1:Boolean):void{ if (((Controller.instance.view.toolbar.blnSwitchVolume) && (Controller.instance.view.toolbar.maintainVolumeDisplayStatus))){ return; }; if (((_arg1) && (((!(Config.MAINTAIN_DISPLAY_STATUS)) || (!(Controller.instance.view.toolbar.blnSwitchEdition)))))){ pageCount = Controller.instance.model.configManager.pageCountTE; Controller.instance.view.toolbar.setPageViewBtnVisibility(Controller.instance.view.content.pageCount); } else { if (!Config.MAINTAIN_DISPLAY_STATUS){ pageCount = Controller.instance.model.configManager.pageCountSE; Controller.instance.view.toolbar.setPageViewBtnVisibility(Controller.instance.view.content.pageCount); }; }; } private function onPageTurned(_arg1:CustomEvent):void{ _bAutoTurn = _arg1.data.bAutoTurn; if (((Config.PLAY_AUDIO_ON_START) && (_bAutoTurn))){ Controller.instance.pageAudioController.playFirstAudio(); }; } public function enableDrawNotes():void{ var _local1:int; while (_local1 < _pages.length) { _pages[_local1].enableDrawNotes(); _local1++; }; } public function showHotspots():void{ var _local1:int; while (_local1 < _pages.length) { _pages[_local1].showHotspots(); _local1++; }; } public function setNotesTheme():void{ var _local4:Array; var _local5:int; var _local6:Array; var _local7:Sprite; var _local8:Number; var _local9:Sprite; var _local10:Sprite; var _local11:DisplayObject; var _local12:DisplayObject; var _local13:DisplayObject; var _local14:DisplayObject; var _local1:Array = new Array(); var _local2 = 1; var _local3:int; while (_local3 < _pages.length) { _local4 = _pages[_local3].notesArr; _local5 = _local4.length; _local6 = new Array(); if (Controller.instance.view.toolbar.themeHandler != null){ if (_pages[_local3].notesCursor != null){ _local7 = (_pages[_local3].notesCursor.getChildByName("mcNotesCursor") as Sprite); Controller.instance.view.toolbar.themeHandler.searchItems(_local7); }; }; if (_local5 > 0){ _local8 = 0; while (_local8 < _local5) { _local9 = (_local4[_local8].mcSprite as Sprite); _local10 = (_local9.getChildByName("textMc") as Sprite); _local11 = (_local9.getChildByName("btnNote") as DisplayObject); _local12 = (_local9.getChildByName("btnDelete") as DisplayObject); _local13 = (_local9.getChildByName("btnSave") as DisplayObject); if (_local9.getChildByName("btnPrint") != null){ _local14 = (_local9.getChildByName("btnPrint") as DisplayObject); }; if (Controller.instance.view.toolbar.themeHandler != null){ Controller.instance.view.toolbar.themeHandler.searchItems(_local10); Controller.instance.view.toolbar.themeHandler.searchItems(_local11); Controller.instance.view.toolbar.themeHandler.searchItems(_local12); Controller.instance.view.toolbar.themeHandler.searchItems(_local13); if (_local9.getChildByName("btnPrint") != null){ Controller.instance.view.toolbar.themeHandler.searchItems(_local14); }; }; _local8++; }; }; _local3++; }; } public function updateFreehandShapesData(_arg1:Array):void{ DrawTool.getInstance().updateFreehandShapesData(_arg1); } public function set zoom(_arg1:Number):void{ _holder.scaleX = (_holder.scaleY = _arg1); updateScrollbars(); } public function get holder():Sprite{ return (_holder); } private function updateScrollbars():void{ _holder.x = 0; var _local1:Number = _holder.width; var _local2:Number = _holder.height; var _local3:Model = Controller.instance.model; if (_local3.ebook.edition == "student"){ _local1 = ((Controller.instance.model.configManager.pageWidthSE * pages.length) * zoom); _local2 = (Controller.instance.model.configManager.pageHeightSE * zoom); } else { _local1 = ((Controller.instance.model.configManager.pageWidthTE * pages.length) * zoom); _local2 = (Controller.instance.model.configManager.pageHeightTE * zoom); }; var _local4:Number = _scrollbars.update((_local1 - _mask.width), (_local2 - _mask.height)); if (_local4 < 0){ _holder.x = (-(_local4) / 2); }; updateGrabTool(); } public function onHighlighterEvent(_arg1:Boolean):void{ var _local2:int; while (_local2 < _pages.length) { _pages[_local2].enableNotesSprite(!(_arg1)); _pages[_local2].onHighlighterEvent(!(_arg1)); _local2++; }; } private function enableEdition(_arg1:Boolean):void{ var _local5:Object; var _local2:Controller = Controller.instance; var _local3:Sprite = _local2.view.toolbar.edition; var _local4:Model = _local2.model; if (_arg1){ _local3.getChildByName("mcDisableEdition").visible = false; } else { _local5 = _local3.getChildByName("mcDisableEdition"); _local5.visible = true; if (_local4.edition == "teacher"){ _local5.getChildByName("mcDisableTeacher").visible = false; _local5.getChildByName("mcDisableStudent").visible = true; } else { _local5.getChildByName("mcDisableTeacher").visible = true; _local5.getChildByName("mcDisableStudent").visible = false; }; }; _local3.mouseEnabled = _arg1; _local3.mouseChildren = _arg1; _local3.tabEnabled = _arg1; _local3.tabChildren = _arg1; } public function get pageCount():int{ return (_pages.length); } public function get pages():Array{ var _local1:Array = new Array(); var _local2:int; while (_local2 < _pages.length) { _local1.push(_pages[_local2].page); _local2++; }; return (_local1); } public function toggleTestMode():void{ _blnShowTestMode = !(_blnShowTestMode); var _local1:int; while (_local1 < _pages.length) { _pages[_local1].showHotSpotArea(_blnShowTestMode); _local1++; }; } public function loadInterPageHotspot(_arg1:int, _arg2:int):void{ var _local3:uint = _pages.length; var _local4:uint; while (_local4 < _local3) { if (_pages[_local4].currentPageIndex == _arg1){ _pages[_local4].loadInterPageHotSpot(_arg2); break; }; _local4++; }; } public function activateTextSelection(_arg1:Boolean):void{ var _local2:int; while (_local2 < _pages.length) { _pages[_local2].activateTextSelection(_arg1); _local2++; }; } public function showCustomCursor(_arg1:Boolean):void{ if (_strCustomCursor != null){ switch (_strCustomCursor){ case "GRABBER": break; case "HIGHLIGHTER": HighlightHandler.instance.showHighCursor(_arg1); }; }; } public function disableDrawNotes():void{ var _local1:int; while (_local1 < _pages.length) { _pages[_local1].disableDrawNotes(); _local1++; }; } private function addPage():void{ var _local1:Sprite = new Sprite(); _local1.name = ("page_" + _pages.length); _holder.addChild(_local1); var _local2:Controller = Controller.instance; var _local3:Model = _local2.model; var _local4:ContentPage = new ContentPage(_local1); _pages.push(_local4); } public function updateNestedHotspotData(_arg1:uint, _arg2:Object=null):void{ var _local3:Object; if (_arrNestedHotSpot == null){ _arrNestedHotSpot = new Array(); }; if (_arg2 != null){ if (_arrNestedHotSpot[_arg1] == null){ _local3 = new Object(); _local3.objHotSpot = _arg2; _local3.bShowHotspot = true; _arrNestedHotSpot[_arg1] = _local3; } else { _arrNestedHotSpot[_arg1].objHotSpot = _arg2; }; } else { _arrNestedHotSpot[_arg1].bShowHotspot = !(_arrNestedHotSpot[_arg1].bShowHotspot); }; } public function get contentPages():Array{ return (_pages); } private function reArrangeAccessibility():void{ Controller.instance.initilizeAccesibility(AccessibilityConstants.CONTENT1_PAGEITEM); } public function onScrollHorizontal(_arg1:Number):void{ _holder.x = -(_arg1); reArrangeAccessibility(); } public function showTestModeClip(_arg1:Sprite, _arg2:Boolean):void{ var _local3:int; if (_blnShowTestMode){ _local3 = 0; while (_local3 < _pages.length) { _pages[_local3].showTestModeClip(_arg1, _arg2); _local3++; }; }; } public function enableContentItems(_arg1:Boolean):void{ var _local2:Boolean; var _local3:Array; var _local4:int; var _local5:int; var _local6:String; var _local7:DisplayObject; var _local8:Sprite; if (Config.RESTRICT_TOOLBAR != null){ _local2 = false; _local3 = Config.RESTRICT_TOOLBAR.arrAvailableItems; if (_local3 != null){ _local4 = _local3.length; if (_local4 > 0){ _local5 = 0; while (_local5 < _local4) { _local6 = _local3[_local5]; if (_local6 == Constants.CONTENT_SCROLLBARS){ _local2 = true; _local7 = (getContentObjectInstance(_local6) as DisplayObject); setItemEnabled(_holder, _arg1); if (_arg1 == false){ _arg1 = true; }; if (_local7 != null){ _local8 = (_local7 as Sprite); setItemEnabled(_local8, _arg1); }; return; }; _local5++; }; }; }; }; setEnabled(_arg1); } public function get zoom():Number{ return (_holder.scaleX); } public function updateGrabTool():void{ var _local1:Boolean; if (Config.BUTTON_GRABBER){ _local1 = ((_scrollbars.horizontalScroll.visible) || (_scrollbars.verticalScroll.visible)); if (_local1){ Controller.instance.view.toolbar.onHighLighter(null); Controller.instance.view.toolbar.onNotes(null); Grabber.instance.startProcess(); } else { Grabber.instance.stopProcess(); }; }; } public function getNestedHotspotData(_arg1:uint):Object{ if (_arrNestedHotSpot == null){ return (null); }; return (_arrNestedHotSpot[_arg1]); } private function completeZoomSelectionArea(_arg1:MouseEvent):void{ var _local2:Point; moveZoomToCursor(); if (((_objZoomToData.bCreateSelectionArea) && (_bIsMouseDown))){ _local2 = new Point(_objStage.mouseX, _objStage.mouseY); if (_sptZoomToArea.hitTestPoint(_local2.x, _local2.y, true)){ createZoomToSelectionArea(); } else { if (_bIsSelectionAreaCreated){ zoomToSelectionArea(); }; }; }; } private function initZoomSelectionArea(_arg1:MouseEvent):void{ var _local3:Sprite; var _local4:int; _bIsMouseDown = true; var _local2:Point = new Point(_objStage.mouseX, _objStage.mouseY); _bIsSelectionAreaCreated = false; if (_sptZoomToArea.hitTestPoint(_local2.x, _local2.y, true)){ _sptZoomToSelectionArea.graphics.clear(); _objZoomToData.colorFill = Config.ZOOM_TO_FEATURES.COLOR_SELECTION_FILL; _objZoomToData.alphaFill = Config.ZOOM_TO_FEATURES.ALPHA_SELECTION_FILL; _objZoomToData.blendFill = Config.ZOOM_TO_FEATURES.BLEND_SELECTION_FILL; _objZoomToData.colorBorder = Config.ZOOM_TO_FEATURES.COLOR_SELECTION_BORDER; _objZoomToData.alphaBorder = Config.ZOOM_TO_FEATURES.ALPHA_SELECTION_BORDER; _objZoomToData.thicknessBorder = Config.ZOOM_TO_FEATURES.THICKNESS_SELECTION_BORDER; _objZoomToData.topLeftX = instance.mouseX; _objZoomToData.topLeftY = instance.mouseY; addChild(_sptZoomToSelectionArea); _local3 = (instance as Sprite); _local4 = _local3.getChildIndex(_scrollbars.instance); _local3.setChildIndex(_sptZoomToSelectionArea, _local4); _local4 = _local3.getChildIndex(_scrollbars.instance); _objStage.addEventListener(MouseEvent.MOUSE_UP, zoomToSelectionArea); _objZoomToData.bCreateSelectionArea = true; } else { Controller.instance.view.toolbar.deactivateZoomTo(); }; } private function setSRContent():void{ var _local1:int; var _local2:int; var _local3:DisplayObject; var _local4:ContentPage; var _local5:DisplayObject; if (_SRContent != null){ _local1 = 0; while (_local1 < _pages.length) { _local3 = _SRContent.getChildByName(("page" + _local1)); if (_local3){ _SRContent.removeChild(_local3); }; _local1++; }; _local2 = 0; while (_local2 < _pages.length) { _local4 = _pages[_local2]; _local5 = (_local4.objDuplicateLoader as DisplayObject); _local5.width = 10; _local5.height = 10; _local5.name = ("page" + _local2); _local5.y = _SRContent.height; _local5.alpha = 0; _SRContent.addChild(_local5); _local2++; }; }; } public function initPageFliphandler():void{ var _local1:ConfigManager = Controller.instance.model.configManager; PageFlipHandler.instance.initialize(_holder, _local1.pageWidth, _local1.pageHeight); CustomEventDispatcher.getInstance().addEventListener(PageFlipHandler.PAGES_TURNED, onPageTurned, false, 0, true); } } }//package view
Section 191
//Content_ZoomToCursor (view.Content_ZoomToCursor) package view { import flash.display.*; import mx.core.*; public class Content_ZoomToCursor extends SpriteAsset { public var btnZoomIn:DisplayObject; public var mcThumb:DisplayObject; public var mcContent:DisplayObject; public var mc_thumb:DisplayObject; public var mc_X:DisplayObject; public var mc_O:DisplayObject; public var mc_J:DisplayObject; public var mc_Y:DisplayObject; public var btnSrchMinimized:DisplayObject; public var btnHTML:DisplayObject; public var btnUp:DisplayObject; public var mc_T:DisplayObject; public var mcIconAnim:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnBar:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var btnTeacher:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var btnIdle:DisplayObject; public var mcPatch:DisplayObject; public var mcBG:DisplayObject; public var bg:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var txtLink:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var btnOpen:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnLinkBg:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var btnState:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcThemeClip:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcDot:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_B:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mc_K:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_R:DisplayObject; public var mc_U:DisplayObject; public var mc_V:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_L:DisplayObject; public var mc_D:DisplayObject; public var mc_N:DisplayObject; public var mc_W:DisplayObject; public var mc_P:DisplayObject; public var mc_Q:DisplayObject; public var mc_S:DisplayObject; public var mc_C:DisplayObject; public var txtWord:DisplayObject; public var mcGlossaryImage:DisplayObject; } }//package view
Section 192
//ContentPage (view.ContentPage) package view { import controller.*; import flash.events.*; import flash.display.*; import model.*; import flash.utils.*; import flash.geom.*; import flash.accessibility.*; import flash.ui.*; import flash.text.*; import event.*; import view.AdvanceFeatures.GlobalNotes.*; import view.AdvanceFeatures.drawTool.*; import view.AdvanceFeatures.zoom.*; import flash.printing.*; import flash.system.*; import flash.filters.*; public class ContentPage extends WrappedDisplayObject { private var _pageIndex:String; private var _spLinkContainer:Sprite; private var _clickSpace:Sprite; private var _nIndex:Number; private var _loader:Loader; private var _bHotspotEnabled:Boolean;// = true private var _blnSelecting:Boolean; private var _iStartSelectionIndex:int; private var _blnDrggingNote:Boolean; private var _blnCallInitAltLan:Boolean; private var _page:Page; private var isContentInteractive:Boolean;// = false private var _scrollPane:CustomScrollPane; private var _arrNotesDetail:Array; private var _blnDisplaynotes:Boolean; private var _data:ByteArray; private var _txtSnapshot:TextSnapshot; private var _iEndSelectionIndex:int; private var arrTabbingHotSpot:Array; private var _drawContainer:Sprite; private var _highlighter:Sprite; private var pageNumber:Number; private var _duplicateLoader:Loader; private var pageCount:Number; private var _disableElements:Array; private var _blnDrawNotes:Boolean; private var _notesCursor:Sprite; private var _notesContainer:Sprite; private var arrNotes:Array; private var _hotspots:Sprite; private static var InActiveMode_1:Class = ContentPage_InActiveMode_1; private static var InActiveMode_2:Class = ContentPage_InActiveMode_2; private static var InActiveMode_4:Class = ContentPage_InActiveMode_4; private static var NOTES_CHECKBG_CONTROL:Object; private static var InActiveMode_5:Class = ContentPage_InActiveMode_5; private static var TestModeDisplay:Class = ContentPage_TestModeDisplay; private static var InActiveMode_3:Class = ContentPage_InActiveMode_3; private static var NotesIcon:Class = ContentPage_NotesIcon; private static var NOTES_DELETE_CONTROL:Object; private static var NotesCursor:Class = ContentPage_NotesCursor; private static var NOTES_SAVE_CONTROL:Object; private static var NOTES_PRINT_CONTROL:Object; public function ContentPage(_arg1:DisplayObject){ super(_arg1); _loader = new Loader(); _duplicateLoader = new Loader(); _hotspots = new Sprite(); _highlighter = new Sprite(); _clickSpace = new Sprite(); _notesContainer = new Sprite(); _drawContainer = new Sprite(); _spLinkContainer = new Sprite(); _drawContainer.blendMode = BlendMode.LAYER; _loader.name = "mcLoader"; _hotspots.name = "mcHotspotContainer"; _clickSpace.name = "mcClickSpace"; _highlighter.name = "mcHightlightSpace"; _drawContainer.name = "mcDrawContainer"; _spLinkContainer.name = "spLinkContainer"; addChild(_loader); addChild(_drawContainer); addChild(_clickSpace); addChild(_highlighter); addChild(_spLinkContainer); addChild(_hotspots); _drawContainer.mouseEnabled = false; addChild(_notesContainer); if (((Config.ACCESSIBILITY) && (Config.SCREEN_READER))){ addChild(_duplicateLoader); }; _nIndex = -1; _blnDrggingNote = false; arrNotes = new Array(); _blnCallInitAltLan = false; _blnDisplaynotes = true; _arrNotesDetail = new Array(); setNotesControlDetail(); _loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onShowPage, false, 0, true); _disableElements = [_drawContainer, _clickSpace, _highlighter, _hotspots, _notesContainer, _duplicateLoader]; CustomEventDispatcher.getInstance().addEventListener(CustomEvent.EDIT_MODE, editModeHandler); } public function get notesArr():Array{ return (arrNotes); } public function saveCurrentData():void{ var _local4:Sprite; var _local1:Array = new Array(); var _local2:uint = _notesContainer.numChildren; var _local3:uint; while (_local3 < _local2) { if (arrNotes[_local3].blnSaved == true){ _local4 = (_notesContainer.getChildAt(_local3) as Sprite); _local1.push({id:arrNotes[_local3].ID, xPos:_local4.x, yPos:_local4.y, txt:arrNotes[_local3].strText}); }; _local3++; }; _page.existingNotes = _local1; if (Config.DRAW != null){ DrawTool.getInstance().saveShapes(_drawContainer, _page.currentPageIndex); }; } public function get objDuplicateLoader():Loader{ return (_duplicateLoader); } private function onNotesTextKeyEvent(_arg1:KeyboardEvent):void{ var _local2:TextField; if ((((_arg1.keyCode == Keyboard.UP)) || ((_arg1.keyCode == Keyboard.DOWN)))){ _local2 = (_arg1.target as TextField); setScrollPaneVisibility(_local2); }; } public function get currentPageIndex():int{ return (_page.currentPageIndex); } private function stopTextSelection(_arg1:MouseEvent):void{ keepSelectingText(_arg1); _blnSelecting = false; } public function showAllHotspots(_arg1:Boolean):void{ _hotspots.visible = _arg1; } private function setNoteTextFormat(_arg1:TextField):void{ var _local4:String; var _local2:TextFormat = _arg1.defaultTextFormat; var _local3:Object = Controller.instance.model.configManager.notesData.formatting; for (_local4 in _local3) { _local2[_local4] = _local3[_local4]; }; _arg1.defaultTextFormat = _local2; } public function drawExistingNotes():void{ var _local3:Array; var _local4:Number; var _local5:Number; var _local6:Object; var _local7:Number; var _local8:Number; var _local9:String; var _local10:String; var _local11:Object; var _local12:Sprite; var _local13:Number; var _local14:Object; var _local15:ConfigManager; var _local16:Sprite; var _local17:DisplayObject; var _local18:DisplayObject; var _local19:DisplayObject; var _local20:DisplayObject; var _local1:Controller = Controller.instance; var _local2:Model = _local1.model; if (_page.blnSetValues){ _local3 = _page.existingNotes; if (_local3 != null){ _blnDrawNotes = false; _local4 = _local3.length; _page.visible = false; _local5 = 0; while (_local5 < _local4) { _local6 = _local3[_local5]; _local7 = _local6.xPos; _local8 = _local6.yPos; _local9 = _local6.txt; _local10 = _local6.id; if (!_blnDrawNotes){ removeUnsavedNotes(); closePreviousNotes(); _blnDisplaynotes = false; _local11 = new Object(); _local12 = new NotesIcon(); _local12.x = _local7; _local12.y = _local8; _local13 = ((arrNotes.length)==0) ? 0 : (arrNotes[(arrNotes.length - 1)].nID + 1); _local12.name = ("mcNote_" + String(_local13)); _local14 = _local12.getChildByName("btnNote"); _local15 = Controller.instance.model.configManager; if ((_local12.x + _local14.width) >= (_local15.pageWidthSE - _notesCursor.width)){ _local12.x = ((_local15.pageWidthSE - _local14.width) - 3); }; _notesContainer.addChild(_local12); _local16 = (_local12.getChildByName("textMc") as Sprite); _local17 = (_local12.getChildByName("btnNote") as DisplayObject); _local18 = (_local12.getChildByName("btnDelete") as DisplayObject); _local19 = (_local12.getChildByName("btnSave") as DisplayObject); if (_local12.getChildByName("btnPrint") != null){ _local20 = (_local12.getChildByName("btnPrint") as DisplayObject); }; _local11.nID = _local13; _local11.ID = ((_page.currentPageIndex + "_") + _local13); _local11.mcSprite = _local12; _local11.blnSaved = true; _local11.strText = _local9; arrNotes.push(_local11); checkNotesPlacement(); _local17.addEventListener(MouseEvent.MOUSE_DOWN, dragNote, false, 0, true); _local17.addEventListener(MouseEvent.MOUSE_UP, stopDragNote, false, 0, true); _local17.addEventListener(MouseEvent.MOUSE_OUT, stopDragNote, false, 0, true); _local17.addEventListener(MouseEvent.ROLL_OVER, showNoteDetail, false, 0, true); _local17.addEventListener(MouseEvent.ROLL_OUT, hideNoteDetail, false, 0, true); _local18.addEventListener(MouseEvent.CLICK, deleteNote, false, 0, true); _local19.addEventListener(MouseEvent.CLICK, saveNote, false, 0, true); if (_local20 != null){ _local20.addEventListener(MouseEvent.CLICK, printNote, false, 0, true); }; _local12.getChildByName("txtDisplay").visible = false; setNotesTextProperty(MovieClip(_local16), _local9); _local16.visible = false; _local19.visible = false; _local18.visible = false; if (_local20 != null){ _local20.visible = false; }; }; _local5++; }; saveExistingNote(); }; }; } private function saveNote(_arg1:MouseEvent):void{ var _local2:Controller; var _local3:Model; var _local4:Number; var _local5:Array; var _local6:Array; var _local7:Number; var _local8:MovieClip; var _local9:TextField; var _local10:String; var _local11:Number; var _local12:Sprite; if (_blnDrawNotes){ _local2 = Controller.instance; _local3 = _local2.model; _local4 = currentPageIndex; _local5 = _local3.arrNotes; _local6 = new Array(); _local7 = 0; while (_local7 < arrNotes.length) { if (arrNotes[_local7].blnSaved == true){ _local6.push(arrNotes[_local7]); }; _local7++; }; _local8 = (_arg1.currentTarget.parent.getChildByName("textMc").getChildByName("mcNotesText") as MovieClip); _local9 = ((_local8)==null) ? (_arg1.currentTarget.parent.getChildByName("textMc").getChildByName("txtInput") as TextField) : TextField(_local8.getChildByName("txtInput")); _local10 = _arg1.currentTarget.parent.name; _local11 = getNotesIndex(_local10); _local6.push(arrNotes[_local11]); arrNotes[_local11].blnSaved = true; arrNotes[_local11].strText = _local9.text; _local5[_local4] = _local6; _arg1.currentTarget.parent.getChildByName("textMc").visible = false; _arg1.currentTarget.parent.getChildByName("btnDelete").visible = false; _arg1.currentTarget.parent.getChildByName("btnSave").visible = false; if (_arg1.currentTarget.parent.getChildByName("mcCheckBg") != null){ _local12 = (_arg1.currentTarget.parent.getChildByName("mcCheckBg") as Sprite); _local12.visible = false; }; if (_arg1.currentTarget.parent.getChildByName("btnPrint") != undefined){ _arg1.currentTarget.parent.getChildByName("btnPrint").visible = false; }; _arg1.updateAfterEvent(); }; } public function enableHotspots(_arg1:Boolean):void{ _hotspots.mouseChildren = _arg1; _bHotspotEnabled = _arg1; } private function onShowPage(_arg1:Event):void{ var _local11:AccessibilityProperties; var _local2:Controller = Controller.instance; _blnDrawNotes = false; createHotSpots(); Controller.instance.view.content.onShowPage(); var _local3:String = Capabilities.os.toLowerCase(); var _local4:Number = _local3.indexOf("mac"); if (_local4 == -1){ _local11 = new AccessibilityProperties(); _local11.description = ""; _local11.silent = true; _local11.noAutoLabeling = true; _loader.accessibilityProperties = _local11; if (Capabilities.hasAccessibility){ Accessibility.updateProperties(); }; }; var _local5:Object = _local2.view.toolbar.getObject(TBConsts.BTN_HIGHLIGHTER); _local5.setState(CustomButton.STATE_NORMAL); var _local6:Object = _local2.view.toolbar.getObject(TBConsts.BTN_NOTES); _local6.setState(CustomButton.STATE_NORMAL); _local2.view.toolbar.disableNotesBtn(); _local2.view.toolbar.onEditMode(false); if (Config.DRAW != null){ DrawTool.getInstance().removeShape(_drawContainer); }; if (Config.BUTTON_HIGHLIGHTER){ HighlightHandler.instance.initialize(Controller.instance.model.pageIndex, Controller.instance.view.content.pageCount); if (_page.blnSetValues){ showCurrentHIghlights(); }; }; arrNotes = new Array(); _notesCursor = new NotesCursor(); _notesCursor.name = "NotesCursor"; _notesCursor.visible = false; _notesCursor.mouseEnabled = false; _notesCursor.mouseChildren = false; drawExistingNotes(); showNotes(); if (Config.BUTTON_SHOWHOTSPOT){ showHotspots(); }; showInactiveIcons(); var _local7:Model = _local2.model; if (Config.PAGE_BOUNDRY == 1){ _clickSpace.graphics.lineStyle(1); }; _drawContainer.graphics.clear(); _drawContainer.graphics.beginFill(0xFF0000, 0); _clickSpace.graphics.beginFill(0xFF0000, 0); _spLinkContainer.graphics.beginFill(0xFF0000, 0); _spLinkContainer.mouseEnabled = false; var _local8:ConfigManager = Controller.instance.model.configManager; if (_local7.ebook.edition == "student"){ _clickSpace.graphics.drawRect(0, 0, _local8.pageWidthSE, _local8.pageHeightSE); _drawContainer.graphics.drawRect(0, 0, _local8.pageWidthSE, _local8.pageHeightSE); _spLinkContainer.graphics.drawRect(0, 0, _local8.pageWidthSE, _local8.pageHeightSE); } else { _clickSpace.graphics.drawRect(0, 0, _local8.pageWidthTE, _local8.pageHeightTE); _drawContainer.graphics.drawRect(0, 0, _local8.pageWidthTE, _local8.pageHeightTE); _spLinkContainer.graphics.drawRect(0, 0, _local8.pageWidthTE, _local8.pageHeightTE); }; if (Config.PAGE_SHADOW_DATA != null){ applyShadow(Config.PAGE_SHADOW_DATA); }; if (((((_blnCallInitAltLan) && (Config.ENABLE_ALTERNATE_LANGUAGE))) && (!(_local7.isStandalone)))){ _local2.onInitAtlernateLanguagePage(); }; if (Config.DRAW != null){ DrawTool.getInstance().showExistingShape(Controller.instance.model.pageIndex, _drawContainer); }; var _local9:Content = Controller.instance.view.content; if (_local9.isZoomToLastAction){ if (Config.ZOOM_TO_FEATURES.MAINTAIN_DISPLAY_STATUS != true){ if (Controller.instance.model.ebook.edition == "student"){ _local9.zoom = Controller.instance.model.configManager.pageScaleSE; } else { _local9.zoom = Controller.instance.model.configManager.pageScaleTE; }; Controller.instance.view.toolbar.updateZoomDisplay(); }; _local9.isZoomToLastAction = false; }; loadInterPageHotSpot(); var _local10:Object = Controller.instance.view.content.getNestedHotspotData(currentPageIndex); if (((!((_local10 == null))) && (!(_local10.bShowHotspot)))){ _local10.objHotSpot.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); Controller.instance.view.content.updateNestedHotspotData(currentPageIndex); }; } public function showPage(_arg1:ByteArray, _arg2:Page):void{ unloadPage(); _page = _arg2; _blnCallInitAltLan = false; _loader.loadBytes(_arg1); _duplicateLoader.loadBytes(_arg1); _data = _arg1; if (_arg2.contentType != undefined){ isContentInteractive = true; disablePageElements(_disableElements); } else { isContentInteractive = false; }; } public function unloadPage():void{ var _local2:Sprite; var _local3:Sprite; var _local4:DisplayObject; var _local5:DisplayObject; var _local6:DisplayObject; var _local7:DisplayObject; var _local8:MovieClip; var _local9:TextField; var _local10:Number; if (_page != null){ _loader.unload(); }; var _local1:Array = new Array(); while (_hotspots.numChildren > 0) { _hotspots.removeChildAt(0); }; if (Controller.instance.view.addLinkPanel != null){ Controller.instance.view.addLinkPanel.removeAllLinks(_spLinkContainer); }; if (_page != null){ if (Config.DRAW != null){ DrawTool.getInstance().saveShapes(_drawContainer, _page.currentPageIndex); }; _page.existingNotes = null; }; if (Config.DRAW != null){ Controller.instance.view.toolbar.deActivateFreehandTool(); }; Controller.instance.view.toolbar.onAddLinkClick(null); while (_notesContainer.numChildren > 0) { _local2 = (_notesContainer.getChildAt(0) as Sprite); _local3 = (_local2.getChildByName("textMc") as Sprite); _local4 = (_local2.getChildByName("btnNote") as DisplayObject); _local5 = (_local2.getChildByName("btnDelete") as DisplayObject); _local6 = (_local2.getChildByName("btnSave") as DisplayObject); if (_local2.getChildByName("btnPrint") != null){ _local7 = (_local2.getChildByName("btnPrint") as DisplayObject); }; _local4.removeEventListener(MouseEvent.MOUSE_DOWN, dragNote, false); _local4.removeEventListener(MouseEvent.MOUSE_UP, stopDragNote, false); _local4.removeEventListener(MouseEvent.MOUSE_OUT, stopDragNote, false); _local4.removeEventListener(MouseEvent.ROLL_OVER, showNoteDetail, false); _local4.removeEventListener(MouseEvent.ROLL_OUT, hideNoteDetail, false); _local5.removeEventListener(MouseEvent.CLICK, deleteNote, false); _local6.removeEventListener(MouseEvent.CLICK, saveNote, false); if (_local7 != null){ _local7.removeEventListener(MouseEvent.CLICK, printNote, false); }; _local8 = (_local3.getChildByName("mcNotesText") as MovieClip); _local9 = ((_local8)==null) ? (_local3.getChildByName("txtInput") as TextField) : (_local8.getChildByName("txtInput") as TextField); if (arrNotes[0].blnSaved == true){ _local1.push({id:arrNotes[0].ID, xPos:_local2.x, yPos:_local2.y, txt:arrNotes[0].strText}); }; _page.existingNotes = _local1; _notesContainer.removeChildAt(0); arrNotes.splice(0, 1); _local10 = _page.currentPageIndex; }; while (_clickSpace.numChildren > 0) { _clickSpace.removeChildAt(0); }; _page = null; disableDrawNotes(); activateTextSelection(false); instance.filters = null; } private function saveExistingNote():void{ var _local1:Controller; var _local2:Model; var _local3:Number; var _local4:Array; var _local5:Array; var _local6:Number; if (!_blnDrawNotes){ _local1 = Controller.instance; _local2 = _local1.model; _local3 = currentPageIndex; _local4 = _local2.arrNotes; _local5 = new Array(); _local6 = 0; while (_local6 < arrNotes.length) { _local5.push(arrNotes[_local6]); _local6++; }; _local4[_local3] = _local5; }; } public function get pageViewNumber():String{ return (this.instance.name.split("_")[1]); } private function onNotesTxtChange(_arg1:Event):void{ var _local4:String; var _local5:int; var _local2:TextField = (_arg1.target as TextField); if (Config.NUMBER_MAX_LINES_NOTES > 0){ if (_local2.numLines > Config.NUMBER_MAX_LINES_NOTES){ _local4 = ""; _local5 = 0; while (_local5 < Config.NUMBER_MAX_LINES_NOTES) { _local4 = (_local4 + _local2.getLineText(_local5)); _local5++; }; _local2.text = _local4; }; }; var _local3:MovieClip = (_local2.parent as MovieClip); setScrollPaneVisibility(_local2); } private function printNote(_arg1:MouseEvent):void{ var _local2:Controller = Controller.instance; var _local3:Sprite = new Sprite(); var _local4:TextField = new TextField(); var _local5:TextField = ((_arg1.currentTarget.parent.textMc.mcNotesText)==null) ? _arg1.currentTarget.parent.textMc.txtInput : _arg1.currentTarget.parent.textMc.mcNotesText.txtInput; _local4.text = _local5.text; _local4.multiline = true; _local4.wordWrap = true; _local4.width = _local5.width; _local4.autoSize = TextFieldAutoSize.LEFT; _local3.addChild(_local4); var _local6:PrintJob = new PrintJob(); var _local7:Boolean = _local6.start(); if (_local7){ _local6.addPage(_local3); _local6.send(); }; } private function dragNote(_arg1:MouseEvent):void{ var _local2:Rectangle; var _local3:ConfigManager; var _local4:Number; var _local5:Number; if (_blnDrawNotes){ closePreviousNotes(); _local3 = Controller.instance.model.configManager; _local4 = 0; _local5 = 0; if (Controller.instance.model.ebook.edition == "student"){ _local4 = ((_local3.pageWidthSE - _arg1.currentTarget.width) - 5); _local5 = (_local3.pageHeightSE - _arg1.currentTarget.height); } else { _local4 = ((_local3.pageWidthTE - _arg1.currentTarget.width) - 5); _local5 = (_local3.pageHeightTE - _arg1.currentTarget.height); }; _local2 = new Rectangle(0, 0, _local4, _local5); _arg1.currentTarget.parent.startDrag(false, _local2); _blnDrggingNote = true; }; } private function setNotesTextProperty(_arg1:MovieClip, _arg2:String=""):void{ var _local5:TextField; var _local3:ConfigManager = Controller.instance.model.configManager; var _local4:MovieClip = (_arg1.getChildByName("mcNotesText") as MovieClip); if (_local4 != null){ _local5 = (_local4.getChildByName("txtInput") as TextField); _local5.text = _arg2; if (((!((_local3.notesData == null))) && (_local3.notesData.vScrollBar))){ addScrollPane(MovieClip(_arg1)); }; } else { _local5 = (_arg1.getChildByName("txtInput") as TextField); _local5.text = _arg2; }; if (_local3.notesData != null){ if (_local3.notesData.formatting != null){ setNoteTextFormat(_local5); }; if (_local3.notesData.maxChar != null){ _local5.maxChars = _local3.notesData.maxChar; }; }; } private function setScrollPaneVisibility(_arg1:TextField):void{ var _local3:MovieClip; var _local4:CustomScrollPane; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:int; var _local10:Number; var _local11:String; var _local2:MovieClip = (_arg1.parent as MovieClip); if (_local2.name == "mcNotesText"){ _local3 = (_local2.parent as MovieClip); _local4 = (_local3.getChildByName("scrollPane") as CustomScrollPane); if (_local4 != null){ _local4.source = _local2; _local5 = _arg1.caretIndex; _local6 = _arg1.numLines; _local7 = 0; _local8 = 0; _local9 = 0; while (_local9 < _local6) { _local11 = _arg1.getLineText(_local9); if ((((_local5 >= _local7)) && ((_local5 <= (_local7 + _local11.length))))){ _local8 = _local9; _local9 = _local6; } else { _local7 = (_local7 + _local11.length); }; _local9++; }; if (_local8 == 0){ _local10 = 0; } else { if ((_local8 + 2) == _local6){ _local10 = ((_arg1.bottomScrollV * 100) / _local6); } else { _local10 = (((_local8 + 1) * 100) / _local6); }; }; _local4.setVerticalPosition(_local10); }; }; } private function showCursorForNotes(_arg1:MouseEvent):void{ Mouse.hide(); _notesCursor.visible = true; } private function deleteNote(_arg1:MouseEvent):void{ var _local2:String; var _local3:Number; var _local4:Sprite; var _local5:Sprite; var _local6:DisplayObject; var _local7:DisplayObject; var _local8:DisplayObject; var _local9:DisplayObject; var _local10:Controller; var _local11:Model; var _local12:Number; var _local13:Array; var _local14:Array; var _local15:int; if (_blnDrawNotes){ _local2 = _arg1.currentTarget.parent.name; _local3 = _local2.split("_")[1]; _local4 = (_arg1.currentTarget.parent as Sprite); _local5 = (_local4.getChildByName("textMc") as Sprite); _local6 = (_local4.getChildByName("btnNote") as DisplayObject); _local7 = (_local4.getChildByName("btnDelete") as DisplayObject); _local8 = (_local4.getChildByName("btnSave") as DisplayObject); if (_local4.getChildByName("btnPrint") != null){ _local9 = (_local4.getChildByName("btnPrint") as DisplayObject); }; _local6.removeEventListener(MouseEvent.MOUSE_DOWN, dragNote, false); _local6.removeEventListener(MouseEvent.MOUSE_UP, stopDragNote, false); _local6.removeEventListener(MouseEvent.MOUSE_OUT, stopDragNote, false); _local6.removeEventListener(MouseEvent.ROLL_OVER, showNoteDetail, false); _local6.removeEventListener(MouseEvent.ROLL_OUT, hideNoteDetail, false); _local7.removeEventListener(MouseEvent.CLICK, deleteNote, false); _local8.removeEventListener(MouseEvent.CLICK, saveNote, false); if (_local9 != null){ _local9.removeEventListener(MouseEvent.CLICK, printNote, false); }; _notesContainer.removeChild(_arg1.currentTarget.parent); arrNotes.splice(getNotesIndex(_local2), 1); _local10 = Controller.instance; _local11 = _local10.model; _local12 = currentPageIndex; _local13 = _local11.arrNotes; _local14 = _local13[_local12]; if (_local14 != null){ _local15 = 0; while (_local15 < _local14.length) { if (_local3 == _local14[_local15].ID.split("_")[1]){ _local14.splice(_local15, 1); }; _local15++; }; }; }; } public function selectText(_arg1:int, _arg2:int):void{ if (_txtSnapshot != null){ if (_arg1 <= _arg2){ _txtSnapshot.setSelected(_arg1, _arg2, true); } else { _txtSnapshot.setSelected(_arg2, _arg1, true); }; }; } public function checkNotesPlacement():void{ var _local2:Sprite; var _local3:Sprite; var _local4:TextField; var _local5:DisplayObject; var _local6:DisplayObject; var _local7:DisplayObject; var _local8:Sprite; var _local9:DisplayObject; var _local10:Sprite; var _local11:ConfigManager; var _local12:Boolean; var _local1:Number = 0; while (_local1 < arrNotes.length) { _local2 = arrNotes[_local1].mcSprite; _local3 = (_local2.getChildByName("textMc") as Sprite); _local4 = (_local2.getChildByName("txtDisplay") as TextField); _local5 = (_local2.getChildByName("btnNote") as DisplayObject); _local6 = (_local2.getChildByName("btnDelete") as DisplayObject); _local7 = (_local2.getChildByName("btnSave") as DisplayObject); _local8 = (_local3.getChildByName("mcNotesBG") as Sprite); _local4.y = 0; _local4.text = ""; if (_local8 == null){ _local8 = _local3; }; if (_local2.getChildByName("btnPrint") != null){ _local9 = (_local2.getChildByName("btnPrint") as DisplayObject); }; if (_local2.getChildByName("mcCheckBg") != null){ _local10 = (_local2.getChildByName("mcCheckBg") as Sprite); }; _local11 = Controller.instance.model.configManager; _local12 = ((_local2.getChildByName("mcCheckBg"))!=null) ? true : false; if (_local2.x > (_local11.pageWidth - _local2.width)){ _local3.x = ((_local5.x - _local3.width) + 10); if (_local12){ } else { _local6.x = (_local5.x - 175); _local7.x = (_local5.x - 245); if (_local9 != null){ _local9.x = (_local5.x - 108); }; }; _local4.x = ((_local5.x - _local4.width) + 10); } else { _local3.x = (_local5.x + 10); if (_local12){ } else { _local7.x = (_local5.x + 175); _local6.x = (_local5.x + 245); if (_local9 != null){ _local9.x = (_local5.x + 108); }; _local4.x = (_local5.x + 15); }; }; if (_local2.y < (_local2.height - (_local3.height - _local8.height))){ _local3.y = (_local5.y + _local5.height); if (_local12){ } else { _local7.y = (_local5.y + 286); _local6.y = (_local5.y + 286); if (_local9 != null){ _local9.y = (_local5.y + 286); }; }; } else { _local3.y = (_local5.y - _local8.height); if (_local12){ } else { _local7.y = (_local5.y - 24); _local6.y = (_local5.y - 24); if (_local9 != null){ _local9.y = (_local5.y - 24); }; }; }; if (_local12){ _local7.x = (NOTES_SAVE_CONTROL.xPos + _local3.x); _local7.y = (NOTES_SAVE_CONTROL.yPos + _local3.y); _local6.x = (NOTES_DELETE_CONTROL.xPos + _local3.x); _local6.y = (NOTES_DELETE_CONTROL.yPos + _local3.y); if (_local9 != null){ _local9.x = (NOTES_PRINT_CONTROL.xPos + _local3.x); }; if (_local9 != null){ _local9.y = (NOTES_PRINT_CONTROL.yPos + _local3.y); }; if (_local10 != null){ _local10.x = (NOTES_CHECKBG_CONTROL.xPos + _local3.x); }; if (_local10 != null){ _local10.y = (NOTES_CHECKBG_CONTROL.yPos + _local3.y); }; }; _local1++; }; if (Config.CHANGE_ITEMS_THEME != null){ Controller.instance.view.content.setNotesTheme(); }; } private function addScrollPane(_arg1:MovieClip):void{ var _local2:MovieClip = (_arg1.getChildByName("mcNotesText") as MovieClip); var _local3:TextField = (_local2.getChildByName("txtInput") as TextField); var _local4:CustomScrollPane = new CustomScrollPane(); _arg1.addChild(_local4); _local4.x = _local2.x; _local4.y = _local2.y; _local4.name = "scrollPane"; _local4.height = _local2.height; _local4.width = _local2.width; _local3.width = (_local4.width - (_local4.vScrollBar.width + 1)); _local3.autoSize = TextFieldAutoSize.LEFT; _local4.horizontalScrollPolicy = CustomScrollPane.OFF; _local4.source = _local2; _local3.addEventListener(KeyboardEvent.KEY_UP, onNotesTextKeyEvent); _local3.addEventListener(KeyboardEvent.KEY_DOWN, onNotesTextKeyEvent); } private function keepSelectingText(_arg1:MouseEvent):void{ if (!_blnSelecting){ return; }; var _local2:Number = _txtSnapshot.hitTestTextNearPos(_arg1.localX, _arg1.localY, 10); if (_local2 < 0){ return; }; if (_local2 == _iEndSelectionIndex){ return; }; _iEndSelectionIndex = _local2; Controller.instance.view.content.clearAllSelecetdText(); if (_iStartSelectionIndex > 0){ if (_iStartSelectionIndex <= _iEndSelectionIndex){ _txtSnapshot.setSelected(_iStartSelectionIndex, (_iEndSelectionIndex + 1), true); } else { _txtSnapshot.setSelected(_iEndSelectionIndex, (_iStartSelectionIndex + 1), true); }; }; } public function get clickSpace():Sprite{ return (_clickSpace); } private function applyShadow(_arg1:Object):void{ var _local3:String; var _local4:Number; if (((!((_page.settings == null))) && ((_page.settings.shadowVisibility == false)))){ return; }; var _local2:DropShadowFilter = new DropShadowFilter(); for (_local3 in _arg1) { if (_local3 == "angle"){ _local4 = ((((Controller.instance.view.content.pageCount == 2)) && ((instance.name.split("_")[1] == "0")))) ? (180 - _arg1[_local3]) : _arg1[_local3]; _local2[_local3] = _local4; } else { _local2[_local3] = _arg1[_local3]; }; }; instance.filters = [_local2]; } private function stopDragNote(_arg1:MouseEvent):void{ var _local2:Sprite; var _local3:MovieClip; var _local4:TextField; var _local5:String; var _local6:Number; var _local7:Sprite; if (((_blnDrawNotes) && (_blnDrggingNote))){ _arg1.currentTarget.parent.stopDrag(); _blnDrggingNote = false; checkNotesPlacement(); _local2 = (_arg1.currentTarget.parent.getChildByName("textMc") as Sprite); _local2.visible = true; _local3 = (_local2.getChildByName("mcNotesText") as MovieClip); _local4 = ((_local3)==null) ? (_local2.getChildByName("txtInput") as TextField) : (_local3.getChildByName("txtInput") as TextField); _local5 = _arg1.currentTarget.parent.name; arrNotes[getNotesIndex(_local5)].strText = _local4.text; Controller.instance.view.instance.stage.focus = _local4; _local6 = _local4.text.length; _local4.setSelection(_local6, _local6); _arg1.currentTarget.parent.getChildByName("btnDelete").visible = true; _arg1.currentTarget.parent.getChildByName("btnSave").visible = true; if (_arg1.currentTarget.parent.getChildByName("mcCheckBg") != null){ _local7 = (_arg1.currentTarget.parent.getChildByName("mcCheckBg") as Sprite); _local7.visible = true; }; if (_arg1.currentTarget.parent.getChildByName("btnPrint") != null){ _arg1.currentTarget.parent.getChildByName("btnPrint").visible = true; }; }; } private function loadExternalLinks(_arg1:Hotspot):void{ var _local2:Object; if (_arg1.use_popup){ switch (_arg1.subtype){ case Hotspot.SUB_TYPE_PDF: _local2 = Config.POP_PDF_DIMENSIONS; break; case Hotspot.SUB_TYPE_DOC: _local2 = Config.POP_DOC_DIMENSIONS; break; case Hotspot.SUB_TYPE_HTML: _local2 = Config.POP_HTML_DIMENSIONS; break; case Hotspot.SUB_TYPE_INTERACTIVITY: _local2 = Config.POP_INTERACTIVITY_DIMENSIONS; break; default: _local2 = Config.POP_DEFAULT_DIMENSIONS; break; }; Controller.instance.loadURL(_arg1.path, "custom", _local2, false); } else { if (Config.CALLBACK_EXTERNAL_LINK){ Controller.instance.loadURL(_arg1.path, "normal", null, true); } else { if (_arg1.subtype == Hotspot.SUB_TYPE_ZOOM){ Zoom.getInstance().showZoom(null, _arg1, false); } else { Controller.instance.loadURL(_arg1.path, "normal", null, false, _arg1.currentWindowLocation); }; }; }; } public function createTestMode():void{ var _local3:Hotspot; var _local4:Array; var _local5:HSPoint; var _local6:HSPoint; var _local7:Sprite; var _local8:MovieClip; var _local9:MovieClip; var _local10:TextField; var _local11:Boolean; var _local12:ConfigManager; var _local1:Array = _page.hotspots; var _local2:int; while (_local2 < _local1.length) { _local3 = _local1[_local2]; _local4 = _local3.points; _local5 = _local4[0]; _local6 = _local4[1]; _local7 = new TestModeDisplay(); _local7.name = ("testmode_" + _local2); _local7.x = _local6.x; _local7.y = (_local5.y - _local7.width); _local8 = (_local7.getChildByName("mcCross") as MovieClip); _local9 = (_local7.getChildByName("mcShape") as MovieClip); _local9.width = Config.TEST_MODE_SHAPE_WIDTH; _local8.x = (_local9.x + _local9.width); _local8.y = _local9.y; _local10 = (_local7.getChildByName("txtInfo") as TextField); _local10.multiline = true; _local10.autoSize = "left"; _local10.mouseWheelEnabled = false; _local10.width = (_local9.width - _local8.width); _local11 = true; if ((((Math.abs((_local6.x - _local5.x)) <= 1)) || ((Math.abs((_local6.y - _local5.y)) <= 1)))){ _local11 = false; }; switch (_local3.type){ case Hotspot.TYPE_ADUIO: if ((((_local3.path == null)) || ((_local3.path == undefined)))){ _local10.text = "Path: No Path"; } else { _local10.text = ("Path: " + _local3.path); }; break; case Hotspot.TYPE_WEB: if ((((_local3.path == null)) || ((_local3.path == undefined)))){ _local10.text = "Path: No Path"; } else { _local10.text = ("Path: " + _local3.path); }; break; case Hotspot.TYPE_INTERNAL: if ((((_local3.page == null)) || ((_local3.page == undefined)))){ _local10.text = "Page: No Page Number"; } else { _local10.text = ("Page: " + _local3.page); }; break; case Hotspot.TYPE_EXTERNAL: if ((((_local3.path == null)) || ((_local3.path == undefined)))){ _local10.text = "Path: No Path"; } else { _local10.text = ("Path: " + _local3.path); }; break; }; if (((!((_local3.tabIndex == null))) && (!((_local3.tabIndex == undefined))))){ _local10.appendText(("\nTab Index: " + _local3.tabIndex)); } else { _local10.appendText("\nTab Index: No Tab Index"); }; if (((!((_local3.altmsg == null))) && (!((_local3.altmsg == undefined))))){ _local10.appendText(("\nAlt Message: " + _local3.altmsg)); } else { _local10.appendText("\nAlt Message: No Alt Message"); }; if (_local11){ _local8.buttonMode = true; _local8.addEventListener(MouseEvent.CLICK, hideTestMode, false, 0, true); _hotspots.addChild(_local7); _local7.visible = false; }; _local9.height = _local10.height; _local7.y = (_local5.y - _local7.height); _local12 = Controller.instance.model.configManager; if ((_local7.x + _local7.width) > _local12.pageWidth){ _local7.x = (_local7.x - _local7.width); }; if (_local7.y < 0){ _local7.y = _local6.y; }; if (_local7.x < 0){ _local7.x = _local6.x; }; _local2++; }; } public function enableNotesSprite(_arg1:Boolean):void{ _notesContainer.mouseChildren = _arg1; _notesContainer.mouseEnabled = _arg1; } private function removeUnsavedNotes():void{ var _local1:uint; var _local2:Number; var _local3:DisplayObject; if (_blnDrawNotes){ _local1 = arrNotes.length; _local2 = 0; while (_local2 < _local1) { if (arrNotes[_local2].blnSaved == false){ _local3 = (arrNotes[_local2].mcSprite.getChildByName("btnDelete") as DisplayObject); _local3.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); }; _local2++; }; }; } public function get highlighter():Sprite{ return (_highlighter); } public function copySelectedText():void{ var _local1:String; if (_txtSnapshot != null){ _local1 = ""; _local1 = _txtSnapshot.getSelectedText(false); System.setClipboard(_local1); }; } private function showInactiveIcons():void{ var _local1:Sprite; var _local2:Sprite; var _local3:Sprite; var _local4:Sprite; var _local5:Sprite; if (page.showInactiveIcon_1){ _local1 = new InActiveMode_1(); _local1.x = Config.INACTIVE_POS_1.xPos; _local1.y = Config.INACTIVE_POS_1.yPos; _local1.name = "mcInactiveIcon_1"; _clickSpace.addChild(_local1); }; if (page.showInactiveIcon_2){ _local2 = new InActiveMode_2(); _local2.x = Config.INACTIVE_POS_2.xPos; _local2.y = Config.INACTIVE_POS_2.yPos; _local2.name = "mcInactiveIcon_2"; _clickSpace.addChild(_local2); }; if (page.showInactiveIcon_3){ _local3 = new InActiveMode_3(); _local3.x = Config.INACTIVE_POS_3.xPos; _local3.y = Config.INACTIVE_POS_3.yPos; _local3.name = "mcInactiveIcon_3"; _clickSpace.addChild(_local3); }; if (page.showInactiveIcon_4){ _local4 = new InActiveMode_4(); _local4.x = Config.INACTIVE_POS_4.xPos; _local4.y = Config.INACTIVE_POS_4.yPos; _local4.name = "mcInactiveIcon_4"; _clickSpace.addChild(_local4); }; if (page.showInactiveIcon_5){ _local5 = new InActiveMode_5(); _local5.x = Config.INACTIVE_POS_5.xPos; _local5.y = Config.INACTIVE_POS_5.yPos; _local5.name = "mcInactiveIcon_5"; _clickSpace.addChild(_local5); }; } public function get notesCursor():Sprite{ return (_notesCursor); } public function get hotspots():Sprite{ return (_hotspots); } private function getNotesIndex(_arg1:String):uint{ var _local2:Number = _arg1.split("_")[1]; var _local3:uint = arrNotes.length; var _local4:uint; while (_local4 < _local3) { if (_local2 == arrNotes[_local4].nID){ break; }; _local4++; }; return (_local4); } private function createHotSpots():void{ var _local4:Hotspot; var _local5:*; var _local6:String; var _local7:CustomButton; arrTabbingHotSpot = new Array(); var _local1:Array = page.hotspots; var _local2:Sprite = (_loader.content as Sprite); var _local3:int; while (_local3 < _local1.length) { _local4 = _local1[_local3]; if (_local4.subtype == Hotspot.SUB_TYPE_GLOSSARY){ _local6 = (((!((_local4.data == null))) && (!((_local4.data == ""))))) ? _local4.data : "glossary"; _local4.data = _local4.tooltip; _local4.tooltip = _local6; }; _local5 = null; if (_local4.subtype == Hotspot.SUB_TYPE_EMBEDDED){ _local7 = new CustomButton(_local2.getChildByName(("embeddedHotspot_" + _local4.tabIndex))); _local5 = _local7.instance; _local5.addEventListener(MouseEvent.ROLL_OVER, onOverHotspot); _local5.addEventListener(MouseEvent.ROLL_OUT, onOutHotspot); } else { _local5 = new HotspotClip(_local4); }; _local5.pageNumber = Controller.instance.model.pageIndex; if ((((_local4.type == Hotspot.TYPE_ADUIO)) && (_local4.alternate_language))){ _blnCallInitAltLan = true; }; if (((!((_local4.path == null))) && (!((_local4.path == ""))))){ _local5.addEventListener(MouseEvent.CLICK, onClickHotspot, false, 0, true); } else { if (((!((_local4.page == null))) && (!((_local4.page == ""))))){ _local5.addEventListener(MouseEvent.CLICK, onClickHotspot, false, 0, true); } else { if ((((_local4.subtype == Hotspot.SUB_TYPE_GLOSSARY)) || ((_local4.subtype == Hotspot.SUB_TYPE_ZOOM)))){ _local5.addEventListener(MouseEvent.CLICK, onClickHotspot, false, 0, true); } else { if ((((_local4.subtype == Hotspot.SUB_TYPE_INTERACTIVITY)) && (((!((_local4.data == null))) && (!((_local4.data == ""))))))){ _local5.addEventListener(MouseEvent.CLICK, onClickHotspot, false, 0, true); } else { if (_local4.type != Hotspot.TYPE_INTERNAL){ _local5.useHandCursor = false; }; }; }; }; }; if ((((_local4.subtype == "voice over")) || ((_local4.clickable == false)))){ _local5.visible = false; _local5.useHandCursor = false; _local5.tabEnabled = false; _local5.removeListeners(); } else { if (_local4.subtype == Hotspot.SUB_TYPE_NESTED_HOTSPOT){ _local5.addEventListener(MouseEvent.CLICK, onNestedHotSpotClick, false, 0, true); Controller.instance.view.content.updateNestedHotspotData(currentPageIndex, _local5); }; }; if (_local4.subtype != Hotspot.SUB_TYPE_EMBEDDED){ _local5.name = ("hotspot_" + _local3); }; _hotspots.addChild(_local5); arrTabbingHotSpot.push({item:_local5, tabIndex:Number(_local4.tabIndex), shortcut:"", alt:_local4.altmsg}); _local3++; }; if (Controller.instance.view.addLinkPanel != null){ Controller.instance.view.addLinkPanel.showExistingLink(Controller.instance.model.pageIndex, _spLinkContainer); }; } public function get page():Page{ return (_page); } public function enableDrawNotes():void{ var _local1:Sprite; _notesCursor = new NotesCursor(); _notesCursor.name = "NotesCursor"; _notesCursor.mouseEnabled = false; _notesCursor.mouseChildren = false; Controller.instance.addChild(_notesCursor); _notesCursor.x = -1000; _notesCursor.y = -1000; _blnDrawNotes = true; _clickSpace.mouseEnabled = true; _clickSpace.addEventListener(MouseEvent.CLICK, drawNotes, false, 0, true); enableHotspots(true); _clickSpace.addEventListener(MouseEvent.MOUSE_MOVE, changeCursorForNotes, false, 0, true); _clickSpace.addEventListener(MouseEvent.ROLL_OVER, showCursorForNotes, false, 0, true); _clickSpace.addEventListener(MouseEvent.MOUSE_OUT, hideCursorForNotes, false, 0, true); enableHighlighter(false); if (Config.CHANGE_ITEMS_THEME != null){ if (Controller.instance.view.toolbar.themeHandler != null){ _local1 = (_notesCursor.getChildByName("mcNotesCursor") as Sprite); Controller.instance.view.toolbar.themeHandler.searchItems(_local1); }; }; } public function get drawContainer():Sprite{ return (_drawContainer); } public function showHotspots():void{ var _local3:HotspotClip; var _local4:Number; var _local5:Hotspot; var _local6:String; var _local7:String; var _local1:Boolean = Controller.instance.model.blnShowHotspots; var _local2:Number = 0; while (_local2 < _hotspots.numChildren) { _local3 = (_hotspots.getChildAt(_local2) as HotspotClip); if (_local3 != null){ _local4 = _hotspots.getChildIndex(_local3); _local5 = _page.hotspots[_local4]; _local6 = _local3.name; _local7 = _local6.substr(0, 2); if (_local5.type == Config.SHOW_HOTSPOT_TYPE){ if (Config.SHOW_HOTSPOT_TYPE_DEPENDS_ON_TOOLTIP){ if (((!((_local3.data.tooltip == undefined))) && (!((_local3.data.tooltip == null))))){ if (_local1){ _local3.setMode(Config.SELECTED_SHOW_HOTSPOT_STATE); } else { _local3.setMode(Config.DEFAULT_SHOW_HOTSPOT_STATE); }; } else { _local3.setMode(Config.DEFAULT_SHOW_HOTSPOT_STATE); }; } else { if (_local1){ _local3.setMode(Config.SELECTED_SHOW_HOTSPOT_STATE); } else { _local3.setMode(Config.DEFAULT_SHOW_HOTSPOT_STATE); }; }; }; }; _local2++; }; } private function startTextSelection(_arg1:MouseEvent):void{ _blnSelecting = true; _iStartSelectionIndex = _txtSnapshot.hitTestTextNearPos(_arg1.localX, _arg1.localY, 10); _iEndSelectionIndex = _iStartSelectionIndex; clearSelecetdText(); } private function onClickHotspot(_arg1:MouseEvent):void{ var _local6:Point; var _local7:int; var _local2:Sprite = (_arg1.currentTarget as Sprite); var _local3:Number = _hotspots.getChildIndex(_local2); var _local4:Hotspot = _page.hotspots[_local3]; var _local5:Controller = Controller.instance; _local5.tracer(("hotspot.type " + _local4.type)); switch (_local4.type){ case Hotspot.TYPE_ADUIO: _local5.pageAudioController.mediaMode = Config.AUDIOPLAYER_MODE_SECONDARY; _local5.pageAudioController.onItemClick(_local2); break; case Hotspot.TYPE_INTERNAL: if (((!((Config.GLOSSARY_DATA == null))) && (Config.GLOSSARY_DATA.GLOSSARY_CALLOUT))){ _local6 = new Point(_local4.points[1].x, _local4.points[0].y); loadInternalLinks(_local4, _local2.localToGlobal(_local6)); } else { loadInternalLinks(_local4); }; break; case Hotspot.TYPE_EXTERNAL: _local7 = ((_arg1.target is SimpleButton)) ? _arg1.currentTarget.pageNumber : _arg1.target.pageNumber; Controller.instance.model.currentPageIndex = (_local7 - 1); loadExternalLinks(_local4); break; case Hotspot.TYPE_WEB: _local5.loadURL(_local4.path, "web", null, false); break; }; } public function get linkContainer():Sprite{ return (_spLinkContainer); } public function activateTextSelection(_arg1:Boolean):void{ var _local2:Sprite = (_loader.content as Sprite); if (((!((_loader.content is AVM1Movie))) && (_arg1))){ _txtSnapshot = _local2.textSnapshot; _clickSpace.addEventListener(MouseEvent.MOUSE_DOWN, startTextSelection, false, 0, true); _clickSpace.addEventListener(MouseEvent.MOUSE_UP, stopTextSelection, false, 0, true); _clickSpace.addEventListener(MouseEvent.MOUSE_MOVE, keepSelectingText, false, 0, true); } else { _txtSnapshot = null; _clickSpace.removeEventListener(MouseEvent.MOUSE_DOWN, startTextSelection, false); _clickSpace.removeEventListener(MouseEvent.MOUSE_UP, stopTextSelection, false); _clickSpace.removeEventListener(MouseEvent.MOUSE_MOVE, keepSelectingText, false); }; } private function disablePageElements(_arg1:Array):void{ var _local3:*; var _local2:int; while (_local2 < _arg1.length) { _local3 = _arg1[_local2]; _local3.mouseEnabled = false; _local3.mouseChildren = false; _local2++; }; } private function onNestedHotSpotClick(_arg1:MouseEvent):void{ var _local8:HotspotClip; var _local9:uint; var _local2:Sprite = (_arg1.currentTarget as Sprite); var _local3:Number = _hotspots.getChildIndex(_local2); var _local4:Hotspot = _page.hotspots[_local3]; var _local5:Array = _local4.data.split(","); var _local6:uint = _hotspots.numChildren; var _local7:int; while (_local7 < _local6) { _local8 = (_hotspots.getChildAt(_local7) as HotspotClip); _local9 = 0; while (_local9 < _local5.length) { if (_local8.data.hotspotIndex == _local5[_local9]){ _local8.visible = !(_local8.visible); break; }; _local9++; }; _local7++; }; Controller.instance.view.content.updateNestedHotspotData(currentPageIndex); } private function loadInternalLinks(_arg1:Hotspot, _arg2:Point=null, _arg3:Boolean=true):void{ var _local5:Array; var _local6:String; var _local7:String; var _local8:String; var _local9:String; var _local10:String; var _local11:Object; var _local4:Controller = Controller.instance; switch (_arg1.subtype){ case Hotspot.SUB_TYPE_GLOSSARY: if (((!((Config.GLOSSARY_DATA == null))) && (Config.GLOSSARY_DATA.GLOSSARY_CALLOUT))){ _local4.glossaryCallOut.gotoItem(_arg1.data, _arg2); } else { _local4.view.glossary.showGlossary(true); _local4.view.glossary.gotoItem(_arg1.data); }; break; case Hotspot.SUB_TYPE_ZOOM: if (_arg3){ _arg3 = ((_arg1.clickable)==undefined) ? false : !(_arg1.clickable); }; if (((!((_arg1.data == null))) && ((_arg1.data.split(",").length > 1)))){ CustomEventDispatcher.getInstance().removeEventListener(CustomEvent.HOTSPOT_CHANGE, onNextHotspot); CustomEventDispatcher.getInstance().addEventListener(CustomEvent.HOTSPOT_CHANGE, onNextHotspot); }; Zoom.getInstance().showZoom(_data, _arg1, _arg3); break; case Hotspot.SUB_TYPE_INTERBOOK: _local5 = _arg1.page.split("_"); Controller.instance.loadEbook(_local5[0], _local5[1]); _local4.view.toolbar.EnableCurrentVolumeButton(); _local4.view.toolbar.disableVolumeButton(_local5[0]); break; case Hotspot.SUB_TYPE_VIDEO: _local6 = _arg1.path.replace(/\\/g, "/"); _local4.loadInternalVideo(_local6); break; case Hotspot.SUB_TYPE_INTERACTIVITY: if (((!((_arg1.path == null))) && (!((_arg1.path == ""))))){ _local7 = _arg1.path.replace(/\\/g, "/"); _local8 = "Interactivity"; _local9 = "Internal"; _local10 = _local8; Controller.instance.openInternalPopup(_local7, _local8, _local9, _local10); _local9.toLowerCase(); } else { if (((!((_arg1.data == null))) && (!((_arg1.data == ""))))){ if (Controller.instance.view.dataPanel != null){ Controller.instance.view.dataPanel.setText(_arg1.data); Controller.instance.view.dataPanel.show(true); }; }; }; break; default: if (_arg1.hotspotIndex > -1){ if (_arg1.page > -1){ if ((((_local4.model.loadingPageIndex == _arg1.page)) || (((_local4.model.loadingPageIndex - 1) == _arg1.page)))){ _local4.view.content.loadInterPageHotspot(_arg1.page, _arg1.hotspotIndex); } else { _local11 = new Object(); _local11.hotspotIndex = _arg1.hotspotIndex; _local4.loadPage(_arg1.page, true, false, _local11); }; } else { loadInterPageHotSpot(_arg1.hotspotIndex, false); }; } else { _local4.loadPage(_arg1.page); }; }; } private function hideTestMode(_arg1:MouseEvent):void{ _arg1.target.parent.visible = false; } private function editModeHandler(_arg1:CustomEvent):void{ if (Controller.instance.view.toolbar.editMode != null){ enablePageElements(_disableElements); } else { if (isContentInteractive){ disablePageElements(_disableElements); }; }; } private function showNotes():void{ var _local6:Number; var _local7:Number; var _local8:Sprite; var _local9:Sprite; var _local10:DisplayObject; var _local11:DisplayObject; var _local12:DisplayObject; var _local13:DisplayObject; var _local1:Controller = Controller.instance; var _local2:Model = _local1.model; var _local3:Number = currentPageIndex; var _local4:Array = _local2.arrNotes; var _local5:Array = _local4[_local3]; if (((!((_local4[_local3] == undefined))) || (!((_local4[_local3] == null))))){ _local6 = 0; while (_local6 < _local5.length) { arrNotes[_local6] = _local5[_local6]; _local6++; }; if (arrNotes.length > 0){ _local7 = 0; while (_local7 < arrNotes.length) { _local8 = (_notesContainer.addChild(arrNotes[_local7].mcSprite) as Sprite); _local9 = (_local8.getChildByName("textMc") as Sprite); _local10 = (_local8.getChildByName("btnNote") as DisplayObject); _local11 = (_local8.getChildByName("btnDelete") as DisplayObject); _local12 = (_local8.getChildByName("btnSave") as DisplayObject); if (_local8.getChildByName("btnPrint") != null){ _local13 = (_local8.getChildByName("btnPrint") as DisplayObject); }; _local10.addEventListener(MouseEvent.MOUSE_DOWN, dragNote, false, 0, true); _local10.addEventListener(MouseEvent.MOUSE_UP, stopDragNote, false, 0, true); _local10.addEventListener(MouseEvent.MOUSE_OUT, stopDragNote, false, 0, true); _local10.addEventListener(MouseEvent.ROLL_OVER, showNoteDetail, false, 0, true); _local10.addEventListener(MouseEvent.ROLL_OUT, hideNoteDetail, false, 0, true); _local11.addEventListener(MouseEvent.CLICK, deleteNote, false, 0, true); _local12.addEventListener(MouseEvent.CLICK, saveNote, false, 0, true); if (_local13 != null){ _local13.addEventListener(MouseEvent.CLICK, printNote, false, 0, true); }; _local7++; }; closePreviousNotes(); }; if (Config.CHANGE_ITEMS_THEME != null){ Controller.instance.view.content.setNotesTheme(); }; }; } private function hideNoteDetail(_arg1:MouseEvent):void{ if (!_blnDrawNotes){ _arg1.currentTarget.parent.getChildByName("txtDisplay").visible = false; HighlightHandler.instance.showHighCursor(true); HighlightHandler.instance.highDraw = true; }; } private function enablePageElements(_arg1:Array):void{ var _local3:*; var _local2:int; while (_local2 < _arg1.length) { _local3 = _arg1[_local2]; _local3.mouseEnabled = true; _local3.mouseChildren = true; _local2++; }; } public function updateHotSpotTabArray(_arg1:HotspotClip, _arg2:String=null):void{ var _local3:uint; var _local4:uint; switch (_arg2){ case "delete_link": _local3 = arrTabbingHotSpot.length; _local4 = 0; while (_local4 < _local3) { if (arrTabbingHotSpot[_local4] == _arg1){ arrTabbingHotSpot.splice(_local4, 1); break; }; _local4++; }; break; default: arrTabbingHotSpot.push({item:_arg1, shortcut:"", alt:""}); }; } public function get arrayTabHotSpot():Array{ return (arrTabbingHotSpot); } public function disableDrawNotes():void{ removeUnsavedNotes(); closePreviousNotes(); _blnDrawNotes = false; _clickSpace.removeEventListener(MouseEvent.CLICK, drawNotes, false); enableHotspots(true); if (Controller.instance.getChildByName("NotesCursor") != null){ Controller.instance.removeChild(_notesCursor); }; Mouse.show(); _clickSpace.removeEventListener(MouseEvent.MOUSE_MOVE, changeCursorForNotes, false); _clickSpace.removeEventListener(MouseEvent.ROLL_OVER, showCursorForNotes, false); _clickSpace.removeEventListener(MouseEvent.MOUSE_OUT, hideCursorForNotes, false); enableHighlighter(true); HighlightHandler.instance.showHighCursor(false); } private function setNotesControlDetail():void{ var _local5:DisplayObject; var _local6:Sprite; var _local1:Sprite = new NotesIcon(); var _local2:Sprite = (_local1.getChildByName("textMc") as Sprite); var _local3:DisplayObject = (_local1.getChildByName("btnDelete") as DisplayObject); var _local4:DisplayObject = (_local1.getChildByName("btnSave") as DisplayObject); NOTES_SAVE_CONTROL = {xPos:(_local4.x - _local2.x), yPos:(_local4.y - _local2.y)}; NOTES_DELETE_CONTROL = {xPos:(_local3.x - _local2.x), yPos:(_local3.y - _local2.y)}; if (_local1.getChildByName("btnPrint") != null){ _local5 = (_local1.getChildByName("btnPrint") as DisplayObject); NOTES_PRINT_CONTROL = {xPos:(_local5.x - _local2.x), yPos:(_local5.y - _local2.y)}; }; if (_local1.getChildByName("mcCheckBg") != null){ _local6 = (_local1.getChildByName("mcCheckBg") as Sprite); NOTES_CHECKBG_CONTROL = {xPos:(_local6.x - _local2.x), yPos:(_local6.y - _local2.y)}; }; } private function hideCursorForNotes(_arg1:MouseEvent):void{ Mouse.show(); _notesCursor.visible = false; } public function onSoundComplete(_arg1:String):void{ } public function get blnDrawNotes():Boolean{ return (_blnDrawNotes); } private function drawNotes(_arg1:MouseEvent):void{ var _local2:Controller; var _local3:Model; var _local4:Object; var _local5:Sprite; var _local6:Number; var _local7:Object; var _local8:ConfigManager; var _local9:Sprite; var _local10:DisplayObject; var _local11:DisplayObject; var _local12:DisplayObject; var _local13:DisplayObject; var _local14:Number; var _local15:Number; var _local16:MovieClip; var _local17:TextField; if (_blnDrawNotes){ removeUnsavedNotes(); closePreviousNotes(); _local2 = Controller.instance; _local3 = _local2.model; _local4 = new Object(); _local5 = new NotesIcon(); _local5.x = _arg1.localX; _local5.y = _arg1.localY; _local6 = ((arrNotes.length)==0) ? 0 : (arrNotes[(arrNotes.length - 1)].nID + 1); _local5.name = ("mcNote_" + String(_local6)); _local7 = _local5.getChildByName("btnNote"); _local8 = Controller.instance.model.configManager; _notesContainer.addChild(_local5); _local9 = (_local5.getChildByName("textMc") as Sprite); _local10 = (_local5.getChildByName("btnNote") as DisplayObject); _local11 = (_local5.getChildByName("btnDelete") as DisplayObject); _local12 = (_local5.getChildByName("btnSave") as DisplayObject); if (_local5.getChildByName("btnPrint") != null){ _local13 = (_local5.getChildByName("btnPrint") as DisplayObject); }; _local14 = 0; _local15 = 0; if (_local3.edition == "student"){ _local14 = _local8.pageWidthSE; _local15 = _local8.pageHeightSE; } else { _local14 = _local8.pageWidthTE; _local15 = _local8.pageHeightTE; }; if ((_local5.x + _local7.width) >= (_local14 - _notesCursor.width)){ _local5.x = ((_local14 - _local10.width) - 3); }; if (_local5.y >= (_local15 - _local10.height)){ _local5.y = (_local15 - _local10.height); }; _local4.nID = _local6; _local4.ID = ((_page.currentPageIndex + "_") + _local6); _local4.mcSprite = _local5; _local4.blnSaved = false; arrNotes.push(_local4); checkNotesPlacement(); _local10.addEventListener(MouseEvent.MOUSE_DOWN, dragNote, false, 0, true); _local10.addEventListener(MouseEvent.MOUSE_UP, stopDragNote, false, 0, true); _local10.addEventListener(MouseEvent.MOUSE_OUT, stopDragNote, false, 0, true); _local10.addEventListener(MouseEvent.ROLL_OVER, showNoteDetail, false, 0, true); _local10.addEventListener(MouseEvent.ROLL_OUT, hideNoteDetail, false, 0, true); _local11.addEventListener(MouseEvent.CLICK, deleteNote, false, 0, true); _local12.addEventListener(MouseEvent.CLICK, saveNote, false, 0, true); if (_local13 != null){ _local13.addEventListener(MouseEvent.CLICK, printNote, false, 0, true); }; _local5.getChildByName("txtDisplay").visible = false; setNotesTextProperty(MovieClip(_local9)); _local16 = (_local9.getChildByName("mcNotesText") as MovieClip); _local17 = ((_local16)==null) ? TextField(_local9.getChildByName("txtInput")) : TextField(_local16.getChildByName("txtInput")); Controller.instance.view.instance.stage.focus = _local17; _local17.addEventListener(Event.CHANGE, onNotesTxtChange); }; } public function enableHighlighter(_arg1:Boolean):void{ _highlighter.mouseChildren = _arg1; } private function showNoteDetail(_arg1:MouseEvent):void{ var _local5:TextField; var _local6:TextField; var _local7:Sprite; var _local8:DisplayObject; var _local2:Controller = Controller.instance; var _local3:Model = _local2.model; var _local4:ConfigManager = _local3.configManager; checkNotesPlacement(); if (!_blnDrawNotes){ _local5 = _arg1.currentTarget.parent.getChildByName("txtDisplay"); _local6 = ((_arg1.currentTarget.parent.textMc.mcNotesText)==null) ? _arg1.currentTarget.parent.textMc.txtInput : _arg1.currentTarget.parent.textMc.mcNotesText.txtInput; if (_local6.length != 0){ _local5.visible = true; _local5.autoSize = TextFieldAutoSize.LEFT; _local5.backgroundColor = 16777164; _arg1.currentTarget.parent.getChildByName("txtDisplay").text = _local6.text; _local7 = _arg1.currentTarget.parent; _local8 = _arg1.currentTarget.parent.getChildByName("btnNote"); _local5.y = (_local8.y + _local8.height); if (_local5.height > _local4.pageHeight){ _local5.y = (((_local4.pageHeight / 2) - (_local5.height / 2)) - _local7.y); } else { if (_local5.height > (_local4.pageHeight - _local5.parent.y)){ _local5.y = (_local5.y - _local5.height); }; if (_local8.y > _local5.height){ _local5.y = ((_local4.pageHeight / 2) - (_local7.height / 2)); }; }; }; HighlightHandler.instance.removeShapeOnNotes(); HighlightHandler.instance.highDraw = false; HighlightHandler.instance.showHighCursor(false); }; } public function onHighlighterEvent(_arg1:Boolean):void{ if (_bHotspotEnabled != _arg1){ _hotspots.mouseEnabled = _arg1; _hotspots.mouseChildren = _arg1; _bHotspotEnabled = _arg1; }; } public function showTestModeClip(_arg1:Sprite, _arg2:Boolean):void{ var _local3:Sprite = (_arg1.parent as Sprite); var _local4:Number = _local3.getChildIndex(_arg1); var _local5:String = ("testmode_" + _local4); var _local6:Sprite = (_local3.getChildByName(_local5) as Sprite); _local6.visible = _arg2; } public function loadInterPageHotSpot(_arg1:int=-1, _arg2:Boolean=true):void{ var _local3:uint; var _local4:int; if (_page.hotspots != null){ _local3 = _page.hotspots.length; _arg1 = ((_arg1)==-1) ? _page.interPageHotspotIndex : _arg1; _local4 = 0; while (_local4 < _local3) { if (((!((_page.hotspots[_local4].tabIndex == null))) && ((_page.hotspots[_local4].tabIndex == _arg1)))){ loadInternalLinks(_page.hotspots[_local4], null, _arg2); break; }; _local4++; }; }; } private function changeCursorForNotes(_arg1:MouseEvent):void{ var _local2:Controller = Controller.instance; _notesCursor.x = (_local2.stage.mouseX - 2); _notesCursor.y = (_local2.stage.mouseY + 4); _arg1.updateAfterEvent(); } public function showHotSpotArea(_arg1:Boolean):void{ var _local3:HotspotClip; var _local2:Number = 0; while (_local2 < _hotspots.numChildren) { _local3 = (_hotspots.getChildAt(_local2) as HotspotClip); if (_local3 != null){ if (_arg1){ _local3.setMode(Config.SELECTED_SHOW_HOTSPOT_STATE); } else { _local3.restoreMode(); }; }; _local2++; }; } private function onOutHotspot(_arg1:MouseEvent):void{ Controller.instance.view.content.showCustomCursor(true); } public function get objLoader():Loader{ return (_loader); } private function closePreviousNotes():void{ var txtInput:TextField; var i:Number = 0; while (i < arrNotes.length) { arrNotes[i].mcSprite.textMc.visible = false; txtInput = ((arrNotes[i].mcSprite.textMc.mcNotesText)==null) ? arrNotes[i].mcSprite.textMc.txtInput : arrNotes[i].mcSprite.textMc.mcNotesText.txtInput; if (arrNotes[i].strText != undefined){ txtInput.text = arrNotes[i].strText; } else { txtInput.text = ""; }; setScrollPaneVisibility(txtInput); arrNotes[i].mcSprite.btnDelete.visible = false; arrNotes[i].mcSprite.btnSave.visible = false; try { arrNotes[i].mcSprite.btnPrint.visible = false; arrNotes[i].mcSprite.mcCheckBg.visible = false; } catch(error:Error) { }; i = (i + 1); }; } public function enableTestMode(_arg1:Boolean):void{ var _local2:Array = _page.hotspots; var _local3:int; while (_local3 < _local2.length) { if (_hotspots.getChildByName(("testmode_" + _local3)) != null){ _hotspots.getChildByName(("testmode_" + _local3)).visible = _arg1; }; _local3++; }; } public function clearSelecetdText():void{ if (_txtSnapshot != null){ _txtSnapshot.setSelected(0, _txtSnapshot.charCount, false); }; } private function showCurrentHIghlights():void{ var _local1:Number; var _local2:uint; if (_page.existingHL != null){ _local1 = 0; while (_local1 < _page.existingHL.length) { _local2 = ((((_page.existingHL[_local1].color == null)) || ((_page.existingHL[_local1].color == undefined)))) ? -1 : _page.existingHL[_local1].color; HighlightHandler.instance.addExistingShapes(_page.existingHL[_local1].id, _page.existingHL[_local1].xPos, _page.existingHL[_local1].yPos, _page.existingHL[_local1].width, _page.existingHL[_local1].height, _page.currentPageIndex, _local2); _local1++; }; }; } private function onOverHotspot(_arg1:MouseEvent):void{ Controller.instance.view.content.showCustomCursor(false); } private function onNextHotspot(_arg1:CustomEvent):void{ var _local2:uint; var _local3:int; CustomEventDispatcher.getInstance().removeEventListener(CustomEvent.HOTSPOT_CHANGE, onNextHotspot); if (_page.hotspots != null){ if (_arg1.data.currentPageIndex == _page.currentPageIndex){ _local2 = _page.hotspots.length; _local3 = 0; while (_local3 < _local2) { if (((!((_page.hotspots[_local3].tabIndex == null))) && ((_page.hotspots[_local3].tabIndex == _arg1.data.hotspotIndex)))){ loadInternalLinks(_page.hotspots[_local3], null, true); break; }; _local3++; }; } else { Controller.instance.view.content.loadInterPageHotspot(_page.hotspots[_local3].page, _arg1.data.hotspotIndex); }; }; } } }//package view
Section 193
//ContentPage_InActiveMode_1 (view.ContentPage_InActiveMode_1) package view { import flash.display.*; import mx.core.*; public class ContentPage_InActiveMode_1 extends SpriteAsset { public var btnZoomIn:DisplayObject; public var mcThumb:DisplayObject; public var mcContent:DisplayObject; public var mc_thumb:DisplayObject; public var mc_X:DisplayObject; public var mc_O:DisplayObject; public var mc_J:DisplayObject; public var mc_Y:DisplayObject; public var btnSrchMinimized:DisplayObject; public var btnHTML:DisplayObject; public var btnUp:DisplayObject; public var mc_T:DisplayObject; public var mcIconAnim:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnBar:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var btnTeacher:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var btnIdle:DisplayObject; public var mcPatch:DisplayObject; public var mcBG:DisplayObject; public var bg:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var txtLink:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var btnOpen:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnLinkBg:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var btnState:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcThemeClip:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcDot:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_B:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mc_K:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_R:DisplayObject; public var mc_U:DisplayObject; public var mc_V:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_L:DisplayObject; public var mc_D:DisplayObject; public var mc_N:DisplayObject; public var mc_W:DisplayObject; public var mc_P:DisplayObject; public var mc_Q:DisplayObject; public var mc_S:DisplayObject; public var mc_C:DisplayObject; public var txtWord:DisplayObject; public var mcGlossaryImage:DisplayObject; } }//package view
Section 194
//ContentPage_InActiveMode_2 (view.ContentPage_InActiveMode_2) package view { import flash.display.*; import mx.core.*; public class ContentPage_InActiveMode_2 extends SpriteAsset { public var btnZoomIn:DisplayObject; public var mcThumb:DisplayObject; public var mcContent:DisplayObject; public var mc_thumb:DisplayObject; public var mc_X:DisplayObject; public var mc_O:DisplayObject; public var mc_J:DisplayObject; public var mc_Y:DisplayObject; public var btnSrchMinimized:DisplayObject; public var btnHTML:DisplayObject; public var btnUp:DisplayObject; public var mc_T:DisplayObject; public var mcIconAnim:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnBar:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var btnTeacher:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var btnIdle:DisplayObject; public var mcPatch:DisplayObject; public var mcBG:DisplayObject; public var bg:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var txtLink:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var btnOpen:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnLinkBg:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var btnState:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcThemeClip:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcDot:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_B:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mc_K:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_R:DisplayObject; public var mc_U:DisplayObject; public var mc_V:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_L:DisplayObject; public var mc_D:DisplayObject; public var mc_N:DisplayObject; public var mc_W:DisplayObject; public var mc_P:DisplayObject; public var mc_Q:DisplayObject; public var mc_S:DisplayObject; public var mc_C:DisplayObject; public var txtWord:DisplayObject; public var mcGlossaryImage:DisplayObject; } }//package view
Section 195
//ContentPage_InActiveMode_3 (view.ContentPage_InActiveMode_3) package view { import flash.display.*; import mx.core.*; public class ContentPage_InActiveMode_3 extends SpriteAsset { public var btnZoomIn:DisplayObject; public var mcThumb:DisplayObject; public var mcContent:DisplayObject; public var mc_thumb:DisplayObject; public var mc_X:DisplayObject; public var mc_O:DisplayObject; public var mc_J:DisplayObject; public var mc_Y:DisplayObject; public var btnSrchMinimized:DisplayObject; public var btnHTML:DisplayObject; public var btnUp:DisplayObject; public var mc_T:DisplayObject; public var mcIconAnim:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnBar:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var btnTeacher:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var btnIdle:DisplayObject; public var mcPatch:DisplayObject; public var mcBG:DisplayObject; public var bg:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var txtLink:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var btnOpen:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnLinkBg:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var btnState:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcThemeClip:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcDot:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_B:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mc_K:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_R:DisplayObject; public var mc_U:DisplayObject; public var mc_V:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_L:DisplayObject; public var mc_D:DisplayObject; public var mc_N:DisplayObject; public var mc_W:DisplayObject; public var mc_P:DisplayObject; public var mc_Q:DisplayObject; public var mc_S:DisplayObject; public var mc_C:DisplayObject; public var txtWord:DisplayObject; public var mcGlossaryImage:DisplayObject; } }//package view
Section 196
//ContentPage_InActiveMode_4 (view.ContentPage_InActiveMode_4) package view { import flash.display.*; import mx.core.*; public class ContentPage_InActiveMode_4 extends SpriteAsset { public var btnZoomIn:DisplayObject; public var mcThumb:DisplayObject; public var mcContent:DisplayObject; public var mc_thumb:DisplayObject; public var mc_X:DisplayObject; public var mc_O:DisplayObject; public var mc_J:DisplayObject; public var mc_Y:DisplayObject; public var btnSrchMinimized:DisplayObject; public var btnHTML:DisplayObject; public var btnUp:DisplayObject; public var mc_T:DisplayObject; public var mcIconAnim:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnBar:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var btnTeacher:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var btnIdle:DisplayObject; public var mcPatch:DisplayObject; public var mcBG:DisplayObject; public var bg:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var txtLink:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var btnOpen:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnLinkBg:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var btnState:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcThemeClip:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcDot:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_B:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mc_K:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_R:DisplayObject; public var mc_U:DisplayObject; public var mc_V:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_L:DisplayObject; public var mc_D:DisplayObject; public var mc_N:DisplayObject; public var mc_W:DisplayObject; public var mc_P:DisplayObject; public var mc_Q:DisplayObject; public var mc_S:DisplayObject; public var mc_C:DisplayObject; public var txtWord:DisplayObject; public var mcGlossaryImage:DisplayObject; } }//package view
Section 197
//ContentPage_InActiveMode_5 (view.ContentPage_InActiveMode_5) package view { import flash.display.*; import mx.core.*; public class ContentPage_InActiveMode_5 extends SpriteAsset { public var btnZoomIn:DisplayObject; public var mcThumb:DisplayObject; public var mcContent:DisplayObject; public var mc_thumb:DisplayObject; public var mc_X:DisplayObject; public var mc_O:DisplayObject; public var mc_J:DisplayObject; public var mc_Y:DisplayObject; public var btnSrchMinimized:DisplayObject; public var btnHTML:DisplayObject; public var btnUp:DisplayObject; public var mc_T:DisplayObject; public var mcIconAnim:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnBar:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var btnTeacher:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var btnIdle:DisplayObject; public var mcPatch:DisplayObject; public var mcBG:DisplayObject; public var bg:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var txtLink:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var btnOpen:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnLinkBg:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var btnState:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcThemeClip:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcDot:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_B:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mc_K:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_R:DisplayObject; public var mc_U:DisplayObject; public var mc_V:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_L:DisplayObject; public var mc_D:DisplayObject; public var mc_N:DisplayObject; public var mc_W:DisplayObject; public var mc_P:DisplayObject; public var mc_Q:DisplayObject; public var mc_S:DisplayObject; public var mc_C:DisplayObject; public var txtWord:DisplayObject; public var mcGlossaryImage:DisplayObject; } }//package view
Section 198
//ContentPage_NotesCursor (view.ContentPage_NotesCursor) package view { import flash.display.*; import mx.core.*; public class ContentPage_NotesCursor extends SpriteAsset { public var btnSave:DisplayObject; public var mcContent:DisplayObject; public var mc_K:DisplayObject; public var mc_N:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mcGlossaryImage:DisplayObject; public var btnHTML:DisplayObject; public var mc_W:DisplayObject; public var btnTeacher:DisplayObject; public var btnUp:DisplayObject; public var mcThumb:DisplayObject; public var mcExit:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnBar:DisplayObject; public var btnZoomIn:DisplayObject; public var txtWord:DisplayObject; public var txtDisplay:DisplayObject; public var mcIconAnim:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThemeClip:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var btnIdle:DisplayObject; public var mcCross:DisplayObject; public var mcPatch:DisplayObject; public var mcBG:DisplayObject; public var bg:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var btnNote:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var txtLink:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var btnOpen:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var btnPDF:DisplayObject; public var mcCheckBg:DisplayObject; public var mcTxt:DisplayObject; public var mcNoResult:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var btnDelete:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var txtInput:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var txtInfo:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var btnLinkBg:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var btnState:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var textMc:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPrint:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcShape:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcDot:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_B:DisplayObject; public var mc_D:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mcTOC:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_J:DisplayObject; public var mc_L:DisplayObject; public var mc_U:DisplayObject; public var mc_thumb:DisplayObject; public var mc_P:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_T:DisplayObject; public var mc_V:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_R:DisplayObject; public var mc_S:DisplayObject; public var mc_C:DisplayObject; public var mc_O:DisplayObject; public var mc_Y:DisplayObject; } }//package view
Section 199
//ContentPage_NotesIcon (view.ContentPage_NotesIcon) package view { import flash.display.*; import mx.core.*; public class ContentPage_NotesIcon extends SpriteAsset { public var btnSave:DisplayObject; public var mcContent:DisplayObject; public var mc_K:DisplayObject; public var mc_N:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mcGlossaryImage:DisplayObject; public var btnHTML:DisplayObject; public var mc_W:DisplayObject; public var btnTeacher:DisplayObject; public var btnUp:DisplayObject; public var mcThumb:DisplayObject; public var mcExit:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnBar:DisplayObject; public var btnZoomIn:DisplayObject; public var txtWord:DisplayObject; public var txtDisplay:DisplayObject; public var mcIconAnim:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var btnIdle:DisplayObject; public var mcPatch:DisplayObject; public var mcBG:DisplayObject; public var bg:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var btnNote:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var txtLink:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var btnOpen:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var btnPDF:DisplayObject; public var mcCheckBg:DisplayObject; public var mcTxt:DisplayObject; public var mcNoResult:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var btnDelete:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var txtInput:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var btnLinkBg:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var btnState:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var textMc:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPrint:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcThemeClip:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcDot:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_B:DisplayObject; public var mc_D:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mcTOC:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_J:DisplayObject; public var mc_L:DisplayObject; public var mc_U:DisplayObject; public var mc_thumb:DisplayObject; public var mc_P:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_T:DisplayObject; public var mc_V:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_R:DisplayObject; public var mc_S:DisplayObject; public var mc_C:DisplayObject; public var mc_O:DisplayObject; public var mc_Y:DisplayObject; } }//package view
Section 200
//ContentPage_TestModeDisplay (view.ContentPage_TestModeDisplay) package view { import flash.display.*; import mx.core.*; public class ContentPage_TestModeDisplay extends SpriteAsset { public var btnSave:DisplayObject; public var mcContent:DisplayObject; public var mc_K:DisplayObject; public var mc_N:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mcGlossaryImage:DisplayObject; public var btnHTML:DisplayObject; public var mc_W:DisplayObject; public var btnTeacher:DisplayObject; public var btnUp:DisplayObject; public var mcThumb:DisplayObject; public var mcExit:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnBar:DisplayObject; public var btnZoomIn:DisplayObject; public var txtWord:DisplayObject; public var txtDisplay:DisplayObject; public var mcIconAnim:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThemeClip:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var btnIdle:DisplayObject; public var mcCross:DisplayObject; public var mcPatch:DisplayObject; public var mcBG:DisplayObject; public var bg:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var btnNote:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var txtLink:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var btnOpen:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var btnPDF:DisplayObject; public var mcCheckBg:DisplayObject; public var mcTxt:DisplayObject; public var mcNoResult:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var btnDelete:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var txtInput:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var txtInfo:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var btnLinkBg:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var btnState:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var textMc:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPrint:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcShape:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcDot:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_B:DisplayObject; public var mc_D:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mcTOC:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_J:DisplayObject; public var mc_L:DisplayObject; public var mc_U:DisplayObject; public var mc_thumb:DisplayObject; public var mc_P:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_T:DisplayObject; public var mc_V:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_R:DisplayObject; public var mc_S:DisplayObject; public var mc_C:DisplayObject; public var mc_O:DisplayObject; public var mc_Y:DisplayObject; } }//package view
Section 201
//CustomButton (view.CustomButton) package view { import controller.*; import flash.events.*; import flash.display.*; import flash.geom.*; import flash.text.*; public class CustomButton extends WrappedDisplayObject { private var _theme:String; private var _fCallback:Function; private var _bToggle:Boolean; private var _color:Number; private var _currentState:String; private var _id; public static const STATE_DISABLED:String = "disabled"; public static const STATE_NORMAL:String = "normal"; public static const STATE_SELECTED:String = "selected"; public function CustomButton(_arg1:DisplayObject){ super(_arg1); _bToggle = false; buttonMode = true; _currentState = STATE_NORMAL; } public function destroy():void{ removeEventListener(MouseEvent.CLICK); } private function startRenderingProcess():void{ if (instance != null){ instance.addEventListener(Event.ENTER_FRAME, onRenderEnterFrame); }; } public function setTheme():void{ startRenderingProcess(); } public function addEventListener(_arg1, _arg2:Function):void{ _fCallback = _arg2; var _local3:Sprite = (instance as Sprite); _local3.addEventListener(_arg1, onEventFire); } private function showAnimation(_arg1:Event):void{ var _local2:int = _arg1.target.currentFrame; var _local3:int = _arg1.target.totalFrames; if (_local2 >= _local3){ _arg1.target.gotoAndStop(1); } else { _arg1.target.nextFrame(); }; } public function setState(_arg1:String):void{ var _local2:MovieClip = (instance as MovieClip); if (_local2 == null){ return; }; if (hasLabel(_local2, _arg1)){ _local2.gotoAndStop(_arg1); _currentState = _arg1; if (_arg1 == STATE_DISABLED){ setEnabled(false); } else { setEnabled(true); }; setGfxState(); setTheme(); }; } public function onEventFire(_arg1:MouseEvent):void{ if (_bToggle){ if (_currentState == STATE_NORMAL){ setState(STATE_SELECTED); } else { setState(STATE_NORMAL); }; }; _fCallback.call(this, this); } private function onRender(_arg1:Event):void{ var _local2:MovieClip; var _local3:Boolean; if (instance != null){ instance.removeEventListener(Event.RENDER, onRender); _local2 = (getChildByName("mcThemeClip") as MovieClip); if (_local2 != null){ _local3 = hasLabel(_local2, Controller.instance.currentTheme); if (_local3 == true){ _local2.gotoAndStop(Controller.instance.currentTheme); }; }; }; } public function removeEventListener(_arg1):void{ var _local2:Sprite = (instance as Sprite); _local2.removeEventListener(_arg1, onEventFire); } public function setGfxState(_arg1:String=null):void{ var _local3:String; var _local2:MovieClip = (getChildByName("mcGfxStates") as MovieClip); if (_local2 != null){ if (_arg1 == null){ _arg1 = _local2.currentLabel.split("_")[1]; }; _local3 = ((_currentState + "_") + _arg1); _local2.gotoAndStop(_local3); }; } public function get currentState():String{ return (_currentState); } public function setLabelColor(_arg1:String, _arg2:Number):void{ var _local3:Sprite = (instance as Sprite); var _local4:TextField = (_local3.getChildByName(_arg1) as TextField); _local4.textColor = _arg2; _local4.mouseEnabled = false; } public function setColor(_arg1:Number):void{ var _local3:ColorTransform; _color = _arg1; var _local2:MovieClip = (this.getChildByName("mcColor") as MovieClip); if (_local2 != null){ _local3 = _local2.transform.colorTransform; _local3.color = _arg1; _local2.transform.colorTransform = _local3; }; } public function get color():Number{ return (_color); } public function set buttonMode(_arg1:Boolean):void{ var _local2:MovieClip; if (instance != null){ _local2 = (instance as MovieClip); if (_local2 == null){ return; }; _local2.buttonMode = _arg1; }; } public function set __bToggle(_arg1:Boolean):void{ _bToggle = _arg1; } public function playAnimation(_arg1:Boolean):void{ var _local2:MovieClip = (getChildByName("mcAnimation") as MovieClip); if (_local2 != null){ if (_arg1){ if (getEnabled()){ _local2.gotoAndStop(1); _local2.visible = true; _local2.mouseEnabled = false; _local2.nextFrame(); _local2.addEventListener(Event.ENTER_FRAME, showAnimation); }; } else { _local2.removeEventListener(Event.ENTER_FRAME, showAnimation); _local2.visible = false; _local2.gotoAndStop(1); }; }; } private function onRenderEnterFrame(_arg1:Event):void{ if (instance != null){ instance.removeEventListener(Event.ENTER_FRAME, onRenderEnterFrame); instance.addEventListener(Event.RENDER, onRender); if (instance.stage != null){ instance.stage.invalidate(); }; }; } public function set __id(_arg1):void{ _id = _arg1; } public function stopRendering():void{ if (instance != null){ instance.removeEventListener(Event.ENTER_FRAME, onRenderEnterFrame); instance.removeEventListener(Event.RENDER, onRender); instance.removeEventListener(Event.RENDER, onRender); }; } public function get __id(){ return (_id); } public function get __bToggle():Boolean{ return (_bToggle); } public function setLabelText(_arg1:String, _arg2:String):void{ var _local3:Sprite = (instance as Sprite); var _local4:TextField = (_local3.getChildByName(_arg1) as TextField); _local4.text = _arg2; _local4.mouseEnabled = false; } } }//package view
Section 202
//CustomContextMenu (view.CustomContextMenu) package view { import controller.*; import flash.events.*; import flash.ui.*; public class CustomContextMenu { private var _objContextMenuData:Object;// = null private var _objContextMenu:ContextMenu;// = null private var _arrElements:Array;// = null public function CustomContextMenu(_arg1:Object){ _objContextMenuData = _arg1; initialize(); } private function launchURL(_arg1:ContextMenuEvent):void{ var _local2:String = getURL(_arg1.target.caption); if (_local2 != null){ Controller.instance.loadURL(_local2, "normal", null, false); }; } private function getURL(_arg1:String):String{ var _local2:uint = _arrElements.length; var _local3:uint; while (_local3 < _local2) { if (_arg1 == _arrElements[_local3].label){ return (_arrElements[_local3].url); }; _local3++; }; return (null); } private function getItem(_arg1:String):Object{ var _local2:uint = _arrElements.length; var _local3:uint; while (_local3 < _local2) { if (_arg1 == _arrElements[_local3].label){ return (Controller.instance.view.toolbar.getAccessibleObject(_arrElements[_local3].item)); }; _local3++; }; return (null); } public function get contextMenu():ContextMenu{ return (_objContextMenu); } private function addCustomMenuItems():void{ var _local3:ContextMenuItem; _arrElements = new Array(); _arrElements = _objContextMenuData.elements; var _local1:uint = _arrElements.length; var _local2:uint; while (_local2 < _local1) { _local3 = new ContextMenuItem(_arrElements[_local2].label); _objContextMenu.customItems.push(_local3); if (_arrElements[_local2].item == "link"){ _local3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, launchURL); } else { _local3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemSelectHandler); }; _local2++; }; } private function initialize():void{ _objContextMenu = new ContextMenu(); _objContextMenu.hideBuiltInItems(); addCustomMenuItems(); } private function menuItemSelectHandler(_arg1:ContextMenuEvent):void{ var _local2:Object = getItem(_arg1.target.caption); if (_local2 != null){ _local2.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); }; } } }//package view
Section 203
//CustomToolTip (view.CustomToolTip) package view { import controller.*; import flash.events.*; import flash.display.*; import model.*; import flash.text.*; public class CustomToolTip { private const MARGIN:Number = 4; private const SCALE_AMT:Number = 0.25; private var _arrPoints:Array;// = null private var _spToolTip:Sprite;// = null private var _strToolTipImage:String;// = null private var _spToolTipHolder:Sprite;// = null public function CustomToolTip(_arg1:Sprite, _arg2:Array, _arg3:String, _arg4:String){ _spToolTipHolder = _arg1; _spToolTip = (_spToolTipHolder.getChildByName("mcToolTip") as Sprite); _spToolTipHolder.visible = false; _spToolTipHolder.mouseEnabled = false; _spToolTipHolder.mouseChildren = false; _arrPoints = _arg2; setToolTipText(_arg3); var _local5:Sprite = (_spToolTip.getChildByName("mcToolTipBg") as Sprite); var _local6:Sprite = (_spToolTip.getChildByName("mcImageMask") as Sprite); var _local7:TextField = (_spToolTip.getChildByName("txtTooltip") as TextField); if (_local5 != null){ _local5.width = (((!((_local6 == null))) && ((_local7.width > _local6.width)))) ? (_local7.width + (2 * MARGIN)) : _local5.width; }; if ((((_arg4 == null)) || ((_arg4 == "")))){ _local7.x = (_local7.y = 0); _local5.width = (_local7.width + (2 * MARGIN)); if (_local6 != null){ _local6.width = (_local6.height = 0); }; if (_local5 != null){ _local5.height = (_local7.height + MARGIN); }; } else { _strToolTipImage = _arg4; }; resetPosition(); _spToolTipHolder.scaleX = (_spToolTipHolder.scaleY = 0); } private function hideToolTip(_arg1:Event):void{ if (_spToolTipHolder.scaleX <= 0){ _spToolTipHolder.removeEventListener(Event.ENTER_FRAME, hideToolTip); resetPosition(); _spToolTipHolder.scaleX = (_spToolTipHolder.scaleY = 0); } else { _spToolTipHolder.scaleX = (_spToolTipHolder.scaleX - SCALE_AMT); _spToolTipHolder.scaleY = (_spToolTipHolder.scaleY - SCALE_AMT); }; } private function loadImage(_arg1:Sprite):void{ var _local2:Sprite = (_spToolTip.getChildByName("mcImageMask") as Sprite); var _local3:Number = _local2.width; var _local4:Number = _local2.height; _arg1.x = _local2.x; _arg1.y = _local2.y; var _local5:ImageLoader = new ImageLoader(); _local5.addEventListener(ImageLoader.LOAD_COMPLETE, onLoadComplete); _local5.loadImage(_strToolTipImage, _local3, _local4); _arg1.addChild(_local5); } private function showToolTip(_arg1:Event):void{ if (_spToolTipHolder.scaleX >= 1){ _spToolTipHolder.removeEventListener(Event.ENTER_FRAME, showToolTip); _spToolTipHolder.scaleX = (_spToolTipHolder.scaleY = 1); } else { _spToolTipHolder.scaleX = (_spToolTipHolder.scaleX + SCALE_AMT); _spToolTipHolder.scaleY = (_spToolTipHolder.scaleY + SCALE_AMT); }; } public function onOver(_arg1:int, _arg2:int):void{ var _local3:Sprite; if (_spToolTip != null){ _spToolTipHolder.x = _arg1; _spToolTipHolder.y = _arg2; _local3 = (_spToolTip.getChildByName("mcImageHolder") as Sprite); if (((((!((_strToolTipImage == null))) && (!((_local3 == null))))) && ((_local3.numChildren == 0)))){ loadImage(_local3); return; }; setPosition(); }; } public function onOut():void{ if (_spToolTipHolder != null){ _spToolTipHolder.visible = true; _spToolTipHolder.removeEventListener(Event.ENTER_FRAME, hideToolTip); _spToolTipHolder.removeEventListener(Event.ENTER_FRAME, showToolTip); _spToolTipHolder.addEventListener(Event.ENTER_FRAME, hideToolTip); }; } private function setPosition():void{ var _local1:HSPoint = _arrPoints[0]; var _local2:HSPoint = _arrPoints[1]; var _local3 = 5; resetPosition(); _spToolTipHolder.scaleX = (_spToolTipHolder.scaleY = 1); _spToolTip.y = (_spToolTip.y - (_spToolTip.height - _local3)); if ((_spToolTipHolder.x + _spToolTipHolder.width) > Controller.instance.model.configManager.pageWidthSE){ _spToolTip.x = (_spToolTip.x - _spToolTip.width); }; if (((_local1.y - _spToolTipHolder.height) - _local3) <= 0){ _spToolTip.y = _local3; }; _spToolTipHolder.scaleX = (_spToolTipHolder.scaleY = 0); _spToolTipHolder.visible = true; _spToolTipHolder.removeEventListener(Event.ENTER_FRAME, hideToolTip); _spToolTipHolder.removeEventListener(Event.ENTER_FRAME, showToolTip); _spToolTipHolder.addEventListener(Event.ENTER_FRAME, showToolTip); } private function resetPosition():void{ _spToolTip.x = (_spToolTip.y = 0); } private function setToolTipText(_arg1:String):void{ var _local2:TextField = (_spToolTip.getChildByName("txtTooltip") as TextField); _local2.autoSize = TextFieldAutoSize.LEFT; _local2.multiline = true; _local2.wordWrap = false; _local2.mouseEnabled = false; if (Config.ENABLE_HTML_TEXT){ _local2.htmlText = _arg1; } else { _local2.text = _arg1; }; } private function onLoadComplete(_arg1:Event):void{ _arg1.target.removeEventListener(ImageLoader.LOAD_COMPLETE, onLoadComplete); var _local2:Sprite = (_spToolTip.getChildByName("mcImageMask") as Sprite); var _local3:TextField = (_spToolTip.getChildByName("txtTooltip") as TextField); if (_local2 != null){ _local3.x = _local2.x; _local3.y = (_local2.x + _local2.height); }; setPosition(); } } }//package view
Section 204
//DropDown (view.DropDown) package view { import controller.*; import flash.events.*; import flash.display.*; import model.*; public class DropDown extends EventDispatcher { private var _fOnClickDropDownMenuItem:Function; private var _objDropDownMenu:Menu; private var _objDropDownControl:CustomButton; public function DropDown(_arg1:DisplayObject, _arg2:Sprite, _arg3:Function, _arg4:Boolean=false, _arg5:Boolean=false):void{ _objDropDownControl = new CustomButton(_arg1); _objDropDownControl.__bToggle = true; _objDropDownControl.setState(CustomButton.STATE_NORMAL); _objDropDownControl.addEventListener(MouseEvent.CLICK, displayDropDownMenu); _fOnClickDropDownMenuItem = _arg3; _objDropDownMenu = new Menu(_arg2, onClickDropDownMenuItem, _arg4, _arg5); _objDropDownMenu.show(false); } public function get dropDownControlInstance():DisplayObject{ return (_objDropDownControl.instance); } public function setDropDownControlState(_arg1:String):void{ _objDropDownControl.setState(_arg1); } public function onClickDropDownMenuItem(_arg1:String, _arg2:Boolean):void{ _fOnClickDropDownMenuItem(_arg1, _arg2); _objDropDownControl.setGfxState(_arg1); } public function selectedMenuItem(_arg1:String):void{ _objDropDownMenu.selectedMenuItem(_arg1); } private function displayDropDownMenu(_arg1:Object):void{ var objControl = _arg1; if (objControl.currentState == CustomButton.STATE_SELECTED){ _objDropDownMenu.show(true); try { Controller.instance.addDropDownTabItems(Controller.instance.stage.focus.name, _objDropDownMenu.getSearchTabItem()); } catch(e:Error) { }; } else { if (objControl.currentState == CustomButton.STATE_NORMAL){ Controller.instance.onShowContent(); _objDropDownMenu.show(false); }; }; dispatchEvent(new Event(Constants.DROPDOWN_CONTROL_CLICK)); } public function enableMenuItem(_arg1:String, _arg2:Boolean):void{ _objDropDownMenu.enableItem(_arg1, _arg2); } public function get dropDownMenuItems():Array{ return (_objDropDownMenu.menuItems); } public function get dropDownControl():CustomButton{ return (_objDropDownControl); } public function get dropDownMenuInstance():Sprite{ return (_objDropDownMenu.menuInstance); } } }//package view
Section 205
//ErrorPanel (view.ErrorPanel) package view { import controller.*; import flash.events.*; import flash.display.*; import flash.text.*; public class ErrorPanel extends WrappedDisplayObject { private var _close:SimpleButton; private var _ok:SimpleButton; public function ErrorPanel(_arg1:DisplayObject){ super(_arg1); if (_arg1 != null){ _close = (getChildByName("btnClose") as SimpleButton); _ok = (getChildByName("btnok") as SimpleButton); }; if (_close != null){ _close.addEventListener(MouseEvent.CLICK, onClose, false, 0, true); }; if (_ok != null){ _ok.addEventListener(MouseEvent.CLICK, onClose, false, 0, true); }; } private function onClose(_arg1:MouseEvent):void{ showWindow(false); } public function showWindow(_arg1:Boolean):void{ this.visible = _arg1; Controller.instance.onPopUp(_arg1); } public function showError(_arg1:String):void{ var _local2:TextField; if (instance != null){ _local2 = (getChildByName("txtDescription") as TextField); if (_local2 != null){ _local2.text = _arg1; }; showWindow(true); }; } public function getGlossaryTabItems():Array{ var _local1:Array = new Array(); if (instance != null){ _local1.push({item:_close, tabIndex:1, shortcut:"", alt:""}); _local1.push({item:_ok, tabIndex:2, shortcut:"", alt:""}); }; return (_local1); } } }//package view
Section 206
//ExitPanel (view.ExitPanel) package view { import controller.*; import flash.events.*; import flash.display.*; public class ExitPanel extends WrappedDisplayObject { public function ExitPanel(_arg1:DisplayObject){ super(_arg1); var _local2:SimpleButton = (getChildByName("btnYes") as SimpleButton); var _local3:SimpleButton = (getChildByName("btnNo") as SimpleButton); _local2.addEventListener(MouseEvent.CLICK, onYesClicked, false, 0, true); _local3.addEventListener(MouseEvent.CLICK, onNoClicked, false, 0, true); } public function showPopUp(_arg1:Boolean):void{ this.visible = _arg1; Controller.instance.onPopUp(_arg1); } public function getGlossaryTabItems():Array{ var _local1:Array = new Array(); if (instance != null){ _local1.push({item:SimpleButton(getChildByName("btnYes")), tabIndex:1, shortcut:"", alt:""}); _local1.push({item:SimpleButton(getChildByName("btnNo")), tabIndex:2, shortcut:"", alt:""}); }; return (_local1); } private function onYesClicked(_arg1:MouseEvent):void{ showPopUp(false); Controller.instance.view.toolbar.exitEbook(); } private function onNoClicked(_arg1:MouseEvent):void{ showPopUp(false); } } }//package view
Section 207
//GlobalNotesPanel (view.GlobalNotesPanel) package view { import controller.*; import flash.events.*; import flash.display.*; import model.*; import flash.geom.*; import accessibility.*; import view.AdvanceFeatures.GlobalNotes.*; public class GlobalNotesPanel extends WrappedDisplayObject { private var _dragBar:MovieClip; private var _bg:MovieClip; private var globalNotesNav:GlobalNotesNavigator; private var _scrollbars:Scrollbars; private var _editMode:Boolean;// = true private var _instance:Sprite; private var _close:MovieClip; public static var _arrTabItems:Array; public function GlobalNotesPanel(_arg1:DisplayObject){ super(_arg1); _instance = (_arg1 as Sprite); _scrollbars = new Scrollbars(getChildByName("mcScrollbars"), "GlobalNotes"); _scrollbars.visible = false; _bg = (getChildByName("mcGlobalNotesBg") as MovieClip); _bg.mcThemeClip.gotoAndStop(1); _close = (getChildByName("btnClose") as MovieClip); _close.mcThemeClip.gotoAndStop(1); _close.addEventListener(MouseEvent.CLICK, onClose, false, 0, true); _dragBar = (getChildByName("mcGlobalNotesDragBar") as MovieClip); _dragBar.mcThemeClip.gotoAndStop(1); _dragBar.addEventListener(MouseEvent.MOUSE_DOWN, onGlobalNotesDrag, false, 0, true); _dragBar.addEventListener(MouseEvent.MOUSE_UP, onGlobalNotesDrop, false, 0, true); _dragBar.stage.addEventListener(MouseEvent.MOUSE_UP, onGlobalNotesDrop, false, 0, true); _dragBar.stage.addEventListener(MouseEvent.CLICK, onGlobalNotesDrop, false, 0, true); var _local2:MovieClip = (getChildByName("mcMask") as MovieClip); globalNotesNav = new GlobalNotesNavigator(this); addChild(globalNotesNav); globalNotesNav.x = _local2.x; globalNotesNav.y = (_local2.y + 10); } public function getTabItems():Array{ var _local1:Array = new Array(); _local1.push({item:_close, tabIndex:1, shortcut:"", alt:""}); _local1 = globalNotesNav.arrangeTabItems(_local1); return (_local1); } private function onGlobalNotesDrag(_arg1:MouseEvent):void{ var _local2:Sprite = Controller.instance.view.dragarea; var _local3:Rectangle = new Rectangle(_local2.x, _local2.y, ((_local2.x + _local2.width) - _bg.width), (_local2.height - _bg.height)); _instance.startDrag(false, _local3); } public function showGlobalNotesPanel(_arg1:Boolean):void{ if (_arg1){ Controller.instance.view.toolbar.deActivateFreehandTool(); Controller.instance.initilizeAccesibility(AccessibilityConstants.GLOBALNOTES_POPUP); }; visible = _arg1; } override public function set visible(_arg1:Boolean):void{ instance.visible = _arg1; if (_arg1){ Controller.instance.model.drawObject.drawingSprite = new Array(globalNotesNav.notesThumbContainer.selectedPage.drawingCanvas); Controller.instance.view.toolbar.onShowGlobalNotesPanel(_arg1); }; } private function onGlobalNotesDrop(_arg1:MouseEvent):void{ _instance.stopDrag(); } private function onClose(_arg1:MouseEvent):void{ var _local2:Controller = Controller.instance; showGlobalNotesPanel(false); Controller.instance.view.toolbar.deActivateFreehandTool(); Controller.instance.model.drawObject.drawingSprite = null; Controller.instance.view.toolbar.onShowGlobalNotesPanel(false); } public function createExistingPages():void{ globalNotesNav.notesThumbContainer.createExistingPages(); } } }//package view
Section 208
//GlossaryCallOut (view.GlossaryCallOut) package view { import controller.*; import model.*; public class GlossaryCallOut { private var _objData:Glossary; private var _arrData:Array; public function init():void{ updateGlossaryContent("english"); } public function gotoItem(_arg1:String, _arg2:Object):void{ var _local3:Array = getArrWords(_arg1.charAt(0).toUpperCase()); Controller.instance.openInternalPopup(null, _arg1, "Internal", "glossary", getDescription(_arg1, _local3), _arg2); } public function updateGlossaryContent(_arg1:String=null, _arg2:Glossary=null):void{ var _local5:int; var _local6:Object; var _local7:Array; var _local8:int; var _local9:Array; var _local10:int; var _local11:Object; var _local12:Object; var _local13:Object; _arrData = new Array(); var _local3:Controller = Controller.instance; var _local4:Model = _local3.model; _objData = null; if (_objData == null){ if (_arg2 != null){ _objData = _arg2; } else { _objData = _local4.getGlossaryData(); }; _local5 = 0; while (_local5 < _objData.alphabet.length) { _local6 = new Object(); _local6.alphabet = _objData.alphabet[_local5].value; _local6.arrWords = new Array(); _local7 = _objData.alphabet[_local5].member; if (_objData.substituteHolder != undefined){ _local9 = new Array(); _local10 = 0; while (_local10 < _objData.substituteHolder.length) { _local11 = new Object(); _local11.arrWords = new Array(); _local11.alphabet = _objData.substituteHolder[_local10].value; _local11.arrWords = _objData.substituteHolder[_local10].substituteChars; _local9.push(_local11); _local10++; }; }; _local8 = 0; while (_local8 < _local7.length) { _local12 = _local7[_local8]; _local13 = new Object(); _local13.word = _local12.value; _local13.jumpDown = _local12.jumpDown; _local13.langReferenceId = _local12.langReferenceId; _local13.description = _local12.description; _local13.url = _local12.audioURL; _local13.imageUrl = _local12.imageURL; _local13.sections = ((_local12.sections)!=undefined) ? String(_local12.sections).split(",") : null; if (_local12.alternativeValue != undefined){ _local13.valueAlt = _local12.alternativeValue; _local13.descriptionAlt = _local12.alternativeDescription; }; _local6.arrWords.push(_local13); _local8++; }; _arrData.push(_local6); _local5++; }; }; } private function getDescription(_arg1:String, _arg2:Array):String{ var _local3:uint = _arg2.length; var _local4:int; while (_local4 < _local3) { if (_arg2[_local4].word == _arg1){ return (_arg2[_local4].description); }; _local4++; }; return (null); } private function getArrWords(_arg1:String):Array{ var _local2:Array = new Array(); _local2 = null; var _local3:uint = _arrData.length; var _local4:int; while (_local4 < _local3) { if (_arrData[_local4].alphabet.toLowerCase() == _arg1.toLowerCase()){ _local2 = _arrData[_local4].arrWords; return (_local2); }; _local4++; }; return (_local2); } } }//package view
Section 209
//GlossaryPanel (view.GlossaryPanel) package view { import controller.*; import flash.events.*; import flash.display.*; import model.*; import flash.geom.*; import accessibility.*; import flash.text.*; import view.AdvanceFeatures.GlobalNotes.*; public class GlossaryPanel extends WrappedDisplayObject { private var _dragBar:DisplayObject; private var _objData:Glossary; private var _btnEnglishTab:CustomButton; private var _iGap:Number; private var _mcLastSelectedBar:MovieClip; private var arrWordsTabItems:Array; private var _strAlpha:String; private var _scrollbars:Scrollbars; private var _nWordContainerWidth:int; private var arrAlphabetsTabItems:Array; private var _mask:Sprite; private var _activeWord:String; private var _toggleButtonBar:ToggleButtonBar; private var _arrActiveAlphabet:Array; private var _bg:Sprite; private var _nMaxWordWidth:int; private var _nLeftMargin:int; private var _arrData:Array; private var _currentAlternativeLangRefId:String;// = "undefined" private var _instance:Sprite; private var _close:DisplayObject; private var _scrollPane:CustomScrollPane; private var _btnSpanishTab:CustomButton; private var _blnIncreaseWidth:Boolean; private static var glossaryWord:Class = GlossaryPanel_glossaryWord; public function GlossaryPanel(_arg1:DisplayObject){ var _local4:TextField; super(_arg1); _instance = (_arg1 as Sprite); _arrData = new Array(); _objData = null; _nLeftMargin = 0; if (Config.GLOSSARY_DATA["MULTI_LANGUAGE"]){ _toggleButtonBar = new ToggleButtonBar(["_mcGlossaryEnglishBtn", "_mcGlossarySpanishBtn"], _instance); _toggleButtonBar.addEventListener(ToggleButtonBar.BUTTON_CLICK, toggleButtonClickHandler); }; _scrollbars = new Scrollbars(getChildByName("mcScrollbars"), "Glossary"); _bg = (getChildByName("mcSrchPanelBg") as Sprite); _mask = (getChildByName("mcMask") as Sprite); _dragBar = (getChildByName("mcDragBar") as DisplayObject); _dragBar.addEventListener(MouseEvent.MOUSE_DOWN, onGlossaryDrag, false, 0, true); _dragBar.addEventListener(MouseEvent.MOUSE_UP, onGlossaryDrop, false, 0, true); _close = (getChildByName("btnClose") as DisplayObject); _close.addEventListener(MouseEvent.CLICK, onClose, false, 0, true); var _local2:TextField = (_instance.getChildByName("txtWord") as TextField); var _local3:MovieClip = (_instance.getChildByName("txtMc") as MovieClip); if (_local3 != null){ _local4 = (_local3.getChildByName("txtDescription") as TextField); _scrollPane = new CustomScrollPane(); _instance.addChildAt(_scrollPane, _instance.getChildIndex(_local3)); _scrollPane.x = _local3.x; _scrollPane.y = _local3.y; _scrollPane.height = _local3.height; _scrollPane.width = (_local3.width + 15); _scrollPane.visible = false; } else { _local4 = (_instance.getChildByName("txtDescription") as TextField); }; _iGap = ((_local4.y - _local2.y) - _local2.height); _local4.autoSize = TextFieldAutoSize.LEFT; } private function updateGlossaryContent(_arg1:String):void{ var _local4:int; var _local5:Object; var _local6:Array; var _local7:int; var _local8:Array; var _local9:int; var _local10:Object; var _local11:Object; var _local12:Object; _arrData = new Array(); arrAlphabetsTabItems = new Array(); arrWordsTabItems = new Array(); var _local2:Controller = Controller.instance; var _local3:Model = _local2.model; _objData = null; if (_objData == null){ if (!Config.GLOSSARY_DATA["MULTI_LANGUAGE"]){ _objData = _local3.getGlossaryData(); } else { _objData = GlossaryXMLData.getInstance().glossaryDataByLanguage(_arg1); if (Controller.instance.glossaryCallOut != null){ Controller.instance.glossaryCallOut.updateGlossaryContent(null, _objData); }; }; _local4 = 0; while (_local4 < _objData.alphabet.length) { _local5 = new Object(); _local5.alphabet = _objData.alphabet[_local4].value; _local5.arrWords = new Array(); _local6 = _objData.alphabet[_local4].member; if (_objData.substituteHolder != undefined){ _local8 = new Array(); _local9 = 0; while (_local9 < _objData.substituteHolder.length) { _local10 = new Object(); _local10.arrWords = new Array(); _local10.alphabet = _objData.substituteHolder[_local9].value; _local10.arrWords = _objData.substituteHolder[_local9].substituteChars; _local8.push(_local10); _local9++; }; if (Config.GLOSSARY_DATA["WORD_SORT"]){ _local6 = customSortMethod(_local8, _local6); }; } else { if (Config.GLOSSARY_DATA["WORD_SORT"]){ _local6.sortOn("value", Array.CASEINSENSITIVE); }; }; _local7 = 0; while (_local7 < _local6.length) { _local11 = _local6[_local7]; _local12 = new Object(); _local12.word = _local11.value; _local12.jumpDown = _local11.jumpDown; _local12.langReferenceId = _local11.langReferenceId; _local12.description = _local11.description; _local12.url = _local11.audioURL; _local12.imageUrl = _local11.imageURL; _local12.sections = ((_local11.sections)!=undefined) ? String(_local11.sections).split(",") : null; if (_local11.alternativeValue != undefined){ _local12.valueAlt = _local11.alternativeValue; _local12.descriptionAlt = _local11.alternativeDescription; }; _local5.arrWords.push(_local12); _local7++; }; _arrData.push(_local5); _local4++; }; }; setScreen(); } private function getCurrentBreadCrumb():Array{ var _local1:Model = Controller.instance.model; var _local2:uint = Controller.instance.view.content.pageCount; var _local3:Array = new Array(); var _local4:uint; while ((((_local4 < _local2)) && (((_local1.loadingPageIndex - _local4) > 0)))) { _local3.push(_local1.getCurrentBreadCrumb((_local1.loadingPageIndex - _local4))); _local4++; }; return (_local3); } private function onAlphabet(_arg1:MouseEvent):void{ _strAlpha = _arg1.currentTarget.name.split("_")[1]; Controller.instance.tracer(_strAlpha); createWordsList(_strAlpha); } private function getJumpPosition(_arg1:String):int{ var _local2:int; while (_local2 < _arrActiveAlphabet.length) { if (_arrActiveAlphabet[_local2].word == _arg1){ return (_arrActiveAlphabet[_local2].jumpDown); }; _local2++; }; return (0); } public function init():void{ updateGlossaryContent("english"); var _local1:MovieClip = (_instance.getChildByName("mc_A") as MovieClip); _local1.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); } private function getImageUrl(_arg1:String):String{ var _local2:int; while (_local2 < _arrActiveAlphabet.length) { if (_arrActiveAlphabet[_local2].word == _arg1){ return (_arrActiveAlphabet[_local2].imageUrl); }; _local2++; }; return (null); } private function clearList():void{ var _local5:TextField; var _local1:Controller = Controller.instance; var _local2:Sprite = (_instance.getChildByName("mcWordList") as Sprite); while (_local2.numChildren > 0) { _local2.removeChildAt(0); }; var _local3:TextField = (_instance.getChildByName("txtWord") as TextField); var _local4:MovieClip = (_instance.getChildByName("txtMc") as MovieClip); if (_local4 != null){ _local5 = (_local4.getChildByName("txtDescription") as TextField); _scrollPane.visible = false; } else { _local5 = (_instance.getChildByName("txtDescription") as TextField); }; var _local6:TextField = (_instance.getChildByName("txtWordAlt") as TextField); var _local7:TextField = (_instance.getChildByName("txtDescriptionAlt") as TextField); var _local8:Sprite = (_instance.getChildByName("mcAudio") as Sprite); _local8.removeEventListener(MouseEvent.CLICK, onAudio); _local3.text = ""; _local5.text = ""; if (_local6 != null){ _local6.text = ""; }; if (_local7 != null){ _local7.text = ""; }; _local1.stopAudio(); _local8.visible = false; var _local9:Sprite = (_instance.getChildByName("mcGlossaryImage") as Sprite); if (_local9 != null){ _local9.visible = false; }; } private function enableButton(_arg1:Sprite, _arg2:Boolean):void{ _arg1.buttonMode = _arg2; _arg1.mouseEnabled = _arg2; if (_arg2){ _arg1.alpha = 1; } else { _arg1.alpha = 0.5; }; } public function gotoItem(_arg1:String):void{ var srtAlphabet:String; var spAlhabet:MovieClip; var spListArea:Sprite; var spWord:Sprite; var nWordIndx:int; var nTotalItems:int; var nHeightFactor:Number; var strItem = _arg1; try { srtAlphabet = strItem.charAt(0).toUpperCase(); spAlhabet = (_instance.getChildByName(("mc_" + srtAlphabet)) as MovieClip); spAlhabet.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); spListArea = (_instance.getChildByName("mcWordList") as Sprite); spWord = (spListArea.getChildByName(strItem.toLowerCase()) as Sprite); if (spWord == null){ spWord = (spListArea.getChildByName(strItem.toUpperCase()) as Sprite); }; if (spWord == null){ spWord = (spListArea.getChildByName(strItem) as Sprite); }; if (spWord != null){ spWord.getChildByName("btnBar").dispatchEvent(new MouseEvent(MouseEvent.CLICK)); nWordIndx = spListArea.getChildIndex(spWord); nTotalItems = spListArea.numChildren; nHeightFactor = ((nWordIndx + 1) / nTotalItems); autoscroll(nHeightFactor); }; } catch(e:Error) { }; } private function onWord(_arg1:MouseEvent):void{ var _local2:Object = _arg1.currentTarget; var _local3:String = _local2.parent.name; if (_local3 == "btnBar"){ _local2 = _local2.parent; }; var _local4:MovieClip = (_local2 as MovieClip); if (_local4 != null){ if (((!((_mcLastSelectedBar == null))) && (hasLabel(_mcLastSelectedBar, "normal")))){ _mcLastSelectedBar.gotoAndStop("normal"); }; if (hasLabel(_local4, "selected")){ _local4.gotoAndStop("selected"); _mcLastSelectedBar = _local4; }; }; _activeWord = _local2.parent.name; showDetails(); } public function onScrollVertical(_arg1:Number):void{ var _local2:Sprite = (_instance.getChildByName("mcWordList") as Sprite); _local2.y = -(_arg1); reArrangeAccessibility(); } private function removeMovieClipAllChildren(_arg1):void{ var _local2:int = (_arg1.numChildren - 1); while (_local2 > -1) { _arg1.removeChildAt(_local2); _local2--; }; } private function showDetails():void{ var _local5:TextField; var _local9:String; var _local10:String; var _local11:Sprite; var _local12:Number; var _local13:Number; var _local14:ImageLoader; var _local15:String; var _local1:Controller = Controller.instance; var _local2:Model = _local1.model; var _local3:TextField = (_instance.getChildByName("txtWord") as TextField); var _local4:MovieClip = (_instance.getChildByName("txtMc") as MovieClip); if (_local4 != null){ _local5 = (_local4.getChildByName("txtDescription") as TextField); _scrollPane.visible = true; } else { _local5 = (_instance.getChildByName("txtDescription") as TextField); }; var _local6:Sprite = (_instance.getChildByName("mcAudio") as Sprite); var _local7:Sprite = (_instance.getChildByName("mcGlossaryImage") as Sprite); var _local8:TextFormat = new TextFormat(); _local6.visible = true; _local3.autoSize = TextFieldAutoSize.LEFT; _local6.addEventListener(MouseEvent.CLICK, onAudio, false, 0, true); _currentAlternativeLangRefId = getAleternativeLangRefId(_activeWord); if (_local7 != null){ removeMovieClipAllChildren(_local7); _local10 = getImageUrl(_activeWord); if (((!((_local10 == null))) && (!((_local10 == ""))))){ _local11 = (_instance.getChildByName("glossaryImageMaskMc") as Sprite); _local12 = _local11.width; _local13 = _local11.height; if (_local11 != null){ _local12 = _local11.width; _local13 = _local11.height; _local7.x = _local11.x; _local7.y = _local11.y; }; if (!Config.GLOSSARY_DATA["GLOSSARY_IMAGE_RESIZABLE"]){ _local12 = -1; _local13 = -1; }; _local14 = new ImageLoader(); _local14.loadImage(_local10, _local12, _local13); _local7.addChild(_local14); _local7.visible = true; }; }; _local9 = getAudioUrl(_activeWord); if (((!((_local9 == ""))) && (!((_local9 == null))))){ enableButton(_local6, true); } else { enableButton(_local6, false); }; if (Config.ENABLE_HTML_TEXT){ _local3.htmlText = (("<b>" + _activeWord) + "</b>"); } else { _local3.text = _activeWord; }; if (_activeWord.indexOf("@") > -1){ _local15 = _local3.text; _local15 = _local15.split("@").join(""); if (Config.ENABLE_HTML_TEXT){ _local3.htmlText = (("<b>" + _local15) + "</b>"); } else { _local3.text = _local15; }; }; Controller.instance.tracer(("getDescription(_activeWord): " + getDescription(_activeWord))); if (getDescription(_activeWord) != null){ _local5.htmlText = getDescription(_activeWord); }; _local5.y = ((_local3.y + _local3.height) + _iGap); setAlternateDescription(); reArrangeAccessibility(); if (((!((_local4 == null))) && (!((_scrollPane == null))))){ _local4.x = _scrollPane.x; _local4.y = _scrollPane.y; _scrollPane.source = _local4; }; } private function setAlternateDescription():void{ var _local2:TextField; var _local3:TextField; var _local1:Boolean = (_instance.getChildByName("txtWordAlt") as Boolean); if (_local1){ if (getAltValue(_activeWord) != null){ _local2 = (_instance.getChildByName("txtWordAlt") as TextField); _local3 = (_instance.getChildByName("txtDescriptionAlt") as TextField); if (Config.ENABLE_HTML_TEXT){ _local2.htmlText = (("<b>" + getAltValue(_activeWord)) + "</b>"); } else { _local2.text = getAltValue(_activeWord); }; _local3.htmlText = getAltDescription(_activeWord); }; }; } private function getAleternativeLangRefId(_arg1:String):String{ var _local2:int; while (_local2 < _arrActiveAlphabet.length) { if (_arrActiveAlphabet[_local2].word == _arg1){ return (String(_arrActiveAlphabet[_local2].langReferenceId)); }; _local2++; }; return (null); } private function getAudioUrl(_arg1:String):String{ var _local2:int; while (_local2 < _arrActiveAlphabet.length) { if (_arrActiveAlphabet[_local2].word == _arg1){ return (_arrActiveAlphabet[_local2].url); }; _local2++; }; return (null); } private function getWordFromId(_arg1:Number):String{ return (String(_arrActiveAlphabet[_arg1].word)); } private function onAudio(_arg1:MouseEvent):void{ var _local2:Controller = Controller.instance; var _local3:Model = _local2.model; _local2.loadAudio(getAudioUrl(_activeWord), null); } private function enableCurrentSectionWord(_arg1:Array, _arg2:Array, _arg3:Sprite):void{ var _local4:Boolean; var _local5:uint; var _local6:uint; var _local7:uint; var _local8:uint; if (_arg2 == null){ setWordClipState(_arg3, true); } else { _local4 = false; _local5 = _arg1.length; _local6 = _arg2.length; _local7 = 0; while (_local7 < _local5) { _local8 = 0; while (_local8 < _local6) { if (_arg1[_local7] == _arg2[_local8]){ _local4 = true; break; }; _local8++; }; if (_local4 == true){ break; }; _local7++; }; setWordClipState(_arg3, _local4); }; } public function showGlossary(_arg1:Boolean):void{ _instance.visible = _arg1; var _local2:MovieClip = (_instance.getChildByName(("mc_" + _strAlpha)) as MovieClip); if (_local2 != null){ _local2.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); }; Controller.instance.onPopUp(_arg1); } private function autoscroll(_arg1:Number):void{ var _local2:Scrollbar = _scrollbars.verticalScroll; _local2.autoScroll(_arg1); } private function updateScrollbars():void{ var _local1:Sprite = (_instance.getChildByName("mcWordList") as Sprite); var _local2:Number = _nMaxWordWidth; var _local3:Number = _local1.height; if (_blnIncreaseWidth){ }; var _local4:Number = _scrollbars.update((_local2 - (_mask.width + _mask.x)), (_local3 - _mask.height)); if (_local4 < 0){ }; if (_local1.x < 5){ }; } private function getAltDescription(_arg1:String):String{ var _local2:int; while (_local2 < _arrActiveAlphabet.length) { if (_arrActiveAlphabet[_local2].word == _arg1){ return (_arrActiveAlphabet[_local2].descriptionAlt); }; _local2++; }; return (null); } private function onGlossaryDrop(_arg1:MouseEvent):void{ _instance.stopDrag(); } private function getAltValue(_arg1:String):String{ var _local2:int; while (_local2 < _arrActiveAlphabet.length) { if (_arrActiveAlphabet[_local2].word == _arg1){ return (_arrActiveAlphabet[_local2].valueAlt); }; _local2++; }; return (null); } private function getDescription(_arg1:String):String{ var _local2:int; while (_local2 < _arrActiveAlphabet.length) { if (_arrActiveAlphabet[_local2].word == _arg1){ return (_arrActiveAlphabet[_local2].description); }; _local2++; }; return (null); } private function replaceAlphabet(_arg1:String, _arg2:String, _arg3:String):String{ var _local4:Number; var _local5:Number; while (_arg1.indexOf(_arg2) != -1) { _local4 = _arg1.indexOf(_arg2); _local5 = _arg2.length; _arg1 = ((_arg1.substring(0, _local4) + _arg3) + _arg1.substring((_local4 + _local5), _arg1.length)); }; return (_arg1); } private function trimLeft(_arg1:String):String{ var _local2:int; while (_local2 < _arg1.length) { if (_arg1.charAt(0) == " "){ _arg1 = _arg1.substring(1, _arg1.length); } else { break; }; _local2++; }; return (_arg1); } private function getArrWords(_arg1:String):Array{ var _local2:Array = new Array(); _local2 = null; var _local3:int; while (_local3 < _arrData.length) { if (_arrData[_local3].alphabet.toLowerCase() == _arg1.toLowerCase()){ _local2 = _arrData[_local3].arrWords; return (_local2); }; _local3++; }; return (_local2); } public function onScrollHorizontal(_arg1:Number):void{ var _local2:Sprite = (_instance.getChildByName("mcWordList") as Sprite); _local2.x = -(_arg1); } private function createWordsList(_arg1:String):void{ var _local5:DisplayObject; var _local11:Sprite; var _local12:TextField; var _local13:String; var _local14:RegExp; var _local15:Array; var _local16:int; var _local17:Array; var _local18:int; var _local19:MovieClip; _strAlpha = _arg1; clearList(); arrWordsTabItems = new Array(); var _local2:Controller = Controller.instance; var _local3:Model = _local2.model; var _local4:TextFormat = new TextFormat(); _nMaxWordWidth = 0; _arrActiveAlphabet = getArrWords(_strAlpha); _blnIncreaseWidth = false; var _local6:Array = new Array(); _local6 = getCurrentBreadCrumb(); var _local7 = 1; while (_local7 <= _arrActiveAlphabet.length) { _local11 = new glossaryWord(); _local12 = (_local11.getChildByName("txtResult") as TextField); _local12.embedFonts = true; _local12.autoSize = TextFieldAutoSize.LEFT; if (Config.ENABLE_HTML_TEXT){ _local13 = _arrActiveAlphabet[(_local7 - 1)].word; _local14 = /\</g; _local13 = _local13.replace(_local14, "&lt;"); _local14 = /\>/g; _local13 = _local13.replace(_local14, "&gt;"); _arrActiveAlphabet[(_local7 - 1)].word = _local13; }; if (Config.ENABLE_HTML_TEXT){ _local12.htmlText = (("<b>" + _arrActiveAlphabet[(_local7 - 1)].word) + "</b>"); } else { _local12.text = _arrActiveAlphabet[(_local7 - 1)].word; }; if (((Config.USE_COMMA_AS_SEPARATOR_IN_GLOSSARY) && ((_local12.text.indexOf(",") > -1)))){ _local15 = _local12.text.split(","); _local16 = 0; while (_local16 < _local15.length) { _local15[_local16] = trimLeft(_local15[_local16]); _local16++; }; _local12.text = _local15.join(",\n"); _local12.htmlText = (("<b>" + _local12.text) + "</b>"); _local11.getChildByName("btnBar").height = ((2 * _local11.getChildByName("btnBar").height) - 10); } else { if (_local12.text.indexOf("@") > -1){ _local17 = _local12.text.split("@"); _local18 = 0; while (_local18 < _local17.length) { _local17[_local18] = trimLeft(_local17[_local18]); _local18++; }; _local12.text = _local17.join("\n"); _local12.htmlText = (("<b>" + _local12.text) + "</b>"); _local11.getChildByName("btnBar").height = ((2 * _local11.getChildByName("btnBar").height) - 10); }; }; if (_nMaxWordWidth < _local11.width){ _nMaxWordWidth = _local11.width; }; _local7++; }; var _local8:Sprite = (_instance.getChildByName("mcWordList") as Sprite); var _local9:int = _mask.y; var _local10:int = _mask.x; _local7 = 1; while (_local7 <= _arrActiveAlphabet.length) { _local11 = new glossaryWord(); _local11.name = _arrActiveAlphabet[(_local7 - 1)].word; _local12 = (_local11.getChildByName("txtResult") as TextField); _local12.mouseEnabled = false; _local12.autoSize = TextFieldAutoSize.LEFT; if (Config.ENABLE_HTML_TEXT){ _local12.htmlText = (("<b>" + _arrActiveAlphabet[(_local7 - 1)].word) + "</b>"); } else { _local12.text = _arrActiveAlphabet[(_local7 - 1)].word; }; if (((Config.USE_COMMA_AS_SEPARATOR_IN_GLOSSARY) && ((_local12.text.indexOf(",") > -1)))){ _local15 = _local12.text.split(","); _local16 = 0; while (_local16 < _local15.length) { _local15[_local16] = trimLeft(_local15[_local16]); _local16++; }; _local12.text = _local15.join(",\n"); if (Config.ENABLE_HTML_TEXT){ _local12.htmlText = (("<b>" + _local12.text) + "</b>"); }; _local11.getChildByName("btnBar").height = ((2 * _local11.getChildByName("btnBar").height) - 10); } else { if (_local12.text.indexOf("@") > -1){ _local17 = _local12.text.split("@"); _local18 = 0; while (_local18 < _local17.length) { _local17[_local18] = trimLeft(_local17[_local18]); _local18++; }; _local12.text = _local17.join("\n"); if (Config.ENABLE_HTML_TEXT){ _local12.htmlText = (("<b>" + _local12.text) + "</b>"); }; _local11.getChildByName("btnBar").height = ((2 * _local11.getChildByName("btnBar").height) - 10); }; }; _local11.getChildByName("btnBar").addEventListener(MouseEvent.CLICK, onWord, false, 0, true); _local5 = (_local11.getChildByName("btnBar") as DisplayObject); _local19 = (_local5 as MovieClip); if (_local19 != null){ if (hasLabel(_local19, "normal")){ _local19.gotoAndStop("normal"); }; }; if ((_nMaxWordWidth + _nLeftMargin) > _mask.width){ _blnIncreaseWidth = true; }; if (_local5.width < _nMaxWordWidth){ _local5.width = (_nMaxWordWidth + 3); _local5.width = (_nMaxWordWidth + 3); }; _local8.addChild(_local11); _local11.y = _local9; _local11.x = _local10; _local9 = (_local9 + _local11.height); arrWordsTabItems.push(_local11); enableCurrentSectionWord(_local6, _arrActiveAlphabet[(_local7 - 1)].sections, _local11); _local7++; }; if (Config.CHANGE_ITEMS_THEME != null){ setGlossaryTheme(); }; _local8.y = _mask.y; _scrollbars.verticalScroll.visible = true; _scrollbars.horizontalScroll.visible = true; _scrollbars.verticalScroll.reset(); _scrollbars.horizontalScroll.reset(); updateScrollbars(); reArrangeAccessibility(); } private function onClose(_arg1:MouseEvent):void{ showGlossary(false); } private function reArrangeAccessibility():void{ Controller.instance.initilizeAccesibility(AccessibilityConstants.GLOSSARY_POPUP); } public function setGlossaryTheme():void{ var _local1:int; var _local2:int; var _local3:DisplayObject; if (arrWordsTabItems != null){ _local1 = arrWordsTabItems.length; _local2 = 0; while (_local2 < _local1) { _local3 = (arrWordsTabItems[_local2].getChildByName("btnBar") as DisplayObject); if (Controller.instance.view.toolbar.themeHandler != null){ Controller.instance.view.toolbar.themeHandler.searchItems(_local3); }; _local2++; }; }; } public function getGlossaryTabItems():Array{ var _local7:int; var _local8:String; var _local9:Sprite; var _local10:Sprite; var _local1:Array = new Array(); if (_toggleButtonBar != null){ _local1 = _toggleButtonBar.getAccessibleObjects(); }; var _local2:Number = (_local1.length + 1); var _local3:Number = 0; while (_local3 < arrAlphabetsTabItems.length) { _local1.push({item:arrAlphabetsTabItems[_local3], tabIndex:_local2, shortcut:"", alt:""}); _local2++; _local3++; }; if (_arrActiveAlphabet != null){ _local7 = 1; while (_local7 <= _arrActiveAlphabet.length) { _local8 = _arrActiveAlphabet[(_local7 - 1)].word; _local9 = (_instance.getChildByName("mcWordList") as Sprite); _local10 = (_local9.getChildByName(_local8) as Sprite); if (_local10.hitTestObject(_mask)){ _local1.push({item:_local10.getChildByName("btnBar"), tabIndex:_local2, shortcut:"", alt:""}); _local2++; }; if (_local10.name == _activeWord){ _local1.push({item:_instance.getChildByName("mcAudio"), tabIndex:_local2, shortcut:"", alt:""}); _local2++; }; _local7++; }; }; var _local4:Array = _scrollbars.verticalScroll.accessibleButtons; _local4 = _local4.concat(_scrollbars.horizontalScroll.accessibleButtons); var _local5:Array = ["scroll up", "scroll down", "scroll left", "scroll right"]; var _local6:int; while (_local6 < _local4.length) { var _temp1 = _local2; _local2 = (_local2 + 1); _local1.push({item:_local4[_local6], tabIndex:_temp1, shortcut:"", alt:_local5[_local6]}); _local6++; }; _local1.push({item:_close, tabIndex:(_local2 + 1), shortcut:"", alt:""}); return (_local1); } private function toggleButtonClickHandler(_arg1:Event):void{ var _local6:*; var _local7:int; var _local2 = "A"; var _local3:Number = 0; if (_currentAlternativeLangRefId != "undefined"){ _local2 = _currentAlternativeLangRefId.split("_")[0]; _local3 = Number(_currentAlternativeLangRefId.split("_")[1]); }; updateGlossaryContent(Config.GLOSSARY_DATA["ALTERNATE_LANGUAGES"][_arg1.target.selectedIndex].language); var _local4:MovieClip = (_instance.getChildByName(("mc_" + _local2)) as MovieClip); _local4.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); _activeWord = getWordFromId(_local3); showDetails(); var _local5:MovieClip = (_instance.getChildByName("mcWordList") as MovieClip); if (_local5 != null){ _local7 = 0; while (_local7 < _local5.numChildren) { _local6 = _local5.getChildAt(_local7); _local6.btnBar.gotoAndStop("normal"); _local7++; }; _local6 = _local5.getChildAt(_local3); _local6.btnBar.gotoAndStop("selected"); _mcLastSelectedBar = _local6.btnBar; }; } private function setScreen():void{ var _local4:String; var _local5:MovieClip; var _local6:MovieClip; var _local7:MovieClip; clearList(); var _local1:Controller = Controller.instance; var _local2:Model = _local1.model; var _local3 = 1; while (_local3 <= 26) { _local4 = String.fromCharCode((64 + _local3)); _local5 = (_instance[("mc_" + _local4)] as MovieClip); _local5.gotoAndStop("up"); _local6 = (_local5.mcTxt as MovieClip); _local6.mouseChildren = false; _local6.mouseEnabled = false; _local6.txt.mouseEnabled = false; _local6.txt.text = String.fromCharCode((64 + _local3)); if (getArrWords(_local4) != null){ _local7 = (_local6.parent as MovieClip); _local7.addEventListener(MouseEvent.CLICK, onAlphabet, false, 0, true); _local7.buttonMode = true; arrAlphabetsTabItems.push(_local7); } else { if (hasLabel(_local5, "disabled")){ _local5.gotoAndStop("disabled"); } else { _local6.alpha = 0.5; }; }; _local3++; }; _scrollbars.verticalScroll.visible = false; _scrollbars.horizontalScroll.visible = false; } private function customSortMethod(_arg1:Array, _arg2:Array):Array{ var _local5:int; var _local6:int; var _local7:int; var _local8:Object; var _local3:Array = new Array(); var _local4:Array = new Array(); _local5 = 0; while (_local5 < _arg2.length) { _local8 = new Object(); _local8.value = _arg2[_local5].value; _local8.index = _local5; _local3.push(_local8); _local5++; }; _local7 = 0; while (_local7 < _arg1.length) { _local5 = 0; while (_local5 < _arg1[_local7].arrWords.length) { _local6 = 0; while (_local6 < _local3.length) { _local3[_local6].value = replaceAlphabet(_local3[_local6].value, _arg1[_local7].arrWords[_local5], _arg1[_local7].alphabet); _local6++; }; _local5++; }; _local7++; }; _local3.sortOn("value", Array.CASEINSENSITIVE); _local5 = 0; while (_local5 < _local3.length) { _local6 = 0; while (_local6 < _arg2.length) { if (_local3[_local5].index == _local6){ _local4[_local5] = _arg2[_local6]; }; _local6++; }; _local5++; }; return (_local4); } private function onGlossaryDrag(_arg1:MouseEvent):void{ var _local2:Sprite = Controller.instance.view.dragarea; var _local3:Rectangle = new Rectangle(_local2.x, _local2.y, ((_local2.x + _local2.width) - _bg.width), (_local2.height - _bg.height)); _instance.startDrag(false, _local3); } private function setWordClipState(_arg1:Sprite, _arg2:Boolean):void{ var _local3:SimpleButton = (_arg1.getChildByName("btnBar") as SimpleButton); var _local4:MovieClip = (_arg1.getChildByName("btnBar") as MovieClip); var _local5:Number = ((_arg2)==true) ? 1 : 0.5; var _local6:String = ((_arg2)==true) ? "normal" : "disabled"; if (_local4 != null){ if (hasLabel(_local4, _local6)){ _local4.gotoAndStop(_local6); }; _local4.mouseEnabled = _arg2; } else { SimpleButton(_local3).mouseEnabled = _arg2; }; _arg1.alpha = _local5; } } }//package view
Section 210
//GlossaryPanel_glossaryWord (view.GlossaryPanel_glossaryWord) package view { import flash.display.*; import mx.core.*; public class GlossaryPanel_glossaryWord extends SpriteAsset { public var btnZoomIn:DisplayObject; public var mcThumb:DisplayObject; public var mcContent:DisplayObject; public var mc_thumb:DisplayObject; public var mc_N:DisplayObject; public var mc_O:DisplayObject; public var mc_J:DisplayObject; public var mc_Y:DisplayObject; public var btnTeacher:DisplayObject; public var btnHTML:DisplayObject; public var btnUp:DisplayObject; public var mcIconAnim:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnBar:DisplayObject; public var txtWord:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var mcPatch:DisplayObject; public var mcBG:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var txtLink:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnLinkBg:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var btnState:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcThemeClip:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_D:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mc_K:DisplayObject; public var mc_M:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_R:DisplayObject; public var mc_L:DisplayObject; public var mcGlossary:DisplayObject; public var mc_P:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_T:DisplayObject; public var mc_U:DisplayObject; public var mc_V:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_S:DisplayObject; public var mc_B:DisplayObject; public var mc_C:DisplayObject; public var mc_W:DisplayObject; public var mcGlossaryImage:DisplayObject; } }//package view
Section 211
//Grabber (view.Grabber) package view { import controller.*; import flash.events.*; import flash.display.*; import model.*; import view.AdvanceFeatures.CustomCursor.*; public class Grabber { private var _iInitMouseY:int; private var _iInitMouseX:int; private var _classGrabCursor:Class; private var _spGrabCursor:Sprite; private var _spCursorContainer:Sprite; private static var _instance:Grabber = null; public function Grabber():void{ _classGrabCursor = Grabber__classGrabCursor; super(); } private function onMouseUp(_arg1:MouseEvent):void{ _grabState = "up"; } private function get _objScrollBars():Scrollbars{ return (Controller.instance.view.content.scrollbars); } private function onMouseDown(_arg1:MouseEvent):void{ _iInitMouseX = _cursorContainer.mouseX; _iInitMouseY = _cursorContainer.mouseY; _grabState = "down"; } private function get _cursorContainer():Sprite{ var _local1:Controller; if (_spCursorContainer == null){ _local1 = Controller.instance; _spCursorContainer = (_local1.view.content.instance as Sprite); }; return (_spCursorContainer); } public function stopProcess():void{ if (_spCursorContainer != null){ removeListeners(); showGrabCursor(false); _spGrabCursor = null; Controller.instance.view.content.currentCustomCursor = null; _spCursorContainer = null; }; } private function set _grabState(_arg1:String):void{ } private function removeListeners():void{ var _local1:Sprite = (_cursorContainer.getChildByName("mcHolder") as Sprite); _local1.removeEventListener(MouseEvent.MOUSE_WHEEL, onMouseWheel); } private function showGrabCursor(_arg1:Boolean):void{ Controller.instance.tracer(("showGrabCursor " + _arg1)); var _local2:Sprite = _cursorContainer; if (_arg1){ CursorManager.getInstance().setCustomCursor(Constants.GRABBER_CURSOR, Constants.AREA_CONTENT, true); } else { CursorManager.getInstance().setCustomCursor(Constants.GRABBER_CURSOR, Constants.AREA_CONTENT, false); }; } private function get _grabCursor():Sprite{ var _local1:Content = Controller.instance.view.content; if (_spGrabCursor == null){ _spGrabCursor = new _classGrabCursor(); _spGrabCursor.x = -100; _spGrabCursor.y = -100; _spGrabCursor.mouseEnabled = false; _cursorContainer.addChild(_spGrabCursor); _local1.currentCustomCursor = "GRABBER"; }; return (_spGrabCursor); } private function doDrag(_arg1:Boolean):void{ var _local2:int; var _local3:int; if (_arg1){ _local2 = _cursorContainer.mouseX; _local3 = _cursorContainer.mouseY; if (_local2 > _iInitMouseX){ if (_objScrollBars.horizontalScroll.visible){ _objScrollBars.horizontalScroll.movePage(-5); }; } else { if (_local2 < _iInitMouseX){ if (_objScrollBars.horizontalScroll.visible){ _objScrollBars.horizontalScroll.movePage(5); }; }; }; if (_local3 > _iInitMouseY){ if (_objScrollBars.verticalScroll.visible){ _objScrollBars.verticalScroll.movePage(-5); }; } else { if (_local3 < _iInitMouseY){ if (_objScrollBars.verticalScroll.visible){ _objScrollBars.verticalScroll.movePage(5); }; }; }; }; } private function handleEvents(_arg1:MouseEvent):void{ } public function startProcess():void{ var _local1:Sprite = (_cursorContainer.getChildByName("mcHolder") as Sprite); showGrabCursor(true); var _local2:Array = new Array(); _local2.push({eventId:MouseEvent.MOUSE_UP, callBackFunction:onMouseUp}); _local2.push({eventId:MouseEvent.MOUSE_DOWN, callBackFunction:onMouseDown}); _local2.push({eventId:MouseEvent.MOUSE_MOVE, callBackFunction:onMouseMove}); _local2.push({eventId:MouseEvent.MOUSE_OUT, callBackFunction:onMouseOut}); _local2.push({eventId:MouseEvent.MOUSE_OVER, callBackFunction:onMouseOver}); CursorManager.getInstance().registerItemListeners(_local2); _local1.addEventListener(MouseEvent.MOUSE_WHEEL, onMouseWheel); } private function onMouseWheel(_arg1:MouseEvent):void{ var _local2:Controller = Controller.instance; if (_objScrollBars.verticalScroll.visible){ _objScrollBars.verticalScroll.movePage(-((_arg1.delta * 2))); }; } private function onMouseOut(_arg1:MouseEvent):void{ _arg1.updateAfterEvent(); } private function onMouseOver(_arg1:MouseEvent):void{ _arg1.updateAfterEvent(); } public function onMouseMove(_arg1:MouseEvent):void{ doDrag(_arg1.buttonDown); _arg1.updateAfterEvent(); } public static function get instance():Grabber{ if (_instance == null){ _instance = new (Grabber); }; return (_instance); } } }//package view
Section 212
//Grabber__classGrabCursor (view.Grabber__classGrabCursor) package view { import flash.display.*; import mx.core.*; public class Grabber__classGrabCursor extends MovieClipAsset { public var btnZoomIn:DisplayObject; public var mcThumb:DisplayObject; public var mcContent:DisplayObject; public var mc_thumb:DisplayObject; public var mc_N:DisplayObject; public var mc_O:DisplayObject; public var mc_J:DisplayObject; public var mc_Y:DisplayObject; public var btnTeacher:DisplayObject; public var btnHTML:DisplayObject; public var btnUp:DisplayObject; public var mcIconAnim:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnBar:DisplayObject; public var txtWord:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var mcPatch:DisplayObject; public var mcBG:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var txtLink:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnLinkBg:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var btnState:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcThemeClip:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_D:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mc_K:DisplayObject; public var mc_M:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_R:DisplayObject; public var mc_L:DisplayObject; public var mcGlossary:DisplayObject; public var mc_P:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_T:DisplayObject; public var mc_U:DisplayObject; public var mc_V:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_S:DisplayObject; public var mc_B:DisplayObject; public var mc_C:DisplayObject; public var mc_W:DisplayObject; public var mcGlossaryImage:DisplayObject; } }//package view
Section 213
//Highlighter (view.Highlighter) package view { import flash.display.*; public class Highlighter { private var _shape:Sprite; private var _pageNo:Number; private var _coordinate:Object; private var _iColor:int; private var _ID:String; public function Highlighter(){ _shape = new Sprite(); _coordinate = new Object(); _coordinate.x = 0; _coordinate.y = 0; _ID = null; _iColor = 0; } public function set pageNo(_arg1:Number):void{ _pageNo = _arg1; } public function get shape():Sprite{ return (_shape); } public function get color():int{ return (_iColor); } public function set color(_arg1:int):void{ _iColor = _arg1; } public function set shape(_arg1:Sprite):void{ _shape = _arg1; } public function get pageNo():Number{ return (_pageNo); } public function instance():Highlighter{ return (new Highlighter()); } public function set ID(_arg1:String):void{ _ID = _arg1; } public function get ID():String{ return (_ID); } } }//package view
Section 214
//HotspotClip (view.HotspotClip) package view { import controller.*; import flash.events.*; import flash.display.*; import model.*; import flash.utils.*; import flash.text.*; public class HotspotClip extends Sprite { private var _objHotspotData:Hotspot; private var _blnCreateTooltip:Boolean; private var _strPreviousMode:String; private var _count:Number; private var _strIconPosition:String; private var _pageNumber:Number; private var _objCustomToolTip:CustomToolTip;// = null private var _strCurrentMode:String; private var _arrModes:Array; private var _bShowIconState:Boolean; private var _strIconLinkage:String; private var _blnUseIcon:Boolean; public static const TOP_LEFT:String = "top_left"; public static const LEFT_CENTER:String = "left_center"; public static const BOTTOM_LEFT:String = "bottom_left"; public static const TOP_CENTER:String = "top_center"; public static const BOTTOM_CENTER:String = "bottom_center"; public static const BOTTOM_RIGHT:String = "bottom_right"; public static const RIGHT_CENTER:String = "right_center"; public static const TOP_RIGHT:String = "top_right"; private static var IconHTML:Class = HotspotClip_IconHTML; private static var Icon_1:Class = HotspotClip_Icon_1; private static var Icon_2:Class = HotspotClip_Icon_2; private static var Icon_3:Class = HotspotClip_Icon_3; private static var Icon_4:Class = HotspotClip_Icon_4; private static var Icon_5:Class = HotspotClip_Icon_5; private static var IconInteractivity:Class = HotspotClip_IconInteractivity; private static var AudioIcon:Class = HotspotClip_AudioIcon; private static var IconPDF:Class = HotspotClip_IconPDF; private static var IconDOC:Class = HotspotClip_IconDOC; private static var IconDefault:Class = HotspotClip_IconDefault; private static var TooltipHolder:Class = HotspotClip_TooltipHolder; public function HotspotClip(_arg1:Hotspot){ _objHotspotData = _arg1; _arrModes = ["normal", "selected", "highlighted", "disabled", "testState"]; this.buttonMode = true; this.mouseChildren = false; if (((_objHotspotData.use_icon) || ((_objHotspotData.type == Hotspot.TYPE_ADUIO)))){ _blnUseIcon = true; } else { _blnUseIcon = false; }; _blnCreateTooltip = false; initData(); initStates(); if (!_blnUseIcon){ setIconEvents(); setMode("normal"); }; _bShowIconState = false; playIconAnim(); createTooltip(); } private function makeHotespotGraphic(_arg1:Hotspot, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):Sprite{ var _local7:Sprite = new Sprite(); var _local8:Graphics = _local7.graphics; var _local9:Array = _arg1.points; _local8.beginFill(_arg2, _arg3); var _local10:HSPoint = _local9[0]; var _local11:HSPoint = _local9[1]; _local8.lineStyle(_arg5, _arg4, _arg6); _local8.drawRect(_local10.x, _local10.y, (_local11.x - _local10.x), (_local11.y - _local10.y)); _local8.endFill(); _local7.mouseEnabled = false; return (_local7); } private function showTooltip(_arg1:int, _arg2:int):void{ var _local3:DisplayObject; var _local4:Array; var _local5:HSPoint; var _local6:HSPoint; var _local7:int; if (getChildByName("txtTooltip") != null){ _local3 = (getChildByName("txtTooltip") as DisplayObject); _local4 = _objHotspotData.points; _local5 = _local4[0]; _local6 = _local4[1]; _local7 = 5; _local3.width = _objHotspotData.strToolTipWidth; _local3.height = _objHotspotData.strToolTipHeight; _local3.x = _arg1; _local3.y = ((_local5.y - _local3.height) - _local7); if ((_local3.x + _local3.width) > Controller.instance.model.configManager.pageWidthSE){ _local3.x = (_local3.x - _local3.width); }; if (_local3.y <= 0){ _local3.y = (_local6.y + _local7); }; _local3.visible = true; } else { if (_objCustomToolTip != null){ _objCustomToolTip.onOver(_arg1, _arg2); }; }; } public function get pageNumber():Number{ return (_pageNumber); } private function setIcon():void{ var _local1:MovieClip; switch (_strIconLinkage.toLowerCase()){ case "audio": _local1 = new AudioIcon(); break; case "pdf": _local1 = new IconPDF(); break; case "doc": _local1 = new IconDOC(); break; case "html": _local1 = new IconHTML(); break; case "interactivity": _local1 = new IconInteractivity(); break; case "type 1": _local1 = new Icon_1(); break; case "type 2": _local1 = new Icon_2(); break; case "type 3": _local1 = new Icon_3(); break; case "type 4": _local1 = new Icon_4(); break; case "type 5": _local1 = new Icon_5(); break; default: _local1 = new IconDefault(); break; }; _local1.name = "icon"; var _local2:Array = _objHotspotData.points; var _local3:HSPoint = _local2[0]; var _local4:HSPoint = _local2[1]; var _local5:Number = _local3.x; var _local6:Number = _local3.y; switch (_strIconPosition){ case TOP_CENTER: _local5 = (_local3.x + (this.width / 2)); _local6 = _local3.y; break; case BOTTOM_CENTER: _local5 = (_local4.x - (this.width / 2)); _local6 = _local4.y; break; case LEFT_CENTER: _local5 = _local3.x; _local6 = (_local3.y + (this.height / 2)); break; case RIGHT_CENTER: _local5 = (_local3.x + this.width); _local6 = (_local3.y + (this.height / 2)); break; case TOP_LEFT: _local5 = _local3.x; _local6 = _local3.y; break; case TOP_RIGHT: _local5 = (_local3.x + this.width); _local6 = _local3.y; break; case BOTTOM_LEFT: _local5 = (_local4.x - this.width); _local6 = _local4.y; break; case BOTTOM_RIGHT: _local5 = _local4.x; _local6 = _local4.y; break; }; _local1.x = _local5; _local1.y = _local6; _local1.mouseEnabled = false; _local1.gotoAndStop("up"); addChild(_local1); } private function setStates(_arg1:String):void{ var _local2:Sprite; var _local3:Object = getGraphicData(_arg1); _local2 = makeHotespotGraphic(_objHotspotData, _local3.fill, _local3.fillAlpha, _local3.border, _local3.borderWidth, _local3.borderAlpha); _local2.name = _arg1; addChild(_local2); } private function showIconAnim(_arg1:Event):void{ var _local4:MovieClip; var _local2:int = _arg1.target.currentFrame; var _local3:int = _arg1.target.totalFrames; _arg1.target.visible = true; if (_local2 >= _local3){ _arg1.target.removeEventListener(Event.ENTER_FRAME, showIconAnim); _arg1.target.stop(); _arg1.target.visible = false; setIconEvents(); setMode("normal"); _bShowIconState = true; _local4 = (getChildByName("icon") as MovieClip); _local4.gotoAndStop("up"); } else { _arg1.target.nextFrame(); }; } public function restoreMode():void{ if (((!((_strPreviousMode == null))) && (!((_strPreviousMode == ""))))){ setMode(_strPreviousMode); }; } private function hasLabel(_arg1:MovieClip, _arg2:String):Boolean{ var _local3:int; while (_local3 < _arg1.currentLabels.length) { if (_arg1.currentLabels[_local3].name == _arg2){ return (true); }; _local3++; }; return (false); } private function onOver(_arg1:MouseEvent):void{ Controller.instance.view.content.showCustomCursor(false); Controller.instance.view.content.showTestModeClip((_arg1.target as Sprite), true); showState((_strCurrentMode + "_over")); if (_blnCreateTooltip){ showTooltip(_arg1.localX, _arg1.localY); }; } private function setIconEvents():void{ this.addEventListener(MouseEvent.ROLL_OVER, onOver, false, 0, true); this.addEventListener(MouseEvent.ROLL_OUT, onOut, false, 0, true); } private function setIconStates(_arg1:MovieClip, _arg2:String):void{ if (_bShowIconState == true){ _arg1.gotoAndStop(_arg2); }; } private function initData():void{ switch (_objHotspotData.type){ case Hotspot.TYPE_ADUIO: _strIconLinkage = "audio"; break; case Hotspot.TYPE_WEB: _strIconLinkage = getSubType(); break; case Hotspot.TYPE_INTERNAL: _strIconLinkage = getSubType(); break; case Hotspot.TYPE_EXTERNAL: _strIconLinkage = getSubType(); break; }; switch (_strIconLinkage.toLowerCase()){ case "audio": _strIconPosition = Config.POSITION_AUDIO_ICON; break; case "pdf": _strIconPosition = Config.POSITION_PDF_ICON; break; case "doc": _strIconPosition = Config.POSITION_DOC_ICON; break; case "html": _strIconPosition = Config.POSITION_HTML_ICON; break; case "interactivity": _strIconPosition = Config.POSITION_INTERACTIVITY_ICON; break; case "type 1": _strIconPosition = Config.POSITION_ICON_1; break; case "type 2": _strIconPosition = Config.POSITION_ICON_2; break; case "type 3": _strIconPosition = Config.POSITION_ICON_3; break; case "type 4": _strIconPosition = Config.POSITION_ICON_4; break; case "type 5": _strIconPosition = Config.POSITION_ICON_5; break; default: _strIconPosition = Config.POSITION_DEFAULT_ICON; break; }; } public function removeListeners():void{ if (this.hasEventListener(MouseEvent.ROLL_OVER)){ this.removeEventListener(MouseEvent.ROLL_OVER, onOver); }; if (this.hasEventListener(MouseEvent.ROLL_OUT)){ this.removeEventListener(MouseEvent.ROLL_OUT, onOver); }; } public function showState(_arg1:String):void{ var _local3:MovieClip; var _local4:Boolean; var _local5:int; var _local6:TextField; var _local2:int; while (_local2 < numChildren) { getChildAt(_local2).visible = false; _local2++; }; getChildByName(_arg1).visible = true; if (_blnUseIcon){ _local3 = (getChildByName("icon") as MovieClip); _local3.visible = true; _local4 = false; _local5 = 0; while (_local5 < _local3.currentLabels.length) { if (_local3.currentLabels[_local5].name == _arg1){ _local4 = true; }; _local5++; }; _arg1 = (_local4) ? _arg1 : _arg1.split("_")[1]; setIconStates(_local3, _arg1); _local6 = (_local3.getChildByName("txtClip") as TextField); if (_local6 != null){ _local6.mouseEnabled = false; if (_objHotspotData.data != null){ _local6.htmlText = _objHotspotData.data; }; }; }; } private function getSubType():String{ var _local1:String; if (_objHotspotData.subtype == undefined){ _local1 = "default"; } else { _local1 = _objHotspotData.subtype; }; return (_local1); } public function setMode(_arg1:String):void{ _strPreviousMode = _strCurrentMode; _strCurrentMode = _arg1; if (_strCurrentMode == "disabled"){ setEnabled(false); } else { setEnabled(true); }; showState((_arg1 + "_up")); } private function createTooltip():void{ var _local1:DisplayObjectContainer; var _local2:TextField; var _local3:Sprite; switch (_objHotspotData.type){ case Hotspot.TYPE_INTERNAL: if (((Config.SHOW_HOTSPOT_TOOLTIP_INTERNAL) || (_objHotspotData.bCreateToolTip))){ _blnCreateTooltip = true; } else { _blnCreateTooltip = false; }; break; case Hotspot.TYPE_EXTERNAL: if (Config.SHOW_HOTSPOT_TOOLTIP_EXTERNAL){ _blnCreateTooltip = true; } else { _blnCreateTooltip = false; }; break; case Hotspot.TYPE_ADUIO: if (Config.SHOW_HOTSPOT_TOOLTIP_AUDIO){ _blnCreateTooltip = true; } else { _blnCreateTooltip = false; }; break; case Hotspot.TYPE_WEB: if (((Config.SHOW_HOTSPOT_TOOLTIP_WEB) || (_objHotspotData.bCreateToolTip))){ _blnCreateTooltip = true; } else { _blnCreateTooltip = false; }; break; default: _blnCreateTooltip = false; break; }; if (((_blnCreateTooltip) && (!((_objHotspotData.tooltip == null))))){ _local1 = (new TooltipHolder() as DisplayObjectContainer); _local2 = (_local1.getChildByName("txtTooltip") as TextField); _local3 = (_local1.getChildByName("mcToolTip") as Sprite); if (_local2 != null){ _local2.autoSize = TextFieldAutoSize.CENTER; _local2.multiline = true; _local2.backgroundColor = 16777164; _local2.visible = false; _local2.wordWrap = false; _local2.mouseEnabled = false; if (Config.ENABLE_HTML_TEXT){ _local2.htmlText = ((" " + _objHotspotData.tooltip) + " �"); } else { _local2.text = ((" " + _objHotspotData.tooltip) + " �"); }; addChild(_local2); _objHotspotData.strToolTipWidth = _local2.width; _objHotspotData.strToolTipHeight = _local2.height; _local2.autoSize = TextFieldAutoSize.NONE; hideTooltip(); } else { if (_local3 != null){ addChild(_local1); _objCustomToolTip = new CustomToolTip(Sprite(_local1), _objHotspotData.points, ((" " + _objHotspotData.tooltip) + " �"), _objHotspotData.tooltipImage); }; }; }; } public function updateToolTipText():void{ var _local1:TextField; if (getChildByName("txtTooltip") != null){ _local1 = (getChildByName("txtTooltip") as TextField); _local1.autoSize = TextFieldAutoSize.CENTER; if (Config.ENABLE_HTML_TEXT){ _local1.htmlText = ((" " + _objHotspotData.tooltip) + " �"); } else { _local1.text = ((" " + _objHotspotData.tooltip) + " �"); }; _objHotspotData.strToolTipWidth = _local1.width; _objHotspotData.strToolTipHeight = _local1.height; _local1.autoSize = TextFieldAutoSize.NONE; }; } private function onOut(_arg1:MouseEvent):void{ Controller.instance.view.content.showCustomCursor(true); Controller.instance.view.content.showTestModeClip((_arg1.target as Sprite), false); showState((_strCurrentMode + "_up")); if (_blnCreateTooltip){ hideTooltip(); }; } public function get data():Hotspot{ return (_objHotspotData); } private function initStates():void{ var _local1:int; while (_local1 < _arrModes.length) { setStates((_arrModes[_local1] + "_up")); setStates((_arrModes[_local1] + "_over")); _local1++; }; if (_blnUseIcon){ setIcon(); }; } public function set pageNumber(_arg1:Number):void{ _pageNumber = _arg1; } private function hideTooltip():void{ var _local1:TextField; var _local2:Array; var _local3:HSPoint; if (getChildByName("txtTooltip") != null){ _local1 = (getChildByName("txtTooltip") as TextField); _local1.width = 0; _local1.height = 0; _local1.visible = false; _local2 = _objHotspotData.points; _local3 = _local2[0]; _local1.x = _local3.x; _local1.y = _local3.y; } else { if (_objCustomToolTip != null){ _objCustomToolTip.onOut(); }; }; } private function getGraphicData(_arg1:String):Object{ var _local2:Object = new Object(); switch (_objHotspotData.type){ case Hotspot.TYPE_ADUIO: _local2.borderWidth = Config.WIDTH_HS_AUDIO_BORDER; switch (_arg1){ case "normal_up": _local2.fill = Config.COLOR_HS_AUDIO_FILL_UP_NORMAL; _local2.fillAlpha = Config.ALPHA_HS_AUDIO_FILL_UP_NORMAL; _local2.border = Config.COLOR_HS_AUDIO_BORDER_UP_NORMAL; _local2.borderAlpha = Config.ALPHA_HS_AUDIO_BORDER_UP_NORMAL; break; case "normal_over": _local2.fill = Config.COLOR_HS_AUDIO_FILL_OVER_NORMAL; _local2.fillAlpha = Config.ALPHA_HS_AUDIO_FILL_OVER_NORMAL; _local2.border = Config.COLOR_HS_AUDIO_BORDER_OVER_NORMAL; _local2.borderAlpha = Config.ALPHA_HS_AUDIO_BORDER_OVER_NORMAL; break; case "selected_up": _local2.fill = Config.COLOR_HS_AUDIO_FILL_UP_SELECTED; _local2.fillAlpha = Config.ALPHA_HS_AUDIO_FILL_UP_SELECTED; _local2.border = Config.COLOR_HS_AUDIO_BORDER_UP_SELECTED; _local2.borderAlpha = Config.ALPHA_HS_AUDIO_BORDER_UP_SELECTED; break; case "selected_over": _local2.fill = Config.COLOR_HS_AUDIO_FILL_OVER_SELECTED; _local2.fillAlpha = Config.ALPHA_HS_AUDIO_FILL_OVER_SELECTED; _local2.border = Config.COLOR_HS_AUDIO_BORDER_OVER_SELECTED; _local2.borderAlpha = Config.ALPHA_HS_AUDIO_BORDER_OVER_SELECTED; break; case "testState_up": case "highlighted_up": _local2.fill = Config.COLOR_HS_AUDIO_FILL_UP_HIGHLIGHTED; _local2.fillAlpha = Config.ALPHA_HS_AUDIO_FILL_UP_HIGHLIGHTED; _local2.border = Config.COLOR_HS_AUDIO_BORDER_UP_HIGHLIGHTED; _local2.borderAlpha = Config.ALPHA_HS_AUDIO_BORDER_UP_HIGHLIGHTED; break; case "testState_over": case "highlighted_over": _local2.fill = Config.COLOR_HS_AUDIO_FILL_OVER_HIGHLIGHTED; _local2.fillAlpha = Config.ALPHA_HS_AUDIO_FILL_OVER_HIGHLIGHTED; _local2.border = Config.COLOR_HS_AUDIO_BORDER_OVER_HIGHLIGHTED; _local2.borderAlpha = Config.ALPHA_HS_AUDIO_BORDER_OVER_HIGHLIGHTED; break; case "disabled_over": case "disabled_up": _local2.fill = Config.COLOR_HS_AUDIO_FILL_DISABLED; _local2.fillAlpha = Config.ALPHA_HS_AUDIO_FILL_DISABLED; _local2.border = Config.COLOR_HS_AUDIO_BORDER_DISABLED; _local2.borderAlpha = Config.ALPHA_HS_AUDIO_BORDER_DISABLED; break; }; break; case Hotspot.TYPE_EXTERNAL: _local2.borderWidth = Config.WIDTH_HS_EXTERNAL_BORDER; switch (_arg1){ case "normal_up": _local2.fill = Config.COLOR_HS_EXTERNAL_FILL_UP_NORMAL; _local2.fillAlpha = Config.ALPHA_HS_EXTERNAL_FILL_UP_NORMAL; _local2.border = Config.COLOR_HS_EXTERNAL_BORDER_UP_NORMAL; _local2.borderAlpha = Config.ALPHA_HS_EXTERNAL_BORDER_UP_NORMAL; break; case "normal_over": _local2.fill = Config.COLOR_HS_EXTERNAL_FILL_OVER_NORMAL; _local2.fillAlpha = Config.ALPHA_HS_EXTERNAL_FILL_OVER_NORMAL; _local2.border = Config.COLOR_HS_EXTERNAL_BORDER_OVER_NORMAL; _local2.borderAlpha = Config.ALPHA_HS_EXTERNAL_BORDER_OVER_NORMAL; break; case "selected_up": _local2.fill = Config.COLOR_HS_EXTERNAL_FILL_UP_SELECTED; _local2.fillAlpha = Config.ALPHA_HS_EXTERNAL_FILL_UP_SELECTED; _local2.border = Config.COLOR_HS_EXTERNAL_BORDER_UP_SELECTED; _local2.borderAlpha = Config.ALPHA_HS_EXTERNAL_BORDER_UP_SELECTED; break; case "selected_over": _local2.fill = Config.COLOR_HS_EXTERNAL_FILL_OVER_SELECTED; _local2.fillAlpha = Config.ALPHA_HS_EXTERNAL_FILL_OVER_SELECTED; _local2.border = Config.COLOR_HS_EXTERNAL_BORDER_OVER_SELECTED; _local2.borderAlpha = Config.ALPHA_HS_EXTERNAL_BORDER_OVER_SELECTED; break; case "testState_up": case "highlighted_up": _local2.fill = Config.COLOR_HS_EXTERNAL_FILL_UP_HIGHLIGHTED; _local2.fillAlpha = Config.ALPHA_HS_EXTERNAL_FILL_UP_HIGHLIGHTED; _local2.border = Config.COLOR_HS_EXTERNAL_BORDER_UP_HIGHLIGHTED; _local2.borderAlpha = Config.ALPHA_HS_EXTERNAL_BORDER_UP_HIGHLIGHTED; break; case "testState_over": case "highlighted_over": _local2.fill = Config.COLOR_HS_EXTERNAL_FILL_OVER_HIGHLIGHTED; _local2.fillAlpha = Config.ALPHA_HS_EXTERNAL_FILL_OVER_HIGHLIGHTED; _local2.border = Config.COLOR_HS_EXTERNAL_BORDER_OVER_HIGHLIGHTED; _local2.borderAlpha = Config.ALPHA_HS_EXTERNAL_BORDER_OVER_HIGHLIGHTED; break; case "disabled_over": case "disabled_up": _local2.fill = Config.COLOR_HS_EXTERNAL_FILL_DISABLED; _local2.fillAlpha = Config.ALPHA_HS_EXTERNAL_FILL_DISABLED; _local2.border = Config.COLOR_HS_EXTERNAL_BORDER_DISABLED; _local2.borderAlpha = Config.ALPHA_HS_EXTERNAL_BORDER_DISABLED; break; }; break; case Hotspot.TYPE_WEB: _local2.borderWidth = Config.WIDTH_HS_WEB_BORDER; switch (_arg1){ case "normal_up": _local2.fill = Config.COLOR_HS_WEB_FILL_UP_NORMAL; _local2.fillAlpha = Config.ALPHA_HS_WEB_FILL_UP_NORMAL; _local2.border = Config.COLOR_HS_WEB_BORDER_UP_NORMAL; _local2.borderAlpha = Config.ALPHA_HS_WEB_BORDER_UP_NORMAL; break; case "normal_over": _local2.fill = Config.COLOR_HS_WEB_FILL_OVER_NORMAL; _local2.fillAlpha = Config.ALPHA_HS_WEB_FILL_OVER_NORMAL; _local2.border = Config.COLOR_HS_WEB_BORDER_OVER_NORMAL; _local2.borderAlpha = Config.ALPHA_HS_WEB_BORDER_OVER_NORMAL; break; case "selected_up": _local2.fill = Config.COLOR_HS_WEB_FILL_UP_SELECTED; _local2.fillAlpha = Config.ALPHA_HS_WEB_FILL_UP_SELECTED; _local2.border = Config.COLOR_HS_WEB_BORDER_UP_SELECTED; _local2.borderAlpha = Config.ALPHA_HS_WEB_BORDER_UP_SELECTED; break; case "selected_over": _local2.fill = Config.COLOR_HS_WEB_FILL_OVER_SELECTED; _local2.fillAlpha = Config.ALPHA_HS_WEB_FILL_OVER_SELECTED; _local2.border = Config.COLOR_HS_WEB_BORDER_OVER_SELECTED; _local2.borderAlpha = Config.ALPHA_HS_WEB_BORDER_OVER_SELECTED; break; case "testState_up": case "highlighted_up": _local2.fill = Config.COLOR_HS_WEB_FILL_UP_HIGHLIGHTED; _local2.fillAlpha = Config.ALPHA_HS_WEB_FILL_UP_HIGHLIGHTED; _local2.border = Config.COLOR_HS_WEB_BORDER_UP_HIGHLIGHTED; _local2.borderAlpha = Config.ALPHA_HS_WEB_BORDER_UP_HIGHLIGHTED; break; case "testState_over": case "highlighted_over": _local2.fill = Config.COLOR_HS_WEB_FILL_OVER_HIGHLIGHTED; _local2.fillAlpha = Config.ALPHA_HS_WEB_FILL_OVER_HIGHLIGHTED; _local2.border = Config.COLOR_HS_WEB_BORDER_OVER_HIGHLIGHTED; _local2.borderAlpha = Config.ALPHA_HS_WEB_BORDER_OVER_HIGHLIGHTED; break; case "disabled_over": case "disabled_up": _local2.fill = Config.COLOR_HS_WEB_FILL_DISABLED; _local2.fillAlpha = Config.ALPHA_HS_WEB_FILL_DISABLED; _local2.border = Config.COLOR_HS_WEB_BORDER_DISABLED; _local2.borderAlpha = Config.ALPHA_HS_WEB_BORDER_DISABLED; break; }; break; case Hotspot.TYPE_INTERNAL: _local2.borderWidth = Config.WIDTH_HS_INTERNAL_BORDER; switch (_arg1){ case "normal_up": _local2.fill = Config.COLOR_HS_INTERNAL_FILL_UP_NORMAL; _local2.fillAlpha = Config.ALPHA_HS_INTERNAL_FILL_UP_NORMAL; _local2.border = Config.COLOR_HS_INTERNAL_BORDER_UP_NORMAL; _local2.borderAlpha = Config.ALPHA_HS_INTERNAL_BORDER_UP_NORMAL; break; case "normal_over": _local2.fill = Config.COLOR_HS_INTERNAL_FILL_OVER_NORMAL; _local2.fillAlpha = Config.ALPHA_HS_INTERNAL_FILL_OVER_NORMAL; _local2.border = Config.COLOR_HS_INTERNAL_BORDER_OVER_NORMAL; _local2.borderAlpha = Config.ALPHA_HS_INTERNAL_BORDER_OVER_NORMAL; break; case "selected_up": _local2.fill = Config.COLOR_HS_INTERNAL_FILL_UP_SELECTED; _local2.fillAlpha = Config.ALPHA_HS_INTERNAL_FILL_UP_SELECTED; _local2.border = Config.COLOR_HS_INTERNAL_BORDER_UP_SELECTED; _local2.borderAlpha = Config.ALPHA_HS_INTERNAL_BORDER_UP_SELECTED; break; case "selected_over": _local2.fill = Config.COLOR_HS_INTERNAL_FILL_OVER_SELECTED; _local2.fillAlpha = Config.ALPHA_HS_INTERNAL_FILL_OVER_SELECTED; _local2.border = Config.COLOR_HS_INTERNAL_BORDER_OVER_SELECTED; _local2.borderAlpha = Config.ALPHA_HS_INTERNAL_BORDER_OVER_SELECTED; break; case "testState_up": case "highlighted_up": _local2.fill = Config.COLOR_HS_INTERNAL_FILL_UP_HIGHLIGHTED; _local2.fillAlpha = Config.ALPHA_HS_INTERNAL_FILL_UP_HIGHLIGHTED; _local2.border = Config.COLOR_HS_INTERNAL_BORDER_UP_HIGHLIGHTED; _local2.borderAlpha = Config.ALPHA_HS_INTERNAL_BORDER_UP_HIGHLIGHTED; break; case "testState_over": case "highlighted_over": _local2.fill = Config.COLOR_HS_INTERNAL_FILL_OVER_HIGHLIGHTED; _local2.fillAlpha = Config.ALPHA_HS_INTERNAL_FILL_OVER_HIGHLIGHTED; _local2.border = Config.COLOR_HS_INTERNAL_BORDER_OVER_HIGHLIGHTED; _local2.borderAlpha = Config.ALPHA_HS_INTERNAL_BORDER_OVER_HIGHLIGHTED; break; case "disabled_over": case "disabled_up": _local2.fill = Config.COLOR_HS_INTERNAL_FILL_DISABLED; _local2.fillAlpha = Config.ALPHA_HS_INTERNAL_FILL_DISABLED; _local2.border = Config.COLOR_HS_INTERNAL_BORDER_DISABLED; _local2.borderAlpha = Config.ALPHA_HS_INTERNAL_BORDER_DISABLED; break; }; break; }; return (_local2); } private function playIconAnim():void{ var bIconAnim:Boolean; var mcIconAnim:MovieClip; var mcIcon:MovieClip = (getChildByName("icon") as MovieClip); try { bIconAnim = hasLabel(mcIcon, "iconAnim"); if (bIconAnim){ try { mcIconAnim = mcIcon.mcIconAnim; mcIconAnim.gotoAndStop(1); mcIcon.gotoAndStop("iconAnim"); mcIconAnim.nextFrame(); mcIconAnim.addEventListener(Event.ENTER_FRAME, showIconAnim); } catch(error:Error) { }; } else { setMode("normal"); _bShowIconState = true; setIconEvents(); }; } catch(error:Error) { }; } public function setEnabled(_arg1:Boolean):void{ this.tabChildren = _arg1; this.mouseChildren = _arg1; this.mouseEnabled = _arg1; } } }//package view
Section 215
//HotspotClip_AudioIcon (view.HotspotClip_AudioIcon) package view { import flash.display.*; import mx.core.*; public class HotspotClip_AudioIcon extends MovieClipAsset { public var mc_Z:DisplayObject; public var mc_H:DisplayObject; public var mcContent:DisplayObject; public var mc_K:DisplayObject; public var mc_thumb:DisplayObject; public var btnHTML:DisplayObject; public var btnTeacher:DisplayObject; public var mcGlossaryImage:DisplayObject; public var mc_W:DisplayObject; public var btnUp:DisplayObject; public var mc_I:DisplayObject; public var btnZoomIn:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var mcIconAnim:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var mcPatch:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var mcView:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var mcDragArea:DisplayObject; public var txtWord:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcIndexList:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mcAudio:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_A:DisplayObject; public var mc_R:DisplayObject; public var mc_L:DisplayObject; public var mc_U:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mc_P:DisplayObject; public var mcThumb:DisplayObject; public var btnExit2:DisplayObject; public var mc_S:DisplayObject; public var mc_T:DisplayObject; public var mc_D:DisplayObject; public var mc_V:DisplayObject; public var mc_O:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_J:DisplayObject; public var mc_B:DisplayObject; public var mc_C:DisplayObject; public var mc_N:DisplayObject; public var mc_Y:DisplayObject; } }//package view
Section 216
//HotspotClip_Icon_1 (view.HotspotClip_Icon_1) package view { import flash.display.*; import mx.core.*; public class HotspotClip_Icon_1 extends MovieClipAsset { public var mc_Z:DisplayObject; public var mc_H:DisplayObject; public var mcContent:DisplayObject; public var mc_K:DisplayObject; public var mc_thumb:DisplayObject; public var btnHTML:DisplayObject; public var btnTeacher:DisplayObject; public var mcGlossaryImage:DisplayObject; public var mc_W:DisplayObject; public var btnUp:DisplayObject; public var mc_I:DisplayObject; public var btnZoomIn:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var mcIconAnim:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var mcPatch:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var mcView:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var mcDragArea:DisplayObject; public var txtWord:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcIndexList:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mcAudio:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_A:DisplayObject; public var mc_R:DisplayObject; public var mc_L:DisplayObject; public var mc_U:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mc_P:DisplayObject; public var mcThumb:DisplayObject; public var btnExit2:DisplayObject; public var mc_S:DisplayObject; public var mc_T:DisplayObject; public var mc_D:DisplayObject; public var mc_V:DisplayObject; public var mc_O:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_J:DisplayObject; public var mc_B:DisplayObject; public var mc_C:DisplayObject; public var mc_N:DisplayObject; public var mc_Y:DisplayObject; } }//package view
Section 217
//HotspotClip_Icon_2 (view.HotspotClip_Icon_2) package view { import flash.display.*; import mx.core.*; public class HotspotClip_Icon_2 extends MovieClipAsset { public var mc_Z:DisplayObject; public var mc_H:DisplayObject; public var mcContent:DisplayObject; public var mc_K:DisplayObject; public var mc_thumb:DisplayObject; public var btnHTML:DisplayObject; public var btnTeacher:DisplayObject; public var mcGlossaryImage:DisplayObject; public var mc_W:DisplayObject; public var btnUp:DisplayObject; public var mc_I:DisplayObject; public var btnZoomIn:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var mcIconAnim:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var mcPatch:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var mcView:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var mcDragArea:DisplayObject; public var txtWord:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcIndexList:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mcAudio:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_A:DisplayObject; public var mc_R:DisplayObject; public var mc_L:DisplayObject; public var mc_U:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mc_P:DisplayObject; public var mcThumb:DisplayObject; public var btnExit2:DisplayObject; public var mc_S:DisplayObject; public var mc_T:DisplayObject; public var mc_D:DisplayObject; public var mc_V:DisplayObject; public var mc_O:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_J:DisplayObject; public var mc_B:DisplayObject; public var mc_C:DisplayObject; public var mc_N:DisplayObject; public var mc_Y:DisplayObject; } }//package view
Section 218
//HotspotClip_Icon_3 (view.HotspotClip_Icon_3) package view { import flash.display.*; import mx.core.*; public class HotspotClip_Icon_3 extends MovieClipAsset { public var mc_Z:DisplayObject; public var mc_H:DisplayObject; public var mcContent:DisplayObject; public var mc_K:DisplayObject; public var mc_thumb:DisplayObject; public var btnHTML:DisplayObject; public var btnTeacher:DisplayObject; public var mcGlossaryImage:DisplayObject; public var mc_W:DisplayObject; public var btnUp:DisplayObject; public var mc_I:DisplayObject; public var btnZoomIn:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var mcIconAnim:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var mcPatch:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var mcView:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var mcDragArea:DisplayObject; public var txtWord:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcIndexList:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mcAudio:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_A:DisplayObject; public var mc_R:DisplayObject; public var mc_L:DisplayObject; public var mc_U:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mc_P:DisplayObject; public var mcThumb:DisplayObject; public var btnExit2:DisplayObject; public var mc_S:DisplayObject; public var mc_T:DisplayObject; public var mc_D:DisplayObject; public var mc_V:DisplayObject; public var mc_O:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_J:DisplayObject; public var mc_B:DisplayObject; public var mc_C:DisplayObject; public var mc_N:DisplayObject; public var mc_Y:DisplayObject; } }//package view
Section 219
//HotspotClip_Icon_4 (view.HotspotClip_Icon_4) package view { import flash.display.*; import mx.core.*; public class HotspotClip_Icon_4 extends MovieClipAsset { public var mc_Z:DisplayObject; public var mc_H:DisplayObject; public var mcContent:DisplayObject; public var mc_K:DisplayObject; public var mc_thumb:DisplayObject; public var btnHTML:DisplayObject; public var btnTeacher:DisplayObject; public var mcGlossaryImage:DisplayObject; public var mc_W:DisplayObject; public var btnUp:DisplayObject; public var mc_I:DisplayObject; public var btnZoomIn:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var mcIconAnim:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var mcPatch:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var mcView:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var mcDragArea:DisplayObject; public var txtWord:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcIndexList:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mcAudio:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_A:DisplayObject; public var mc_R:DisplayObject; public var mc_L:DisplayObject; public var mc_U:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mc_P:DisplayObject; public var mcThumb:DisplayObject; public var btnExit2:DisplayObject; public var mc_S:DisplayObject; public var mc_T:DisplayObject; public var mc_D:DisplayObject; public var mc_V:DisplayObject; public var mc_O:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_J:DisplayObject; public var mc_B:DisplayObject; public var mc_C:DisplayObject; public var mc_N:DisplayObject; public var mc_Y:DisplayObject; } }//package view
Section 220
//HotspotClip_Icon_5 (view.HotspotClip_Icon_5) package view { import flash.display.*; import mx.core.*; public class HotspotClip_Icon_5 extends MovieClipAsset { public var mc_Z:DisplayObject; public var mc_H:DisplayObject; public var mcContent:DisplayObject; public var mc_K:DisplayObject; public var mc_thumb:DisplayObject; public var btnHTML:DisplayObject; public var btnTeacher:DisplayObject; public var mcGlossaryImage:DisplayObject; public var mc_W:DisplayObject; public var btnUp:DisplayObject; public var mc_I:DisplayObject; public var btnZoomIn:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var mcIconAnim:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var mcPatch:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var mcView:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var mcDragArea:DisplayObject; public var txtWord:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcIndexList:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mcAudio:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_A:DisplayObject; public var mc_R:DisplayObject; public var mc_L:DisplayObject; public var mc_U:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mc_P:DisplayObject; public var mcThumb:DisplayObject; public var btnExit2:DisplayObject; public var mc_S:DisplayObject; public var mc_T:DisplayObject; public var mc_D:DisplayObject; public var mc_V:DisplayObject; public var mc_O:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_J:DisplayObject; public var mc_B:DisplayObject; public var mc_C:DisplayObject; public var mc_N:DisplayObject; public var mc_Y:DisplayObject; } }//package view
Section 221
//HotspotClip_IconDefault (view.HotspotClip_IconDefault) package view { import flash.display.*; import mx.core.*; public class HotspotClip_IconDefault extends MovieClipAsset { public var mc_Z:DisplayObject; public var mc_H:DisplayObject; public var mcContent:DisplayObject; public var mc_K:DisplayObject; public var mc_thumb:DisplayObject; public var btnHTML:DisplayObject; public var btnTeacher:DisplayObject; public var mcGlossaryImage:DisplayObject; public var mc_W:DisplayObject; public var btnUp:DisplayObject; public var mc_I:DisplayObject; public var btnZoomIn:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var mcIconAnim:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var mcPatch:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var mcView:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var mcDragArea:DisplayObject; public var txtWord:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcIndexList:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mcAudio:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_A:DisplayObject; public var mc_R:DisplayObject; public var mc_L:DisplayObject; public var mc_U:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mc_P:DisplayObject; public var mcThumb:DisplayObject; public var btnExit2:DisplayObject; public var mc_S:DisplayObject; public var mc_T:DisplayObject; public var mc_D:DisplayObject; public var mc_V:DisplayObject; public var mc_O:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_J:DisplayObject; public var mc_B:DisplayObject; public var mc_C:DisplayObject; public var mc_N:DisplayObject; public var mc_Y:DisplayObject; } }//package view
Section 222
//HotspotClip_IconDOC (view.HotspotClip_IconDOC) package view { import flash.display.*; import mx.core.*; public class HotspotClip_IconDOC extends MovieClipAsset { public var mc_Z:DisplayObject; public var mc_H:DisplayObject; public var mcContent:DisplayObject; public var mc_K:DisplayObject; public var mc_thumb:DisplayObject; public var btnHTML:DisplayObject; public var btnTeacher:DisplayObject; public var mcGlossaryImage:DisplayObject; public var mc_W:DisplayObject; public var btnUp:DisplayObject; public var mc_I:DisplayObject; public var btnZoomIn:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var mcIconAnim:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var mcPatch:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var mcView:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var mcDragArea:DisplayObject; public var txtWord:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcIndexList:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mcAudio:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_A:DisplayObject; public var mc_R:DisplayObject; public var mc_L:DisplayObject; public var mc_U:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mc_P:DisplayObject; public var mcThumb:DisplayObject; public var btnExit2:DisplayObject; public var mc_S:DisplayObject; public var mc_T:DisplayObject; public var mc_D:DisplayObject; public var mc_V:DisplayObject; public var mc_O:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_J:DisplayObject; public var mc_B:DisplayObject; public var mc_C:DisplayObject; public var mc_N:DisplayObject; public var mc_Y:DisplayObject; } }//package view
Section 223
//HotspotClip_IconHTML (view.HotspotClip_IconHTML) package view { import flash.display.*; import mx.core.*; public class HotspotClip_IconHTML extends MovieClipAsset { public var mc_Z:DisplayObject; public var mc_H:DisplayObject; public var mcContent:DisplayObject; public var mc_K:DisplayObject; public var mc_thumb:DisplayObject; public var btnHTML:DisplayObject; public var btnTeacher:DisplayObject; public var mcGlossaryImage:DisplayObject; public var mc_W:DisplayObject; public var btnUp:DisplayObject; public var mc_I:DisplayObject; public var btnZoomIn:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var mcIconAnim:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var mcPatch:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var mcView:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var mcDragArea:DisplayObject; public var txtWord:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcIndexList:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mcAudio:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_A:DisplayObject; public var mc_R:DisplayObject; public var mc_L:DisplayObject; public var mc_U:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mc_P:DisplayObject; public var mcThumb:DisplayObject; public var btnExit2:DisplayObject; public var mc_S:DisplayObject; public var mc_T:DisplayObject; public var mc_D:DisplayObject; public var mc_V:DisplayObject; public var mc_O:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_J:DisplayObject; public var mc_B:DisplayObject; public var mc_C:DisplayObject; public var mc_N:DisplayObject; public var mc_Y:DisplayObject; } }//package view
Section 224
//HotspotClip_IconInteractivity (view.HotspotClip_IconInteractivity) package view { import flash.display.*; import mx.core.*; public class HotspotClip_IconInteractivity extends MovieClipAsset { public var mc_Z:DisplayObject; public var mc_H:DisplayObject; public var mcContent:DisplayObject; public var mc_K:DisplayObject; public var mc_thumb:DisplayObject; public var btnHTML:DisplayObject; public var btnTeacher:DisplayObject; public var mcGlossaryImage:DisplayObject; public var mc_W:DisplayObject; public var btnUp:DisplayObject; public var mc_I:DisplayObject; public var btnZoomIn:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var mcIconAnim:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var mcPatch:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var mcView:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var mcDragArea:DisplayObject; public var txtWord:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcIndexList:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mcAudio:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_A:DisplayObject; public var mc_R:DisplayObject; public var mc_L:DisplayObject; public var mc_U:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mc_P:DisplayObject; public var mcThumb:DisplayObject; public var btnExit2:DisplayObject; public var mc_S:DisplayObject; public var mc_T:DisplayObject; public var mc_D:DisplayObject; public var mc_V:DisplayObject; public var mc_O:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_J:DisplayObject; public var mc_B:DisplayObject; public var mc_C:DisplayObject; public var mc_N:DisplayObject; public var mc_Y:DisplayObject; } }//package view
Section 225
//HotspotClip_IconPDF (view.HotspotClip_IconPDF) package view { import flash.display.*; import mx.core.*; public class HotspotClip_IconPDF extends MovieClipAsset { public var mc_Z:DisplayObject; public var mc_H:DisplayObject; public var mcContent:DisplayObject; public var mc_K:DisplayObject; public var mc_thumb:DisplayObject; public var btnHTML:DisplayObject; public var btnTeacher:DisplayObject; public var mcGlossaryImage:DisplayObject; public var mc_W:DisplayObject; public var btnUp:DisplayObject; public var mc_I:DisplayObject; public var btnZoomIn:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var mcIconAnim:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var mcPatch:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var mcView:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var mcDragArea:DisplayObject; public var txtWord:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcIndexList:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mcAudio:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_A:DisplayObject; public var mc_R:DisplayObject; public var mc_L:DisplayObject; public var mc_U:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mc_P:DisplayObject; public var mcThumb:DisplayObject; public var btnExit2:DisplayObject; public var mc_S:DisplayObject; public var mc_T:DisplayObject; public var mc_D:DisplayObject; public var mc_V:DisplayObject; public var mc_O:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_J:DisplayObject; public var mc_B:DisplayObject; public var mc_C:DisplayObject; public var mc_N:DisplayObject; public var mc_Y:DisplayObject; } }//package view
Section 226
//HotspotClip_TooltipHolder (view.HotspotClip_TooltipHolder) package view { import flash.display.*; import mx.core.*; public class HotspotClip_TooltipHolder extends SpriteAsset { public var mc_Z:DisplayObject; public var mc_H:DisplayObject; public var mcContent:DisplayObject; public var mc_K:DisplayObject; public var mc_thumb:DisplayObject; public var btnHTML:DisplayObject; public var mc_O:DisplayObject; public var mcGlossaryImage:DisplayObject; public var btnTeacher:DisplayObject; public var btnUp:DisplayObject; public var mc_I:DisplayObject; public var btnZoomIn:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var mcIconAnim:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var mcPatch:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var mcView:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var mcDragArea:DisplayObject; public var txtWord:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcIndexList:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mcAudio:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_R:DisplayObject; public var mc_L:DisplayObject; public var mc_U:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mc_P:DisplayObject; public var mcThumb:DisplayObject; public var mc_A:DisplayObject; public var mc_S:DisplayObject; public var mc_T:DisplayObject; public var mc_D:DisplayObject; public var mc_V:DisplayObject; public var mc_W:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_J:DisplayObject; public var mc_B:DisplayObject; public var mc_C:DisplayObject; public var mc_N:DisplayObject; public var mc_Y:DisplayObject; } }//package view
Section 227
//IndexPanel (view.IndexPanel) package view { import controller.*; import flash.events.*; import flash.display.*; import model.*; import flash.geom.*; import accessibility.*; import flash.text.*; import model.vo.*; import util.*; public class IndexPanel extends WrappedDisplayObject { private var _dragBar:SimpleButton; private var _objData:Index; private var _nTabSpace:int;// = 15 private var _nVerticalGap:int; private var arrWordsTabItems:Array; private var _scrollbars:Scrollbars; private var _spPreviousWord:Sprite; private var _nWordContainerWidth:int; private var arrAlphabetsTabItems:Array; private var _mask:Sprite; private var _activeWord:String; private var _arrActiveAlphabet:Array; private var _nHorizontalGap:int; private var _bg:Sprite; private var _nMaxWordWidth:int; private var _nLeftMargin:int; private var _arrData:Array; private var _instance:Sprite; private var _close:SimpleButton; private var _blnIncreaseWidth:Boolean; private static var IndexListItem:Class = IndexPanel_IndexListItem; private static var LinkData:Class = IndexPanel_LinkData; public function IndexPanel(_arg1:DisplayObject){ super(_arg1); _instance = (_arg1 as Sprite); _arrData = new Array(); _objData = null; _nLeftMargin = 10; _nHorizontalGap = 5; _nVerticalGap = 0; _scrollbars = new Scrollbars(getChildByName("mcScrollbars"), null); _scrollbars.registerListener(this); _bg = (getChildByName("mcSrchPanelBg") as Sprite); _mask = (getChildByName("mcMask") as Sprite); _dragBar = (getChildByName("mcDragBar") as SimpleButton); _dragBar.addEventListener(MouseEvent.MOUSE_DOWN, onIndexDrag, false, 0, true); _dragBar.addEventListener(MouseEvent.MOUSE_UP, onIndexDrop, false, 0, true); _close = (getChildByName("btnClose") as SimpleButton); _close.addEventListener(MouseEvent.CLICK, onClose, false, 0, true); } private function onAlphabet(_arg1:MouseEvent):void{ clearList(); arrWordsTabItems = new Array(); var _local2:String = _arg1.target.name.split("_")[1]; var _local3:TextFormat = new TextFormat(); _spPreviousWord = null; _nMaxWordWidth = 0; _arrActiveAlphabet = getArrWords(_local2); _blnIncreaseWidth = false; setIndexListItems(_arrActiveAlphabet, 0, _local2); _scrollbars.verticalScroll.visible = true; _scrollbars.horizontalScroll.visible = true; _scrollbars.verticalScroll.reset(); _scrollbars.horizontalScroll.reset(); updateScrollbars(); reArrangeAccessibility(); } private function clearList():void{ var _local1:Controller = Controller.instance; var _local2:Sprite = (_instance.getChildByName("mcIndexList") as Sprite); while (_local2.numChildren > 0) { _local2.removeChildAt(0); }; } private function onIndexDrag(_arg1:MouseEvent):void{ var _local2:Sprite = Controller.instance.view.dragarea; var _local3:Rectangle = new Rectangle(_local2.x, _local2.y, ((_local2.x + _local2.width) - _bg.width), (_local2.height - _bg.height)); _instance.startDrag(false, _local3); } public function init():void{ var _local3:int; var _local4:Object; var _local5:Array; arrAlphabetsTabItems = new Array(); arrWordsTabItems = new Array(); var _local1:Controller = Controller.instance; var _local2:Model = _local1.model; if (_objData == null){ _objData = _local2.getIndexPanelData(); _local3 = 0; while (_local3 < _objData.alphabet.length) { _local4 = new Object(); _local4.alphabet = _objData.alphabet[_local3].value; _local4.arrWords = new Array(); _local5 = _objData.alphabet[_local3].member; _local4.arrWords = setWordItems(_local5); _arrData.push(_local4); _local3++; }; }; setScreen(); } private function setIndexListItems(_arg1:Array, _arg2:int=0, _arg3:String=""):void{ var _local7:IndexData; var _local8:Sprite; var _local9:TextField; var _local10:Sprite; var _local11:Array; var _local12:int; var _local13:Sprite; var _local14:int; var _local15:Object; var _local16:TextField; var _local17:SimpleButton; var _local18:Sprite; var _local19:TextField; var _local20:Sprite; var _local21:String; var _local22:CustomButton; var _local23:int; var _local4:Sprite = (_instance.getChildByName("mcIndexList") as Sprite); if (_arg1 == null){ _arg1 = new Array(); _local7 = new IndexData(); _local7.strWord = ("There are no items for the letter " + _arg3); _arg1.push(_local7); }; var _local5:int = _arg1.length; var _local6:int; while (_local6 < _local5) { _local7 = _arg1[_local6]; _local8 = new IndexListItem(); _local8.name = _local7.strWord; _local9 = (_local8.getChildByName("txtWord") as TextField); _local9.mouseEnabled = false; _local9.autoSize = TextFieldAutoSize.LEFT; _local9.text = _local7.strWord; _local10 = (_local8.getChildByName("mcLinkData") as Sprite); _local10.visible = false; _local11 = _local7.arrLinkData; _local12 = _local11.length; if (_local12 > 0){ _local14 = 0; while (_local14 < _local12) { if (_local14 > 0){ _local19 = new TextField(); _local19.autoSize = TextFieldAutoSize.LEFT; _local19.cacheAsBitmap = true; _local19.visible = true; _local19.text = ","; _local19.y = (_local20.y + 6); _local19.x = (_local20.x + _local20.width); _local8.addChild(_local19); }; if (_local14 == 0){ _local20 = _local10; if (_local9.text == ""){ _local20.x = _local9.x; } else { _local20.x = ((_local9.x + _local9.width) + _nHorizontalGap); }; } else { _local20 = (DuplicateObject.duplicateDisplayObject(_local10, true) as Sprite); _local20.x = (_local19.x + _local19.width); }; _local15 = _local11[_local14]; _local20.visible = true; _local16 = (_local20.getChildByName("txtLinkData") as TextField); _local17 = (_local20.getChildByName("btnLinkBg") as SimpleButton); _local18 = (_local20.getChildByName("mcUnderline") as Sprite); _local16.mouseEnabled = false; _local16.autoSize = TextFieldAutoSize.LEFT; if (((!((_local15.value == undefined))) && (!((_local16 == null))))){ _local16.text = _local15.value; }; if (_local18 != null){ _local18.width = _local16.width; }; if (_local17 != null){ _local17.width = _local16.width; }; if (((((!((_local15.url == undefined))) && (!((_local15.url == ""))))) && (!((_local15 == ""))))){ _local21 = ((_local15.url + "_") + _local15.type); _local22 = new CustomButton(_local20); _local22.__bToggle = false; _local22.__id = _local21; _local22.addEventListener(MouseEvent.CLICK, onClickIndexItem); } else { if (_local18 != null){ _local18.visible = false; }; if (_local17 != null){ _local17.visible = false; }; _local16.textColor = _local9.textColor; }; _local14++; }; }; _local13 = (_local8.getChildByName("mcIndexItemBg") as Sprite); if (_local13 != null){ _local13.width = (_local8.width + 10); }; _local4.addChild(_local8); if (_spPreviousWord == null){ _local8.y = 80; } else { _local8.y = ((_spPreviousWord.y + _nVerticalGap) + _spPreviousWord.height); }; _spPreviousWord = _local8; if ((_nMaxWordWidth + _nLeftMargin) > _mask.width){ _blnIncreaseWidth = true; }; _local8.x = (_nLeftMargin + _arg2); arrWordsTabItems.push(_local8); if (_local7.arrSubWords.length > 0){ _local23 = (_arg2 + _nTabSpace); setIndexListItems(_local7.arrSubWords, _local23); }; _local6++; }; } private function setWordItems(_arg1:Array):Array{ var _local5:Object; var _local6:IndexData; var _local2:Array = new Array(); var _local3:int = _arg1.length; var _local4:int; while (_local4 < _local3) { _local5 = _arg1[_local4]; _local6 = new IndexData(); if (typeof(_local5) == "object"){ if (_local5.value != undefined){ _local6.strWord = _local5.value; }; if (_local5.linkData != undefined){ _local6.arrLinkData = _local5.linkData; }; if (_local5.member != undefined){ _local6.arrSubWords = setWordItems(_local5.member); }; _local2.push(_local6); }; _local4++; }; return (_local2); } private function enableButton(_arg1:Sprite, _arg2:Boolean):void{ _arg1.buttonMode = _arg2; _arg1.mouseEnabled = _arg2; if (_arg2){ _arg1.alpha = 1; } else { _arg1.alpha = 0.5; }; } private function onClickIndexItem(_arg1:Object):void{ var _local7:int; var _local2:String = _arg1.__id; var _local3:String = _local2.split("_")[1]; var _local4:String = _local2.split("_")[0]; var _local5:Controller = Controller.instance; var _local6:Model = _local5.model; if (_local3 != "external"){ _local7 = _local6.objPageList.getPageIndexFromTitle(_local4); Controller.instance.loadPage(_local7); }; reArrangeAccessibility(); } public function onScrollVertical(_arg1:Number):void{ var _local2:Sprite = (_instance.getChildByName("mcIndexList") as Sprite); _local2.y = -(_arg1); reArrangeAccessibility(); } private function onIndexDrop(_arg1:MouseEvent):void{ _instance.stopDrag(); } private function getArrWords(_arg1:String):Array{ var _local2:Array = new Array(); _local2 = null; var _local3:int; while (_local3 < _arrData.length) { if (_arrData[_local3].alphabet.toLowerCase() == _arg1.toLowerCase()){ _local2 = _arrData[_local3].arrWords; return (_local2); }; _local3++; }; return (_local2); } private function replaceAlphabet(_arg1:String, _arg2:String, _arg3:String):String{ var _local4:Number; var _local5:Number; while (_arg1.indexOf(_arg2) != -1) { _local4 = _arg1.indexOf(_arg2); _local5 = _arg2.length; _arg1 = ((_arg1.substring(0, _local4) + _arg3) + _arg1.substring((_local4 + _local5), _arg1.length)); }; return (_arg1); } private function trimLeft(_arg1:String):String{ var _local2:int; while (_local2 < _arg1.length) { if (_arg1.charAt(0) == " "){ _arg1 = _arg1.substring(1, _arg1.length); } else { break; }; _local2++; }; return (_arg1); } private function getDescription(_arg1:String):String{ var _local2:int; while (_local2 < _arrActiveAlphabet.length) { if (_arrActiveAlphabet[_local2].word == _arg1){ return (_arrActiveAlphabet[_local2].description); }; _local2++; }; return (null); } public function onScrollHorizontal(_arg1:Number):void{ var _local2:Sprite = (_instance.getChildByName("mcIndexList") as Sprite); _local2.x = (-(_arg1) + 12); } public function showIndex(_arg1:Boolean):void{ _instance.visible = _arg1; Controller.instance.onPopUp(_arg1); } private function onClose(_arg1:MouseEvent):void{ showIndex(false); } private function reArrangeAccessibility():void{ Controller.instance.initilizeAccesibility(AccessibilityConstants.GLOSSARY_POPUP); } public function getGlossaryTabItems():Array{ var _local7:int; var _local8:String; var _local9:Sprite; var _local10:Sprite; var _local1:Array = new Array(); var _local2:Number = 1; var _local3:Number = 0; while (_local3 < arrAlphabetsTabItems.length) { _local1.push({item:arrAlphabetsTabItems[_local3], tabIndex:_local2, shortcut:"", alt:""}); _local2++; _local3++; }; if (_arrActiveAlphabet != null){ _local7 = 1; while (_local7 <= _arrActiveAlphabet.length) { _local8 = _arrActiveAlphabet[(_local7 - 1)].word; _local9 = (_instance.getChildByName("mcIndexList") as Sprite); _local10 = (_local9.getChildByName(_local8) as Sprite); if (_local10.hitTestObject(_mask)){ _local1.push({item:_local10.getChildByName("btnBar"), tabIndex:_local2, shortcut:"", alt:""}); _local2++; }; if (_local10.name == _activeWord){ _local1.push({item:_instance.getChildByName("mcAudio"), tabIndex:_local2, shortcut:"", alt:""}); _local2++; }; _local7++; }; }; var _local4:Array = _scrollbars.verticalScroll.accessibleButtons; _local4 = _local4.concat(_scrollbars.horizontalScroll.accessibleButtons); var _local5:Array = ["scroll up", "scroll down", "scroll left", "scroll right"]; var _local6:int; while (_local6 < _local4.length) { var _temp1 = _local2; _local2 = (_local2 + 1); _local1.push({item:_local4[_local6], tabIndex:_temp1, shortcut:"", alt:_local5[_local6]}); _local6++; }; _local1.push({item:_close, tabIndex:(_local2 + 1), shortcut:"", alt:""}); return (_local1); } private function setScreen():void{ var _local5:String; var _local6:MovieClip; var _local7:MovieClip; var _local8:MovieClip; clearList(); var _local1:Controller = Controller.instance; var _local2:Model = _local1.model; var _local3 = 1; while (_local3 <= 26) { _local5 = String.fromCharCode((64 + _local3)); _local6 = (_instance[("mc_" + _local5)] as MovieClip); _local6.gotoAndStop("up"); _local7 = (_local6.mcTxt as MovieClip); _local7.txt.text = String.fromCharCode((64 + _local3)); _local8 = (_local7.parent as MovieClip); _local8.addEventListener(MouseEvent.CLICK, onAlphabet, false, 0, true); _local8.mouseChildren = false; _local8.buttonMode = true; arrAlphabetsTabItems.push(_local8); _local3++; }; _scrollbars.verticalScroll.visible = false; _scrollbars.horizontalScroll.visible = false; var _local4:MovieClip = (_instance.getChildByName("mc_A") as MovieClip); _local4.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); } private function updateScrollbars():void{ var _local1:Sprite = (_instance.getChildByName("mcIndexList") as Sprite); var _local2:Number = _local1.width; var _local3:Number = _local1.height; if (_blnIncreaseWidth){ }; var _local4:Number = _scrollbars.update(((_local2 - _mask.width) + 15), ((_local3 - _mask.height) + 15)); if (_local4 < 0){ }; if (_local1.x < 5){ }; } private function customSortMethod(_arg1:Array, _arg2:Array):Array{ var _local5:int; var _local6:int; var _local7:int; var _local8:Object; var _local3:Array = new Array(); var _local4:Array = new Array(); _local5 = 0; while (_local5 < _arg2.length) { _local8 = new Object(); _local8.value = _arg2[_local5].value; _local8.index = _local5; _local3.push(_local8); _local5++; }; _local7 = 0; while (_local7 < _arg1.length) { _local5 = 0; while (_local5 < _arg1[_local7].arrWords.length) { _local6 = 0; while (_local6 < _local3.length) { _local3[_local6].value = replaceAlphabet(_local3[_local6].value, _arg1[_local7].arrWords[_local5], _arg1[_local7].alphabet); _local6++; }; _local5++; }; _local7++; }; _local3.sortOn("value", Array.CASEINSENSITIVE); _local5 = 0; while (_local5 < _local3.length) { _local6 = 0; while (_local6 < _arg2.length) { if (_local3[_local5].index == _local6){ _local4[_local5] = _arg2[_local6]; }; _local6++; }; _local5++; }; return (_local4); } } }//package view
Section 228
//IndexPanel_IndexListItem (view.IndexPanel_IndexListItem) package view { import flash.display.*; import mx.core.*; public class IndexPanel_IndexListItem extends SpriteAsset { public var btnZoomIn:DisplayObject; public var mcContent:DisplayObject; public var mc_thumb:DisplayObject; public var btnHTML:DisplayObject; public var mc_O:DisplayObject; public var mc_Y:DisplayObject; public var btnTeacher:DisplayObject; public var btnUp:DisplayObject; public var mcThumb:DisplayObject; public var mc_J:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var mcIconAnim:DisplayObject; public var mc_N:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var mcPatch:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnLinkBg:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var mcDragArea:DisplayObject; public var txtWord:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcIndexList:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_D:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mc_K:DisplayObject; public var mc_M:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_R:DisplayObject; public var mc_L:DisplayObject; public var mcGlossary:DisplayObject; public var mc_P:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_T:DisplayObject; public var mc_U:DisplayObject; public var mc_V:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_S:DisplayObject; public var mc_B:DisplayObject; public var mc_C:DisplayObject; public var mc_W:DisplayObject; public var mcGlossaryImage:DisplayObject; } }//package view
Section 229
//IndexPanel_LinkData (view.IndexPanel_LinkData) package view { import flash.display.*; import mx.core.*; public class IndexPanel_LinkData extends SpriteAsset { public var mc_H:DisplayObject; public var mcContent:DisplayObject; public var mc_thumb:DisplayObject; public var btnHTML:DisplayObject; public var mc_O:DisplayObject; public var mcGlossaryImage:DisplayObject; public var btnTeacher:DisplayObject; public var btnUp:DisplayObject; public var mcThumb:DisplayObject; public var mc_J:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var mcIconAnim:DisplayObject; public var btnZoomIn:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var mcPatch:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnLinkBg:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var mcDragArea:DisplayObject; public var txtWord:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcIndexList:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mcAudio:DisplayObject; public var mc_K:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_R:DisplayObject; public var mc_L:DisplayObject; public var mc_U:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mc_P:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_T:DisplayObject; public var mc_D:DisplayObject; public var mc_V:DisplayObject; public var mc_W:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_S:DisplayObject; public var mc_B:DisplayObject; public var mc_C:DisplayObject; public var mc_N:DisplayObject; public var mc_Y:DisplayObject; } }//package view
Section 230
//List (view.List) package view { import controller.*; import flash.events.*; import flash.display.*; import model.*; import flash.text.*; public class List extends WrappedDisplayObject { private var _mask:Sprite; protected var _itemsCount:int; protected var _scrollbars:Scrollbars; protected var _callBackFunc:Function; private var _listItem:Sprite; protected var ListItem:Class; private var _instance:Sprite; private var _label:TextField; protected var _itemContainer:Sprite; public static const INITIAL_BTN_BAR_WIDTH:Number = 183; public function List(_arg1:DisplayObject){ ListItem = List_ListItem; super(_arg1); _instance = (_arg1 as Sprite); _mask = (getChildByName("mcMask") as Sprite); _itemContainer = (getChildByName("mcItemContainer") as Sprite); if (!Config.USE_ADVANCE_EXTERNAL_TOC){ addScrollBars(); }; } protected function adjustBtnBar(_arg1:Array=null):void{ var _local3:Sprite; var _local4:TextField; var _local5:SimpleButton; var _local6:MovieClip; var _local7:MovieClip; var _local2:Number = List.INITIAL_BTN_BAR_WIDTH; var _local8:int; while (_local8 < _itemContainer.numChildren) { _local3 = (_itemContainer.getChildAt(_local8) as Sprite); _local4 = (_local3.getChildByName("txtResult") as TextField); if (_local2 < _local4.width){ _local2 = (_local4.width + 20); }; _local8++; }; _local8 = 0; while (_local8 < _itemContainer.numChildren) { _local3 = (_itemContainer.getChildAt(_local8) as Sprite); _local5 = (_local3.getChildByName("btnBar") as SimpleButton); _local5.width = (_local2 + 5); _local6 = (_local3.getChildByName("mcBG") as MovieClip); _local6.width = (_local2 + 5); _local7 = (_local3.getChildByName("btnState") as MovieClip); _local7.width = (_local2 + 5); _local8++; }; } protected function clearList():void{ while (_itemContainer.numChildren > 0) { _itemContainer.removeChildAt(0); }; _itemsCount = 0; } private function addItem(_arg1:String):void{ var _local2:Sprite = new ListItem(); var _local3:String = _arg1.split("@")[1]; _arg1 = _arg1.split("@")[0]; _local2.y = (_local2.height * _itemsCount); _local2.name = ((("item_" + _itemsCount) + "_") + _local3); var _local4:TextField = (_local2.getChildByName("txtResult") as TextField); _local4.text = _arg1; _local4.tabEnabled = false; _local4.mouseEnabled = false; _local4.autoSize = TextFieldAutoSize.LEFT; var _local5:SimpleButton = (_local2.getChildByName("btnBar") as SimpleButton); _local5.addEventListener(MouseEvent.CLICK, onItemClick, false, 0, true); _itemContainer.addChild(_local2); _itemsCount = (_itemsCount + 1); } public function onScrollHorizontal(_arg1:Number):void{ _itemContainer.x = -(_arg1); Controller.instance.tracer(("_itemContainer.x: " + _itemContainer.x)); } private function onItemClick(_arg1:MouseEvent):void{ var _local2:Object = new Object(); _label = (_arg1.target.parent.getChildByName("txtResult") as TextField); _local2.name = _label.text; _local2.page = _arg1.target.parent.name.split("_")[2]; _callBackFunc.apply(null, [_local2]); } public function addItemClickEvent(_arg1:Function):void{ _callBackFunc = _arg1; } public function onScrollVertical(_arg1:Number):void{ _itemContainer.y = -(_arg1); } public function setPosition(_arg1:Number, _arg2:Number):void{ _instance.x = _arg1; _instance.y = _arg2; } protected function addScrollBars():void{ _scrollbars = new Scrollbars(getChildByName("mcScrollbars"), "List"); } public function dataProvider(_arg1:Object=null):void{ var _local2:Array; var _local3:int; clearList(); if ((_arg1 is Array)){ _local2 = (_arg1 as Array); _local3 = 0; while (_local3 < _local2.length) { addItem(_local2[_local3]); _local3++; }; adjustBtnBar(_local2); } else { throw (new Error("The data provided to list data provider must be of Array type.")); }; _scrollbars.verticalScroll.reset(); _scrollbars.horizontalScroll.reset(); updateScrollbars(); } protected function updateScrollbars():void{ var _local1:Number = _itemContainer.width; var _local2:Number = _itemContainer.height; var _local3:Number = _scrollbars.update((_local1 - _mask.width), (_local2 - _mask.height)); if (_local3 < 0){ _itemContainer.x = (-(_local3) / 2); }; if (((Config.USE_ADVANCE_EXTERNAL_TOC) && (Config.WRAPPED_ADVANCE_TOC_TEXT))){ _scrollbars.horizontalScroll.visible = false; }; } } }//package view
Section 231
//List_ListItem (view.List_ListItem) package view { import flash.display.*; import mx.core.*; public class List_ListItem extends SpriteAsset { public var btnZoomIn:DisplayObject; public var mcThumb:DisplayObject; public var mcContent:DisplayObject; public var mc_thumb:DisplayObject; public var mc_N:DisplayObject; public var mc_O:DisplayObject; public var mc_J:DisplayObject; public var mc_Y:DisplayObject; public var btnTeacher:DisplayObject; public var btnHTML:DisplayObject; public var btnUp:DisplayObject; public var mcIconAnim:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnBar:DisplayObject; public var txtWord:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var mcPatch:DisplayObject; public var mcBG:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var txtLink:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnLinkBg:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var btnState:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcThemeClip:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_D:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mc_K:DisplayObject; public var mc_M:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_R:DisplayObject; public var mc_L:DisplayObject; public var mcGlossary:DisplayObject; public var mc_P:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_T:DisplayObject; public var mc_U:DisplayObject; public var mc_V:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_S:DisplayObject; public var mc_B:DisplayObject; public var mc_C:DisplayObject; public var mc_W:DisplayObject; public var mcGlossaryImage:DisplayObject; } }//package view
Section 232
//MainView (view.MainView) package view { import controller.*; import flash.events.*; import flash.display.*; import model.*; import flash.utils.*; import view.AdvanceFeatures.AdvanceToc.*; import view.AdvanceFeatures.PrintTool.*; import view.AdvanceFeatures.ResizeablePopup.*; import view.AdvanceFeatures.LinkHandler.*; import view.AdvanceFeatures.AdvanceResourcePanel.*; import view.AdvanceFeatures.fullscreen.*; import flash.net.*; import view.AdvanceFeatures.Playlist.view.*; import view.AdvanceFeatures.Playlist.controller.*; public class MainView extends WrappedDisplayObject { private const EDIT:String = "edit"; private const LOAD_LIST:String = "load"; private const ZOOM_PANEL:String = "mcZoomPanel"; private const VIEW:String = "view"; private const LOAD:String = "load"; private const CREATE:String = "create"; private var _objPlaylistBrowserPanel:PlaylistBrowserPanel; private var _spBranding:Branding; private var _spIntroPanel:Sprite;// = null private var _dragarea:Sprite; private var _objDataPanel:Panel;// = null private var _globalNotesPanel:GlobalNotesPanel;// = null private var _objExitPanel:ExitPanel;// = null private var _objFullScreen:FullScreenHandler;// = null private var _mcZoomPanel:MovieClip;// = null private var _content:Content; private var _toolbar:Toolbar; private var _arrAdvanceResourcePanels:Array;// = null private var _advanceExternalTOC:AdvanceExternalTableOfContent; private var _playListMenu:Menu; private var _errorWindow:ErrorPanel; private var _assetExplorer:AssetsExplorer; private var _objDeleteLinkPanel:DeleteLinkPanel;// = null private var _objFileFilter:FileFilter; private var _glossary:GlossaryPanel; private var _objPlaylistCreatorPanel:PlaylistCreatorPanel; private var _mcContentMask:MovieClip;// = null private var _tableOfContent:TableOfContent; private var _resourcePanel:ResourcePanel; private var _objPlaylistWeblinkPanel:PlaylistWeblinkPanel; private var _objBookMark:BookMarkPanel; private var _dragareaStage:Sprite; private var _mcFadedBackground:MovieClip;// = null private var _spUpdateLinkPanel:Sprite;// = null private var _search:SearchPanel; private var _objFileReference:FileReference; private var _objAddLinkPanel:AddLinkPanel;// = null private var _progressBar:ProgressBar; private var _videoPanel:VideoPanel;// = null private var _indexPanel:IndexPanel; private var _instance:Sprite; private var _printPanel:PrintPanel; private var _strBrowserPlaylistTitle:String;// = "" public function MainView(_arg1:DisplayObject){ var uTotalPanels:uint; var i:uint; var mcPlayListPanel:Sprite; var mcPlaylistBrowserPanel:Sprite; var mcPlaylistWeblinkPanel:Sprite; var instance = _arg1; super(instance); _instance = (instance as Sprite); _content = new Content(getChildByName("mcContent")); _toolbar = new Toolbar(getChildByName("mcToolbar")); _progressBar = new ProgressBar(getChildByName("mcProgressBar")); _search = new SearchPanel(getChildByName("mcSearchPanel")); _mcFadedBackground = (getChildByName("mcFadedBackground") as MovieClip); if (_mcFadedBackground != null){ _mcFadedBackground.visible = false; }; _search.visible = false; var mcBrand:DisplayObject = getChildByName("mc_branding"); if (mcBrand != null){ _spBranding = new Branding(mcBrand); }; _glossary = new GlossaryPanel(getChildByName("mcGlossaryPanel")); _glossary.visible = false; var mcRP:DisplayObject = getChildByName("mcResourcePanel"); if (mcRP != null){ mcRP.visible = false; }; if (Config.BUTTON_RESOURCE_PANEL){ _resourcePanel = new ResourcePanel(mcRP); _resourcePanel.visible = false; }; _arrAdvanceResourcePanels = new Array(); if (((((!((mcRP == null))) && (!((Config.ADVANCED_RESOURCE_PANEL_DATA == null))))) && (!((Config.ADVANCED_RESOURCE_PANEL_DATA.resourcePanels == null))))){ uTotalPanels = Config.ADVANCED_RESOURCE_PANEL_DATA.resourcePanels.length; i = 0; while (i < uTotalPanels) { _arrAdvanceResourcePanels.push(new AdvanceResourcePanel(mcRP, i)); i = (i + 1); }; }; var mcVideoPanel:DisplayObject = getChildByName("mcVideoPanel"); if (mcVideoPanel != null){ mcVideoPanel.visible = false; if (Config.VIDEO != null){ _videoPanel = new VideoPanel(mcVideoPanel); _videoPanel.visible = false; }; }; var mcIndexPanel:DisplayObject = getChildByName("mcIndexPanel"); if (mcIndexPanel != null){ mcIndexPanel.visible = false; if (Config.INDEX_PANEL_XML != null){ _indexPanel = new IndexPanel(mcIndexPanel); _indexPanel.visible = false; }; }; if (_toolbar.playlistDropDown != null){ mcPlayListPanel = (getChildByName("mcPlayListPanel") as Sprite); if (mcPlayListPanel){ mcPlayListPanel.visible = false; }; mcPlaylistBrowserPanel = (getChildByName("mcPlayListBrowserPanel") as Sprite); if (mcPlaylistBrowserPanel){ mcPlaylistBrowserPanel.visible = false; }; mcPlaylistWeblinkPanel = (getChildByName("mcPlayListWeblinkPanel") as Sprite); if (mcPlaylistWeblinkPanel){ mcPlaylistWeblinkPanel.visible = false; }; }; if (_mcZoomPanel == null){ _mcZoomPanel = (getChildByName(ZOOM_PANEL) as MovieClip); if (_mcZoomPanel != null){ _mcZoomPanel.visible = false; }; }; _errorWindow = new ErrorPanel(getChildByName("mcErrorPanel")); _errorWindow.visible = false; _dragarea = (getChildByName("mcDragArea") as Sprite); try { _dragareaStage = (getChildByName("mcDragAreaStage") as Sprite); } catch(e:Error) { Controller.instance.tracer("mcDragAreaStage not stage"); }; if (Config.USE_EXTERNAL_TABLE_OF_CONTENT){ if (Config.USE_ADVANCE_EXTERNAL_TOC){ _advanceExternalTOC = new AdvanceExternalTableOfContent(getChildByName("mcTOC")); _advanceExternalTOC.visible = false; } else { _tableOfContent = new TableOfContent(getChildByName("mcTOC")); _tableOfContent.visible = false; }; }; var printPanel:DisplayObject = getChildByName("mcPrintPanel"); if (printPanel != null){ _printPanel = new PrintPanel(printPanel); _printPanel.visible = false; }; var globalNotesPanel:DisplayObject = getChildByName("mcGlobalNotesPanel"); if (globalNotesPanel != null){ _globalNotesPanel = new GlobalNotesPanel(globalNotesPanel); _globalNotesPanel.visible = false; }; _mcContentMask = (getChildByName("mcContentMask") as MovieClip); if (_mcContentMask != null){ _mcContentMask.visible = false; }; var mcBookMarkPanel:MovieClip = (getChildByName("mcBookMarkPanel") as MovieClip); if (mcBookMarkPanel != null){ _objBookMark = new BookMarkPanel(getChildByName("mcBookMarkPanel")); _objBookMark.visible = false; }; var mcDeleteLinkPanel:Sprite = (getChildByName("mcDeleteLinkPopup") as Sprite); if (mcDeleteLinkPanel != null){ mcDeleteLinkPanel.visible = false; }; _spUpdateLinkPanel = (getChildByName("mcUpdateLink") as Sprite); if (_spUpdateLinkPanel != null){ _spUpdateLinkPanel.visible = false; }; var mcAddLinkPanel:Sprite = (getChildByName("mcAddLinkPanel") as Sprite); if (mcAddLinkPanel != null){ if (mcDeleteLinkPanel != null){ _objDeleteLinkPanel = new DeleteLinkPanel(mcDeleteLinkPanel, dragareaStage); _objDeleteLinkPanel.show(false); }; _objAddLinkPanel = new AddLinkPanel(mcAddLinkPanel, dragareaStage, _objDeleteLinkPanel, _spUpdateLinkPanel); _objAddLinkPanel.show(false); }; var mcDataPanel:Sprite = (getChildByName("mcDataPanel") as Sprite); if (mcDataPanel != null){ _objDataPanel = new Panel(mcDataPanel, dragareaStage); _objDataPanel.show(false); }; _assetExplorer = new AssetsExplorer(); addChild(_assetExplorer); if (MovieClip(_toolbar.instance).getChildByName("btnFullScreen") != null){ _objFullScreen = new FullScreenHandler(_toolbar.instance); }; _spIntroPanel = (getChildByName("mcIntroPanel") as Sprite); if (_spIntroPanel != null){ _spIntroPanel.visible = false; _spIntroPanel.getChildByName("btnOk").addEventListener(MouseEvent.CLICK, onIntroOkClick); }; var mcExitPanel:Sprite = (getChildByName("mcExitPanel") as Sprite); if (mcExitPanel != null){ _objExitPanel = new ExitPanel(mcExitPanel); mcExitPanel.visible = false; }; } public function get zoomPanel():MovieClip{ return (_mcZoomPanel); } public function removeAdvanceToc():void{ } public function get errorWindow():ErrorPanel{ return (_errorWindow); } public function get glossary():GlossaryPanel{ return (_glossary); } public function onPlayListMenuItem(_arg1:String=null, _arg2:Boolean=false):void{ var _local3:Sprite; var _local4:Sprite; Controller.instance.tracer(("-----onPlayListMenuItem Inside main menu item id " + _arg1)); switch (_arg1){ case CREATE: createPlaylistCreaterPanel(); _objPlaylistCreatorPanel.setCurrentActionMode(PlaylistCreatorPanel.CREATE_MODE); _objPlaylistWeblinkPanel.show(false); _objPlaylistCreatorPanel.show(true); Controller.instance.view.toolbar.enablePlayListBtn(false); break; case EDIT: createPlaylistCreaterPanel(); _objPlaylistCreatorPanel.setCurrentActionMode(PlaylistCreatorPanel.EDIT_MODE); _objPlaylistWeblinkPanel.show(false); _objPlaylistCreatorPanel.show(true); break; case VIEW: _objPlaylistCreatorPanel.loadUserPlaylist(Controller.instance.model.userPlaylist.savedPlaylistXml); _local4 = (getChildByName("mcPlayListBrowserPanel") as Sprite); if (_objPlaylistBrowserPanel == null){ _local3 = (Controller.instance.view.dragarea as Sprite); _objPlaylistBrowserPanel = new PlaylistBrowserPanel(_local4, _local3, Controller.instance.model.userPlaylist); }; _objPlaylistBrowserPanel.createList(); _objPlaylistBrowserPanel.show(true); _objPlaylistBrowserPanel.setPlaylistTitle(_strBrowserPlaylistTitle); _objPlaylistBrowserPanel.loadDefaultPage(); Controller.instance.view.toolbar.enablePlayListBtn(false); break; case LOAD_LIST: createPlaylistCreaterPanel(); if (_objFileReference == null){ _objFileReference = new FileReference(); _objFileFilter = new FileFilter("Ebook Playlist", "*.xml"); _objFileReference.addEventListener(Event.SELECT, onPlayListSelected); _objFileReference.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); _objFileReference.addEventListener(ProgressEvent.PROGRESS, progressHandler); _objFileReference.addEventListener(Event.COMPLETE, onPlaylistLoaded); }; _objFileReference.browse([_objFileFilter]); Controller.instance.view.toolbar.enablePlayListBtn(true); break; default: Controller.instance.tracer("default case"); if (!_arg2){ Controller.instance.view.toolbar.enablePlayListBtn(true); }; break; }; } private function onPlaylistLoaded(_arg1:Event):void{ Controller.instance.tracer("onPlaylistLoaded called"); _strBrowserPlaylistTitle = String(FileReference(_arg1.target).name); _strBrowserPlaylistTitle = _strBrowserPlaylistTitle.split(".xml")[0]; _strBrowserPlaylistTitle = _strBrowserPlaylistTitle.split(".XML")[0]; var _local2:ByteArray = FileReference(_arg1.target).data; Controller.instance.tracer(("Byte array " + _local2)); var _local3:XML = new XML(_local2.readUTFBytes(_local2.length)); _objPlaylistCreatorPanel.loadUserPlaylist(_local3); } public function getFullScreenHandler():FullScreenHandler{ return (_objFullScreen); } public function get assetExplorer():AssetsExplorer{ return (_assetExplorer); } public function get indexPanel():IndexPanel{ return (_indexPanel); } public function get bookMark():BookMarkPanel{ return (_objBookMark); } public function get videoPanel():VideoPanel{ return (_videoPanel); } private function progressHandler(_arg1:Event):void{ Controller.instance.tracer(("Progress " + _arg1.type)); } public function get printPanel():PrintPanel{ return (_printPanel); } public function get activeAdvanceResourcePanels():AdvanceResourcePanel{ var _local1:uint = _arrAdvanceResourcePanels.length; var _local2:uint; while (_local2 < _local1) { if (_arrAdvanceResourcePanels[_local2].active){ return (_arrAdvanceResourcePanels[_local2]); }; _local2++; }; return (null); } public function get updateLinkPanel():Sprite{ return (_spUpdateLinkPanel); } private function ioErrorHandler(_arg1:Event):void{ Controller.instance.tracer("IOHandler"); } public function get content():Content{ return (_content); } public function get toolbar():Toolbar{ return (_toolbar); } private function onIntroOkClick(_arg1:MouseEvent):void{ _spIntroPanel.visible = false; Controller.instance.onPopUp(false); } public function get dataPanel():Panel{ return (_objDataPanel); } public function get exitPanel():ExitPanel{ return (_objExitPanel); } public function get tableOfContent():Object{ var _local1:Object; if (Config.USE_ADVANCE_EXTERNAL_TOC){ _local1 = _advanceExternalTOC; } else { _local1 = _tableOfContent; }; return (_local1); } public function createAdvanceToc():void{ } public function get resourcePanel():ResourcePanel{ return (_resourcePanel); } public function get addLinkPanel():AddLinkPanel{ return (_objAddLinkPanel); } public function get advanceExternalTOC():AdvanceExternalTableOfContent{ return (_advanceExternalTOC); } public function get getFadedBgReference():MovieClip{ return (_mcFadedBackground); } public function get progressBar():ProgressBar{ return (_progressBar); } public function get search():SearchPanel{ return (_search); } private function onPlayListSelected(_arg1:Event):void{ Controller.instance.tracer("onPlayListSelected called"); var _local2:FileReference = FileReference(_arg1.target); _local2.load(); } private function createPlaylistCreaterPanel():void{ var _local2:Sprite; var _local3:Sprite; Controller.instance.tracer(""); Controller.instance.tracer("createPlaylistCreaterPanel called"); var _local1:Sprite = (Controller.instance.view.dragarea as Sprite); if (_objPlaylistWeblinkPanel == null){ _local2 = (getChildByName("mcPlayListWeblinkPanel") as Sprite); _objPlaylistWeblinkPanel = new PlaylistWeblinkPanel(_local2, _local1); _objPlaylistWeblinkPanel.init(); }; if (_objPlaylistCreatorPanel == null){ _local3 = (getChildByName("mcPlayListPanel") as Sprite); _objPlaylistCreatorPanel = new PlaylistCreatorPanel(_local3, _local1, Controller.instance.model.playList, Controller.instance.model.userPlaylist, _objPlaylistWeblinkPanel); _objPlaylistCreatorPanel.init(); }; Controller.instance.tracer("createPlaylistCreaterPanel end"); Controller.instance.tracer(""); } public function get advanceResourcePanels():Array{ return (_arrAdvanceResourcePanels); } public function get dragareaStage():Sprite{ if (_dragareaStage == null){ return (dragarea); }; return (_dragareaStage); } public function get globalNotesPanel():GlobalNotesPanel{ return (_globalNotesPanel); } public function get dragarea():Sprite{ return (_dragarea); } public function get getContentMask():MovieClip{ return (_mcContentMask); } public function setBrowserPlaylistTitle(_arg1:String):void{ _strBrowserPlaylistTitle = _arg1; } public function get branding():Branding{ return (_spBranding); } public function get introPanel():Sprite{ return (_spIntroPanel); } } }//package view
Section 233
//Menu (view.Menu) package view { import controller.*; import flash.events.*; import flash.display.*; import flash.geom.*; public class Menu extends Sprite { private var _bToggleDisableOnItemClick:Boolean; private var _spMask:Sprite;// = null private var _objMenuItems:Object; private var _objLastClickedMenuItem:CustomButton; private var _bShowMenuOnItemClick:Boolean; private var _fOnClickMenuItem:Function; private var _sptMenuItemContainer:Sprite; public function Menu(_arg1:Sprite, _arg2:Function, _arg3:Boolean=false, _arg4:Boolean=false):void{ _objMenuItems = new Object(); _bShowMenuOnItemClick = _arg3; _bToggleDisableOnItemClick = _arg4; _sptMenuItemContainer = _arg1; _fOnClickMenuItem = _arg2; setMenuItems(); } public function show(_arg1:Boolean):void{ if (_arg1){ _sptMenuItemContainer.stage.addEventListener(MouseEvent.MOUSE_DOWN, checkMouseDownOnMenu); } else { _sptMenuItemContainer.stage.removeEventListener(MouseEvent.MOUSE_DOWN, checkMouseDownOnMenu); }; _sptMenuItemContainer.visible = _arg1; } public function selectedMenuItem(_arg1:String):void{ var _local2:CustomButton = _objMenuItems[_arg1]; Controller.instance.tracer(("defaultMenuItemSelected " + _local2.instance.name)); _local2.instance.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); } public function onMenuItem(_arg1:CustomButton):void{ if (!_bShowMenuOnItemClick){ show(false); }; if (_bToggleDisableOnItemClick){ _arg1.setState(CustomButton.STATE_DISABLED); if (_objLastClickedMenuItem != null){ _objLastClickedMenuItem.setState(CustomButton.STATE_NORMAL); }; _objLastClickedMenuItem = _arg1; }; _fOnClickMenuItem(_arg1.__id, _bShowMenuOnItemClick); } public function get menuInstance():Sprite{ return (_sptMenuItemContainer); } public function getSearchTabItem():Array{ var _local5:Sprite; var _local1:Array = new Array(); var _local2:Number = 1; var _local3:Array = checkForTabItems(); var _local4:Number = 0; while (_local4 < _local3.length) { _local5 = (_local3[_local4] as Sprite); _local1.push({item:_local5, tabIndex:_local2, shortcut:"", alt:"altText"}); _local2++; _local4++; }; return (_local1); } private function setMenuItems():void{ var mcItem:*; var strItemName:String; var objItem:CustomButton; var strItemId:String; var nTotItems:int = _sptMenuItemContainer.numChildren; var i:int; while (i < nTotItems) { mcItem = _sptMenuItemContainer.getChildAt(i); try { strItemName = mcItem.name; if (strItemName.split("_")[0] == "mcItem"){ objItem = new CustomButton(mcItem); objItem.__bToggle = false; strItemId = strItemName.split("_")[1]; objItem.__id = strItemId; objItem.setState(CustomButton.STATE_NORMAL); objItem.addEventListener(MouseEvent.CLICK, onMenuItem); _objMenuItems[strItemId] = objItem; }; } catch(e:Error) { Controller.instance.tracer(("error ..." + e.toString())); }; i = (i + 1); }; } public function get menuItems():Array{ var mcItem:*; var strItemName:String; var arrMenuItems:Array = new Array(); var nTotItems:int = _sptMenuItemContainer.numChildren; var i:Number = 0; while (i < nTotItems) { mcItem = _sptMenuItemContainer.getChildAt(i); try { strItemName = mcItem.name; if (strItemName.split("_")[0] == "mcItem"){ arrMenuItems.push((mcItem as DisplayObject)); }; } catch(e:Error) { Controller.instance.tracer(("error in getting menu items..." + e.toString())); }; i = (i + 1); }; return (arrMenuItems); } private function checkForTabItems():Array{ var mcItem:*; var strItemName:String; var arrTemp:Array = new Array(); var nTotItems:int = _sptMenuItemContainer.numChildren; var i:Number = 0; while (i < nTotItems) { mcItem = _sptMenuItemContainer.getChildAt(i); try { strItemName = mcItem.name; if (strItemName.split("_")[0] == "mcItem"){ arrTemp.push((mcItem as Sprite)); }; } catch(e:Error) { Controller.instance.tracer(("error ..." + e.toString())); }; i = (i + 1); }; arrTemp.sortOn("y", Array.NUMERIC); return (arrTemp); } public function enableItem(_arg1:String, _arg2:Boolean):void{ var _local3:CustomButton = _objMenuItems[_arg1]; if (_arg2){ _local3.setState(CustomButton.STATE_NORMAL); } else { _local3.setState(CustomButton.STATE_DISABLED); }; } public function destroy():void{ var _local1:*; for (_local1 in _objMenuItems) { _objMenuItems[_local1].removeEventListener(MouseEvent.CLICK); delete _objMenuItems[_local1]; }; } public function checkMouseDownOnMenu(_arg1:MouseEvent):void{ var _local2:Point = new Point(_sptMenuItemContainer.stage.mouseX, _sptMenuItemContainer.stage.mouseY); if (!_sptMenuItemContainer.hitTestPoint(_local2.x, _local2.y, true)){ show(false); _fOnClickMenuItem(null, false); }; } } }//package view
Section 234
//Panel (view.Panel) package view { import flash.events.*; import flash.display.*; import flash.geom.*; import flash.text.*; import event.*; import view.AdvanceFeatures.GlobalNotes.*; public class Panel extends Sprite { private var _spPanel:Sprite; private var _btnDragBar:SimpleButton; private var _spPanelBg:Sprite; private var _btnRestore:CustomButton; private var _objDragArea:Rectangle; private var _btnClose:SimpleButton; private var _spDragArea:Sprite; public static const PANEL_CLOSE:String = "panelClose"; public function Panel(_arg1:DisplayObject, _arg2:Sprite=null){ var _local4:DisplayObject; var _local5:TextField; var _local6:CustomScrollPane; super(); _spPanel = (_arg1 as Sprite); _spDragArea = _arg2; if (_arg2 != null){ _spPanelBg = (_spPanel.getChildByName("mcPanelBg") as Sprite); _objDragArea = new Rectangle(_arg2.x, _arg2.y, ((_arg2.x + _arg2.width) - _spPanelBg.width), (_arg2.height - _spPanelBg.height)); _btnDragBar = (_spPanel.getChildByName("mcDragBar") as SimpleButton); if (_btnDragBar){ _btnDragBar.addEventListener(MouseEvent.MOUSE_DOWN, onPanelDrag, false, 0, true); _btnDragBar.addEventListener(MouseEvent.MOUSE_UP, onPanelDrop, false, 0, true); }; _btnClose = (_spPanel.getChildByName("btnClose") as SimpleButton); if (_btnClose){ _btnClose.addEventListener(MouseEvent.CLICK, onClose, false, 0, true); }; _local4 = _spPanel.getChildByName("mcMinimize"); if (_local4 != null){ _btnRestore = new CustomButton(_local4); _btnRestore.__bToggle = true; _btnRestore.setState(CustomButton.STATE_NORMAL); _btnRestore.addEventListener(MouseEvent.CLICK, onRestore); }; }; var _local3:MovieClip = (_spPanel.getChildByName("mcContent") as MovieClip); if (_local3 != null){ _local5 = (_local3.getChildByName("txtContent") as TextField); if (_local5 != null){ _local6 = new CustomScrollPane(); _spPanel.addChild(_local6); _local6.x = _local3.x; _local6.y = _local3.y; _local6.name = "scrollPane"; _local6.height = _local5.height; _local6.width = _local5.width; _local5.width = (_local6.width - (_local6.vScrollBar.width + 1)); _local5.autoSize = TextFieldAutoSize.LEFT; _local6.horizontalScrollPolicy = CustomScrollPane.OFF; _local6.source = _local3; }; }; } protected function onPanelDrag(_arg1:MouseEvent):void{ _spPanel.startDrag(false, _objDragArea); } public function setDragArea(_arg1:Sprite):void{ _spPanelBg = (_spPanel.getChildByName("mcPanelBg") as Sprite); _objDragArea = new Rectangle(_arg1.x, _arg1.y, ((_arg1.x + _arg1.width) - _spPanelBg.width), (_arg1.height - _spPanelBg.height)); _btnDragBar = (_spPanel.getChildByName("mcDragBar") as SimpleButton); if (_btnDragBar){ _btnDragBar.addEventListener(MouseEvent.MOUSE_DOWN, onPanelDrag, false, 0, true); _btnDragBar.addEventListener(MouseEvent.MOUSE_UP, onPanelDrop, false, 0, true); }; _btnClose = (_spPanel.getChildByName("btnClose") as SimpleButton); if (_btnClose){ _btnClose.addEventListener(MouseEvent.CLICK, onClose, false, 0, true); }; } public function minimizePanel():void{ } public function show(_arg1:Boolean):void{ _spPanel.visible = _arg1; } private function onRestore(_arg1:CustomButton):void{ var _local2:int; if (_arg1.currentState == CustomButton.STATE_SELECTED){ _objDragArea = new Rectangle(_spDragArea.x, _spDragArea.y, ((_spDragArea.x + _spDragArea.width) - _spPanelBg.width), (_spDragArea.height - _btnDragBar.height)); minimizePanel(); } else { if (_arg1.currentState == CustomButton.STATE_NORMAL){ _objDragArea = new Rectangle(_spDragArea.x, _spDragArea.y, ((_spDragArea.x + _spDragArea.width) - _spPanelBg.width), (_spDragArea.height - _spPanelBg.height)); _local2 = ((_spDragArea.y + _spDragArea.height) - _spPanelBg.height); if (_spPanel.y > _local2){ _spPanel.y = _local2; }; maximizePanel(); }; }; } protected function onPanelDrop(_arg1:MouseEvent):void{ _spPanel.stopDrag(); } public function maximizePanel():void{ } public function setText(_arg1:String):void{ var _local3:TextField; var _local4:CustomScrollPane; var _local2:MovieClip = (_spPanel.getChildByName("mcContent") as MovieClip); if (_local2 != null){ _local3 = (_local2.getChildByName("txtContent") as TextField); if (_local3 != null){ _local3.text = _arg1; _local4 = (_spPanel.getChildByName("scrollPane") as CustomScrollPane); _local4.source = _local2; }; }; } private function onClose(_arg1:MouseEvent):void{ show(false); dispatchEvent(new CustomEvent(PANEL_CLOSE, false, false)); } } }//package view
Section 235
//ProgressBar (view.ProgressBar) package view { import flash.display.*; import model.*; public class ProgressBar extends WrappedDisplayObject { private var _maxWidth:Number; private var _fill:Sprite; public function ProgressBar(_arg1:DisplayObject){ super(_arg1); _fill = (getChildByName("mcFill") as Sprite); _maxWidth = _fill.width; _fill.width = 0; if (Config.HIDE_PRELOADER){ super.instance.visible = !(Config.HIDE_PRELOADER); }; } public function update(_arg1:Number):void{ _fill.width = (_arg1 * _maxWidth); } override public function set visible(_arg1:Boolean):void{ if (Config.HIDE_PRELOADER){ super.instance.visible = !(Config.HIDE_PRELOADER); } else { super.instance.visible = _arg1; }; } } }//package view
Section 236
//ResourcePanel (view.ResourcePanel) package view { import controller.*; import flash.events.*; import flash.display.*; import model.*; import flash.geom.*; import accessibility.*; import flash.text.*; import view.AdvanceFeatures.MP3Player.*; public class ResourcePanel extends WrappedDisplayObject { private var _dragBar:DisplayObject; protected var _objData:LinkIndex; private var _close:DisplayObject; private var arrWordsTabItems:Array; private var _strCurrentLessonID:String; private var _scrollbars:Scrollbars; private var _objMP3Player:MP3Player;// = null private var _objPageWiseResources:Object; private var _initX:Number; private var arrAlphabetsTabItems:Array; private var _mask:Sprite; private var _activeWord:String; protected var _bActive:Boolean;// = false private var _initY:Number; private var _arrActiveAlphabet:Array; private var _bg:Sprite; private var _arrData:Array; protected var _bPageWiseResources:Boolean; private var _arrLessonActivityData:Array; protected var _instance:Sprite; private var _blnIncreaseWidth:Boolean; private static var ResourceLink:Class = ResourcePanel_ResourceLink; private static var ResultBar:Class = ResourcePanel_ResultBar; public function ResourcePanel(_arg1:DisplayObject){ super(_arg1); _instance = (_arg1 as Sprite); _arrData = new Array(); _arrLessonActivityData = new Array(); _objData = null; _bPageWiseResources = false; _objPageWiseResources = new Object(); _scrollbars = new Scrollbars(getChildByName("mcScrollbars"), null); _scrollbars.registerListener(this); _bg = (getChildByName("mcSrchPanelBg") as Sprite); _mask = (getChildByName("mcMask") as Sprite); _dragBar = (getChildByName("mcDragBar") as DisplayObject); _dragBar.addEventListener(MouseEvent.MOUSE_DOWN, onGlossaryDrag, false, 0, true); _dragBar.addEventListener(MouseEvent.MOUSE_UP, onGlossaryDrop, false, 0, true); _initX = _instance.getChildByName("mcWordList").x; _initY = _instance.getChildByName("mcWordList").y; _close = (getChildByName("btnClose") as DisplayObject); _close.addEventListener(MouseEvent.CLICK, onClose, false, 0, true); } public function setCurrentScreen():void{ var _local1:Controller = Controller.instance; var _local2:Model = _local1.model; var _local3:PageListing = _local1.model.objPageList; _strCurrentLessonID = _local3.getSectionTitle(_local2.loadingPageIndex).split("@")[1]; setScreen(_strCurrentLessonID); } private function getResourceList():Array{ var _local9:Array; var _local10:int; var _local11:int; var _local12:int; var _local13:int; var _local1:Array = new Array(); var _local2:Number = Controller.instance.model.loadingPageIndex; var _local3:Number = Controller.instance.view.content.pageCount; _local2 = ((_local3)!=1) ? (_local2 - 1) : _local2; var _local4:Controller = Controller.instance; var _local5:Model = _local4.model; var _local6:PageListing = _local4.model.objPageList; var _local7:int = _local2; var _local8:int; while (_local8 < _local3) { _local9 = getResourcesFromPage(_local6.getPageLabel(_local7)); if (_local9 != null){ _local10 = _local9.length; _local11 = 0; while (_local11 < _local10) { _local12 = _local1.length; _local13 = 0; while (_local13 < _local12) { if (_local9[_local11].id == _local1[_local13].id){ break; }; _local13++; }; if (_local13 == _local12){ _local1.push(_local9[_local11]); }; _local11++; }; }; _local7 = (_local7 + 1); _local8++; }; return (_local1); } private function playAudio(_arg1:MouseEvent):void{ Controller.instance.view.assetExplorer.showPopup(true); _objMP3Player.onItemClick(Sprite(_arg1.target.parent)); } private function getResourcesFromPage(_arg1):Array{ var _local2:Array = _objPageWiseResources[String(_arg1)]; if (_local2 == null){ _local2 = _objPageWiseResources["all"]; }; if (_local2 == null){ _local2 = _objPageWiseResources["All"]; }; return (_local2); } private function clearList():void{ var _local1:Sprite = (_instance.getChildByName("mcWordList") as Sprite); while (_local1.numChildren > 0) { _local1.removeChildAt(0); }; } private function checkForTabItems():Array{ var _local5:Sprite; var _local1:Array = new Array(); var _local2:Sprite = (_instance.getChildByName("mcWordList") as Sprite); var _local3:Number = _local2.numChildren; var _local4:Number = 0; while (_local4 < _local3) { _local5 = (_local2.getChildAt(_local4) as Sprite); _local1.push(_local5); _local4++; }; return (_local1); } private function onPopUpHide(_arg1:Event):void{ _objMP3Player.killAudio(); } public function init():void{ var _local3:int; var _local4:Object; var _local5:int; var _local6:Object; var _local1:Controller = Controller.instance; var _local2:Model = _local1.model; if (_objData == null){ _objData = _local2.getLinkIndexData(); if (_objData.unit != undefined){ _local3 = 0; while (_local3 < _objData.unit.length) { _local4 = _objData.unit[_local3]; _local5 = 0; while (_local5 < _local4.chapter.length) { _local6 = _local4.chapter[_local5]; pushLessonInformation(_local6); _local5++; }; _local3++; }; } else { if (_objData.resourceGroups != undefined){ _bPageWiseResources = true; setResourcesPageWise(_objData.resourceGroups); }; }; }; } private function enableButton(_arg1:Sprite, _arg2:Boolean):void{ _arg1.buttonMode = _arg2; _arg1.mouseEnabled = _arg2; if (_arg2){ _arg1.alpha = 1; } else { _arg1.alpha = 0.5; }; } private function assignLinkEvent(_arg1:CustomButton, _arg2:Object):void{ if (_arg2.uri != null){ _arg1.__id = _arg2.uri; _arg1.addEventListener(MouseEvent.CLICK, launchResourceUri); } else { if (_arg2.JSfunction != null){ _arg1.__id = _arg2.JSfunction; _arg1.addEventListener(MouseEvent.CLICK, callJSFunction); } else { _arg1.setState(CustomButton.STATE_DISABLED); _arg1.setEnabled(false); }; }; } private function setIcon(_arg1:String, _arg2:Number):Number{ var _local4:MovieClip; var _local3:Sprite = (_instance.getChildByName("mcWordList") as Sprite); if (_arg1 != null){ _local4 = (new ResourceLink() as MovieClip); _local4.gotoAndStop(_arg1); _local4.mouseChildren = false; _local4.mouseEnabled = false; _local4.y = _arg2; _local3.addChild(_local4); return ((_local4.width + 5)); }; return (0); } private function callJSFunction(_arg1:CustomButton):void{ Controller.instance.callJSFunction(_arg1.__id); } public function getTabItems():Array{ var _local7:Sprite; var _local8:Sprite; var _local9:uint; var _local10:uint; var _local1:Array = new Array(); var _local2:Number = 1; var _local3:Array = checkForTabItems(); var _local4:Sprite = (_instance.getChildByName("mcWordList") as Sprite); var _local5:Object = _local4.numChildren; var _local6:Number = 0; while (_local6 < _local3.length) { _local7 = (_local3[_local6] as Sprite); _local1.push({item:_local7.getChildByName("btnBar"), tabIndex:_local2, shortcut:"", alt:"altText"}); _local2++; _local8 = (_local7.getChildByName("spLinkContainer") as Sprite); if (_local8 != null){ _local9 = 0; _local10 = _local8.numChildren; while (_local9 < _local10) { var _temp1 = _local2; _local2 = (_local2 + 1); _local1.push({item:_local8.getChildAt(_local9), tabIndex:_temp1, shortcut:"", alt:""}); _local9++; }; }; _local6++; }; var _temp2 = _local2; _local2 = (_local2 + 1); _local1.push({item:_close, tabIndex:_temp2, shortcut:"", alt:"close"}); return (_local1); } public function onScrollVertical(_arg1:Number):void{ var _local2:Sprite = (_instance.getChildByName("mcWordList") as Sprite); if (_arg1 != 0){ _local2.y = (-(_arg1) + _initY); reArrangeAccessibility(); } else { _local2.y = _initY; }; } private function setItemLinks(_arg1:Array, _arg2:Sprite):void{ var _local6:Sprite; var _local7:Sprite; var _local8:CustomButton; var _local9:String; var _local3:uint = _arg1.length; var _local4:Number = _arg2.height; if (_local3 > 0){ _local6 = new Sprite(); _local6.name = "spLinkContainer"; _arg2.addChild(_local6); _local6.y = _local4; _local4 = 0; }; var _local5:int; while (_local5 < _local3) { _local7 = new ResourceLink(); _local6.addChild(_local7); _local7.y = _local4; _local8 = new CustomButton(_local7); _local8.setState(CustomButton.STATE_NORMAL); assignLinkEvent(_local8, _arg1[_local5]); _local9 = _arg1[_local5].title; if (_local9 != null){ _local8.setLabelText("txtLink", _local9); }; _local4 = (_local4 + _local7.height); _local5++; }; } private function initAudioPlayer():void{ var _local3:uint; var _local4:uint; var _local5:Sprite; var _local6:Sprite; var _local7:Object; var _local1:Array = new Array(); var _local2:Array = getActivityData(_strCurrentLessonID); if (_local2 != null){ _local3 = _local2.length; _local4 = 0; while (_local4 < _local3) { if (_local2[_local4].audio != null){ _local5 = (_instance.getChildByName("mcWordList") as Sprite); _local6 = (_local5.getChildByName(("a_" + _local4)) as Sprite); _local1.push({path:_local2[_local4].audio, id:_local6}); }; _local4++; }; }; if (_local1.length != 0){ Controller.instance.stopAudio(); if (_objMP3Player == null){ _objMP3Player = new MP3Player(); _local7 = Config.INTERNAL_POPUP_WINDOW_SETTINGS["AUDIO"]; Controller.instance.view.assetExplorer.open(null, _local7, "", null, null, _objMP3Player, false); Controller.instance.view.assetExplorer.addEventListener("close", onPopUpHide); Controller.instance.view.assetExplorer.addEventListener("hide", onPopUpHide); }; _objMP3Player.storeAudioData(_local1); }; } private function loadVideo(_arg1:MouseEvent):void{ var _local2:Array = getActivityData(_strCurrentLessonID); var _local3:int = int(_arg1.currentTarget.parent.name.split("_")[1]); var _local4:String = _local2[_local3].video; Controller.instance.loadInternalVideo(_local4); } private function onGlossaryDrop(_arg1:MouseEvent):void{ _instance.stopDrag(); } private function updateScrollbars():void{ var _local1:Sprite = (_instance.getChildByName("mcWordList") as Sprite); var _local2:Number = _local1.width; var _local3:Number = _local1.height; if (_blnIncreaseWidth){ }; var _local4:Number = _scrollbars.update((_local2 - _mask.width), (_local3 - _mask.height)); if (_local4 < 0){ }; if (_local1.x < 5){ }; } private function launchResourceUri(_arg1:CustomButton):void{ Controller.instance.loadURL(_arg1.__id, "normal", null, false); } private function getActivityTitle(_arg1:String):String{ var _local2 = ""; _local2 = _arg1.substr((_arg1.indexOf("-") + 1)); return (_local2); } private function reArrangeAccessibility():void{ Controller.instance.initilizeAccesibility(AccessibilityConstants.RESOURCE_POPUP); } public function setResourcesPageWise(_arg1:Array):void{ var _local4:Object; var _local5:Array; var _local6:int; var _local7:int; var _local2:int = _arg1.length; var _local3:int; while (_local3 < _local2) { _local4 = _arg1[_local3]; if (_local4.pageIds != undefined){ _local5 = _local4.pageIds.split(","); _local6 = _local5.length; _local7 = 0; while (_local7 < _local6) { _objPageWiseResources[_local5[_local7]] = _local4.resources; _local7++; }; }; _local3++; }; } public function onScrollHorizontal(_arg1:Number):void{ var _local2:Sprite = (_instance.getChildByName("mcWordList") as Sprite); if (_arg1 != 0){ _local2.x = -(_arg1); } else { _local2.x = _initX; }; } private function onClose(_arg1:MouseEvent):void{ show(false); } public function pushLessonInformation(_arg1:Object):void{ var _local3:Object; var _local2:int; while (_local2 < _arg1.lesson.length) { _local3 = _arg1.lesson[_local2]; _local3.id = _local3.value; _arrLessonActivityData.push(_local3); _local2++; }; } private function getActivityData(_arg1:String):Array{ var _local3:int; var _local2:Array; if (!_bPageWiseResources){ _local3 = 0; while (_local3 < _arrLessonActivityData.length) { if (_arrLessonActivityData[_local3].id.toLowerCase() == _arg1){ _local2 = _arrLessonActivityData[_local3].activity; break; }; _local3++; }; } else { _local2 = getResourceList(); if (_local2.length == 0){ _local2 = null; }; }; return (_local2); } private function setScreen(_arg1:String):void{ var _local3:Sprite; var _local4:Sprite; var _local5:Number; var _local6:Array; var _local7:int; var _local8:int; var _local9:Sprite; var _local10:TextField; var _local11:PageListing; var _local12:TextFormat; var _local13:DisplayObject; var _local14:Sprite; var _local15:DisplayObject; clearList(); var _local2:Array = getActivityData(_arg1); if (_local2 != null){ _local3 = (_instance.getChildByName("mcWordList") as Sprite); _local5 = 0; _local6 = new Array(); _local7 = 0; while (_local7 < _local2.length) { _local9 = new ResultBar(); _local6.push(_local9); _local9.name = ("a_" + _local7); _local3.addChild(_local9); if (_local4 == null){ _local9.y = (_local9.height * _local7); } else { _local9.y = (_local4.y + _local4.height); }; _local9.x = setIcon(_local2[_local7].use_icon, _local9.y); _local4 = _local9; _local10 = (_local9.getChildByName("txtResult") as TextField); _local10.autoSize = TextFieldAutoSize.LEFT; _local11 = Controller.instance.model.objPageList; _local12 = new TextFormat(); if (Config.ENABLE_HTML_TEXT){ _local10.htmlText = getActivityTitle(_local2[_local7].title); _local12.bold = true; _local10.setTextFormat(_local12); } else { _local10.text = getActivityTitle(_local2[_local7].title); }; _local10.mouseEnabled = false; _local10.tabEnabled = false; _local13 = (_local9.getChildByName("btnBar") as DisplayObject); if (_local2[_local7].uri != null){ _local13.addEventListener(MouseEvent.CLICK, openResource, false, 0, true); } else { if (_local2[_local7].audio != null){ _local13.addEventListener(MouseEvent.CLICK, playAudio, false, 0, true); } else { if (_local2[_local7].video != null){ _local13.addEventListener(MouseEvent.CLICK, loadVideo, false, 0, true); } else { SimpleButton(_local13).mouseEnabled = false; }; }; }; if (Controller.instance.view.toolbar.themeHandler != null){ Controller.instance.view.toolbar.themeHandler.searchItems(_local13); }; if (_local2[_local7].links != null){ setItemLinks(_local2[_local7].links, _local9); }; reArrangeAccessibility(); if (_local5 < _local10.width){ _local5 = _local10.width; }; _local7++; }; _local8 = 0; while (_local8 < _local6.length) { _local14 = (_local6[_local8] as Sprite); _local15 = (_local14.getChildByName("btnBar") as DisplayObject); if (_local15.width < (_local5 + 10)){ _local15.width = (_local5 + 10); }; _local8++; }; initAudioPlayer(); } else { show(false); }; updateScrollbars(); } private function onGlossaryDrag(_arg1:MouseEvent):void{ var _local2:Sprite = Controller.instance.view.dragarea; var _local3:Rectangle = new Rectangle(_local2.x, _local2.y, ((_local2.x + _local2.width) - _bg.width), (_local2.height - _bg.height)); _instance.startDrag(false, _local3); } public function get exist():Boolean{ var _local1:Controller = Controller.instance; var _local2:Model = _local1.model; var _local3:PageListing = _local1.model.objPageList; _strCurrentLessonID = (_local3.getSectionTitle(_local2.loadingPageIndex).split("@")[1] as String); var _local4:String = _local3.getSectionTitle(_local2.loadingPageIndex); var _local5:Array = getActivityData(_strCurrentLessonID); if (((!((_local5 == null))) && (!((_local4.toLowerCase() == Config.TABLE_OF_CONTENT_TEXT.toLowerCase()))))){ return (true); }; return (false); } private function openResource(_arg1:MouseEvent):void{ var _local2:Controller = Controller.instance; var _local3:Array = getActivityData(_strCurrentLessonID); var _local4:Number = Number(_arg1.currentTarget.parent.name.split("_")[1]); var _local5:String = _local3[_local4].uri; if (_local5 != null){ _local2.loadURL(_local5, "normal", null, false); }; } public function show(_arg1:Boolean):void{ _scrollbars.removeEventListeners(); _instance.visible = _arg1; Controller.instance.onPopUp(_arg1); if (_arg1){ _scrollbars.registerEventListeners(); setCurrentScreen(); } else { clearList(); _bActive = false; if (_objMP3Player != null){ Controller.instance.view.assetExplorer.showPopup(false); }; }; } } }//package view
Section 237
//ResourcePanel_ResourceLink (view.ResourcePanel_ResourceLink) package view { import flash.display.*; import mx.core.*; public class ResourcePanel_ResourceLink extends MovieClipAsset { public var btnZoomIn:DisplayObject; public var mcContent:DisplayObject; public var mc_thumb:DisplayObject; public var btnHTML:DisplayObject; public var mc_O:DisplayObject; public var mc_J:DisplayObject; public var mc_Y:DisplayObject; public var btnTeacher:DisplayObject; public var btnUp:DisplayObject; public var mcThumb:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnBar:DisplayObject; public var mc_N:DisplayObject; public var txtWord:DisplayObject; public var mcIconAnim:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var mcPatch:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var txtLink:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnLinkBg:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcThemeClip:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_D:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mc_K:DisplayObject; public var mc_M:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_R:DisplayObject; public var mc_L:DisplayObject; public var mcGlossary:DisplayObject; public var mc_P:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_T:DisplayObject; public var mc_U:DisplayObject; public var mc_V:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_S:DisplayObject; public var mc_B:DisplayObject; public var mc_C:DisplayObject; public var mc_W:DisplayObject; public var mcGlossaryImage:DisplayObject; } }//package view
Section 238
//ResourcePanel_ResultBar (view.ResourcePanel_ResultBar) package view { import flash.display.*; import mx.core.*; public class ResourcePanel_ResultBar extends SpriteAsset { public var btnZoomIn:DisplayObject; public var mcContent:DisplayObject; public var mc_thumb:DisplayObject; public var btnHTML:DisplayObject; public var mc_O:DisplayObject; public var mc_Y:DisplayObject; public var btnTeacher:DisplayObject; public var btnUp:DisplayObject; public var mcThumb:DisplayObject; public var mc_J:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnBar:DisplayObject; public var mc_N:DisplayObject; public var txtWord:DisplayObject; public var mcIconAnim:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var mcPatch:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnLinkBg:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcThemeClip:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_D:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mc_K:DisplayObject; public var mc_M:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_R:DisplayObject; public var mc_L:DisplayObject; public var mcGlossary:DisplayObject; public var mc_P:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_T:DisplayObject; public var mc_U:DisplayObject; public var mc_V:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_S:DisplayObject; public var mc_B:DisplayObject; public var mc_C:DisplayObject; public var mc_W:DisplayObject; public var mcGlossaryImage:DisplayObject; } }//package view
Section 239
//Scrollbar (view.Scrollbar) package view { import controller.*; import flash.events.*; import flash.display.*; import flash.utils.*; import flash.ui.*; public class Scrollbar extends WrappedDisplayObject { private var _down:SimpleButton; private var _startMouse:Number; private var _objListener:Object; private var _type:String; private var _interval:int; private var _delta:Number; private var _up:SimpleButton; private var _ref:String; private var _startOffset:Number; private var _thumb:Sprite; private var _multiplier:Number; private var _start:Number; private var _maxLength:Number; private var _value:Number; private var _instance:DisplayObject; private var _thumbBg:Sprite; public function Scrollbar(_arg1:DisplayObject, _arg2:String, _arg3:String){ super(_arg1); _instance = _arg1; _type = _arg2; _thumb = (getChildByName("mcThumb") as Sprite); _thumbBg = (getChildByName("mcThumbBg") as Sprite); _ref = _arg3; if (_arg2 == "vertical"){ _up = (getChildByName("btnUp") as SimpleButton); _down = (getChildByName("btnDown") as SimpleButton); _maxLength = _thumb.height; _startOffset = _thumb.y; } else { _up = (getChildByName("btnLeft") as SimpleButton); _down = (getChildByName("btnRight") as SimpleButton); _maxLength = _thumb.width; _startOffset = _thumb.x; }; _up.useHandCursor = false; _down.useHandCursor = false; registerEventListeners(); _value = 0; } public function movePage(_arg1:Number):void{ _delta = _arg1; onButtonClick(); } private function onkeyPress(_arg1:KeyboardEvent):void{ var _local2:Number; if (_arg1.keyCode == Keyboard.ENTER){ _local2 = ((_arg1.currentTarget)==_up) ? -5 : 5; movePage(_local2); }; } private function onPageScroll(_arg1:MouseEvent):void{ if (_type == "vertical"){ if (_instance.mouseY >= (_thumb.y + _thumb.height)){ movePage((_multiplier * 100)); } else { movePage(-((_multiplier * 100))); }; } else { if (_instance.mouseX >= (_thumb.x + _thumb.width)){ movePage((_multiplier * 100)); } else { movePage(-((_multiplier * 100))); }; }; } private function onButtonClick():void{ if (_type == "vertical"){ _thumb.y = (_thumb.y + _delta); } else { _thumb.x = (_thumb.x + _delta); }; limitAndRaise(); } private function onDragEnd(_arg1:MouseEvent):void{ onDrag(_arg1); instance.stage.removeEventListener(MouseEvent.MOUSE_MOVE, onDrag, false); instance.stage.removeEventListener(MouseEvent.MOUSE_UP, onDragEnd, false); } private function onButtonEnd(_arg1:MouseEvent):void{ onButtonClick(); clearInterval(_interval); instance.stage.removeEventListener(MouseEvent.MOUSE_UP, onButtonEnd, false); } private function limitAndRaise():void{ if (_type == "vertical"){ if (_thumb.y < _startOffset){ _thumb.y = _startOffset; } else { if ((_thumb.y + _thumb.height) > (_maxLength + _startOffset)){ _thumb.y = ((_maxLength + _startOffset) - _thumb.height); }; }; _value = ((_thumb.y - _startOffset) / _multiplier); if (_ref == "Content"){ Controller.instance.view.content.onScrollVertical(_value); } else { if (_ref == "Search"){ Controller.instance.view.search.onScrollVertical(_value); } else { if (_ref == "Glossary"){ Controller.instance.view.glossary.onScrollVertical(_value); } else { if (_ref == "List"){ Controller.instance.view.tableOfContent.list.onScrollVertical(_value); } else { if (_ref == "AdvanceList"){ Controller.instance.view.advanceExternalTOC.advanceList.onScrollVertical(_value); } else { if (_ref == "Tree"){ Controller.instance.view.tableOfContent.tree.onScrollVertical(_value); } else { if (_ref == "BookMark"){ Controller.instance.view.bookMark.onScrollVertical(_value); }; }; }; }; }; }; }; if (_objListener != null){ _objListener.onScrollVertical(_value); }; } else { if (_thumb.x < _startOffset){ _thumb.x = _startOffset; } else { if ((_thumb.x + _thumb.width) > (_maxLength + _startOffset)){ _thumb.x = ((_maxLength + _startOffset) - _thumb.width); }; }; _value = ((_thumb.x - _startOffset) / _multiplier); if (_ref == "Content"){ Controller.instance.view.content.onScrollHorizontal(_value); } else { if (_ref == "Search"){ Controller.instance.view.search.onScrollHorizontal(_value); } else { if (_ref == "Glossary"){ Controller.instance.view.glossary.onScrollHorizontal(_value); } else { if (_ref == "List"){ Controller.instance.view.tableOfContent.list.onScrollHorizontal(_value); } else { if (_ref == "AdvanceList"){ Controller.instance.view.advanceExternalTOC.advanceList.onScrollHorizontal(_value); } else { if (_ref == "Tree"){ Controller.instance.view.tableOfContent.tree.onScrollHorizontal(_value); } else { if (_ref == "BookMark"){ Controller.instance.view.bookMark.onScrollHorizontal(_value); }; }; }; }; }; }; }; if (_objListener != null){ _objListener.onScrollHorizontal(_value); }; }; } private function onUpStart(_arg1:MouseEvent):void{ onButtonStart(-((_multiplier * 10))); } private function onDrag(_arg1:MouseEvent):void{ if (_type == "vertical"){ _thumb.y = (_start + (instance.mouseY - _startMouse)); } else { _thumb.x = (_start + (instance.mouseX - _startMouse)); }; limitAndRaise(); } private function onDownStart(_arg1:MouseEvent):void{ onButtonStart((_multiplier * 10)); } public function update(_arg1:Number, _arg2:Number=-1):void{ var _local3:Number; if (_arg1 <= 0){ _value = 0; _multiplier = 1; _local3 = _maxLength; visible = false; } else { if (_arg2 != -1){ _value = _arg2; }; if (_value > _arg1){ _value = _arg1; }; _local3 = ((_maxLength * _maxLength) / (_maxLength + _arg1)); if (_local3 < 21){ _local3 = 21; }; _multiplier = ((_maxLength - _local3) / _arg1); visible = true; }; if (_type == "vertical"){ _thumb.height = _local3; _thumb.y = ((_value * _multiplier) + _startOffset); } else { _thumb.width = _local3; _thumb.x = ((_value * _multiplier) + _startOffset); }; limitAndRaise(); } public function reset():void{ if (_type == "vertical"){ _thumb.y = _startOffset; } else { _thumb.x = _startOffset; }; limitAndRaise(); } private function onOver(_arg1:MouseEvent):void{ if (_ref == "Content"){ Controller.instance.view.content.showCustomCursor(false); }; } public function autoScroll(_arg1:Number):void{ if (_type == "vertical"){ _thumb.y = (((_maxLength + _startOffset) - _thumb.height) * _arg1); } else { _thumb.x = (((_maxLength + _startOffset) - _thumb.width) * _arg1); }; limitAndRaise(); } public function setScrollbar(_arg1:Number):void{ if (_type == "vertical"){ _thumb.y = ((_arg1 * _multiplier) + _startOffset); } else { _thumb.x = ((_arg1 * _multiplier) + _startOffset); }; limitAndRaise(); } public function removeEventListeners():void{ _up.removeEventListener(MouseEvent.MOUSE_DOWN, onUpStart); _down.removeEventListener(MouseEvent.MOUSE_DOWN, onDownStart); _up.removeEventListener(KeyboardEvent.KEY_DOWN, onkeyPress); _down.removeEventListener(KeyboardEvent.KEY_DOWN, onkeyPress); _thumb.removeEventListener(MouseEvent.MOUSE_DOWN, onDragStart); if (_thumbBg){ _thumbBg.removeEventListener(MouseEvent.MOUSE_DOWN, onPageScroll); }; instance.removeEventListener(MouseEvent.ROLL_OVER, onOver); instance.removeEventListener(MouseEvent.ROLL_OUT, onOut); } public function registerEventListeners():void{ _up.addEventListener(MouseEvent.MOUSE_DOWN, onUpStart, false, 0, true); _down.addEventListener(MouseEvent.MOUSE_DOWN, onDownStart, false, 0, true); _up.addEventListener(KeyboardEvent.KEY_DOWN, onkeyPress, false, 0, true); _down.addEventListener(KeyboardEvent.KEY_DOWN, onkeyPress, false, 0, true); _thumb.addEventListener(MouseEvent.MOUSE_DOWN, onDragStart, false, 0, true); if (_thumbBg){ _thumbBg.addEventListener(MouseEvent.MOUSE_DOWN, onPageScroll, false, 0, true); }; instance.addEventListener(MouseEvent.ROLL_OVER, onOver, false, 0, true); instance.addEventListener(MouseEvent.ROLL_OUT, onOut, false, 0, true); } private function onOut(_arg1:MouseEvent):void{ if (_ref == "Content"){ Controller.instance.view.content.showCustomCursor(true); }; } private function onButtonStart(_arg1:Number):void{ _delta = _arg1; _interval = setInterval(onButtonClick, 30); instance.stage.addEventListener(MouseEvent.MOUSE_UP, onButtonEnd, false, 0, true); } private function onDragStart(_arg1:MouseEvent):void{ instance.stage.addEventListener(MouseEvent.MOUSE_MOVE, onDrag, false, 0, true); instance.stage.addEventListener(MouseEvent.MOUSE_UP, onDragEnd, false, 0, true); if (_type == "vertical"){ _startMouse = instance.mouseY; _start = _thumb.y; } else { _start = _thumb.x; _startMouse = instance.mouseX; }; } public function registerListener(_arg1:Object):void{ _objListener = _arg1; } public function get accessibleButtons():Array{ return ([_up, _down]); } } }//package view
Section 240
//Scrollbars (view.Scrollbars) package view { import flash.display.*; public class Scrollbars extends WrappedDisplayObject { private var _defWidth:Number; private var _horizontal:Scrollbar; private var _defHeight:Number; private var _mcPatch:Sprite; private var _vertical:Scrollbar; public function Scrollbars(_arg1:DisplayObject, _arg2:String){ super(_arg1); _vertical = new Scrollbar(getChildByName("mcVertical"), "vertical", _arg2); _horizontal = new Scrollbar(getChildByName("mcHorizontal"), "horizontal", _arg2); _defWidth = _horizontal.instance.width; _defHeight = _vertical.instance.height; _mcPatch = (getChildByName("mcPatch") as Sprite); } public function registerEventListeners():void{ _horizontal.registerEventListeners(); _vertical.registerEventListeners(); } public function update(_arg1:Number, _arg2:Number):Number{ if (_arg1 > 0){ _arg2 = (_arg2 + _horizontal.instance.height); }; if (_arg2 > 0){ _arg1 = (_arg1 + _vertical.instance.width); if ((((_arg1 <= _vertical.instance.width)) && ((_arg1 > 0)))){ _arg2 = (_arg2 + _horizontal.instance.height); }; }; if ((((_arg1 > 0)) && ((_arg2 > 0)))){ _mcPatch.visible = true; _horizontal.instance.width = _defWidth; _vertical.instance.height = _defHeight; } else { if (_arg1 > 0){ _horizontal.instance.width = (_defWidth + _mcPatch.width); } else { if (_arg2 > 0){ _vertical.instance.height = (_defHeight + _mcPatch.height); }; }; _mcPatch.visible = false; }; _horizontal.update(_arg1); _vertical.update(_arg2); return (_arg1); } public function setScrollbars(_arg1:Number, _arg2:Number):void{ _horizontal.setScrollbar(_arg1); _vertical.setScrollbar(_arg2); } public function removeEventListeners():void{ _horizontal.removeEventListeners(); _vertical.removeEventListeners(); } public function get horizontalScroll():Scrollbar{ return (_horizontal); } public function get verticalScroll():Scrollbar{ return (_vertical); } public function registerListener(_arg1:Object):void{ _vertical.registerListener(_arg1); _horizontal.registerListener(_arg1); } } }//package view
Section 241
//SearchPanel (view.SearchPanel) package view { import controller.*; import flash.events.*; import flash.display.*; import model.*; import flash.geom.*; import accessibility.*; import flash.text.*; public class SearchPanel extends WrappedDisplayObject { private var _dragBar:DisplayObject; private var _textArea:TextField; private var _mask:Sprite; private var _txtNoResult:TextField; private var _noResult:Sprite; private var _bg:Sprite; private var _resultArea:Sprite; private var _scrollbars:Scrollbars; private var _resultCount:Number; private var _instance:Sprite; private var _close:DisplayObject; private var _minimize:DisplayObject; private static var ResultBar:Class = SearchPanel_ResultBar; public function SearchPanel(_arg1:DisplayObject){ super(_arg1); _instance = (_arg1 as Sprite); _scrollbars = new Scrollbars(getChildByName("mcScrollbars"), "Search"); _mask = (getChildByName("mcMask") as Sprite); _resultArea = (getChildByName("mcSearchContent") as Sprite); _noResult = (getChildByName("mcNoResult") as Sprite); _txtNoResult = (_noResult.getChildByName("txtResult") as TextField); _bg = (getChildByName("mcSrchPanelBg") as Sprite); _dragBar = (getChildByName("mcSrchDragBar") as DisplayObject); _dragBar.addEventListener(MouseEvent.MOUSE_DOWN, onSearchDrag, false, 0, true); _dragBar.addEventListener(MouseEvent.MOUSE_UP, onSearchDrop, false, 0, true); _dragBar.stage.addEventListener(MouseEvent.MOUSE_UP, onSearchDrop, false, 0, true); _dragBar.stage.addEventListener(MouseEvent.CLICK, onSearchDrop, false, 0, true); _close = (getChildByName("btnClose") as DisplayObject); _minimize = (getChildByName("btnMinimize") as DisplayObject); _close.addEventListener(MouseEvent.CLICK, onClose, false, 0, true); if (_minimize){ _minimize.addEventListener(MouseEvent.CLICK, onMinimize, false, 0, true); }; var _local2:TextField = (getChildByName("txtSearchWord") as TextField); if (_local2 != null){ _local2.mouseEnabled = false; _local2.tabEnabled = false; }; } public function onBlankSearch():void{ clearSearch(); _noResult.visible = true; if (((!((Config.SEARCH_DATA == null))) && (!((Config.SEARCH_DATA.BLANK_SEARCH == null))))){ _txtNoResult.text = Config.SEARCH_DATA.BLANK_SEARCH; } else { _txtNoResult.text = ErrorMessages.BLANK_SEARCH; }; showSearchPanel(true); _scrollbars.verticalScroll.reset(); _scrollbars.horizontalScroll.reset(); updateScrollbars(); } private function updateScrollbars():void{ _resultArea.x = getMaskMovieClip().x; var _local1:Number = (_resultArea.width + 10); var _local2:Number = (_resultArea.height + 10); var _local3:Number = _scrollbars.update((_local1 - _mask.width), (_local2 - _mask.height)); if (_local3 < 0){ _resultArea.x = getMaskMovieClip().x; }; } public function showSearchPanel(_arg1:Boolean):void{ visible = _arg1; Controller.instance.onPopUp(_arg1, Constants.PANEL_SEARCH); } public function getSearchTabItem():Array{ var _local9:Sprite; var _local1:Array = new Array(); var _local2:Number = 1; var _local3:Array = checkForTabItems(); var _local4:Object = _resultArea.numChildren; var _local5:Number = 0; while (_local5 < _local3.length) { _local9 = (_local3[_local5] as Sprite); _local1.push({item:_local9.getChildByName("btnBar"), tabIndex:_local2, shortcut:"", alt:"altText"}); _local2++; _local5++; }; var _local6:Array = _scrollbars.verticalScroll.accessibleButtons; _local6 = _local6.concat(_scrollbars.horizontalScroll.accessibleButtons); var _local7:Array = ["scroll up", "scroll down", "scroll left", "scroll right"]; var _local8:int; while (_local8 < _local6.length) { var _temp1 = _local2; _local2 = (_local2 + 1); _local1.push({item:_local6[_local8], tabIndex:_temp1, shortcut:"", alt:_local7[_local8]}); _local8++; }; if (_minimize){ var _temp2 = _local2; _local2 = (_local2 + 1); _local1.push({item:_minimize, tabIndex:_temp2, shortcut:"", alt:"minimise"}); }; var _temp3 = _local2; _local2 = (_local2 + 1); _local1.push({item:_close, tabIndex:_temp3, shortcut:"", alt:"close"}); return (_local1); } public function displaySearchResults(_arg1:Array):void{ var _local2:int; var _local3:Object; _resultCount = -1; clearSearch(); if (_arg1 == null){ _noResult.visible = true; if (((!((Config.SEARCH_DATA == null))) && (!((Config.SEARCH_DATA.NO_SEARCH_RESULT == null))))){ _txtNoResult.text = Config.SEARCH_DATA.NO_SEARCH_RESULT; } else { _txtNoResult.text = ErrorMessages.NO_SEARCH_RESULT; }; } else { _noResult.visible = false; if (Config.SORT_SEARCH_BY_PAGE_NO){ _arg1 = sortResultsByPageNo(_arg1); }; _local2 = 0; while (_local2 < _arg1.length) { _local3 = _arg1[_local2]; addSearchResult(_local3); _local2++; }; resizeAllResultBars(); if (_resultCount == -1){ _noResult.visible = true; if (((!((Config.SEARCH_DATA == null))) && (!((Config.SEARCH_DATA.NO_SEARCH_RESULT == null))))){ _txtNoResult.text = Config.SEARCH_DATA.NO_SEARCH_RESULT; } else { _txtNoResult.text = ErrorMessages.NO_SEARCH_RESULT; }; }; }; showSearchPanel(true); _scrollbars.verticalScroll.reset(); _scrollbars.horizontalScroll.reset(); updateScrollbars(); } private function onSearchDrop(_arg1:MouseEvent):void{ _instance.stopDrag(); } public function onScrollHorizontal(_arg1:Number):void{ _resultArea.x = (-(_arg1) + 12); Controller.instance.initilizeAccesibility(AccessibilityConstants.SEARCH_POPUP); } private function getMaskMovieClip():Sprite{ var _local1:Sprite = (getChildByName("mcMask") as Sprite); return (_local1); } public function setSearchWord(_arg1:String):void{ var _local2:TextField = (getChildByName("txtSearchWord") as TextField); if (_local2 != null){ _local2.text = _arg1; }; } public function clearSearch():void{ _resultArea.stage.focus = null; while (_resultArea.numChildren > 0) { _resultArea.removeChildAt(0); }; _resultCount = -1; } private function onClose(_arg1:MouseEvent):void{ showSearchPanel(false); setSearchWord(""); Controller.instance.view.toolbar.onCloseSearch(); } private function checkForTabItems():Array{ var _local4:Sprite; var _local1:Array = new Array(); var _local2:Number = _resultArea.numChildren; var _local3:Number = 0; while (_local3 < _local2) { _local4 = (_resultArea.getChildAt(_local3) as Sprite); if (_local4.hitTestObject(_mask)){ _local1.push(_local4); }; _local3++; }; return (_local1); } public function onScrollVertical(_arg1:Number):void{ _resultArea.y = -(_arg1); Controller.instance.initilizeAccesibility(AccessibilityConstants.SEARCH_POPUP); } public function restoreSearch():void{ showSearchPanel(true); } private function formDisplayString(_arg1:String, _arg2:String, _arg3:String):String{ var _local4 = ""; if (_arg2 != null){ _arg2 = ("Page - " + _arg2); } else { _arg2 = ""; }; if (_arg3 != null){ _arg3 = (" - " + _arg3); } else { _arg3 = ""; }; if (_arg1 != null){ _arg1 = _arg1.split("|").join(" - "); _arg1 = (_arg1 + " - "); } else { _arg1 = ""; }; _local4 = ((_arg1 + _arg2) + _arg3); return (_local4); } private function resizeAllResultBars():void{ var _local4:Sprite; var _local5:DisplayObject; var _local1:Number = _resultArea.numChildren; var _local2:Number = 0; var _local3:Number = 0; while (_local3 < _local1) { _local4 = (_resultArea.getChildAt(_local3) as Sprite); if (_local4.width > _local2){ _local2 = _local4.width; }; _local3++; }; _local3 = 0; while (_local3 < _local1) { _local4 = (_resultArea.getChildAt(_local3) as Sprite); _local5 = _local4.getChildByName("btnBar"); _local5.width = _local2; _local3++; }; } private function addSearchResult(_arg1:Object):void{ _resultCount = (_resultCount + 1); var _local2:Sprite = new ResultBar(); _local2.name = ("resultBar_" + _arg1.pageNo); _resultArea.addChild(_local2); _local2.x = 0; _local2.y = (_mask.y + (_local2.height * _resultCount)); var _local3:TextField = (_local2.getChildByName("txtResult") as TextField); var _local4:PageListing = Controller.instance.model.objPageList; var _local5:String = _local4.getPageLabel(_arg1.pageNo); if (_local5 == null){ _resultCount--; _resultArea.removeChild(_local2); return; }; var _local6:String; var _local7:String = _local4.getSectionTitle(_arg1.pageNo); if (((Config.BUTTON_RESOURCE_PANEL) || (!((Config.ADVANCED_RESOURCE_PANEL_DATA == null))))){ _local7 = _local7.split("@")[0]; }; var _local8:Array = Config.SEARCH_DISPLAY_PATTERN; if (_local8 != null){ if (_local8.indexOf(Constants.SECTION_TITLE) <= -1){ _local7 = null; }; if (_local8.indexOf(Constants.BREADCRUMB) != -1){ _local6 = _local4.getBreadCrumb(_arg1.pageNo); }; }; var _local9:TextFormat = new TextFormat(); if (Config.ENABLE_HTML_TEXT){ _local3.htmlText = formDisplayString(_local6, _local5, _local7); _local9.bold = true; _local3.setTextFormat(_local9); } else { _local3.text = formDisplayString(_local6, _local5, _local7); }; _local3.mouseEnabled = false; _local3.tabEnabled = false; var _local10:DisplayObject = (_local2.getChildByName("btnBar") as DisplayObject); Controller.instance.tracer("themeHandler.searchItems called"); _local10.addEventListener(MouseEvent.CLICK, openResultPage, false, 0, true); if (Controller.instance.view.toolbar.themeHandler != null){ Controller.instance.view.toolbar.themeHandler.searchItems(_local10); }; if (_local3.maxScrollH > 0){ _local3.autoSize = TextFieldAutoSize.LEFT; if (_local10.width < _local3.width){ _local10.width = (_local3.width + 10); }; } else { _local3.autoSize = TextFieldAutoSize.NONE; }; } private function onMinimize(_arg1:MouseEvent):void{ Controller.instance.view.toolbar.showMinimizedSearchButton(); showSearchPanel(false); } private function openResultPage(_arg1:MouseEvent):void{ var _local2:String = String(_arg1.currentTarget.parent.name); var _local3:Number = _local2.indexOf("_"); var _local4:Number = Number(_local2.substring((_local3 + 1), _local2.length)); Controller.instance.tracer(((_local2 + " openResultPage ") + _local4)); Controller.instance.loadPage(_local4); } private function onSearchDrag(_arg1:MouseEvent):void{ var _local2:Sprite = Controller.instance.view.dragarea; var _local3:Rectangle = new Rectangle(_local2.x, _local2.y, ((_local2.x + _local2.width) - _bg.width), (_local2.height - _bg.height)); _instance.startDrag(false, _local3); } private function sortResultsByPageNo(_arg1:Array):Array{ var _local5:int; var _local2:Array = new Array(); var _local3:Array = new Array(); var _local4:int; while (_local4 < _arg1.length) { _local3.push(_arg1[_local4].pageNo); _local4++; }; _local3.sort(Array.NUMERIC); _local4 = 0; while (_local4 < _local3.length) { _local5 = 0; while (_local5 < _arg1.length) { if (_local3[_local4] == _arg1[_local5].pageNo){ _local3[_local4] = null; _local2.push(_arg1[_local5]); break; }; _local5++; }; _local4++; }; return (_local2); } } }//package view
Section 242
//SearchPanel_ResultBar (view.SearchPanel_ResultBar) package view { import flash.display.*; import mx.core.*; public class SearchPanel_ResultBar extends SpriteAsset { public var btnZoomIn:DisplayObject; public var mcThumb:DisplayObject; public var mcContent:DisplayObject; public var mc_thumb:DisplayObject; public var mc_X:DisplayObject; public var mc_O:DisplayObject; public var mc_J:DisplayObject; public var mc_Y:DisplayObject; public var btnSrchMinimized:DisplayObject; public var btnHTML:DisplayObject; public var btnUp:DisplayObject; public var mc_T:DisplayObject; public var mcIconAnim:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnBar:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var btnTeacher:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var btnIdle:DisplayObject; public var mcPatch:DisplayObject; public var mcBG:DisplayObject; public var bg:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var txtLink:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var btnOpen:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnLinkBg:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var btnState:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcThemeClip:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcDot:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_B:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mc_K:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_R:DisplayObject; public var mc_U:DisplayObject; public var mc_V:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_L:DisplayObject; public var mc_D:DisplayObject; public var mc_N:DisplayObject; public var mc_W:DisplayObject; public var mc_P:DisplayObject; public var mc_Q:DisplayObject; public var mc_S:DisplayObject; public var mc_C:DisplayObject; public var txtWord:DisplayObject; public var mcGlossaryImage:DisplayObject; } }//package view
Section 243
//TableOfContent (view.TableOfContent) package view { import controller.*; import flash.events.*; import flash.display.*; import model.*; public class TableOfContent extends WrappedDisplayObject { private var _displayList:DisplayObject; private var _arrWorkBookChapters:Array; private var _objData:Toc; private var _tree:Tree; private var _displayTree:DisplayObject; private var _textBook:CustomButton; private var _arrWorkBookAncillaries:Array; private var _arrWorkBook:Array; private var _c:Controller; private var _arrWorkBookResources:Array; private var _dispBack2:DisplayObject; private var _arrUnits:Array; private var _dispBack1:DisplayObject; private var _btnExit1:SimpleButton; private var _arrTextBook:Array; private var _workBook:CustomButton; private var _list:List; private var _btnExit2:SimpleButton; public static const START_UP_ITEMS:String = "start_up_items"; public static const SHOW_UNIT_ITEMS:String = "show_unit_items"; private static var mcListPanel:Class = TableOfContent_mcListPanel; private static var mcListPanelRight:Class = TableOfContent_mcListPanelRight; public function TableOfContent(_arg1:DisplayObject){ super(_arg1); _displayList = new mcListPanel(); _list = new List(_displayList); _list.setPosition(30, 70); addChild(_displayList); _displayTree = new mcListPanelRight(); _tree = new Tree(_displayTree); _tree.setPosition(275, 70); addChild(_displayTree); _arrTextBook = new Array(); _arrWorkBook = new Array(); _arrUnits = new Array(); _arrWorkBookChapters = new Array(); _arrWorkBookResources = new Array(); _arrWorkBookAncillaries = new Array(); _workBook = new CustomButton(getChildByName("mcWorkBook")); var _local2:Sprite = (getChildByName("mcWorkBook") as Sprite); var _local3:Sprite = (_local2.getChildByName("mcHideObject") as Sprite); if (_local3 != null){ _workBook.visible = false; }; _workBook.setState(CustomButton.STATE_NORMAL); _textBook = new CustomButton(getChildByName("mcTextBook")); _textBook.setState(CustomButton.STATE_SELECTED); _workBook.instance.addEventListener(MouseEvent.CLICK, onWorkBook, false, 0, true); _textBook.instance.addEventListener(MouseEvent.CLICK, onTextBook, false, 0, true); _btnExit1 = (getChildByName("mcExit1") as SimpleButton); _btnExit2 = (getChildByName("mcExit2") as SimpleButton); _btnExit1.addEventListener(MouseEvent.CLICK, onExit, false, 0, true); _btnExit2.addEventListener(MouseEvent.CLICK, onExit, false, 0, true); _dispBack1 = (getChildByName("mcBack1") as DisplayObject); _dispBack2 = (getChildByName("mcBack2") as DisplayObject); } private function onTreeItemClick(_arg1:Object=null):void{ var _local4:int; var _local3:Object = arguments[0]; if (_local3.page != ""){ _local4 = _c.model.pageIDMapper(_local3.page); _c.loadPage(_local4); this.visible = false; }; } private function parseToTreeDataprovider(_arg1:Array):void{ var _local6:TreeData; var _local7:int; var _local8:TreeData; var _local2:Array = new Array(); var _local3:Array = new Array(); var _local4:Array = new Array(); var _local5:int; while (_local5 < _arg1.length) { _local4 = String(_arg1[_local5].value).split("@"); _local6 = new TreeData(); _local6.label = _local4[0]; _local6.page = _local4[1]; _local6.sections = new Array(); _local3 = _arg1[_local5].sections; _local7 = 0; while (_local7 < _local3.length) { _local4 = String(_local3[_local7]).split("@"); _local8 = new TreeData(); _local8.label = _local4[0]; _local8.page = _local4[1]; _local8.sections = new Array(); _local6.sections.push(_local8); _local7++; }; _local2.push(_local6); _local5++; }; _tree.dataProvider(_local2); } private function onTextBook(_arg1:Event):void{ _workBook.setState(CustomButton.STATE_NORMAL); _textBook.setState(CustomButton.STATE_SELECTED); _list.dataProvider(_arrTextBook); arrangeItems(TableOfContent.START_UP_ITEMS); } public function onListItemClick():void{ var _local2:Object = arguments[0]; if (_local2.page != "null"){ onTreeItemClick(_local2); return; }; if (_local2.name != ""){ arrangeItems(TableOfContent.SHOW_UNIT_ITEMS); if (isWorkBookItem(_local2.name)){ findWorkBookUnits(_local2.name); } else { findTextBookUnits(_local2.name); }; }; } private function onExit(_arg1:Event):void{ this.visible = false; } public function get list():List{ return (_list); } public function init():void{ _c = Controller.instance; _objData = _c.model.getTocData(); _arrTextBook = _objData.textBook; _arrWorkBook = _objData.workBook; _arrUnits = _objData.units; _arrWorkBookChapters = _objData.workBookChapters; _arrWorkBookResources = _objData.workBookResources; _arrWorkBookAncillaries = _objData.workBookAncillaries; _list.dataProvider(_arrTextBook); _list.addItemClickEvent(onListItemClick); _tree.addItemClickEvent(onTreeItemClick); arrangeItems(TableOfContent.START_UP_ITEMS); } private function findTextBookUnits(_arg1:String):void{ var _local2:int; while (_local2 < _arrUnits.length) { if (_arrUnits[_local2].value == _arg1){ parseToTreeDataprovider(_arrUnits[_local2].chapters); break; }; _local2++; }; } public function get tree():Tree{ return (_tree); } private function isWorkBookItem(_arg1:String):Boolean{ var _local2:Array = new Array("Chapters", "Student Resources", "Ancillaries"); var _local3:int; while (_local3 < _local2.length) { if (_arg1 == _local2[_local3]){ return (true); }; _local3++; }; return (false); } private function onWorkBook(_arg1:Event):void{ _workBook.setState(CustomButton.STATE_SELECTED); _textBook.setState(CustomButton.STATE_NORMAL); _list.dataProvider(_arrWorkBook); arrangeItems(TableOfContent.START_UP_ITEMS); } public function arrangeItems(_arg1:String):void{ switch (_arg1){ case START_UP_ITEMS: _dispBack1.visible = true; _btnExit1.visible = true; _btnExit2.visible = false; _dispBack2.visible = false; _tree.visible = false; break; case SHOW_UNIT_ITEMS: _dispBack1.visible = false; _btnExit1.visible = false; _btnExit2.visible = true; _dispBack2.visible = true; _tree.visible = true; break; }; } private function findWorkBookUnits(_arg1:String):void{ var _local4:TreeData; var _local5:int; var _local2:Array = new Array(); var _local3:Array = new Array(); if (_arg1 == "Chapters"){ _local5 = 0; while (_local5 < _arrWorkBookChapters.length) { _local2 = String(_arrWorkBookChapters[_local5]).split("@"); _local4 = new TreeData(); _local4.label = _local2[0]; _local4.page = _local2[1]; _local4.sections = new Array(); _local3.push(_local4); _local5++; }; _tree.dataProvider(_local3); } else { if (_arg1 == "Ancillaries"){ _local5 = 0; while (_local5 < _arrWorkBookAncillaries.length) { _local2 = String(_arrWorkBookAncillaries[_local5]).split("@"); _local4 = new TreeData(); _local4.label = _local2[0]; _local4.page = _local2[1]; _local4.sections = new Array(); _local3.push(_local4); _local5++; }; _tree.dataProvider(_local3); } else { parseToTreeDataprovider(_arrWorkBookResources[0]); }; }; } } }//package view
Section 244
//TableOfContent_mcListPanel (view.TableOfContent_mcListPanel) package view { import flash.display.*; import mx.core.*; public class TableOfContent_mcListPanel extends SpriteAsset { public var btnZoomIn:DisplayObject; public var mcThumb:DisplayObject; public var mcContent:DisplayObject; public var mc_thumb:DisplayObject; public var mc_X:DisplayObject; public var mc_O:DisplayObject; public var mc_J:DisplayObject; public var mc_Y:DisplayObject; public var btnSrchMinimized:DisplayObject; public var btnHTML:DisplayObject; public var btnUp:DisplayObject; public var mc_T:DisplayObject; public var mcIconAnim:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnBar:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var btnTeacher:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var btnIdle:DisplayObject; public var mcPatch:DisplayObject; public var mcBG:DisplayObject; public var bg:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var txtLink:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var btnOpen:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnLinkBg:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var btnState:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcThemeClip:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcDot:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_B:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mc_K:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_R:DisplayObject; public var mc_U:DisplayObject; public var mc_V:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_L:DisplayObject; public var mc_D:DisplayObject; public var mc_N:DisplayObject; public var mc_W:DisplayObject; public var mc_P:DisplayObject; public var mc_Q:DisplayObject; public var mc_S:DisplayObject; public var mc_C:DisplayObject; public var txtWord:DisplayObject; public var mcGlossaryImage:DisplayObject; } }//package view
Section 245
//TableOfContent_mcListPanelRight (view.TableOfContent_mcListPanelRight) package view { import flash.display.*; import mx.core.*; public class TableOfContent_mcListPanelRight extends SpriteAsset { public var btnZoomIn:DisplayObject; public var mcThumb:DisplayObject; public var mcContent:DisplayObject; public var mc_thumb:DisplayObject; public var mc_X:DisplayObject; public var mc_O:DisplayObject; public var mc_J:DisplayObject; public var mc_Y:DisplayObject; public var btnSrchMinimized:DisplayObject; public var btnHTML:DisplayObject; public var btnUp:DisplayObject; public var mc_T:DisplayObject; public var mcIconAnim:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnBar:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var btnTeacher:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var btnIdle:DisplayObject; public var mcPatch:DisplayObject; public var mcBG:DisplayObject; public var bg:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var txtLink:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var btnOpen:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var mcNoResult:DisplayObject; public var btnPDF:DisplayObject; public var mcTxt:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnLinkBg:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var btnState:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcThemeClip:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcTOC:DisplayObject; public var mcDot:DisplayObject; public var mcExit:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_B:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mc_K:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var mc_R:DisplayObject; public var mc_U:DisplayObject; public var mc_V:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_L:DisplayObject; public var mc_D:DisplayObject; public var mc_N:DisplayObject; public var mc_W:DisplayObject; public var mc_P:DisplayObject; public var mc_Q:DisplayObject; public var mc_S:DisplayObject; public var mc_C:DisplayObject; public var txtWord:DisplayObject; public var mcGlossaryImage:DisplayObject; } }//package view
Section 246
//ToggleButtonBar (view.ToggleButtonBar) package view { import flash.events.*; import flash.display.*; public class ToggleButtonBar extends EventDispatcher { private var _btnArray:Array; private var _selectedIndex:Number;// = 0 public static const BUTTON_CLICK:String = "buttonClick"; public function ToggleButtonBar(_arg1:Array, _arg2){ var _local4:MovieClip; super(); _btnArray = new Array(); var _local3:int; while (_local3 < _arg1.length) { if (_arg2.getChildByName(_arg1[_local3]) != null){ _local4 = _arg2.getChildByName(String(_arg1[_local3])); setHandCursor(_local4); _local4.addEventListener(MouseEvent.CLICK, mouseClickHandler); _local4.__id = _local3; if (_local3 == 0){ _local4.gotoAndStop("selected"); } else { _local4.gotoAndStop("normal"); }; _btnArray.push(_local4); }; _local3++; }; } public function set selectedIndex(_arg1:Number):void{ _selectedIndex = _arg1; } public function get selectedIndex():Number{ return (_selectedIndex); } private function setHandCursor(_arg1):void{ _arg1.useHandCursor = true; _arg1.buttonMode = true; _arg1.mouseChildren = false; } public function getAccessibleObjects():Array{ var _local1:Array = new Array(); var _local2:Number = 1; var _local3:int; while (_local3 < _btnArray.length) { _local1.push({item:_btnArray[_local3], tabIndex:_local2, shortcut:"", alt:""}); _local2++; _local3++; }; return (_local1); } private function mouseClickHandler(_arg1:MouseEvent):void{ var _local2:MovieClip; var _local3:int; if (_arg1.target.__id != _selectedIndex){ _local3 = 0; while (_local3 < _btnArray.length) { _local2 = (_btnArray[_local3] as MovieClip); _local2.gotoAndStop("normal"); _local3++; }; _local2 = (_arg1.target as MovieClip); _local2.gotoAndStop("selected"); selectedIndex = _local2.__id; dispatchEvent(new Event(BUTTON_CLICK)); }; } } }//package view
Section 247
//Toolbar (view.Toolbar) package view { import controller.*; import flash.events.*; import flash.display.*; import model.*; import accessibility.*; import flash.ui.*; import flash.text.*; import event.*; import view.AdvanceFeatures.Theme.*; import view.AdvanceFeatures.drawTool.*; import view.AdvanceFeatures.HideContent.*; import view.AdvanceFeatures.SpotLight.*; import flash.system.*; import flash.external.*; public class Toolbar extends WrappedDisplayObject { private var _objZoomTo:CustomButton; private var _contentBackground:DisplayObject; private var _objViewPlayList:CustomButton; private var _pdf:CustomButton; private var _btnTextSelection:CustomButton; private var _mcYellowHigh:MovieClip; private var _actualSize:CustomButton; private var _btnExit:CustomButton; private var _extraBgContent:DisplayObject; private var _doc:CustomButton; private var _mcColorPanel:ColorPanel; private var _edition:Sprite; private var _arrAdvanceResourcePanelBtn:Array; private var _toc:CustomButton; private var _html:CustomButton; private var _bSwitchPageCount:Boolean; private var _editionButton:SimpleButton; private var _objPlayListDropDown:DropDown; private var _mcPageAudioControls:MovieClip; private var _zoom:TextField; private var _blnSwitchVolume:Boolean; private var _strDefaultSearchText:String;// = null private var _blnEditNotesBtnOn:Boolean; private var _mcHighYellow:MovieClip; private var _strActiveTool:String;// = null private var _objAddLink:CustomButton; private var _mcHighlighterLinePanel:LineListPanel; private var _facing:CustomButton; private var _objFreeHandHighlighter:CustomButton; private var _arrBookMark:Array; private var _strZoomAmount:String; private var _srchRestore:CustomButton; private var _blnEditPenBtnOn:Boolean;// = false private var _blnPageTextFocus:Boolean; private var _zoomOut:CustomButton; private var _iZoomMax:Number; private var _mcFreeHandShapePanel:ShapePanel; private var _objPrint:CustomButton; private var _objHighlightHL:HighlightHandler; private var _single:CustomButton; private var _objCreatePlayList:CustomButton; private var _zoomIn:CustomButton; private var _arrBookVolumeBtn:Array; private var _objHideContent:CustomButton; private var _group:CustomButton; private var _bHilightColorsAvailable:Boolean; private var _iZoomAmount:Number; private var _fitToPage:CustomButton; private var _blnSetInitZoom:Boolean; private var _objAddBookMark:CustomButton; private var _notes:CustomButton; private var _blnCallOnce:Boolean; private var _objFreeHandEraser:CustomButton; private var _mcRedHigh:MovieClip; private var _strCurrentTool:String; private var _btnShowHideIcons:CustomButton; private var _BtnBase:MovieClip; private var _mcFreeHandHighlighterColor:ColorPanel; private var _instance:DisplayObject; private var _animation:CustomButton; private var _arrTopPosHolder:Array; private var _blnShowHotSpotBtnOn:Boolean; private var _searchBtn:CustomButton; private var _objFullScreen:CustomButton;// = null private var _iZoomMin:Number; private var _objBreadCrumb:BreadCrumbPanel; private var _txtBookTitle:TextField; private var _editionText:TextField; private var _mcEraserLinePanel:LineListPanel; private var _bSpotLightOn:Boolean; private var _arrRestrictedBtnState:Array; private var _bEditFreeHandEraserOn:Boolean;// = false private var _bEditFreeHandHighlighterOn:Boolean;// = false private var _arrMcHighlighter:Array;// = null private var _mcBlueHigh:MovieClip; private var _objEditPlayList:CustomButton; private var _mcSpotLight:CustomButton; private var _mcHighBlue:MovieClip; private var _page2:TextField; private var _vocabulary:CustomButton; private var _logo:DisplayObject; private var _lastStringForSearch:String; private var _objThemeListPanel:ThemeHandler; private var _next2:CustomButton; private var _highlighter:CustomButton; private var _blnToolbarAtTop:Boolean; private var _mcFreeHandShapeColor:ColorPanel; private var _btnExtMenu:CustomButton; private var _objFreeHandPen:CustomButton; private var _search:TextField; private var _arrActivity:Array; private var _mcGrabber:CustomButton; private var _objCurVolumeBtn:CustomButton; private var _strPageNavigationText:String; private var _bEditAddLink:Boolean;// = false private var _btnTextCopy:CustomButton; private var _btnGlobalNotes:CustomButton; private var _objShowDrawing:CustomButton; private var _editionStudentButton:CustomButton; private var _prev:CustomButton; private var _objToolSlider:ToolSlider;// = null private var _quiz:CustomButton; private var _btnLastVisit:CustomButton; private var _blnSwitchEdition:Boolean; private var _showHotspot:CustomButton; private var _prev2:CustomButton; private var _page:TextField; private var _mcGlossary:CustomButton; private var _editionTeacherButton:CustomButton; private var _video:CustomButton; private var _comprehension:CustomButton; private var _toggleToolbar:CustomButton; private var _bEditFreeHandShapeOn:Boolean;// = false private var _mcHighRed:MovieClip; private var _arrExternalBtn:Array;// = null private var _objDeleteAllDrawing:CustomButton; private var _panelTopSkin:DisplayObject; private var _ebookHelp:CustomButton; private var _mcLinePanel:LineListPanel; private var _objShowBookMark:CustomButton; private var _next:CustomButton; private var _disableEdition:DisplayObject; private var _btnResourcePanel:CustomButton; public function Toolbar(_arg1:DisplayObject){ var _local22:MovieClip; var _local23:CustomButton; var _local24:CustomButton; var _local25:CustomButton; _arrRestrictedBtnState = new Array(); _arrBookVolumeBtn = new Array(); super(_arg1); _instance = _arg1; _arrBookMark = new Array(); _arrAdvanceResourcePanelBtn = new Array(); _blnSwitchEdition = false; _blnSwitchVolume = false; _bSwitchPageCount = false; _arrActivity = ["video", "animation", "vocabulary_activity", "comprehension_activity", "quick_quiz", "group_activity", "help", "html_document", "doc_document", "pdf_document"]; _toc = new CustomButton(getChildByName("btnTOC")); _toc.addEventListener(MouseEvent.CLICK, onToc); _toc.__bToggle = true; _toc.setState(CustomButton.STATE_NORMAL); _prev = new CustomButton(getChildByName("btnBack")); _prev.instance.addEventListener(MouseEvent.CLICK, onPrev, false, 0, true); _prev.setState(CustomButton.STATE_NORMAL); _prev.playAnimation(false); if (getChildByName("btnLastVisit") != null){ _btnLastVisit = new CustomButton(getChildByName("btnLastVisit")); _btnLastVisit.instance.addEventListener(MouseEvent.CLICK, onVisitLast, false, 0, true); _btnLastVisit.setState(CustomButton.STATE_NORMAL); }; if (getChildByName("mcBtnGlobalNotes") != null){ _btnGlobalNotes = new CustomButton(getChildByName("mcBtnGlobalNotes")); _btnGlobalNotes.instance.addEventListener(MouseEvent.CLICK, onGlobalNotes, false, 0, true); _btnGlobalNotes.setState(CustomButton.STATE_NORMAL); }; if (getChildByName("btnShowHideIcons") != null){ _btnShowHideIcons = new CustomButton(getChildByName("btnShowHideIcons")); _btnShowHideIcons.addEventListener(MouseEvent.CLICK, onShowHideIcons); _btnShowHideIcons.setState(CustomButton.STATE_NORMAL); _btnShowHideIcons.__bToggle = true; }; _page = (getChildByName("txtPage") as TextField); _page.addEventListener(KeyboardEvent.KEY_DOWN, onPageNumChange, false, 0, true); _page.addEventListener(FocusEvent.FOCUS_OUT, onPageNumLostFocus, false, 0, true); _page.addEventListener(FocusEvent.FOCUS_IN, onPageNumGotFocus, false, 0, true); _page.maxChars = Config.PAGE_TXT_MAX_LENGTH; _blnPageTextFocus = false; var _local2:MovieClip = (getChildByName("mcPageTxtToolTip") as MovieClip); if (_local2 != null){ _local2.visible = false; _local2.mouseEnabled = false; _page.addEventListener(MouseEvent.MOUSE_OVER, onPageNumOver, false, 0, true); _page.addEventListener(MouseEvent.MOUSE_OUT, onPageNumOut, false, 0, true); }; _next = new CustomButton(getChildByName("btnNext")); _next.instance.addEventListener(MouseEvent.CLICK, onNext, false, 0, true); _next.setState(CustomButton.STATE_NORMAL); _next.playAnimation(false); if (Config.EXTRA_PAGE_NAVIGATION){ _local22 = (getChildByName("btnBack2") as MovieClip); if (_local22){ _prev2 = new CustomButton(_local22); _prev2.instance.addEventListener(MouseEvent.CLICK, onPrev, false, 0, true); _prev2.setState(CustomButton.STATE_NORMAL); }; _page2 = (getChildByName("txtPage2") as TextField); if (_page2){ _page2.addEventListener(KeyboardEvent.KEY_DOWN, onPageNumChange, false, 0, true); _page2.addEventListener(FocusEvent.FOCUS_OUT, onPageNumLostFocus, false, 0, true); _page2.addEventListener(FocusEvent.FOCUS_IN, onPageNumGotFocus, false, 0, true); _page2.maxChars = Config.PAGE_TXT_2_MAX_LENGTH; }; _local22 = (getChildByName("btnNext2") as MovieClip); if (_local22){ _next2 = new CustomButton(_local22); _next2.instance.addEventListener(MouseEvent.CLICK, onNext, false, 0, true); _next2.setState(CustomButton.STATE_NORMAL); }; }; _single = new CustomButton(getChildByName("mcSinglePage")); _single.instance.addEventListener(MouseEvent.CLICK, onSingle, false, 0, true); _facing = new CustomButton(getChildByName("mcFacing")); _facing.instance.addEventListener(MouseEvent.CLICK, onFacing, false, 0, true); var _local3:DisplayObject = getChildByName("mcBtnBase"); if (_local3 != null){ _BtnBase = (_local3 as MovieClip); _BtnBase.visible = false; }; _single.visible = false; _facing.visible = false; var _local4:DisplayObject = getChildByName("btnTheme"); var _local5:Sprite = (getChildByName("mcThemeListPanel") as Sprite); if (((!((_local4 == null))) && (!((_local5 == null))))){ if (Config.CHANGE_ITEMS_THEME != null){ _objThemeListPanel = new ThemeHandler(_local5, _local4); }; }; _fitToPage = new CustomButton(getChildByName("btnFitToPage")); _fitToPage.instance.addEventListener(MouseEvent.CLICK, onFitToPage, false, 0, true); _fitToPage.setState(CustomButton.STATE_NORMAL); if (getChildByName("btnActualSize") != null){ _actualSize = new CustomButton(getChildByName("btnActualSize")); _actualSize.instance.addEventListener(MouseEvent.CLICK, onActualSize, false, 0, true); _actualSize.setState(CustomButton.STATE_NORMAL); }; _zoomIn = new CustomButton(getChildByName("btnZoomIn")); _zoomIn.instance.addEventListener(MouseEvent.CLICK, onZoomIn, false, 0, true); _zoomIn.setState(CustomButton.STATE_NORMAL); _zoom = (getChildByName("txtZoom") as TextField); if (_zoom.type == TextFieldType.INPUT){ assignEventOnZoomText(); }; _zoomOut = new CustomButton(getChildByName("btnZoomOut")); _zoomOut.instance.addEventListener(MouseEvent.CLICK, onZoomOut, false, 0, true); _zoomOut.setState(CustomButton.STATE_NORMAL); _highlighter = new CustomButton(getChildByName("mcHighlighter")); _highlighter.instance.addEventListener(MouseEvent.CLICK, onHighLighter, false, 0, true); _highlighter.setState(CustomButton.STATE_NORMAL); _objHighlightHL = new HighlightHandler(); setUpHilightColorBtn(_objHighlightHL); _notes = new CustomButton(getChildByName("mcNotes")); _notes.setState(CustomButton.STATE_NORMAL); _notes.instance.addEventListener(MouseEvent.CLICK, onNotes, false, 0, true); var _local6:DisplayObject = getChildByName("mcSpotLight"); if (_local6 != null){ _mcSpotLight = new CustomButton(getChildByName("mcSpotLight")); _mcSpotLight.setState(CustomButton.STATE_NORMAL); _mcSpotLight.instance.addEventListener(MouseEvent.CLICK, onSpotLight, false, 0, true); }; var _local7:DisplayObject = getChildByName("btnZoomTo"); if (_local7 != null){ _objZoomTo = new CustomButton(_local7); _objZoomTo.__bToggle = true; _objZoomTo.setState(CustomButton.STATE_NORMAL); _objZoomTo.addEventListener(MouseEvent.CLICK, onZoomTo); }; var _local8:DisplayObject = getChildByName("btnPrint"); if (_local8 != null){ _objPrint = new CustomButton(_local8); _objPrint.setState(CustomButton.STATE_NORMAL); _objPrint.addEventListener(MouseEvent.CLICK, onPrint); }; if (Config.DRAW != null){ setEventsOnFreeHandButton(); }; var _local9:DisplayObject = getChildByName("btnPlayList"); var _local10:Sprite = (getChildByName("mcPlayListMenu") as Sprite); if (((!((_local9 == null))) && (!((_local10 == null))))){ _objPlayListDropDown = new DropDown(_local9, _local10, onPlayListDropDownMenuItem, false, false); _objPlayListDropDown.enableMenuItem("view", false); _objPlayListDropDown.enableMenuItem("edit", false); }; _mcGlossary = new CustomButton(getChildByName("mcGlossary")); _mcGlossary.setState(CustomButton.STATE_NORMAL); _mcGlossary.instance.addEventListener(MouseEvent.CLICK, onGlossary, false, 0, true); _video = new CustomButton(getChildByName("btnVideo")); _video.instance.addEventListener(MouseEvent.CLICK, onVideo, false, 0, true); _video.setState(CustomButton.STATE_DISABLED); _animation = new CustomButton(getChildByName("btnAnimation")); _animation.instance.addEventListener(MouseEvent.CLICK, onAnimation, false, 0, true); _animation.setState(CustomButton.STATE_DISABLED); _vocabulary = new CustomButton(getChildByName("btnVocabulary")); _vocabulary.instance.addEventListener(MouseEvent.CLICK, onVocabulary, false, 0, true); _vocabulary.setState(CustomButton.STATE_DISABLED); _comprehension = new CustomButton(getChildByName("btnComprehension")); _comprehension.instance.addEventListener(MouseEvent.CLICK, onComprehension, false, 0, true); _comprehension.setState(CustomButton.STATE_DISABLED); _quiz = new CustomButton(getChildByName("btnQuiz")); _quiz.instance.addEventListener(MouseEvent.CLICK, onQuiz, false, 0, true); _quiz.setState(CustomButton.STATE_DISABLED); _group = new CustomButton(getChildByName("btnGroup")); _group.instance.addEventListener(MouseEvent.CLICK, onGroup, false, 0, true); _group.setState(CustomButton.STATE_DISABLED); _html = new CustomButton(getChildByName("btnHTML")); _html.instance.addEventListener(MouseEvent.CLICK, onHtml, false, 0, true); _html.setState(CustomButton.STATE_DISABLED); _doc = new CustomButton(getChildByName("btnDOC")); _doc.instance.addEventListener(MouseEvent.CLICK, onDoc, false, 0, true); _doc.setState(CustomButton.STATE_DISABLED); _pdf = new CustomButton(getChildByName("btnPDF")); _pdf.instance.addEventListener(MouseEvent.CLICK, onPdf, false, 0, true); _pdf.setState(CustomButton.STATE_DISABLED); _btnResourcePanel = new CustomButton(getChildByName("btnResourcePanel")); _btnResourcePanel.instance.addEventListener(MouseEvent.CLICK, displayLinkIndex, false, 0, true); _btnResourcePanel.setState(CustomButton.STATE_NORMAL); if (((!((Config.ADVANCED_RESOURCE_PANEL_DATA == null))) && (!((Config.ADVANCED_RESOURCE_PANEL_DATA.resourcePanels == null))))){ initAdvanceResourcePanelButtons(); }; _ebookHelp = new CustomButton(getChildByName("btnEbookHelp")); _ebookHelp.instance.addEventListener(MouseEvent.CLICK, onEbookHelp, false, 0, true); _ebookHelp.setState(CustomButton.STATE_DISABLED); _edition = (getChildByName("mcEdition") as Sprite); _editionStudentButton = new CustomButton(_edition.getChildByName("btnStudent")); _editionTeacherButton = new CustomButton(_edition.getChildByName("btnTeacher")); _disableEdition = (_edition.getChildByName("mcDisableEdition") as DisplayObject); _editionStudentButton.instance.addEventListener(MouseEvent.CLICK, onSwitchEdition, false, 0, true); _editionTeacherButton.instance.addEventListener(MouseEvent.CLICK, onSwitchEdition, false, 0, true); _editionTeacherButton.setState(CustomButton.STATE_NORMAL); _editionTeacherButton.visible = false; _disableEdition.visible = false; _search = (getChildByName("txtSearch") as TextField); _search.maxChars = Config.SEARCH_TEXT_MAX_LENGTH; _search.addEventListener(KeyboardEvent.KEY_UP, onSearchChange, false, 0, true); _search.addEventListener(FocusEvent.FOCUS_IN, onSearchFocus, false, 0, true); _search.addEventListener(FocusEvent.FOCUS_OUT, onSearchFocusOut, false, 0, true); _strDefaultSearchText = _search.text; var _local11:MovieClip = (getChildByName("mcSearchTxtToolTip") as MovieClip); if (_local11 != null){ _local11.visible = false; _local11.mouseEnabled = false; _search.addEventListener(MouseEvent.MOUSE_OVER, onSearchTxtOver, false, 0, true); _search.addEventListener(MouseEvent.MOUSE_OUT, onSearchTxtOut, false, 0, true); }; _searchBtn = new CustomButton(getChildByName("btnSearch")); _searchBtn.instance.addEventListener(MouseEvent.CLICK, onSearch, false, 0, true); if (((!((Config.SEARCH_DATA == null))) && (Config.SEARCH_DATA.isDefaultStateDisable))){ _searchBtn.setEnabled(false); _searchBtn.setState(CustomButton.STATE_DISABLED); _search.addEventListener(Event.CHANGE, onSearchTextChange, false, 0, true); } else { _searchBtn.setState(CustomButton.STATE_NORMAL); }; var _local12:DisplayObject = getChildByName("btnShowBookMark"); if (_local12 != null){ _objShowBookMark = new CustomButton(_local12); _objShowBookMark.instance.addEventListener(MouseEvent.CLICK, onShowBookMark, false, 0, true); _objShowBookMark.setState(CustomButton.STATE_DISABLED); _objShowBookMark.setEnabled(false); }; var _local13:DisplayObject = getChildByName("btnAddBookMark"); if (_local13 != null){ _objAddBookMark = new CustomButton(_local13); _objAddBookMark.instance.addEventListener(MouseEvent.CLICK, onAddBookMark, false, 0, true); _objAddBookMark.setState(CustomButton.STATE_NORMAL); }; _srchRestore = new CustomButton(getChildByName("btnSrchMinimized")); _srchRestore.instance.addEventListener(MouseEvent.CLICK, onRestoreSearch, false, 0, true); _srchRestore.setState(CustomButton.STATE_NORMAL); _srchRestore.visible = false; _showHotspot = new CustomButton(getChildByName("mcShowHotspot")); _showHotspot.setState(CustomButton.STATE_NORMAL); _showHotspot.instance.addEventListener(MouseEvent.CLICK, onShowHotspot, false, 0, true); _btnExit = new CustomButton(getChildByName("mcExit")); _btnExit.setState(CustomButton.STATE_NORMAL); _btnExit.instance.addEventListener(MouseEvent.CLICK, onExit, false, 0, true); var _local14:DisplayObject = getChildByName("mcAddLink"); if (_local14 != null){ _objAddLink = new CustomButton(_local14); _objAddLink.__bToggle = true; _objAddLink.addEventListener(MouseEvent.CLICK, onAddLinkClick); _objAddLink.setState(CustomButton.STATE_NORMAL); }; var _local15:DisplayObject = getChildByName("btnFullScreen"); if (_local15 != null){ _objFullScreen = new CustomButton(_local15); _objFullScreen.__bToggle = true; _objFullScreen.setState(CustomButton.STATE_NORMAL); _objFullScreen.addEventListener(MouseEvent.CLICK, toggleFullScreen); CustomEventDispatcher.getInstance().addEventListener(CustomEvent.FULL_SCREEN, onFullScreen); }; var _local16:DisplayObject = getChildByName(TBConsts.BTN_HIDE); if (_local16 != null){ _objHideContent = new CustomButton(_local16); _objHideContent.__bToggle = true; _objHideContent.setState(CustomButton.STATE_NORMAL); _objHideContent.addEventListener(MouseEvent.CLICK, onHideClicked); }; _btnTextSelection = new CustomButton(getChildByName("mcTextSelection")); _btnTextSelection.setState(CustomButton.STATE_NORMAL); if (_btnTextSelection.instance != null){ _btnTextSelection.instance.addEventListener(MouseEvent.CLICK, onTextSelection, false, 0, true); }; _btnTextCopy = new CustomButton(getChildByName("mcTextCopy")); _btnTextCopy.setState(CustomButton.STATE_NORMAL); if (_btnTextCopy.instance != null){ _btnTextCopy.instance.addEventListener(MouseEvent.CLICK, onTextCopy, false, 0, true); }; var _local17:DisplayObject = getChildByName("mcToggleAutoPlayAudio"); if (_local17 != null){ _local23 = new CustomButton(_local17); _local23.__bToggle = true; _local23.addEventListener(MouseEvent.CLICK, onToggleAutoPlayAudio); _local23.setState(CustomButton.STATE_NORMAL); }; var _local18:DisplayObject = getChildByName("mcLoadData"); if (_local18 != null){ _local24 = new CustomButton(_local18); _local24.setState(CustomButton.STATE_NORMAL); _local24.addEventListener(MouseEvent.CLICK, loadUserData); }; var _local19:DisplayObject = getChildByName("mcSaveData"); if (_local19 != null){ _local25 = new CustomButton(_local19); _local25.setState(CustomButton.STATE_NORMAL); _local25.addEventListener(MouseEvent.CLICK, saveUserData); }; _page.text = ""; if (_page2){ _page2.text = ""; }; _txtBookTitle = (getChildByName("txt_BookTitle") as TextField); _mcPageAudioControls = (getChildByName("mc_AudioController") as MovieClip); if (_mcPageAudioControls){ _mcPageAudioControls.visible = false; }; var _local20:MovieClip = (getChildByName("btnToggleToolbar") as MovieClip); _toggleToolbar = new CustomButton(_local20); _toggleToolbar.instance.addEventListener(MouseEvent.CLICK, onToggleToolbar, false, 0, true); _toggleToolbar.setState(CustomButton.STATE_NORMAL); _contentBackground = (getChildByName("mcContentBackground") as DisplayObject); _logo = (getChildByName("mcLogo") as DisplayObject); _panelTopSkin = (getChildByName("mcPanelTopSkin") as DisplayObject); _extraBgContent = (getChildByName("mcExtraContent") as DisplayObject); initializeDrawingMenu(); _blnToolbarAtTop = true; _blnCallOnce = true; _blnSetInitZoom = true; _blnEditNotesBtnOn = false; _bSpotLightOn = false; _blnShowHotSpotBtnOn = false; _strCurrentTool = null; _arrTopPosHolder = new Array(); _lastStringForSearch = ""; registerExternalListenerButtons(); registerGlobalButtonListener(); var _local21:DisplayObject = (getChildByName("mcToolSlider") as DisplayObject); if (_local21 != null){ _objToolSlider = new ToolSlider(_local21, Sprite(_instance)); }; initToolBar(); displayDockableIcons(false, "TOOLS"); displayDockableIcons(false, "TOC"); } public function onPrint(_arg1:Object=null):void{ var _local2:Controller = Controller.instance; Controller.instance.tracer(("objControl.currentState " + _arg1.currentState)); if (Config.USE_EXTERNAL_TABLE_OF_CONTENT){ _local2.view.tableOfContent.visible = false; }; if (_local2.view.printPanel != null){ _local2.view.printPanel.showPrintPanel(true, _local2.model.printData); } else { Controller.instance.tracer("object of mcPrintPanel popup not created or mcPrintPanel popup clip not inside in library"); }; } private function disableHighlightBtn():void{ _objHighlightHL.highEditModeOn = false; _objHighlightHL.removeAllListener(); _highlighter.setState(CustomButton.STATE_NORMAL); } private function onHighBlue(_arg1:MouseEvent):void{ _objHighlightHL.highColor = HighlightHandler.BLUE_COLOR; _mcHighYellow.gotoAndStop(1); _mcHighRed.gotoAndStop(1); _mcHighBlue.gotoAndStop(2); } private function closeWindow():void{ var _local1:Controller = Controller.instance; if (_local1.view.globalNotesPanel != null){ Controller.instance.model.existingDataObj.sendData(getGlobalNotesData(), Constants.GLOBAL_NOTES, false); }; Controller.instance.view.content.unloadBook(); } public function deleteBookMark(_arg1:uint):void{ var _local4:uint; var _local2:uint = _arrBookMark.length; var _local3:uint; while (_local3 < _local2) { if (_arg1 == _arrBookMark[_local3].pageNo){ _local4 = _local3; break; }; _local3++; }; _arrBookMark.splice(_local4, 1); if (_arrBookMark.length == 0){ _objShowBookMark.setEnabled(false); _objShowBookMark.setState(CustomButton.STATE_DISABLED); }; } public function onNotes(_arg1:MouseEvent):void{ var _local2:Controller = Controller.instance; var _local3:Model = _local2.model; var _local4:Number = Number(_local3.pageIndex); var _local5:Array = _local2.view.content.pages; if (_arg1 == null){ if (_blnEditNotesBtnOn == true){ _blnEditNotesBtnOn = false; _notes.setState(CustomButton.STATE_NORMAL); _local2.view.content.disableDrawNotes(); }; } else { if (_blnEditNotesBtnOn == false){ onEditMode(true, TBConsts.BTN_NOTES); disableHighlightBtn(); _blnEditNotesBtnOn = true; _notes.setState(CustomButton.STATE_SELECTED); _local2.view.content.enableDrawNotes(); Grabber.instance.stopProcess(); } else { Controller.instance.view.content.updateGrabTool(); _blnEditNotesBtnOn = false; _notes.setState(CustomButton.STATE_NORMAL); _local2.view.content.disableDrawNotes(); onEditMode(false); }; }; } private function hideAllTools():void{ disableNotesBtn(); } private function onVocabulary(_arg1:MouseEvent):void{ onLaunchActivity(_vocabulary); } private function initToolBar():void{ if (!Config.BUTTON_TOC){ _toc.visible = false; }; if (!Config.BUTTON_PREV){ _prev.visible = false; }; if (!Config.BUTTON_NEXT){ _next.visible = false; }; if (!Config.BUTTON_SINGLE_PAGE){ _single.visible = false; }; if (!Config.BUTTON_DOUBLE_PAGE){ _facing.visible = false; }; if (!Config.BUTTON_ZOOM_IN){ _zoomIn.visible = false; }; if (!Config.BUTTON_ZOOM_OUT){ _zoomOut.visible = false; _zoom.visible = false; }; if (!Config.BUTTON_ZOOM_TEXT){ _zoom.visible = false; }; if (!Config.BUTTON_EXIT){ _btnExit.visible = false; }; if (!Config.BUTTON_VIDEO){ _video.visible = false; }; if (!Config.BUTTON_ANIMATION){ _animation.visible = false; }; if (!Config.BUTTON_COMPREHENSION){ _comprehension.visible = false; }; if (!Config.BUTTON_VOCABULARY){ _vocabulary.visible = false; }; if (!Config.BUTTON_QUIZ){ _quiz.visible = false; }; if (!Config.BUTTON_GROUP){ _group.visible = false; }; if (!Config.BUTTON_HTML){ _html.visible = false; }; if (!Config.BUTTON_DOC){ _doc.visible = false; }; if (!Config.BUTTON_PDF){ _pdf.visible = false; }; if (!Config.BUTTON_EDITION){ _edition.visible = false; }; if (!Config.BUTTON_HIGHLIGHTER){ _highlighter.visible = false; }; if (!Config.BUTTON_NOTES){ _notes.visible = false; }; if (!Config.BUTTON_GRABBER){ }; if (!Config.BUTTON_FIT_TO_PAGE){ _fitToPage.visible = false; }; if (((!(Config.BUTTON_ACTUAL_SIZE)) && (!((_actualSize == null))))){ _actualSize.visible = false; }; if (!Config.BUTTON_SEARCH){ _search.visible = false; _searchBtn.visible = false; }; if (!Config.BUTTON_SHOWHOTSPOT){ _showHotspot.visible = false; }; if (!Config.BUTTON_GLOSSARY){ _mcGlossary.visible = false; }; if (Config.SCROLL_CONTENT){ setMouseWheel(); }; if (!Config.BUTTON_HELP){ _ebookHelp.visible = false; }; if (!Config.BUTTON_TOGGLE_TOOLBAR){ _toggleToolbar.visible = false; }; if (!Config.BUTTON_RESOURCE_PANEL){ _btnResourcePanel.visible = false; }; if (Config.SPOTLIGHT_SIZE == 0){ if (_mcSpotLight != null){ _mcSpotLight.visible = false; }; }; if (!Config.BTN_PRINT){ if (_objPrint != null){ _objPrint.visible = false; }; }; if (!Config.BUTTON_FREEHAND_DRAWING){ hideFreeHandDrawButtons(false); }; if (((!(Config.BUTTON_FULLSCREEN)) && (!((_objFullScreen == null))))){ _objFullScreen.visible = false; }; } private function initPageSpecificButtons():void{ var _local5:Array; var _local6:int; var _local7:Object; if (_objPrint != null){ initPageSpecificPrintButton(); }; initSectionSpecificButtons(); var _local1:Controller = Controller.instance; var _local2:Model = _local1.model; var _local3:Array = _local1.view.content.pages; var _local4:int; while (_local4 < _local3.length) { _local5 = _local3[_local4].buttons; if (_local5 != null){ _local6 = 0; while (_local6 < _local5.length) { _local7 = getObject(_local5[_local6].type); _local7.visible = Boolean(_local5[_local6].visible); _local6++; }; }; _local4++; }; } private function storeInitialPos():void{ var _local1:Object; var _local2:Object; var _local3:String; var _local4:String; var _local5:int; Controller.instance.tracer("storeInitialPos called "); if (Config.BUTTON_TOGGLE_TOOLBAR){ _local1 = new Object(); _local2 = new Object(); _local5 = 0; while (_local5 < Config.TOOLBAR_VARIABLE_POSITION.length) { _local3 = Config.TOOLBAR_VARIABLE_POSITION[_local5].item_name; _local4 = Config.TOOLBAR_VARIABLE_POSITION[_local5].scope; if (_local4 == Config.TOOLBAR_SCOPE){ if (getAccessibleObject(_local3) != null){ _local1 = getAccessibleObject(_local3); _arrTopPosHolder.push({item:_local1, item_name:_local3, x:_local1.x, y:_local1.y, visible:null}); } else { if (getChildByName(_local3) != null){ _local1 = getChildByName(_local3); _arrTopPosHolder.push({item:_local1, item_name:_local3, x:_local1.x, y:_local1.y, visible:null}); }; }; } else { if (_local4 == Config.MAINVIEW_SCOPE){ _local2 = _instance.parent; if (_local2.getChildByName(_local3) != null){ _local1 = _local2.getChildByName(_local3); _arrTopPosHolder.push({item:_local1, item_name:_local3, x:_local1.x, y:_local1.y, visible:null}); }; }; }; _local5++; }; }; } public function get playlistDropDown():DropDown{ return (_objPlayListDropDown); } private function generateLinkList():Array{ var _local1:Model = Controller.instance.model; var _local2:Array = _local1.getSectionLinkSet(); var _local3:Array = _local1.getEbookLink(); var _local4:Array = new Array(); if (((!((_local2 == null))) && ((_local2.length > 0)))){ if (((!((_local3 == null))) && ((_local3.length > 0)))){ _local4 = _local1.setSectionLinksAsPerLevel(_local2, _local3); } else { _local4 = _local2; }; } else { if (((!((_local3 == null))) && ((_local3.length > 0)))){ _local4 = _local3; }; }; return (_local4); } private function onSwitchEdition(_arg1:MouseEvent):void{ _blnSwitchEdition = true; if (!Config.MAINTAIN_DISPLAY_STATUS){ _blnSetInitZoom = true; }; var _local2:Boolean = _editionStudentButton.visible; _editionStudentButton.visible = !(_editionStudentButton.visible); _editionTeacherButton.visible = !(_editionTeacherButton.visible); maintainFeatures(_local2); if (((Controller.instance.loadEdition(_local2)) && (!(Config.MAINTAIN_DISPLAY_STATUS)))){ if (_local2){ _group.visible = false; } else { if (Config.BUTTON_GROUP){ _group.visible = true; }; }; Controller.instance.view.content.updatePageScale(!(_local2)); updateZoomDisplay(); if (Config.SET_DEFAULT_PAGES_COUNT){ _single.setState(CustomButton.STATE_NORMAL); _facing.setState(CustomButton.STATE_DISABLED); } else { _facing.setState(CustomButton.STATE_NORMAL); _single.setState(CustomButton.STATE_DISABLED); }; }; } public function get highlighter():MovieClip{ return ((_highlighter.instance as MovieClip)); } public function EnableCurrentVolumeButton():void{ _objCurVolumeBtn.setState(CustomButton.STATE_NORMAL); } private function onAnimation(_arg1:MouseEvent):void{ onLaunchActivity(_animation); } private function onSearch(_arg1:MouseEvent):void{ var _local2:Controller = Controller.instance; if (Config.USE_EXTERNAL_TABLE_OF_CONTENT){ _local2.view.tableOfContent.visible = false; }; if (((!((_search.text == ""))) && (!((_lastStringForSearch == ""))))){ _local2.search(_search.text); _srchRestore.visible = false; } else { _local2.view.search.onBlankSearch(); }; onSearchResult(); } public function onFreeHandPenClicked(_arg1:Object=null):void{ if (_arg1 == null){ if (_blnEditPenBtnOn == true){ _blnEditPenBtnOn = false; DrawTool.getInstance().activateDrawTool(false, Constants.FREEHAND_PEN_CURSOR); onEditMode(false); _objFreeHandPen.setState(CustomButton.STATE_NORMAL); }; return; }; if (_arg1.currentState == CustomButton.STATE_SELECTED){ onEditMode(true, TBConsts.BTN_FREEHAND_PEN); DrawTool.getInstance().activateDrawTool(true, Constants.FREEHAND_PEN_CURSOR, TBConsts.BTN_FREEHAND_PEN); } else { if (_arg1.currentState == CustomButton.STATE_NORMAL){ DrawTool.getInstance().activateDrawTool(false, Constants.FREEHAND_PEN_CURSOR); onEditMode(false); _blnEditPenBtnOn = false; }; }; } private function enableAllActivityButtons(_arg1:Boolean):void{ var _local2:int; while (_local2 < _arrActivity.length) { enableActivityButton(_arrActivity[_local2], _arg1); _local2++; }; } private function onZoomTextFocusIn(_arg1:FocusEvent):void{ var _local2:TextField = (_arg1.target as TextField); _strZoomAmount = _local2.text; _local2.text = ""; } public function onZoomTo(_arg1:Object=null):void{ if (_arg1 == null){ _objZoomTo.setState(CustomButton.STATE_NORMAL); return; }; if (_arg1.currentState == CustomButton.STATE_SELECTED){ Controller.instance.view.content.activateZoomTo(true); Mouse.hide(); } else { if (_arg1.currentState == CustomButton.STATE_NORMAL){ Controller.instance.view.content.activateZoomTo(false); Mouse.show(); }; }; } private function onPageNumOver(_arg1:MouseEvent):void{ var _local2:MovieClip = (getChildByName("mcPageTxtToolTip") as MovieClip); _local2.visible = true; } private function initAdvanceResourcePanelButtons():void{ var _local2:uint; var _local3:DisplayObject; var _local4:CustomButton; var _local1:uint = Config.ADVANCED_RESOURCE_PANEL_DATA.resourcePanels.length; if (_local1 > 0){ _local2 = 0; while (_local2 < _local1) { _local3 = getChildByName(String(("btnResourcePanel" + (_local2 + 1)))); if (_local3 != null){ _local4 = new CustomButton(_local3); _local4.addEventListener(MouseEvent.CLICK, displayResourcePanel); _local4.setState(CustomButton.STATE_DISABLED); _local4.__id = _local2; _arrAdvanceResourcePanelBtn.push(_local4); } else { _arrAdvanceResourcePanelBtn.push(null); }; _local2++; }; }; } private function onPageNumOut(_arg1:MouseEvent):void{ var _local2:MovieClip = (getChildByName("mcPageTxtToolTip") as MovieClip); _local2.visible = false; } public function showMinimizedSearchButton():void{ _srchRestore.visible = true; } private function onGlobalItem(_arg1:CustomButton):void{ var _local2:Array; var _local3:Page; var _local4:String; var _local5:String; _local2 = Controller.instance.view.content.pages; _local3 = _local2[0]; _local4 = _arg1.instance.name; _local5 = _local3.global[_local4].jumpToPage; if (((!((_local5 == null))) && (!((_local5 == ""))))){ Controller.instance.loadPage(_local3.global[_local4].jumpToPage); } else { onLaunchActivity(_local4.split("_")[0], _local4); }; } private function onSearchFocus(_arg1:FocusEvent):void{ if (_arg1.target.text == _strDefaultSearchText){ _arg1.target.text = ""; }; var _local2:MovieClip = (getChildByName("mcSearchTxtToolTip") as MovieClip); if (_local2 != null){ _local2.visible = false; }; } private function onHighRed(_arg1:MouseEvent):void{ _objHighlightHL.highColor = HighlightHandler.RED_COLOR; _mcHighYellow.gotoAndStop(1); _mcHighRed.gotoAndStop(2); _mcHighBlue.gotoAndStop(1); } private function onPrev(_arg1:MouseEvent):void{ var _local2:Controller = Controller.instance; var _local3:Model = _local2.model; var _local4:int = _local2.view.content.pageCount; if (_local3.isNavigationByPlaylist()){ _local3.curPageIndxInSection = (_local3.curPageIndxInSection - 1); }; if ((_local3.pageIndex - _local4) >= 1){ _local2.loadPage((_local3.pageIndex - _local4)); } else { _local2.loadPage(_local3.ebook.pages); }; } private function onToggleAutoPlayAudio(_arg1:CustomButton):void{ if (_arg1.currentState == CustomButton.STATE_SELECTED){ Controller.instance.pageAudioController.playAudioOnStart(false); } else { Controller.instance.pageAudioController.playAudioOnStart(true); }; Controller.instance.pageAudioController.playFirstAudio(); } public function disableLastVisitBtn():void{ if (_btnLastVisit != null){ _btnLastVisit.setState(CustomButton.STATE_DISABLED); }; } private function onQuiz(_arg1:MouseEvent):void{ onLaunchActivity(_quiz); } public function update():void{ var _local12:int; var _local13:Array; var _local14:String; var _local15:String; var _local16:Boolean; var _local17:Array; var _local18:Array; var _local19:int; Controller.instance.tracer("1"); var _local1:Controller = Controller.instance; var _local2:Model = _local1.model; var _local3:int = _local1.view.content.pageCount; var _local4:PageListing = _local2.objPageList; if (_local4 != null){ _local13 = _local4.labelsArray; }; Controller.instance.tracer("2"); var _local5:Number = Number(_local2.pageIndex); var _local6:Array = new Array(); if (_local3 == 2){ if (_local4 != null){ _local14 = _local13[(_local5 - 2)][1]; _local15 = _local13[(_local5 - 1)][1]; _local16 = _local13[(_local5 - 2)][1]; if (_local16){ if (Config.GROUPED_PAGE_LABEL_MODE == 0){ setPageNavigationText(((_local14 + " - ") + _local15)); } else { if (Config.GROUPED_PAGE_LABEL_MODE == 1){ _local17 = _local14.split("-"); _local18 = _local15.split("-"); setPageNavigationText(((trimString(_local17[0]) + " - ") + trimString(_local18[(_local18.length - 1)]))); }; }; } else { setPageNavigationText((_page.text = ((_local14 + " - ") + _local15))); }; } else { setPageNavigationText(((String((_local2.pageIndex - 1)) + " - ") + String(_local2.pageIndex))); }; _local6 = [(_local2.pageIndex - 1), _local2.pageIndex]; } else { Controller.instance.tracer("3"); if (_local4 != null){ setPageNavigationText(_local13[(_local5 - 1)][1]); } else { setPageNavigationText(String(_local2.pageIndex)); }; _local6 = [_local2.pageIndex]; }; if (_blnSetInitZoom){ _local1.view.content.updatePageScale(!((_local2.ebook.edition == "student"))); _blnSetInitZoom = false; }; if (_txtBookTitle != null){ _txtBookTitle.htmlText = Controller.instance.model.objPageList.bookTitle; }; Controller.instance.tracer("4"); setBreadCrumb(_local5); var _local7:TextField = (getChildByName("txtSectionLabel") as TextField); if (_local7 != null){ _local7.mouseEnabled = false; _local7.text = _local4.getSectionTitle(_local5); }; updateZoomDisplay(); initToolBar(); initActivityButtonStates(); initPageSpecificButtons(); updateSectionLinkDisplay(); setTextSelectionState(); disableActivityButtons(); var _local8:Number = _local2.findRootSectionStart(Config.TABLE_OF_CONTENT_TEXT); var _local9:Array = _local2.getSectionPages(Config.TABLE_OF_CONTENT_TEXT); var _local10:Number = _local2.pageIndex; var _local11:Boolean; while (_local12 <= _local6.length) { _local19 = _local9[0]; while (_local19 < _local9[1]) { if (_local6[_local12] == _local19){ _local11 = true; break; }; _local19++; }; _local12++; }; if (_local11){ _toc.setState(CustomButton.STATE_SELECTED); } else { _toc.setState(CustomButton.STATE_NORMAL); }; if (_local2.isStandalone){ disableAllActivityButtons(); }; Controller.instance.tracer("call to updateButtonStates from update function"); updateButtonStates(_local13, _local6); if (_blnCallOnce){ storeInitialPos(); _blnCallOnce = false; }; setObjectsFloatingState(); if (_objToolSlider != null){ _objToolSlider.initialize(); }; } private function onShowHideIcons(_arg1:Object=null):void{ if (_btnShowHideIcons.currentState == CustomButton.STATE_SELECTED){ displayDockableIcons(true, TBConsts.TOOLS); } else { if (_btnShowHideIcons.currentState == CustomButton.STATE_NORMAL){ displayDockableIcons(false, TBConsts.TOOLS); disableToggleButtonEvents(); }; }; } private function onSearchFocusOut(_arg1:FocusEvent):void{ if (_arg1.target.text == ""){ _arg1.target.text = _strDefaultSearchText; _lastStringForSearch = ""; _arg1.target.scrollH = 0; }; } public function get blnSwitchEdition():Boolean{ return (_blnSwitchEdition); } private function initializeDrawingMenu():void{ var _local1:uint; var _local2:DisplayObject; var _local3:Sprite; var _local4:DisplayObject; var _local5:Sprite; var _local6:DisplayObject; var _local7:Sprite; var _local8:DisplayObject; var _local9:Sprite; var _local10:DisplayObject; var _local11:Sprite; var _local12:DisplayObject; var _local13:Sprite; var _local14:DisplayObject; var _local15:Sprite; var _local16:uint; if (Config.DRAW != null){ _local1 = Config.DRAW.length; _local2 = getChildByName("mcPenLinePanel"); _local3 = (getChildByName("mcLineMenu") as Sprite); if (((!((_local2 == null))) && (!((_local3 == null))))){ _local16 = 0; while (_local16 < _local1) { if (Config.DRAW[_local16].btnInstance == TBConsts.BTN_FREEHAND_PEN){ _mcLinePanel = new LineListPanel(_local3, _local2, Config.DRAW[_local16]); break; }; _local16++; }; }; _local4 = getChildByName("mcPenColorPanel"); _local5 = (getChildByName("mcPenColorMenu") as Sprite); if (((!((_local4 == null))) && (!((_local5 == null))))){ _local16 = 0; while (_local16 < _local1) { if (Config.DRAW[_local16].btnInstance == TBConsts.BTN_FREEHAND_PEN){ _mcColorPanel = new ColorPanel(_local5, _local4, Config.DRAW[_local16]); break; }; _local16++; }; }; _local6 = getChildByName("mcFreeHandHighlighter"); _local7 = (getChildByName("mcHighlighterColorMenu") as Sprite); if (((!((_local6 == null))) && (!((_local7 == null))))){ _local16 = 0; while (_local16 < _local1) { if (Config.DRAW[_local16].btnInstance == TBConsts.BTN_FREEHAND_HIGHLIGHTER){ _mcFreeHandHighlighterColor = new ColorPanel(_local7, _local6, Config.DRAW[_local16]); break; }; _local16++; }; }; _local8 = getChildByName("mcHighlighterLinePanel"); _local9 = (getChildByName("mcHighlighterLineMenu") as Sprite); if (((!((_local8 == null))) && (!((_local9 == null))))){ _local16 = 0; while (_local16 < _local1) { if (Config.DRAW[_local16].btnInstance == TBConsts.BTN_FREEHAND_HIGHLIGHTER){ _mcHighlighterLinePanel = new LineListPanel(_local9, _local8, Config.DRAW[_local16]); break; }; _local16++; }; }; _local10 = getChildByName("mcFreeHandShapePanel"); _local11 = (getChildByName("mcShapeMenu") as Sprite); if (((!((_local10 == null))) && (!((_local11 == null))))){ _local16 = 0; while (_local16 < _local1) { if (Config.DRAW[_local16].btnInstance == TBConsts.BTN_FREEHAND_SHAPES){ _mcFreeHandShapePanel = new ShapePanel(_local11, _local10, Config.DRAW[_local16]); break; }; _local16++; }; }; _local12 = getChildByName("mcFreeHandShapeColorPanel"); _local13 = (getChildByName("mcShapeColorMenu") as Sprite); if (((!((_local12 == null))) && (!((_local13 == null))))){ _local16 = 0; while (_local16 < _local1) { if (Config.DRAW[_local16].btnInstance == TBConsts.BTN_FREEHAND_SHAPES){ _mcFreeHandShapeColor = new ColorPanel(_local13, _local12, Config.DRAW[_local16]); break; }; _local16++; }; }; _local14 = getChildByName("mcEraserLinePanel"); _local15 = (getChildByName("mcEraserLineMenu") as Sprite); if (((!((_local14 == null))) && (!((_local15 == null))))){ _local16 = 0; while (_local16 < _local1) { if (Config.DRAW[_local16].btnInstance == TBConsts.BTN_FREEHAND_ERASER){ _mcEraserLinePanel = new LineListPanel(_local15, _local14, Config.DRAW[_local16]); break; }; _local16++; }; }; }; } public function onHighLighter(_arg1:MouseEvent):void{ var _local2:MovieClip = (_highlighter.instance as MovieClip); if (_arg1 == null){ if (_objHighlightHL.highEditModeOn){ _objHighlightHL.highEditModeOn = false; _objHighlightHL.removeAllListener(); _highlighter.setState(CustomButton.STATE_NORMAL); }; } else { _objHighlightHL.highEditModeOn = !(_objHighlightHL.highEditModeOn); if (_objHighlightHL.highEditModeOn){ Grabber.instance.stopProcess(); disableNotesBtn(); Controller.instance.view.content.currentCustomCursor = "HIGHLIGHTER"; _objHighlightHL.addListeners(); _highlighter.setState(CustomButton.STATE_SELECTED); onEditMode(true, TBConsts.BTN_HIGHLIGHTER); } else { Controller.instance.view.content.updateGrabTool(); Controller.instance.view.content.currentCustomCursor = null; _objHighlightHL.removeAllListener(); _highlighter.setState(CustomButton.STATE_NORMAL); onEditMode(false); }; }; } private function scrollContent(_arg1:Number):void{ var _local2:Controller = Controller.instance; var _local3:Scrollbars = _local2.view.content.scrollbars; if (((_local3.verticalScroll.visible) && (_local2.view.content.getEnabled()))){ _local3.verticalScroll.movePage(-((_arg1 * 2))); }; } private function setTextSelectionState():void{ var _local1:String; var _local2:Content; if (((!((_btnTextSelection.instance == null))) && (Config.BUTTON_TXT_SELECTION))){ _local1 = _btnTextSelection.currentState; _local2 = Controller.instance.view.content; if (_local1 == CustomButton.STATE_NORMAL){ _local2.activateTextSelection(false); } else { if (_local1 == CustomButton.STATE_SELECTED){ _local2.activateTextSelection(true); }; }; }; } private function onMouseWheel(_arg1:MouseEvent):void{ scrollContent(_arg1.delta); } private function swithTool(_arg1:String):void{ var _local4:CustomButton; var _local2:Controller = Controller.instance; var _local3:Model = _local2.model; hideAllTools(); if (_strCurrentTool != _arg1){ _strCurrentTool = _arg1; switch (_arg1){ case "GRABBER": _local4 = _mcGrabber; activateGrabbing(); break; case "NOTE": _local4 = _notes; break; }; _local4.setState(CustomButton.STATE_NORMAL); } else { _strCurrentTool = null; }; } private function displayResourcePanel(_arg1:CustomButton):void{ var _local2:Object = Controller.instance.view.advanceResourcePanels[_arg1.__id]; if (_local2 != null){ _local2.active = true; _local2.show(true); _local2.setTitleText(); }; } private function onSearchTxtOver(_arg1:MouseEvent):void{ var _local2:MovieClip = (getChildByName("mcSearchTxtToolTip") as MovieClip); _local2.visible = true; } private function hideFreeHandDrawButtons(_arg1:Boolean):void{ if (_objFreeHandEraser != null){ _objFreeHandEraser.visible = _arg1; }; if (_objFreeHandHighlighter != null){ _objFreeHandHighlighter.visible = _arg1; }; if (_objFreeHandPen != null){ _objFreeHandPen.visible = _arg1; }; if (_objShowDrawing != null){ _objShowDrawing.visible = _arg1; }; if (_mcColorPanel != null){ _mcColorPanel.dropDownControlInstance.visible = _arg1; }; if (_mcFreeHandHighlighterColor != null){ _mcFreeHandHighlighterColor.dropDownControlInstance.visible = _arg1; }; if (_mcLinePanel != null){ _mcLinePanel.dropDownControlInstance.visible = _arg1; }; if (_mcHighlighterLinePanel != null){ _mcHighlighterLinePanel.dropDownControlInstance.visible = _arg1; }; if (_mcEraserLinePanel != null){ _mcEraserLinePanel.dropDownControlInstance.visible = _arg1; }; if (_mcFreeHandShapeColor != null){ _mcFreeHandShapeColor.dropDownControlInstance.visible = _arg1; }; if (_mcFreeHandShapePanel != null){ _mcFreeHandShapePanel.dropDownControlInstance.visible = _arg1; }; if (_objDeleteAllDrawing != null){ _objDeleteAllDrawing.visible = _arg1; }; if (getChildByName("mcDrawToolBg") != null){ getChildByName("mcDrawToolBg").visible = _arg1; }; } private function onExternalItem(_arg1:Event):void{ var _local2:String = _arg1.target.parent.name; var _local3:Object = new Object(); _local3.eventName = _local2; Controller.instance.onExternalListenerEvent(_local3); } public function updateZoomDisplay():void{ var _local1:Number; var _local2:InteractiveObject; var _local3:ConfigManager = Controller.instance.model.configManager; if ((Controller.instance.model.ebook.edition == "student")){ _local1 = Math.round(((Controller.instance.view.content.zoom / _local3.pageScaleSE) * 100)); } else { _local1 = Math.round(((Controller.instance.view.content.zoom / _local3.pageScaleTE) * 100)); }; if (Config.ZOOM_ACCORDING_TO_PAGESCALE_DEFAULT){ _zoom.text = (String(Math.round((Controller.instance.view.content.zoom * 100))) + "%"); } else { _zoom.text = (String(_local1) + "%"); }; var _local4:Content = Controller.instance.view.content; if (Number(_local4.zoom.toFixed(4)) < Number(_iZoomMax.toFixed(4))){ _zoomIn.setState(CustomButton.STATE_NORMAL); } else { if (_zoomIn.getEnabled()){ _zoomIn.setState(CustomButton.STATE_DISABLED); }; }; if (Number(_local4.zoom.toFixed(4)) > Number(_iZoomMin.toFixed(4))){ _zoomOut.setState(CustomButton.STATE_NORMAL); } else { if (_zoomOut.getEnabled()){ _zoomOut.setState(CustomButton.STATE_DISABLED); }; }; } private function onGlossary(_arg1:MouseEvent):void{ var _local2:Controller = Controller.instance; if (Config.USE_EXTERNAL_TABLE_OF_CONTENT){ _local2.view.tableOfContent.visible = false; }; _local2.view.glossary.showGlossary(true); } public function onHideClicked(_arg1:Object=null):void{ var _local3:Boolean; var _local2:MovieClip = Controller.instance.view.getContentMask; if (_local2 != null){ _local3 = ((_arg1.currentState)==CustomButton.STATE_SELECTED) ? true : false; HideContent.getInstance().hideContent(_local3); }; } private function loadUserData(_arg1:CustomButton):void{ UserDataHandler.getInstance().browseXML(); } public function activateZoomButtons():void{ updateZoomDisplay(); } private function onTextCopy(_arg1:MouseEvent):void{ var _local2:Content = Controller.instance.view.content; _local2.copySelectedText(); } public function get themeHandler():ThemeHandler{ return (_objThemeListPanel); } public function onShowGlobalNotesPanel(_arg1:Boolean):void{ if (Config.DRAW != null){ DrawTool.getInstance().onShowGlobalNotesPanel(_arg1); }; if (!_arg1){ Controller.instance.model.existingDataObj.sendData(getGlobalNotesData(), Constants.GLOBAL_NOTES); }; } private function onPageNumChange(_arg1:KeyboardEvent):void{ var _local3:Controller; var _local4:Model; var _local5:int; var _local6:int; var _local2:TextField = (_arg1.target as TextField); if (_arg1.keyCode == Keyboard.ENTER){ _local3 = Controller.instance; _local4 = _local3.model; _local5 = _local4.pageIDMapper(_local2.text); if (((((!(isNaN(_local5))) && ((_local5 >= 1)))) && ((_local5 <= _local4.ebook.pages)))){ _local6 = _local3.view.content.pageCount; if ((((_local5 == _local4.pageIndex)) || ((((_local6 == 2)) && ((_local5 == (_local4.pageIndex - 1))))))){ return; }; _local3.loadPage(_local5); _blnPageTextFocus = false; } else { _local2.scrollH = 0; if (Config.SHOW_PAGE_ERROR_MESSAGE){ _blnPageTextFocus = true; if (((!((Config.MESSAGES == null))) && (!((Config.MESSAGES.INVALID_PAGE == null))))){ _local3.view.errorWindow.showError(Config.MESSAGES.INVALID_PAGE); } else { _local3.view.errorWindow.showError(ErrorMessages.INVALID_PAGE); }; if (Config.USE_EXTERNAL_TABLE_OF_CONTENT){ _local3.view.tableOfContent.visible = false; }; } else { _blnPageTextFocus = false; }; update(); }; _arg1.target.stage.focus = null; }; } private function disableActivityButtons():void{ var _local1:int; while (_local1 < _arrActivity.length) { disableUnusedActivityButton(_arrActivity[_local1]); _local1++; }; } private function disableToggleButtonEvents():void{ disableNotesBtn(); deActivateFreehandTool(); disableHighlightBtn(); } private function onNext(_arg1:MouseEvent):void{ var _local2:Controller = Controller.instance; var _local3:Model = _local2.model; var _local4:int = _local2.view.content.pageCount; if (_local3.isNavigationByPlaylist()){ _local3.curPageIndxInSection = (_local3.curPageIndxInSection + 1); }; if ((_local3.pageIndex + _local4) <= _local3.ebook.pages){ _local2.loadPage((_local3.pageIndex + 1)); } else { _local2.loadPage(1); }; } private function initPageSpecificPrintButton():void{ var _local2:uint; var _local3:uint; var _local4:uint; var _local5:uint; var _local1:Array = Controller.instance.model.printData; if (_local1 != null){ _local2 = Controller.instance.view.content.pageCount; _local3 = _local1.length; _local4 = 0; while (_local4 < _local2) { _local5 = 0; while (_local5 < _local3) { if (Controller.instance.view.content.contentPages[_local4].currentPageIndex == _local1[_local5].index){ _objPrint.visible = _local1[_local5].printable; break; }; _local5++; }; _local4++; }; }; } private function initSectionSpecificButtons():void{ var _local4:int; var _local5:Object; var _local1:Controller = Controller.instance; var _local2:Model = _local1.model; var _local3:Array = _local2.ebook.buttons; if (_local3 != null){ _local4 = 0; while (_local4 < _local3.length) { _local5 = getObject(_local3[_local4].type); _local5.visible = Boolean(_local3[_local4].visible); _local4++; }; }; } public function onAddLinkClick(_arg1:CustomButton=null):void{ var _local2:MainView = Controller.instance.view; if (_arg1 == null){ if (_bEditAddLink == true){ _local2.addLinkPanel.activateLinkCursor(false); _objAddLink.setState(CustomButton.STATE_NORMAL); onEditMode(false); _bEditAddLink = false; }; return; }; if (_arg1.currentState == CustomButton.STATE_SELECTED){ onEditMode(true, TBConsts.BTN_ADD_LINK); _local2.addLinkPanel.activateLinkCursor(true); _bEditAddLink = true; } else { _local2.addLinkPanel.activateLinkCursor(false); onEditMode(false); _bEditAddLink = false; }; } private function onGlobalNotes(_arg1:Object=null):void{ var _local2:Controller = Controller.instance; _local2.view.globalNotesPanel.showGlobalNotesPanel(true); } public function enablePlayListBtn(_arg1:Boolean):void{ Controller.instance.tracer(("enable play list button " + _arg1)); if (_arg1){ _objPlayListDropDown.setDropDownControlState(CustomButton.STATE_NORMAL); } else { _objPlayListDropDown.setDropDownControlState(CustomButton.STATE_DISABLED); }; Controller.instance.tracer("end "); } private function disableUnusedActivityButton(_arg1:String):void{ var _local2:CustomButton; var _local3:String; var _local4:Array = Controller.instance.view.content.pages; var _local5:Page = _local4[0]; switch (_arg1){ case "video": _local2 = _video; _local3 = _local5.video; break; case "animation": _local2 = _animation; _local3 = _local5.animation; break; case "vocabulary_activity": _local2 = _vocabulary; _local3 = _local5.vocabulary_activity; break; case "comprehension_activity": _local2 = _comprehension; _local3 = _local5.comprehension_activity; break; case "quick_quiz": _local2 = _quiz; _local3 = _local5.quick_quiz; break; case "group_activity": _local2 = _group; _local3 = _local5.group_activity; break; case "help": _local2 = _ebookHelp; _local3 = _local5.help; break; case "html_document": _local2 = _html; _local3 = _local5.html_document; break; case "doc_document": _local2 = _doc; _local3 = _local5.doc_document; break; case "pdf_document": _local2 = _pdf; _local3 = _local5.pdf_document; break; }; if ((((((_local3 == "")) || ((_local3 == "undefined")))) || ((_local3 == null)))){ _local2.setState(CustomButton.STATE_DISABLED); }; } private function initActivityButtonStates():void{ var _local3:String; var _local4:String; var _local7:Boolean; var _local8:int; var _local9:Boolean; var _local1:Controller = Controller.instance; var _local2:Model = _local1.model; var _local5:Array = _local1.view.content.pages; var _local6:int; while (_local6 < _arrActivity.length) { _local7 = false; _local8 = 0; while (_local8 < _local5.length) { if (((!((_local5[_local8][_arrActivity[_local6]] == undefined))) && (!((_local5[_local8][_arrActivity[_local6]] == ""))))){ _local7 = true; }; _local8++; }; enableActivityButton(_arrActivity[_local6], _local7); _local6++; }; if (Config.BUTTON_RESOURCE_PANEL){ _local9 = _local1.view.resourcePanel.exist; if (_local9){ _btnResourcePanel.setState(CustomButton.STATE_NORMAL); } else { _btnResourcePanel.setState(CustomButton.STATE_DISABLED); }; }; initResourcePanelButtonStates(); if (!!((_local2.ebook.edition == "student"))){ _group.visible = false; }; if (Config.BUTTON_EDITION){ _edition.visible = !((_local2.ebookPathStudent == null)); }; } private function onAddBookMark(_arg1:MouseEvent):void{ var _local5:uint; var _local6:uint; var _local7:Boolean; var _local8:uint; if (_objShowBookMark.currentState != CustomButton.STATE_NORMAL){ _objShowBookMark.setEnabled(true); _objShowBookMark.setState(CustomButton.STATE_NORMAL); }; var _local2:Array = getCurrentPageNum(); var _local3:uint = _local2.length; var _local4:uint = _arrBookMark.length; if (_local4 == 0){ _local5 = 0; while (_local5 < _local3) { _arrBookMark.push({pageNo:_local2[_local5]}); _local5++; }; } else { _local6 = 0; while (_local6 < _local3) { _local7 = false; _local5 = 0; while (_local5 < _local4) { _local8 = _local2[_local6]; if (_arrBookMark[_local5].pageNo == _local8){ _local7 = true; break; }; _local5++; }; if (_local7 == false){ _arrBookMark.push({pageNo:_local8}); }; _local6++; }; }; } private function onShowHotspot(_arg1:MouseEvent):void{ var _local2:Controller = Controller.instance; if (_blnShowHotSpotBtnOn == true){ _showHotspot.setState(CustomButton.STATE_NORMAL); _blnShowHotSpotBtnOn = false; _local2.model.blnShowHotspots = false; _local2.view.content.showHotspots(); } else { _showHotspot.setState(CustomButton.STATE_SELECTED); _blnShowHotSpotBtnOn = true; _local2.model.blnShowHotspots = true; _local2.view.content.showHotspots(); }; } public function get edition():Sprite{ return (_edition); } public function set blnSwitchEdition(_arg1:Boolean):void{ _blnSwitchEdition = _arg1; } private function setPageNavigationText(_arg1:String):void{ _arg1 = ((_arg1)==null) ? "" : _arg1; _page.text = _arg1; _page.scrollH = 0; if (_page2){ _page2.text = _arg1; _page2.scrollH = 0; }; } public function onEditMode(_arg1:Boolean, _arg2:String=null):void{ if (Config.HIDE_HOTSPOT_IN_EDITMODE){ _strActiveTool = null; Controller.instance.view.content.showAllHotspots(!(_arg1)); }; if (_arg1){ _strActiveTool = _arg2; switch (_arg2){ case TBConsts.BTN_HIGHLIGHTER: Grabber.instance.stopProcess(); disableNotesBtn(); deActivateFreehandTool(); onAddLinkClick(null); break; case TBConsts.BTN_NOTES: deActivateFreehandTool(); disableHighlightBtn(); Grabber.instance.stopProcess(); onAddLinkClick(null); break; case TBConsts.BTN_GRABBER: break; case TBConsts.BTN_FREEHAND_PEN: Grabber.instance.stopProcess(); disableNotesBtn(); disableHighlightBtn(); _blnEditPenBtnOn = true; onFreeHandEraserClicked(null); onFreeHandHighlighterClicked(null); onFreeHandShapeClicked(false); onAddLinkClick(null); break; case TBConsts.BTN_FREEHAND_HIGHLIGHTER: Grabber.instance.stopProcess(); onFreeHandPenClicked(null); onFreeHandEraserClicked(null); onFreeHandShapeClicked(false); disableNotesBtn(); disableHighlightBtn(); _bEditFreeHandHighlighterOn = true; onAddLinkClick(null); break; case TBConsts.BTN_FREEHAND_ERASER: Grabber.instance.stopProcess(); disableNotesBtn(); disableHighlightBtn(); onFreeHandPenClicked(null); onFreeHandHighlighterClicked(null); onFreeHandShapeClicked(false); _bEditFreeHandEraserOn = true; onAddLinkClick(null); break; case TBConsts.BTN_ADD_LINK: Grabber.instance.stopProcess(); deActivateFreehandTool(); disableNotesBtn(); disableHighlightBtn(); break; case TBConsts.BTN_FREEHAND_SHAPES: Grabber.instance.stopProcess(); onFreeHandPenClicked(null); onFreeHandHighlighterClicked(null); onFreeHandEraserClicked(null); disableNotesBtn(); disableHighlightBtn(); _bEditFreeHandShapeOn = true; break; }; }; _strActiveTool = _arg2; var _local3:Object = new Object(); _local3.strActiveTool = _strActiveTool; var _local4:CustomEvent = new CustomEvent(CustomEvent.EDIT_MODE, false, false, _local3); CustomEventDispatcher.getInstance().dispatchEvent(_local4); } public function setPageViewBtnVisibility(_arg1:Number):void{ var _local2:Boolean = ((_arg1)<=0) ? false : true; if (!_local2){ _single.visible = false; _facing.visible = false; if (_BtnBase != null){ _BtnBase.visible = false; }; return; }; if (((Config.SET_DEFAULT_PAGES_COUNT) && ((_arg1 == 2)))){ _single.setState(CustomButton.STATE_NORMAL); _facing.setState(CustomButton.STATE_DISABLED); } else { _single.setState(CustomButton.STATE_DISABLED); _facing.setState(CustomButton.STATE_NORMAL); }; _single.visible = Config.BUTTON_SINGLE_PAGE; _facing.visible = Config.BUTTON_DOUBLE_PAGE; if (_BtnBase != null){ _BtnBase.visible = true; }; } private function onVideo(_arg1:MouseEvent):void{ onLaunchActivity(_video); } public function set blnSwitchVolume(_arg1:Boolean):void{ _blnSwitchVolume = _arg1; } private function setBreadCrumb(_arg1:Number):void{ var _local2:MovieClip; if (Config.BREADCRUMB){ _local2 = (getChildByName("mcBCContainer") as MovieClip); _objBreadCrumb = BreadCrumbPanel.getclassObject(_local2); _objBreadCrumb.setBreadCrumb(_arg1); }; } private function onToggleToolbar(_arg1:MouseEvent):void{ var _local2:int; var _local3:int; _blnToolbarAtTop = !(_blnToolbarAtTop); if (_blnToolbarAtTop){ _local2 = 0; while (_local2 < _arrTopPosHolder.length) { _arrTopPosHolder[_local2].item.x = _arrTopPosHolder[_local2].x; _arrTopPosHolder[_local2].item.y = _arrTopPosHolder[_local2].y; if (_arrTopPosHolder[_local2].visible != null){ _arrTopPosHolder[_local2].item.visible = true; }; _local2++; }; AccessibilityManager.instance.objTabHandler.shiftTabOrder(AccessibilityConstants.TOOLS1_BAR, 1); _toggleToolbar.setState(CustomButton.STATE_NORMAL); } else { _local2 = 0; while (_local2 < _arrTopPosHolder.length) { _local3 = 0; while (_local3 < Config.TOOLBAR_VARIABLE_POSITION.length) { if (_arrTopPosHolder[_local2].item_name == Config.TOOLBAR_VARIABLE_POSITION[_local3].item_name){ _arrTopPosHolder[_local2].item.x = Config.TOOLBAR_VARIABLE_POSITION[_local3].x; _arrTopPosHolder[_local2].item.y = Config.TOOLBAR_VARIABLE_POSITION[_local3].y; _arrTopPosHolder[_local2].visible = Config.TOOLBAR_VARIABLE_POSITION[_local3].visible; if (_arrTopPosHolder[_local2].visible != null){ _arrTopPosHolder[_local2].item.visible = Config.TOOLBAR_VARIABLE_POSITION[_local3].visible; }; break; }; _local3++; }; _local2++; }; AccessibilityManager.instance.objTabHandler.shiftTabOrder(AccessibilityConstants.TOOLS1_BAR, 5); _toggleToolbar.setState(CustomButton.STATE_SELECTED); }; } public function getObjectInstance(_arg1:String):Object{ return (getAccessibleObject(_arg1)); } private function onComprehension(_arg1:MouseEvent):void{ onLaunchActivity(_comprehension); } public function disableVolumeButton(_arg1:String):void{ var _local4:CustomButton; var _local2:int = _arrBookVolumeBtn.length; var _local3:int; while (_local3 < _local2) { _local4 = _arrBookVolumeBtn[_local3]; if (_arg1 == _local4.__id.eBookPath){ _local4.setState(CustomButton.STATE_DISABLED); _objCurVolumeBtn = _local4; break; }; _local3++; }; } private function onActualSize(_arg1:MouseEvent):void{ var _local2:Content = Controller.instance.view.content; var _local3:Model = Controller.instance.model; _local2.zoom = 1; updateZoomDisplay(); _local2.isZoomToLastAction = false; } private function restrictToolBarItems(_arg1:Boolean):void{ var _local4:Array; var _local7:DisplayObject; var _local8:TextField; var _local9:Sprite; var _local10:Number; var _local11:DisplayObject; var _local12:DisplayObject; var _local2:Sprite = (_instance as Sprite); var _local3:Array = Config.RESTRICT_TOOLBAR.arrDisabledItems; var _local5:int; while (_local5 < _local3.length) { _local7 = (getObjectInstance(_local3[_local5]) as DisplayObject); if (!_arg1){ if ((_local7 is TextField)){ _local8 = (_local7 as TextField); _arrRestrictedBtnState[_local5] = _local8.mouseEnabled; } else { _local9 = (_local7 as Sprite); _arrRestrictedBtnState[_local5] = _local9.mouseEnabled; }; setItemEnabled(_local7, _arg1); _local7.alpha = 0.7; } else { setItemEnabled(_local7, _arrRestrictedBtnState[_local5]); _local7.alpha = 1; }; _local5++; }; if (_arrExternalBtn != null){ _local10 = 0; while (_local10 < _arrExternalBtn.length) { _local11 = (_arrExternalBtn[_local10].instance as DisplayObject); if (_local11 != null){ _local11.alpha = 0.7; setItemEnabled(_local11, _arg1); if (!_arg1){ _local11.alpha = 0.7; } else { _local11.alpha = 1; }; }; _local10++; }; }; var _local6:int; while (_local6 < _arrMcHighlighter.length) { _local12 = (_arrMcHighlighter[_local6] as DisplayObject); setItemEnabled(_local12, _arg1); if (!_arg1){ _local12.alpha = 0.7; } else { _local12.alpha = 1; }; _local6++; }; } private function setEventsOnFreeHandButton():void{ DrawTool.getInstance().init(); var _local1:DisplayObject = getChildByName("mcFreeHandPen"); if (_local1 != null){ _objFreeHandPen = new CustomButton(_local1); _objFreeHandPen.__bToggle = true; _objFreeHandPen.setState(CustomButton.STATE_NORMAL); _objFreeHandPen.addEventListener(MouseEvent.CLICK, onFreeHandPenClicked); }; var _local2:DisplayObject = getChildByName("btnFreeHandHighlighter"); if (_local2 != null){ _objFreeHandHighlighter = new CustomButton(_local2); _objFreeHandHighlighter.__bToggle = true; _objFreeHandHighlighter.setState(CustomButton.STATE_NORMAL); _objFreeHandHighlighter.addEventListener(MouseEvent.CLICK, onFreeHandHighlighterClicked); }; var _local3:DisplayObject = getChildByName("btnFreeHandEraser"); if (_local3 != null){ _objFreeHandEraser = new CustomButton(_local3); _objFreeHandEraser.__bToggle = true; _objFreeHandEraser.setState(CustomButton.STATE_NORMAL); _objFreeHandEraser.addEventListener(MouseEvent.CLICK, onFreeHandEraserClicked); }; var _local4:DisplayObject = getChildByName("btnShowDrawing"); if (_local4 != null){ _objShowDrawing = new CustomButton(_local4); _objShowDrawing.__bToggle = true; _objShowDrawing.setState(CustomButton.STATE_NORMAL); _objShowDrawing.addEventListener(MouseEvent.CLICK, onShowDrawing); }; var _local5:DisplayObject = getChildByName("btnDeleteAllDrawing"); if (_local5 != null){ _objDeleteAllDrawing = new CustomButton(_local5); _objDeleteAllDrawing.setState(CustomButton.STATE_NORMAL); _objDeleteAllDrawing.addEventListener(MouseEvent.CLICK, onDeleteAllDrawing); }; } public function getAccessibleObject(_arg1:String):Object{ var _local2:Controller = Controller.instance; var _local3:Object; switch (_arg1){ case TBConsts.BTN_TOC: _local3 = _toc.instance; break; case TBConsts.BTN_PREVIOUS: _local3 = _prev.instance; break; case TBConsts.BTN_PREVIOUS2: if (_prev2){ _local3 = _prev2.instance; }; break; case TBConsts.BTN_NEXT: _local3 = _next.instance; break; case TBConsts.BTN_NEXT2: if (_next2){ _local3 = _next2.instance; }; break; case TBConsts.BTN_SINGLE: _local3 = _single.instance; break; case TBConsts.BTN_FACING: _local3 = _facing.instance; break; case TBConsts.BTN_FIT_TO_PAGE: _local3 = _fitToPage.instance; break; case TBConsts.BTN_ZOOM_IN: _local3 = _zoomIn.instance; break; case TBConsts.BTN_ZOOM_OUT: _local3 = _zoomOut.instance; break; case TBConsts.BTN_ZOOM_TO: _local3 = _objZoomTo.instance; break; case TBConsts.BTN_TOGGLE_TOOLBAR: _local3 = _toggleToolbar.instance; break; case TBConsts.BTN_VIDEO: _local3 = _video.instance; break; case TBConsts.BTN_ANIMATION: _local3 = _animation.instance; break; case TBConsts.BTN_VOCABULARY: _local3 = _vocabulary.instance; break; case TBConsts.BTN_COMPREHENSION: _local3 = _comprehension.instance; break; case TBConsts.BTN_QUIZ: _local3 = _quiz.instance; break; case TBConsts.BTN_GROUP: _local3 = _group.instance; break; case TBConsts.BTN_HELP: _local3 = _ebookHelp.instance; break; case TBConsts.BTN_PDF: _local3 = _pdf.instance; break; case TBConsts.BTN_DOC: _local3 = _doc.instance; break; case TBConsts.BTN_HTML: _local3 = _html.instance; break; case TBConsts.BTN_SEARCH_RESTORE: _local3 = _srchRestore.instance; break; case TBConsts.BTN_EDITION: _local3 = _editionButton; break; case TBConsts.BTN_EDITION_STUDENT: _local3 = _editionStudentButton.instance; break; case TBConsts.BTN_EDITION_TEACHER: _local3 = _editionTeacherButton.instance; break; case TBConsts.BTN_HIGHLIGHTER: _local3 = _highlighter.instance; break; case TBConsts.BTN_NOTES: _local3 = _notes.instance; break; case TBConsts.BTN_GRABBER: _local3 = _mcGrabber; break; case TBConsts.BTN_GLOSSARY: _local3 = _mcGlossary.instance; break; case TBConsts.BTN_SHOWHOTSPOT: _local3 = _showHotspot; break; case TBConsts.BTN_SEARCH: _local3 = _searchBtn.instance; break; case TBConsts.BTN_REWIND: _local3 = _mcPageAudioControls.btnBack; break; case TBConsts.BTN_FORWARD: _local3 = _mcPageAudioControls.btnNext; break; case TBConsts.BTN_PLAY: _local3 = _mcPageAudioControls.btnPlay; break; case TBConsts.BTN_AUDIO_SCRIPT: _local3 = _mcPageAudioControls.btnAudioScript; break; case TBConsts.TXT_PAGE: _local3 = _page; break; case TBConsts.TXT_PAGE2: if (_page2){ _local3 = _page2; }; break; case TBConsts.TXT_ZOOM: _local3 = _zoom; break; case TBConsts.TXT_EDITION_INFO: _local3 = _edition; break; case TBConsts.TXT_EDITION: _local3 = _editionText; break; case TBConsts.TXT_SEARCH: _local3 = _search; break; case TBConsts.BTN_LAST_VISITED: _local3 = _btnLastVisit.instance; break; case TBConsts.MC_BREADCRUMP: _local3 = getChildByName("mcBCContainer"); break; case TBConsts.BTN_RESOURCE_PANEL: _local3 = _btnResourcePanel.instance; break; case TBConsts.BTN_SPOTLIGHT: _local3 = _mcSpotLight.instance; break; case TBConsts.BTN_HIDE: _local3 = _objHideContent.instance; break; case TBConsts.BTN_PRINT: _local3 = _objPrint.instance; break; case TBConsts.BTN_FREEHAND_PEN: _local3 = _objFreeHandPen.instance; break; case TBConsts.BTN_PLAYLIST: _local3 = _objPlayListDropDown.dropDownControlInstance; Controller.instance.tracer(("spItem.name " + Sprite(_local3).name)); break; case TBConsts.BTN_THEME: _local3 = _objThemeListPanel.dropDownControlInstance; break; case TBConsts.BTN_FREEHAND_HIGHLIGHTER: _local3 = _objFreeHandHighlighter.instance; break; case TBConsts.BTN_FREEHAND_ERASER: _local3 = _objFreeHandEraser.instance; break; case TBConsts.BTN_FREEHAND_LINE_PANEL: _local3 = _mcLinePanel.dropDownControlInstance; break; case TBConsts.BTN_FREEHAND_HIGHLIGHTER_LINEPANEL: _local3 = _mcHighlighterLinePanel.dropDownControlInstance; break; case TBConsts.BTN_FREEHAND_ERASER_LINEPANEL: _local3 = _mcEraserLinePanel.dropDownControlInstance; break; case TBConsts.BTN_FREEHAND_PEN_COLOR: _local3 = _mcColorPanel.dropDownControlInstance; break; case TBConsts.BTN_FREEHAND_HIGHLIGHTER_COLOR: _local3 = _mcFreeHandHighlighterColor.dropDownControlInstance; break; case TBConsts.BTN_SHOW_DRAWING: _local3 = _objShowDrawing.instance; break; case TBConsts.BTN_ADD_BOOKMARK: _local3 = _objAddBookMark.instance; break; case TBConsts.BTN_SHOW_BOOKMARK: _local3 = _objShowBookMark.instance; break; case TBConsts.BTN_GLOBAL_NOTE: _local3 = _btnGlobalNotes.instance; break; case TBConsts.BTN_DELETE_ALL_DRAWING: _local3 = _objDeleteAllDrawing.instance; break; case TBConsts.BTN_FREEHAND_SHAPES: _local3 = _mcFreeHandShapePanel.dropDownControlInstance; break; case TBConsts.BTN_FREEHAND_SHAPE_COLOR: _local3 = _mcFreeHandShapeColor.dropDownControlInstance; break; case TBConsts.BTN_ADD_LINK: _local3 = _objAddLink.instance; break; default: _local3 = (getChildByName(_arg1) as Sprite); }; return (_local3); } private function onSearchTxtOut(_arg1:MouseEvent):void{ var _local2:MovieClip = (getChildByName("mcSearchTxtToolTip") as MovieClip); _local2.visible = false; } private function onEbookHelp(_arg1:MouseEvent):void{ onLaunchActivity(_ebookHelp); } public function onFreeHandHighlighterClicked(_arg1:Object=null):void{ if (_arg1 == null){ if (_bEditFreeHandHighlighterOn == true){ _bEditFreeHandHighlighterOn = false; DrawTool.getInstance().activateDrawTool(false, Constants.FREEHAND_HIGHLIGHTER_CURSOR); onEditMode(false); _objFreeHandHighlighter.setState(CustomButton.STATE_NORMAL); }; return; }; if (_arg1.currentState == CustomButton.STATE_SELECTED){ onEditMode(true, TBConsts.BTN_FREEHAND_HIGHLIGHTER); DrawTool.getInstance().activateDrawTool(true, Constants.FREEHAND_HIGHLIGHTER_CURSOR, TBConsts.BTN_FREEHAND_HIGHLIGHTER); } else { if (_arg1.currentState == CustomButton.STATE_NORMAL){ DrawTool.getInstance().activateDrawTool(false, Constants.FREEHAND_HIGHLIGHTER_CURSOR); onEditMode(false); _bEditFreeHandHighlighterOn = false; }; }; } public function onFreeHandEraserClicked(_arg1:Object=null):void{ if (_arg1 == null){ if (_bEditFreeHandEraserOn == true){ _bEditFreeHandEraserOn = false; DrawTool.getInstance().activateDrawTool(false, Constants.FREEHAND_ERASER_CURSOR); onEditMode(false); _objFreeHandEraser.setState(CustomButton.STATE_NORMAL); }; return; }; if (_arg1.currentState == CustomButton.STATE_SELECTED){ onEditMode(true, TBConsts.BTN_FREEHAND_ERASER); DrawTool.getInstance().activateDrawTool(true, Constants.FREEHAND_ERASER_CURSOR, TBConsts.BTN_FREEHAND_ERASER); } else { DrawTool.getInstance().activateDrawTool(false, Constants.FREEHAND_ERASER_CURSOR); onEditMode(false); _bEditFreeHandEraserOn = false; }; } private function onHtml(_arg1:MouseEvent):void{ onLaunchActivity(_html); } public function onSpotLight(_arg1:MouseEvent):void{ _bSpotLightOn = !(_bSpotLightOn); if (_bSpotLightOn == true){ _mcSpotLight.setState(CustomButton.STATE_SELECTED); SpotLight.getInstance().createSpotLight(); } else { _mcSpotLight.setState(CustomButton.STATE_NORMAL); SpotLight.getInstance().removeSpotLight(); }; } public function get isEditPenBtnOn():Boolean{ return (_blnEditPenBtnOn); } private function onRestoreSearch(_arg1:MouseEvent):void{ var _local2:Controller = Controller.instance; _local2.view.search.restoreSearch(); _srchRestore.visible = false; } public function getObject(_arg1:String):Object{ var _local2:Controller = Controller.instance; var _local3:Object; switch (_arg1){ case TBConsts.BTN_TOC: _local3 = _toc; break; case TBConsts.BTN_PREVIOUS: _local3 = _prev; break; case TBConsts.BTN_PREVIOUS2: if (_prev2){ _local3 = _prev2; }; break; case TBConsts.BTN_NEXT: _local3 = _next; break; case TBConsts.BTN_NEXT2: if (_next2){ _local3 = _next2; }; break; case TBConsts.BTN_SINGLE: _local3 = _single; break; case TBConsts.BTN_FACING: _local3 = _facing; break; case TBConsts.BTN_FIT_TO_PAGE: _local3 = _fitToPage; break; case TBConsts.BTN_ACTUAL_SIZE: _local3 = _actualSize; break; case TBConsts.BTN_ZOOM_IN: _local3 = _zoomIn; break; case TBConsts.BTN_ZOOM_OUT: _local3 = _zoomOut; break; case TBConsts.BTN_ZOOM_TO: _local3 = _objZoomTo; break; case TBConsts.BTN_TOGGLE_TOOLBAR: _local3 = _toggleToolbar; break; case TBConsts.BTN_VIDEO: _local3 = _video; break; case TBConsts.BTN_ANIMATION: _local3 = _animation; break; case TBConsts.BTN_VOCABULARY: _local3 = _vocabulary; break; case TBConsts.BTN_COMPREHENSION: _local3 = _comprehension; break; case TBConsts.BTN_QUIZ: _local3 = _quiz; break; case TBConsts.BTN_GROUP: _local3 = _group.instance; break; case TBConsts.BTN_HELP: _local3 = _ebookHelp; break; case TBConsts.BTN_PDF: _local3 = _pdf; break; case TBConsts.BTN_DOC: _local3 = _doc; break; case TBConsts.BTN_HTML: _local3 = _html; break; case TBConsts.BTN_SEARCH_RESTORE: _local3 = _srchRestore; break; case TBConsts.BTN_EDITION: _local3 = _editionButton; break; case TBConsts.BTN_EDITION_STUDENT: _local3 = _editionStudentButton; break; case TBConsts.BTN_EDITION_TEACHER: _local3 = _editionTeacherButton; break; case TBConsts.BTN_HIGHLIGHTER: _local3 = _highlighter; break; case TBConsts.BTN_NOTES: _local3 = _notes; break; case TBConsts.BTN_FREEHAND_PEN: _local3 = _objFreeHandPen; break; case TBConsts.BTN_GRABBER: _local3 = _mcGrabber; break; case TBConsts.BTN_FREEHAND_HIGHLIGHTER: _local3 = _objFreeHandHighlighter; break; case TBConsts.BTN_FREEHAND_ERASER: _local3 = _objFreeHandEraser; break; case TBConsts.BTN_GLOSSARY: _local3 = _mcGlossary; break; case TBConsts.BTN_SHOWHOTSPOT: _local3 = _showHotspot; break; case TBConsts.BTN_SEARCH: _local3 = _searchBtn; break; case TBConsts.BTN_LAST_VISITED: _local3 = _btnLastVisit; break; case TBConsts.BTN_RESOURCE_PANEL: _local3 = _btnResourcePanel; break; case TBConsts.BTN_SPOTLIGHT: _local3 = _mcSpotLight; break; case TBConsts.BTN_HIDE: _local3 = _objHideContent; break; case TBConsts.BTN_PRINT: _local3 = _objPrint; break; case TBConsts.BTN_THEME: _local3 = _objThemeListPanel.dropDownControlInstance; break; case TBConsts.BTN_ADD_BOOKMARK: _local3 = _objAddBookMark; break; case TBConsts.BTN_SHOW_BOOKMARK: _local3 = _objShowBookMark; break; case TBConsts.BTN_GLOBAL_NOTE: _local3 = _btnGlobalNotes; break; case TBConsts.BTN_DELETE_ALL_DRAWING: _local3 = _objDeleteAllDrawing; break; case TBConsts.BTN_FREEHAND_SHAPES: _local3 = _mcFreeHandShapePanel.dropDownControlInstance; break; case TBConsts.BTN_SHOW_DRAWING: _local3 = _objShowDrawing; break; case TBConsts.BTN_ADD_LINK: _local3 = _objAddLink; break; default: _local3 = (getChildByName(_arg1) as Sprite); }; return (_local3); } public function registerBookVolumeButtons():void{ var _local4:int; var _local5:DisplayObject; var _local6:CustomButton; var _local1:ConfigManager = Controller.instance.model.configManager; var _local2:Array = _local1.bookVolumes; Controller.instance.tracer(("registerBookVolumeButtons called arrBookVolumes " + _local2)); if (_local2 == null){ return; }; var _local3:Number = _local2.length; if (_local3 > 0){ _arrBookVolumeBtn = new Array(); _local4 = 0; while (_local4 < _local3) { _local5 = getChildByName(_local2[_local4].btnInstance); if (_local5 != null){ _local6 = new CustomButton(_local5); _local6.__id = _local2[_local4]; _local6.setState(CustomButton.STATE_NORMAL); _local6.addEventListener(MouseEvent.CLICK, onBookVolume); _arrBookVolumeBtn.push(_local6); }; _local4++; }; }; } public function enableToolBarItems(_arg1:Boolean, _arg2:String=null):void{ var _local3:MovieClip; if (((!((Config.RESTRICT_TOOLBAR == null))) && ((Config.RESTRICT_TOOLBAR.popup_item == _arg2)))){ if (Config.RESTRICT_TOOLBAR.arrDisabledItems != null){ if (Config.RESTRICT_TOOLBAR.arrDisabledItems[0] == TBConsts.ALL_BTN){ setEnabled(_arg1); return; }; restrictToolBarItems(_arg1); }; } else { _local3 = Controller.instance.view.getFadedBgReference; if (_local3 != null){ _local3.visible = !(_local3.visible); }; setEnabled(_arg1); }; } public function exitEbook():void{ var _local1:Controller = Controller.instance; if (_local1.model.existingDataObj.getExternalListener() != null){ closeWindow(); _local1.model.existingDataObj.getExternalListener().closeWindow(); } else { ExternalInterface.addCallback("closeWindow", closeWindow); if (ExternalInterface.available){ ExternalInterface.call("close_window"); }; }; } private function initResourcePanelButtonStates():void{ var _local1:Array; var _local2:uint; var _local3:uint; var _local4:String; _local1 = Controller.instance.view.advanceResourcePanels; _local2 = Controller.instance.view.advanceResourcePanels.length; if (_local2 > 0){ _local3 = 0; while (_local3 < _local2) { _local4 = (_local1[_local3].exist) ? CustomButton.STATE_NORMAL : CustomButton.STATE_DISABLED; if (_arrAdvanceResourcePanelBtn[_local3] != null){ _arrAdvanceResourcePanelBtn[_local3].setState(_local4); }; _local3++; }; }; } private function displayLinkIndex(_arg1:MouseEvent):void{ var _local2:Controller = Controller.instance; _local2.view.resourcePanel.show(true); } private function toggleFullScreen(_arg1:CustomButton=null):void{ var _local2:Boolean; if (_arg1 == null){ _objFullScreen.setState(CustomButton.STATE_NORMAL); return; }; _local2 = ((_arg1.currentState)==CustomButton.STATE_SELECTED) ? true : false; Controller.instance.view.getFullScreenHandler().onToggleFullScreen(_local2); } public function onFreeHandShapeClicked(_arg1:Boolean):void{ if (_arg1 == false){ if (_bEditFreeHandShapeOn == true){ _bEditFreeHandShapeOn = false; DrawTool.getInstance().activateDrawTool(false, Constants.FREEHAND_SHAPE_CURSOR); onEditMode(false); _mcFreeHandShapePanel.setDropDownState(CustomButton.STATE_NORMAL); }; return; } else { _mcFreeHandShapePanel.setDropDownState(CustomButton.STATE_SELECTED); onEditMode(true, TBConsts.BTN_FREEHAND_SHAPES); DrawTool.getInstance().activateDrawTool(true, Constants.FREEHAND_SHAPE_CURSOR, TBConsts.BTN_FREEHAND_SHAPES); }; } public function onCloseSearch():void{ _search.text = _strDefaultSearchText; _lastStringForSearch = ""; _search.scrollH = 0; } private function onPageViewChange(_arg1:uint):void{ var _local2:Object; if (_arg1 == 1){ if (((!((Config.PAGE_VIEW_DATA.SINGLE_PAGE_VIEW == null))) && (!((Config.PAGE_VIEW_DATA.SINGLE_PAGE_VIEW.zoomTo == null))))){ _local2 = getAccessibleObject(Config.PAGE_VIEW_DATA.SINGLE_PAGE_VIEW.zoomTo); }; } else { if (((!((Config.PAGE_VIEW_DATA.DOUBLE_PAGE_VIEW == null))) && (!((Config.PAGE_VIEW_DATA.DOUBLE_PAGE_VIEW.zoomTo == null))))){ _local2 = getAccessibleObject(Config.PAGE_VIEW_DATA.DOUBLE_PAGE_VIEW.zoomTo); }; }; if (_local2 != null){ _local2.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); }; } public function get pageAudioControls():MovieClip{ return (_mcPageAudioControls); } public function activatePrintControl():void{ _objPrint.setState(CustomButton.STATE_NORMAL); } private function onPdf(_arg1:MouseEvent):void{ onLaunchActivity(_pdf); } private function onFacing(_arg1:MouseEvent):void{ if (Config.PAGE_VIEW_DATA != null){ onPageViewChange(2); }; onSwitchPageCount(true); Controller.instance.view.content.pageCount = 2; _single.setState(CustomButton.STATE_NORMAL); _facing.setState(CustomButton.STATE_DISABLED); } private function activateGrabbing():void{ Controller.instance.tracer("activateGrabbing"); Grabber.instance.startProcess(); } private function disableAllActivityButtons():void{ var _local1:CustomButton; var _local2:int; while (_local2 < _arrActivity.length) { switch (_arrActivity[_local2]){ case "video": _local1 = _video; break; case "animation": _local1 = _animation; break; case "vocabulary_activity": _local1 = _vocabulary; break; case "comprehension_activity": _local1 = _comprehension; break; case "quick_quiz": _local1 = _quiz; break; case "group_activity": _local1 = _group; break; case "help": _local1 = _ebookHelp; break; case "html_document": _local1 = _html; break; case "doc_document": _local1 = _doc; break; case "pdf_document": _local1 = _pdf; break; case "resource_panel": _local1 = _btnResourcePanel; break; }; _local1.setState(CustomButton.STATE_DISABLED); _local2++; }; } public function isPageCountSwitched():Boolean{ return (_bSwitchPageCount); } public function playAnimation(_arg1:Boolean):void{ _next.playAnimation(_arg1); _prev.playAnimation(_arg1); } public function onBookVolume(_arg1):void{ _blnSwitchVolume = true; var _local2:int = _arrBookVolumeBtn.length; var _local3:int; while (_local3 < _local2) { _arrBookVolumeBtn[_local3].setState(CustomButton.STATE_NORMAL); _local3++; }; _arg1.setState(CustomButton.STATE_DISABLED); _objCurVolumeBtn = _arg1; var _local4:Object = _arg1.__id; var _local5:Model = Controller.instance.model; Controller.instance.tracer(("objModel.strPreviousEbook: " + _local5.strPreviousEbook)); if (_local5.strPreviousEbook == null){ _local5.strPreviousEbook = Controller.instance.activatedBookPath; }; Controller.instance.tracer(("objVolumeInfo.eBookPath: " + _local4.eBookPath)); Controller.instance.loadEbook(_local4.eBookPath, _local4.defaultPage); } private function saveUserData(_arg1:CustomButton):void{ UserDataHandler.getInstance().saveXML(); } public function setButtonState(_arg1:String, _arg2:Boolean):void{ var _local3:CustomButton = (getObject(_arg1) as CustomButton); var _local4:String = ((_arg2)==false) ? CustomButton.STATE_SELECTED : CustomButton.STATE_NORMAL; if (_local3 != null){ _local3.setState(_local4); }; } public function registerExternalListenerButtons():void{ var _local2:int; var _local3:CustomButton; if (Config.ARR_EXTERNAL_INTERFACE_BTN == null){ return; }; var _local1:Number = Config.ARR_EXTERNAL_INTERFACE_BTN.length; if (_local1 > 0){ _arrExternalBtn = new Array(); _local2 = 0; while (_local2 < _local1) { _local3 = new CustomButton(getChildByName(Config.ARR_EXTERNAL_INTERFACE_BTN[_local2])); if (_local3 != null){ _local3.instance.addEventListener(MouseEvent.CLICK, onExternalItem, false, 0, true); _arrExternalBtn.push(_local3); }; _local2++; }; }; } public function get editMode():String{ return (_strActiveTool); } public function trimString(_arg1:String):String{ var _local2:String = String(_arg1); while (_local2.charAt((_local2.length - 1)) == " ") { _local2 = _local2.substring(0, (_local2.length - 1)); }; while (_local2.charAt(0) == " ") { _local2 = _local2.substring(1, _local2.length); }; return (_local2); } public function get maintainVolumeDisplayStatus():Boolean{ var _local1:int = _arrBookVolumeBtn.length; return (_objCurVolumeBtn.__id.maintainDisplayStatus); } private function onDoc(_arg1:MouseEvent):void{ onLaunchActivity(_doc); } public function disableNotesBtn():void{ var _local1:Controller = Controller.instance; _blnEditNotesBtnOn = false; _notes.setState(CustomButton.STATE_NORMAL); _local1.view.content.disableDrawNotes(); } private function maintainFeatures(_arg1:Boolean):void{ var _local2:ConfigManager; var _local3:Array; var _local4:int; if (Config.MAINTAIN_DISPLAY_STATUS){ _local2 = Controller.instance.model.configManager; _local3 = Config.ADDITIONAL_TOOLBAR_FEATURES; if (_local3 != null){ _local4 = 0; while (_local4 < _local3.length) { switch (_local3[_local4].item){ case TBConsts.PAGE_AUDIO_CONTROLLER: _local2.page_Audio_Controller = (_arg1) ? _local3[_local4].blnAvailable : Config.PAGE_AUDIO_CONTROLLER; break; }; _local4++; }; }; }; } public function onToc(_arg1:Object=null):void{ var _local3:Number; var _local2:Controller = Controller.instance; if (Config.USE_EXTERNAL_TABLE_OF_CONTENT){ if (Config.USE_ADVANCE_EXTERNAL_TOC){ _local2.view.advanceExternalTOC.visible = !(_local2.view.advanceExternalTOC.visible); if (_local2.view.advanceExternalTOC.visible){ _local2.view.advanceExternalTOC.drawMenuItem(); }; } else { _local2.view.tableOfContent.visible = !(_local2.view.tableOfContent.visible); _local2.view.tableOfContent.arrangeItems(TableOfContent.START_UP_ITEMS); }; } else { _local3 = _local2.model.findRootSectionStart(Config.TABLE_OF_CONTENT_TEXT); if (_local3 > 0){ _local2.loadPage(_local3); }; }; } public function enableLastVisitBtn():void{ if (_btnLastVisit != null){ _btnLastVisit.setState(CustomButton.STATE_NORMAL); }; } public function get blnSwitchVolume():Boolean{ return (_blnSwitchVolume); } private function onSearchChange(_arg1:KeyboardEvent):void{ var _local2:Controller = Controller.instance; _lastStringForSearch = _arg1.target.text; if (_arg1.keyCode == Keyboard.ENTER){ if (_arg1.target.text != ""){ _local2.search(_search.text); _srchRestore.visible = false; } else { _local2.view.search.onBlankSearch(); _search.stage.focus = null; }; if (Config.USE_EXTERNAL_TABLE_OF_CONTENT){ _local2.view.tableOfContent.visible = false; }; onSearchResult(); }; } private function setObjectsFloatingState():void{ var _local1:uint; var _local2:Array; var _local3:uint; var _local4:AudioController; if (Config.PAGE_AUDIO_CONTROLLER){ if (Config.FLOATING_ELEMENTS != null){ _local1 = Config.FLOATING_ELEMENTS.length; _local2 = Config.FLOATING_ELEMENTS; _local3 = 0; while (_local3 < _local1) { if (_local2[_local3].item_name == TBConsts.PAGE_AUDIO_CONTROLLER){ _local4 = Controller.instance.pageAudioController; _local4.setAudioControllerFloating(); break; }; _local3++; }; }; }; } private function onShowDrawing(_arg1:CustomButton):void{ var _local2:Boolean = ((_arg1.currentState)==CustomButton.STATE_SELECTED) ? false : true; DrawTool.getInstance().showAllDrawing(_local2); deActivateFreehandTool(); } private function onSearchTextChange(_arg1:Event):void{ if (_arg1.target.text != ""){ if (!_searchBtn.getEnabled()){ _searchBtn.setEnabled(true); _searchBtn.setState(CustomButton.STATE_NORMAL); }; } else { if (_searchBtn.getEnabled()){ _searchBtn.setEnabled(false); _searchBtn.setState(CustomButton.STATE_DISABLED); }; }; } public function get searchTextField():Object{ return ((_search as Object)); } public function enablePlaylistDropDownMenuItem(_arg1:String, _arg2:Boolean):void{ _objPlayListDropDown.enableMenuItem(_arg1, _arg2); } private function setGlobalButtonLabel(_arg1:String, _arg2:String):void{ var _local3:Sprite; var _local4:TextField; var _local5:uint; var _local6:uint; var _local7:TextFormat; var _local8:Object; var _local9:String; _local3 = (getChildByName(_arg1) as Sprite); if (_local3 != null){ _local4 = (_local3.getChildByName("txtLabel") as TextField); if (((!((_local4 == null))) && (!((_arg2 == null))))){ _local4.mouseEnabled = false; if (((!((Config.GLOBAL_BUTTONS_DATA == null))) && (!((Config.GLOBAL_BUTTONS_DATA.textFormat == null))))){ _local7 = _local4.defaultTextFormat; _local8 = Config.GLOBAL_BUTTONS_DATA.textFormat; for (_local9 in _local8) { _local7[_local9] = _local8[_local9]; }; _local4.defaultTextFormat = _local7; }; _local4.text = _arg2; }; _local5 = Config.GLOBAL_BUTTONS_DATA.buttons.length; _local6 = 0; while (_local6 < _local5) { if (Config.GLOBAL_BUTTONS_DATA.buttons[_local6].name == _arg1){ _local3.visible = ((Config.GLOBAL_BUTTONS_DATA.buttons[_local6].visibility)==null) ? true : Config.GLOBAL_BUTTONS_DATA.buttons[_local6].visibility; break; }; _local6++; }; }; } public function onSwitchPageCount(_arg1:Boolean):void{ _bSwitchPageCount = _arg1; } private function onShowBookMark(_arg1:MouseEvent):void{ _objShowBookMark.setState(CustomButton.STATE_SELECTED); var _local2:MainView = Controller.instance.view; _local2.bookMark.displaySearchResults(_arrBookMark); _local2.toolbar.update(); _local2.progressBar.visible = false; _local2.setEnabled(true); _local2.content.visible = true; if (Config.ACCESSIBILITY){ _local2.instance.stage.focus = null; Controller.instance.initilizeAccesibility(AccessibilityConstants.SEARCH_POPUP); }; } private function onSingle(_arg1:MouseEvent):void{ if (Config.PAGE_VIEW_DATA != null){ onPageViewChange(1); }; onSwitchPageCount(true); Controller.instance.view.content.pageCount = 1; _single.setState(CustomButton.STATE_DISABLED); _facing.setState(CustomButton.STATE_NORMAL); } private function onZoomIn(_arg1:MouseEvent):void{ var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local2:Content = Controller.instance.view.content; var _local3:String = Controller.instance.model.edition; var _local4:ConfigManager = Controller.instance.model.configManager; if (Config.ZOOM_ACCORDING_TO_PAGESCALE_DEFAULT){ _local5 = (_local4.pageMaxZoom / 100); _local6 = (_local4.pageMinZoom / 100); _local7 = (_local4.pageZoomAmount / 100); if (_local3 == "teacher"){ _local8 = _local4.pageScaleTE; } else { _local8 = _local4.pageScaleSE; }; if (_local2.zoom < _local5){ _local2.isZoomToLastAction = false; if (_local2.zoom == _local6){ _local2.zoom = _local8; } else { if (_local2.zoom == _local8){ _local2.zoom = (_local6 + _local7); } else { _local2.zoom = (_local2.zoom + _local7); }; }; updateZoomDisplay(); }; } else { if (_local2.zoom < _iZoomMax){ _local9 = (_local2.zoom + _iZoomAmount); if (_local9.toFixed(4) >= _iZoomMax.toFixed(4)){ _local9 = _iZoomMax; }; _local2.zoom = _local9; _local2.zoom = (Math.round((_local2.zoom * 10000)) / 10000); updateZoomDisplay(); }; }; Controller.instance.initilizeAccesibility(AccessibilityConstants.CONTENT1_PAGEITEM); Controller.instance.initilizeAccesibility(AccessibilityConstants.CONTENT2_PAGEITEM); Controller.instance.restoreTabbing(); } private function onFullScreen(_arg1:CustomEvent):void{ if (_arg1.data.bFullScreen == false){ toggleFullScreen(null); }; } private function onZoomTextFocusOut(_arg1:FocusEvent):void{ var _local2:TextField = (_arg1.target as TextField); _local2.text = _strZoomAmount; } private function externalMouseEvent(_arg1:Number):void{ scrollContent(_arg1); } private function hideGrabber():void{ _mcGrabber.setState(CustomButton.STATE_NORMAL); Grabber.instance.stopProcess(); } private function onZoomTextChange(_arg1:KeyboardEvent):void{ var _local2:Controller; var _local3:ConfigManager; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:String; var _local8:Number; var _local9:Content; if (_arg1.keyCode == Keyboard.ENTER){ _local2 = Controller.instance; _local3 = _local2.model.configManager; _local4 = _local3.pageMaxZoom; _local5 = _local3.pageMinZoom; _local6 = Number(_arg1.target.text.split("%")[0]); if ((((_local6 <= _local4)) && ((_local6 >= _local5)))){ _local7 = _local2.model.edition; _local8 = ((_local7)=="teacher") ? _local3.pageScaleTE : _local3.pageScaleSE; _strZoomAmount = (String(_local6) + "%"); _local6 = (Config.ZOOM_ACCORDING_TO_PAGESCALE_DEFAULT) ? (_local6 / 100) : (_local8 * (_local6 / 100)); _local9 = _local2.view.content; _local9.zoom = _local6; updateZoomDisplay(); }; _arg1.target.stage.focus = null; }; } public function get isEditFreeHandHighlighterOn():Boolean{ return (_bEditFreeHandHighlighterOn); } public function getDefaultPage(_arg1:String):String{ var _local5:Object; var _local2:int = _arrBookVolumeBtn.length; var _local3:String; var _local4:int; while (_local4 < _local2) { _local5 = _arrBookVolumeBtn[_local4].__id; if (_arg1 == _local5.eBookPath){ _local3 = _local5.defaultPage; }; _local4++; }; return (_local3); } public function updateButtonStates(_arg1:Array, _arg2:Array):void{ Controller.instance.tracer("updateButtonStates called"); var _local3:Boolean; var _local4:Model = Controller.instance.model; Controller.instance.tracer("updateButtonStates called"); Controller.instance.tracer(("objModel.isNavigationByPlaylist() " + _local4.isNavigationByPlaylist())); if (_local4.isNavigationByPlaylist()){ Controller.instance.tracer("updating button state as per playlist"); if (_local4.userPlaylist.isPrevPageExist(_local4.curPageIndxInSection, Config.LOOPING_NAVIGATION)){ _prev.setState(CustomButton.STATE_NORMAL); if (_prev2){ _prev2.setState(CustomButton.STATE_NORMAL); }; } else { if (!Config.LOOPING_NAVIGATION){ _prev.setState(CustomButton.STATE_DISABLED); }; if (_prev2){ _prev2.setState(CustomButton.STATE_DISABLED); }; }; if (_local4.userPlaylist.isNextPageExist(_local4.curPageIndxInSection, Config.LOOPING_NAVIGATION)){ _next.setState(CustomButton.STATE_NORMAL); if (_next2){ _next2.setState(CustomButton.STATE_NORMAL); }; } else { if (!Config.LOOPING_NAVIGATION){ _next.setState(CustomButton.STATE_DISABLED); }; if (_next2){ _next2.setState(CustomButton.STATE_DISABLED); }; }; } else { Controller.instance.tracer("updating button state as per book"); if (_arg2[0] <= 1){ if (!Config.LOOPING_NAVIGATION){ _prev.setState(CustomButton.STATE_DISABLED); }; if (_prev2){ _prev2.setState(CustomButton.STATE_DISABLED); }; } else { _prev.setState(CustomButton.STATE_NORMAL); if (_prev2){ _prev2.setState(CustomButton.STATE_NORMAL); }; }; if (_arg2[(_arg2.length - 1)] >= _arg1.length){ if (!Config.LOOPING_NAVIGATION){ _next.setState(CustomButton.STATE_DISABLED); }; if (_next2){ _next2.setState(CustomButton.STATE_DISABLED); }; } else { _next.setState(CustomButton.STATE_NORMAL); if (_next2){ _next2.setState(CustomButton.STATE_NORMAL); }; }; }; } public function deactivateZoomTo():void{ _objZoomTo.setState(CustomButton.STATE_NORMAL); Controller.instance.view.content.activateZoomTo(false); Mouse.show(); } private function onDeleteAllDrawing(_arg1:CustomButton):void{ DrawTool.getInstance().deleteAllDrawing(); deActivateFreehandTool(); } private function onTextSelection(_arg1:MouseEvent):void{ var _local2:String = _btnTextSelection.currentState; if (_local2 == CustomButton.STATE_NORMAL){ _btnTextSelection.setState(CustomButton.STATE_SELECTED); } else { if (_local2 == CustomButton.STATE_SELECTED){ _btnTextSelection.setState(CustomButton.STATE_NORMAL); }; }; setTextSelectionState(); } public function get isEditFreeHandShapeOn():Boolean{ return (_bEditFreeHandShapeOn); } private function onPageNumLostFocus(_arg1:FocusEvent):void{ var _local2:TextField; if (_blnPageTextFocus){ _local2 = (_arg1.target as TextField); _local2.scrollH = 0; _local2.text = _strPageNavigationText; }; } private function onVisitLast(_arg1:MouseEvent):void{ var _local2:Controller = Controller.instance; var _local3:Model = _local2.model; _local2.loadLastVisitPage(); } private function onPageNumGotFocus(_arg1:FocusEvent):void{ var _local2:TextField = (_arg1.target as TextField); _strPageNavigationText = _local2.text; _local2.text = ""; var _local3:MovieClip = (getChildByName("mcPageTxtToolTip") as MovieClip); if (_local3 != null){ _local3.visible = false; }; } private function displayDockableIcons(_arg1:Boolean, _arg2:String):void{ var _local3:int; var _local4:* = null; if (Config.DOCKABLE_ICONS[_arg2] != null){ _local3 = 0; while (_local3 < Config.DOCKABLE_ICONS[_arg2].length) { _local4 = getObject(Config.DOCKABLE_ICONS[_arg2][_local3]); if (_local4 == null){ _local4 = getChildByName(Config.DOCKABLE_ICONS[_arg2][_local3]); }; if (_local4 != null){ _local4.visible = _arg1; }; _local3++; }; }; } private function setUpHilightColorBtn(_arg1:HighlightHandler):void{ var _local3:uint; var _local4:MovieClip; var _local5:CustomButton; var _local6:String; var _local7:Array; var _local8:uint; var _local2:Array = new Array(); _local2 = Config.HILIGHT_COLOR; if (_local2 != null){ _local3 = Config.HILIGHT_COLOR.length; _local7 = new Array(); _arrMcHighlighter = new Array(); _local8 = 0; while (_local8 < _local3) { _local6 = ("mcHilightColor_" + _local8); if (getChildByName(_local6) != null){ _bHilightColorsAvailable = true; _local4 = (getChildByName(_local6) as MovieClip); _local5 = new CustomButton(_local4); _local7.push(_local5); _local5.setState(CustomButton.STATE_NORMAL); _local4.buttonMode = true; _arrMcHighlighter.push(_local4); } else { break; }; if (_local4.name == "mcHilightColor_0"){ _local5.setState(CustomButton.STATE_SELECTED); }; _local8++; }; if (_bHilightColorsAvailable){ _arg1.setHilightBtnEvent(_local7); _bHilightColorsAvailable = false; }; }; } private function getGlobalNotesData():Array{ var _local6:Boolean; var _local1:Array = new Array(); var _local2:Object = new Object(); var _local3:Array = GlobalNotesPageList.getInstance().pageListArr; var _local4:uint = GlobalNotesPageList.getInstance().pageListArr.length; var _local5:uint; while (_local5 < _local4) { _local2 = new Object(); _local2.arrNotesInfo = [{id:_local3[_local5].id, txt:_local3[_local5].text}]; if (Config.DRAW != null){ _local6 = DrawTool.getInstance().globalNotesVisible; DrawTool.getInstance().saveShapes(_local3[_local5].drawingCanvas, _local3[_local5].id, Constants.GLOBAL_NOTES, _local3[_local5].width, _local3[_local5].height); _local2.arrFreehandShapesInfo = DrawTool.getInstance().getFreehandShapesInfo(_local3[_local5].id, Constants.GLOBAL_NOTES); _local2.arrFreehandShapesInfo[0].width = _local3[_local5].width; _local2.arrFreehandShapesInfo[0].height = _local3[_local5].height; _local2.arrFreehandShapesInfo[0].visible = _local6; }; _local1.push({objData:_local2, pageNum:_local3[_local5].id}); _local5++; }; return (_local1); } private function onPlayListDropDownMenuItem(_arg1:String=null, _arg2:Boolean=false):void{ Controller.instance.view.onPlayListMenuItem(_arg1, _arg2); _objPlayListDropDown.setDropDownControlState(_arg1); } public function onShowGlobalNotesPage():void{ if (Config.DRAW != null){ DrawTool.getInstance().onShowGlobalNotesPage(); }; } private function onSearchResult():void{ if (((!((_search.text == _strDefaultSearchText))) && (!((_search.text == ""))))){ Controller.instance.view.search.setSearchWord(_search.text); }; if (((!((Config.SEARCH_DATA == null))) && (Config.SEARCH_DATA.isDefaultStateDisable))){ if (_searchBtn.getEnabled()){ _searchBtn.setEnabled(false); _searchBtn.setState(CustomButton.STATE_DISABLED); }; }; } private function enableActivityButton(_arg1:String, _arg2:Boolean):void{ var _local3:CustomButton; var _local4:Sprite; var _local5:Boolean; switch (_arg1){ case "video": _local3 = _video; break; case "animation": _local3 = _animation; break; case "vocabulary_activity": _local3 = _vocabulary; break; case "comprehension_activity": _local3 = _comprehension; break; case "quick_quiz": _local3 = _quiz; break; case "group_activity": _local3 = _group; break; case "help": _local3 = _ebookHelp; break; case "html_document": _local3 = _html; break; case "doc_document": _local3 = _doc; break; case "pdf_document": _local3 = _pdf; break; }; if (_arg2){ _local3.setState(CustomButton.STATE_NORMAL); }; } private function onZoomOut(_arg1:MouseEvent):void{ var _local7:Number; var _local8:Number; var _local9:Number; var _local2:Content = Controller.instance.view.content; var _local3:String = Controller.instance.model.edition; var _local4:ConfigManager = Controller.instance.model.configManager; var _local5:Number = (_local4.pageMaxZoom / 100); var _local6:Number = (_local4.pageZoomAmount / 100); if (((_local2.isZoomToLastAction) && ((_local2.zoom > _local5)))){ _local2.zoom = _local5; updateZoomDisplay(); _local2.isZoomToLastAction = false; return; }; if (Config.ZOOM_ACCORDING_TO_PAGESCALE_DEFAULT){ _local7 = (_local4.pageMinZoom / 100); if (_local3 == "teacher"){ _local8 = _local4.pageScaleTE; } else { _local8 = _local4.pageScaleSE; }; if (_local2.zoom > _local7){ if (_local2.zoom == (_local7 + _local6)){ _local2.zoom = _local8; } else { if (_local2.zoom == _local8){ _local2.zoom = _local7; } else { _local2.zoom = (_local2.zoom - _local6); }; }; updateZoomDisplay(); }; } else { if (_local2.zoom > _iZoomMin){ _local9 = (_local2.zoom - _iZoomAmount); if (_local9.toFixed(4) <= _iZoomMin.toFixed(4)){ _local9 = _iZoomMin; }; _local2.zoom = _local9; _local2.zoom = (Math.round((_local2.zoom * 10000)) / 10000); updateZoomDisplay(); }; }; Controller.instance.initilizeAccesibility(AccessibilityConstants.CONTENT1_PAGEITEM); Controller.instance.initilizeAccesibility(AccessibilityConstants.CONTENT2_PAGEITEM); Controller.instance.restoreTabbing(); } private function onExit(_arg1:MouseEvent):void{ if (Controller.instance.view.exitPanel == null){ exitEbook(); } else { Controller.instance.view.exitPanel.showPopUp(true); }; } private function onLaunchActivity(_arg1, _arg2:String=null):void{ var _local3:String; var _local4:String; var _local5:Boolean; var _local6:Boolean; var _local7:Object; var _local8:String; var _local9:String; var _local11:Boolean; var _local13:Page; var _local14:Object; disableToggleButtonEvents(); var _local10:Array = Controller.instance.view.content.pages; var _local12:int; while (_local12 < _local10.length) { _local13 = _local10[_local12]; switch (_arg1){ case _video: _local3 = _local13.video; _local4 = "video"; _local5 = _local13.video_popUp; _local6 = Config.CALLBACK_VIDEO; _local8 = _local13.video_windowType; _local9 = _local13.video_windowId; _local11 = _local13.currentLocation; if (_local5){ _local7 = Config.POP_VIDEO_DIMENSIONS; }; break; case _animation: _local3 = _local13.animation; _local4 = "animation"; _local5 = _local13.animation_popUp; _local6 = Config.CALLBACK_ANIMATION; _local8 = _local13.animation_windowType; _local9 = _local13.animation_windowId; _local11 = _local13.currentLocation; if (_local5){ _local7 = Config.POP_ANIMATION_DIMENSIONS; }; break; case _vocabulary: _local3 = _local13.vocabulary_activity; _local4 = "vocabulary"; _local5 = _local13.vocabulary_activity_popUp; _local6 = Config.CALLBACK_VOCABULARY; _local8 = _local13.vocabulary_activity_windowType; _local9 = _local13.vocabulary_activity_windowId; _local11 = _local13.currentLocation; if (_local5){ _local7 = Config.POP_VOCABULARY_DIMENSIONS; }; break; case _comprehension: _local3 = _local13.comprehension_activity; _local4 = "comprehension"; _local5 = _local13.comprehension_activity_popUp; _local6 = Config.CALLBACK_COMPREHENSION; _local8 = _local13.comprehension_activity_windowType; _local9 = _local13.comprehension_activity_windowId; _local11 = _local13.currentLocation; if (_local5){ _local7 = Config.POP_COMPREHENSION_DIMENSIONS; }; break; case _quiz: _local3 = _local13.quick_quiz; _local4 = "quiz"; _local5 = _local13.quick_quiz_popUp; _local6 = Config.CALLBACK_QUIZ; _local8 = _local13.quick_quiz_windowType; _local9 = _local13.quick_quiz_windowId; _local11 = _local13.currentLocation; if (_local5){ _local7 = Config.POP_QUIZ_DIMENSIONS; }; break; case _group: _local4 = "group"; _local3 = _local13.group_activity; _local5 = _local13.group_activity_popUp; _local6 = Config.CALLBACK_GROUP; _local8 = _local13.group_activity_windowType; _local9 = _local13.group_activity_windowId; _local11 = _local13.currentLocation; if (_local5){ _local7 = Config.POP_GROUP_DIMENSIONS; }; break; case _ebookHelp: _local4 = "help"; _local3 = _local13.help; _local5 = _local13.help_popUp; _local6 = Config.CALLBACK_HELP; _local8 = _local13.help_windowType; _local9 = _local13.help_windowId; _local11 = _local13.currentLocation; if (_local5){ _local7 = Config.POP_DEFAULT_DIMENSIONS; }; break; case _html: _local4 = "html"; _local3 = _local13.html_document; _local5 = _local13.html_document_popUp; _local6 = Config.CALLBACK_HTML; _local8 = _local13.html_document_windowType; _local9 = _local13.html_document_windowId; _local11 = _local13.currentLocation; if (_local5){ _local7 = Config.POP_DEFAULT_DIMENSIONS; }; break; case _doc: _local4 = "doc"; _local3 = _local13.doc_document; _local5 = _local13.doc_document_popUp; _local6 = Config.CALLBACK_DOC; _local8 = _local13.doc_document_windowType; _local9 = _local13.doc_document_windowId; _local11 = _local13.currentLocation; if (_local5){ _local7 = Config.POP_DOC_DIMENSIONS; }; break; case _pdf: _local4 = "pdf"; _local3 = _local13.pdf_document; _local5 = _local13.pdf_document_popUp; _local6 = Config.CALLBACK_PDF; _local8 = _local13.pdf_document_windowType; _local9 = _local13.pdf_document_windowId; _local11 = _local13.currentLocation; if (_local5){ _local7 = Config.POP_DEFAULT_DIMENSIONS; }; break; case "btnGlobal": _local14 = _local13.global[_arg2]; _local4 = _local14.type; _local3 = _local14.url; _local5 = _local14.global_popUp; _local8 = _local14.global_windowType; _local9 = _local14.global_windowId; _local11 = _local14.currentLocation; break; }; if (_local3){ break; }; _local12++; }; _local3 = _local3.replace(/\\/g, "/"); if (_local3){ if (_arg1 == _video){ Controller.instance.loadInternalVideo(_local3); } else { if (_local8 == "Internal"){ Controller.instance.openInternalPopup(_local3, _local9, _local8, _local4); } else { Controller.instance.loadURL(_local3, _local4, _local7, _local6, _local11); }; }; }; } private function getCurrentPageNum():Array{ var _local1:Model = Controller.instance.model; var _local2:uint = Controller.instance.view.content.pages.length; var _local3:Array = new Array(); var _local4:uint; while (_local4 < _local2) { _local3.push(Controller.instance.view.content.pages[_local4].currentPageIndex); _local4++; }; return (_local3); } public function onEbookLoad():void{ var _local1:ConfigManager = Controller.instance.model.configManager; if ((Controller.instance.model.ebook.edition == "student")){ _iZoomMin = (_local1.pageScaleSE * (_local1.pageMinZoom / 100)); _iZoomMax = (_local1.pageScaleSE * (_local1.pageMaxZoom / 100)); _iZoomAmount = (_local1.pageScaleSE * (_local1.pageZoomAmount / 100)); if (((Config.SET_DEFAULT_PAGES_COUNT) && (((!(Config.MAINTAIN_DISPLAY_STATUS)) || (!(_blnSwitchEdition)))))){ Controller.instance.view.content.pageCount = Controller.instance.model.configManager.pageCountSE; setPageViewBtnVisibility(Controller.instance.view.content.pageCount); }; } else { _iZoomMin = (_local1.pageScaleTE * (_local1.pageMinZoom / 100)); _iZoomMax = (_local1.pageScaleTE * (_local1.pageMaxZoom / 100)); _iZoomAmount = (_local1.pageScaleTE * (_local1.pageZoomAmount / 100)); if (((Config.SET_DEFAULT_PAGES_COUNT) && (((!(Config.MAINTAIN_DISPLAY_STATUS)) || (!(_blnSwitchEdition)))))){ Controller.instance.view.content.pageCount = Controller.instance.model.configManager.pageCountTE; setPageViewBtnVisibility(Controller.instance.view.content.pageCount); }; }; } private function setMouseWheel():void{ var _local1 = !((Capabilities.os.indexOf("mac") == -1)); if (_local1){ ExternalInterface.addCallback("externalMouseEvent", externalMouseEvent); } else { instance.parent.addEventListener(MouseEvent.MOUSE_WHEEL, onMouseWheel, false, 0, true); }; } public function set pageTextFocus(_arg1:Boolean):void{ _blnPageTextFocus = _arg1; } public function deActivateFreehandTool():void{ if (Config.DRAW != null){ onFreeHandPenClicked(null); onFreeHandHighlighterClicked(null); onFreeHandEraserClicked(null); onFreeHandShapeClicked(false); }; } private function registerGlobalButtonListener():void{ var _local1:Number; var _local2:int; var _local3:CustomButton; if (Config.GLOBAL_BUTTONS_DATA == null){ return; }; _local1 = Config.GLOBAL_BUTTONS_DATA.buttons.length; if (_local1 > 0){ _local2 = 0; while (_local2 < _local1) { _local3 = new CustomButton(getChildByName(Config.GLOBAL_BUTTONS_DATA.buttons[_local2].name)); if (_local3 != null){ _local3.addEventListener(MouseEvent.CLICK, onGlobalItem); _local3.setState(CustomButton.STATE_NORMAL); _local3.visible = false; }; _local2++; }; }; } public function onCloseBookMark():void{ if (_objShowBookMark.currentState != CustomButton.STATE_DISABLED){ _objShowBookMark.setState(CustomButton.STATE_NORMAL); }; } private function onGroup(_arg1:MouseEvent):void{ onLaunchActivity(_group); } private function onGrabber(_arg1:MouseEvent):void{ swithTool("GRABBER"); } public function focusToBtn(_arg1:InteractiveObject):void{ Controller.instance.view.instance.stage.focus = (_arg1 as InteractiveObject); ExternalInterface.call("focusOnFlashPlayer"); } private function assignEventOnZoomText():void{ _zoom.restrict = "0-9%"; _zoom.addEventListener(KeyboardEvent.KEY_DOWN, onZoomTextChange, false, 0, true); _zoom.addEventListener(FocusEvent.FOCUS_OUT, onZoomTextFocusOut, false, 0, true); _zoom.addEventListener(FocusEvent.FOCUS_IN, onZoomTextFocusIn, false, 0, true); } private function updateSectionLinkDisplay():void{ var _local5:Object; var _local6:Object; var _local1:Array = generateLinkList(); var _local2:Array = Controller.instance.view.content.pages; var _local3:Page = _local2[0]; var _local4:Number = 0; while (_local4 < _local1.length) { _local5 = _local1[_local4]; if (_local5.type == "Help"){ if ((((_local3.help == "")) || ((_local3.help == undefined)))){ _local3.help = _local5.url; _local3.help_popUp = _local5.popUp; _local3.help_windowType = _local5.windowType; _local3.help_windowId = _local5.windowId; _local3.currentLocation = _local5.currentWindowLocation; _ebookHelp.setState(CustomButton.STATE_NORMAL); }; } else { if (_local5.type == "Interactivity"){ if ((((_local3.group_activity == "")) || ((_local3.group_activity == undefined)))){ _local3.group_activity = _local5.url; _local3.group_activity_popUp = _local5.popUp; _local3.group_activity_windowType = _local5.windowType; _local3.group_activity_windowId = _local5.windowId; _local3.currentLocation = _local5.currentWindowLocation; _group.setState(CustomButton.STATE_NORMAL); }; } else { if (_local5.type == "Video"){ if ((((_local3.video == "")) || ((_local3.video == undefined)))){ _local3.video = _local5.url; _local3.video_popUp = _local5.popUp; _local3.video_windowType = _local5.windowType; _local3.video_windowId = _local5.windowId; _local3.currentLocation = _local5.currentWindowLocation; _video.setState(CustomButton.STATE_NORMAL); }; } else { if (_local5.type == "Animation"){ if ((((_local3.animation == "")) || ((_local3.animation == undefined)))){ _local3.animation = _local5.url; _local3.animation_popUp = _local5.popUp; _local3.animation_windowType = _local5.windowType; _local3.animation_windowId = _local5.windowId; _local3.currentLocation = _local5.currentWindowLocation; _animation.setState(CustomButton.STATE_NORMAL); }; } else { if (_local5.type == "Quiz/Test"){ if ((((_local3.quick_quiz == "")) || ((_local3.quick_quiz == undefined)))){ _local3.quick_quiz = _local5.url; _local3.quick_quiz_popUp = _local5.popUp; _local3.quick_quiz_windowType = _local5.windowType; _local3.quick_quiz_windowId = _local5.windowId; _local3.currentLocation = _local5.currentWindowLocation; _quiz.setState(CustomButton.STATE_NORMAL); }; } else { if (_local5.type == "Vocabulary"){ if ((((_local3.vocabulary_activity == "")) || ((_local3.vocabulary_activity == undefined)))){ _local3.vocabulary_activity = _local5.url; _local3.vocabulary_activity_popUp = _local5.popUp; _local3.vocabulary_activity_windowType = _local5.windowType; _local3.vocabulary_activity_windowId = _local5.windowId; _local3.currentLocation = _local5.currentWindowLocation; _vocabulary.setState(CustomButton.STATE_NORMAL); }; } else { if (_local5.type == "Comprehension"){ if ((((_local3.comprehension_activity == "")) || ((_local3.comprehension_activity == undefined)))){ _local3.comprehension_activity = _local5.url; _local3.comprehension_activity_popUp = _local5.popUp; _local3.comprehension_activity_windowType = _local5.windowType; _local3.comprehension_activity_windowId = _local5.windowId; _local3.currentLocation = _local5.currentWindowLocation; _comprehension.setState(CustomButton.STATE_NORMAL); }; } else { if (_local5.type == "HTML"){ if ((((_local3.html_document == "")) || ((_local3.html_document == undefined)))){ _local3.html_document = _local5.url; _local3.html_document_popUp = _local5.popUp; _local3.html_document_windowType = _local5.windowType; _local3.html_document_windowId = _local5.windowId; _local3.currentLocation = _local5.currentWindowLocation; _html.setState(CustomButton.STATE_NORMAL); }; } else { if (_local5.type == "DOC"){ if ((((_local3.doc_document == "")) || ((_local3.doc_document == undefined)))){ _local3.doc_document = _local5.url; _local3.doc_document_popUp = _local5.popUp; _local3.doc_document_windowType = _local5.windowType; _local3.doc_document_windowId = _local5.windowId; _local3.currentLocation = _local5.currentWindowLocation; _doc.setState(CustomButton.STATE_NORMAL); }; } else { if (_local5.type == "PDF"){ if ((((_local3.pdf_document == "")) || ((_local3.pdf_document == undefined)))){ _local3.pdf_document = _local5.url; _local3.pdf_document_popUp = _local5.popUp; _local3.pdf_document_windowType = _local5.windowType; _local3.pdf_document_windowId = _local5.windowId; _local3.currentLocation = _local5.currentWindowLocation; _pdf.setState(CustomButton.STATE_NORMAL); }; } else { if (_local5.type == "Global"){ if ((((_local3.global == null)) || ((_local3.global[_local5.itemId] == null)))){ _local6 = new Object(); _local6.url = _local5.url; _local6.type = _local5.itemId; _local6.global_popUp = _local5.popUp; _local6.global_windowType = _local5.windowType; _local6.global_windowId = _local5.windowId; _local6.jumpToPage = _local5.page; _local6.currentLocation = _local5.currentWindowLocation; if (_local3.global == null){ _local3.global = new Object(); }; _local3.global[_local5.itemId] = _local6; setGlobalButtonLabel(_local5.itemId, _local6.global_windowId); }; }; }; }; }; }; }; }; }; }; }; }; _local4++; }; } private function onHighYellow(_arg1:MouseEvent):void{ _objHighlightHL.highColor = HighlightHandler.YELLOW_COLOR; _mcHighYellow.gotoAndStop(2); _mcHighRed.gotoAndStop(1); _mcHighBlue.gotoAndStop(1); } private function onFitToPage(_arg1:MouseEvent):void{ var _local2:Content = Controller.instance.view.content; var _local3:Model = Controller.instance.model; if (_local3.ebook.edition == "student"){ _local2.zoom = Controller.instance.model.configManager.pageScaleFitToPageSE; } else { _local2.zoom = Controller.instance.model.configManager.pageScaleFitToPageTE; }; updateZoomDisplay(); _local2.isZoomToLastAction = false; } } }//package view
Section 248
//ToolSlider (view.ToolSlider) package view { import flash.events.*; import flash.display.*; import model.*; public class ToolSlider extends WrappedDisplayObject { private var _bStartToLeft:Boolean;// = true private var _spToolBar:Sprite;// = null private var _arrOriginalXpos:Array;// = null private var _nSlidingRate:Number;// = 0 private var _arrTools:Array;// = null private var _nStartPos:Number;// = 0 private var _iCurrentIndex:int;// = 0 private var _uSlideCounter:uint;// = 0 private var _objSliderClip:CustomButton;// = null private var _bSlideEnd:Boolean;// = false private var _iLastItemIndex:int;// = -1 public function ToolSlider(_arg1:DisplayObject, _arg2:Sprite){ super(_arg1); _spToolBar = _arg2; if (Config.SLIDING_TOOL_DATA != null){ _objSliderClip = new CustomButton(_arg1); _objSliderClip.setState(CustomButton.STATE_NORMAL); _objSliderClip.visible = false; }; } private function setLastItem():void{ var _local4:uint; var _local1:DisplayObject = (_spToolBar.getChildByName(Config.SLIDING_TOOL_DATA.LAST_ITEM) as DisplayObject); var _local2:uint = (_arrTools.length - 1); var _local3:uint = _local2; while (_local3 >= 0) { if (_local1 == _arrTools[_local3]){ if (_local1.visible){ _iLastItemIndex = _local3; return; }; break; }; _local3--; }; if (_iLastItemIndex == -1){ _local4 = _local3; while (_local4 >= 0) { if (_arrTools[_local4].visible){ _iLastItemIndex = _local4; break; }; _local4--; }; }; } public function initialize():void{ var _local1:Array; var _local2:uint; var _local3:uint; if (_iLastItemIndex == -1){ if (Config.SLIDING_TOOL_DATA != null){ _local1 = Config.SLIDING_TOOL_DATA.elements; if ((((_local1 == null)) || ((_local1.length <= Config.SLIDING_TOOL_DATA.MAX_ITEM_NUM)))){ _iLastItemIndex = 0; return; }; _arrTools = new Array(); _arrOriginalXpos = new Array(); _local2 = _local1.length; _local3 = 0; while (_local3 < _local2) { _arrTools.push(DisplayObject(_spToolBar.getChildByName(_local1[_local3]))); _arrOriginalXpos.push(_arrTools[_local3].x); _local3++; }; setLastItem(); if (_iLastItemIndex < Config.SLIDING_TOOL_DATA.MAX_ITEM_NUM){ _iLastItemIndex = 0; return; }; _objSliderClip.visible = true; enableTools(); _nStartPos = _arrTools[0].x; _objSliderClip.addEventListener(MouseEvent.CLICK, onClick); _bStartToLeft = Config.SLIDING_TOOL_DATA.START_TO_LEFT; updateCurrentIndex(); }; }; } private function enableTools():void{ var _local1:DisplayObject = (_spToolBar.getChildByName("mcSlidingToolMask") as DisplayObject); var _local2:uint = _arrTools.length; var _local3:uint; while (_local3 < _local2) { if (_arrTools[_local3].hitTestObject(_local1)){ _arrTools[_local3].mouseEnabled = true; _arrTools[_local3].tabEnabled = true; } else { if (_arrTools[_local3].mouseEnabled){ _arrTools[_local3].mouseEnabled = false; _arrTools[_local3].mouseChildren = false; _arrTools[_local3].tabEnabled = false; }; }; _local3++; }; } private function updateCurrentIndex():void{ if (_bStartToLeft){ _iCurrentIndex = Config.SLIDING_TOOL_DATA.MAX_ITEM_NUM; } else { _iCurrentIndex = (_iLastItemIndex - Config.SLIDING_TOOL_DATA.MAX_ITEM_NUM); if (_iCurrentIndex < 0){ _iCurrentIndex = 0; }; }; } private function updateSlidingRate():void{ _bSlideEnd = false; if (_bStartToLeft){ if ((_iCurrentIndex + Config.SLIDING_TOOL_DATA.MAX_ITEM_NUM) > _iLastItemIndex){ _bSlideEnd = true; }; } else { if (_iCurrentIndex < 0){ _bSlideEnd = true; }; }; _nSlidingRate = ((_arrTools[_iCurrentIndex].x - _nStartPos) / Config.SLIDING_TOOL_DATA.SLIDING_RATE); _uSlideCounter = Config.SLIDING_TOOL_DATA.SLIDING_RATE; } private function slideTools():void{ var _local1:DisplayObject; var _local2:uint; var _local3:uint; _uSlideCounter--; if (_bStartToLeft){ _local1 = _arrTools[_iLastItemIndex]; if (_arrTools[_iCurrentIndex].x <= _nStartPos){ _objSliderClip.setEnabled(true); instance.removeEventListener(Event.ENTER_FRAME, startSliding); if (_bSlideEnd){ _bStartToLeft = !(_bStartToLeft); _objSliderClip.setState(CustomButton.STATE_SELECTED); _iCurrentIndex = (_iCurrentIndex - Config.SLIDING_TOOL_DATA.MAX_ITEM_NUM); } else { _iCurrentIndex = (_iCurrentIndex + (_iLastItemIndex - Config.SLIDING_TOOL_DATA.MAX_ITEM_NUM)); }; enableTools(); }; } else { _objSliderClip.setEnabled(true); if (_arrTools[_iCurrentIndex].x >= _nStartPos){ instance.removeEventListener(Event.ENTER_FRAME, startSliding); _iCurrentIndex = (_iCurrentIndex - Config.SLIDING_TOOL_DATA.MAX_ITEM_NUM); if (_arrTools[0].x >= _nStartPos){ _bStartToLeft = !(_bStartToLeft); _objSliderClip.setState(CustomButton.STATE_NORMAL); updateCurrentIndex(); _local2 = _arrTools.length; _local3 = 0; while (_local3 < _local2) { _arrTools[_local3].x = _arrOriginalXpos[_local3]; _local3++; }; }; enableTools(); }; }; if (_uSlideCounter == 1){ _nSlidingRate = (_arrTools[_iCurrentIndex].x - _nStartPos); }; } private function startSliding(_arg1:Event):void{ var _local2:uint = _arrTools.length; var _local3:uint; while (_local3 < _local2) { _arrTools[_local3].x = (_arrTools[_local3].x - _nSlidingRate); _local3++; }; slideTools(); } private function onClick(_arg1:CustomButton):void{ var _local2:uint = _arrTools.length; var _local3:uint; while (_local3 < _local2) { _arrTools[_local3].mouseEnabled = false; _arrTools[_local3].mouseChildren = false; _arrTools[_local3].tabEnabled = false; _local3++; }; updateSlidingRate(); _arg1.setEnabled(false); instance.addEventListener(Event.ENTER_FRAME, startSliding); } } }//package view
Section 249
//Tree (view.Tree) package view { import flash.events.*; import flash.display.*; import model.*; import flash.text.*; public class Tree extends List { private var _arrItemsAdded:Array; private var _arrItemsToShift:Array; private var _dataProvider:Array; private var _instance:Sprite; private static const OPEN_STATUS:String = "open_status"; private static const CLOSE_STATUS:String = "close_status"; private static const IDLE_STATUS:String = "idle_status"; private static var ItemStatus:Class = Tree_ItemStatus; public function Tree(_arg1:DisplayObject){ super(_arg1); _dataProvider = new Array(); _arrItemsAdded = new Array(); _arrItemsToShift = new Array(); } private function manageMoveUp(_arg1:DisplayObject):void{ var _local2:int; while (_local2 < _arrItemsToShift.length) { _arrItemsToShift[_local2].y = (_arg1.y + _arg1.height); _arg1 = _arrItemsToShift[_local2]; _local2++; }; } private function addItem(_arg1:TreeData):void{ var _local2:Sprite = new ListItem(); _local2.x = 0; _local2.y = (_local2.height * _itemsCount); _local2.name = ((("item_" + _arg1.label) + "@") + _arg1.page); var _local3:TextField = (_local2.getChildByName("txtResult") as TextField); _local3.text = (" " + _arg1.label); _local3.tabEnabled = false; _local3.mouseEnabled = false; _local3.autoSize = TextFieldAutoSize.LEFT; var _local4:SimpleButton = (_local2.getChildByName("btnBar") as SimpleButton); _local4.addEventListener(MouseEvent.CLICK, onItemClick, false, 0, true); var _local5:Sprite = new ItemStatus(); _local5.buttonMode = true; _local5.x = 2; _local5.y = 7; if (_arg1.sections.length > 0){ showItemStatus(_local5, Tree.CLOSE_STATUS); } else { showItemStatus(_local5, Tree.IDLE_STATUS); }; _local5.addEventListener(MouseEvent.CLICK, onStatusClick, false, 0, true); _local2.addChild(_local5); _itemContainer.addChild(_local2); _itemsCount = (_itemsCount + 1); _arrItemsAdded.push(_local2); } private function manageDepth():void{ var _local2:String; var _local4:Object; var _local1:Array = new Array(); var _local3:int; while (_local3 < _itemContainer.numChildren) { _local4 = new Object(); _local2 = _itemContainer.getChildAt(_local3).name; _local2 = _local2.split("@")[1]; _local4.item = _itemContainer.getChildAt(_local3); _local4.page = Number(_local2); _local1.push(_local4); _local3++; }; _local1.sortOn("page", Array.NUMERIC); _local3 = 0; while (_local3 < _local1.length) { _itemContainer.setChildIndex(_local1[_local3].item, _local3); _local3++; }; } override public function dataProvider(_arg1:Object=null):void{ var _local2:Array; var _local3:int; clearList(); if ((_arg1 is Array)){ _local2 = (_arg1 as Array); _local3 = 0; while (_local3 < _local2.length) { addItem(_local2[_local3]); _local3++; }; adjustBtnBar(_local2); _dataProvider = _local2; } else { throw (new Error("The data provided to tree data provider must be of Array type.")); }; _scrollbars.verticalScroll.reset(); _scrollbars.horizontalScroll.reset(); updateScrollbars(); } private function positionManager(_arg1:String):void{ var _local2:DisplayObject = (_arrItemsAdded[(_arrItemsAdded.length - 1)] as DisplayObject); switch (_arg1){ case "treeClose": manageMoveDown(_local2); break; case "treeOpen": manageMoveUp(_local2); break; }; _arrItemsAdded = new Array(); _arrItemsToShift = new Array(); updateScrollbars(); } override protected function addScrollBars():void{ _scrollbars = new Scrollbars(getChildByName("mcScrollbars"), "Tree"); } private function showItemStatus(_arg1:Sprite, _arg2:String):void{ switch (_arg2){ case Tree.OPEN_STATUS: _arg1.getChildByName("btnOpen").visible = true; _arg1.getChildByName("btnClose").visible = false; _arg1.getChildByName("btnIdle").visible = false; break; case Tree.CLOSE_STATUS: _arg1.getChildByName("btnOpen").visible = false; _arg1.getChildByName("btnClose").visible = true; _arg1.getChildByName("btnIdle").visible = false; break; case Tree.IDLE_STATUS: _arg1.getChildByName("btnOpen").visible = false; _arg1.getChildByName("btnClose").visible = false; _arg1.getChildByName("btnIdle").visible = true; break; }; } private function handleTreeOpen(_arg1:String):void{ var _local2:int; var _local3:Array = new Array(); var _local4:int; _arg1 = _arg1.split(" ").join(""); _local2 = 0; while (_local2 < _dataProvider.length) { if (_dataProvider[_local2].label == _arg1){ _local3 = _dataProvider[_local2].sections; _local4 = _local2; break; }; _local2++; }; _local2 = 0; while (_local2 < _local3.length) { removeItem(_local3[_local2]); _local2++; }; } private function getShiftingItems(_arg1:DisplayObject):void{ _arrItemsAdded = new Array(); _arrItemsAdded.push(_arg1); var _local2:int = _itemContainer.getChildIndex(_arg1); _arrItemsToShift = new Array(); var _local3:int; while (_local3 < _itemContainer.numChildren) { if (_itemContainer.getChildAt(_local2).y < _itemContainer.getChildAt(_local3).y){ _arrItemsToShift.push(_itemContainer.getChildAt(_local3)); }; _local3++; }; } private function onItemClick(_arg1:MouseEvent):void{ var _local2:Object = new Object(); var _local3:Sprite = (_arg1.target.parent as Sprite); var _local4:String = _local3.name; _local4 = _local4.split("@")[1]; _local2.page = _local4; _callBackFunc.apply(null, [_local2]); } private function removeItem(_arg1:TreeData):void{ var _local2:DisplayObject = _itemContainer.getChildByName(((("item_" + _arg1.label) + "@") + _arg1.page)); _itemContainer.removeChild(_local2); } private function manageMoveDown(_arg1:DisplayObject):void{ var _local2:int; while (_local2 < (_arrItemsAdded.length - 1)) { _arrItemsAdded[(_local2 + 1)].y = (_arrItemsAdded[_local2].y + _arrItemsAdded[_local2].height); _local2++; }; _local2 = 0; while (_local2 < _arrItemsToShift.length) { _arrItemsToShift[_local2].y = (_arg1.y + _arg1.height); _arg1 = _arrItemsToShift[_local2]; _local2++; }; } private function handleTreeClose(_arg1:String):void{ var _local2:int; var _local3:Array = new Array(); _arg1 = _arg1.split(" ").join(""); _local2 = 0; while (_local2 < _dataProvider.length) { if (_dataProvider[_local2].label == _arg1){ _local3 = _dataProvider[_local2].sections; break; }; _local2++; }; _local2 = 0; while (_local2 < _local3.length) { addItem(_local3[_local2]); _local2++; }; } private function onStatusClick(_arg1:Event):void{ var _local2:Sprite; var _local3:TextField; switch (_arg1.target.name){ case "btnOpen": _local2 = (_arg1.currentTarget.parent as Sprite); _local3 = (_local2.getChildByName("txtResult") as TextField); handleTreeOpen(_local3.text); manageDepth(); getShiftingItems(_local2); positionManager("treeOpen"); adjustBtnBar(_dataProvider); showItemStatus((_arg1.currentTarget as Sprite), Tree.CLOSE_STATUS); break; case "btnClose": _local2 = (_arg1.currentTarget.parent as Sprite); _local3 = (_local2.getChildByName("txtResult") as TextField); manageDepth(); getShiftingItems(_local2); handleTreeClose(_local3.text); positionManager("treeClose"); adjustBtnBar(_dataProvider); showItemStatus((_arg1.currentTarget as Sprite), Tree.OPEN_STATUS); break; }; } } }//package view
Section 250
//Tree_ItemStatus (view.Tree_ItemStatus) package view { import flash.display.*; import mx.core.*; public class Tree_ItemStatus extends SpriteAsset { public var btnSave:DisplayObject; public var mcContent:DisplayObject; public var mc_K:DisplayObject; public var mc_N:DisplayObject; public var btnSrchMinimized:DisplayObject; public var mcGlossaryImage:DisplayObject; public var btnHTML:DisplayObject; public var mc_W:DisplayObject; public var btnTeacher:DisplayObject; public var btnUp:DisplayObject; public var mcThumb:DisplayObject; public var mcExit:DisplayObject; public var mc_grabber_cursor:DisplayObject; public var mcUnderline:DisplayObject; public var mc_zoomTo_cursor:DisplayObject; public var btnFitToPage:DisplayObject; public var btnBar:DisplayObject; public var btnZoomIn:DisplayObject; public var txtWord:DisplayObject; public var txtDisplay:DisplayObject; public var mcIconAnim:DisplayObject; public var btnRewind:DisplayObject; public var txtSearch:DisplayObject; public var mcFill:DisplayObject; public var btnEbookHelp:DisplayObject; public var btnStudent:DisplayObject; public var mcSRContent:DisplayObject; public var mcThemeClip:DisplayObject; public var mcThumbBg:DisplayObject; public var mcSrchPanelBg:DisplayObject; public var btnIdle:DisplayObject; public var mcCross:DisplayObject; public var mcPatch:DisplayObject; public var mcBG:DisplayObject; public var bg:DisplayObject; public var mcHorizontal:DisplayObject; public var btnVocabulary:DisplayObject; public var txtZoom:DisplayObject; public var btnNote:DisplayObject; public var txt:DisplayObject; public var panelRight:DisplayObject; public var mcLinkData:DisplayObject; public var btnZoomOut:DisplayObject; public var btnLeft:DisplayObject; public var mcWordList:DisplayObject; public var btnComprehension:DisplayObject; public var txtLink:DisplayObject; public var btnToggleToolbar:DisplayObject; public var mcVideoPanel:DisplayObject; public var mcIndexPanel:DisplayObject; public var mcGlossaryPanel:DisplayObject; public var _mcGlossarySpanishBtn:DisplayObject; public var btnAnimation:DisplayObject; public var txtResult:DisplayObject; public var mcItemContainer:DisplayObject; public var mcNotes:DisplayObject; public var btnToggle:DisplayObject; public var btnQuiz:DisplayObject; public var mc_seekBar:DisplayObject; public var btnOpen:DisplayObject; public var mcHolder:DisplayObject; public var mcHighlighter:DisplayObject; public var mcDisableEdition:DisplayObject; public var mcPanelBg:DisplayObject; public var btnPDF:DisplayObject; public var mcCheckBg:DisplayObject; public var mcTxt:DisplayObject; public var mcNoResult:DisplayObject; public var btnClose:DisplayObject; public var mcExtraContent:DisplayObject; public var mcTracer:DisplayObject; public var mcToolbar:DisplayObject; public var mcFacing:DisplayObject; public var mcErrorPanel:DisplayObject; public var mcHilightColor_0:DisplayObject; public var mcHilightColor_2:DisplayObject; public var mcHilightColor_1:DisplayObject; public var btnDown:DisplayObject; public var btnRight:DisplayObject; public var btnSearch:DisplayObject; public var mcSrchDragBar:DisplayObject; public var txtPage:DisplayObject; public var btnDelete:DisplayObject; public var mcListPanel:DisplayObject; public var btnZoomTo:DisplayObject; public var mcVertical:DisplayObject; public var mcSinglePage:DisplayObject; public var mcProgressBar:DisplayObject; public var mcToolBg:DisplayObject; public var txtInput:DisplayObject; public var btnDOC:DisplayObject; public var mcDisableTeacher:DisplayObject; public var mcScrollbars:DisplayObject; public var txtInfo:DisplayObject; public var mcEdition:DisplayObject; public var mc_AudioController:DisplayObject; public var btnTOC:DisplayObject; public var btnClear:DisplayObject; public var txtLinkData:DisplayObject; public var mcView:DisplayObject; public var btnBack:DisplayObject; public var mcDisableStudent:DisplayObject; public var btnLinkBg:DisplayObject; public var txtDescription:DisplayObject; public var mcColor:DisplayObject; public var btnNext:DisplayObject; public var txtTooltip:DisplayObject; public var btnVideo:DisplayObject; public var btnGroup:DisplayObject; public var btnShowHideIcons:DisplayObject; public var btnState:DisplayObject; public var mcDragArea:DisplayObject; public var btnResourcePanel:DisplayObject; public var mcShowHotspot:DisplayObject; public var _mcGlossaryEnglishBtn:DisplayObject; public var mcIndexList:DisplayObject; public var textMc:DisplayObject; public var mcDragAreaStage:DisplayObject; public var mcMask:DisplayObject; public var btnPrint:DisplayObject; public var btnPlay:DisplayObject; public var mcSearchContent:DisplayObject; public var mcShape:DisplayObject; public var mcDragBar:DisplayObject; public var mcSearchPanel:DisplayObject; public var mcDot:DisplayObject; public var btnExit1:DisplayObject; public var btnExit2:DisplayObject; public var mc_B:DisplayObject; public var mc_D:DisplayObject; public var mc_E:DisplayObject; public var mc_F:DisplayObject; public var mc_G:DisplayObject; public var mc_H:DisplayObject; public var mcAudio:DisplayObject; public var mcTOC:DisplayObject; public var mcGlossary:DisplayObject; public var mc_M:DisplayObject; public var glossaryImageMaskMc:DisplayObject; public var mc_J:DisplayObject; public var mc_L:DisplayObject; public var mc_U:DisplayObject; public var mc_thumb:DisplayObject; public var mc_P:DisplayObject; public var mc_I:DisplayObject; public var mc_A:DisplayObject; public var mc_Z:DisplayObject; public var mc_T:DisplayObject; public var mc_V:DisplayObject; public var mc_X:DisplayObject; public var mc_Q:DisplayObject; public var mc_R:DisplayObject; public var mc_S:DisplayObject; public var mc_C:DisplayObject; public var mc_O:DisplayObject; public var mc_Y:DisplayObject; } }//package view
Section 251
//UserDataHandler (view.UserDataHandler) package view { import controller.*; import flash.events.*; import flash.display.*; import model.*; import flash.net.*; import view.AdvanceFeatures.drawTool.*; public class UserDataHandler { private var _objPageDataXml:XML; private var _arrExistingNotes:Array;// = null private var _objFileReference:FileReference;// = null private static var _objUserDataHandler:UserDataHandler = null; public function UserDataHandler(){ _objUserDataHandler = this; addListeners(); } private function onAssetSelected(_arg1:Event):void{ var _local2:FileReference = FileReference(_arg1.target); _local2.load(); } public function browseXML():void{ var _local1:FileFilter = new FileFilter("Ebook Data", "*.xml"); _objFileReference.browse([_local1]); } private function ioErrorHandler(_arg1:Event):void{ Controller.instance.tracer("IOHandler"); } public function initExistingNotesData(_arg1:Object):void{ var _local5:Object; var _local2:Number = _arg1.currentPageIndex; var _local3:uint = _arrExistingNotes.length; var _local4:int; while (_local4 < _local3) { _local5 = _arrExistingNotes[_local4]; if (Number(_local5.pageNum) == Number(_local2)){ if (_local5.blnSetValue){ _arg1.existingNotes = _local5.pageData; _arg1.blnSetValues = _local5.blnSetValue; _local5.blnSetValue = false; } else { _arg1.blnSetValues = _local5.blnSetValue; }; }; _local4++; }; } private function onAssetLoaded(_arg1:Event):void{ var _local7:Object; var _local8:uint; var _local9:Array; var _local10:Number; var _local11:Number; var _local12:Boolean; var _local13:Object; var _local2:MovieClip = (Controller.instance.view.toolbar.getAccessibleObject("mcLoadData") as MovieClip); _local2.mouseEnabled = false; _local2.mouseChildren = false; _local2.gotoAndStop("disabled"); _objPageDataXml = new XML(FileReference(_arg1.target).data); var _local3:Number = _objPageDataXml.page.length(); _arrExistingNotes = new Array(); var _local4:Array = new Array(); var _local5:Number = 0; while (_local5 < _local3) { _local7 = _objPageDataXml.page[_local5]; _local8 = _local7.children().length(); _local9 = new Array(); _local10 = _objPageDataXml.page[_local5].@num; _local11 = 0; while (_local11 < _local8) { if (_local7.children()[_local11].name() == "note"){ _local9.push({id:_local7.children()[_local11].@id, xPos:Number(_local7.children()[_local11].@xPos), yPos:Number(_local7.children()[_local11].@yPos), txt:_local7.children()[_local11].context}); } else { if (_local7.children()[_local11].name() == "freehandshape"){ _local12 = ((_local7.children()[_local11].@visible)=="true") ? true : false; _local4.push({pageNum:_local7.children()[_local11].@id, shapeInfo:_local7.children()[_local11].@shapeInfo, visible:_local12}); }; }; _local11++; }; _arrExistingNotes.push({pageNum:_local10, blnSetValue:true, pageData:_local9}); _local5++; }; Controller.instance.model.existingDataObj.updateExistingData(_arrExistingNotes); if (((!((Config.DRAW == null))) && (!((_local4.length == 0))))){ DrawTool.getInstance().updateExistingShapes(_local4); }; var _local6:uint = Controller.instance.view.content.pageCount; _local5 = 0; while (_local5 < _local6) { _local13 = Controller.instance.view.content.contentPages[_local5].page; initExistingNotesData(_local13); Controller.instance.view.content.contentPages[_local5].drawExistingNotes(); if (((!((Config.DRAW == null))) && (!((_local4.length == 0))))){ DrawTool.getInstance().updateExistingShapes(null, Controller.instance.view.content.contentPages[_local5].currentPageIndex, Controller.instance.view.content.contentPages[_local5].drawContainer); }; _local5++; }; } public function saveXML():void{ var _local1:uint = Controller.instance.view.content.pageCount; var _local2:uint; while (_local2 < _local1) { Controller.instance.view.content.contentPages[_local2].saveCurrentData(); _local2++; }; Controller.instance.view.content.saveObject(); var _local3:FileReference = new FileReference(); var _local4:XML = Controller.instance.model.existingDataObj.existingDataXML; _local3.save(_local4, "data.xml"); } private function progressHandler(_arg1:Event):void{ Controller.instance.tracer(("Progress " + _arg1.type)); } private function addListeners():void{ _objFileReference = new FileReference(); _objFileReference.addEventListener(Event.SELECT, onAssetSelected); _objFileReference.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); _objFileReference.addEventListener(ProgressEvent.PROGRESS, progressHandler); _objFileReference.addEventListener(Event.COMPLETE, onAssetLoaded); } public static function getInstance():UserDataHandler{ if (_objUserDataHandler == null){ _objUserDataHandler = new (UserDataHandler); }; return (_objUserDataHandler); } } }//package view
Section 252
//VideoPanel (view.VideoPanel) package view { import controller.*; import flash.events.*; import flash.display.*; import model.*; import flash.text.*; import fl.video.*; public class VideoPanel extends Panel { private var _totaltime:int; private var _mcFastForward:Sprite; private var _flvPlayer:FLVPlayback; private var _tfTimer:TextField; private var _instance:Sprite; private var _mcReplay:Sprite; public function VideoPanel(_arg1:DisplayObject){ super(_arg1); _instance = (_arg1 as Sprite); } private function destroy():void{ var _local1:DisplayObject; if (_flvPlayer != null){ _flvPlayer.removeEventListener(VideoEvent.COMPLETE, onComplete); _flvPlayer.removeEventListener(VideoEvent.READY, onReady); _flvPlayer.removeEventListener(VideoEvent.PLAYHEAD_UPDATE, onPlayHeadUpdate); _local1 = (_flvPlayer.getChildByName("timer") as DisplayObject); if (_local1 != null){ _flvPlayer.removeChild(_local1); }; }; if (_mcFastForward != null){ _mcFastForward.removeEventListener(MouseEvent.CLICK, onFastForward); _flvPlayer.removeEventListener(VideoEvent.SEEKED, onUpdate); }; } private function onReady(_arg1:VideoEvent):void{ _totaltime = _flvPlayer.totalTime; } private function onComplete(_arg1:VideoEvent):void{ } private function onUpdate(_arg1:VideoEvent):void{ if (_mcFastForward != null){ setItemEnabled(_mcFastForward, true); }; } public function init():void{ var _local1:String; show(false); setDragArea(Controller.instance.view.dragarea); if (Config.VIDEO != null){ if (Config.VIDEO.SKIN != null){ _local1 = Config.VIDEO.SKIN; if (_local1 == Constants.SKIN_INTERNAL){ setInternalSkin(); }; }; }; } private function setEvents():void{ _flvPlayer.addEventListener(VideoEvent.READY, onReady); _flvPlayer.addEventListener(VideoEvent.PLAYHEAD_UPDATE, onPlayHeadUpdate); _flvPlayer.autoRewind = true; _flvPlayer.addEventListener(VideoEvent.COMPLETE, onComplete, false, 0, true); if (_mcFastForward != null){ _mcFastForward.addEventListener(MouseEvent.CLICK, onFastForward); }; } private function onPlayHeadUpdate(_arg1:VideoEvent):void{ var _local4:String; var _local2:int = _flvPlayer.playheadTime; var _local3:int = (_totaltime - _local2); if (Config.VIDEO != null){ if (Config.VIDEO.TIMER_MODE != null){ _local4 = Config.VIDEO.TIMER_MODE; switch (_local4){ case Constants.TIME_ELAPSED: showTime(_local3); break; case Constants.TIME_LEFT: showTime(_local2); break; }; }; }; } private function playFlvPlayer():void{ var _local1:String; if (Config.VIDEO != null){ if (Config.VIDEO.SKIN != null){ _local1 = Config.VIDEO.SKIN; _flvPlayer.play(); }; }; } private function setInternalSkin():void{ var _local1 = 30; var _local2:Sprite = (_instance as Sprite); var _local3:Sprite = (_local2.getChildByName("mcView") as Sprite); _flvPlayer = new FLVPlayback(); _local3.addChild(_flvPlayer); var _local4:PlayPauseButton = new PlayPauseButton(); if (_local4 != null){ _flvPlayer.addChild(_local4); _local4.x = 0; _local4.y = (_flvPlayer.y + _flvPlayer.height); _flvPlayer.playPauseButton = _local4; }; var _local5:StopButton = new StopButton(); if (_local5 != null){ _flvPlayer.addChild(_local5); _local5.x = ((_local4.x + _local4.width) + _local1); _local5.y = _local4.y; _flvPlayer.stopButton = _local5; }; var _local6:SeekBar = new SeekBar(); if (_local6 != null){ _flvPlayer.addChild(_local6); _local6.x = ((_local5.x + _local5.width) + _local1); _local6.y = _local4.y; _flvPlayer.seekBar = _local6; }; var _local7:FullScreenButton = new FullScreenButton(); if (_local7 != null){ _flvPlayer.addChild(_local7); _local7.x = ((_local6.x + _local6.width) + _local1); _local7.y = _local4.y; _flvPlayer.fullScreenButton = _local7; }; var _local8:BackButton = new BackButton(); if (_local8 != null){ _flvPlayer.addChild(_local8); _local8.x = ((_local7.x + _local7.width) + _local1); _local8.y = _local4.y; _flvPlayer.backButton = _local8; }; var _local9:ForwardButton = new ForwardButton(); if (_local9 != null){ _flvPlayer.addChild(_local9); _local9.x = ((_local8.x + _local8.width) + _local1); _local9.y = _local4.y; _flvPlayer.forwardButton = _local9; }; var _local10:FastForward = new FastForward(); if (_local10 != null){ _mcFastForward = (_local10 as Sprite); _flvPlayer.addChild(_local10); _local10.buttonMode = true; _local10.x = ((_local9.x + _local9.width) + _local1); _local10.y = _local4.y; }; var _local11:VolumeBar = new VolumeBar(); if (_local11 != null){ _flvPlayer.addChild(_local11); _local11.x = ((_local8.x + _local8.width) + _local1); _local11.y = (_local4.y - (2 * _local1)); _flvPlayer.volumeBar = _local11; }; _flvPlayer.align = VideoAlign.CENTER; _flvPlayer.scaleMode = VideoScaleMode.MAINTAIN_ASPECT_RATIO; showTimerClip(); } private function setExternalSkin():void{ var _local1:Sprite = (_instance as Sprite); var _local2:Sprite = (_local1.getChildByName("mcView") as Sprite); _flvPlayer = new FLVPlayback(); _local2.addChild(_flvPlayer); _flvPlayer.skin = "SkinOverAll.swf"; showTimerClip(); } private function setItemEnabled(_arg1:DisplayObject, _arg2:Boolean):void{ var spText:TextField; var sprite:Sprite; var spItem = _arg1; var enabled = _arg2; try { if ((spItem is TextField)){ spText = (spItem as TextField); spText.mouseEnabled = enabled; spText.tabEnabled = enabled; } else { sprite = (spItem as Sprite); sprite.tabChildren = enabled; sprite.mouseChildren = enabled; sprite.mouseEnabled = enabled; sprite.tabEnabled = enabled; }; } catch(e:Error) { }; } private function showTime(_arg1:int):void{ if (_arg1 < 0){ return; }; var _local2:Number = Math.floor((_arg1 / 60)); var _local3:Number = Math.floor((_arg1 - (_local2 * 60))); if (_tfTimer != null){ _tfTimer.text = ((format(_local2) + ":") + format(_local3)); }; } public function loadVideo(_arg1:String):void{ var _local2:String; Controller.instance.tracer(("loadVideo " + _arg1)); destroy(); if (Config.VIDEO != null){ if (Config.VIDEO.SKIN != null){ _local2 = Config.VIDEO.SKIN; if ((((_local2 == Constants.SKIN_EXTERNAL)) && ((_flvPlayer == null)))){ setExternalSkin(); }; }; }; setEvents(); _flvPlayer.source = _arg1; show(true); } private function onFastForward(_arg1:MouseEvent):void{ _flvPlayer.playheadTime = (_flvPlayer.playheadTime + 5); if (_mcFastForward != null){ setItemEnabled(_mcFastForward, false); }; _flvPlayer.addEventListener(VideoEvent.SEEKED, onUpdate); Controller.instance.tracer("onFastForward "); } override public function show(_arg1:Boolean):void{ super.show(_arg1); if (_flvPlayer != null){ if (_arg1 == false){ _flvPlayer.stop(); destroy(); } else { playFlvPlayer(); }; Controller.instance.onPopUp(_arg1); }; } private function format(_arg1:int):String{ if (_arg1 < 10){ return (("0" + _arg1)); }; return (_arg1.toString()); } private function showTimerClip():void{ var _local1:TimerClip; Controller.instance.tracer("showTimerClip-"); if (_flvPlayer != null){ _flvPlayer.playheadUpdateInterval = 250; _local1 = new TimerClip(); _local1.name = "timer"; if (_local1 != null){ _flvPlayer.addChild(_local1); _local1.x = 0x0101; _local1.y = -12; _tfTimer = (_local1.getChildByName("txtTimer") as TextField); _local1.addChild(_tfTimer); }; }; } } }//package view
Section 253
//WrappedDisplayObject (view.WrappedDisplayObject) package view { import controller.*; import flash.display.*; import flash.text.*; public class WrappedDisplayObject { private var _instance:DisplayObject; public function WrappedDisplayObject(_arg1:DisplayObject){ _instance = _arg1; } public function set visible(_arg1:Boolean):void{ if (_instance != null){ _instance.visible = _arg1; }; } public function getEnabled():Boolean{ var _local1:Sprite = (instance as Sprite); return (_local1.mouseEnabled); } public function setItemEnabled(_arg1:DisplayObject, _arg2:Boolean):void{ var spText:TextField; var sprite:Sprite; var spItem = _arg1; var enabled = _arg2; try { if ((spItem is TextField)){ spText = (spItem as TextField); spText.mouseEnabled = enabled; spText.tabEnabled = enabled; } else { sprite = (spItem as Sprite); sprite.tabChildren = enabled; sprite.mouseChildren = enabled; sprite.mouseEnabled = enabled; sprite.tabEnabled = enabled; }; } catch(e:Error) { }; } public function setTabEnabled(_arg1:Boolean):void{ var _local2:Sprite = (instance as Sprite); _local2.tabEnabled = _arg1; } protected function getChildByName(_arg1:String):DisplayObject{ var _local2:Sprite = (_instance as Sprite); var _local3:DisplayObject = _local2.getChildByName(_arg1); if (_local3 == null){ Controller.instance.tracer(("Failed to find asset in library.swf. asset name:" + _arg1)); }; return (_local3); } public function get visible():Boolean{ return (_instance.visible); } public function get instance():DisplayObject{ return (_instance); } protected function removeChild(_arg1:DisplayObject):void{ var _local2:Sprite = (_instance as Sprite); _local2.removeChild(_arg1); } public function hasLabel(_arg1:MovieClip, _arg2:String):Boolean{ var _local3:int; while (_local3 < _arg1.currentLabels.length) { if (_arg1.currentLabels[_local3].name == _arg2){ return (true); }; _local3++; }; return (false); } protected function addChild(_arg1:DisplayObject):void{ var _local2:Sprite = (_instance as Sprite); _local2.addChild(_arg1); } public function setEnabled(_arg1:Boolean):void{ var _local2:Sprite = (instance as Sprite); _local2.tabChildren = _arg1; _local2.mouseChildren = _arg1; _local2.mouseEnabled = _arg1; _local2.tabEnabled = _arg1; } } }//package view
Section 254
//AudioPlayerGfx (AudioPlayerGfx) package { import flash.display.*; public dynamic class AudioPlayerGfx extends MovieClip { public var mcSeekBar:MovieClip; public var mcPlayPause:MovieClip; public var mcVolume:MovieClip; public var mcForward:MovieClip; public var mcBack:MovieClip; public var mcMute:MovieClip; public var mcStop:MovieClip; } }//package
Section 255
//BackButton (BackButton) package { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.geom.*; import flash.accessibility.*; import flash.ui.*; import flash.net.*; import flash.text.*; import flash.media.*; import flash.printing.*; import flash.system.*; import flash.external.*; import flash.filters.*; import adobe.utils.*; import flash.errors.*; import flash.xml.*; public dynamic class BackButton extends MovieClip { public var placeholder_mc:BackButtonNormal; public function BackButton(){ addFrameScript(0, frame1); } function frame1(){ stop(); this.upLinkageID = "BackButtonNormal"; this.overLinkageID = "BackButtonOver"; this.downLinkageID = "BackButtonDown"; this.disabledLinkageID = "BackButtonDisabled"; } } }//package
Section 256
//BackButtonDisabled (BackButtonDisabled) package { import flash.display.*; public dynamic class BackButtonDisabled extends MovieClip { public var icon_mc:MovieClip; public var button_mc:MovieClip; } }//package
Section 257
//BackButtonDown (BackButtonDown) package { import flash.display.*; public dynamic class BackButtonDown extends MovieClip { public var icon_mc:MovieClip; public var button_mc:MovieClip; } }//package
Section 258
//BackButtonNormal (BackButtonNormal) package { import flash.display.*; public dynamic class BackButtonNormal extends MovieClip { public var icon_mc:MovieClip; public var button_mc:MovieClip; } }//package
Section 259
//BackButtonOver (BackButtonOver) package { import flash.display.*; public dynamic class BackButtonOver extends MovieClip { public var icon_mc:MovieClip; public var button_mc:MovieClip; } }//package
Section 260
//CustomScrollPaneGfx (CustomScrollPaneGfx) package { import flash.display.*; public dynamic class CustomScrollPaneGfx extends MovieClip { public var scrollCorner:MovieClip; public var maskMc:MovieClip; } }//package
Section 261
//FastForward (FastForward) package { import flash.display.*; public dynamic class FastForward extends MovieClip { } }//package
Section 262
//focusRectSkin (focusRectSkin) package { import flash.display.*; public dynamic class focusRectSkin extends MovieClip { } }//package
Section 263
//ForwardButton (ForwardButton) package { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.geom.*; import flash.accessibility.*; import flash.ui.*; import flash.net.*; import flash.text.*; import flash.media.*; import flash.printing.*; import flash.system.*; import flash.external.*; import flash.filters.*; import adobe.utils.*; import flash.errors.*; import flash.xml.*; public dynamic class ForwardButton extends MovieClip { public var placeholder_mc:ForwardButtonNormal; public function ForwardButton(){ addFrameScript(0, frame1); } function frame1(){ stop(); this.upLinkageID = "ForwardButtonNormal"; this.overLinkageID = "ForwardButtonOver"; this.downLinkageID = "ForwardButtonDown"; this.disabledLinkageID = "ForwardButtonDisabled"; } } }//package
Section 264
//ForwardButtonDisabled (ForwardButtonDisabled) package { import flash.display.*; public dynamic class ForwardButtonDisabled extends MovieClip { public var icon_mc:MovieClip; public var button_mc:MovieClip; } }//package
Section 265
//ForwardButtonDown (ForwardButtonDown) package { import flash.display.*; public dynamic class ForwardButtonDown extends MovieClip { public var icon_mc:MovieClip; public var button_mc:MovieClip; } }//package
Section 266
//ForwardButtonNormal (ForwardButtonNormal) package { import flash.display.*; public dynamic class ForwardButtonNormal extends MovieClip { public var icon_mc:MovieClip; public var button_mc:MovieClip; } }//package
Section 267
//ForwardButtonOver (ForwardButtonOver) package { import flash.display.*; public dynamic class ForwardButtonOver extends MovieClip { public var icon_mc:MovieClip; public var button_mc:MovieClip; } }//package
Section 268
//FullScreenButton (FullScreenButton) package { import flash.display.*; public dynamic class FullScreenButton extends MovieClip { public var off_mc:FullScreenButtonOff; public var on_mc:FullScreenButtonOn; } }//package
Section 269
//FullScreenButtonOff (FullScreenButtonOff) package { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.geom.*; import flash.accessibility.*; import flash.ui.*; import flash.net.*; import flash.text.*; import flash.media.*; import flash.printing.*; import flash.system.*; import flash.external.*; import flash.filters.*; import adobe.utils.*; import flash.errors.*; import flash.xml.*; public dynamic class FullScreenButtonOff extends MovieClip { public var placeholder_mc:FullScreenButtonOffNormal; public function FullScreenButtonOff(){ addFrameScript(0, frame1); } function frame1(){ stop(); this.upLinkageID = "FullScreenButtonOffNormal"; this.overLinkageID = "FullScreenButtonOffOver"; this.downLinkageID = "FullScreenButtonOffDown"; this.disabledLinkageID = "FullScreenButtonOffDisabled"; } } }//package
Section 270
//FullScreenButtonOffDisabled (FullScreenButtonOffDisabled) package { import flash.display.*; public dynamic class FullScreenButtonOffDisabled extends MovieClip { public var button_mc:MovieClip; } }//package
Section 271
//FullScreenButtonOffDown (FullScreenButtonOffDown) package { import flash.display.*; public dynamic class FullScreenButtonOffDown extends MovieClip { public var icon_mc:MovieClip; public var button_mc:MovieClip; } }//package
Section 272
//FullScreenButtonOffNormal (FullScreenButtonOffNormal) package { import flash.display.*; public dynamic class FullScreenButtonOffNormal extends MovieClip { public var icon_mc:MovieClip; public var button_mc:MovieClip; } }//package
Section 273
//FullScreenButtonOffOver (FullScreenButtonOffOver) package { import flash.display.*; public dynamic class FullScreenButtonOffOver extends MovieClip { public var icon_mc:MovieClip; public var button_mc:MovieClip; } }//package
Section 274
//FullScreenButtonOn (FullScreenButtonOn) package { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.geom.*; import flash.accessibility.*; import flash.ui.*; import flash.net.*; import flash.text.*; import flash.media.*; import flash.printing.*; import flash.system.*; import flash.external.*; import flash.filters.*; import adobe.utils.*; import flash.errors.*; import flash.xml.*; public dynamic class FullScreenButtonOn extends MovieClip { public var placeholder_mc:FullScreenButtonOnNormal; public function FullScreenButtonOn(){ addFrameScript(0, frame1); } function frame1(){ stop(); this.upLinkageID = "FullScreenButtonOnNormal"; this.overLinkageID = "FullScreenButtonOnOver"; this.downLinkageID = "FullScreenButtonOnDown"; this.disabledLinkageID = "FullScreenButtonOnDisabled"; } } }//package
Section 275
//FullScreenButtonOnDisabled (FullScreenButtonOnDisabled) package { import flash.display.*; public dynamic class FullScreenButtonOnDisabled extends MovieClip { public var icon_mc:MovieClip; public var button_mc:MovieClip; } }//package
Section 276
//FullScreenButtonOnDown (FullScreenButtonOnDown) package { import flash.display.*; public dynamic class FullScreenButtonOnDown extends MovieClip { public var icon_mc:MovieClip; public var button_mc:MovieClip; } }//package
Section 277
//FullScreenButtonOnNormal (FullScreenButtonOnNormal) package { import flash.display.*; public dynamic class FullScreenButtonOnNormal extends MovieClip { public var icon_mc:MovieClip; public var button_mc:MovieClip; } }//package
Section 278
//FullScreenButtonOnOver (FullScreenButtonOnOver) package { import flash.display.*; public dynamic class FullScreenButtonOnOver extends MovieClip { public var icon_mc:MovieClip; public var button_mc:MovieClip; } }//package
Section 279
//HScrollBarGfx (HScrollBarGfx) package { import flash.display.*; public dynamic class HScrollBarGfx extends MovieClip { public var scrollThumb:hScrollThumb; public var rightThumb:MovieClip; public var leftThumb:MovieClip; public var scrollBg:hScrollBg; } }//package
Section 280
//hScrollBg (hScrollBg) package { import flash.display.*; public dynamic class hScrollBg extends MovieClip { } }//package
Section 281
//hScrollThumb (hScrollThumb) package { import flash.display.*; public dynamic class hScrollThumb extends MovieClip { } }//package
Section 282
//NotesThumbnailGfx (NotesThumbnailGfx) package { import flash.display.*; import flash.text.*; public dynamic class NotesThumbnailGfx extends MovieClip { public var removeBtn:MovieClip; public var idTxt:TextField; public var addBtn:MovieClip; public var pageBitmapContainer:MovieClip; public var notesThumbBtn:MovieClip; } }//package
Section 283
//PauseButton (PauseButton) package { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.geom.*; import flash.accessibility.*; import flash.ui.*; import flash.net.*; import flash.text.*; import flash.media.*; import flash.printing.*; import flash.system.*; import flash.external.*; import flash.filters.*; import adobe.utils.*; import flash.errors.*; import flash.xml.*; public dynamic class PauseButton extends MovieClip { public var placeholder_mc:PauseButtonNormal; public function PauseButton(){ addFrameScript(0, frame1); } function frame1(){ stop(); this.upLinkageID = "PauseButtonNormal"; this.overLinkageID = "PauseButtonOver"; this.downLinkageID = "PauseButtonDown"; this.disabledLinkageID = "PauseButtonDisabled"; } } }//package
Section 284
//PauseButtonDisabled (PauseButtonDisabled) package { import flash.display.*; public dynamic class PauseButtonDisabled extends MovieClip { public var button_mc:MovieClip; } }//package
Section 285
//PauseButtonDown (PauseButtonDown) package { import flash.display.*; public dynamic class PauseButtonDown extends MovieClip { public var button_mc:MovieClip; } }//package
Section 286
//PauseButtonNormal (PauseButtonNormal) package { import flash.display.*; public dynamic class PauseButtonNormal extends MovieClip { public var button_mc:MovieClip; } }//package
Section 287
//PauseButtonOver (PauseButtonOver) package { import flash.display.*; public dynamic class PauseButtonOver extends MovieClip { public var button_mc:MovieClip; } }//package
Section 288
//PlayButton (PlayButton) package { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.geom.*; import flash.accessibility.*; import flash.ui.*; import flash.net.*; import flash.text.*; import flash.media.*; import flash.printing.*; import flash.system.*; import flash.external.*; import flash.filters.*; import adobe.utils.*; import flash.errors.*; import flash.xml.*; public dynamic class PlayButton extends MovieClip { public var placeholder_mc:PlayButtonNormal; public function PlayButton(){ addFrameScript(0, frame1); } function frame1(){ stop(); this.upLinkageID = "PlayButtonNormal"; this.overLinkageID = "PlayButtonOver"; this.downLinkageID = "PlayButtonDown"; this.disabledLinkageID = "PlayButtonDisabled"; } } }//package
Section 289
//PlayButtonDisabled (PlayButtonDisabled) package { import flash.display.*; public dynamic class PlayButtonDisabled extends MovieClip { public var button_mc:MovieClip; } }//package
Section 290
//PlayButtonDown (PlayButtonDown) package { import flash.display.*; public dynamic class PlayButtonDown extends MovieClip { public var button_mc:MovieClip; } }//package
Section 291
//PlayButtonNormal (PlayButtonNormal) package { import flash.display.*; public dynamic class PlayButtonNormal extends MovieClip { public var icon_mc:MovieClip; public var button_mc:MovieClip; } }//package
Section 292
//PlayButtonOver (PlayButtonOver) package { import flash.display.*; public dynamic class PlayButtonOver extends MovieClip { public var button_mc:MovieClip; } }//package
Section 293
//PlayPauseButton (PlayPauseButton) package { import flash.display.*; public dynamic class PlayPauseButton extends MovieClip { public var pause_mc:PauseButton; public var play_mc:PlayButton; } }//package
Section 294
//PopupWindowGfx (PopupWindowGfx) package { import flash.display.*; public dynamic class PopupWindowGfx extends MovieClip { public var popupWindowBg:MovieClip; public var scaleGridArea:MovieClip; public var headerBar:MovieClip; } }//package
Section 295
//ScrollArrowDown_disabledSkin (ScrollArrowDown_disabledSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_disabledSkin extends MovieClip { } }//package
Section 296
//ScrollArrowDown_downSkin (ScrollArrowDown_downSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_downSkin extends MovieClip { } }//package
Section 297
//ScrollArrowDown_overSkin (ScrollArrowDown_overSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_overSkin extends MovieClip { } }//package
Section 298
//ScrollArrowDown_upSkin (ScrollArrowDown_upSkin) package { import flash.display.*; public dynamic class ScrollArrowDown_upSkin extends MovieClip { } }//package
Section 299
//ScrollArrowUp_disabledSkin (ScrollArrowUp_disabledSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_disabledSkin extends MovieClip { } }//package
Section 300
//ScrollArrowUp_downSkin (ScrollArrowUp_downSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_downSkin extends MovieClip { } }//package
Section 301
//ScrollArrowUp_overSkin (ScrollArrowUp_overSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_overSkin extends MovieClip { } }//package
Section 302
//ScrollArrowUp_upSkin (ScrollArrowUp_upSkin) package { import flash.display.*; public dynamic class ScrollArrowUp_upSkin extends MovieClip { } }//package
Section 303
//ScrollBar_thumbIcon (ScrollBar_thumbIcon) package { import flash.display.*; public dynamic class ScrollBar_thumbIcon extends MovieClip { } }//package
Section 304
//ScrollThumb_downSkin (ScrollThumb_downSkin) package { import flash.display.*; public dynamic class ScrollThumb_downSkin extends MovieClip { } }//package
Section 305
//ScrollThumb_overSkin (ScrollThumb_overSkin) package { import flash.display.*; public dynamic class ScrollThumb_overSkin extends MovieClip { } }//package
Section 306
//ScrollThumb_upSkin (ScrollThumb_upSkin) package { import flash.display.*; public dynamic class ScrollThumb_upSkin extends MovieClip { } }//package
Section 307
//ScrollTrack_skin (ScrollTrack_skin) package { import flash.display.*; public dynamic class ScrollTrack_skin extends MovieClip { } }//package
Section 308
//SeekBar (SeekBar) package { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.geom.*; import flash.accessibility.*; import flash.ui.*; import flash.net.*; import flash.text.*; import flash.media.*; import flash.printing.*; import flash.system.*; import flash.external.*; import flash.filters.*; import adobe.utils.*; import flash.errors.*; import flash.xml.*; public dynamic class SeekBar extends MovieClip { public var progress_mc:SeekBarProgress; public function SeekBar(){ addFrameScript(0, frame1); } function frame1(){ stop(); this.handleLinkageID = "SeekBarHandle"; this.handleLeftMargin = 2; this.handleRightMargin = 2; this.handleY = 11; } } }//package
Section 309
//SeekBarHandle (SeekBarHandle) package { import flash.display.*; public dynamic class SeekBarHandle extends MovieClip { } }//package
Section 310
//SeekBarProgress (SeekBarProgress) package { import flash.display.*; public dynamic class SeekBarProgress extends MovieClip { } }//package
Section 311
//StopButton (StopButton) package { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.geom.*; import flash.accessibility.*; import flash.ui.*; import flash.net.*; import flash.text.*; import flash.media.*; import flash.printing.*; import flash.system.*; import flash.external.*; import flash.filters.*; import adobe.utils.*; import flash.errors.*; import flash.xml.*; public dynamic class StopButton extends MovieClip { public var placeholder_mc:StopButtonNormal; public function StopButton(){ addFrameScript(0, frame1); } function frame1(){ stop(); this.upLinkageID = "StopButtonNormal"; this.overLinkageID = "StopButtonOver"; this.downLinkageID = "StopButtonDown"; this.disabledLinkageID = "StopButtonDisabled"; } } }//package
Section 312
//StopButtonDisabled (StopButtonDisabled) package { import flash.display.*; public dynamic class StopButtonDisabled extends MovieClip { public var icon_mc:MovieClip; public var button_mc:MovieClip; } }//package
Section 313
//StopButtonDown (StopButtonDown) package { import flash.display.*; public dynamic class StopButtonDown extends MovieClip { public var icon_mc:MovieClip; public var button_mc:MovieClip; } }//package
Section 314
//StopButtonNormal (StopButtonNormal) package { import flash.display.*; public dynamic class StopButtonNormal extends MovieClip { public var icon_mc:MovieClip; public var button_mc:MovieClip; } }//package
Section 315
//StopButtonOver (StopButtonOver) package { import flash.display.*; public dynamic class StopButtonOver extends MovieClip { public var icon_mc:MovieClip; public var button_mc:MovieClip; } }//package
Section 316
//TextArea_disabledSkin (TextArea_disabledSkin) package { import flash.display.*; public dynamic class TextArea_disabledSkin extends MovieClip { } }//package
Section 317
//TextArea_upSkin (TextArea_upSkin) package { import flash.display.*; public dynamic class TextArea_upSkin extends MovieClip { } }//package
Section 318
//TimerClip (TimerClip) package { import flash.display.*; import flash.text.*; public dynamic class TimerClip extends MovieClip { public var txtTimer:TextField; } }//package
Section 319
//VolumeBar (VolumeBar) package { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.geom.*; import flash.accessibility.*; import flash.ui.*; import flash.net.*; import flash.text.*; import flash.media.*; import flash.printing.*; import flash.system.*; import flash.external.*; import flash.filters.*; import adobe.utils.*; import flash.errors.*; import flash.xml.*; public dynamic class VolumeBar extends MovieClip { public var fullness_mc:MovieClip; public function VolumeBar(){ addFrameScript(0, frame1); } function frame1(){ stop(); this.handleLinkageID = "VolumeBarHandle"; this.handleLeftMargin = 0; this.handleRightMargin = 0; this.handleY = 11; this.fullness_mc.fill_mc.slideReveal = true; } } }//package
Section 320
//VolumeBarHandle (VolumeBarHandle) package { import flash.display.*; public dynamic class VolumeBarHandle extends MovieClip { } }//package
Section 321
//VolumeBarProgress (VolumeBarProgress) package { import flash.display.*; public dynamic class VolumeBarProgress extends MovieClip { } }//package
Section 322
//VScrollBarGfx (VScrollBarGfx) package { import flash.display.*; public dynamic class VScrollBarGfx extends MovieClip { public var scrollThumb:MovieClip; public var downThumb:MovieClip; public var upThumb:MovieClip; public var scrollBg:MovieClip; } }//package

Library Items

Symbol 1 GraphicUsed by:2 851
Symbol 2 MovieClipUses:1Used by:422
Symbol 3 GraphicUsed by:4
Symbol 4 MovieClipUses:3Used by:24 313 330
Symbol 5 GraphicUsed by:24
Symbol 6 GraphicUsed by:7
Symbol 7 MovieClipUses:6Used by:24
Symbol 8 GraphicUsed by:9
Symbol 9 MovieClipUses:8Used by:21 303 312 329 363 391 599
Symbol 10 GraphicUsed by:18 20 300 302 311 326 328 360 362 388 390
Symbol 11 GraphicUsed by:12
Symbol 12 MovieClipUses:11Used by:18 20 300 302 309 311 326 328 360 362 388 390
Symbol 13 GraphicUsed by:18
Symbol 14 GraphicUsed by:15
Symbol 15 ButtonUses:14Used by:18 300 309 326 360 388
Symbol 16 GraphicUsed by:17
Symbol 17 ButtonUses:16Used by:18 20 300 302 309 311 326 328 360 362 388 390
Symbol 18 MovieClipUses:10 12 13 15 17Used by:21
Symbol 19 GraphicUsed by:20
Symbol 20 MovieClipUses:10 12 17 19Used by:21
Symbol 21 MovieClipUses:9 18 20Used by:24
Symbol 22 MovieClipUsed by:24 288 304 313 330 368 399 410 600
Symbol 23 GraphicUsed by:24
Symbol 24 MovieClipUses:4 5 7 21 22 23Used by:422
Symbol 25 GraphicUsed by:26
Symbol 26 MovieClipUses:25Used by:289
Symbol 27 FontUsed by:28
Symbol 28 TextUses:27Used by:289
Symbol 29 GraphicUsed by:137 289 309 788
Symbol 30 GraphicUsed by:33
Symbol 31 FontUsed by:32
Symbol 32 TextUses:31Used by:33
Symbol 33 MovieClipUses:30 32Used by:289
Symbol 34 BitmapUsed by:35 36 42 94 98 102 106 112 116
Symbol 35 GraphicUses:34Used by:289
Symbol 36 GraphicUses:34Used by:40 41
Symbol 37 GraphicUsed by:40 44 96 100 104 114 119 170 236 241 270 278 281
Symbol 38 FontUsed by:39 43 81 89 95 99 103 107 113 118 122 128 148 154 159 169 222 231 239 259 268 276 280 287 349 385 472
Symbol 39 TextUses:38Used by:40
Symbol 40 ButtonUses:36 37 39Used by:41
Symbol 41 MovieClipUses:40 36Used by:289
Symbol 42 GraphicUses:34Used by:44 45
Symbol 43 TextUses:38Used by:44
Symbol 44 ButtonUses:42 37 43Used by:45
Symbol 45 MovieClipUses:44 42Used by:289
Symbol 46 FontUsed by:47 83 91 166 167 168 286 319 352 355 392 411 413 418 476 505 784 792 795 848 857
Symbol 47 EditableTextUses:46 150 285 318Used by:289
Symbol 48 GraphicUsed by:49 409
Symbol 49 MovieClipUses:48Used by:75
Symbol 50 GraphicUsed by:55 57 66 68
Symbol 51 GraphicUsed by:55 57 66 68
Symbol 52 GraphicUsed by:55
Symbol 53 GraphicUsed by:55 57 66
Symbol 54 GraphicUsed by:55 57 66
Symbol 55 ButtonUses:50 51 52 53 54Used by:58
Symbol 56 GraphicUsed by:57
Symbol 57 ButtonUses:50 51 56 53 54Used by:58
Symbol 58 MovieClipUses:55 57Used by:75
Symbol 59 GraphicUsed by:64
Symbol 60 GraphicUsed by:64
Symbol 61 GraphicUsed by:64 408 709
Symbol 62 GraphicUsed by:64
Symbol 63 GraphicUsed by:64
Symbol 64 ButtonUses:59 60 61 62 63Used by:65
Symbol 65 MovieClipUses:64Used by:75
Symbol 66 ButtonUses:50 51 53 54Used by:68
Symbol 67 GraphicUsed by:68
Symbol 68 MovieClipUses:66 67 50 51Used by:75
Symbol 69 GraphicUsed by:70
Symbol 70 MovieClipUses:69Used by:75
Symbol 71 GraphicUsed by:73
Symbol 72 GraphicUsed by:73
Symbol 73 ButtonUses:71 72Used by:74
Symbol 74 MovieClipUses:73Used by:75
Symbol 75 MovieClipUses:49 58 65 68 70 74Used by:289
Symbol 76 GraphicUsed by:77 304 314 321 324 345
Symbol 77 MovieClipUses:76Used by:289
Symbol 78 GraphicUsed by:79 82
Symbol 79 MovieClipUses:78Used by:82
Symbol 80 GraphicUsed by:82 90 108 123 131 149 155 262 288
Symbol 81 TextUses:38Used by:82
Symbol 82 ButtonUses:79 80 81 78Used by:86
Symbol 83 TextUses:46Used by:86
Symbol 84 GraphicUsed by:86 93
Symbol 85 GraphicUsed by:86
Symbol 86 MovieClipUses:82 83 84 85Used by:289
Symbol 87 GraphicUsed by:88 90
Symbol 88 MovieClipUses:87Used by:90 93
Symbol 89 TextUses:38Used by:90
Symbol 90 ButtonUses:88 80 89 87Used by:93
Symbol 91 TextUses:46Used by:93
Symbol 92 GraphicUsed by:93
Symbol 93 MovieClipUses:90 91 84 88 92Used by:289
Symbol 94 GraphicUses:34Used by:96 97
Symbol 95 TextUses:38Used by:96
Symbol 96 ButtonUses:94 37 95Used by:97
Symbol 97 MovieClipUses:96 94Used by:289
Symbol 98 GraphicUses:34Used by:100 101
Symbol 99 TextUses:38Used by:100
Symbol 100 ButtonUses:98 37 99Used by:101
Symbol 101 MovieClipUses:100 98Used by:289
Symbol 102 GraphicUses:34Used by:104 105
Symbol 103 TextUses:38Used by:104
Symbol 104 ButtonUses:102 37 103Used by:105
Symbol 105 MovieClipUses:104 102Used by:289
Symbol 106 GraphicUses:34Used by:108 111
Symbol 107 TextUses:38Used by:108
Symbol 108 ButtonUses:106 80 107Used by:111
Symbol 109 FontUsed by:110 230 234 238 240 246 249 348 384 472
Symbol 110 TextUses:109Used by:111
Symbol 111 MovieClipUses:108 110 106Used by:289
Symbol 112 GraphicUses:34Used by:114 115
Symbol 113 TextUses:38Used by:114
Symbol 114 ButtonUses:112 37 113Used by:115
Symbol 115 MovieClipUses:114 112Used by:289
Symbol 116 GraphicUses:34Used by:119 120
Symbol 117 GraphicUsed by:119 120
Symbol 118 TextUses:38Used by:119
Symbol 119 ButtonUses:116 117 37 118Used by:120
Symbol 120 MovieClipUses:119 116 117Used by:289
Symbol 121 GraphicUsed by:123 126
Symbol 122 TextUses:38Used by:123
Symbol 123 ButtonUses:121 80 122Used by:126
Symbol 124 GraphicUsed by:126
Symbol 125 GraphicUsed by:126
Symbol 126 MovieClipUses:123 124 121 125Used by:289
Symbol 127 GraphicUsed by:131
Symbol 128 TextUses:38Used by:131
Symbol 129 GraphicUsed by:131 132
Symbol 130 GraphicUsed by:131
Symbol 131 ButtonUses:127 80 128 129 130Used by:132
Symbol 132 MovieClipUses:131 129Used by:289
Symbol 133 GraphicUsed by:134
Symbol 134 MovieClipUses:133Used by:136
Symbol 135 GraphicUsed by:136
Symbol 136 MovieClipUses:134 135Used by:289
Symbol 137 MovieClipUses:29Used by:139
Symbol 138 GraphicUsed by:139
Symbol 139 MovieClipUses:137 138Used by:289
Symbol 140 GraphicUsed by:141
Symbol 141 MovieClipUses:140Used by:143
Symbol 142 GraphicUsed by:143
Symbol 143 MovieClipUses:141 142Used by:289
Symbol 144 GraphicUsed by:146
Symbol 145 GraphicUsed by:146
Symbol 146 MovieClipUses:144 145Used by:289
Symbol 147 GraphicUsed by:149 152
Symbol 148 TextUses:38Used by:149
Symbol 149 ButtonUses:147 80 148Used by:152
Symbol 150 FontUsed by:47 151 286 319 373 403 848 857 861 864
Symbol 151 TextUses:150Used by:152
Symbol 152 MovieClipUses:149 151 147Used by:289
Symbol 153 GraphicUsed by:155
Symbol 154 TextUses:38Used by:155
Symbol 155 ButtonUses:153 80 154Used by:158
Symbol 156 FontUsed by:157 339 364
Symbol 157 TextUses:156Used by:158
Symbol 158 MovieClipUses:155 157Used by:289
Symbol 159 TextUses:38Used by:161 162
Symbol 160 GraphicUsed by:161
Symbol 161 ButtonUses:159 160Used by:162
Symbol 162 MovieClipUses:161 159Used by:289
Symbol 163 GraphicUsed by:164
Symbol 164 ButtonUses:163Used by:170 171 204
Symbol 165 GraphicUsed by:170 171 204
Symbol 166 TextUses:46Used by:170 171 204
Symbol 167 TextUses:46Used by:170 171 204
Symbol 168 TextUses:46Used by:170 171 204
Symbol 169 TextUses:38Used by:170
Symbol 170 ButtonUses:164 165 166 167 168 37 169Used by:171 204
Symbol 171 MovieClipUses:170 164 165 166 167 168Used by:289
Symbol 172 GraphicUsed by:176 177
Symbol 173 GraphicUsed by:176
Symbol 174 GraphicUsed by:176
Symbol 175 GraphicUsed by:176
Symbol 176 ButtonUses:172 173 174 175Used by:177
Symbol 177 MovieClipUses:176 172Used by:289
Symbol 178 GraphicUsed by:181 182
Symbol 179 GraphicUsed by:181
Symbol 180 GraphicUsed by:181
Symbol 181 ButtonUses:178 179 180Used by:182
Symbol 182 MovieClipUses:181 178Used by:289
Symbol 183 GraphicUsed by:186 187
Symbol 184 GraphicUsed by:186
Symbol 185 GraphicUsed by:186
Symbol 186 ButtonUses:183 184 185Used by:187
Symbol 187 MovieClipUses:186 183Used by:289
Symbol 188 GraphicUsed by:192 193
Symbol 189 GraphicUsed by:192
Symbol 190 GraphicUsed by:192
Symbol 191 GraphicUsed by:192
Symbol 192 ButtonUses:188 189 190 191Used by:193
Symbol 193 MovieClipUses:192 188Used by:289
Symbol 194 GraphicUsed by:197
Symbol 195 GraphicUsed by:197
Symbol 196 GraphicUsed by:197
Symbol 197 ButtonUses:194 195 196Used by:198
Symbol 198 MovieClipUses:197Used by:289
Symbol 199 FontUsed by:200 472
Symbol 200 TextUses:199Used by:202 203
Symbol 201 GraphicUsed by:202
Symbol 202 ButtonUses:200 201Used by:203
Symbol 203 MovieClipUses:202 200Used by:289
Symbol 204 MovieClipUses:170 164 165 166 167 168Used by:289
Symbol 205 GraphicUsed by:216 217
Symbol 206 GraphicUsed by:216 217
Symbol 207 GraphicUsed by:216
Symbol 208 GraphicUsed by:216
Symbol 209 GraphicUsed by:210 214 235 275
Symbol 210 ButtonUses:209Used by:216
Symbol 211 GraphicUsed by:216
Symbol 212 GraphicUsed by:216
Symbol 213 GraphicUsed by:216
Symbol 214 ButtonUses:209Used by:216
Symbol 215 GraphicUsed by:216 217
Symbol 216 ButtonUses:205 206 207 208 210 211 212 213 214 215Used by:217
Symbol 217 MovieClipUses:216 205 206 215Used by:289
Symbol 218 GraphicUsed by:224 225
Symbol 219 GraphicUsed by:224
Symbol 220 GraphicUsed by:224
Symbol 221 GraphicUsed by:224
Symbol 222 TextUses:38Used by:224
Symbol 223 GraphicUsed by:224 225
Symbol 224 ButtonUses:218 219 220 221 222 223Used by:225
Symbol 225 MovieClipUses:224 218 223Used by:289
Symbol 226 GraphicUsed by:229
Symbol 227 GraphicUsed by:228 244
Symbol 228 ButtonUses:227Used by:229 233 236 241 248 250
Symbol 229 MovieClipUses:226 228Used by:236 241
Symbol 230 TextUses:109Used by:236
Symbol 231 EditableTextUses:38Used by:236
Symbol 232 GraphicUsed by:233 236 241
Symbol 233 MovieClipUses:232 228Used by:236 241
Symbol 234 TextUses:109Used by:236
Symbol 235 ButtonUses:209Used by:236 241 278 281
Symbol 236 ButtonUses:229 230 37 231 233 234 235 232 228Used by:237
Symbol 237 MovieClipUses:236Used by:252
Symbol 238 TextUses:109Used by:241
Symbol 239 EditableTextUses:38Used by:241
Symbol 240 TextUses:109Used by:241
Symbol 241 ButtonUses:229 238 37 239 233 240 235 232 228Used by:242
Symbol 242 MovieClipUses:241Used by:252
Symbol 243 GraphicUsed by:245 248 250
Symbol 244 ButtonUses:227Used by:245
Symbol 245 MovieClipUses:243 244Used by:247
Symbol 246 TextUses:109Used by:247
Symbol 247 MovieClipUses:245 246Used by:251
Symbol 248 MovieClipUses:243 228Used by:250
Symbol 249 TextUses:109Used by:250
Symbol 250 ButtonUses:248 249 243 228Used by:251
Symbol 251 MovieClipUses:247 250Used by:252
Symbol 252 MovieClipUses:237 242 251Used by:289
Symbol 253 GraphicUsed by:262
Symbol 254 FontUsed by:255 534 606 698 704 719 810 822 823
Symbol 255 TextUses:254Used by:262 263
Symbol 256 GraphicUsed by:262 263
Symbol 257 GraphicUsed by:262 263
Symbol 258 GraphicUsed by:262
Symbol 259 TextUses:38Used by:262
Symbol 260 GraphicUsed by:262
Symbol 261 GraphicUsed by:262 263
Symbol 262 ButtonUses:253 255 256 257 258 80 259 260 261Used by:263
Symbol 263 MovieClipUses:262 261 255 256 257Used by:289
Symbol 264 GraphicUsed by:270
Symbol 265 GraphicUsed by:270
Symbol 266 GraphicUsed by:270
Symbol 267 GraphicUsed by:270
Symbol 268 EditableTextUses:38Used by:270
Symbol 269 GraphicUsed by:270
Symbol 270 ButtonUses:264 265 266 267 37 268 269Used by:272
Symbol 271 GraphicUsed by:272
Symbol 272 MovieClipUses:270 271Used by:289
Symbol 273 GraphicUsed by:278 281
Symbol 274 GraphicUsed by:278
Symbol 275 ButtonUses:209Used by:278 281
Symbol 276 TextUses:38Used by:278
Symbol 277 GraphicUsed by:278 281
Symbol 278 ButtonUses:273 274 275 37 276 277 235Used by:282
Symbol 279 GraphicUsed by:281
Symbol 280 EditableTextUses:38Used by:281
Symbol 281 ButtonUses:277 279 275 37 280 273 235Used by:282
Symbol 282 MovieClipUses:278 281Used by:289
Symbol 283 FontUsed by:284
Symbol 284 EditableTextUses:283Used by:289
Symbol 285 FontUsed by:47 286 319 789 803 848 857
Symbol 286 EditableTextUses:46 150 285 318Used by:289
Symbol 287 TextUses:38Used by:288
Symbol 288 ButtonUses:22 80 287Used by:289
Symbol 289 MovieClipUses:26 28 29 33 35 41 45 47 75 77 86 93 97 101 105 111 115 120 126 132 136 139 143 146 152 158 162 171 177 182 187 193 198 203 204 217 225 252 263 272 282 284 286 288Used by:422
Symbol 290 GraphicUsed by:292
Symbol 291 GraphicUsed by:292 397
Symbol 292 ButtonUses:290 291Used by:304 314 330 365
Symbol 293 GraphicUsed by:305
Symbol 294 GraphicUsed by:304
Symbol 295 GraphicUsed by:296
Symbol 296 MovieClipUses:295Used by:304 600
Symbol 297 GraphicUsed by:298 386
Symbol 298 MovieClipUses:297Used by:304 600
Symbol 299 GraphicUsed by:300
Symbol 300 MovieClipUses:10 12 15 17 299Used by:303
Symbol 301 GraphicUsed by:302
Symbol 302 MovieClipUses:10 12 17 301Used by:303
Symbol 303 MovieClipUses:9 300 302Used by:304
Symbol 304 MovieClipUses:76 292 294 296 298 22 303Used by:305
Symbol 305 MovieClipUses:293 304Used by:313
Symbol 306 GraphicUsed by:307
Symbol 307 MovieClipUses:306Used by:313
Symbol 308 GraphicUsed by:309
Symbol 309 MovieClipUses:29 12 15 17 308Used by:312 599
Symbol 310 GraphicUsed by:311
Symbol 311 MovieClipUses:10 12 17 310Used by:312 599
Symbol 312 MovieClipUses:9 309 311Used by:313
Symbol 313 MovieClip {view.TableOfContent_mcListPanel} [mcListPanel]Uses:305 307 4 22 312Used by:314
Symbol 314 MovieClipUses:76 292 313Used by:422
Symbol 315 GraphicUsed by:316
Symbol 316 MovieClipUses:315Used by:330
Symbol 317 GraphicUsed by:320
Symbol 318 FontUsed by:47 286 319 376 642 649 848 857
Symbol 319 EditableTextUses:46 150 285 318Used by:320
Symbol 320 MovieClipUses:317 319Used by:330
Symbol 321 MovieClipUses:76Used by:324 788
Symbol 322 FontUsed by:323
Symbol 323 TextUses:322Used by:324
Symbol 324 ButtonUses:321 323 76Used by:330
Symbol 325 GraphicUsed by:326
Symbol 326 MovieClipUses:10 12 325 15 17Used by:329
Symbol 327 GraphicUsed by:328
Symbol 328 MovieClipUses:10 12 17 327Used by:329
Symbol 329 MovieClipUses:9 326 328Used by:330
Symbol 330 MovieClipUses:316 320 324 292 4 22 329Used by:422
Symbol 331 GraphicUsed by:332 350
Symbol 332 MovieClipUses:331Used by:368 399
Symbol 333 GraphicUsed by:368
Symbol 334 GraphicUsed by:335
Symbol 335 MovieClipUses:334Used by:368
Symbol 336 GraphicUsed by:338 341 346 347
Symbol 337 GraphicUsed by:338
Symbol 338 ButtonUses:336 337Used by:341 347
Symbol 339 EditableTextUses:156Used by:340
Symbol 340 MovieClipUses:339Used by:341 346 347
Symbol 341 MovieClipUses:338 340 336Used by:368 399
Symbol 342 GraphicUsed by:345
Symbol 343 GraphicUsed by:345
Symbol 344 GraphicUsed by:345
Symbol 345 ButtonUses:342 76 343 344Used by:346
Symbol 346 MovieClipUses:345 340 336Used by:368 399
Symbol 347 MovieClipUses:338 340 336Used by:368 399
Symbol 348 EditableTextUses:109Used by:368
Symbol 349 EditableTextUses:38Used by:368
Symbol 350 ButtonUses:331Used by:368 399
Symbol 351 GraphicUsed by:354 356
Symbol 352 TextUses:46Used by:354
Symbol 353 GraphicUsed by:354 356
Symbol 354 MovieClipUses:351 352 353Used by:368
Symbol 355 TextUses:46Used by:356
Symbol 356 MovieClipUses:351 355 353Used by:368
Symbol 357 GraphicUsed by:358
Symbol 358 MovieClipUses:357Used by:368
Symbol 359 GraphicUsed by:360
Symbol 360 MovieClipUses:10 12 15 17 359Used by:363
Symbol 361 GraphicUsed by:362
Symbol 362 MovieClipUses:10 12 17 361Used by:363
Symbol 363 MovieClipUses:9 360 362Used by:368
Symbol 364 TextUses:156Used by:368
Symbol 365 ButtonUses:292Used by:368
Symbol 366 GraphicUsed by:367
Symbol 367 MovieClipUses:366Used by:368
Symbol 368 MovieClipUses:332 333 335 341 346 347 348 349 350 354 356 22 358 363 364 365 367Used by:422
Symbol 369 GraphicUsed by:370
Symbol 370 MovieClipUses:369Used by:377
Symbol 371 GraphicUsed by:377
Symbol 372 GraphicUsed by:377
Symbol 373 TextUses:150Used by:377
Symbol 374 GraphicUsed by:375
Symbol 375 ButtonUses:374Used by:377
Symbol 376 EditableTextUses:318Used by:377
Symbol 377 MovieClipUses:370 371 372 373 375 376Used by:422
Symbol 378 GraphicUsed by:381
Symbol 379 GraphicUsed by:380 847 856
Symbol 380 MovieClipUses:379Used by:381
Symbol 381 MovieClipUses:378 380Used by:422
Symbol 382 GraphicUsed by:383
Symbol 383 MovieClipUses:382Used by:399
Symbol 384 EditableTextUses:109Used by:399
Symbol 385 EditableTextUses:38Used by:399
Symbol 386 MovieClipUses:297Used by:399
Symbol 387 GraphicUsed by:388
Symbol 388 MovieClipUses:10 12 15 17 387Used by:391
Symbol 389 GraphicUsed by:390
Symbol 390 MovieClipUses:10 12 17 389Used by:391
Symbol 391 MovieClipUses:9 388 390Used by:399
Symbol 392 TextUses:46Used by:399
Symbol 393 GraphicUsed by:397
Symbol 394 GraphicUsed by:397
Symbol 395 GraphicUsed by:397
Symbol 396 GraphicUsed by:397
Symbol 397 ButtonUses:393 394 395 396 291Used by:398
Symbol 398 ButtonUses:397Used by:399
Symbol 399 MovieClipUses:332 383 341 346 347 384 385 350 386 22 391 392 398Used by:422
Symbol 400 GraphicUsed by:401
Symbol 401 MovieClipUses:400Used by:410
Symbol 402 GraphicUsed by:404
Symbol 403 TextUses:150Used by:404
Symbol 404 ButtonUses:402 403Used by:410
Symbol 405 GraphicUsed by:408
Symbol 406 GraphicUsed by:408
Symbol 407 GraphicUsed by:408 709
Symbol 408 ButtonUses:405 406 61 407Used by:410
Symbol 409 MovieClipUses:48Used by:410
Symbol 410 MovieClipUses:401 404 408 409 22Used by:422
Symbol 411 EditableTextUses:46Used by:421
Symbol 412 GraphicUsed by:417 420
Symbol 413 TextUses:46Used by:417
Symbol 414 GraphicUsed by:417
Symbol 415 GraphicUsed by:417 420
Symbol 416 GraphicUsed by:417 420
Symbol 417 ButtonUses:412 413 414 415 416Used by:421
Symbol 418 TextUses:46Used by:420
Symbol 419 GraphicUsed by:420
Symbol 420 ButtonUses:412 418 419 415 416Used by:421
Symbol 421 MovieClipUses:411 417 420Used by:422
Symbol 422 MovieClip {controller.Controller_MainViewLayout} [main view]Uses:2 24 289 314 330 368 377 381 399 410 421
Symbol 423 GraphicUsed by:424
Symbol 424 MovieClipUses:423Used by:460 461
Symbol 425 MovieClip {fl.core.ComponentShim} [fl.core.ComponentShim]Used by:460 461 462
Symbol 426 GraphicUsed by:427
Symbol 427 MovieClip {TextArea_disabledSkin} [TextArea_disabledSkin]Uses:426Used by:461
Symbol 428 GraphicUsed by:429
Symbol 429 MovieClip {TextArea_upSkin} [TextArea_upSkin]Uses:428Used by:461
Symbol 430 GraphicUsed by:431
Symbol 431 MovieClip {focusRectSkin} [focusRectSkin]Uses:430Used by:460 461 462
Symbol 432 GraphicUsed by:433
Symbol 433 MovieClip {ScrollTrack_skin} [ScrollTrack_skin]Uses:432Used by:460 462
Symbol 434 GraphicUsed by:437
Symbol 435 GraphicUsed by:436 439 443 453
Symbol 436 MovieClipUses:435Used by:437 447 449
Symbol 437 MovieClip {ScrollArrowUp_downSkin} [ScrollArrowUp_downSkin]Uses:434 436Used by:460 462
Symbol 438 GraphicUsed by:439
Symbol 439 MovieClip {ScrollArrowDown_downSkin} [ScrollArrowDown_downSkin]Uses:438 435Used by:460 462
Symbol 440 GraphicUsed by:441
Symbol 441 MovieClip {ScrollThumb_downSkin} [ScrollThumb_downSkin]Uses:440Used by:460 462
Symbol 442 GraphicUsed by:443
Symbol 443 MovieClip {ScrollArrowDown_overSkin} [ScrollArrowDown_overSkin]Uses:442 435Used by:460 462
Symbol 444 GraphicUsed by:445
Symbol 445 MovieClip {ScrollThumb_overSkin} [ScrollThumb_overSkin]Uses:444Used by:460 462
Symbol 446 GraphicUsed by:447
Symbol 447 MovieClip {ScrollArrowUp_overSkin} [ScrollArrowUp_overSkin]Uses:446 436Used by:460 462
Symbol 448 GraphicUsed by:449
Symbol 449 MovieClip {ScrollArrowUp_upSkin} [ScrollArrowUp_upSkin]Uses:448 436Used by:460 462
Symbol 450 GraphicUsed by:451
Symbol 451 MovieClip {ScrollThumb_upSkin} [ScrollThumb_upSkin]Uses:450Used by:460 462
Symbol 452 GraphicUsed by:453
Symbol 453 MovieClip {ScrollArrowDown_upSkin} [ScrollArrowDown_upSkin]Uses:452 435Used by:460 462
Symbol 454 GraphicUsed by:455
Symbol 455 MovieClip {ScrollArrowDown_disabledSkin} [ScrollArrowDown_disabledSkin]Uses:454Used by:460 462
Symbol 456 GraphicUsed by:457
Symbol 457 MovieClip {ScrollArrowUp_disabledSkin} [ScrollArrowUp_disabledSkin]Uses:456Used by:460 462
Symbol 458 GraphicUsed by:459
Symbol 459 MovieClip {ScrollBar_thumbIcon} [ScrollBar_thumbIcon]Uses:458Used by:460 462
Symbol 460 MovieClip {fl.controls.UIScrollBar} [fl.controls.UIScrollBar]Uses:424 425 431 433 437 439 441 443 445 447 449 451 453 455 457 459Used by:461
Symbol 461 MovieClip {fl.controls.TextArea} [fl.controls.TextArea]Uses:424 425 427 429 431 460
Symbol 462 MovieClip {fl.controls.ScrollBar} [fl.controls.ScrollBar]Uses:433 425 431 437 439 441 443 445 447 449 451 453 455 457 459
Symbol 463 GraphicUsed by:466 777 779
Symbol 464 GraphicUsed by:466
Symbol 465 GraphicUsed by:466
Symbol 466 MovieClip {view.HotspotClip_IconInteractivity} [icon_Interactivity_HS]Uses:463 464 465
Symbol 467 GraphicUsed by:471
Symbol 468 GraphicUsed by:471 860 863
Symbol 469 GraphicUsed by:471
Symbol 470 GraphicUsed by:471
Symbol 471 MovieClip {view.HotspotClip_IconPDF} [icon_PDF_HS]Uses:467 468 469 470
Symbol 472 EditableTextUses:38 109 199Used by:473
Symbol 473 MovieClip {view.HotspotClip_TooltipHolder} [tooltip_Holder]Uses:472
Symbol 474 GraphicUsed by:478 506 774 775 778
Symbol 475 GraphicUsed by:478 506 774 775 778
Symbol 476 TextUses:46Used by:478
Symbol 477 GraphicUsed by:478 506
Symbol 478 MovieClip {view.HotspotClip_Icon_5} [icon_type_5]Uses:474 475 476 477
Symbol 479 GraphicUsed by:480 483 484
Symbol 480 MovieClipUses:479Used by:483 484
Symbol 481 GraphicUsed by:483 484
Symbol 482 GraphicUsed by:483 484
Symbol 483 MovieClipUses:480 481 482 479Used by:484
Symbol 484 MovieClip {view.HotspotClip_Icon_2} [icon_type_2]Uses:480 481 482 483 479
Symbol 485 GraphicUsed by:504
Symbol 486 GraphicUsed by:503 504
Symbol 487 GraphicUsed by:501
Symbol 488 GraphicUsed by:501
Symbol 489 GraphicUsed by:501
Symbol 490 GraphicUsed by:501
Symbol 491 GraphicUsed by:501
Symbol 492 GraphicUsed by:501
Symbol 493 GraphicUsed by:501
Symbol 494 GraphicUsed by:501
Symbol 495 GraphicUsed by:501
Symbol 496 GraphicUsed by:501
Symbol 497 GraphicUsed by:501
Symbol 498 GraphicUsed by:501
Symbol 499 GraphicUsed by:501
Symbol 500 GraphicUsed by:501
Symbol 501 MovieClipUses:487 488 489 490 491 492 493 494 495 496 497 498 499 500Used by:504
Symbol 502 GraphicUsed by:503
Symbol 503 ButtonUses:486 502Used by:504
Symbol 504 MovieClip {view.HotspotClip_Icon_1} [icon_type_1]Uses:485 486 501 503
Symbol 505 TextUses:46Used by:506
Symbol 506 MovieClip {view.HotspotClip_Icon_4} [icon_type_4]Uses:474 475 505 477
Symbol 507 GraphicUsed by:511 512
Symbol 508 GraphicUsed by:511 512
Symbol 509 GraphicUsed by:511 512
Symbol 510 GraphicUsed by:511 512
Symbol 511 MovieClipUses:507 508 509 510Used by:512
Symbol 512 MovieClip {view.HotspotClip_Icon_3} [icon_type_3]Uses:507 508 509 511 510
Symbol 513 GraphicUsed by:514 522
Symbol 514 MovieClip {view.HotspotClip_IconDefault} [icon_Default_HS]Uses:513
Symbol 515 GraphicUsed by:516 517 518
Symbol 516 ButtonUses:515Used by:517
Symbol 517 MovieClipUses:516 515Used by:518
Symbol 518 MovieClip {view.HotspotClip_AudioIcon} [audio icon]Uses:517 515
Symbol 519 BitmapUsed by:520
Symbol 520 GraphicUses:519Used by:521
Symbol 521 MovieClip {view.HotspotClip_IconHTML} [icon_HTML_HS]Uses:520
Symbol 522 MovieClip {view.HotspotClip_IconDOC} [icon_DOC_HS]Uses:513
Symbol 523 GraphicUsed by:524
Symbol 524 MovieClipUses:523Used by:527
Symbol 525 GraphicUsed by:526
Symbol 526 MovieClipUses:525Used by:527
Symbol 527 MovieClip {CustomScrollPaneGfx} [CustomScrollPaneGfx]Uses:524 526
Symbol 528 GraphicUsed by:529
Symbol 529 MovieClip {view.Content_ZoomToCursor} [mcZoomToCursor]Uses:528
Symbol 530 GraphicUsed by:533 535
Symbol 531 GraphicUsed by:533
Symbol 532 GraphicUsed by:533 535
Symbol 533 ButtonUses:530 531 532Used by:535
Symbol 534 EditableTextUses:254Used by:535
Symbol 535 MovieClip {view.ResourcePanel_ResourceLink} [mcResourceLink]Uses:533 534 532 530
Symbol 536 GraphicUsed by:598
Symbol 537 GraphicUsed by:538
Symbol 538 MovieClipUses:537Used by:547 550 556
Symbol 539 GraphicUsed by:540 691
Symbol 540 MovieClipUses:539Used by:547
Symbol 541 GraphicUsed by:542
Symbol 542 MovieClipUses:541Used by:547 550 556
Symbol 543 GraphicUsed by:544
Symbol 544 MovieClipUses:543Used by:547 550 556
Symbol 545 GraphicUsed by:546 685
Symbol 546 MovieClipUses:545Used by:547
Symbol 547 MovieClipUses:538 540 542 544 546Used by:598
Symbol 548 GraphicUsed by:549
Symbol 549 MovieClipUses:548Used by:550 610 613 616 617
Symbol 550 MovieClipUses:538 549 542 544Used by:598
Symbol 551 GraphicUsed by:552
Symbol 552 MovieClipUses:551Used by:556
Symbol 553 GraphicUsed by:556
Symbol 554 GraphicUsed by:555
Symbol 555 MovieClipUses:554Used by:556
Symbol 556 MovieClipUses:538 552 542 544 553 555Used by:598
Symbol 557 GraphicUsed by:558
Symbol 558 MovieClipUses:557Used by:561 622
Symbol 559 GraphicUsed by:560
Symbol 560 MovieClipUses:559Used by:561
Symbol 561 MovieClip {components_fla.VolumeBarFullness_136} [components_fla.VolumeBarFullness_136]Uses:558 560Used by:565
Symbol 562 GraphicUsed by:565
Symbol 563 GraphicUsed by:564
Symbol 564 MovieClipUses:563Used by:565
Symbol 565 MovieClip {components_fla.VolumeBar_135} [components_fla.VolumeBar_135]Uses:561 562 564Used by:569
Symbol 566 GraphicUsed by:568 624 647
Symbol 567 GraphicUsed by:568
Symbol 568 MovieClipUses:566 567Used by:569 577
Symbol 569 MovieClip {components_fla.VolControl_134} [components_fla.VolControl_134]Uses:565 568Used by:598
Symbol 570 GraphicUsed by:577
Symbol 571 GraphicUsed by:572
Symbol 572 MovieClipUses:571Used by:577
Symbol 573 GraphicUsed by:574
Symbol 574 MovieClipUses:573Used by:577
Symbol 575 GraphicUsed by:576
Symbol 576 MovieClip {components_fla.SeekBar_144} [components_fla.SeekBar_144]Uses:575Used by:577
Symbol 577 MovieClip {components_fla.SeekControl_141} [components_fla.SeekControl_141]Uses:570 572 574 576 568Used by:598
Symbol 578 GraphicUsed by:579
Symbol 579 MovieClipUses:578Used by:586
Symbol 580 GraphicUsed by:581
Symbol 581 MovieClipUses:580Used by:586 628 631 634 635
Symbol 582 GraphicUsed by:583
Symbol 583 MovieClipUses:582Used by:586
Symbol 584 GraphicUsed by:585
Symbol 585 MovieClipUses:584Used by:586
Symbol 586 MovieClipUses:579 581 583 585Used by:598
Symbol 587 GraphicUsed by:588
Symbol 588 MovieClipUses:587Used by:595
Symbol 589 GraphicUsed by:590
Symbol 590 MovieClipUses:589Used by:595 653 656 659 660
Symbol 591 GraphicUsed by:592
Symbol 592 MovieClipUses:591Used by:595
Symbol 593 GraphicUsed by:594
Symbol 594 MovieClipUses:593Used by:595
Symbol 595 MovieClipUses:588 590 592 594Used by:598
Symbol 596 GraphicUsed by:597
Symbol 597 MovieClip {fl.video.skin.ForwardBackBorder} [fl.video.skin.ForwardBackBorder]Uses:596Used by:598
Symbol 598 MovieClip {AudioPlayerGfx} [AudioPlayerGfx]Uses:536 547 550 556 569 577 586 595 597
Symbol 599 MovieClipUses:9 309 311Used by:600
Symbol 600 MovieClip {view.TableOfContent_mcListPanelRight} [mcListPanelRight]Uses:296 298 22 599
Symbol 601 GraphicUsed by:603
Symbol 602 GraphicUsed by:603
Symbol 603 ButtonUses:601 602Used by:604
Symbol 604 MovieClipUses:603Used by:607
Symbol 605 FontUsed by:606 698 704 719 854
Symbol 606 EditableTextUses:254 605 808 811Used by:607
Symbol 607 MovieClip {view.GlossaryPanel_glossaryWord} [mcGlossaryWord]Uses:604 606
Symbol 608 GraphicUsed by:609
Symbol 609 MovieClipUses:608Used by:610 617 666 669 673 676 686 687 692 695
Symbol 610 MovieClip {StopButtonNormal} [StopButtonNormal]Uses:609 549Used by:618
Symbol 611 GraphicUsed by:612
Symbol 612 MovieClipUses:611Used by:613 667 674 688 693
Symbol 613 MovieClip {StopButtonOver} [StopButtonOver]Uses:612 549Used by:618
Symbol 614 GraphicUsed by:615
Symbol 615 MovieClipUses:614Used by:616 668 675 689 694
Symbol 616 MovieClip {StopButtonDown} [StopButtonDown]Uses:615 549Used by:618
Symbol 617 MovieClip {StopButtonDisabled} [StopButtonDisabled]Uses:609 549Used by:618
Symbol 618 MovieClip {StopButton} [StopButton]Uses:610 613 616 617
Symbol 619 GraphicUsed by:625
Symbol 620 GraphicUsed by:621
Symbol 621 MovieClip {VolumeBarProgress} [VolumeBarProgress]Uses:620Used by:622
Symbol 622 MovieClip {components_fla.VolumeBarFullness_72} [components_fla.VolumeBarFullness_72]Uses:558 621Used by:625
Symbol 623 GraphicUsed by:624 647
Symbol 624 MovieClip {VolumeBarHandle} [VolumeBarHandle]Uses:566 623Used by:625
Symbol 625 MovieClip {VolumeBar} [VolumeBar]Uses:619 622 624
Symbol 626 GraphicUsed by:627
Symbol 627 MovieClipUses:626Used by:628 635
Symbol 628 MovieClip {BackButtonNormal} [BackButtonNormal]Uses:627 581Used by:640
Symbol 629 GraphicUsed by:630
Symbol 630 MovieClipUses:629Used by:631
Symbol 631 MovieClip {BackButtonOver} [BackButtonOver]Uses:630 581Used by:640
Symbol 632 GraphicUsed by:633
Symbol 633 MovieClipUses:632Used by:634
Symbol 634 MovieClip {BackButtonDown} [BackButtonDown]Uses:633 581Used by:640
Symbol 635 MovieClip {BackButtonDisabled} [BackButtonDisabled]Uses:627 581Used by:640
Symbol 636 GraphicUsed by:637
Symbol 637 MovieClipUses:636Used by:640
Symbol 638 GraphicUsed by:639
Symbol 639 MovieClipUses:638Used by:640 663
Symbol 640 MovieClip {BackButton} [BackButton]Uses:628 631 634 635 637 639
Symbol 641 GraphicUsed by:643
Symbol 642 TextUses:318Used by:643
Symbol 643 MovieClip {FastForward} [FastForward]Uses:641 642
Symbol 644 GraphicUsed by:648
Symbol 645 GraphicUsed by:646
Symbol 646 MovieClip {SeekBarProgress} [SeekBarProgress]Uses:645Used by:648
Symbol 647 MovieClip {SeekBarHandle} [SeekBarHandle]Uses:566 623Used by:648
Symbol 648 MovieClip {SeekBar} [SeekBar]Uses:644 646 647
Symbol 649 EditableTextUses:318Used by:650
Symbol 650 MovieClip {TimerClip} [TimerClip]Uses:649
Symbol 651 GraphicUsed by:652
Symbol 652 MovieClipUses:651Used by:653 660
Symbol 653 MovieClip {ForwardButtonNormal} [ForwardButtonNormal]Uses:652 590Used by:663
Symbol 654 GraphicUsed by:655
Symbol 655 MovieClipUses:654Used by:656
Symbol 656 MovieClip {ForwardButtonOver} [ForwardButtonOver]Uses:655 590Used by:663
Symbol 657 GraphicUsed by:658
Symbol 658 MovieClipUses:657Used by:659
Symbol 659 MovieClip {ForwardButtonDown} [ForwardButtonDown]Uses:658 590Used by:663
Symbol 660 MovieClip {ForwardButtonDisabled} [ForwardButtonDisabled]Uses:652 590Used by:663
Symbol 661 GraphicUsed by:662
Symbol 662 MovieClipUses:661Used by:663
Symbol 663 MovieClip {ForwardButton} [ForwardButton]Uses:653 656 659 660 662 639
Symbol 664 GraphicUsed by:665
Symbol 665 MovieClipUses:664Used by:666 667 668 669
Symbol 666 MovieClip {FullScreenButtonOffNormal} [FullScreenButtonOffNormal]Uses:609 665Used by:670
Symbol 667 MovieClip {FullScreenButtonOffOver} [FullScreenButtonOffOver]Uses:612 665Used by:670
Symbol 668 MovieClip {FullScreenButtonOffDown} [FullScreenButtonOffDown]Uses:615 665Used by:670
Symbol 669 MovieClip {FullScreenButtonOffDisabled} [FullScreenButtonOffDisabled]Uses:609 665Used by:670
Symbol 670 MovieClip {FullScreenButtonOff} [FullScreenButtonOff]Uses:666 667 668 669Used by:678
Symbol 671 GraphicUsed by:672
Symbol 672 MovieClipUses:671Used by:673 674 675 676
Symbol 673 MovieClip {FullScreenButtonOnNormal} [FullScreenButtonOnNormal]Uses:609 672Used by:677
Symbol 674 MovieClip {FullScreenButtonOnOver} [FullScreenButtonOnOver]Uses:612 672Used by:677
Symbol 675 MovieClip {FullScreenButtonOnDown} [FullScreenButtonOnDown]Uses:615 672Used by:677
Symbol 676 MovieClip {FullScreenButtonOnDisabled} [FullScreenButtonOnDisabled]Uses:609 672Used by:677
Symbol 677 MovieClip {FullScreenButtonOn} [FullScreenButtonOn]Uses:673 674 675 676Used by:678
Symbol 678 MovieClip {FullScreenButton} [FullScreenButton]Uses:670 677
Symbol 679 GraphicUsed by:680
Symbol 680 MovieClipUses:679Used by:684
Symbol 681 BitmapUsed by:682
Symbol 682 GraphicUses:681Used by:683
Symbol 683 MovieClip {fl.video.Icon} [fl.video.Icon]Uses:682Used by:684
Symbol 684 MovieClip {fl.video.FLVPlayback} [fl.video.FLVPlayback]Uses:680 683
Symbol 685 MovieClipUses:545Used by:686 687 688 689
Symbol 686 MovieClip {PauseButtonNormal} [PauseButtonNormal]Uses:609 685Used by:690
Symbol 687 MovieClip {PauseButtonDisabled} [PauseButtonDisabled]Uses:609 685Used by:690
Symbol 688 MovieClip {PauseButtonOver} [PauseButtonOver]Uses:612 685Used by:690
Symbol 689 MovieClip {PauseButtonDown} [PauseButtonDown]Uses:615 685Used by:690
Symbol 690 MovieClip {PauseButton} [PauseButton]Uses:686 687 688 689Used by:697
Symbol 691 MovieClipUses:539Used by:692 693 694 695
Symbol 692 MovieClip {PlayButtonNormal} [PlayButtonNormal]Uses:609 691Used by:696
Symbol 693 MovieClip {PlayButtonOver} [PlayButtonOver]Uses:612 691Used by:696
Symbol 694 MovieClip {PlayButtonDown} [PlayButtonDown]Uses:615 691Used by:696
Symbol 695 MovieClip {PlayButtonDisabled} [PlayButtonDisabled]Uses:609 691Used by:696
Symbol 696 MovieClip {PlayButton} [PlayButton]Uses:692 693 694 695Used by:697
Symbol 697 MovieClip {PlayPauseButton} [PlayPauseButton]Uses:690 696
Symbol 698 EditableTextUses:254 605 808 811Used by:706
Symbol 699 GraphicUsed by:701
Symbol 700 GraphicUsed by:701
Symbol 701 ButtonUses:699 700Used by:705
Symbol 702 GraphicUsed by:703
Symbol 703 MovieClipUses:702Used by:705
Symbol 704 EditableTextUses:254 605 808 811Used by:705
Symbol 705 MovieClip {view.IndexPanel_LinkData} [mcIndexLinkData]Uses:701 703 704Used by:706
Symbol 706 MovieClip {view.IndexPanel_IndexListItem} [mcIndexListItem]Uses:698 705
Symbol 707 GraphicUsed by:709
Symbol 708 GraphicUsed by:709
Symbol 709 ButtonUses:707 708 61 407Used by:720
Symbol 710 GraphicUsed by:717
Symbol 711 GraphicUsed by:713
Symbol 712 GraphicUsed by:713
Symbol 713 ButtonUses:711 712Used by:717
Symbol 714 GraphicUsed by:717
Symbol 715 GraphicUsed by:717
Symbol 716 GraphicUsed by:717
Symbol 717 MovieClipUses:710 713 714 715 716Used by:718
Symbol 718 MovieClipUses:717Used by:720
Symbol 719 EditableTextUses:254 605 808 811Used by:720 725
Symbol 720 MovieClip {view.BookMarkPanel_ResultBar} [mcBookMarkResultBar]Uses:709 718 719
Symbol 721 GraphicUsed by:724
Symbol 722 GraphicUsed by:724
Symbol 723 GraphicUsed by:724
Symbol 724 ButtonUses:721 722 723Used by:725
Symbol 725 MovieClip {view.ResourcePanel_ResultBar} [mcSearchResultBar]Uses:724 719
Symbol 726 GraphicUsed by:727
Symbol 727 MovieClipUses:726Used by:742
Symbol 728 GraphicUsed by:729
Symbol 729 MovieClipUses:728Used by:742
Symbol 730 GraphicUsed by:731
Symbol 731 MovieClipUses:730Used by:741
Symbol 732 GraphicUsed by:733
Symbol 733 MovieClipUses:732Used by:741
Symbol 734 GraphicUsed by:735
Symbol 735 MovieClipUses:734Used by:741
Symbol 736 GraphicUsed by:738
Symbol 737 GraphicUsed by:738
Symbol 738 MovieClip {components_fla.popupWindowRestoreBtn_8} [components_fla.popupWindowRestoreBtn_8]Uses:736 737Used by:741
Symbol 739 FontUsed by:740
Symbol 740 EditableTextUses:739Used by:741
Symbol 741 MovieClip {components_fla.headerBar_4} [components_fla.headerBar_4]Uses:731 733 735 738 740Used by:742
Symbol 742 MovieClip {PopupWindowGfx} [PopupWindowGfx]Uses:727 729 741
Symbol 743 GraphicUsed by:744
Symbol 744 MovieClipUses:743Used by:751
Symbol 745 GraphicUsed by:746
Symbol 746 MovieClip {hScrollBg} [hScrollBg]Uses:745Used by:751
Symbol 747 GraphicUsed by:748
Symbol 748 MovieClipUses:747Used by:751
Symbol 749 GraphicUsed by:750
Symbol 750 MovieClip {hScrollThumb} [hScrollThumb]Uses:749Used by:751
Symbol 751 MovieClip {HScrollBarGfx} [HScrollBarGfx]Uses:744 746 748 750
Symbol 752 GraphicUsed by:753
Symbol 753 MovieClipUses:752Used by:760
Symbol 754 GraphicUsed by:755
Symbol 755 MovieClipUses:754Used by:760
Symbol 756 GraphicUsed by:757
Symbol 757 MovieClipUses:756Used by:760
Symbol 758 GraphicUsed by:759
Symbol 759 MovieClipUses:758Used by:760
Symbol 760 MovieClip {VScrollBarGfx} [VScrollBarGfx]Uses:753 755 757 759
Symbol 761 Sound {view.AdvanceFeatures.PageFlip.PageFlipHandler_TURN_SOUND} [turnSound]
Symbol 762 GraphicUsed by:764
Symbol 763 GraphicUsed by:764
Symbol 764 MovieClipUses:762 763Used by:767
Symbol 765 GraphicUsed by:766
Symbol 766 MovieClipUses:765Used by:767
Symbol 767 MovieClip {controller.HighlightHandler_CustomCursorClip} [mcCustomCursorClip]Uses:764 766
Symbol 768 GraphicUsed by:770 786
Symbol 769 GraphicUsed by:770
Symbol 770 MovieClip {controller.HighlightHandler_McCross} [mcCross]Uses:768 769
Symbol 771 GraphicUsed by:773
Symbol 772 GraphicUsed by:773
Symbol 773 MovieClip {view.Grabber__classGrabCursor} [mcGrabCursor]Uses:771 772
Symbol 774 MovieClip {view.ContentPage_InActiveMode_5} [mc_InactiveIcon_5]Uses:474 475
Symbol 775 MovieClip {view.ContentPage_InActiveMode_3} [mc_InactiveIcon_3]Uses:474 475
Symbol 776 GraphicUsed by:777 779
Symbol 777 MovieClip {view.ContentPage_InActiveMode_4} [mc_InactiveIcon_4]Uses:463 776
Symbol 778 MovieClip {view.ContentPage_InActiveMode_1} [mc_InactiveIcon_1]Uses:474 475
Symbol 779 MovieClip {view.ContentPage_InActiveMode_2} [mc_InactiveIcon_2]Uses:463 776
Symbol 780 GraphicUsed by:781
Symbol 781 MovieClip {view.ContentPage_NotesCursor} [mcNotesCursor]Uses:780
Symbol 782 GraphicUsed by:783
Symbol 783 MovieClipUses:782Used by:787
Symbol 784 EditableTextUses:46Used by:787
Symbol 785 GraphicUsed by:786
Symbol 786 MovieClipUses:768 785Used by:787
Symbol 787 MovieClip {view.ContentPage_TestModeDisplay} [mcTestMode]Uses:783 784 786
Symbol 788 MovieClipUses:29 321Used by:790
Symbol 789 EditableTextUses:285Used by:790
Symbol 790 MovieClipUses:788 789Used by:807
Symbol 791 GraphicUsed by:793 794 796 797
Symbol 792 TextUses:46Used by:793 794
Symbol 793 MovieClipUses:791 792Used by:794
Symbol 794 ButtonUses:793 791 792Used by:807
Symbol 795 TextUses:46Used by:796 797
Symbol 796 MovieClipUses:791 795Used by:797
Symbol 797 ButtonUses:796 791 795Used by:807
Symbol 798 GraphicUsed by:799 800
Symbol 799 MovieClipUses:798Used by:800
Symbol 800 ButtonUses:799 798Used by:807
Symbol 801 GraphicUsed by:802
Symbol 802 MovieClipUses:801Used by:807
Symbol 803 EditableTextUses:285Used by:807
Symbol 804 GraphicUsed by:805 806
Symbol 805 MovieClipUses:804Used by:806
Symbol 806 ButtonUses:805 804Used by:807
Symbol 807 MovieClip {view.ContentPage_NotesIcon} [notes icon]Uses:790 794 797 800 802 803 806
Symbol 808 FontUsed by:606 698 704 719 809
Symbol 809 EditableTextUses:808Used by:824
Symbol 810 EditableTextUses:254Used by:824
Symbol 811 FontUsed by:606 698 704 719 812
Symbol 812 EditableTextUses:811Used by:824
Symbol 813 GraphicUsed by:814
Symbol 814 MovieClipUses:813Used by:824
Symbol 815 GraphicUsed by:816
Symbol 816 MovieClipUses:815Used by:824
Symbol 817 GraphicUsed by:821
Symbol 818 GraphicUsed by:821
Symbol 819 GraphicUsed by:821
Symbol 820 GraphicUsed by:821
Symbol 821 ButtonUses:817 818 819 820Used by:824
Symbol 822 EditableTextUses:254Used by:824
Symbol 823 EditableTextUses:254Used by:824
Symbol 824 MovieClip {view.List_ListItem} [mcListItem]Uses:809 810 812 814 816 821 822 823
Symbol 825 GraphicUsed by:826
Symbol 826 MovieClipUses:825Used by:842
Symbol 827 GraphicUsed by:842
Symbol 828 GraphicUsed by:834 838
Symbol 829 GraphicUsed by:832 836
Symbol 830 FontUsed by:831 835
Symbol 831 TextUses:830Used by:832
Symbol 832 MovieClipUses:829 831Used by:834
Symbol 833 GraphicUsed by:834
Symbol 834 MovieClip {components_fla.addNoteBtn_103} [components_fla.addNoteBtn_103]Uses:828 832 833Used by:842
Symbol 835 TextUses:830Used by:836
Symbol 836 MovieClipUses:829 835Used by:838
Symbol 837 GraphicUsed by:838
Symbol 838 MovieClip {components_fla.deleteNoteBtn_105} [components_fla.deleteNoteBtn_105]Uses:828 836 837Used by:842
Symbol 839 MovieClipUsed by:842
Symbol 840 FontUsed by:841
Symbol 841 EditableTextUses:840Used by:842
Symbol 842 MovieClip {NotesThumbnailGfx} [NotesThumbnailGfx]Uses:826 827 834 838 839 841
Symbol 843 GraphicUsed by:845
Symbol 844 GraphicUsed by:845
Symbol 845 MovieClipUses:843 844Used by:850
Symbol 846 GraphicUsed by:847 856
Symbol 847 MovieClipUses:846 379Used by:849
Symbol 848 EditableTextUses:46 150 285 318Used by:849
Symbol 849 MovieClip {view.AdvanceFeatures.Playlist.view.UserPlaylistItem_Label} [mcPlaylistLabel]Uses:847 848Used by:850
Symbol 850 MovieClip {view.AdvanceFeatures.Playlist.view.PlaylistItem_CheckboxAndLabel} [mcPlaylistLabelCheckbox]Uses:845 849
Symbol 851 MovieClipUses:1Used by:855
Symbol 852 GraphicUsed by:853
Symbol 853 MovieClipUses:852Used by:855
Symbol 854 EditableTextUses:605Used by:855
Symbol 855 MovieClip {view.BreadCrumbPanel_BCLink} [mcBCLink]Uses:851 853 854
Symbol 856 MovieClipUses:846 379Used by:858
Symbol 857 EditableTextUses:46 150 285 318Used by:858
Symbol 858 MovieClipUses:856 857Used by:866
Symbol 859 GraphicUsed by:860 863
Symbol 860 ButtonUses:468 859Used by:862
Symbol 861 TextUses:150Used by:862
Symbol 862 MovieClipUses:860 861Used by:866
Symbol 863 ButtonUses:468 859Used by:865
Symbol 864 TextUses:150Used by:865
Symbol 865 MovieClipUses:863 864Used by:866
Symbol 866 MovieClip {view.AdvanceFeatures.Playlist.view.WeblinkPlaylistItem_Label} [mcPlayListWeblink]Uses:858 862 865
Symbol 867 BitmapUsed by:868
Symbol 868 GraphicUses:867Used by:869
Symbol 869 MovieClipUses:868Used by:876
Symbol 870 BitmapUsed by:871
Symbol 871 GraphicUses:870Used by:872
Symbol 872 MovieClipUses:871Used by:876
Symbol 873 BitmapUsed by:874
Symbol 874 GraphicUses:873Used by:875
Symbol 875 MovieClipUses:874Used by:876
Symbol 876 MovieClip {view.Tree_ItemStatus} [mcItemStatus]Uses:869 872 875

Instance Names

"mcThumbBg"Symbol 18 MovieClip Frame 1Symbol 12 MovieClip
"mcThumb"Symbol 18 MovieClip Frame 1Symbol 12 MovieClip
"btnDown"Symbol 18 MovieClip Frame 1Symbol 15 Button
"btnUp"Symbol 18 MovieClip Frame 1Symbol 17 Button
"mcThumbBg"Symbol 20 MovieClip Frame 1Symbol 12 MovieClip
"mcThumb"Symbol 20 MovieClip Frame 1Symbol 12 MovieClip
"btnRight"Symbol 20 MovieClip Frame 1Symbol 17 Button
"btnLeft"Symbol 20 MovieClip Frame 1Symbol 17 Button
"mcPatch"Symbol 21 MovieClip Frame 1Symbol 9 MovieClip
"mcVertical"Symbol 21 MovieClip Frame 1Symbol 18 MovieClip
"mcHorizontal"Symbol 21 MovieClip Frame 1Symbol 20 MovieClip
"mcMask"Symbol 24 MovieClip Frame 1Symbol 4 MovieClip
"mcHolder"Symbol 24 MovieClip Frame 1Symbol 7 MovieClip
"mcScrollbars"Symbol 24 MovieClip Frame 1Symbol 21 MovieClip
"mcSRContent"Symbol 24 MovieClip Frame 1Symbol 22 MovieClip
"mcDragBar"Symbol 75 MovieClip Frame 1Symbol 49 MovieClip
"btnPlay"Symbol 75 MovieClip Frame 1Symbol 58 MovieClip
"btnClose"Symbol 75 MovieClip Frame 1Symbol 65 MovieClip
"btnRewind"Symbol 75 MovieClip Frame 1Symbol 68 MovieClip
"mc_seekBar"Symbol 75 MovieClip Frame 1Symbol 70 MovieClip
"mc_thumb"Symbol 75 MovieClip Frame 1Symbol 74 MovieClip
"mcColor"Symbol 136 MovieClip Frame 1Symbol 134 MovieClip
"mcColor"Symbol 139 MovieClip Frame 1Symbol 137 MovieClip
"mcColor"Symbol 143 MovieClip Frame 1Symbol 141 MovieClip
"btnVideo"Symbol 171 MovieClip Frame 1Symbol 170 Button
"btnAnimation"Symbol 177 MovieClip Frame 1Symbol 176 Button
"btnVocabulary"Symbol 182 MovieClip Frame 1Symbol 181 Button
"btnComprehension"Symbol 187 MovieClip Frame 1Symbol 186 Button
"btnQuiz"Symbol 193 MovieClip Frame 1Symbol 192 Button
"btnGroup"Symbol 198 MovieClip Frame 1Symbol 197 Button
"btnHTML"Symbol 203 MovieClip Frame 1Symbol 202 Button
"btnPDF"Symbol 204 MovieClip Frame 1Symbol 170 Button
"mcDisableStudent"Symbol 251 MovieClip Frame 1Symbol 247 MovieClip
"mcDisableTeacher"Symbol 251 MovieClip Frame 1Symbol 250 Button
"btnStudent"Symbol 252 MovieClip Frame 1Symbol 237 MovieClip
"btnTeacher"Symbol 252 MovieClip Frame 1Symbol 242 MovieClip
"mcDisableEdition"Symbol 252 MovieClip Frame 1Symbol 251 MovieClip
"btnBack"Symbol 289 MovieClip Frame 1Symbol 41 MovieClip
"btnNext"Symbol 289 MovieClip Frame 1Symbol 45 MovieClip
"txtPage"Symbol 289 MovieClip Frame 1Symbol 47 EditableText
"mc_AudioController"Symbol 289 MovieClip Frame 1Symbol 75 MovieClip
"mcToolBg"Symbol 289 MovieClip Frame 1Symbol 77 MovieClip
"btnTOC"Symbol 289 MovieClip Frame 1Symbol 86 MovieClip
"btnShowHideIcons"Symbol 289 MovieClip Frame 1Symbol 93 MovieClip
"mcFacing"Symbol 289 MovieClip Frame 1Symbol 97 MovieClip
"mcSinglePage"Symbol 289 MovieClip Frame 1Symbol 101 MovieClip
"btnZoomOut"Symbol 289 MovieClip Frame 1Symbol 105 MovieClip
"btnFitToPage"Symbol 289 MovieClip Frame 1Symbol 111 MovieClip
"btnZoomIn"Symbol 289 MovieClip Frame 1Symbol 115 MovieClip
"btnZoomTo"Symbol 289 MovieClip Frame 1Symbol 120 MovieClip
"mcNotes"Symbol 289 MovieClip Frame 1Symbol 126 MovieClip
"mcHighlighter"Symbol 289 MovieClip Frame 1Symbol 132 MovieClip
"mcHilightColor_2"Symbol 289 MovieClip Frame 1Symbol 136 MovieClip
"mcHilightColor_1"Symbol 289 MovieClip Frame 1Symbol 139 MovieClip
"mcHilightColor_0"Symbol 289 MovieClip Frame 1Symbol 143 MovieClip
"mcExtraContent"Symbol 289 MovieClip Frame 1Symbol 146 MovieClip
"mcGlossary"Symbol 289 MovieClip Frame 1Symbol 152 MovieClip
"btnSearch"Symbol 289 MovieClip Frame 1Symbol 158 MovieClip
"btnEbookHelp"Symbol 289 MovieClip Frame 1Symbol 162 MovieClip
"btnVideo"Symbol 289 MovieClip Frame 1Symbol 171 MovieClip
"btnAnimation"Symbol 289 MovieClip Frame 1Symbol 177 MovieClip
"btnVocabulary"Symbol 289 MovieClip Frame 1Symbol 182 MovieClip
"btnComprehension"Symbol 289 MovieClip Frame 1Symbol 187 MovieClip
"btnQuiz"Symbol 289 MovieClip Frame 1Symbol 193 MovieClip
"btnGroup"Symbol 289 MovieClip Frame 1Symbol 198 MovieClip
"btnHTML"Symbol 289 MovieClip Frame 1Symbol 203 MovieClip
"mcShowHotspot"Symbol 289 MovieClip Frame 1Symbol 204 MovieClip
"btnDOC"Symbol 289 MovieClip Frame 1Symbol 217 MovieClip
"btnResourcePanel"Symbol 289 MovieClip Frame 1Symbol 225 MovieClip
"mcEdition"Symbol 289 MovieClip Frame 1Symbol 252 MovieClip
"btnSrchMinimized"Symbol 289 MovieClip Frame 1Symbol 263 MovieClip
"mcExit"Symbol 289 MovieClip Frame 1Symbol 272 MovieClip
"btnToggleToolbar"Symbol 289 MovieClip Frame 1Symbol 282 MovieClip
"txtZoom"Symbol 289 MovieClip Frame 1Symbol 284 EditableText
"txtSearch"Symbol 289 MovieClip Frame 1Symbol 286 EditableText
"btnPDF"Symbol 289 MovieClip Frame 1Symbol 204 MovieClip
"mcThumbBg"Symbol 300 MovieClip Frame 1Symbol 12 MovieClip
"mcThumb"Symbol 300 MovieClip Frame 1Symbol 12 MovieClip
"btnDown"Symbol 300 MovieClip Frame 1Symbol 15 Button
"btnUp"Symbol 300 MovieClip Frame 1Symbol 17 Button
"mcThumbBg"Symbol 302 MovieClip Frame 1Symbol 12 MovieClip
"mcThumb"Symbol 302 MovieClip Frame 1Symbol 12 MovieClip
"btnRight"Symbol 302 MovieClip Frame 1Symbol 17 Button
"btnLeft"Symbol 302 MovieClip Frame 1Symbol 17 Button
"mcPatch"Symbol 303 MovieClip Frame 1Symbol 9 MovieClip
"mcVertical"Symbol 303 MovieClip Frame 1Symbol 300 MovieClip
"mcHorizontal"Symbol 303 MovieClip Frame 1Symbol 302 MovieClip
"btnExit2"Symbol 304 MovieClip Frame 1Symbol 292 Button
"mcSrchPanelBg"Symbol 304 MovieClip Frame 1Symbol 296 MovieClip
"mcMask"Symbol 304 MovieClip Frame 1Symbol 298 MovieClip
"mcItemContainer"Symbol 304 MovieClip Frame 1Symbol 22 MovieClip
"mcScrollbars"Symbol 304 MovieClip Frame 1Symbol 303 MovieClip
"panelRight"Symbol 305 MovieClip Frame 1Symbol 304 MovieClip
"mcThumbBg"Symbol 309 MovieClip Frame 1Symbol 12 MovieClip
"mcThumb"Symbol 309 MovieClip Frame 1Symbol 12 MovieClip
"btnDown"Symbol 309 MovieClip Frame 1Symbol 15 Button
"btnUp"Symbol 309 MovieClip Frame 1Symbol 17 Button
"mcThumbBg"Symbol 311 MovieClip Frame 1Symbol 12 MovieClip
"mcThumb"Symbol 311 MovieClip Frame 1Symbol 12 MovieClip
"btnRight"Symbol 311 MovieClip Frame 1Symbol 17 Button
"btnLeft"Symbol 311 MovieClip Frame 1Symbol 17 Button
"mcPatch"Symbol 312 MovieClip Frame 1Symbol 9 MovieClip
"mcVertical"Symbol 312 MovieClip Frame 1Symbol 309 MovieClip
"mcHorizontal"Symbol 312 MovieClip Frame 1Symbol 311 MovieClip
"panelRight"Symbol 313 MovieClip {view.TableOfContent_mcListPanel} [mcListPanel] Frame 1Symbol 305 MovieClip
"mcSrchPanelBg"Symbol 313 MovieClip {view.TableOfContent_mcListPanel} [mcListPanel] Frame 1Symbol 307 MovieClip
"mcMask"Symbol 313 MovieClip {view.TableOfContent_mcListPanel} [mcListPanel] Frame 1Symbol 4 MovieClip
"mcItemContainer"Symbol 313 MovieClip {view.TableOfContent_mcListPanel} [mcListPanel] Frame 1Symbol 22 MovieClip
"mcScrollbars"Symbol 313 MovieClip {view.TableOfContent_mcListPanel} [mcListPanel] Frame 1Symbol 312 MovieClip
"btnExit1"Symbol 314 MovieClip Frame 1Symbol 292 Button
"mcListPanel"Symbol 314 MovieClip Frame 1Symbol 313 MovieClip {view.TableOfContent_mcListPanel} [mcListPanel]
"txtResult"Symbol 320 MovieClip Frame 1Symbol 319 EditableText
"mcThumbBg"Symbol 326 MovieClip Frame 1Symbol 12 MovieClip
"mcThumb"Symbol 326 MovieClip Frame 1Symbol 12 MovieClip
"btnDown"Symbol 326 MovieClip Frame 1Symbol 15 Button
"btnUp"Symbol 326 MovieClip Frame 1Symbol 17 Button
"mcThumbBg"Symbol 328 MovieClip Frame 1Symbol 12 MovieClip
"mcThumb"Symbol 328 MovieClip Frame 1Symbol 12 MovieClip
"btnRight"Symbol 328 MovieClip Frame 1Symbol 17 Button
"btnLeft"Symbol 328 MovieClip Frame 1Symbol 17 Button
"mcPatch"Symbol 329 MovieClip Frame 1Symbol 9 MovieClip
"mcVertical"Symbol 329 MovieClip Frame 1Symbol 326 MovieClip
"mcHorizontal"Symbol 329 MovieClip Frame 1Symbol 328 MovieClip
"mcSrchPanelBg"Symbol 330 MovieClip Frame 1Symbol 316 MovieClip
"mcNoResult"Symbol 330 MovieClip Frame 1Symbol 320 MovieClip
"mcSrchDragBar"Symbol 330 MovieClip Frame 1Symbol 324 Button
"btnClose"Symbol 330 MovieClip Frame 1Symbol 292 Button
"mcMask"Symbol 330 MovieClip Frame 1Symbol 4 MovieClip
"mcSearchContent"Symbol 330 MovieClip Frame 1Symbol 22 MovieClip
"mcScrollbars"Symbol 330 MovieClip Frame 1Symbol 329 MovieClip
"txt"Symbol 340 MovieClip Frame 1Symbol 339 EditableText
"mcTxt"Symbol 341 MovieClip Frame 1Symbol 340 MovieClip
"mcTxt"Symbol 346 MovieClip Frame 1Symbol 340 MovieClip
"mcTxt"Symbol 347 MovieClip Frame 1Symbol 340 MovieClip
"mcThumbBg"Symbol 360 MovieClip Frame 1Symbol 12 MovieClip
"mcThumb"Symbol 360 MovieClip Frame 1Symbol 12 MovieClip
"btnDown"Symbol 360 MovieClip Frame 1Symbol 15 Button
"btnUp"Symbol 360 MovieClip Frame 1Symbol 17 Button
"mcThumbBg"Symbol 362 MovieClip Frame 1Symbol 12 MovieClip
"mcThumb"Symbol 362 MovieClip Frame 1Symbol 12 MovieClip
"btnRight"Symbol 362 MovieClip Frame 1Symbol 17 Button
"btnLeft"Symbol 362 MovieClip Frame 1Symbol 17 Button
"mcPatch"Symbol 363 MovieClip Frame 1Symbol 9 MovieClip
"mcVertical"Symbol 363 MovieClip Frame 1Symbol 360 MovieClip
"mcHorizontal"Symbol 363 MovieClip Frame 1Symbol 362 MovieClip
"mcSrchPanelBg"Symbol 368 MovieClip Frame 1Symbol 332 MovieClip
"mc_A"Symbol 368 MovieClip Frame 1Symbol 341 MovieClip
"mc_B"Symbol 368 MovieClip Frame 1Symbol 346 MovieClip
"mc_C"Symbol 368 MovieClip Frame 1Symbol 346 MovieClip
"mc_D"Symbol 368 MovieClip Frame 1Symbol 346 MovieClip
"mc_E"Symbol 368 MovieClip Frame 1Symbol 346 MovieClip
"mc_F"Symbol 368 MovieClip Frame 1Symbol 346 MovieClip
"mc_G"Symbol 368 MovieClip Frame 1Symbol 346 MovieClip
"mc_H"Symbol 368 MovieClip Frame 1Symbol 346 MovieClip
"mc_I"Symbol 368 MovieClip Frame 1Symbol 346 MovieClip
"mc_J"Symbol 368 MovieClip Frame 1Symbol 346 MovieClip
"mc_K"Symbol 368 MovieClip Frame 1Symbol 346 MovieClip
"mc_L"Symbol 368 MovieClip Frame 1Symbol 346 MovieClip
"mc_M"Symbol 368 MovieClip Frame 1Symbol 346 MovieClip
"mc_N"Symbol 368 MovieClip Frame 1Symbol 346 MovieClip
"mc_O"Symbol 368 MovieClip Frame 1Symbol 346 MovieClip
"mc_P"Symbol 368 MovieClip Frame 1Symbol 346 MovieClip
"mc_Q"Symbol 368 MovieClip Frame 1Symbol 346 MovieClip
"mc_R"Symbol 368 MovieClip Frame 1Symbol 346 MovieClip
"mc_S"Symbol 368 MovieClip Frame 1Symbol 346 MovieClip
"mc_T"Symbol 368 MovieClip Frame 1Symbol 346 MovieClip
"mc_U"Symbol 368 MovieClip Frame 1Symbol 346 MovieClip
"mc_V"Symbol 368 MovieClip Frame 1Symbol 346 MovieClip
"mc_W"Symbol 368 MovieClip Frame 1Symbol 346 MovieClip
"mc_X"Symbol 368 MovieClip Frame 1Symbol 346 MovieClip
"mc_Y"Symbol 368 MovieClip Frame 1Symbol 346 MovieClip
"mc_Z"Symbol 368 MovieClip Frame 1Symbol 347 MovieClip
"txtWord"Symbol 368 MovieClip Frame 1Symbol 348 EditableText
"txtDescription"Symbol 368 MovieClip Frame 1Symbol 349 EditableText
"mcDragBar"Symbol 368 MovieClip Frame 1Symbol 350 Button
"_mcGlossaryEnglishBtn"Symbol 368 MovieClip Frame 1Symbol 354 MovieClip
"_mcGlossarySpanishBtn"Symbol 368 MovieClip Frame 1Symbol 356 MovieClip
"mcAudio"Symbol 368 MovieClip Frame 1Symbol 22 MovieClip
"mcMask"Symbol 368 MovieClip Frame 1Symbol 358 MovieClip
"mcWordList"Symbol 368 MovieClip Frame 1Symbol 22 MovieClip
"mcScrollbars"Symbol 368 MovieClip Frame 1Symbol 363 MovieClip
"btnClose"Symbol 368 MovieClip Frame 1Symbol 365 Button
"glossaryImageMaskMc"Symbol 368 MovieClip Frame 1Symbol 367 MovieClip
"mcGlossaryImage"Symbol 368 MovieClip Frame 1Symbol 22 MovieClip
"mcSrchPanelBg"Symbol 377 MovieClip Frame 1Symbol 370 MovieClip
"btnClose"Symbol 377 MovieClip Frame 1Symbol 375 Button
"txtDescription"Symbol 377 MovieClip Frame 1Symbol 376 EditableText
"mcFill"Symbol 381 MovieClip Frame 1Symbol 380 MovieClip
"mcThumbBg"Symbol 388 MovieClip Frame 1Symbol 12 MovieClip
"mcThumb"Symbol 388 MovieClip Frame 1Symbol 12 MovieClip
"btnDown"Symbol 388 MovieClip Frame 1Symbol 15 Button
"btnUp"Symbol 388 MovieClip Frame 1Symbol 17 Button
"mcThumbBg"Symbol 390 MovieClip Frame 1Symbol 12 MovieClip
"mcThumb"Symbol 390 MovieClip Frame 1Symbol 12 MovieClip
"btnRight"Symbol 390 MovieClip Frame 1Symbol 17 Button
"btnLeft"Symbol 390 MovieClip Frame 1Symbol 17 Button
"mcPatch"Symbol 391 MovieClip Frame 1Symbol 9 MovieClip
"mcVertical"Symbol 391 MovieClip Frame 1Symbol 388 MovieClip
"mcHorizontal"Symbol 391 MovieClip Frame 1Symbol 390 MovieClip
"mcSrchPanelBg"Symbol 399 MovieClip Frame 1Symbol 332 MovieClip
"mc_A"Symbol 399 MovieClip Frame 1Symbol 341 MovieClip
"mc_B"Symbol 399 MovieClip Frame 1Symbol 346 MovieClip
"mc_C"Symbol 399 MovieClip Frame 1Symbol 346 MovieClip
"mc_D"Symbol 399 MovieClip Frame 1Symbol 346 MovieClip
"mc_E"Symbol 399 MovieClip Frame 1Symbol 346 MovieClip
"mc_F"Symbol 399 MovieClip Frame 1Symbol 346 MovieClip
"mc_G"Symbol 399 MovieClip Frame 1Symbol 346 MovieClip
"mc_H"Symbol 399 MovieClip Frame 1Symbol 346 MovieClip
"mc_I"Symbol 399 MovieClip Frame 1Symbol 346 MovieClip
"mc_J"Symbol 399 MovieClip Frame 1Symbol 346 MovieClip
"mc_K"Symbol 399 MovieClip Frame 1Symbol 346 MovieClip
"mc_L"Symbol 399 MovieClip Frame 1Symbol 346 MovieClip
"mc_M"Symbol 399 MovieClip Frame 1Symbol 346 MovieClip
"mc_N"Symbol 399 MovieClip Frame 1Symbol 346 MovieClip
"mc_O"Symbol 399 MovieClip Frame 1Symbol 346 MovieClip
"mc_P"Symbol 399 MovieClip Frame 1Symbol 346 MovieClip
"mc_Q"Symbol 399 MovieClip Frame 1Symbol 346 MovieClip
"mc_R"Symbol 399 MovieClip Frame 1Symbol 346 MovieClip
"mc_S"Symbol 399 MovieClip Frame 1Symbol 346 MovieClip
"mc_T"Symbol 399 MovieClip Frame 1Symbol 346 MovieClip
"mc_U"Symbol 399 MovieClip Frame 1Symbol 346 MovieClip
"mc_V"Symbol 399 MovieClip Frame 1Symbol 346 MovieClip
"mc_W"Symbol 399 MovieClip Frame 1Symbol 346 MovieClip
"mc_X"Symbol 399 MovieClip Frame 1Symbol 346 MovieClip
"mc_Y"Symbol 399 MovieClip Frame 1Symbol 346 MovieClip
"mc_Z"Symbol 399 MovieClip Frame 1Symbol 347 MovieClip
"txtWord"Symbol 399 MovieClip Frame 1Symbol 384 EditableText
"txtDescription"Symbol 399 MovieClip Frame 1Symbol 385 EditableText
"mcDragBar"Symbol 399 MovieClip Frame 1Symbol 350 Button
"mcMask"Symbol 399 MovieClip Frame 1Symbol 386 MovieClip
"mcIndexList"Symbol 399 MovieClip Frame 1Symbol 22 MovieClip
"mcScrollbars"Symbol 399 MovieClip Frame 1Symbol 391 MovieClip
"btnClose"Symbol 399 MovieClip Frame 1Symbol 398 Button
"mcPanelBg"Symbol 410 MovieClip Frame 1Symbol 401 MovieClip
"mcDragBar"Symbol 410 MovieClip Frame 1Symbol 404 Button
"btnClose"Symbol 410 MovieClip Frame 1Symbol 408 Button
"mcMask"Symbol 410 MovieClip Frame 1Symbol 409 MovieClip
"mcView"Symbol 410 MovieClip Frame 1Symbol 22 MovieClip
"txt"Symbol 421 MovieClip Frame 1Symbol 411 EditableText
"btnToggle"Symbol 421 MovieClip Frame 1Symbol 417 Button
"btnClear"Symbol 421 MovieClip Frame 1Symbol 420 Button
"mcDragAreaStage"Symbol 422 MovieClip {controller.Controller_MainViewLayout} [main view] Frame 1Symbol 2 MovieClip
"mcDragArea"Symbol 422 MovieClip {controller.Controller_MainViewLayout} [main view] Frame 1Symbol 2 MovieClip
"mcContent"Symbol 422 MovieClip {controller.Controller_MainViewLayout} [main view] Frame 1Symbol 24 MovieClip
"mcToolbar"Symbol 422 MovieClip {controller.Controller_MainViewLayout} [main view] Frame 1Symbol 289 MovieClip
"mcTOC"Symbol 422 MovieClip {controller.Controller_MainViewLayout} [main view] Frame 1Symbol 314 MovieClip
"mcSearchPanel"Symbol 422 MovieClip {controller.Controller_MainViewLayout} [main view] Frame 1Symbol 330 MovieClip
"mcGlossaryPanel"Symbol 422 MovieClip {controller.Controller_MainViewLayout} [main view] Frame 1Symbol 368 MovieClip
"mcErrorPanel"Symbol 422 MovieClip {controller.Controller_MainViewLayout} [main view] Frame 1Symbol 377 MovieClip
"mcProgressBar"Symbol 422 MovieClip {controller.Controller_MainViewLayout} [main view] Frame 1Symbol 381 MovieClip
"mcIndexPanel"Symbol 422 MovieClip {controller.Controller_MainViewLayout} [main view] Frame 1Symbol 399 MovieClip
"mcVideoPanel"Symbol 422 MovieClip {controller.Controller_MainViewLayout} [main view] Frame 1Symbol 410 MovieClip
"mcTracer"Symbol 422 MovieClip {controller.Controller_MainViewLayout} [main view] Frame 1Symbol 421 MovieClip
"txtTooltip"Symbol 473 MovieClip {view.HotspotClip_TooltipHolder} [tooltip_Holder] Frame 1Symbol 472 EditableText
"mcIconAnim"Symbol 484 MovieClip {view.HotspotClip_Icon_2} [icon_type_2] Frame 1Symbol 483 MovieClip
"mcIconAnim"Symbol 504 MovieClip {view.HotspotClip_Icon_1} [icon_type_1] Frame 1Symbol 501 MovieClip
"mcIconAnim"Symbol 512 MovieClip {view.HotspotClip_Icon_3} [icon_type_3] Frame 1Symbol 511 MovieClip
"mcIconAnim"Symbol 518 MovieClip {view.HotspotClip_AudioIcon} [audio icon] Frame 1Symbol 517 MovieClip
"scrollCorner"Symbol 527 MovieClip {CustomScrollPaneGfx} [CustomScrollPaneGfx] Frame 1Symbol 524 MovieClip
"maskMc"Symbol 527 MovieClip {CustomScrollPaneGfx} [CustomScrollPaneGfx] Frame 1Symbol 526 MovieClip
"txtLink"Symbol 535 MovieClip {view.ResourcePanel_ResourceLink} [mcResourceLink] Frame 1Symbol 534 EditableText
"mask_mc"Symbol 561 MovieClip {components_fla.VolumeBarFullness_136} [components_fla.VolumeBarFullness_136] Frame 1Symbol 558 MovieClip
"mcFill"Symbol 561 MovieClip {components_fla.VolumeBarFullness_136} [components_fla.VolumeBarFullness_136] Frame 1Symbol 560 MovieClip
"mcFillBar"Symbol 565 MovieClip {components_fla.VolumeBar_135} [components_fla.VolumeBar_135] Frame 1Symbol 561 MovieClip {components_fla.VolumeBarFullness_136} [components_fla.VolumeBarFullness_136]
"mcHit"Symbol 565 MovieClip {components_fla.VolumeBar_135} [components_fla.VolumeBar_135] Frame 1Symbol 564 MovieClip
"mcVolumeBar"Symbol 569 MovieClip {components_fla.VolControl_134} [components_fla.VolControl_134] Frame 1Symbol 565 MovieClip {components_fla.VolumeBar_135} [components_fla.VolumeBar_135]
"mcVolumeHandle"Symbol 569 MovieClip {components_fla.VolControl_134} [components_fla.VolControl_134] Frame 1Symbol 568 MovieClip
"mcFillBar"Symbol 577 MovieClip {components_fla.SeekControl_141} [components_fla.SeekControl_141] Frame 1Symbol 572 MovieClip
"mcSeekHit"Symbol 577 MovieClip {components_fla.SeekControl_141} [components_fla.SeekControl_141] Frame 1Symbol 574 MovieClip
"mcSeekHandle"Symbol 577 MovieClip {components_fla.SeekControl_141} [components_fla.SeekControl_141] Frame 1Symbol 568 MovieClip
"mcPlayPause"Symbol 598 MovieClip {AudioPlayerGfx} [AudioPlayerGfx] Frame 1Symbol 547 MovieClip
"mcStop"Symbol 598 MovieClip {AudioPlayerGfx} [AudioPlayerGfx] Frame 1Symbol 550 MovieClip
"mcMute"Symbol 598 MovieClip {AudioPlayerGfx} [AudioPlayerGfx] Frame 1Symbol 556 MovieClip
"mcVolume"Symbol 598 MovieClip {AudioPlayerGfx} [AudioPlayerGfx] Frame 1Symbol 569 MovieClip {components_fla.VolControl_134} [components_fla.VolControl_134]
"mcSeekBar"Symbol 598 MovieClip {AudioPlayerGfx} [AudioPlayerGfx] Frame 1Symbol 577 MovieClip {components_fla.SeekControl_141} [components_fla.SeekControl_141]
"mcBack"Symbol 598 MovieClip {AudioPlayerGfx} [AudioPlayerGfx] Frame 1Symbol 586 MovieClip
"mcForward"Symbol 598 MovieClip {AudioPlayerGfx} [AudioPlayerGfx] Frame 1Symbol 595 MovieClip
"mcPatch"Symbol 599 MovieClip Frame 1Symbol 9 MovieClip
"mcVertical"Symbol 599 MovieClip Frame 1Symbol 309 MovieClip
"mcHorizontal"Symbol 599 MovieClip Frame 1Symbol 311 MovieClip
"mcSrchPanelBg"Symbol 600 MovieClip {view.TableOfContent_mcListPanelRight} [mcListPanelRight] Frame 1Symbol 296 MovieClip
"mcMask"Symbol 600 MovieClip {view.TableOfContent_mcListPanelRight} [mcListPanelRight] Frame 1Symbol 298 MovieClip
"mcItemContainer"Symbol 600 MovieClip {view.TableOfContent_mcListPanelRight} [mcListPanelRight] Frame 1Symbol 22 MovieClip
"mcScrollbars"Symbol 600 MovieClip {view.TableOfContent_mcListPanelRight} [mcListPanelRight] Frame 1Symbol 599 MovieClip
"btnBar"Symbol 604 MovieClip Frame 1Symbol 603 Button
"btnBar"Symbol 607 MovieClip {view.GlossaryPanel_glossaryWord} [mcGlossaryWord] Frame 1Symbol 604 MovieClip
"txtResult"Symbol 607 MovieClip {view.GlossaryPanel_glossaryWord} [mcGlossaryWord] Frame 1Symbol 606 EditableText
"button_mc"Symbol 610 MovieClip {StopButtonNormal} [StopButtonNormal] Frame 1Symbol 609 MovieClip
"icon_mc"Symbol 610 MovieClip {StopButtonNormal} [StopButtonNormal] Frame 1Symbol 549 MovieClip
"button_mc"Symbol 613 MovieClip {StopButtonOver} [StopButtonOver] Frame 1Symbol 612 MovieClip
"icon_mc"Symbol 613 MovieClip {StopButtonOver} [StopButtonOver] Frame 1Symbol 549 MovieClip
"button_mc"Symbol 616 MovieClip {StopButtonDown} [StopButtonDown] Frame 1Symbol 615 MovieClip
"icon_mc"Symbol 616 MovieClip {StopButtonDown} [StopButtonDown] Frame 1Symbol 549 MovieClip
"button_mc"Symbol 617 MovieClip {StopButtonDisabled} [StopButtonDisabled] Frame 1Symbol 609 MovieClip
"icon_mc"Symbol 617 MovieClip {StopButtonDisabled} [StopButtonDisabled] Frame 1Symbol 549 MovieClip
"placeholder_mc"Symbol 618 MovieClip {StopButton} [StopButton] Frame 1Symbol 610 MovieClip {StopButtonNormal} [StopButtonNormal]
"mask_mc"Symbol 622 MovieClip {components_fla.VolumeBarFullness_72} [components_fla.VolumeBarFullness_72] Frame 1Symbol 558 MovieClip
"fill_mc"Symbol 622 MovieClip {components_fla.VolumeBarFullness_72} [components_fla.VolumeBarFullness_72] Frame 1Symbol 621 MovieClip {VolumeBarProgress} [VolumeBarProgress]
"fullness_mc"Symbol 625 MovieClip {VolumeBar} [VolumeBar] Frame 1Symbol 622 MovieClip {components_fla.VolumeBarFullness_72} [components_fla.VolumeBarFullness_72]
"button_mc"Symbol 628 MovieClip {BackButtonNormal} [BackButtonNormal] Frame 1Symbol 627 MovieClip
"icon_mc"Symbol 628 MovieClip {BackButtonNormal} [BackButtonNormal] Frame 1Symbol 581 MovieClip
"button_mc"Symbol 631 MovieClip {BackButtonOver} [BackButtonOver] Frame 1Symbol 630 MovieClip
"icon_mc"Symbol 631 MovieClip {BackButtonOver} [BackButtonOver] Frame 1Symbol 581 MovieClip
"button_mc"Symbol 634 MovieClip {BackButtonDown} [BackButtonDown] Frame 1Symbol 633 MovieClip
"icon_mc"Symbol 634 MovieClip {BackButtonDown} [BackButtonDown] Frame 1Symbol 581 MovieClip
"button_mc"Symbol 635 MovieClip {BackButtonDisabled} [BackButtonDisabled] Frame 1Symbol 627 MovieClip
"icon_mc"Symbol 635 MovieClip {BackButtonDisabled} [BackButtonDisabled] Frame 1Symbol 581 MovieClip
"placeholder_mc"Symbol 640 MovieClip {BackButton} [BackButton] Frame 1Symbol 628 MovieClip {BackButtonNormal} [BackButtonNormal]
"progress_mc"Symbol 648 MovieClip {SeekBar} [SeekBar] Frame 1Symbol 646 MovieClip {SeekBarProgress} [SeekBarProgress]
"txtTimer"Symbol 650 MovieClip {TimerClip} [TimerClip] Frame 1Symbol 649 EditableText
"button_mc"Symbol 653 MovieClip {ForwardButtonNormal} [ForwardButtonNormal] Frame 1Symbol 652 MovieClip
"icon_mc"Symbol 653 MovieClip {ForwardButtonNormal} [ForwardButtonNormal] Frame 1Symbol 590 MovieClip
"button_mc"Symbol 656 MovieClip {ForwardButtonOver} [ForwardButtonOver] Frame 1Symbol 655 MovieClip
"icon_mc"Symbol 656 MovieClip {ForwardButtonOver} [ForwardButtonOver] Frame 1Symbol 590 MovieClip
"button_mc"Symbol 659 MovieClip {ForwardButtonDown} [ForwardButtonDown] Frame 1Symbol 658 MovieClip
"icon_mc"Symbol 659 MovieClip {ForwardButtonDown} [ForwardButtonDown] Frame 1Symbol 590 MovieClip
"button_mc"Symbol 660 MovieClip {ForwardButtonDisabled} [ForwardButtonDisabled] Frame 1Symbol 652 MovieClip
"icon_mc"Symbol 660 MovieClip {ForwardButtonDisabled} [ForwardButtonDisabled] Frame 1Symbol 590 MovieClip
"placeholder_mc"Symbol 663 MovieClip {ForwardButton} [ForwardButton] Frame 1Symbol 653 MovieClip {ForwardButtonNormal} [ForwardButtonNormal]
"button_mc"Symbol 666 MovieClip {FullScreenButtonOffNormal} [FullScreenButtonOffNormal] Frame 1Symbol 609 MovieClip
"icon_mc"Symbol 666 MovieClip {FullScreenButtonOffNormal} [FullScreenButtonOffNormal] Frame 1Symbol 665 MovieClip
"button_mc"Symbol 667 MovieClip {FullScreenButtonOffOver} [FullScreenButtonOffOver] Frame 1Symbol 612 MovieClip
"icon_mc"Symbol 667 MovieClip {FullScreenButtonOffOver} [FullScreenButtonOffOver] Frame 1Symbol 665 MovieClip
"button_mc"Symbol 668 MovieClip {FullScreenButtonOffDown} [FullScreenButtonOffDown] Frame 1Symbol 615 MovieClip
"icon_mc"Symbol 668 MovieClip {FullScreenButtonOffDown} [FullScreenButtonOffDown] Frame 1Symbol 665 MovieClip
"button_mc"Symbol 669 MovieClip {FullScreenButtonOffDisabled} [FullScreenButtonOffDisabled] Frame 1Symbol 609 MovieClip
"placeholder_mc"Symbol 670 MovieClip {FullScreenButtonOff} [FullScreenButtonOff] Frame 1Symbol 666 MovieClip {FullScreenButtonOffNormal} [FullScreenButtonOffNormal]
"button_mc"Symbol 673 MovieClip {FullScreenButtonOnNormal} [FullScreenButtonOnNormal] Frame 1Symbol 609 MovieClip
"icon_mc"Symbol 673 MovieClip {FullScreenButtonOnNormal} [FullScreenButtonOnNormal] Frame 1Symbol 672 MovieClip
"button_mc"Symbol 674 MovieClip {FullScreenButtonOnOver} [FullScreenButtonOnOver] Frame 1Symbol 612 MovieClip
"icon_mc"Symbol 674 MovieClip {FullScreenButtonOnOver} [FullScreenButtonOnOver] Frame 1Symbol 672 MovieClip
"button_mc"Symbol 675 MovieClip {FullScreenButtonOnDown} [FullScreenButtonOnDown] Frame 1Symbol 615 MovieClip
"icon_mc"Symbol 675 MovieClip {FullScreenButtonOnDown} [FullScreenButtonOnDown] Frame 1Symbol 672 MovieClip
"button_mc"Symbol 676 MovieClip {FullScreenButtonOnDisabled} [FullScreenButtonOnDisabled] Frame 1Symbol 609 MovieClip
"icon_mc"Symbol 676 MovieClip {FullScreenButtonOnDisabled} [FullScreenButtonOnDisabled] Frame 1Symbol 672 MovieClip
"placeholder_mc"Symbol 677 MovieClip {FullScreenButtonOn} [FullScreenButtonOn] Frame 1Symbol 673 MovieClip {FullScreenButtonOnNormal} [FullScreenButtonOnNormal]
"off_mc"Symbol 678 MovieClip {FullScreenButton} [FullScreenButton] Frame 1Symbol 670 MovieClip {FullScreenButtonOff} [FullScreenButtonOff]
"on_mc"Symbol 678 MovieClip {FullScreenButton} [FullScreenButton] Frame 1Symbol 677 MovieClip {FullScreenButtonOn} [FullScreenButtonOn]
"boundingBox_mc"Symbol 684 MovieClip {fl.video.FLVPlayback} [fl.video.FLVPlayback] Frame 1Symbol 680 MovieClip
"button_mc"Symbol 686 MovieClip {PauseButtonNormal} [PauseButtonNormal] Frame 1Symbol 609 MovieClip
"button_mc"Symbol 687 MovieClip {PauseButtonDisabled} [PauseButtonDisabled] Frame 1Symbol 609 MovieClip
"button_mc"Symbol 688 MovieClip {PauseButtonOver} [PauseButtonOver] Frame 1Symbol 612 MovieClip
"button_mc"Symbol 689 MovieClip {PauseButtonDown} [PauseButtonDown] Frame 1Symbol 615 MovieClip
"placeholder_mc"Symbol 690 MovieClip {PauseButton} [PauseButton] Frame 1Symbol 686 MovieClip {PauseButtonNormal} [PauseButtonNormal]
"button_mc"Symbol 692 MovieClip {PlayButtonNormal} [PlayButtonNormal] Frame 1Symbol 609 MovieClip
"icon_mc"Symbol 692 MovieClip {PlayButtonNormal} [PlayButtonNormal] Frame 1Symbol 691 MovieClip
"button_mc"Symbol 693 MovieClip {PlayButtonOver} [PlayButtonOver] Frame 1Symbol 612 MovieClip
"button_mc"Symbol 694 MovieClip {PlayButtonDown} [PlayButtonDown] Frame 1Symbol 615 MovieClip
"button_mc"Symbol 695 MovieClip {PlayButtonDisabled} [PlayButtonDisabled] Frame 1Symbol 609 MovieClip
"placeholder_mc"Symbol 696 MovieClip {PlayButton} [PlayButton] Frame 1Symbol 692 MovieClip {PlayButtonNormal} [PlayButtonNormal]
"pause_mc"Symbol 697 MovieClip {PlayPauseButton} [PlayPauseButton] Frame 1Symbol 690 MovieClip {PauseButton} [PauseButton]
"play_mc"Symbol 697 MovieClip {PlayPauseButton} [PlayPauseButton] Frame 1Symbol 696 MovieClip {PlayButton} [PlayButton]
"btnLinkBg"Symbol 705 MovieClip {view.IndexPanel_LinkData} [mcIndexLinkData] Frame 1Symbol 701 Button
"mcUnderline"Symbol 705 MovieClip {view.IndexPanel_LinkData} [mcIndexLinkData] Frame 1Symbol 703 MovieClip
"txtLinkData"Symbol 705 MovieClip {view.IndexPanel_LinkData} [mcIndexLinkData] Frame 1Symbol 704 EditableText
"txtWord"Symbol 706 MovieClip {view.IndexPanel_IndexListItem} [mcIndexListItem] Frame 1Symbol 698 EditableText
"mcLinkData"Symbol 706 MovieClip {view.IndexPanel_IndexListItem} [mcIndexListItem] Frame 1Symbol 705 MovieClip {view.IndexPanel_LinkData} [mcIndexLinkData]
"mcThemeClip"Symbol 718 MovieClip Frame 1Symbol 717 MovieClip
"btnClose"Symbol 720 MovieClip {view.BookMarkPanel_ResultBar} [mcBookMarkResultBar] Frame 1Symbol 709 Button
"btnBar"Symbol 720 MovieClip {view.BookMarkPanel_ResultBar} [mcBookMarkResultBar] Frame 1Symbol 718 MovieClip
"txtResult"Symbol 720 MovieClip {view.BookMarkPanel_ResultBar} [mcBookMarkResultBar] Frame 1Symbol 719 EditableText
"btnBar"Symbol 725 MovieClip {view.ResourcePanel_ResultBar} [mcSearchResultBar] Frame 1Symbol 724 Button
"txtResult"Symbol 725 MovieClip {view.ResourcePanel_ResultBar} [mcSearchResultBar] Frame 1Symbol 719 EditableText
"headerBg"Symbol 741 MovieClip {components_fla.headerBar_4} [components_fla.headerBar_4] Frame 1Symbol 731 MovieClip
"popupDragArea"Symbol 741 MovieClip {components_fla.headerBar_4} [components_fla.headerBar_4] Frame 1Symbol 733 MovieClip
"closeBtn"Symbol 741 MovieClip {components_fla.headerBar_4} [components_fla.headerBar_4] Frame 1Symbol 735 MovieClip
"restoreBtn"Symbol 741 MovieClip {components_fla.headerBar_4} [components_fla.headerBar_4] Frame 1Symbol 738 MovieClip {components_fla.popupWindowRestoreBtn_8} [components_fla.popupWindowRestoreBtn_8]
"titleTxt"Symbol 741 MovieClip {components_fla.headerBar_4} [components_fla.headerBar_4] Frame 1Symbol 740 EditableText
"scaleGridArea"Symbol 742 MovieClip {PopupWindowGfx} [PopupWindowGfx] Frame 1Symbol 727 MovieClip
"popupWindowBg"Symbol 742 MovieClip {PopupWindowGfx} [PopupWindowGfx] Frame 1Symbol 729 MovieClip
"headerBar"Symbol 742 MovieClip {PopupWindowGfx} [PopupWindowGfx] Frame 1Symbol 741 MovieClip {components_fla.headerBar_4} [components_fla.headerBar_4]
"leftThumb"Symbol 751 MovieClip {HScrollBarGfx} [HScrollBarGfx] Frame 1Symbol 744 MovieClip
"scrollBg"Symbol 751 MovieClip {HScrollBarGfx} [HScrollBarGfx] Frame 1Symbol 746 MovieClip {hScrollBg} [hScrollBg]
"rightThumb"Symbol 751 MovieClip {HScrollBarGfx} [HScrollBarGfx] Frame 1Symbol 748 MovieClip
"scrollThumb"Symbol 751 MovieClip {HScrollBarGfx} [HScrollBarGfx] Frame 1Symbol 750 MovieClip {hScrollThumb} [hScrollThumb]
"upThumb"Symbol 760 MovieClip {VScrollBarGfx} [VScrollBarGfx] Frame 1Symbol 753 MovieClip
"scrollBg"Symbol 760 MovieClip {VScrollBarGfx} [VScrollBarGfx] Frame 1Symbol 755 MovieClip
"scrollThumb"Symbol 760 MovieClip {VScrollBarGfx} [VScrollBarGfx] Frame 1Symbol 757 MovieClip
"downThumb"Symbol 760 MovieClip {VScrollBarGfx} [VScrollBarGfx] Frame 1Symbol 759 MovieClip
"mc_grabber_cursor"Symbol 767 MovieClip {controller.HighlightHandler_CustomCursorClip} [mcCustomCursorClip] Frame 1Symbol 764 MovieClip
"mc_zoomTo_cursor"Symbol 767 MovieClip {controller.HighlightHandler_CustomCursorClip} [mcCustomCursorClip] Frame 2Symbol 766 MovieClip
"mcShape"Symbol 787 MovieClip {view.ContentPage_TestModeDisplay} [mcTestMode] Frame 1Symbol 783 MovieClip
"txtInfo"Symbol 787 MovieClip {view.ContentPage_TestModeDisplay} [mcTestMode] Frame 1Symbol 784 EditableText
"mcCross"Symbol 787 MovieClip {view.ContentPage_TestModeDisplay} [mcTestMode] Frame 1Symbol 786 MovieClip
"txtInput"Symbol 790 MovieClip Frame 1Symbol 789 EditableText
"textMc"Symbol 807 MovieClip {view.ContentPage_NotesIcon} [notes icon] Frame 1Symbol 790 MovieClip
"btnDelete"Symbol 807 MovieClip {view.ContentPage_NotesIcon} [notes icon] Frame 1Symbol 794 Button
"btnSave"Symbol 807 MovieClip {view.ContentPage_NotesIcon} [notes icon] Frame 1Symbol 797 Button
"btnPrint"Symbol 807 MovieClip {view.ContentPage_NotesIcon} [notes icon] Frame 1Symbol 800 Button
"mcCheckBg"Symbol 807 MovieClip {view.ContentPage_NotesIcon} [notes icon] Frame 1Symbol 802 MovieClip
"txtDisplay"Symbol 807 MovieClip {view.ContentPage_NotesIcon} [notes icon] Frame 1Symbol 803 EditableText
"btnNote"Symbol 807 MovieClip {view.ContentPage_NotesIcon} [notes icon] Frame 1Symbol 806 Button
"mcBG"Symbol 824 MovieClip {view.List_ListItem} [mcListItem] Frame 1Symbol 814 MovieClip
"btnState"Symbol 824 MovieClip {view.List_ListItem} [mcListItem] Frame 1Symbol 816 MovieClip
"btnBar"Symbol 824 MovieClip {view.List_ListItem} [mcListItem] Frame 1Symbol 821 Button
"txtResult"Symbol 824 MovieClip {view.List_ListItem} [mcListItem] Frame 1Symbol 822 EditableText
"txtDescription"Symbol 824 MovieClip {view.List_ListItem} [mcListItem] Frame 1Symbol 823 EditableText
"tooltip"Symbol 834 MovieClip {components_fla.addNoteBtn_103} [components_fla.addNoteBtn_103] Frame 1Symbol 832 MovieClip
"tooltip"Symbol 838 MovieClip {components_fla.deleteNoteBtn_105} [components_fla.deleteNoteBtn_105] Frame 1Symbol 836 MovieClip
"addBtn"Symbol 842 MovieClip {NotesThumbnailGfx} [NotesThumbnailGfx] Frame 1Symbol 834 MovieClip {components_fla.addNoteBtn_103} [components_fla.addNoteBtn_103]
"removeBtn"Symbol 842 MovieClip {NotesThumbnailGfx} [NotesThumbnailGfx] Frame 1Symbol 838 MovieClip {components_fla.deleteNoteBtn_105} [components_fla.deleteNoteBtn_105]
"pageBitmapContainer"Symbol 842 MovieClip {NotesThumbnailGfx} [NotesThumbnailGfx] Frame 1Symbol 839 MovieClip
"notesThumbBtn"Symbol 842 MovieClip {NotesThumbnailGfx} [NotesThumbnailGfx] Frame 1Symbol 826 MovieClip
"idTxt"Symbol 842 MovieClip {NotesThumbnailGfx} [NotesThumbnailGfx] Frame 1Symbol 841 EditableText
"mcPlayListLabelBg"Symbol 849 MovieClip {view.AdvanceFeatures.Playlist.view.UserPlaylistItem_Label} [mcPlaylistLabel] Frame 1Symbol 847 MovieClip
"txtLabel"Symbol 849 MovieClip {view.AdvanceFeatures.Playlist.view.UserPlaylistItem_Label} [mcPlaylistLabel] Frame 1Symbol 848 EditableText
"mcCheckbox"Symbol 850 MovieClip {view.AdvanceFeatures.Playlist.view.PlaylistItem_CheckboxAndLabel} [mcPlaylistLabelCheckbox] Frame 1Symbol 845 MovieClip
"btnLabel"Symbol 850 MovieClip {view.AdvanceFeatures.Playlist.view.PlaylistItem_CheckboxAndLabel} [mcPlaylistLabelCheckbox] Frame 1Symbol 849 MovieClip {view.AdvanceFeatures.Playlist.view.UserPlaylistItem_Label} [mcPlaylistLabel]
"bg"Symbol 855 MovieClip {view.BreadCrumbPanel_BCLink} [mcBCLink] Frame 1Symbol 851 MovieClip
"mcDot"Symbol 855 MovieClip {view.BreadCrumbPanel_BCLink} [mcBCLink] Frame 1Symbol 853 MovieClip
"txt"Symbol 855 MovieClip {view.BreadCrumbPanel_BCLink} [mcBCLink] Frame 1Symbol 854 EditableText
"mcPlayListLabelBg"Symbol 858 MovieClip Frame 1Symbol 856 MovieClip
"txtLabel"Symbol 858 MovieClip Frame 1Symbol 857 EditableText
"mcPlaylistLabel"Symbol 866 MovieClip {view.AdvanceFeatures.Playlist.view.WeblinkPlaylistItem_Label} [mcPlayListWeblink] Frame 1Symbol 858 MovieClip
"mcDeletWeblink"Symbol 866 MovieClip {view.AdvanceFeatures.Playlist.view.WeblinkPlaylistItem_Label} [mcPlayListWeblink] Frame 1Symbol 862 MovieClip
"mcEditWeblink"Symbol 866 MovieClip {view.AdvanceFeatures.Playlist.view.WeblinkPlaylistItem_Label} [mcPlayListWeblink] Frame 1Symbol 865 MovieClip
"btnClose"Symbol 876 MovieClip {view.Tree_ItemStatus} [mcItemStatus] Frame 1Symbol 869 MovieClip
"btnOpen"Symbol 876 MovieClip {view.Tree_ItemStatus} [mcItemStatus] Frame 1Symbol 872 MovieClip
"btnIdle"Symbol 876 MovieClip {view.Tree_ItemStatus} [mcItemStatus] Frame 1Symbol 875 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata present, AS3.
SWFMetaData (77)Timeline Frame 1459 bytes "<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'><rdf:Description rdf:about='' xmlns ..."
ScriptLimits (65)Timeline Frame 1MaxRecursionDepth: 1000, ScriptTimeout: 60 seconds
ExportAssets (56)Timeline Frame 1Symbol 422 as "main view"
ExportAssets (56)Timeline Frame 1Symbol 461 as "fl.controls.TextArea"
ExportAssets (56)Timeline Frame 1Symbol 431 as "focusRectSkin"
ExportAssets (56)Timeline Frame 1Symbol 462 as "fl.controls.ScrollBar"
ExportAssets (56)Timeline Frame 1Symbol 429 as "TextArea_upSkin"
ExportAssets (56)Timeline Frame 1Symbol 427 as "TextArea_disabledSkin"
ExportAssets (56)Timeline Frame 1Symbol 425 as "fl.core.ComponentShim"
ExportAssets (56)Timeline Frame 1Symbol 460 as "fl.controls.UIScrollBar"
ExportAssets (56)Timeline Frame 1Symbol 466 as "icon_Interactivity_HS"
ExportAssets (56)Timeline Frame 1Symbol 471 as "icon_PDF_HS"
ExportAssets (56)Timeline Frame 1Symbol 473 as "tooltip_Holder"
ExportAssets (56)Timeline Frame 1Symbol 478 as "icon_type_5"
ExportAssets (56)Timeline Frame 1Symbol 484 as "icon_type_2"
ExportAssets (56)Timeline Frame 1Symbol 504 as "icon_type_1"
ExportAssets (56)Timeline Frame 1Symbol 506 as "icon_type_4"
ExportAssets (56)Timeline Frame 1Symbol 512 as "icon_type_3"
ExportAssets (56)Timeline Frame 1Symbol 514 as "icon_Default_HS"
ExportAssets (56)Timeline Frame 1Symbol 518 as "audio icon"
ExportAssets (56)Timeline Frame 1Symbol 521 as "icon_HTML_HS"
ExportAssets (56)Timeline Frame 1Symbol 522 as "icon_DOC_HS"
ExportAssets (56)Timeline Frame 1Symbol 527 as "CustomScrollPaneGfx"
ExportAssets (56)Timeline Frame 1Symbol 529 as "mcZoomToCursor"
ExportAssets (56)Timeline Frame 1Symbol 535 as "mcResourceLink"
ExportAssets (56)Timeline Frame 1Symbol 598 as "AudioPlayerGfx"
ExportAssets (56)Timeline Frame 1Symbol 313 as "mcListPanel"
ExportAssets (56)Timeline Frame 1Symbol 600 as "mcListPanelRight"
ExportAssets (56)Timeline Frame 1Symbol 607 as "mcGlossaryWord"
ExportAssets (56)Timeline Frame 1Symbol 618 as "StopButton"
ExportAssets (56)Timeline Frame 1Symbol 625 as "VolumeBar"
ExportAssets (56)Timeline Frame 1Symbol 640 as "BackButton"
ExportAssets (56)Timeline Frame 1Symbol 643 as "FastForward"
ExportAssets (56)Timeline Frame 1Symbol 648 as "SeekBar"
ExportAssets (56)Timeline Frame 1Symbol 650 as "TimerClip"
ExportAssets (56)Timeline Frame 1Symbol 663 as "ForwardButton"
ExportAssets (56)Timeline Frame 1Symbol 678 as "FullScreenButton"
ExportAssets (56)Timeline Frame 1Symbol 684 as "fl.video.FLVPlayback"
ExportAssets (56)Timeline Frame 1Symbol 697 as "PlayPauseButton"
ExportAssets (56)Timeline Frame 1Symbol 706 as "mcIndexListItem"
ExportAssets (56)Timeline Frame 1Symbol 705 as "mcIndexLinkData"
ExportAssets (56)Timeline Frame 1Symbol 720 as "mcBookMarkResultBar"
ExportAssets (56)Timeline Frame 1Symbol 725 as "mcSearchResultBar"
ExportAssets (56)Timeline Frame 1Symbol 742 as "PopupWindowGfx"
ExportAssets (56)Timeline Frame 1Symbol 457 as "ScrollArrowUp_disabledSkin"
ExportAssets (56)Timeline Frame 1Symbol 445 as "ScrollThumb_overSkin"
ExportAssets (56)Timeline Frame 1Symbol 451 as "ScrollThumb_upSkin"
ExportAssets (56)Timeline Frame 1Symbol 441 as "ScrollThumb_downSkin"
ExportAssets (56)Timeline Frame 1Symbol 449 as "ScrollArrowUp_upSkin"
ExportAssets (56)Timeline Frame 1Symbol 439 as "ScrollArrowDown_downSkin"
ExportAssets (56)Timeline Frame 1Symbol 455 as "ScrollArrowDown_disabledSkin"
ExportAssets (56)Timeline Frame 1Symbol 447 as "ScrollArrowUp_overSkin"
ExportAssets (56)Timeline Frame 1Symbol 453 as "ScrollArrowDown_upSkin"
ExportAssets (56)Timeline Frame 1Symbol 459 as "ScrollBar_thumbIcon"
ExportAssets (56)Timeline Frame 1Symbol 443 as "ScrollArrowDown_overSkin"
ExportAssets (56)Timeline Frame 1Symbol 437 as "ScrollArrowUp_downSkin"
ExportAssets (56)Timeline Frame 1Symbol 433 as "ScrollTrack_skin"
ExportAssets (56)Timeline Frame 1Symbol 751 as "HScrollBarGfx"
ExportAssets (56)Timeline Frame 1Symbol 760 as "VScrollBarGfx"
ExportAssets (56)Timeline Frame 1Symbol 761 as "turnSound"
ExportAssets (56)Timeline Frame 1Symbol 767 as "mcCustomCursorClip"
ExportAssets (56)Timeline Frame 1Symbol 770 as "mcCross"
ExportAssets (56)Timeline Frame 1Symbol 773 as "mcGrabCursor"
ExportAssets (56)Timeline Frame 1Symbol 774 as "mc_InactiveIcon_5"
ExportAssets (56)Timeline Frame 1Symbol 775 as "mc_InactiveIcon_3"
ExportAssets (56)Timeline Frame 1Symbol 777 as "mc_InactiveIcon_4"
ExportAssets (56)Timeline Frame 1Symbol 778 as "mc_InactiveIcon_1"
ExportAssets (56)Timeline Frame 1Symbol 779 as "mc_InactiveIcon_2"
ExportAssets (56)Timeline Frame 1Symbol 781 as "mcNotesCursor"
ExportAssets (56)Timeline Frame 1Symbol 787 as "mcTestMode"
ExportAssets (56)Timeline Frame 1Symbol 807 as "notes icon"
ExportAssets (56)Timeline Frame 1Symbol 577 as "components_fla.SeekControl_141"
ExportAssets (56)Timeline Frame 1Symbol 597 as "fl.video.skin.ForwardBackBorder"
ExportAssets (56)Timeline Frame 1Symbol 569 as "components_fla.VolControl_134"
ExportAssets (56)Timeline Frame 1Symbol 824 as "mcListItem"
ExportAssets (56)Timeline Frame 1Symbol 842 as "NotesThumbnailGfx"
ExportAssets (56)Timeline Frame 1Symbol 617 as "StopButtonDisabled"
ExportAssets (56)Timeline Frame 1Symbol 613 as "StopButtonOver"
ExportAssets (56)Timeline Frame 1Symbol 616 as "StopButtonDown"
ExportAssets (56)Timeline Frame 1Symbol 610 as "StopButtonNormal"
ExportAssets (56)Timeline Frame 1Symbol 622 as "components_fla.VolumeBarFullness_72"
ExportAssets (56)Timeline Frame 1Symbol 624 as "VolumeBarHandle"
ExportAssets (56)Timeline Frame 1Symbol 634 as "BackButtonDown"
ExportAssets (56)Timeline Frame 1Symbol 631 as "BackButtonOver"
ExportAssets (56)Timeline Frame 1Symbol 628 as "BackButtonNormal"
ExportAssets (56)Timeline Frame 1Symbol 635 as "BackButtonDisabled"
ExportAssets (56)Timeline Frame 1Symbol 646 as "SeekBarProgress"
ExportAssets (56)Timeline Frame 1Symbol 647 as "SeekBarHandle"
ExportAssets (56)Timeline Frame 1Symbol 656 as "ForwardButtonOver"
ExportAssets (56)Timeline Frame 1Symbol 660 as "ForwardButtonDisabled"
ExportAssets (56)Timeline Frame 1Symbol 653 as "ForwardButtonNormal"
ExportAssets (56)Timeline Frame 1Symbol 659 as "ForwardButtonDown"
ExportAssets (56)Timeline Frame 1Symbol 677 as "FullScreenButtonOn"
ExportAssets (56)Timeline Frame 1Symbol 670 as "FullScreenButtonOff"
ExportAssets (56)Timeline Frame 1Symbol 683 as "fl.video.Icon"
ExportAssets (56)Timeline Frame 1Symbol 690 as "PauseButton"
ExportAssets (56)Timeline Frame 1Symbol 696 as "PlayButton"
ExportAssets (56)Timeline Frame 1Symbol 850 as "mcPlaylistLabelCheckbox"
ExportAssets (56)Timeline Frame 1Symbol 849 as "mcPlaylistLabel"
ExportAssets (56)Timeline Frame 1Symbol 741 as "components_fla.headerBar_4"
ExportAssets (56)Timeline Frame 1Symbol 855 as "mcBCLink"
ExportAssets (56)Timeline Frame 1Symbol 750 as "hScrollThumb"
ExportAssets (56)Timeline Frame 1Symbol 746 as "hScrollBg"
ExportAssets (56)Timeline Frame 1Symbol 866 as "mcPlayListWeblink"
ExportAssets (56)Timeline Frame 1Symbol 576 as "components_fla.SeekBar_144"
ExportAssets (56)Timeline Frame 1Symbol 565 as "components_fla.VolumeBar_135"
ExportAssets (56)Timeline Frame 1Symbol 838 as "components_fla.deleteNoteBtn_105"
ExportAssets (56)Timeline Frame 1Symbol 834 as "components_fla.addNoteBtn_103"
ExportAssets (56)Timeline Frame 1Symbol 621 as "VolumeBarProgress"
ExportAssets (56)Timeline Frame 1Symbol 673 as "FullScreenButtonOnNormal"
ExportAssets (56)Timeline Frame 1Symbol 674 as "FullScreenButtonOnOver"
ExportAssets (56)Timeline Frame 1Symbol 675 as "FullScreenButtonOnDown"
ExportAssets (56)Timeline Frame 1Symbol 676 as "FullScreenButtonOnDisabled"
ExportAssets (56)Timeline Frame 1Symbol 669 as "FullScreenButtonOffDisabled"
ExportAssets (56)Timeline Frame 1Symbol 668 as "FullScreenButtonOffDown"
ExportAssets (56)Timeline Frame 1Symbol 667 as "FullScreenButtonOffOver"
ExportAssets (56)Timeline Frame 1Symbol 666 as "FullScreenButtonOffNormal"
ExportAssets (56)Timeline Frame 1Symbol 689 as "PauseButtonDown"
ExportAssets (56)Timeline Frame 1Symbol 687 as "PauseButtonDisabled"
ExportAssets (56)Timeline Frame 1Symbol 688 as "PauseButtonOver"
ExportAssets (56)Timeline Frame 1Symbol 686 as "PauseButtonNormal"
ExportAssets (56)Timeline Frame 1Symbol 695 as "PlayButtonDisabled"
ExportAssets (56)Timeline Frame 1Symbol 692 as "PlayButtonNormal"
ExportAssets (56)Timeline Frame 1Symbol 693 as "PlayButtonOver"
ExportAssets (56)Timeline Frame 1Symbol 694 as "PlayButtonDown"
ExportAssets (56)Timeline Frame 1Symbol 876 as "mcItemStatus"
ExportAssets (56)Timeline Frame 1Symbol 738 as "components_fla.popupWindowRestoreBtn_8"
ExportAssets (56)Timeline Frame 1Symbol 561 as "components_fla.VolumeBarFullness_136"
SerialNumber (41)Timeline Frame 1

Labels

"controller_Controller"Frame 1
"normal"Symbol 41 MovieClip Frame 1
"disabled"Symbol 41 MovieClip Frame 2
"normal"Symbol 45 MovieClip Frame 1
"disabled"Symbol 45 MovieClip Frame 2
"up"Symbol 58 MovieClip Frame 1
"play"Symbol 58 MovieClip Frame 1
"pause"Symbol 58 MovieClip Frame 2
"disable"Symbol 58 MovieClip Frame 3
"up"Symbol 65 MovieClip Frame 1
"up"Symbol 68 MovieClip Frame 1
"disable"Symbol 68 MovieClip Frame 2
"up"Symbol 74 MovieClip Frame 1
"disable"Symbol 74 MovieClip Frame 2
"normal"Symbol 86 MovieClip Frame 1
"selected"Symbol 86 MovieClip Frame 2
"normal"Symbol 93 MovieClip Frame 1
"selected"Symbol 93 MovieClip Frame 2
"normal"Symbol 97 MovieClip Frame 1
"selected"Symbol 97 MovieClip Frame 2
"disabled"Symbol 97 MovieClip Frame 3
"normal"Symbol 101 MovieClip Frame 1
"selected"Symbol 101 MovieClip Frame 2
"disabled"Symbol 101 MovieClip Frame 3
"normal"Symbol 105 MovieClip Frame 1
"disabled"Symbol 105 MovieClip Frame 2
"normal"Symbol 111 MovieClip Frame 1
"selected"Symbol 111 MovieClip Frame 2
"normal"Symbol 115 MovieClip Frame 1
"disabled"Symbol 115 MovieClip Frame 2
"normal"Symbol 120 MovieClip Frame 1
"selected"Symbol 120 MovieClip Frame 2
"normal"Symbol 126 MovieClip Frame 1
"selected"Symbol 126 MovieClip Frame 2
"normal"Symbol 132 MovieClip Frame 1
"selected"Symbol 132 MovieClip Frame 2
"normal"Symbol 136 MovieClip Frame 1
"selected"Symbol 136 MovieClip Frame 2
"disabled"Symbol 136 MovieClip Frame 3
"normal"Symbol 139 MovieClip Frame 1
"selected"Symbol 139 MovieClip Frame 2
"disabled"Symbol 139 MovieClip Frame 3
"normal"Symbol 143 MovieClip Frame 1
"selected"Symbol 143 MovieClip Frame 2
"disabled"Symbol 143 MovieClip Frame 3
"normal"Symbol 152 MovieClip Frame 1
"selected"Symbol 152 MovieClip Frame 2
"normal"Symbol 158 MovieClip Frame 1
"normal"Symbol 162 MovieClip Frame 1
"disabled"Symbol 162 MovieClip Frame 2
"normal"Symbol 171 MovieClip Frame 1
"selecetd"Symbol 171 MovieClip Frame 2
"normal"Symbol 177 MovieClip Frame 1
"selecetd"Symbol 177 MovieClip Frame 2
"normal"Symbol 182 MovieClip Frame 1
"selecetd"Symbol 182 MovieClip Frame 2
"normal"Symbol 187 MovieClip Frame 1
"selecetd"Symbol 187 MovieClip Frame 2
"normal"Symbol 193 MovieClip Frame 1
"selecetd"Symbol 193 MovieClip Frame 2
"normal"Symbol 198 MovieClip Frame 1
"selecetd"Symbol 198 MovieClip Frame 2
"normal"Symbol 203 MovieClip Frame 1
"disabled"Symbol 203 MovieClip Frame 2
"normal"Symbol 204 MovieClip Frame 1
"disabled"Symbol 204 MovieClip Frame 2
"normal"Symbol 217 MovieClip Frame 1
"disabled"Symbol 217 MovieClip Frame 2
"normal"Symbol 225 MovieClip Frame 1
"disabled"Symbol 225 MovieClip Frame 2
"normal"Symbol 237 MovieClip Frame 1
"normal"Symbol 242 MovieClip Frame 1
"normal"Symbol 263 MovieClip Frame 1
"selected"Symbol 263 MovieClip Frame 2
"normal"Symbol 272 MovieClip Frame 1
"disabled"Symbol 272 MovieClip Frame 2
"normal"Symbol 282 MovieClip Frame 1
"selected"Symbol 282 MovieClip Frame 2
"up"Symbol 341 MovieClip Frame 1
"disabled"Symbol 341 MovieClip Frame 2
"up"Symbol 346 MovieClip Frame 1
"disabled"Symbol 346 MovieClip Frame 2
"up"Symbol 347 MovieClip Frame 1
"disabled"Symbol 347 MovieClip Frame 2
"normal"Symbol 354 MovieClip Frame 1
"selected"Symbol 354 MovieClip Frame 2
"normal"Symbol 356 MovieClip Frame 1
"selected"Symbol 356 MovieClip Frame 2
"up"Symbol 466 MovieClip {view.HotspotClip_IconInteractivity} [icon_Interactivity_HS] Frame 1
"normal_up"Symbol 466 MovieClip {view.HotspotClip_IconInteractivity} [icon_Interactivity_HS] Frame 1
"over"Symbol 466 MovieClip {view.HotspotClip_IconInteractivity} [icon_Interactivity_HS] Frame 2
"normal_over"Symbol 466 MovieClip {view.HotspotClip_IconInteractivity} [icon_Interactivity_HS] Frame 2
"selected_up"Symbol 466 MovieClip {view.HotspotClip_IconInteractivity} [icon_Interactivity_HS] Frame 3
"up"Symbol 471 MovieClip {view.HotspotClip_IconPDF} [icon_PDF_HS] Frame 1
"normal_up"Symbol 471 MovieClip {view.HotspotClip_IconPDF} [icon_PDF_HS] Frame 1
"over"Symbol 471 MovieClip {view.HotspotClip_IconPDF} [icon_PDF_HS] Frame 2
"normal_over"Symbol 471 MovieClip {view.HotspotClip_IconPDF} [icon_PDF_HS] Frame 2
"selected_up"Symbol 471 MovieClip {view.HotspotClip_IconPDF} [icon_PDF_HS] Frame 3
"disabled_up"Symbol 471 MovieClip {view.HotspotClip_IconPDF} [icon_PDF_HS] Frame 4
"up"Symbol 478 MovieClip {view.HotspotClip_Icon_5} [icon_type_5] Frame 1
"normal_up"Symbol 478 MovieClip {view.HotspotClip_Icon_5} [icon_type_5] Frame 1
"over"Symbol 478 MovieClip {view.HotspotClip_Icon_5} [icon_type_5] Frame 2
"normal_over"Symbol 478 MovieClip {view.HotspotClip_Icon_5} [icon_type_5] Frame 2
"selected_up"Symbol 478 MovieClip {view.HotspotClip_Icon_5} [icon_type_5] Frame 3
"up"Symbol 484 MovieClip {view.HotspotClip_Icon_2} [icon_type_2] Frame 1
"normal_up"Symbol 484 MovieClip {view.HotspotClip_Icon_2} [icon_type_2] Frame 1
"over"Symbol 484 MovieClip {view.HotspotClip_Icon_2} [icon_type_2] Frame 2
"normal_over"Symbol 484 MovieClip {view.HotspotClip_Icon_2} [icon_type_2] Frame 2
"selected_up"Symbol 484 MovieClip {view.HotspotClip_Icon_2} [icon_type_2] Frame 3
"iconAnim"Symbol 484 MovieClip {view.HotspotClip_Icon_2} [icon_type_2] Frame 4
"up"Symbol 504 MovieClip {view.HotspotClip_Icon_1} [icon_type_1] Frame 1
"normal_up"Symbol 504 MovieClip {view.HotspotClip_Icon_1} [icon_type_1] Frame 1
"over"Symbol 504 MovieClip {view.HotspotClip_Icon_1} [icon_type_1] Frame 2
"normal_over"Symbol 504 MovieClip {view.HotspotClip_Icon_1} [icon_type_1] Frame 2
"selected_up"Symbol 504 MovieClip {view.HotspotClip_Icon_1} [icon_type_1] Frame 3
"up"Symbol 506 MovieClip {view.HotspotClip_Icon_4} [icon_type_4] Frame 1
"normal_up"Symbol 506 MovieClip {view.HotspotClip_Icon_4} [icon_type_4] Frame 1
"over"Symbol 506 MovieClip {view.HotspotClip_Icon_4} [icon_type_4] Frame 2
"normal_over"Symbol 506 MovieClip {view.HotspotClip_Icon_4} [icon_type_4] Frame 2
"selected_up"Symbol 506 MovieClip {view.HotspotClip_Icon_4} [icon_type_4] Frame 3
"up"Symbol 512 MovieClip {view.HotspotClip_Icon_3} [icon_type_3] Frame 1
"normal_up"Symbol 512 MovieClip {view.HotspotClip_Icon_3} [icon_type_3] Frame 1
"over"Symbol 512 MovieClip {view.HotspotClip_Icon_3} [icon_type_3] Frame 2
"normal_over"Symbol 512 MovieClip {view.HotspotClip_Icon_3} [icon_type_3] Frame 2
"selected_up"Symbol 512 MovieClip {view.HotspotClip_Icon_3} [icon_type_3] Frame 3
"iconAnim"Symbol 512 MovieClip {view.HotspotClip_Icon_3} [icon_type_3] Frame 4
"up"Symbol 514 MovieClip {view.HotspotClip_IconDefault} [icon_Default_HS] Frame 1
"normal_up"Symbol 514 MovieClip {view.HotspotClip_IconDefault} [icon_Default_HS] Frame 1
"over"Symbol 514 MovieClip {view.HotspotClip_IconDefault} [icon_Default_HS] Frame 2
"normal_over"Symbol 514 MovieClip {view.HotspotClip_IconDefault} [icon_Default_HS] Frame 2
"selected_up"Symbol 514 MovieClip {view.HotspotClip_IconDefault} [icon_Default_HS] Frame 3
"iconAnim"Symbol 518 MovieClip {view.HotspotClip_AudioIcon} [audio icon] Frame 3
"up"Symbol 518 MovieClip {view.HotspotClip_AudioIcon} [audio icon] Frame 4
"normal_up"Symbol 518 MovieClip {view.HotspotClip_AudioIcon} [audio icon] Frame 4
"over"Symbol 518 MovieClip {view.HotspotClip_AudioIcon} [audio icon] Frame 5
"normal_over"Symbol 518 MovieClip {view.HotspotClip_AudioIcon} [audio icon] Frame 5
"up"Symbol 521 MovieClip {view.HotspotClip_IconHTML} [icon_HTML_HS] Frame 1
"normal_up"Symbol 521 MovieClip {view.HotspotClip_IconHTML} [icon_HTML_HS] Frame 1
"over"Symbol 521 MovieClip {view.HotspotClip_IconHTML} [icon_HTML_HS] Frame 2
"normal_over"Symbol 521 MovieClip {view.HotspotClip_IconHTML} [icon_HTML_HS] Frame 2
"selected_up"Symbol 521 MovieClip {view.HotspotClip_IconHTML} [icon_HTML_HS] Frame 3
"up"Symbol 522 MovieClip {view.HotspotClip_IconDOC} [icon_DOC_HS] Frame 1
"normal_up"Symbol 522 MovieClip {view.HotspotClip_IconDOC} [icon_DOC_HS] Frame 1
"over"Symbol 522 MovieClip {view.HotspotClip_IconDOC} [icon_DOC_HS] Frame 2
"normal_over"Symbol 522 MovieClip {view.HotspotClip_IconDOC} [icon_DOC_HS] Frame 2
"selected_up"Symbol 522 MovieClip {view.HotspotClip_IconDOC} [icon_DOC_HS] Frame 3
"normal"Symbol 535 MovieClip {view.ResourcePanel_ResourceLink} [mcResourceLink] Frame 1
"selected"Symbol 535 MovieClip {view.ResourcePanel_ResourceLink} [mcResourceLink] Frame 2
"disabled"Symbol 535 MovieClip {view.ResourcePanel_ResourceLink} [mcResourceLink] Frame 3
"play"Symbol 547 MovieClip Frame 1
"play_over"Symbol 547 MovieClip Frame 3
"play_down"Symbol 547 MovieClip Frame 5
"pause"Symbol 547 MovieClip Frame 7
"pause_over"Symbol 547 MovieClip Frame 9
"pause_down"Symbol 547 MovieClip Frame 11
"stop"Symbol 550 MovieClip Frame 1
"stop_over"Symbol 550 MovieClip Frame 3
"stop_down"Symbol 550 MovieClip Frame 5
"mute"Symbol 556 MovieClip Frame 1
"mute_over"Symbol 556 MovieClip Frame 3
"mute_down"Symbol 556 MovieClip Frame 5
"unmute"Symbol 556 MovieClip Frame 7
"unmute_over"Symbol 556 MovieClip Frame 9
"unmute_down"Symbol 556 MovieClip Frame 11
"back"Symbol 586 MovieClip Frame 1
"back_over"Symbol 586 MovieClip Frame 3
"back_down"Symbol 586 MovieClip Frame 5
"forward"Symbol 595 MovieClip Frame 1
"forward_over"Symbol 595 MovieClip Frame 3
"forward_down"Symbol 595 MovieClip Frame 5
"normal"Symbol 604 MovieClip Frame 1
"selected"Symbol 604 MovieClip Frame 2
"theme1"Symbol 717 MovieClip Frame 1
"theme2"Symbol 717 MovieClip Frame 2
"theme3"Symbol 717 MovieClip Frame 3
"theme4"Symbol 717 MovieClip Frame 4
"up"Symbol 764 MovieClip Frame 1
"down"Symbol 764 MovieClip Frame 2
"grabber_cursor"Symbol 767 MovieClip {controller.HighlightHandler_CustomCursorClip} [mcCustomCursorClip] Frame 1
"zoomTo_cursor"Symbol 767 MovieClip {controller.HighlightHandler_CustomCursorClip} [mcCustomCursorClip] Frame 2
"up"Symbol 773 MovieClip {view.Grabber__classGrabCursor} [mcGrabCursor] Frame 1
"down"Symbol 773 MovieClip {view.Grabber__classGrabCursor} [mcGrabCursor] Frame 2
"normal"Symbol 845 MovieClip Frame 1
"selected"Symbol 845 MovieClip Frame 2
"normal"Symbol 847 MovieClip Frame 1
"selected"Symbol 847 MovieClip Frame 2
"normal"Symbol 856 MovieClip Frame 1
"selected"Symbol 856 MovieClip Frame 2
"normal"Symbol 862 MovieClip Frame 1
"normal"Symbol 865 MovieClip Frame 1




http://swfchan.com/25/120692/info.shtml
Created: 5/3 -2019 04:27:09 Last modified: 5/3 -2019 04:27:09 Server time: 06/05 -2024 20:57:51