Frame 1
_global.ownRoot = this;
RoomSaver.mainTimeLine = this;
if (baseUrl == undefined) {
baseUrl = "../../../";
} else {
baseUrl = baseUrl + "/";
}
if (MEDIAROOT == undefined) {
MEDIAROOT = "";
}
this.createEmptyMovieClip("sound_mc", this.getNextHighestDepth());
var nextVideoIndex = 0;
var MusicOn = true;
var musicPlaying = false;
var radioOn = false;
function shouldFlyAirplane() {
var _local5 = false;
if (RoomSaver.__get__hasSavedRoom()) {
var _local1 = new Date();
var _local4 = SharedObject.getLocal(OwnRoomConstant.SHARED_AIRPLANE_OBJECT_NAME, OwnRoomConstant.SHARED_AIRPLANE_OBJECT_LOCAL_PATH);
var _local3 = Number(_local4.data.description);
var _local2 = _local1.getDate();
if (_local2 != _local3) {
return(true);
}
}
return(false);
}
function airplaneMessageWasRead() {
var _local1 = SharedObject.getLocal(OwnRoomConstant.SHARED_AIRPLANE_OBJECT_NAME, OwnRoomConstant.SHARED_AIRPLANE_OBJECT_LOCAL_PATH);
var _local2 = new Date();
var _local3 = _local2.getDate();
_local1.data.description = _local3;
_local1.flush();
}
Frame 6
function loadProgress(eventObj) {
var _local1 = Math.min(1, eventObj.numberOfBytesLoaded / eventObj.estimatedNumberOfBytesTotal);
loadbar_mc.gotoAndStop(Math.floor(_local1 * loadbar_mc._totalframes));
}
function loadComplete(eventObj) {
this.onEnterFrame = function () {
this.bubbleUp();
delete this.onEnterFrame;
};
}
function bubbleUp() {
this.gotoAndStop("setup");
}
stop();
var loadAirplaneSwf = this.shouldFlyAirplane();
var loaderQueue = new LoaderQueue();
loaderQueue.addEventListener("loadProgress", this);
loaderQueue.addEventListener("loadComplete", this);
loaderQueue.queueMovieClip(this);
if (loadAirplaneSwf) {
loaderQueue.queueSwf(MEDIAROOT + "airplane.swf", this.airplaneHolder_mc);
}
loaderQueue.load((loadAirplaneSwf ? 1900000 : 1600000));
Frame 7
stop();
mm = new Sound(AudioMusic_MC);
mm.attachSound("MainMusic");
mm.setVolume(85);
if (MusicOn) {
mm.start(0, 999);
musicPlaying = true;
}
this.preLoader = undefined;
var theStateManager;
if (theStateManager == undefined) {
theStateManager = new StateManager(this);
}
Frame 50
stop();
Frame 51
stop();
Frame 64
stop();
StateManager.__get__singleton().onDone();
Symbol 9 MovieClip [VideoPlayer] Frame 1
#initclip 34
Object.registerClass("VideoPlayer", mx.video.VideoPlayer);
#endinitclip
Symbol 13 MovieClip [FLVPlayback] Frame 1
#initclip 35
Object.registerClass("FLVPlayback", mx.video.FLVPlayback);
#endinitclip
stop();
Symbol 35 MovieClip Frame 28
gotoAndPlay ("loop");
Symbol 1581 MovieClip [__Packages.RoomSaver] Frame 0
class RoomSaver
{
static var mainTimeLine;
function RoomSaver () {
}
static function get hasSavedRoom() {
var _local1 = SharedObject.getLocal(OwnRoomConstant.SHARED_OBJECT_NAME, OwnRoomConstant.SHARED_OBJECT_LOCAL_PATH);
if (_local1 != null) {
if (_local1.data.description != undefined) {
return(true);
}
}
return(false);
}
static function clearRoom() {
var _local1 = SharedObject.getLocal(OwnRoomConstant.SHARED_OBJECT_NAME, OwnRoomConstant.SHARED_OBJECT_LOCAL_PATH);
if (_local1 != null) {
_local1.data.description = undefined;
_local1.flush();
}
}
static function saveRoom(rooms_mc) {
var _local2 = packRoom(rooms_mc);
trace(_local2);
var _local1 = SharedObject.getLocal(OwnRoomConstant.SHARED_OBJECT_NAME, OwnRoomConstant.SHARED_OBJECT_LOCAL_PATH);
if (_local1 != null) {
_local1.data.description = _local2;
_local1.flush();
}
}
static function getPortraitDescription() {
var _local1 = SharedObject.getLocal("paintMagic", "/");
return(_local1.data.description);
}
static function loadRoomFromDisk(rooms_mc) {
var _local1 = SharedObject.getLocal(OwnRoomConstant.SHARED_OBJECT_NAME, OwnRoomConstant.SHARED_OBJECT_LOCAL_PATH);
if ((_local1 == null) || (_local1.data.description == undefined)) {
trace("Shared object not found");
return(false);
}
var _local2 = _local1.data.description;
loadRoom(rooms_mc, _local2);
loadPortraitFromDisk(rooms_mc);
return(true);
}
static function loadPortraitFromDisk(rooms_mc) {
var _local2 = getPortraitDescription();
if (getPortraitDescription != undefined) {
var _local3 = function (success) {
trace("portraitCallback called: success: " + success);
if (success) {
rooms_mc.room_mc.picture_mc.hit_mc._xscale = OwnRoomConstant.PICTURE_SCALE;
rooms_mc.room_mc.picture_mc.hit_mc._yscale = OwnRoomConstant.PICTURE_SCALE;
}
};
loadPortrait(rooms_mc.room_mc.picture_mc.hit_mc, _global.ownRoot.MEDIAROOT, _local3, _local2);
}
}
static function loadRoom(rooms_mc, roomDescription) {
trace("Loading room, description:");
trace("\t" + roomDescription);
unpackRoom(rooms_mc, roomDescription);
}
static function loadPortrait(target_mc, baseUrl, callback, portraitDescription) {
if ((portraitDescription == undefined) || (portraitDescription == "")) {
return(undefined);
}
trace("=========== loadPortrait description ======================");
trace(portraitDescription);
trace("=========== end of loadPortrait description =============");
var _local4 = mainTimeLine.getNextHighestDepth();
var portrait_mc = mainTimeLine.createEmptyMovieClip(("portrait_" + _local4) + "_mc", _local4);
portrait_mc._visible = false;
portrait_mc._x = 1000;
portrait_mc._y = 1000;
var portraitLoader = new MovieClipLoader();
var _local3 = new Object();
_local3.onLoadError = function () {
trace("portraitLoaderListener.onLoadError");
callback(false);
};
_local3.onLoadComplete = function () {
portraitLoader.removeListener(this);
portrait_mc._visible = false;
portrait_mc.count = 0;
portrait_mc.onEnterFrame = function () {
if (this.showPortrait != undefined) {
if (this.count == 0) {
this.showPortrait(portraitDescription.split("/"));
} else if (this.count == 2) {
this.onShowingPortrait();
delete this.onEnterFrame;
}
this.count++;
}
};
portrait_mc.onShowingPortrait = function () {
var _local2 = new flash.display.BitmapData(this._width, this._height);
_local2.draw(this);
target_mc.attachBitmap(_local2, target_mc.getNextHighestDepth());
callback(true);
this.removeMovieClip();
};
};
portraitLoader.addListener(_local3);
var _local6 = _global.ownRoot.MEDIAROOT + Constant.portraitSWF;
portraitLoader.loadClip(_local6, portrait_mc);
}
static function submitRoom(rooms_mc, strName, strState, callback) {
var _local3 = packRoom(rooms_mc);
var _local2 = getPortraitDescription();
var _local1 = "";
_local1 = _local1 + "#";
_local1 = _local1 + ("name@" + strName);
_local1 = _local1 + "#";
_local1 = _local1 + ("state@" + strState);
_local1 = _local1 + "#";
_local1 = _local1 + ("description@" + _local3);
_local1 = _local1 + "#";
if (_local2 != undefined) {
_local1 = _local1 + ("painting@" + _local2);
_local1 = _local1 + "#";
}
trace("SUBMITTING:");
trace(_local1);
var _local4 = "Playhouse Disney - Johnny and the Sprites \u2013 Room of My Own Submission";
Email.send(_local4, _local1, strName, strState, callback);
}
static function packRoom(rooms_mc) {
var _local13 = rooms_mc.room_mc;
var _local10 = new Object();
var _local6;
var _local3;
var _local9 = Art.cycleOnClick;
var _local14 = _local9.length;
var _local2;
_local2 = 0;
while (_local2 < _local14) {
_local3 = _local9[_local2];
_local6 = _local13[_local3];
_local10[_local3] = _local6._currentframe.toString();
_local2++;
}
var _local4 = rooms_mc.room_mc.stickersLayer_mc;
var _local12 = 0;
var _local8;
var _local5;
var _local11 = new Object();
var _local1;
var _local7;
for (_local7 in _local4) {
_local1 = _local4[_local7];
_local5 = _local1._name.split("__");
_local8 = _local5[1];
_local11[_local12++] = (((_local8 + "x") + _local1._x) + "x") + _local1._y;
}
trace("\nPACKING ROOM");
var _local15 = new Object();
_local15.room = rooms_mc._currentframe.toString();
_local15.cycles = objectToString(_local10, ":", ",");
_local15.stickers = objectToString(_local11, ":", ",");
var _local16 = objectToString(_local15, "=", ";");
return(_local16);
}
static function unpackRoom(rooms_mc, roomDescription) {
trace("\nUNPACKING ROOM:");
var _local14 = stringToObject(roomDescription, "=", ";");
var _local15 = Number(_local14.room);
trace("Room frame: " + _local15);
rooms_mc.gotoAndStop(_local15);
var _local4;
var _local7 = stringToObject(_local14.cycles, ":", ",");
for (var _local13 in _local7) {
_local4 = Number(_local7[_local13]);
trace((("Cycle " + _local13) + " frame: ") + _local4);
rooms_mc.room_mc[_local13].gotoAndStop(_local4);
}
var _local8 = rooms_mc.room_mc.stickersLayer_mc;
var _local9;
var _local1;
var _local3;
var _local11;
var _local10;
var _local5;
var _local6;
var _local2 = stringToObject(_local14.stickers, ":", ",");
for (var _local13 in _local2) {
trace((("oStickers[" + _local13) + "] is ") + _local2[_local13]);
_local9 = _local2[_local13].toString();
_local1 = _local9.split("x");
_local3 = _local1[0].toString();
_local11 = Number(_local1[1]);
_local10 = Number(_local1[2]);
_local6 = _local8.getNextHighestDepth();
_local5 = _local8.attachMovie(_local3, (("sticker__" + _local3) + "__") + _local6, _local6);
_local5._x = _local11;
_local5._y = _local10;
}
}
static function objectToString(obj, equalityDelimiter, separationDelimiter) {
var _local1 = new String();
var _local2 = true;
for (var _local6 in obj) {
if (!_local2) {
_local1 = _local1 + separationDelimiter;
}
_local1 = _local1 + ((_local6.toString() + equalityDelimiter) + obj[_local6].toString());
_local2 = false;
}
return(_local1);
}
static function stringToObject(str, equalityDelimiter, separationDelimiter) {
var _local5 = new Object();
var _local4 = str.split(separationDelimiter);
var _local6 = _local4.length;
var _local3;
var _local2;
var _local1;
_local1 = 0;
while (_local1 < _local6) {
_local3 = _local4[_local1];
_local2 = _local3.split(equalityDelimiter);
_local5[_local2[0].toString()] = _local2[1];
_local1++;
}
return(_local5);
}
}
Symbol 1582 MovieClip [__Packages.OwnRoomConstant] Frame 0
class OwnRoomConstant
{
function OwnRoomConstant () {
}
static var ROOM_GALLERY_URL = "roomgallery.xml";
static var PICTURE_SCALE = 36;
static var SHARED_OBJECT_NAME = "aRoomOfMyOwn";
static var SHARED_OBJECT_LOCAL_PATH = "/";
static var SHARED_AIRPLANE_OBJECT_NAME = "aRoomOfMyOwnAirplane";
static var SHARED_AIRPLANE_OBJECT_LOCAL_PATH = "/";
static var SHARED_AIRPLANE_MESSAGE_OBJECT_NAME = "aRoomOfMyOwnAirplaneMessage";
static var SHARED_AIRPLANE_MESSAGE_OBJECT_LOCAL_PATH = "/";
static var SHARED_LAST_RUN_OBJECT_NAME = "aRoomOfMyOwnLastRun";
static var SHARED_LAST_RUN_OBJECT_LOCAL_PATH = "/";
static var NUMBER_OF_ROOMS = 3;
static var NUMBER_OF_ROOMS_IN_GALLERY = 9;
static var NUMBER_OF_SONGS = 2;
static var STICKERS_BORDER_LEFT = 0;
static var STICKERS_BORDER_TOP = 0;
static var STICKERS_BORDER_RIGHT = 480;
static var STICKERS_BORDER_BOTTOM = 360;
}
Symbol 1583 MovieClip [__Packages.Constant] Frame 0
class Constant
{
function Constant () {
}
static var activitiesURL = "activities/index.html";
static var activitiesFirstTimeURL = "activities/first_time_index.html";
static var emailURL = "email.html";
static var galleriesURL = "activities/gallery/index.html";
static var galleriesFirstTimeURL = "activities/gallery/first_time_index.html";
static var gamesURL = "games/index.html";
static var glitteringSkyURL = "games/spofflesprinkle/index.html";
static var indexURL = "index_noIntro.html";
static var watercolorsURL = "activities/paintmagic/index.html";
static var watercolorsSWF = "gallery.swf";
static var watercolorsGalleryURL = "activities/gallery/paintmagic/index.html";
static var musicURL = "music/index.html";
static var musicVideoHeadsUpURL = "music/videos/headsup.html";
static var musicVideoJohnnyURL = "music/videos/johnny.html";
static var ownRoomURL = "activities/spriteroom/index.html";
static var ownRoomGalleryURL = "activities/gallery/spriteroom/index.html";
static var ownRoomGalleryFirstTimeURL = "activities/gallery/spriteroom/first_time_index.html";
static var portraitSWF = "portrait.swf";
static var printURL = "activities/print/index.html";
static var sageURL = "stories/sage/index.html";
static var scrollURL = "stories/spritelogs/index.html";
static var spriteTagURL = "music/spritetag/index.html";
static var storiesURL = "stories/index.html";
static var videoURL = "activities/video/index.html";
static var NUMBER_OF_MUSIC_VIDEOS = 2;
static var SMALL_BRUSH_MULTIPLIER = 0.35;
static var MEDIUM_BRUSH_MULTIPLIER = 0.6;
static var LARGE_BRUSH_MULTIPLIER = 1;
static var SPRAY_BOTTLE_MULTIPLIER = 1.4;
static var SMALL_BRUSH_SIZE = 2;
static var MEDIUM_BRUSH_SIZE = 20;
static var LARGE_BRUSH_SIZE = 40;
static var BRUSH0_LINE_COLOR = 16711680;
static var BRUSH1_LINE_COLOR = 6704114;
static var BRUSH2_LINE_COLOR = 16759343;
static var BRUSH3_LINE_COLOR = 47746;
static var BRUSH4_LINE_COLOR = 6737151;
static var BRUSH5_LINE_COLOR = 16737792;
static var BRUSH6_LINE_COLOR = 10027161;
static var BRUSH7_LINE_COLOR = 3368499;
static var BRUSH8_LINE_COLOR = 0;
}
Symbol 1584 MovieClip [__Packages.Email] Frame 0
class Email
{
function Email () {
}
static function send(subject, message, name, state, callback) {
var _local1 = new LoadVars();
_local1.Name = name;
_local1.Message = message;
_local1.Age = "";
_local1.State = state;
_local1.to_code = "zoogs";
_local1.BCC_code = "";
_local1.subject = subject;
_local1.site = "ZoogDisney";
_local1.redirect = "http://tv.disney.go.com/global/email_success.html";
_local1.error = "disneychannel/error.tpl";
_local1.mail_format_template = "disneychannel/email_adv.tpl";
_local1.pass = "1";
_local1.EMail = "dc@disneychannel.com";
_local1.content_type = "text";
trace("Sending email:");
trace("\tname: " + name);
trace("\tstate: " + state);
trace("\tsubject: " + subject);
trace("\tmessage: " + message);
_local1.onLoad = function (success) {
if (success) {
trace("\tEmail message sent successfully");
} else {
trace("\tError: could not establish connection with server. Email message not sent.");
}
callback(success);
};
_local1.sendAndLoad("http://dcapps.disney.go.com/cgi-bin/gmail/generic_db.cgi", _local1, "POST");
}
}
Symbol 1585 MovieClip [__Packages.Art] Frame 0
class Art
{
function Art () {
}
static function get hiliteGlowFilter() {
return(new flash.filters.GlowFilter(16777164, 100, 12, 12, 2.5, 1, false, false));
}
static var cycleOnClick = ["chair_mc", "rug_mc", "windowView_mc", "wall_mc", "hammock_mc", "chair1_mc", "shelf_mc", "shelf1_mc", "shelf2_mc", "shelf3_mc", "lamp_mc", "table_mc", "table1_mc", "flower_mc", "picWall_mc", "picWall1_mc", "picWall2_mc", "picWall3_mc", "picWall4_mc", "picTable_mc", "floor_mc", "beetle_mc", "stringlights_mc", "globe_mc", "fireplace_mc", "couch_mc", "clock_mc", "water_mc", "frog_mc", "books_mc", "rocks_mc"];
static var stickers = [{greenballSticker_btn:"greenballanim", sparkleSticker_btn:"sparkleanim", bubblesSticker_btn:"bubbles1", bluebutterflySticker_btn:"bluebutterfly_dot2_fly ", orchidSticker_btn:"lily1"}, {ballSticker_btn:"ballSticker_mc", sparkleSticker_btn:"sparkleanim", pepperSticker_btn:"redPepper1", leafSticker_btn:"leafanim", daisySticker_btn:"daisyanim"}, {orangeballSticker_btn:"orangeballanim", sparkleSticker_btn:"sparkleanim", goldsparkleSticker_btn:"sparkleanimGold", butterflySticker_btn:"butterfly_dot2_fly", orangeFlowerSticker_btn:"orangeFlowerAnim"}];
}
Symbol 1586 MovieClip [__Packages.LoaderQueue] Frame 0
class LoaderQueue
{
var items, itemLoadErrorDelegate, itemLoadProgressDelegate, itemLoadCompleteDelegate, dispatcher, numberOfBytesLoaded, numberOfBytesTotal, estimatedNumberOfBytesTotal, existingMovieClipLoader;
function LoaderQueue () {
items = new Array();
itemLoadErrorDelegate = mx.utils.Delegate.create(onItemLoadError);
itemLoadProgressDelegate = mx.utils.Delegate.create(this, onItemLoadProgress);
itemLoadCompleteDelegate = mx.utils.Delegate.create(this, onItemLoadComplete);
dispatcher = new Object();
mx.events.EventDispatcher.initialize(dispatcher);
}
function queueMovieClip(mc) {
items.push({itemType:"movieClip", itemTarget:mc});
}
function queueSwf(path, target) {
items.push({itemType:"swf", itemPath:path, itemTarget:target});
}
function queueXml(path, xml) {
items.push({itemType:"xml", itemPath:path, itemXml:xml});
}
function clearQueue() {
items.splice(0);
}
function load(estimatedBytes) {
numberOfBytesLoaded = 0;
numberOfBytesTotal = 0;
estimatedNumberOfBytesTotal = estimatedBytes;
loadNextItem();
}
function loadNextItem() {
if (items.length == 0) {
handleLoadComplete();
return(undefined);
}
var _local2 = items.shift();
switch (_local2.itemType) {
case "movieClip" :
if (existingMovieClipLoader == undefined) {
existingMovieClipLoader = new ExistingMovieClipLoader();
existingMovieClipLoader.addEventListener("loadError", itemLoadErrorDelegate);
existingMovieClipLoader.addEventListener("loadProgress", itemLoadProgressDelegate);
existingMovieClipLoader.addEventListener("loadComplete", itemLoadCompleteDelegate);
existingMovieClipLoader.load(_local2.itemTarget, _local2.itemTarget);
}
break;
case "swf" :
var owner = this;
var _local3 = new Object();
_local3.onLoadProgress = function (target, bytesLoaded, bytesTotal) {
owner.itemLoadProgressDelegate({type:"loadProgress", target:target, numberOfBytesLoaded:bytesLoaded, numberOfBytesTotal:bytesTotal});
};
_local3.onLoadComplete = function (target) {
owner.itemLoadCompleteDelegate({type:"loadComplete", target:target, numberOfBytesLoaded:target.getBytesLoaded()});
};
_local3.onLoadError = function (target, errorCode, httpStatus) {
owner.itemLoadErrorDelegate({type:"loadError", target:target, errorMessage:"SWF failed to load"});
};
var _local4 = new MovieClipLoader();
_local4.addListener(_local3);
_local4.loadClip(_local2.itemPath, _local2.itemTarget);
break;
case "xml" :
var owner = this;
var _local5 = _local2.itemXml;
_local5.onLoad = function (success) {
if (success) {
owner.onItemLoadComplete({numberOfBytesLoaded:this.getBytesTotal()});
}
};
_local5.load(_local2.itemPath);
}
}
function addEventListener(event, handler) {
dispatcher.addEventListener(event, handler);
}
function removeEventListener(event, handler) {
dispatcher.removeEventListener(event, handler);
}
function onItemLoadError(eventObj) {
dispatcher.dispatchEvent(eventObj);
}
function onItemLoadProgress(eventObj) {
var _local2 = numberOfBytesLoaded + eventObj.numberOfBytesLoaded;
dispatcher.dispatchEvent({type:"loadProgress", target:this, numberOfBytesLoaded:_local2, estimatedNumberOfBytesTotal:estimatedNumberOfBytesTotal});
}
function onItemLoadComplete(eventObj) {
numberOfBytesLoaded = numberOfBytesLoaded + eventObj.numberOfBytesLoaded;
loadNextItem();
}
function handleLoadComplete() {
dispatcher.dispatchEvent({type:"loadComplete", target:this, numberOfBytesLoaded:numberOfBytesLoaded});
}
}
Symbol 1587 MovieClip [__Packages.ExistingMovieClipLoader] Frame 0
class ExistingMovieClipLoader
{
var dispatcher;
function ExistingMovieClipLoader () {
dispatcher = new Object();
mx.events.EventDispatcher.initialize(dispatcher);
}
function load(loadClip, progressMonitorClip) {
if (!(loadClip instanceof MovieClip)) {
handleLoadError("loadClip must be a movie clip");
}
if (!(progressMonitorClip instanceof MovieClip)) {
handleLoadError("progressMonitorClip must be a movie clip");
}
var owner = this;
progressMonitorClip.onEnterFrame = function () {
var _local2 = loadClip.getBytesLoaded();
var _local3 = loadClip.getBytesTotal();
if (_local2 < _local3) {
owner.handleLoadProgress(loadClip, _local2, _local3);
} else {
delete this.onEnterFrame;
owner.handleLoadComplete(_local2);
}
};
}
function addEventListener(event, handler) {
dispatcher.addEventListener(event, handler);
}
function removeEventListener(event, handler) {
dispatcher.removeEventListener(event, handler);
}
function handleLoadError(errorMessage) {
dispatcher.dispatchEvent({type:"loadError", target:this, errorMessage:errorMessage});
}
function handleLoadProgress(target, numberOfBytesLoaded, numberOfBytesTotal) {
dispatcher.dispatchEvent({type:"loadProgress", target:this, numberOfBytesLoaded:numberOfBytesLoaded, numberOfBytesTotal:numberOfBytesTotal});
}
function handleLoadComplete(numberOfBytesLoaded) {
dispatcher.dispatchEvent({target:this, type:"loadComplete", numberOfBytesLoaded:numberOfBytesLoaded});
}
}
Symbol 16 MovieClip [__Packages.mx.events.EventDispatcher] Frame 0
class mx.events.EventDispatcher
{
function EventDispatcher () {
}
static function _removeEventListener(queue, event, handler) {
if (queue != undefined) {
var _local4 = queue.length;
var _local1;
_local1 = 0;
while (_local1 < _local4) {
var _local2 = queue[_local1];
if (_local2 == handler) {
queue.splice(_local1, 1);
return(undefined);
}
_local1++;
}
}
}
static function initialize(object) {
if (_fEventDispatcher == undefined) {
_fEventDispatcher = new mx.events.EventDispatcher();
}
object.addEventListener = _fEventDispatcher.addEventListener;
object.removeEventListener = _fEventDispatcher.removeEventListener;
object.dispatchEvent = _fEventDispatcher.dispatchEvent;
object.dispatchQueue = _fEventDispatcher.dispatchQueue;
}
function dispatchQueue(queueObj, eventObj) {
var _local7 = "__q_" + eventObj.type;
var _local4 = queueObj[_local7];
if (_local4 != undefined) {
var _local5;
for (_local5 in _local4) {
var _local1 = _local4[_local5];
var _local3 = typeof(_local1);
if ((_local3 == "object") || (_local3 == "movieclip")) {
if (_local1.handleEvent != undefined) {
_local1.handleEvent(eventObj);
}
if (_local1[eventObj.type] != undefined) {
if (exceptions[eventObj.type] == undefined) {
_local1[eventObj.type](eventObj);
}
}
} else {
_local1.apply(queueObj, [eventObj]);
}
}
}
}
function dispatchEvent(eventObj) {
if (eventObj.target == undefined) {
eventObj.target = this;
}
this[eventObj.type + "Handler"](eventObj);
dispatchQueue(this, eventObj);
}
function addEventListener(event, handler) {
var _local3 = "__q_" + event;
if (this[_local3] == undefined) {
this[_local3] = new Array();
}
_global.ASSetPropFlags(this, _local3, 1);
_removeEventListener(this[_local3], event, handler);
this[_local3].push(handler);
}
function removeEventListener(event, handler) {
var _local2 = "__q_" + event;
_removeEventListener(this[_local2], event, handler);
}
static var _fEventDispatcher = undefined;
static var exceptions = {move:1, draw:1, load:1};
}
Symbol 19 MovieClip [__Packages.mx.utils.Delegate] Frame 0
class mx.utils.Delegate extends Object
{
var func;
function Delegate (f) {
super();
func = f;
}
static function create(obj, func) {
var _local2 = function () {
var _local2 = arguments.callee.target;
var _local3 = arguments.callee.func;
return(_local3.apply(_local2, arguments));
};
_local2.target = obj;
_local2.func = func;
return(_local2);
}
function createDelegate(obj) {
return(create(obj, func));
}
}
Symbol 1588 MovieClip [__Packages.StateManager] Frame 0
class StateManager
{
static var instance;
var theMainTimeLine, theAirplaneManager, theButtonManager, theStateSetup, theStateTitle, theStateMenu, theStateDecorate, theStateDone, theStateReview, theActiveState;
function StateManager (theMainTimeLine) {
instance = this;
this.theMainTimeLine = theMainTimeLine;
this.theMainTimeLine.createEmptyMovieClip("speech_mc", this.theMainTimeLine.getNextHighestDepth());
new OwnRoomSpeech(this.theMainTimeLine.speech_mc);
theAirplaneManager = new AirplaneManager(theMainTimeLine);
theButtonManager = new ButtonManager(this.theMainTimeLine);
theStateSetup = new StateSetup();
theStateTitle = new StateTitle();
theStateMenu = new StateMenu();
theStateDecorate = new StateDecorate();
theStateDone = new StateDone();
theStateReview = new StateReview();
transition(theStateSetup);
}
static function get singleton() {
Debug.assert(instance != undefined, "StateManager.singleton was called before an instance was created!");
return(instance);
}
function get mainTimeLine() {
return(theMainTimeLine);
}
function get airplaneManager() {
return(theAirplaneManager);
}
function get buttonManager() {
return(theButtonManager);
}
function transition(newState) {
OwnRoomSpeech.__get__singleton().stopSound();
if (theActiveState != undefined) {
trace("STATE: Leaving " + theActiveState);
theActiveState.onLeaveState();
}
var _local3 = theActiveState;
theActiveState = newState;
trace("STATE: Entering " + theActiveState);
if (arguments.length > 1) {
var _local4 = arguments.slice(1);
_local4.unshift(_local3);
theActiveState.onEnterState.apply(theActiveState, _local4);
} else {
theActiveState.onEnterState(_local3);
}
}
function invokeHandler(handlerName) {
if (theActiveState[handlerName] instanceof Function) {
var _local4 = arguments.slice(1);
theActiveState[handlerName].apply(theActiveState, _local4);
} else {
trace((("STATE: " + theActiveState) + " does not contain a handler for ") + handlerName);
}
}
function onFinishedTitle() {
invokeHandler("onFinishedTitle");
}
function onRoomSelected(roomNumber, strName) {
invokeHandler("onRoomSelected", roomNumber, strName);
}
function onWaterColorsButtonClick(roomNumber) {
invokeHandler("onWaterColorsButtonClick");
}
function onHelp() {
invokeHandler("onHelp");
}
function onStopHelp() {
invokeHandler("onStopHelp");
}
function onDone() {
invokeHandler("onDone");
}
function startHiliteShade() {
invokeHandler("startHiliteShade");
}
function hiliteMusicPlayer() {
invokeHandler("hiliteMusicPlayer");
}
function hiliteVideoPlayer() {
invokeHandler("hiliteVideoPlayer");
}
function hilitePaintButton() {
invokeHandler("hilitePaintButton");
}
function hiliteDoneButton() {
invokeHandler("hiliteDoneButton");
}
function stopAllHilites() {
invokeHandler("stopAllHilites");
}
function callOutButtonName(linkageId) {
OwnRoomSpeech.__get__singleton().callOutButtonName(linkageId);
}
function onFinishedDoneHelp() {
invokeHandler("onFinishedDoneHelp");
}
function onUnwrappingAirplaneMessage() {
invokeHandler("onUnwrappingAirplaneMessage");
}
function onFlyAirplane() {
invokeHandler("onFlyAirplane");
}
function onFinishedRoomSubmissionConfirmation() {
invokeHandler("onFinishedRoomSubmissionConfirmation");
}
function onAirplaneClicked() {
invokeHandler("onAirplaneClicked");
}
}
Symbol 1589 MovieClip [__Packages.State] Frame 0
class State
{
function State () {
}
function get mainTimeLine() {
return(StateManager.__get__singleton().__get__mainTimeLine());
}
function get airplaneManager() {
return(StateManager.__get__singleton().__get__airplaneManager());
}
function get buttonManager() {
return(StateManager.__get__singleton().__get__buttonManager());
}
function onEnterState(oldState) {
}
function onLeaveState() {
}
function toString() {
return("[State object (error: not intended for instantiation)]");
}
}
Symbol 1590 MovieClip [__Packages.AirplaneManager] Frame 0
class AirplaneManager
{
var mainTimeLine, airplaneHolder_mc;
function AirplaneManager (mainTimeLine) {
trace("Constructed airplaneManager");
this.mainTimeLine = mainTimeLine;
airplaneHolder_mc = mainTimeLine.airplaneHolder_mc;
}
function fly() {
beginNextFlightPath();
}
function beginNextFlightPath() {
var objRef = this;
var _local3 = airplaneHolder_mc.airplanes_mc._currentframe;
var _local2 = _local3 + 1;
if (_local2 > airplaneHolder_mc.airplanes_mc._totalframes) {
_local2 = 2;
}
airplaneHolder_mc.airplanes_mc.gotoAndStop(_local2);
if (airplaneHolder_mc.airplanes_mc.onEnterFrame == undefined) {
airplaneHolder_mc.airplanes_mc.onEnterFrame = function () {
if (this.airplane_mc.hit_mc.onPress == undefined) {
this.airplane_mc.hit_mc.onPress = function () {
objRef.onClickedAirplane();
};
}
if (this.airplane_mc._currentframe == this.airplane_mc._totalframes) {
objRef.onFinishedFlightPath();
}
};
}
}
function onFinishedFlightPath() {
var objRef = this;
var finishedFlightPath = airplaneHolder_mc.airplanes_mc._currentframe;
if (StateManager.__get__singleton().theStateDecorate.__get__isMusicInterfaceVisible() || (StateManager.__get__singleton().theStateDecorate.__get__isVideoPlaying())) {
airplaneHolder_mc.airplanes_mc.gotoAndStop(1);
airplaneHolder_mc.airplanes_mc.onEnterFrame = function () {
if ((!StateManager.__get__singleton().theStateDecorate.__get__isMusicInterfaceVisible()) && (!StateManager.__get__singleton().theStateDecorate.__get__isVideoPlaying())) {
delete this.onEnterFrame;
this.gotoAndStop(finishedFlightPath);
objRef.beginNextFlightPath();
}
};
} else {
beginNextFlightPath();
}
}
function onClickedAirplane() {
trace("onClickedAirplane");
StateManager.__get__singleton().onAirplaneClicked();
stop();
showMessage();
}
function stop() {
delete airplaneHolder_mc.airplanes_mc.onEnterFrame;
airplaneHolder_mc.airplanes_mc.gotoAndStop(1);
}
function showMessage() {
mainTimeLine.airplaneMessageWasRead();
var objRef = this;
StateManager.__get__singleton().onUnwrappingAirplaneMessage();
airplaneHolder_mc.airplaneMessages_mc.airplaneManager = this;
airplaneHolder_mc.airplaneMessages_mc.onChooseMessage = mx.utils.Delegate.create(this, onChooseMessage);
airplaneHolder_mc.airplaneMessages_mc.onShowingMessage = mx.utils.Delegate.create(this, onShowingMessage);
airplaneHolder_mc.airplaneMessages_mc.gotoAndPlay(2);
airplaneHolder_mc.airplaneMessages_mc.invisible_btn.useHandCursor = false;
airplaneHolder_mc.airplaneMessages_mc.invisible_btn.onPress = function () {
objRef.closeMessage();
};
trace("this.airplaneHolder_mc.airplaneMessages_mc.close_btn is " + airplaneHolder_mc.airplaneMessages_mc.close_btn);
}
function closeMessage() {
trace("Stopping sound on " + airplaneHolder_mc.airplaneMessages_mc.messages_mc.message_mc);
airplaneHolder_mc.airplaneMessages_mc.messages_mc.message_mc.gotoAndStop(1);
var messageFrame = airplaneHolder_mc.airplaneMessages_mc.messages_mc._currentframe;
airplaneHolder_mc.airplaneMessages_mc.gotoAndPlay("close");
trace("closing: " + airplaneHolder_mc.airplaneMessages_mc);
airplaneHolder_mc.airplaneMessages_mc.onEnterFrame = function () {
if (this._currentframe == 1) {
delete this.onEnterFrame;
} else {
trace((("closing: " + this.messages_mc) + " sent to frame ") + messageFrame);
this.messages_mc.gotoAndStop(messageFrame);
}
};
}
function onChooseMessage() {
var messages_mc = airplaneHolder_mc.airplaneMessages_mc.messages_mc;
var _local3 = messages_mc._totalframes;
var _local2 = SharedObject.getLocal(OwnRoomConstant.SHARED_AIRPLANE_MESSAGE_OBJECT_NAME, OwnRoomConstant.SHARED_AIRPLANE_MESSAGE_OBJECT_LOCAL_PATH);
var randomMessageIndex = _local2.data.description;
if (_local2.data.description == undefined) {
randomMessageIndex = 1;
}
if (!((randomMessageIndex >= 1) && (randomMessageIndex <= _local3))) {
randomMessageIndex = 1;
}
_local2.data.description = randomMessageIndex + 1;
_local2.flush();
trace("Showing message #" + randomMessageIndex);
messages_mc.gotoAndStop(randomMessageIndex);
airplaneHolder_mc.airplaneMessages_mc.onEnterFrame = function () {
messages_mc.gotoAndStop(randomMessageIndex);
};
}
function onShowingMessage() {
var objRef = this;
var checkFrames = false;
trace((("Airplane: " + airplaneHolder_mc.airplaneMessages_mc.messages_mc.message_mc) + " current frame: ") + airplaneHolder_mc.airplaneMessages_mc.messages_mc.message_mc._currentframe);
airplaneHolder_mc.airplaneMessages_mc.onEnterFrame = function () {
if (!checkFrames) {
trace("onShowingMessage: playing " + this.messages_mc.message_mc);
this.messages_mc.message_mc.gotoAndPlay(2);
checkFrames = true;
} else {
trace((("\t" + this.messages_mc.message_mc) + " current frame: ") + this.messages_mc.message_mc._currentframe);
if (this.messages_mc.message_mc._currentframe == 1) {
trace("Reached last frame. Closing message");
objRef.closeMessage();
}
}
};
}
}
Symbol 1591 MovieClip [__Packages.ButtonManager] Frame 0
class ButtonManager
{
var mainTimeLine, onGotoGalleryDelegate, onGotoRoomDelegate;
function ButtonManager (mainTimeLine) {
this.mainTimeLine = mainTimeLine;
onGotoGalleryDelegate = mx.utils.Delegate.create(this, gotoGallery);
onGotoRoomDelegate = mx.utils.Delegate.create(this, gotoRoom);
}
function onButtonsAppear() {
trace("ButtonManager.onButtonsAppear");
mainTimeLine.gallery_mc.back_btn.onPress = onGotoGalleryDelegate;
mainTimeLine.gallery_mc.room_btn.onPress = onGotoRoomDelegate;
}
function gotoGallery() {
getURL (_level0.galleriesURL, "_top");
}
function gotoRoom() {
getURL (_level0.ownRoomURL, "_top");
}
}
Symbol 1592 MovieClip [__Packages.StateSetup] Frame 0
class StateSetup extends State
{
function StateSetup () {
super();
}
function onEnterState(oldState) {
if (RoomSaver.__get__hasSavedRoom()) {
trace("Bypassing menu");
StateManager.__get__singleton().transition(StateManager.__get__singleton().theStateDecorate, undefined);
} else {
StateManager.__get__singleton().transition(StateManager.__get__singleton().theStateMenu);
}
}
function toString() {
return("[StateSetup object]");
}
}
Symbol 1593 MovieClip [__Packages.StateTitle] Frame 0
class StateTitle extends State
{
var __get__mainTimeLine;
function StateTitle () {
super();
}
function onEnterState(oldState) {
__get__mainTimeLine().gotoAndPlay("title");
}
function onFinishedTitle() {
StateManager.__get__singleton().transition(StateManager.__get__singleton().theStateMenu);
}
function toString() {
return("[StateTitle object]");
}
}
Symbol 1594 MovieClip [__Packages.StateMenu] Frame 0
class StateMenu extends State
{
var onWelcomeSoundCompleteDelegate, onClickARoomStyleSoundCompleteDelegate, __get__mainTimeLine, clickARoomStyleSound, welcomeSound, intervalId;
function StateMenu () {
super();
onWelcomeSoundCompleteDelegate = mx.utils.Delegate.create(this, onWelcomeSoundComplete);
onClickARoomStyleSoundCompleteDelegate = mx.utils.Delegate.create(this, onClickARoomStyleSoundComplete);
}
function onEnterState(oldState, suppressGreeting) {
if (suppressGreeting) {
playClickARoomStyleSound();
} else {
playWelcomeSound();
}
var _local3;
var _local2;
_local2 = 1;
while (_local2 <= OwnRoomConstant.NUMBER_OF_ROOMS) {
_local3 = __get__mainTimeLine()[("room_" + _local2) + "_btn"];
_local3.roomNumber = _local2;
_local3.onPress = function () {
RoomSaver.clearRoom();
StateManager.__get__singleton().transition(StateManager.__get__singleton().theStateDecorate, this.roomNumber, suppressGreeting);
};
_local2++;
}
}
function onLeaveState() {
if (clickARoomStyleSound != undefined) {
clickARoomStyleSound.stop();
clickARoomStyleSound = undefined;
}
if (welcomeSound != undefined) {
welcomeSound.stop();
welcomeSound = undefined;
}
__get__mainTimeLine().helpButton_mc.gotoAndStop("enabled");
clearTimeOut();
}
function playWelcomeSound() {
__get__mainTimeLine().gotoAndStop("menu");
__get__mainTimeLine().helpButton_mc.gotoAndStop("disabled");
var theOnWelcomeSoundCompleteDelegate = onWelcomeSoundCompleteDelegate;
welcomeSound = new Sound(__get__mainTimeLine().sound_mc);
welcomeSound.attachSound("SR_001.wav");
welcomeSound.onSoundComplete = function () {
theOnWelcomeSoundCompleteDelegate();
};
welcomeSound.start();
}
function onWelcomeSoundComplete() {
__get__mainTimeLine().helpButton_mc.gotoAndStop("enabled");
playClickARoomStyleSound();
}
function playClickARoomStyleSound() {
__get__mainTimeLine().gotoAndPlay("clickRoomStylePrompt");
__get__mainTimeLine().helpButton_mc.gotoAndStop("disabled");
var theOnClickARoomStyleSoundCompleteDelegate = onClickARoomStyleSoundCompleteDelegate;
clickARoomStyleSound = new Sound(__get__mainTimeLine().sound_mc);
clickARoomStyleSound.attachSound("SR_002.wav");
clickARoomStyleSound.onSoundComplete = function () {
theOnClickARoomStyleSoundCompleteDelegate();
};
clickARoomStyleSound.start();
}
function onClickARoomStyleSoundComplete() {
trace("onClickARoomStyleSoundComplete: " + onClickARoomStyleSoundComplete);
__get__mainTimeLine().helpButton_mc.gotoAndStop("enabled");
intervalId = setInterval(this, "onTimeOut", 20000);
}
function onHelp() {
clearTimeOut();
playClickARoomStyleSound();
}
function onTimeOut() {
clearTimeOut();
playClickARoomStyleSound();
}
function clearTimeOut() {
if (intervalId != undefined) {
clearInterval(intervalId);
intervalId = undefined;
}
}
function toString() {
return("[StateMenu object]");
}
}
Symbol 1595 MovieClip [__Packages.StateDecorate] Frame 0
class StateDecorate extends State
{
var airplaneMouseListener, helpMouseListener, onDoneDelegate, onMusicPlayerDelegate, onVideoPlayerDelegate, onVideoCompleteDelegate, onSongCompleteDelegate, onSubmitDelegate, onFlyAirplaneDelegate, onAirplaneIntroSoundCompleteDelegate, __get__mainTimeLine, decorator, __get__airplaneManager, airplaneIntroSound, musicSound, videoController;
function StateDecorate () {
super();
var objRef = this;
airplaneMouseListener = new Object();
airplaneMouseListener.onMouseDown = function () {
trace((("airplaneMouseListener.onMouseDown, objRef is " + objRef) + ", function is ") + objRef.stopAirplaneIntroSound);
objRef.stopAirplaneIntroSound();
};
helpMouseListener = new Object();
helpMouseListener.onMouseDown = function () {
trace("helpMouseListener.onMouseDown");
StateManager.__get__singleton().onStopHelp();
};
onDoneDelegate = mx.utils.Delegate.create(this, done);
onMusicPlayerDelegate = mx.utils.Delegate.create(this, musicPlayer);
onVideoPlayerDelegate = mx.utils.Delegate.create(this, videoPlayer);
onVideoCompleteDelegate = mx.utils.Delegate.create(this, onVideoComplete);
onSongCompleteDelegate = mx.utils.Delegate.create(this, onSongComplete);
onSubmitDelegate = mx.utils.Delegate.create(this, submitRoom);
onFlyAirplaneDelegate = mx.utils.Delegate.create(this, flyAirplane);
onAirplaneIntroSoundCompleteDelegate = mx.utils.Delegate.create(this, onAirplaneIntroSoundComplete);
}
function onEnterState(oldState, roomNumber, suppressHelp) {
var objRef = this;
var _local9 = RoomSaver.__get__hasSavedRoom();
var _local10 = __get__mainTimeLine().shouldFlyAirplane();
var _local8 = false;
__get__mainTimeLine().gotoAndStop("decorate");
__get__mainTimeLine().helpButton_mc.gotoAndStop("enabled");
__get__mainTimeLine().rooms_mc.invisible_btn._visible = false;
__get__mainTimeLine().rooms_mc.invisible_btn.enabled = false;
trace("roomNumber: " + roomNumber);
if (roomNumber == undefined) {
__get__mainTimeLine().gotoAndStop("decorate");
_local8 = RoomSaver.loadRoomFromDisk(__get__mainTimeLine().rooms_mc);
} else {
__get__mainTimeLine().rooms_mc.gotoAndStop(roomNumber);
RoomSaver.loadPortraitFromDisk(__get__mainTimeLine().rooms_mc);
RoomSaver.saveRoom(__get__mainTimeLine().rooms_mc);
}
trace("this.mainTimeLine.rooms_mc.room_mc.video_mc.invisible_btn is " + __get__mainTimeLine().rooms_mc.room_mc.video_mc.invisible_btn);
__get__mainTimeLine().rooms_mc.room_mc.video_mc.invisible_btn._visible = false;
decorator = new Decorator(__get__mainTimeLine().rooms_mc);
__get__mainTimeLine().doneButton_mc.button.onPress = onDoneDelegate;
__get__mainTimeLine().rooms_mc.room_mc.musicPlayer_mc.onPress = onMusicPlayerDelegate;
__get__mainTimeLine().rooms_mc.room_mc.video_btn.onPress = onVideoPlayerDelegate;
__get__mainTimeLine().submit_btn.onPress = onSubmitDelegate;
__get__mainTimeLine().airplane_btn.onPress = onFlyAirplaneDelegate;
__get__mainTimeLine().rooms_mc.room_mc.clock_mc.onEnterFrame = function () {
var _local4 = new Date();
var _local2 = "";
var _local3 = _local4.getHours() % 12;
if (_local3 == 0) {
_local3 = 12;
}
if (_local3 < 10) {
_local2 = _local2 + " ";
}
_local2 = _local2 + _local3.toString();
_local2 = _local2 + ":";
var _local5 = _local4.getMinutes();
if (_local5 < 10) {
_local2 = _local2 + "0";
}
_local2 = _local2 + _local5.toString();
this.txt.text = _local2;
};
var _local4 = false;
if (_local10 && (!suppressHelp)) {
trace("\tFlying airplane");
flyAirplane();
_local4 = true;
}
if (((!_local9) && (!suppressHelp)) && (!_local4)) {
trace("\tPlaying help");
__get__mainTimeLine().onEnterFrame = function () {
objRef.onHelp();
delete this.onEnterFrame;
};
}
__get__mainTimeLine().rooms_mc.room_mc.musicInterface_mc._alpha = 100;
}
function onLeaveState() {
stopAirplaneIntroSound();
onStopHelp();
stopSong();
hideMusicPlayer();
stopVideo();
__get__mainTimeLine().rooms_mc.room_mc.video_mc.invisible_btn._visible = false;
}
function submitRoom() {
RoomSaver.submitRoom(__get__mainTimeLine().rooms_mc);
}
function onUnwrappingAirplaneMessage() {
stopSong();
hideMusicPlayer();
stopVideo();
}
function flyAirplane() {
var objRef = this;
if (__get__mainTimeLine().loadAirplaneSwf) {
trace("Swf already loaded");
StateManager.__get__singleton().onFlyAirplane();
} else {
var _local4 = function () {
trace("bubbleUp was called");
objRef.__get__mainTimeLine().onEnterFrame = function () {
objRef.__get__mainTimeLine().loadAirplaneSwf = true;
StateManager.__get__singleton().onFlyAirplane();
delete this.onEnterFrame;
};
};
var _local3 = new LoaderQueue();
_local3.addEventListener("loadComplete", _local4);
trace("Loading airplane.swf into " + __get__mainTimeLine().airplaneHolder_mc);
_local3.queueSwf(_global.ownRoot.MEDIAROOT + "airplane.swf", __get__mainTimeLine().airplaneHolder_mc);
_local3.load(500000);
}
}
function onFlyAirplane() {
var objRef = this;
stopSong();
hideMusicPlayer();
stopVideo();
__get__airplaneManager().fly();
__get__mainTimeLine().onEnterFrame = function () {
objRef.startAirplaneIntroSound();
delete this.onEnterFrame;
};
}
function startAirplaneIntroSound() {
trace("startAirplaneIntroSound");
OwnRoomSpeech.__get__singleton().onBeginningNarration();
airplaneIntroSound = new Sound(__get__mainTimeLine().sound_mc);
airplaneIntroSound.attachSound("SR_011.wav");
airplaneIntroSound.onSoundComplete = onAirplaneIntroSoundCompleteDelegate;
airplaneIntroSound.start();
Mouse.addListener(airplaneMouseListener);
}
function onAirplaneIntroSoundComplete() {
trace("onAirplaneIntroSoundComplete");
stopAirplaneIntroSound();
}
function stopAirplaneIntroSound() {
trace("stopAirplaneIntroSound");
if (airplaneIntroSound != undefined) {
trace("\tstopping");
OwnRoomSpeech.__get__singleton().onFinishedNarration();
airplaneIntroSound.stop();
airplaneIntroSound = undefined;
} else {
trace("\talready stopped");
}
Mouse.removeListener(airplaneMouseListener);
}
function done() {
hideMusicPlayer();
var _local3 = stopSong();
var _local2 = stopVideo();
__get__airplaneManager().stop();
StateManager.__get__singleton().transition(StateManager.__get__singleton().theStateMenu, true);
}
function musicPlayer() {
var objRef = this;
__get__mainTimeLine().rooms_mc.room_mc.musicInterface_mc.gotoAndStop(2);
__get__mainTimeLine().rooms_mc.room_mc.musicInterface_mc.invisible_btn.enabled = true;
__get__mainTimeLine().rooms_mc.room_mc.musicInterface_mc.invisible_btn.useHandCursor = false;
__get__mainTimeLine().rooms_mc.room_mc.musicInterface_mc.invisible_btn.onPress = function () {
objRef.startFadingMusicPlayer();
};
if (musicSound != undefined) {
var _local6 = Number(musicSound.songId);
var _local5 = __get__mainTimeLine().rooms_mc.room_mc.musicInterface_mc[("song_" + _local6) + "_mc"];
_local5.gotoAndStop("selected");
trace("switch frames. song_mc.button is " + _local5.button);
}
var _local2;
_local2 = 0;
while (_local2 < OwnRoomConstant.NUMBER_OF_SONGS) {
var _local5 = __get__mainTimeLine().rooms_mc.room_mc.musicInterface_mc[("song_" + _local2) + "_mc"];
_local5.button.onPress = function () {
var _local2 = this._parent._name;
var _local3 = _local2.split("_");
objRef.onSongSelection(Number(_local3[1]));
};
_local2++;
}
}
function startFadingMusicPlayer() {
var objRef = this;
__get__mainTimeLine().rooms_mc.room_mc.musicInterface_mc.onEnterFrame = function () {
this._alpha = this._alpha - 10;
if (this._alpha <= 0) {
objRef.hideMusicPlayer();
}
};
}
function hideMusicPlayer() {
delete __get__mainTimeLine().rooms_mc.room_mc.musicInterface_mc.onEnterFrame;
__get__mainTimeLine().rooms_mc.room_mc.musicInterface_mc.gotoAndStop(1);
__get__mainTimeLine().rooms_mc.room_mc.musicInterface_mc._alpha = 100;
}
function onSongSelection(songNumber) {
trace(("onSongSelection(" + songNumber) + ")");
var _local5;
if (musicSound != undefined) {
_local5 = Number(musicSound.songId);
}
stopSong();
if (songNumber != _local5) {
__get__mainTimeLine().helpButton_mc.gotoAndStop("disabled");
__get__mainTimeLine().musicToggle_mc.musicToggle_btn.enabled = false;
__get__mainTimeLine().musicToggle_mc._alpha = 60;
var _local4 = __get__mainTimeLine().rooms_mc.room_mc.musicInterface_mc[("song_" + songNumber) + "_mc"];
_local4.gotoAndStop("selected");
musicSound = new Sound(__get__mainTimeLine().sound_mc);
musicSound.attachSound("song_" + songNumber);
musicSound.onSoundComplete = onSongCompleteDelegate;
_global.ownRoot.mm.setVolume(0);
_global.ownRoot.radioOn = true;
musicSound.start();
musicSound.songId = songNumber;
}
startFadingMusicPlayer();
}
function onSongComplete() {
stopSong();
}
function stopSong() {
var _local3 = false;
if (musicSound != undefined) {
__get__mainTimeLine().helpButton_mc.gotoAndStop("enabled");
__get__mainTimeLine().musicToggle_mc.musicToggle_btn.enabled = true;
__get__mainTimeLine().musicToggle_mc._alpha = 100;
var _local5 = Number(musicSound.songId);
var _local4 = __get__mainTimeLine().rooms_mc.room_mc.musicInterface_mc[("song_" + _local5) + "_mc"];
_local4.gotoAndStop("enabled");
_global.ownRoot.radioOn = false;
_global.ownRoot.mm.setVolume(85);
musicSound.stop();
musicSound = undefined;
_local3 = true;
}
return(_local3);
}
function get isMusicInterfaceVisible() {
return(__get__mainTimeLine().rooms_mc.room_mc.musicInterface_mc._currentframe != 1);
}
function videoPlayer() {
var objRef = this;
stopSong();
hideMusicPlayer();
pauseAnimations();
__get__mainTimeLine().helpButton_mc.gotoAndStop("disabled");
__get__mainTimeLine().musicToggle_mc.musicToggle_btn.enabled = false;
__get__mainTimeLine().musicToggle_mc._alpha = 60;
__get__mainTimeLine().rooms_mc.room_mc.video_mc.onPlay = function () {
objRef.onPlayVideo();
};
__get__mainTimeLine().rooms_mc.room_mc.video_mc.invisible_btn._visible = true;
__get__mainTimeLine().rooms_mc.room_mc.video_mc.invisible_btn.useHandCursor = false;
__get__mainTimeLine().rooms_mc.room_mc.video_mc.gotoAndPlay("in");
}
function pauseAnimations() {
decorator.pauseAnimations();
}
function resumeAnimations() {
decorator.resumeAnimations();
}
function onPlayVideo() {
var objRef = this;
var _local3 = __get__mainTimeLine().rooms_mc.room_mc.video_mc.pieces_mc;
_local3.close_btn.onRelease = function () {
objRef.stopVideo();
};
_local3.terms_btn.onRelease = function () {
getURL ("javascript:popTermsOfUse();");
};
var _local4 = __get__mainTimeLine().nextVideoIndex;
var _local6 = videoNames[_local4];
__get__mainTimeLine().nextVideoIndex++;
if (__get__mainTimeLine().nextVideoIndex >= videoNames.length) {
__get__mainTimeLine().nextVideoIndex = 0;
}
videoController = new VideoController(_local3.videoPlayback, _local3.bufferingBar_mc, _local3.bufferingArt_mc, _local3.playPause_mc);
videoController.addEventListener("complete", onVideoCompleteDelegate);
videoController.showVideo();
videoController.loadVideo((_global.ownRoot.MEDIAROOT + "flv/") + _local6);
videoController.playVideo();
var _local5 = __get__mainTimeLine().rooms_mc.room_mc.video_mc.videoTitle_mc;
_local5.gotoAndStop(_local4 + 1);
}
function onVideoComplete() {
stopVideo();
}
function stopVideo() {
var _local2 = false;
if (videoController != undefined) {
__get__mainTimeLine().helpButton_mc.gotoAndStop("enabled");
__get__mainTimeLine().musicToggle_mc.musicToggle_btn.enabled = true;
__get__mainTimeLine().musicToggle_mc._alpha = 100;
videoController.stopVideo();
videoController.hideVideo();
videoController = undefined;
__get__mainTimeLine().rooms_mc.room_mc.video_mc.gotoAndPlay("out");
resumeAnimations();
_local2 = true;
}
__get__mainTimeLine().rooms_mc.room_mc.video_mc.invisible_btn._visible = false;
return(_local2);
}
function get isVideoPlaying() {
return(videoController != undefined);
}
function onWaterColorsButtonClick() {
trace("onWaterColorsButtonClick");
getURL (_level0.watercolorsURL, "_top");
}
function onHelp() {
__get__mainTimeLine().helpButton_mc.gotoAndStop("disabled");
Mouse.addListener(helpMouseListener);
var _local4 = false;
var _local5 = new Date();
var _local2 = SharedObject.getLocal(OwnRoomConstant.SHARED_LAST_RUN_OBJECT_NAME, OwnRoomConstant.SHARED_LAST_RUN_OBJECT_LOCAL_PATH);
var _local6 = Number(_local2.data.description);
var _local3 = _local5.getDate();
if (_local3 != _local6) {
_local2.data.description = _local3;
_local2.flush();
_local4 = true;
}
OwnRoomSpeech.__get__singleton().onBeginningNarration();
if (_local4) {
__get__mainTimeLine().rooms_mc.help_mc.gotoAndPlay(2);
} else {
__get__mainTimeLine().rooms_mc.help_mc.gotoAndPlay("short");
}
}
function onStopHelp() {
stopAllHilites();
__get__mainTimeLine().rooms_mc.help_mc.gotoAndStop(1);
OwnRoomSpeech.__get__singleton().onFinishedNarration();
Mouse.removeListener(helpMouseListener);
__get__mainTimeLine().helpButton_mc.gotoAndStop("enabled");
}
function startHiliteShade() {
__get__mainTimeLine().rooms_mc.room_mc.stickerSheet_mc.filters = [Art.__get__hiliteGlowFilter()];
}
function hiliteMusicPlayer() {
__get__mainTimeLine().rooms_mc.room_mc.musicPlayer_mc.filters = [Art.__get__hiliteGlowFilter()];
}
function hiliteVideoPlayer() {
__get__mainTimeLine().rooms_mc.room_mc.video_btn.filters = [Art.__get__hiliteGlowFilter()];
}
function hilitePaintButton() {
__get__mainTimeLine().rooms_mc.room_mc.picture_mc.watercolors_btn.filters = [Art.__get__hiliteGlowFilter()];
}
function hiliteDoneButton() {
__get__mainTimeLine().doneButton_mc.filters = [Art.__get__hiliteGlowFilter()];
}
function stopAllHilites() {
__get__mainTimeLine().rooms_mc.room_mc.stickerSheet_mc.filters = [];
__get__mainTimeLine().rooms_mc.room_mc.musicPlayer_mc.filters = [];
__get__mainTimeLine().rooms_mc.room_mc.video_btn.filters = [];
__get__mainTimeLine().rooms_mc.room_mc.picture_mc.watercolors_btn.filters = [];
__get__mainTimeLine().doneButton_mc.filters = [];
}
function toString() {
return("[StateDecorate object]");
}
var videoNames = ["jats_104-doctor-basil_n94_240x180.flv", "jats_104-sprites-and-what_n94_240x180.flv", "jats_106-roots-of-passage_n94_240x180.flv", "jats_106-seymours-guest_n94_240x180.flv", "jats_112-hola-lily_n94_240x180.flv"];
}
Symbol 1596 MovieClip [__Packages.Decorator] Frame 0
class Decorator
{
var rooms_mc, caterpillarClickDelegate, cyclicClickDelegate, roomChangedDelegate, stickerSheet, resumeFrogFrame;
function Decorator (rooms_mc) {
this.rooms_mc = rooms_mc;
caterpillarClickDelegate = mx.utils.Delegate.create(this, onCaterpillarClick);
cyclicClickDelegate = mx.utils.Delegate.create(this, onCyclicClick);
assignCyclicClickHandlers();
roomChangedDelegate = mx.utils.Delegate.create(this, onRoomChanged);
stickerSheet = new StickerSheet(this.rooms_mc.room_mc.stickersLayer_mc, this.rooms_mc.room_mc.stickerSheet_mc, this.rooms_mc._currentframe, roomChangedDelegate);
}
function assignCyclicClickHandlers() {
var objRef = this;
var _local4 = rooms_mc.room_mc;
var _local3;
var _local5 = Art.cycleOnClick;
var _local6 = _local5.length;
var _local2;
_local2 = 0;
while (_local2 < _local6) {
_local3 = _local4[_local5[_local2]];
if (_local3._totalframes > 1) {
_local3.hit_mc.onPress = function () {
objRef.cyclicClickDelegate(this._parent);
};
}
_local2++;
}
trace("room_mc.vine_mc.leaf_mc.caterpillars_mc is " + _local4.vine_mc.leaf_mc.caterpillars_mc);
var _local7 = _local4.vine_mc.leaf_mc.caterpillars_mc;
if (_local7 != undefined) {
_local7.onPress = function () {
objRef.caterpillarClickDelegate(this);
};
}
}
function onCaterpillarClick(caterpillars_mc) {
var objRef = this;
var _local3 = caterpillars_mc.catepillar_mc._currentframe;
trace((("BEFORE: " + caterpillars_mc.catepillar_mc) + " frame is ") + _local3);
if (caterpillars_mc._currentframe == caterpillars_mc._totalframes) {
caterpillars_mc.gotoAndStop(1);
} else {
caterpillars_mc.nextFrame();
}
caterpillars_mc.catepillar_mc.gotoAndPlay(_local3);
trace((("AFTER : " + caterpillars_mc.catepillar_mc) + " frame is ") + _local3);
caterpillars_mc.onPress = function () {
objRef.caterpillarClickDelegate(this);
};
}
function onCyclicClick(item_mc) {
var objRef = this;
trace("this.rooms_mc._parent.AudioSFX1_MC is " + rooms_mc._parent.AudioSFX1_MC);
rooms_mc._parent.AudioSFX1_MC.play();
if (item_mc._currentframe == item_mc._totalframes) {
item_mc.gotoAndStop(1);
} else {
item_mc.nextFrame();
}
item_mc.hit_mc.onPress = function () {
objRef.cyclicClickDelegate(this._parent);
};
roomChangedDelegate();
}
function onRoomChanged() {
saveRoom();
}
function saveRoom() {
RoomSaver.saveRoom(rooms_mc);
}
function pauseAnimations() {
if (stickerSheet != undefined) {
stickerSheet.pauseStickerAnimations();
}
var _local2 = rooms_mc.room_mc.frog_mc;
if (_local2 != undefined) {
resumeFrogFrame = _local2._currentframe;
_local2.gotoAndStop(1);
}
rooms_mc.room_mc.windowView_mc.rain_mc.rain1_mc.stop();
rooms_mc.room_mc.windowView_mc.rain_mc.rain2_mc.stop();
rooms_mc.room_mc.table_mc.hit_mc.fishSwimming_mc.stop();
rooms_mc.room_mc.table_mc.hit_mc.lobsterAnim_mc.stop();
rooms_mc.room_mc.table_mc.hit_mc.jellyfish2_mc.jellyfish1_mc.stop();
rooms_mc.room_mc.table_mc.hit_mc.jellyfish2_mc.jellyfish0_mc.stop();
rooms_mc.room_mc.beetle_mc.bugAnim0_mc.bugbounce_mc.stop();
rooms_mc.room_mc.beetle_mc.bugswing_mc.stop();
rooms_mc.room_mc.vine_mc.leaf_mc.caterpillars_mc.catepillar_mc.stop();
rooms_mc.room_mc.fireplace_mc.firecrackle0_mc.stop();
rooms_mc.room_mc.globe_mc.hit_mc.maprotate0_mc.stop();
rooms_mc.room_mc.lamp_mc.hit_mc.lava_mc.stop();
rooms_mc.room_mc.fireplace_mc.firecrackle0_mc.firecrackle1_mc.stop();
}
function resumeAnimations() {
if (stickerSheet != undefined) {
stickerSheet.resumeStickerAnimations();
}
assignCyclicClickHandlers();
var _local2 = rooms_mc.room_mc.frog_mc;
if (_local2 != undefined) {
_local2.gotoAndStop(resumeFrogFrame);
}
rooms_mc.room_mc.windowView_mc.rain_mc.rain1_mc.play();
rooms_mc.room_mc.windowView_mc.rain_mc.rain2_mc.play();
rooms_mc.room_mc.table_mc.hit_mc.fishSwimming_mc.play();
rooms_mc.room_mc.table_mc.hit_mc.lobsterAnim_mc.play();
rooms_mc.room_mc.table_mc.hit_mc.jellyfish2_mc.jellyfish1_mc.play();
rooms_mc.room_mc.table_mc.hit_mc.jellyfish2_mc.jellyfish0_mc.play();
rooms_mc.room_mc.beetle_mc.bugAnim0_mc.bugbounce_mc.play();
rooms_mc.room_mc.beetle_mc.bugswing_mc.play();
rooms_mc.room_mc.vine_mc.leaf_mc.caterpillars_mc.catepillar_mc.play();
rooms_mc.room_mc.fireplace_mc.firecrackle0_mc.play();
rooms_mc.room_mc.globe_mc.hit_mc.maprotate0_mc.play();
rooms_mc.room_mc.lamp_mc.hit_mc.lava_mc.play();
rooms_mc.room_mc.fireplace_mc.firecrackle0_mc.firecrackle1_mc.play();
}
}
Symbol 1597 MovieClip [__Packages.StickerSheet] Frame 0
class StickerSheet
{
var showStickersDelegate, hideStickersDelegate, clearStickersDelegate, roomNumber, onRoomChanged, stickersLayer_mc, stickerSheet_mc;
function StickerSheet (stickersLayer_mc, stickerSheet_mc, roomNumber, onRoomChanged) {
showStickersDelegate = mx.utils.Delegate.create(this, showStickers);
hideStickersDelegate = mx.utils.Delegate.create(this, hideStickers);
clearStickersDelegate = mx.utils.Delegate.create(this, clearStickers);
this.roomNumber = roomNumber;
this.onRoomChanged = onRoomChanged;
this.stickersLayer_mc = stickersLayer_mc;
this.stickerSheet_mc = stickerSheet_mc;
this.stickerSheet_mc.stickerSheet = this;
this.stickerSheet_mc.stickers_mc.openClose_mc.button.onPress = showStickersDelegate;
}
function showStickers() {
stickerSheet_mc.stickers_mc.openClose_mc.gotoAndStop("close");
stickerSheet_mc.stickers_mc.openClose_mc.button.onPress = hideStickersDelegate;
stickerSheet_mc.stickers_mc.clear_btn.onPress = clearStickersDelegate;
stickerSheet_mc.gotoAndPlay("show");
}
function hideStickers() {
stickerSheet_mc.stickers_mc.openClose_mc.gotoAndStop("open");
stickerSheet_mc.stickers_mc.openClose_mc.button.onPress = showStickersDelegate;
stickerSheet_mc.stickers_mc.clear_btn.onPress = undefined;
stickerSheet_mc.gotoAndPlay("hide");
}
function clearStickers() {
var _local3;
var _local2;
for (_local2 in stickersLayer_mc) {
_local3 = stickersLayer_mc[_local2];
_local3.removeMovieClip();
}
onRoomChanged();
}
function pauseStickerAnimations() {
var _local2;
var _local3;
for (_local3 in stickersLayer_mc) {
_local2 = stickersLayer_mc[_local3];
_local2.stop();
if (_local2.bufferfly_mc != undefined) {
_local2.bufferfly_mc.stop();
}
}
}
function resumeStickerAnimations() {
var _local2;
var _local3;
for (_local3 in stickersLayer_mc) {
_local2 = stickersLayer_mc[_local3];
_local2.play();
if (_local2.bufferfly_mc != undefined) {
_local2.bufferfly_mc.play();
}
}
}
function onShown() {
stickerSheet_mc.stop();
assignStickerHandlers();
}
function onHidden() {
stickerSheet_mc.stop();
}
function assignStickerHandlers() {
var objRef = this;
var _local5;
var stickerSymbolName;
var _local2;
var _local4 = Art.stickers[roomNumber - 1];
var _local3;
for (_local3 in _local4) {
_local5 = _local3;
stickerSymbolName = _local4[_local3];
_local2 = stickerSheet_mc.stickers_mc[_local5];
trace("sticker_btn is " + _local2);
_local2.stickerSymbolName = stickerSymbolName;
_local2.onPress = function () {
objRef.onClickedSticker(this.stickerSymbolName);
};
}
}
function onClickedSticker(stickerSymbolName) {
trace("onClickedSticker: stickerSymbolName is " + stickerSymbolName);
var _local4 = stickersLayer_mc.getNextHighestDepth();
var _local2 = stickersLayer_mc.attachMovie(stickerSymbolName, (("sticker__" + stickerSymbolName) + "__") + _local4, _local4);
trace((("Sticker: attached '" + stickerSymbolName) + "' to get ") + _local2);
_local2.stop();
drag(_local2);
}
function drag(sticker_mc) {
var roomChangedDelegate = onRoomChanged;
sticker_mc.startDrag(true, OwnRoomConstant.STICKERS_BORDER_LEFT, OwnRoomConstant.STICKERS_BORDER_TOP, OwnRoomConstant.STICKERS_BORDER_RIGHT, OwnRoomConstant.STICKERS_BORDER_BOTTOM);
var _local2 = new Object();
_local2.onMouseDown = function () {
sticker_mc.stopDrag();
sticker_mc.play();
Mouse.removeListener(this);
roomChangedDelegate();
};
Mouse.addListener(_local2);
}
}
Symbol 1598 MovieClip [__Packages.VideoController] Frame 0
class VideoController
{
var videoPlayback, bufferingBar_mc, background_mc, playPause_mc, dispatcher, onCompleteDelegate, onStateChangeDelegate;
function VideoController (videoPlayback, bufferingBar_mc, background_mc, playPause_mc) {
trace("VideoController constructor:");
trace("\tvideoPlayback: " + videoPlayback);
trace("\tbufferingBar_mc: " + bufferingBar_mc);
trace("\tbackground_mc: " + background_mc);
trace("\tplayPause_mc: " + playPause_mc);
this.videoPlayback = videoPlayback;
this.bufferingBar_mc = bufferingBar_mc;
this.background_mc = background_mc;
this.playPause_mc = playPause_mc;
dispatcher = new Object();
mx.events.EventDispatcher.initialize(dispatcher);
onCompleteDelegate = mx.utils.Delegate.create(this, onComplete);
onStateChangeDelegate = mx.utils.Delegate.create(this, onStateChange);
this.videoPlayback.addEventListener("complete", onCompleteDelegate);
this.videoPlayback.addEventListener("stateChange", onStateChangeDelegate);
}
function onStateChange(eventObject) {
trace("onStateChange: new state: " + videoPlayback.__get__state());
dispatcher.dispatchEvent(eventObject);
}
function onComplete(eventObject) {
trace("ON COMPLETE NOTIFICATION: autoPlay is " + videoPlayback.__get__autoPlay());
dispatcher.dispatchEvent(eventObject);
}
function loadVideo(path) {
trace("VideoController: loadVideo was called");
videoPlayback.load(path);
videoPlayback.seek(0);
}
function playVideo() {
trace("VideoController: playVideo was called");
videoPlayback.play();
}
function stopVideo() {
trace("VideoController: stopVideo was called");
videoPlayback.stop();
}
function pauseVideo() {
trace("VideoController: pauseVideo was called");
videoPlayback.pause();
}
function hideVideo() {
videoPlayback._visible = false;
if (bufferingBar_mc != undefined) {
videoPlayback.__set__bufferingBar(undefined);
bufferingBar_mc._visible = false;
}
background_mc._visible = false;
if (playPause_mc != undefined) {
videoPlayback.__set__playPauseButton(undefined);
playPause_mc._visible = false;
}
}
function showVideo() {
videoPlayback._visible = true;
if (bufferingBar_mc != undefined) {
bufferingBar_mc._visible = true;
videoPlayback.__set__bufferingBar(bufferingBar_mc);
}
background_mc._visible = true;
if (playPause_mc != undefined) {
playPause_mc._visible = true;
videoPlayback.__set__playPauseButton(playPause_mc);
}
}
function addEventListener(event, listener) {
dispatcher.addEventListener(event, listener);
}
function removeEventListener(event, listener) {
dispatcher.removeEventListener(event, listener);
}
}
Symbol 5 MovieClip [__Packages.mx.video.FLVPlayback] Frame 0
class mx.video.FLVPlayback extends MovieClip
{
var _autoPlay, _autoRewind, _autoSize, _bufferTime, _contentPath, _cuePoints, _idleTimeout, _isLive, _aspectRatio, _seekToPrevOffset, _playheadUpdateInterval, _progressInterval, _totalTime, _transform, _volume, _skinAutoHide, _bufferingBarHides, _origHeight, __height, _height, _origWidth, __width, _width, _scaleX, _scaleY, _xscale, _yscale, _preSeekTime, _firstStreamReady, _firstStreamShown, _activeVP, _visibleVP, _topVP, _vp, _vpState, _cpMgr, boundingBox_mc, preview_mc, dispatchEvent, _uiMgr, _bufferingBar, _backButton, __get__cuePoints, _forwardButton, _muteButton, _pauseButton, _playButton, _playPauseButton, _seekBar, _seekBarInterval, _seekBarScrubTolerance, _skin, _stopButton, _visible, _volumeBar, _volumeBarInterval, _volumeBarScrubTolerance, _x, _y, attachMovie, createEmptyMovieClip;
function FLVPlayback () {
super();
mx.events.EventDispatcher.initialize(this);
if (_autoPlay == undefined) {
_autoPlay = true;
}
if (_autoRewind == undefined) {
_autoRewind = true;
}
if (_autoSize == undefined) {
_autoSize = false;
}
if (_bufferTime == undefined) {
_bufferTime = 0.1;
}
if (_contentPath == undefined) {
_contentPath = "";
}
if (_cuePoints == undefined) {
_cuePoints = null;
}
if (_idleTimeout == undefined) {
_idleTimeout = mx.video.VideoPlayer.DEFAULT_IDLE_TIMEOUT_INTERVAL;
}
if (_isLive == undefined) {
_isLive = false;
}
if (_aspectRatio == undefined) {
_aspectRatio = true;
}
if (_seekToPrevOffset == undefined) {
_seekToPrevOffset = SEEK_TO_PREV_OFFSET_DEFAULT;
}
if (_playheadUpdateInterval == undefined) {
_playheadUpdateInterval = mx.video.VideoPlayer.DEFAULT_UPDATE_PROGRESS_INTERVAL;
}
if (_progressInterval == undefined) {
_progressInterval = mx.video.VideoPlayer.DEFAULT_UPDATE_TIME_INTERVAL;
}
if (_totalTime == undefined) {
_totalTime = 0;
}
if (_transform == undefined) {
_transform = null;
}
if (_volume == undefined) {
_volume = 100;
}
if (_skinAutoHide == undefined) {
_skinAutoHide = false;
}
if (_bufferingBarHides == undefined) {
_bufferingBarHides = false;
}
_origHeight = (__height = _height);
_origWidth = (__width = _width);
_scaleX = 100;
_scaleY = 100;
_xscale = 100;
_yscale = 100;
_preSeekTime = -1;
_firstStreamReady = false;
_firstStreamShown = false;
createUIManager();
_activeVP = 0;
_visibleVP = 0;
_topVP = 0;
_vp = new Array();
_vpState = new Array();
_cpMgr = new Array();
createVideoPlayer(0);
_vp[0].visible = false;
_vp[0].volume = 0;
boundingBox_mc._visible = false;
boundingBox_mc.unloadMovie();
delete boundingBox_mc;
if (_global.isLivePreview) {
createLivePreviewMovieClip();
setSize(__width, __height);
}
_cpMgr[0].processCuePointsProperty(_cuePoints);
delete _cuePoints;
_cuePoints = null;
}
function setSize(w, h) {
if (_global.isLivePreview) {
if (preview_mc == undefined) {
createLivePreviewMovieClip();
}
preview_mc.box_mc._width = w;
preview_mc.box_mc._height = h;
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;
}
}
if ((w == width) && (h == height)) {
return(undefined);
}
__width = w;
__height = h;
var _local3 = 0;
while (_local3 < _vp.length) {
if (_vp[_local3] != undefined) {
_vp[_local3].setSize(w, h);
}
_local3++;
}
dispatchEvent({type:"resize", x:x, y:y, width:w, height:h});
}
function setScale(xs, ys) {
if ((xs == scaleX) && (ys == scaleY)) {
return(undefined);
}
_scaleX = xs;
_scaleY = ys;
var _local2 = 0;
while (_local2 < _vp.length) {
if (_vp[_local2] != undefined) {
_vp[_local2].setSize((_origWidth * xs) / 100, (_origHeight * ys) / 100);
}
_local2++;
}
dispatchEvent({type:"resize", x:x, y:y, width:width, height:height});
}
function handleEvent(e) {
var _local3 = e.state;
if (((e.state != undefined) && (e.target._name == _visibleVP)) && (scrubbing)) {
_local3 = SEEKING;
}
if (e.type == "metadataReceived") {
_cpMgr[e.target._name].processFLVCuePoints(e.info.cuePoints);
dispatchEvent({type:e.type, info:e.info, vp:e.target._name});
} else if (e.type == "cuePoint") {
if (_cpMgr[e.target._name].isFLVCuePointEnabled(e.info)) {
dispatchEvent({type:e.type, info:e.info, vp:e.target._name});
}
} else if (e.type == "rewind") {
dispatchEvent({type:e.type, auto:true, state:_local3, playheadTime:e.playheadTime, vp:e.target._name});
_cpMgr[e.target._name].resetASCuePointIndex(e.playheadTime);
} else if (e.type == "resize") {
dispatchEvent({type:e.type, x:x, y:y, width:width, height:height, auto:true, vp:e.target._name});
} else if (e.type == "playheadUpdate") {
dispatchEvent({type:e.type, state:_local3, playheadTime:e.playheadTime, vp:e.target._name});
if ((_preSeekTime >= 0) && (e.target.state != SEEKING)) {
var _local5 = _preSeekTime;
_preSeekTime = -1;
_cpMgr[e.target._name].resetASCuePointIndex(e.playheadTime);
dispatchEvent({type:"seek", state:_local3, playheadTime:e.playheadTime, vp:e.target._name});
if (_local5 < e.playheadTime) {
dispatchEvent({type:"fastForward", state:_local3, playheadTime:e.playheadTime, vp:e.target._name});
} else if (_local5 > e.playheadTime) {
dispatchEvent({type:"rewind", auto:false, state:_local3, playheadTime:e.playheadTime, vp:e.target._name});
}
}
_cpMgr[e.target._name].dispatchASCuePoints();
} else if (e.type == "stateChange") {
var _local4 = e.target._name;
if ((_local4 == _visibleVP) && (scrubbing)) {
return(undefined);
}
if (e.state == mx.video.VideoPlayer.RESIZING) {
return(undefined);
}
if (((_vpState[_local4].prevState == LOADING) && (_vpState[_local4].autoPlay)) && (e.state == STOPPED)) {
return(undefined);
}
_vpState[_local4].prevState = e.state;
dispatchEvent({type:e.type, state:_local3, playheadTime:e.playheadTime, vp:e.target._name});
if (_vp[e.target._name].state != _local3) {
return(undefined);
}
switch (_local3) {
case BUFFERING :
dispatchEvent({type:"buffering", state:_local3, playheadTime:e.playheadTime, vp:e.target._name});
break;
case PAUSED :
dispatchEvent({type:"paused", state:_local3, playheadTime:e.playheadTime, vp:e.target._name});
break;
case PLAYING :
dispatchEvent({type:"playing", state:_local3, playheadTime:e.playheadTime, vp:e.target._name});
break;
case STOPPED :
dispatchEvent({type:"stopped", state:_local3, playheadTime:e.playheadTime, vp:e.target._name});
}
} else if (e.type == "progress") {
dispatchEvent({type:e.type, bytesLoaded:e.bytesLoaded, bytesTotal:e.bytesTotal, vp:e.target._name});
} else if (e.type == "ready") {
var _local4 = e.target._name;
if (!_firstStreamReady) {
if (_local4 == _visibleVP) {
_firstStreamReady = true;
if (_uiMgr.__get__skinReady() && (!_firstStreamShown)) {
_uiMgr.__set__visible(true);
showFirstStream();
}
}
} else if ((_firstStreamShown && (_local3 == STOPPED)) && _vpState[_local4].autoPlay) {
_vp[_local4].play();
}
dispatchEvent({type:e.type, state:_local3, playheadTime:e.playheadTime, vp:e.target._name});
} else if ((e.type == "close") || (e.type == "complete")) {
dispatchEvent({type:e.type, state:_local3, playheadTime:e.playheadTime, vp:e.target._name});
}
}
function load(contentPath, totalTime, isLive) {
if (_vp[_activeVP] == undefined) {
return(undefined);
}
if ((contentPath == null) || (contentPath == "")) {
return(undefined);
}
autoPlay = (false);
if (totalTime != undefined) {
this.totalTime = (totalTime);
}
if (isLive != undefined) {
this.isLive = (isLive);
}
this.contentPath = (contentPath);
}
function play(contentPath, totalTime, isLive) {
if (_vp[_activeVP] == undefined) {
return(undefined);
}
if (contentPath == undefined) {
_vp[_activeVP].play();
} else {
autoPlay = (true);
if (totalTime != undefined) {
this.totalTime = (totalTime);
}
if (isLive != undefined) {
this.isLive = (isLive);
}
this.contentPath = (contentPath);
}
}
function pause() {
if (_vp[_activeVP] == undefined) {
return(undefined);
}
_vp[_activeVP].pause();
}
function stop() {
if (_vp[_activeVP] == undefined) {
return(undefined);
}
_vp[_activeVP].stop();
}
function seek(time) {
if (_vp[_activeVP] == undefined) {
return(undefined);
}
_preSeekTime = playheadTime;
_vp[_activeVP].seek(time);
}
function seekSeconds(time) {
seek(time);
}
function seekPercent(percent) {
if (_vp[_activeVP] == undefined) {
return(undefined);
}
if ((((percent < 0) || (percent > 100)) || (_vp[_activeVP].totalTime == null)) || (_vp[_activeVP].totalTime <= 0)) {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_SEEK);
}
seek((_vp[_activeVP].totalTime * percent) / 100);
}
function get playheadPercentage() {
if ((_vp[_activeVP].totalTime == null) || (_vp[_activeVP].totalTime <= 0)) {
return(undefined);
}
return((_vp[_activeVP].playheadTime / _vp[_activeVP].totalTime) * 100);
}
function set playheadPercentage(percent) {
seekPercent(percent);
//return(playheadPercentage);
}
function seekToNavCuePoint(timeNameOrCuePoint) {
var _local3;
switch (typeof(timeNameOrCuePoint)) {
case "string" :
_local3 = {name:timeNameOrCuePoint};
break;
case "number" :
_local3 = {time:timeNameOrCuePoint};
break;
case "object" :
_local3 = timeNameOrCuePoint;
}
if ((_local3.name == null) || (typeof(_local3.name) != "string")) {
seekToNextNavCuePoint(_local3.time);
return(undefined);
}
if (isNaN(_local3.time)) {
_local3.time = 0;
}
var _local2 = findNearestCuePoint(timeNameOrCuePoint, NAVIGATION);
while ((_local2 != null) && ((_local2.time < _local3.time) || (!isFLVCuePointEnabled(_local2)))) {
_local2 = findNextCuePointWithName(_local2);
}
if (_local2 == null) {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_SEEK);
}
seek(_local2.time);
}
function seekToNextNavCuePoint(time) {
if (_vp[_activeVP] == undefined) {
return(undefined);
}
if (isNaN(time) || (time < 0)) {
time = _vp[_activeVP].playheadTime + 0.001;
}
var _local3;
_local3 = findNearestCuePoint(time, NAVIGATION);
if (_local3 == null) {
seek(_vp[_activeVP].totalTime);
return(undefined);
}
var _local2 = _local3.index;
if (_local3.time < time) {
_local2++;
}
while ((_local2 < _local3.array.length) && (!isFLVCuePointEnabled(_local3.array[_local2]))) {
_local2++;
}
if (_local2 >= _local3.array.length) {
var _local5 = _vp[_activeVP].totalTime;
if (_local3.array[_local3.array.length - 1].time > _local5) {
_local5 = _local3.array[_local3.array.length - 1];
}
seek(_local5);
} else {
seek(_local3.array[_local2].time);
}
}
function seekToPrevNavCuePoint(time) {
if (_vp[_activeVP] == undefined) {
return(undefined);
}
if (isNaN(time) || (time < 0)) {
time = _vp[_activeVP].playheadTime;
}
var _local3 = findNearestCuePoint(time, NAVIGATION);
if (_local3 == null) {
seek(0);
return(undefined);
}
var _local2 = _local3.index;
while ((_local2 >= 0) && ((!isFLVCuePointEnabled(_local3.array[_local2])) || (_local3.array[_local2].time >= (time - _seekToPrevOffset)))) {
_local2--;
}
if (_local2 < 0) {
seek(0);
} else {
seek(_local3.array[_local2].time);
}
}
function addASCuePoint(timeOrCuePoint, name, parameters) {
return(_cpMgr[_activeVP].addASCuePoint(timeOrCuePoint, name, parameters));
}
function removeASCuePoint(timeNameOrCuePoint) {
return(_cpMgr[_activeVP].removeASCuePoint(timeNameOrCuePoint));
}
function findCuePoint(timeNameOrCuePoint, type) {
switch (type) {
case "event" :
return(_cpMgr[_activeVP].getCuePoint(_cpMgr[_activeVP].eventCuePoints, false, timeNameOrCuePoint));
case "navigation" :
return(_cpMgr[_activeVP].getCuePoint(_cpMgr[_activeVP].navCuePoints, false, timeNameOrCuePoint));
case "flv" :
return(_cpMgr[_activeVP].getCuePoint(_cpMgr[_activeVP].flvCuePoints, false, timeNameOrCuePoint));
case "actionscript" :
return(_cpMgr[_activeVP].getCuePoint(_cpMgr[_activeVP].asCuePoints, false, timeNameOrCuePoint));
case "all" :
}
return(_cpMgr[_activeVP].getCuePoint(_cpMgr[_activeVP].allCuePoints, false, timeNameOrCuePoint));
}
function findNearestCuePoint(timeNameOrCuePoint, type) {
switch (type) {
case "event" :
return(_cpMgr[_activeVP].getCuePoint(_cpMgr[_activeVP].eventCuePoints, true, timeNameOrCuePoint));
case "navigation" :
return(_cpMgr[_activeVP].getCuePoint(_cpMgr[_activeVP].navCuePoints, true, timeNameOrCuePoint));
case "flv" :
return(_cpMgr[_activeVP].getCuePoint(_cpMgr[_activeVP].flvCuePoints, true, timeNameOrCuePoint));
case "actionscript" :
return(_cpMgr[_activeVP].getCuePoint(_cpMgr[_activeVP].asCuePoints, true, timeNameOrCuePoint));
case "all" :
}
return(_cpMgr[_activeVP].getCuePoint(_cpMgr[_activeVP].allCuePoints, true, timeNameOrCuePoint));
}
function findNextCuePointWithName(cuePoint) {
return(_cpMgr[_activeVP].getNextCuePointWithName(cuePoint));
}
function setFLVCuePointEnabled(enabled, timeNameOrCuePoint) {
return(_cpMgr[_activeVP].setFLVCuePointEnabled(enabled, timeNameOrCuePoint));
}
function isFLVCuePointEnabled(timeNameOrCuePoint) {
return(_cpMgr[_activeVP].isFLVCuePointEnabled(timeNameOrCuePoint));
}
function getNextHighestDepth() {
var _local2 = super.getNextHighestDepth();
return(((_local2 < 1000) ? 1000 : (_local2)));
}
function bringVideoPlayerToFront(index) {
if ((index == _topVP) || (_vp[index] == undefined)) {
return(undefined);
}
_vp[_topVP].swapDepths(_vp[index].getDepth());
_topVP = index;
}
function getVideoPlayer(index) {
return(_vp[index]);
}
function closeVideoPlayer(index) {
if (_vp[index] == undefined) {
return(undefined);
}
if (index == 0) {
throw new mx.video.VideoError(mx.video.VideoError.DELETE_DEFAULT_PLAYER);
}
if (_visibleVP == index) {
visibleVideoPlayerIndex = (0);
}
if (_activeVP == index) {
activeVideoPlayerIndex = (0);
}
_vp[index].close();
_vp[index].unloadMovie();
delete _vp[index];
_vp[index] = undefined;
}
function get activeVideoPlayerIndex() {
return(_activeVP);
}
function set activeVideoPlayerIndex(i) {
if (_activeVP == i) {
return;
}
if (_vp[_activeVP].onEnterFrame != undefined) {
doContentPathConnect();
}
_activeVP = i;
if (_vp[_activeVP] == undefined) {
createVideoPlayer(_activeVP);
_vp[_activeVP].visible = false;
_vp[_activeVP].volume = 0;
}
//return(activeVideoPlayerIndex);
}
function get autoPlay() {
if (_vpState[_activeVP] == undefined) {
return(_autoPlay);
}
return(_vpState[_activeVP].autoPlay);
}
function set autoPlay(flag) {
if ((_activeVP == 0) || (_activeVP == undefined)) {
_autoPlay = flag;
}
_vpState[_activeVP].autoPlay = flag;
//return(autoPlay);
}
function get autoRewind() {
if (_vp[_activeVP] == undefined) {
return(_autoRewind);
}
return(_vp[_activeVP].autoRewind);
}
function set autoRewind(flag) {
if ((_activeVP == 0) || (_activeVP == undefined)) {
_autoRewind = flag;
}
_vp[_activeVP].autoRewind = flag;
//return(autoRewind);
}
function get autoSize() {
if (_vp[_activeVP] == undefined) {
return(_autoSize);
}
return(_vp[_activeVP].autoSize);
}
function set autoSize(flag) {
if ((_activeVP == 0) || (_activeVP == undefined)) {
_autoSize = flag;
}
_vp[_activeVP].autoSize = flag;
//return(autoSize);
}
function get bitrate() {
return(ncMgr.getBitrate());
}
function set bitrate(b) {
ncMgr.setBitrate(b);
//return(bitrate);
}
function get buffering() {
if (_vp[_activeVP] == undefined) {
return(false);
}
return(_vp[_activeVP].state == BUFFERING);
}
function get bufferingBar() {
if (_uiMgr != null) {
_bufferingBar = _uiMgr.getControl(mx.video.UIManager.BUFFERING_BAR);
}
return(_bufferingBar);
}
function set bufferingBar(s) {
_bufferingBar = s;
if (_uiMgr != null) {
_uiMgr.setControl(mx.video.UIManager.BUFFERING_BAR, s);
}
//return(bufferingBar);
}
function get bufferingBarHidesAndDisablesOthers() {
if (_uiMgr != null) {
_bufferingBarHides = _uiMgr.bufferingBarHidesAndDisablesOthers;
}
return(_bufferingBarHides);
}
function set bufferingBarHidesAndDisablesOthers(b) {
_bufferingBarHides = b;
if (_uiMgr != null) {
_uiMgr.__set__bufferingBarHidesAndDisablesOthers(b);
}
//return(bufferingBarHidesAndDisablesOthers);
}
function get backButton() {
if (_uiMgr != null) {
_backButton = _uiMgr.getControl(mx.video.UIManager.BACK_BUTTON);
}
return(_backButton);
}
function set backButton(s) {
_backButton = s;
if (_uiMgr != null) {
_uiMgr.setControl(mx.video.UIManager.BACK_BUTTON, s);
}
//return(backButton);
}
function get bufferTime() {
if (_vp[_activeVP] == undefined) {
return(_bufferTime);
}
return(_vp[_activeVP].bufferTime);
}
function set bufferTime(aTime) {
if ((_activeVP == 0) || (_activeVP == undefined)) {
_bufferTime = aTime;
}
_vp[_activeVP].bufferTime = aTime;
//return(bufferTime);
}
function get bytesLoaded() {
return(_vp[_activeVP].bytesLoaded);
}
function get bytesTotal() {
return(_vp[_activeVP].bytesTotal);
}
function get contentPath() {
if ((_vp[_activeVP] == undefined) || (_vp[_activeVP].onEnterFrame != undefined)) {
return(_contentPath);
}
return(_vp[_activeVP].url);
}
function set contentPath(url) {
if (_global.isLivePreview) {
return;
}
if (_vp[_activeVP] == undefined) {
if (url == _contentPath) {
return;
}
_contentPath = url;
} else {
if (_vp[_activeVP].url == url) {
return;
}
_vpState[_activeVP].minProgressPercent = undefined;
if (_vp[_activeVP].onEnterFrame != undefined) {
delete _vp[_activeVP].onEnterFrame;
_vp[_activeVP].onEnterFrame = undefined;
}
_cpMgr[_activeVP].reset();
if (_vpState[_activeVP].autoPlay && (_firstStreamShown)) {
_vp[_activeVP].play(url, _vpState[_activeVP].isLive, _vpState[_activeVP].totalTime);
} else {
_vp[_activeVP].load(url, _vpState[_activeVP].isLive, _vpState[_activeVP].totalTime);
}
_vpState[_activeVP].isLiveSet = false;
_vpState[_activeVP].totalTimeSet = false;
}
//return(contentPath);
}
function set cuePoints(cp) {
if (_cuePoints != undefined) {
return;
}
_cuePoints = cp;
//return(__get__cuePoints());
}
function get forwardButton() {
if (_uiMgr != null) {
_forwardButton = _uiMgr.getControl(mx.video.UIManager.FORWARD_BUTTON);
}
return(_forwardButton);
}
function set forwardButton(s) {
_forwardButton = s;
if (_uiMgr != null) {
_uiMgr.setControl(mx.video.UIManager.FORWARD_BUTTON, s);
}
//return(forwardButton);
}
function get height() {
if (_global.isLivePreview) {
return(__height);
}
if (_vp[_visibleVP] != undefined) {
__height = _vp[_visibleVP].height;
}
return(__height);
}
function set height(h) {
setSize(width, h);
//return(height);
}
function get idleTimeout() {
if (_vp[_activeVP] == undefined) {
return(_idleTimeout);
}
return(_vp[_activeVP].idleTimeout);
}
function set idleTimeout(aTime) {
if ((_activeVP == 0) || (_activeVP == undefined)) {
_idleTimeout = aTime;
}
_vp[_activeVP].idleTimeout = aTime;
//return(idleTimeout);
}
function get isRTMP() {
if (_global.isLivePreview) {
return(true);
}
if (_vp[_activeVP] == undefined) {
return(undefined);
}
return(_vp[_activeVP].isRTMP);
}
function get isLive() {
if (_vp[_activeVP] == undefined) {
return(_isLive);
}
if (_vpState[_activeVP].isLiveSet) {
return(_vpState[_activeVP].isLive);
}
return(_vp[_activeVP].isLive);
}
function set isLive(flag) {
if ((_activeVP == 0) || (_activeVP == undefined)) {
_isLive = flag;
}
_vpState[_activeVP].isLive = flag;
_vpState[_activeVP].isLiveSet = true;
//return(isLive);
}
function get maintainAspectRatio() {
if (_vp[_activeVP] == undefined) {
return(_aspectRatio);
}
return(_vp[_activeVP].maintainAspectRatio);
}
function set maintainAspectRatio(flag) {
if ((_activeVP == 0) || (_activeVP == undefined)) {
_aspectRatio = flag;
}
_vp[_activeVP].maintainAspectRatio = flag;
//return(maintainAspectRatio);
}
function get metadata() {
if (_vp[_activeVP] == undefined) {
return(null);
}
return(_vp[_activeVP].metadata);
}
function get metadataLoaded() {
if (_vp[_activeVP] == undefined) {
return(false);
}
return(_cpMgr[_activeVP].metadataLoaded);
}
function get muteButton() {
if (_uiMgr != null) {
_muteButton = _uiMgr.getControl(mx.video.UIManager.MUTE_BUTTON);
}
return(_muteButton);
}
function set muteButton(s) {
_muteButton = s;
if (_uiMgr != null) {
_uiMgr.setControl(mx.video.UIManager.MUTE_BUTTON, s);
}
//return(muteButton);
}
function get ncMgr() {
if (_vp[_activeVP] == undefined) {
return(null);
}
return(_vp[_activeVP].ncMgr);
}
function get pauseButton() {
if (_uiMgr != null) {
_pauseButton = _uiMgr.getControl(mx.video.UIManager.PAUSE_BUTTON);
}
return(_pauseButton);
}
function set pauseButton(s) {
_pauseButton = s;
if (_uiMgr != null) {
_uiMgr.setControl(mx.video.UIManager.PAUSE_BUTTON, s);
}
//return(pauseButton);
}
function get paused() {
if (_vp[_activeVP] == undefined) {
return(false);
}
return(_vp[_activeVP].state == PAUSED);
}
function get playButton() {
if (_uiMgr != null) {
_playButton = _uiMgr.getControl(mx.video.UIManager.PLAY_BUTTON);
}
return(_playButton);
}
function set playButton(s) {
_playButton = s;
if (_uiMgr != null) {
_uiMgr.setControl(mx.video.UIManager.PLAY_BUTTON, s);
}
//return(playButton);
}
function get playheadTime() {
if (_vp[_activeVP] == undefined) {
return(0);
}
return(_vp[_activeVP].playheadTime);
}
function set playheadTime(position) {
seek(position);
//return(playheadTime);
}
function get playheadUpdateInterval() {
if (_vp[_activeVP] == undefined) {
return(_playheadUpdateInterval);
}
return(_vp[_activeVP].playheadUpdateInterval);
}
function set playheadUpdateInterval(aTime) {
if ((_activeVP == 0) || (_activeVP == undefined)) {
_playheadUpdateInterval = aTime;
}
_cpMgr[_activeVP].playheadUpdateInterval = aTime;
_vp[_activeVP].playheadUpdateInterval = aTime;
//return(playheadUpdateInterval);
}
function get playing() {
if (_vp[_activeVP] == undefined) {
return(false);
}
return(_vp[_activeVP].state == PLAYING);
}
function get playPauseButton() {
if (_uiMgr != null) {
_playPauseButton = _uiMgr.getControl(mx.video.UIManager.PLAY_PAUSE_BUTTON);
}
return(_playPauseButton);
}
function set playPauseButton(s) {
_playPauseButton = s;
if (_uiMgr != null) {
_uiMgr.setControl(mx.video.UIManager.PLAY_PAUSE_BUTTON, s);
}
//return(playPauseButton);
}
function get preferredHeight() {
if (_vp[_activeVP] == undefined) {
return(0);
}
return(_vp[_activeVP].videoHeight);
}
function get preferredWidth() {
if (_vp[_activeVP] == undefined) {
return(0);
}
return(_vp[_activeVP].videoWidth);
}
function get progressInterval() {
if (_vp[_activeVP] == undefined) {
return(_progressInterval);
}
return(_vp[_activeVP].progressInterval);
}
function set progressInterval(aTime) {
if ((_activeVP == 0) || (_activeVP == undefined)) {
_progressInterval = aTime;
}
_vp[_activeVP].progressInterval = aTime;
//return(progressInterval);
}
function get scaleX() {
if (_vp[_visibleVP] != undefined) {
_scaleX = (_vp[_visibleVP].width / _origWidth) * 100;
}
return(_scaleX);
}
function set scaleX(xs) {
setScale(xs, scaleY);
//return(scaleX);
}
function get scaleY() {
if (_vp[_visibleVP] != undefined) {
_scaleY = (_vp[_visibleVP].height / _origHeight) * 100;
}
return(_scaleY);
}
function set scaleY(ys) {
setScale(scaleX, ys);
//return(scaleY);
}
function get scrubbing() {
var _local2 = seekBar;
if ((_local2 == undefined) || (_local2.isDragging == undefined)) {
return(false);
}
return(_local2.isDragging);
}
function get seekBar() {
if (_uiMgr != null) {
_seekBar = _uiMgr.getControl(mx.video.UIManager.SEEK_BAR);
}
return(_seekBar);
}
function set seekBar(s) {
_seekBar = s;
if (_uiMgr != null) {
_uiMgr.setControl(mx.video.UIManager.SEEK_BAR, s);
}
//return(seekBar);
}
function get seekBarInterval() {
if (_uiMgr != null) {
_seekBarInterval = _uiMgr.seekBarInterval;
}
return(_seekBarInterval);
}
function set seekBarInterval(s) {
_seekBarInterval = s;
if (_uiMgr != null) {
_uiMgr.__set__seekBarInterval(_seekBarInterval);
}
//return(seekBarInterval);
}
function get seekBarScrubTolerance() {
if (_uiMgr != null) {
_seekBarScrubTolerance = _uiMgr.seekBarScrubTolerance;
}
return(_seekBarScrubTolerance);
}
function set seekBarScrubTolerance(s) {
_seekBarScrubTolerance = s;
if (_uiMgr != null) {
_uiMgr.__set__seekBarScrubTolerance(_seekBarScrubTolerance);
}
//return(seekBarScrubTolerance);
}
function get seekToPrevOffset() {
return(_seekToPrevOffset);
}
function set seekToPrevOffset(s) {
_seekToPrevOffset = s;
//return(seekToPrevOffset);
}
function get skin() {
if (_uiMgr != null) {
_skin = _uiMgr.skin;
}
return(_skin);
}
function set skin(s) {
_skin = s;
if (_uiMgr != null) {
_uiMgr.__set__skin(s);
}
//return(skin);
}
function get skinAutoHide() {
if (_uiMgr != null) {
_skinAutoHide = _uiMgr.skinAutoHide;
}
return(_skinAutoHide);
}
function set skinAutoHide(b) {
if (_global.isLivePreview) {
return;
}
_skinAutoHide = b;
if (_uiMgr != null) {
_uiMgr.__set__skinAutoHide(b);
}
//return(skinAutoHide);
}
function get transform() {
return(_transform);
}
function set transform(s) {
_transform = s;
if (_vp[_activeVP] != undefined) {
_vp[_activeVP].transform = _transform;
}
//return(transform);
}
function get state() {
if (_global.isLivePreview) {
return(STOPPED);
}
if (_vp[_activeVP] == undefined) {
return(DISCONNECTED);
}
if ((_activeVP == _visibleVP) && (scrubbing)) {
return(SEEKING);
}
var _local3 = _vp[_activeVP].state;
if (_local3 == mx.video.VideoPlayer.RESIZING) {
return(LOADING);
}
if (((_vpState[_activeVP].prevState == LOADING) && (_vpState[_activeVP].autoPlay)) && (_local3 == STOPPED)) {
return(LOADING);
}
return(_local3);
}
function get stateResponsive() {
if (_vp[_activeVP] == undefined) {
return(false);
}
return(_vp[_activeVP].stateResponsive);
}
function get stopButton() {
if (_uiMgr != null) {
_stopButton = _uiMgr.getControl(mx.video.UIManager.STOP_BUTTON);
}
return(_stopButton);
}
function set stopButton(s) {
_stopButton = s;
if (_uiMgr != null) {
_uiMgr.setControl(mx.video.UIManager.STOP_BUTTON, s);
}
//return(stopButton);
}
function get stopped() {
if (_vp[_activeVP] == undefined) {
return(false);
}
return(_vp[_activeVP].state == STOPPED);
}
function get totalTime() {
if (_global.isLivePreview) {
return(1);
}
if (_vp[_activeVP] == undefined) {
return(_totalTime);
}
if (_vpState[_activeVP].totalTimeSet) {
return(_vpState[_activeVP].totalTime);
}
return(_vp[_activeVP].totalTime);
}
function set totalTime(aTime) {
if ((_activeVP == 0) || (_activeVP == undefined)) {
_totalTime = aTime;
}
_vpState[_activeVP].totalTime = aTime;
_vpState[_activeVP].totalTimeSet = true;
//return(totalTime);
}
function get version_1_0_2() {
return("");
}
function set version_1_0_2(v) {
//return(version_1_0_2);
}
function get visible() {
return(_visible);
}
function set visible(v) {
_visible = v;
//return(visible);
}
function get visibleVideoPlayerIndex() {
return(_visibleVP);
}
function set visibleVideoPlayerIndex(i) {
if (_visibleVP == i) {
return;
}
var _local3 = _visibleVP;
if (_vp[i] == undefined) {
createVideoPlayer(i);
}
var _local5 = (_vp[i].height != _vp[_visibleVP].height) || (_vp[i].width != _vp[_visibleVP].width);
_vp[_visibleVP].visible = false;
_vp[_visibleVP].volume = 0;
_visibleVP = i;
if (_firstStreamShown) {
_uiMgr.setupSkinAutoHide();
_vp[_visibleVP].visible = true;
if (!scrubbing) {
_vp[_visibleVP].volume = _volume;
}
} else if ((_vp[_visibleVP].stateResponsive && (_vp[_visibleVP].state != DISCONNECTED)) && (_uiMgr.__get__skinReady())) {
_uiMgr.__set__visible(true);
_uiMgr.setupSkinAutoHide();
_firstStreamReady = true;
showFirstStream();
}
if ((_vp[_local3].height != _vp[_visibleVP].height) || (_vp[_local3].width != _vp[_visibleVP].width)) {
dispatchEvent({type:"resize", x:x, y:y, width:width, height:height, auto:false, vp:_visibleVP});
}
_uiMgr.handleEvent({type:"stateChange", state:_vp[_visibleVP].state, vp:_visibleVP});
_uiMgr.handleEvent({type:"playheadUpdate", playheadTime:_vp[_visibleVP].playheadTime, vp:_visibleVP});
if (_vp[_visibleVP].isRTMP) {
_uiMgr.handleEvent({type:"ready", vp:_visibleVP});
} else {
_uiMgr.handleEvent({type:"progress", bytesLoaded:_vp[_visibleVP].bytesLoaded, bytesTotal:_vp[_visibleVP].bytesTotal, vp:_visibleVP});
}
//return(visibleVideoPlayerIndex);
}
function get volume() {
return(_volume);
}
function set volume(aVol) {
if (_volume == aVol) {
return;
}
_volume = aVol;
if (!scrubbing) {
_vp[_visibleVP].volume = _volume;
}
dispatchEvent({type:"volumeUpdate", volume:aVol});
//return(volume);
}
function get volumeBar() {
if (_uiMgr != null) {
_volumeBar = _uiMgr.getControl(mx.video.UIManager.VOLUME_BAR);
}
return(_volumeBar);
}
function set volumeBar(s) {
_volumeBar = s;
if (_uiMgr != null) {
_uiMgr.setControl(mx.video.UIManager.VOLUME_BAR, s);
}
//return(volumeBar);
}
function get volumeBarInterval() {
if (_uiMgr != null) {
_volumeBarInterval = _uiMgr.volumeBarInterval;
}
return(_volumeBarInterval);
}
function set volumeBarInterval(s) {
_volumeBarInterval = s;
if (_uiMgr != null) {
_uiMgr.__set__volumeBarInterval(_volumeBarInterval);
}
//return(volumeBarInterval);
}
function get volumeBarScrubTolerance() {
if (_uiMgr != null) {
_volumeBarScrubTolerance = _uiMgr.volumeBarScrubTolerance;
}
return(_volumeBarScrubTolerance);
}
function set volumeBarScrubTolerance(s) {
_volumeBarScrubTolerance = s;
if (_uiMgr != null) {
_uiMgr.__set__volumeBarScrubTolerance(_volumeBarScrubTolerance);
}
//return(volumeBarScrubTolerance);
}
function get width() {
if (_global.isLivePreview) {
return(__width);
}
if (_vp[_visibleVP] != undefined) {
__width = _vp[_visibleVP].width;
}
return(__width);
}
function set width(w) {
setSize(w, height);
//return(width);
}
function get x() {
return(_x);
}
function set x(xpos) {
_x = xpos;
//return(x);
}
function get y() {
return(_y);
}
function set y(ypos) {
_y = ypos;
//return(y);
}
function createVideoPlayer(index) {
if (_global.isLivePreview) {
return(undefined);
}
var _local4 = width;
var _local5 = height;
_vp[index] = mx.video.VideoPlayer(attachMovie("VideoPlayer", String(index), VP_DEPTH_OFFSET + index));
_vp[index].setSize(_local4, _local5);
_topVP = index;
_vp[index].autoRewind = _autoRewind;
_vp[index].autoSize = _autoSize;
_vp[index].bufferTime = _bufferTime;
_vp[index].idleTimeout = _idleTimeout;
_vp[index].maintainAspectRatio = _aspectRatio;
_vp[index].playheadUpdateInterval = _playheadUpdateInterval;
_vp[index].progressInterval = _progressInterval;
_vp[index].transform = _transform;
_vp[index].volume = _volume;
if (index == 0) {
_vpState[index] = {id:index, isLive:_isLive, isLiveSet:true, totalTime:_totalTime, totalTimeSet:true, autoPlay:_autoPlay};
if (((_contentPath != null) && (_contentPath != undefined)) && (_contentPath != "")) {
_vp[index].onEnterFrame = mx.utils.Delegate.create(this, doContentPathConnect);
}
} else {
_vpState[index] = {id:index, isLive:false, isLiveSet:true, totalTime:0, totalTimeSet:true, autoPlay:false};
}
_vp[index].addEventListener("resize", this);
_vp[index].addEventListener("close", this);
_vp[index].addEventListener("complete", this);
_vp[index].addEventListener("cuePoint", this);
_vp[index].addEventListener("playheadUpdate", this);
_vp[index].addEventListener("progress", this);
_vp[index].addEventListener("metadataReceived", this);
_vp[index].addEventListener("stateChange", this);
_vp[index].addEventListener("ready", this);
_vp[index].addEventListener("rewind", this);
_cpMgr[index] = new mx.video.CuePointManager(this, index);
_cpMgr[index].playheadUpdateInterval = _playheadUpdateInterval;
}
function createUIManager() {
_uiMgr = new mx.video.UIManager(this);
_uiMgr.__set__visible(false);
if (_backButton != null) {
_uiMgr.setControl(mx.video.UIManager.BACK_BUTTON, _backButton);
}
if (_bufferingBar != null) {
_uiMgr.setControl(mx.video.UIManager.BUFFERING_BAR, _bufferingBar);
}
_uiMgr.__set__bufferingBarHidesAndDisablesOthers(_bufferingBarHides);
if (_forwardButton != null) {
_uiMgr.setControl(mx.video.UIManager.FORWARD_BUTTON, _forwardButton);
}
if (_pauseButton != null) {
_uiMgr.setControl(mx.video.UIManager.PAUSE_BUTTON, _pauseButton);
}
if (_playButton != null) {
_uiMgr.setControl(mx.video.UIManager.PLAY_BUTTON, _playButton);
}
if (_playPauseButton != null) {
_uiMgr.setControl(mx.video.UIManager.PLAY_PAUSE_BUTTON, _playPauseButton);
}
if (_stopButton != null) {
_uiMgr.setControl(mx.video.UIManager.STOP_BUTTON, _stopButton);
}
if (_seekBar != null) {
_uiMgr.setControl(mx.video.UIManager.SEEK_BAR, _seekBar);
}
if (_seekBarInterval != null) {
_uiMgr.__set__seekBarInterval(_seekBarInterval);
}
if (_seekBarScrubTolerance != null) {
_uiMgr.__set__seekBarScrubTolerance(_seekBarScrubTolerance);
}
if (_skin != null) {
_uiMgr.__set__skin(_skin);
}
if (_skinAutoHide != null) {
_uiMgr.__set__skinAutoHide(_skinAutoHide);
}
if (_muteButton != null) {
_uiMgr.setControl(mx.video.UIManager.MUTE_BUTTON, _muteButton);
}
if (_volumeBar != null) {
_uiMgr.setControl(mx.video.UIManager.VOLUME_BAR, _volumeBar);
}
if (_volumeBarInterval != null) {
_uiMgr.__set__volumeBarInterval(_volumeBarInterval);
}
if (_volumeBarScrubTolerance != null) {
_uiMgr.__set__volumeBarScrubTolerance(_volumeBarScrubTolerance);
}
}
function createLivePreviewMovieClip() {
preview_mc = createEmptyMovieClip("preview_mc", 10);
preview_mc.createEmptyMovieClip("box_mc", 10);
preview_mc.box_mc.beginFill(0);
preview_mc.box_mc.moveTo(0, 0);
preview_mc.box_mc.lineTo(0, 100);
preview_mc.box_mc.lineTo(100, 100);
preview_mc.box_mc.lineTo(100, 0);
preview_mc.box_mc.lineTo(0, 0);
preview_mc.box_mc.endFill();
preview_mc.attachMovie("Icon", "icon_mc", 20);
}
function doContentPathConnect() {
delete _vp[0].onEnterFrame;
_vp[0].onEnterFrame = undefined;
if (_global.isLivePreview) {
return(undefined);
}
if (_vpState[0].autoPlay && (_firstStreamShown)) {
_vp[0].play(_contentPath, _isLive, _totalTime);
} else {
_vp[0].load(_contentPath, _isLive, _totalTime);
}
_vpState[0].isLiveSet = false;
_vpState[0].totalTimeSet = false;
}
function showFirstStream() {
_firstStreamShown = true;
_vp[_visibleVP].visible = true;
if (!scrubbing) {
_vp[_visibleVP].volume = _volume;
}
var _local2 = 0;
while (_local2 < _vp.length) {
if (((_vp[_local2] != undefined) && (_vp[_local2].state == STOPPED)) && (_vpState[_local2].autoPlay)) {
_vp[_local2].play();
}
_local2++;
}
}
function _scrubStart() {
var _local2 = playheadTime;
_vp[_visibleVP].volume = 0;
dispatchEvent({type:"stateChange", state:SEEKING, playheadTime:_local2, vp:_visibleVP});
dispatchEvent({type:"scrubStart", state:SEEKING, playheadTime:_local2});
}
function _scrubFinish() {
var _local3 = playheadTime;
var _local2 = state;
_vp[_visibleVP].volume = _volume;
if (_local2 != SEEKING) {
dispatchEvent({type:"stateChange", state:_local2, playheadTime:_local3, vp:_visibleVP});
}
dispatchEvent({type:"scrubFinish", state:_local2, playheadTime:_local3});
}
function skinError(message) {
if (_firstStreamReady && (!_firstStreamShown)) {
showFirstStream();
}
dispatchEvent({type:"skinError", message:message});
}
function skinLoaded() {
if (_firstStreamReady) {
_uiMgr.__set__visible(true);
if (!_firstStreamShown) {
showFirstStream();
}
} else if ((_contentPath == null) || (_contentPath == "")) {
_uiMgr.__set__visible(true);
}
dispatchEvent({type:"skinLoaded"});
}
static var version = "1.0.2.8";
static var shortVersion = "1.0.2";
static var DISCONNECTED = "disconnected";
static var STOPPED = "stopped";
static var PLAYING = "playing";
static var PAUSED = "paused";
static var BUFFERING = "buffering";
static var LOADING = "loading";
static var CONNECTION_ERROR = "connectionError";
static var REWINDING = "rewinding";
static var SEEKING = "seeking";
static var ALL = "all";
static var EVENT = "event";
static var NAVIGATION = "navigation";
static var FLV = "flv";
static var ACTIONSCRIPT = "actionscript";
static var VP_DEPTH_OFFSET = 100;
static var SEEK_TO_PREV_OFFSET_DEFAULT = 1;
}
Symbol 18 MovieClip [__Packages.mx.video.UIManager] Frame 0
class mx.video.UIManager
{
var _vc, _skin, _skinAutoHide, _skinReady, __visible, _bufferingBarHides, _controlsEnabled, _lastScrubPos, _lastVolumePos, cachedSoundLevel, _isMuted, controls, customClips, skin_mc, skinLoader, layout_mc, border_mc, _seekBarIntervalID, _seekBarInterval, _seekBarScrubTolerance, _volumeBarIntervalID, _volumeBarInterval, _volumeBarScrubTolerance, _bufferingDelayIntervalID, _bufferingDelayInterval, _bufferingOn, _skinAutoHideIntervalID, _progressPercent, placeholderLeft, placeholderRight, placeholderTop, placeholderBottom, videoLeft, videoRight, videoTop, videoBottom, _playAfterScrub;
function UIManager (vc) {
_vc = vc;
_skin = undefined;
_skinAutoHide = false;
_skinReady = true;
__visible = true;
_bufferingBarHides = false;
_controlsEnabled = true;
_lastScrubPos = 0;
_lastVolumePos = 0;
cachedSoundLevel = _vc.volume;
_isMuted = false;
controls = new Array();
customClips = undefined;
skin_mc = undefined;
skinLoader = undefined;
layout_mc = undefined;
border_mc = undefined;
_seekBarIntervalID = 0;
_seekBarInterval = SEEK_BAR_INTERVAL_DEFAULT;
_seekBarScrubTolerance = SEEK_BAR_SCRUB_TOLERANCE_DEFAULT;
_volumeBarIntervalID = 0;
_volumeBarInterval = VOLUME_BAR_INTERVAL_DEFAULT;
_volumeBarScrubTolerance = VOLUME_BAR_SCRUB_TOLERANCE_DEFAULT;
_bufferingDelayIntervalID = 0;
_bufferingDelayInterval = BUFFERING_DELAY_INTERVAL_DEFAULT;
_bufferingOn = false;
_skinAutoHideIntervalID = 0;
_vc.addEventListener("metadataReceived", this);
_vc.addEventListener("playheadUpdate", this);
_vc.addEventListener("progress", this);
_vc.addEventListener("stateChange", this);
_vc.addEventListener("ready", this);
_vc.addEventListener("resize", this);
_vc.addEventListener("volumeUpdate", this);
}
function handleEvent(e) {
if ((e.vp != undefined) && (e.vp != _vc.__get__visibleVideoPlayerIndex())) {
return(undefined);
}
var _local9 = _vc.__get__activeVideoPlayerIndex();
_vc.__set__activeVideoPlayerIndex(_vc.visibleVideoPlayerIndex);
if (e.type == "stateChange") {
if (e.state == mx.video.FLVPlayback.BUFFERING) {
if (!_bufferingOn) {
clearInterval(_bufferingDelayIntervalID);
_bufferingDelayIntervalID = setInterval(this, "doBufferingDelay", _bufferingDelayInterval);
}
} else {
clearInterval(_bufferingDelayIntervalID);
_bufferingDelayIntervalID = 0;
_bufferingOn = false;
}
if (e.state == mx.video.FLVPlayback.LOADING) {
_progressPercent = (_vc.getVideoPlayer(e.vp).__get__isRTMP() ? 100 : 0);
var _local2 = SEEK_BAR;
while (_local2 <= VOLUME_BAR) {
var _local4 = controls[_local2];
if (_local4.progress_mc != undefined) {
positionBar(_local4, "progress", _progressPercent);
}
_local2++;
}
}
var _local2 = 0;
while (_local2 < NUM_CONTROLS) {
if (controls[_local2] == undefined) {
} else {
setEnabledAndVisibleForState(_local2, e.state);
if (_local2 < NUM_BUTTONS) {
skinButtonControl(controls[_local2]);
}
}
_local2++;
}
} else if ((e.type == "ready") || (e.type == "metadataReceived")) {
var _local2 = 0;
while (_local2 < NUM_CONTROLS) {
if (controls[_local2] == undefined) {
} else {
setEnabledAndVisibleForState(_local2, _vc.__get__state());
if (_local2 < NUM_BUTTONS) {
skinButtonControl(controls[_local2]);
}
}
_local2++;
}
if (_vc.getVideoPlayer(e.vp).__get__isRTMP()) {
_progressPercent = 100;
_local2 = SEEK_BAR;
while (_local2 <= VOLUME_BAR) {
var _local4 = controls[_local2];
if (_local4.progress_mc != undefined) {
positionBar(_local4, "progress", _progressPercent);
}
_local2++;
}
}
} else if (e.type == "resize") {
layoutSkin();
setupSkinAutoHide();
} else if (e.type == "volumeUpdate") {
if (_isMuted && (e.volume > 0)) {
_isMuted = false;
setEnabledAndVisibleForState(MUTE_OFF_BUTTON, mx.video.FLVPlayback.PLAYING);
skinButtonControl(controls[MUTE_OFF_BUTTON]);
setEnabledAndVisibleForState(MUTE_ON_BUTTON, mx.video.FLVPlayback.PLAYING);
skinButtonControl(controls[MUTE_ON_BUTTON]);
}
var _local5 = controls[VOLUME_BAR];
_local5.percentage = (_isMuted ? (cachedSoundLevel) : (e.volume));
if (_local5.percentage < 0) {
_local5.percentage = 0;
} else if (_local5.percentage > 100) {
_local5.percentage = 100;
}
positionHandle(VOLUME_BAR);
} else if ((e.type == "playheadUpdate") && (controls[SEEK_BAR] != undefined)) {
if ((!_vc.__get__isLive()) && (_vc.__get__totalTime() > 0)) {
var _local6 = (e.playheadTime / _vc.__get__totalTime()) * 100;
if (_local6 < 0) {
_local6 = 0;
} else if (_local6 > 100) {
_local6 = 100;
}
var _local10 = controls[SEEK_BAR];
_local10.percentage = _local6;
positionHandle(SEEK_BAR);
}
} else if (e.type == "progress") {
_progressPercent = ((e.bytesTotal <= 0) ? 100 : ((e.bytesLoaded / e.bytesTotal) * 100));
var _local7 = _vc._vpState[e.vp].minProgressPercent;
if ((!isNaN(_local7)) && (_local7 > _progressPercent)) {
_progressPercent = _local7;
}
if (_vc.__get__totalTime() > 0) {
var _local8 = (_vc.__get__playheadTime() / _vc.__get__totalTime()) * 100;
if (_local8 > _progressPercent) {
_progressPercent = _local8;
_vc._vpState[e.vp].minProgressPercent = _progressPercent;
}
}
var _local2 = SEEK_BAR;
while (_local2 <= VOLUME_BAR) {
var _local4 = controls[_local2];
if (_local4.progress_mc != undefined) {
positionBar(_local4, "progress", _progressPercent);
}
_local2++;
}
}
_vc.__set__activeVideoPlayerIndex(_local9);
}
function get bufferingBarHidesAndDisablesOthers() {
return(_bufferingBarHides);
}
function set bufferingBarHidesAndDisablesOthers(b) {
_bufferingBarHides = b;
//return(bufferingBarHidesAndDisablesOthers);
}
function get controlsEnabled() {
return(_controlsEnabled);
}
function set controlsEnabled(flag) {
if (_controlsEnabled == flag) {
return;
}
_controlsEnabled = flag;
var _local2 = 0;
while (_local2 < NUM_BUTTONS) {
if (controls[_local2] == undefined) {
} else {
controls[_local2].releaseCapture();
controls[_local2].enabled = _controlsEnabled && (controls[_local2].myEnabled);
skinButtonControl(controls[_local2]);
}
_local2++;
}
//return(controlsEnabled);
}
function get skin() {
return(_skin);
}
function set skin(s) {
if (s == _skin) {
return;
}
if (_skin != undefined) {
removeSkin();
}
_skin = s;
_skinReady = (_skin == null) || (_skin == "");
if (!_skinReady) {
downloadSkin();
}
//return(skin);
}
function get skinAutoHide() {
return(_skinAutoHide);
}
function set skinAutoHide(b) {
if (b == _skinAutoHide) {
return;
}
_skinAutoHide = b;
setupSkinAutoHide();
//return(skinAutoHide);
}
function get skinReady() {
return(_skinReady);
}
function get seekBarInterval() {
return(_seekBarInterval);
}
function set seekBarInterval(s) {
if (_seekBarInterval == s) {
return;
}
_seekBarInterval = s;
if (_seekBarIntervalID > 0) {
clearInterval(_seekBarIntervalID);
_seekBarIntervalID = setInterval(this, "seekBarListener", _seekBarInterval, false);
}
//return(seekBarInterval);
}
function get volumeBarInterval() {
return(_volumeBarInterval);
}
function set volumeBarInterval(s) {
if (_volumeBarInterval == s) {
return;
}
_volumeBarInterval = s;
if (_volumeBarIntervalID > 0) {
clearInterval(_volumeBarIntervalID);
_volumeBarIntervalID = setInterval(this, "volumeBarListener", _volumeBarInterval, false);
}
//return(volumeBarInterval);
}
function get bufferingDelayInterval() {
return(_bufferingDelayInterval);
}
function set bufferingDelayInterval(s) {
if (_bufferingDelayInterval == s) {
return;
}
_bufferingDelayInterval = s;
if (_bufferingDelayIntervalID > 0) {
clearInterval(_bufferingDelayIntervalID);
_bufferingDelayIntervalID = setInterval(this, "doBufferingDelay", _bufferingDelayIntervalID);
}
//return(bufferingDelayInterval);
}
function get volumeBarScrubTolerance() {
return(_volumeBarScrubTolerance);
}
function set volumeBarScrubTolerance(s) {
_volumeBarScrubTolerance = s;
//return(volumeBarScrubTolerance);
}
function get seekBarScrubTolerance() {
return(_seekBarScrubTolerance);
}
function set seekBarScrubTolerance(s) {
_seekBarScrubTolerance = s;
//return(seekBarScrubTolerance);
}
function get visible() {
return(__visible);
}
function set visible(v) {
if (__visible == v) {
return;
}
__visible = v;
if (!__visible) {
skin_mc._visible = false;
} else {
setupSkinAutoHide();
}
//return(visible);
}
function getControl(index) {
return(controls[index]);
}
function setControl(index, s) {
if (s == null) {
s = undefined;
}
if (s == controls[index]) {
return(undefined);
}
switch (index) {
case PAUSE_BUTTON :
case PLAY_BUTTON :
resetPlayPause();
break;
case PLAY_PAUSE_BUTTON :
if (s._parent != layout_mc) {
resetPlayPause();
setControl(PAUSE_BUTTON, s.pause_mc);
setControl(PLAY_BUTTON, s.play_mc);
}
break;
case MUTE_BUTTON :
if (s._parent == layout_mc) {
break;
}
setControl(MUTE_ON_BUTTON, s.on_mc);
setControl(MUTE_OFF_BUTTON, s.off_mc);
}
if (index >= NUM_BUTTONS) {
controls[index] = s;
switch (index) {
case SEEK_BAR :
addBarControl(SEEK_BAR);
break;
case VOLUME_BAR :
addBarControl(VOLUME_BAR);
controls[VOLUME_BAR].percentage = _vc.volume;
break;
case BUFFERING_BAR :
controls[BUFFERING_BAR].uiMgr = this;
controls[BUFFERING_BAR].controlIndex = BUFFERING_BAR;
if (controls[BUFFERING_BAR]._parent == skin_mc) {
finishAddBufferingBar();
} else {
controls[BUFFERING_BAR].onEnterFrame = function () {
this.uiMgr.finishAddBufferingBar();
};
}
}
setEnabledAndVisibleForState(index, _vc.__get__state());
} else {
removeButtonControl(index);
controls[index] = s;
addButtonControl(index);
}
}
function resetPlayPause() {
if (controls[PLAY_PAUSE_BUTTON] == undefined) {
return(undefined);
}
var _local2 = PAUSE_BUTTON;
while (_local2 <= PLAY_BUTTON) {
removeButtonControl(_local2);
_local2++;
}
controls[PLAY_PAUSE_BUTTON] = undefined;
}
function addButtonControl(index) {
var _local3 = controls[index];
if (_local3 == undefined) {
return(undefined);
}
var _local5 = _vc.__get__activeVideoPlayerIndex();
_vc.__set__activeVideoPlayerIndex(_vc.visibleVideoPlayerIndex);
_local3.id = index;
_local3.state = UP_STATE;
_local3.uiMgr = this;
setEnabledAndVisibleForState(index, _vc.__get__state());
_local3.onRollOver = function () {
this.state = mx.video.UIManager.OVER_STATE;
this.uiMgr.skinButtonControl(this);
};
_local3.onRollOut = function () {
this.state = mx.video.UIManager.UP_STATE;
this.uiMgr.skinButtonControl(this);
};
if ((index == SEEK_BAR_HANDLE) || (index == VOLUME_BAR_HANDLE)) {
_local3.onPress = function () {
if (_root.focusManager) {
this._focusrect = false;
Selection.setFocus(this);
}
this.state = mx.video.UIManager.DOWN_STATE;
this.uiMgr.dispatchMessage(this);
this.uiMgr.skinButtonControl(this);
};
_local3.onRelease = function () {
this.state = mx.video.UIManager.OVER_STATE;
this.uiMgr.handleRelease(this.controlIndex);
this.uiMgr.skinButtonControl(this);
};
_local3.onReleaseOutside = function () {
this.state = mx.video.UIManager.UP_STATE;
this.uiMgr.handleRelease(this.controlIndex);
this.uiMgr.skinButtonControl(this);
};
} else {
_local3.onPress = function () {
if (_root.focusManager) {
this._focusrect = false;
Selection.setFocus(this);
}
this.state = mx.video.UIManager.DOWN_STATE;
this.uiMgr.skinButtonControl(this);
};
_local3.onRelease = function () {
this.state = mx.video.UIManager.OVER_STATE;
this.uiMgr.dispatchMessage(this);
this.uiMgr.skinButtonControl(this);
};
_local3.onReleaseOutside = function () {
this.state = mx.video.UIManager.UP_STATE;
this.uiMgr.skinButtonControl(this);
};
}
if (_local3._parent == skin_mc) {
skinButtonControl(_local3);
} else {
_local3.onEnterFrame = function () {
this.uiMgr.skinButtonControl(this);
};
}
_vc.__set__activeVideoPlayerIndex(_local5);
}
function removeButtonControl(index) {
if (controls[index] == undefined) {
return(undefined);
}
controls[index].uiMgr = undefined;
controls[index].onRollOver = undefined;
controls[index].onRollOut = undefined;
controls[index].onPress = undefined;
controls[index].onRelease = undefined;
controls[index].onReleaseOutside = undefined;
controls[index] = undefined;
}
function downloadSkin() {
if (skinLoader == undefined) {
skinLoader = new MovieClipLoader();
skinLoader.addListener(this);
}
if (skin_mc == undefined) {
skin_mc = _vc.createEmptyMovieClip("skin_mc", _vc.getNextHighestDepth());
}
skin_mc._visible = false;
skin_mc._x = Stage.width + 100;
skin_mc._y = Stage.height + 100;
skinLoader.loadClip(_skin, skin_mc);
}
function onLoadError(target_mc, errorCode) {
_skinReady = true;
_vc.skinError("Unable to load skin swf");
}
function onLoadInit() {
try {
skin_mc._visible = false;
skin_mc._x = 0;
skin_mc._y = 0;
layout_mc = skin_mc.layout_mc;
if (layout_mc == undefined) {
throw new Error("No layout_mc");
}
layout_mc._visible = false;
customClips = new Array();
setCustomClips("bg");
if (layout_mc.playpause_mc != undefined) {
setSkin(PLAY_PAUSE_BUTTON, layout_mc.playpause_mc);
} else {
setSkin(PAUSE_BUTTON, layout_mc.pause_mc);
setSkin(PLAY_BUTTON, layout_mc.play_mc);
}
setSkin(STOP_BUTTON, layout_mc.stop_mc);
setSkin(BACK_BUTTON, layout_mc.back_mc);
setSkin(FORWARD_BUTTON, layout_mc.forward_mc);
setSkin(MUTE_BUTTON, layout_mc.volumeMute_mc);
setSkin(SEEK_BAR, layout_mc.seekBar_mc);
setSkin(VOLUME_BAR, layout_mc.volumeBar_mc);
setSkin(BUFFERING_BAR, layout_mc.bufferingBar_mc);
setCustomClips("fg");
layoutSkin();
setupSkinAutoHide();
skin_mc._visible = __visible;
_skinReady = true;
_vc.skinLoaded();
var _local4 = _vc.__get__activeVideoPlayerIndex();
_vc.__set__activeVideoPlayerIndex(_vc.visibleVideoPlayerIndex);
var _local3 = _vc.__get__state();
var _local2 = 0;
while (_local2 < NUM_CONTROLS) {
if (controls[_local2] == undefined) {
} else {
setEnabledAndVisibleForState(_local2, _local3);
if (_local2 < NUM_BUTTONS) {
skinButtonControl(controls[_local2]);
}
}
_local2++;
}
_vc.__set__activeVideoPlayerIndex(_local4);
} catch(err:Error) {
_vc.skinError(err.message);
removeSkin();
}
}
function layoutSkin() {
if (layout_mc == undefined) {
return(undefined);
}
var _local3 = layout_mc.video_mc;
if (_local3 == undefined) {
throw new Error("No layout_mc.video_mc");
}
placeholderLeft = _local3._x;
placeholderRight = _local3._x + _local3._width;
placeholderTop = _local3._y;
placeholderBottom = _local3._y + _local3._height;
videoLeft = 0;
videoRight = _vc.width;
videoTop = 0;
videoBottom = _vc.height;
if (((!isNaN(layout_mc.minWidth)) && (layout_mc.minWidth > 0)) && (layout_mc.minWidth > videoRight)) {
videoLeft = videoLeft - ((layout_mc.minWidth - videoRight) / 2);
videoRight = layout_mc.minWidth + videoLeft;
}
if (((!isNaN(layout_mc.minHeight)) && (layout_mc.minHeight > 0)) && (layout_mc.minHeight > videoBottom)) {
videoTop = videoTop - ((layout_mc.minHeight - videoBottom) / 2);
videoBottom = layout_mc.minHeight + videoTop;
}
var _local2;
_local2 = 0;
while (_local2 < customClips.length) {
layoutControl(customClips[_local2]);
_local2++;
}
_local2 = 0;
while (_local2 < NUM_CONTROLS) {
layoutControl(controls[_local2]);
_local2++;
}
}
function layoutControl(ctrl) {
if (ctrl == undefined) {
return(undefined);
}
if (ctrl.skin.anchorRight) {
if (ctrl.skin.anchorLeft) {
ctrl._x = (ctrl.skin._x - placeholderLeft) + videoLeft;
ctrl._width = (((ctrl.skin._x + ctrl.skin._width) - placeholderRight) + videoRight) - ctrl._x;
if (ctrl.origWidth != undefined) {
ctrl.origWidth = undefined;
}
} else {
ctrl._x = (ctrl.skin._x - placeholderRight) + videoRight;
}
} else {
ctrl._x = (ctrl.skin._x - placeholderLeft) + videoLeft;
}
if (ctrl.skin.anchorTop) {
if (ctrl.skin.anchorBottom) {
ctrl._y = (ctrl.skin._y - placeholderTop) + videoTop;
ctrl._height = (((ctrl.skin._y + ctrl.skin._height) - placeholderBottom) + videoBottom) - ctrl._y;
if (ctrl.origHeight != undefined) {
ctrl.origHeight = undefined;
}
} else {
ctrl._y = (ctrl.skin._y - placeholderTop) + videoTop;
}
} else {
ctrl._y = (ctrl.skin._y - placeholderBottom) + videoBottom;
}
switch (ctrl.controlIndex) {
case SEEK_BAR :
case VOLUME_BAR :
if (ctrl.progress_mc != undefined) {
if (_progressPercent == undefined) {
_progressPercent = (_vc.__get__isRTMP() ? 100 : 0);
}
positionBar(ctrl, "progress", _progressPercent);
}
positionHandle(ctrl.controlIndex);
break;
case BUFFERING_BAR :
if (ctrl.fill_mc == undefined) {
break;
}
positionMaskedFill(ctrl, ctrl.fill_mc, 100);
}
if (ctrl.layoutSelf != undefined) {
ctrl.layoutSelf();
}
}
function removeSkin() {
if (skin_mc != undefined) {
var _local2 = 0;
while (_local2 < NUM_BUTTONS) {
removeButtonControl(_local2);
_local2++;
}
_local2 = NUM_BUTTONS;
while (_local2 < NUM_CONTROLS) {
controls[_local2] = undefined;
_local2++;
}
skin_mc.unloadMovie();
layout_mc = undefined;
border_mc = undefined;
}
}
function setCustomClips(prefix) {
var _local4 = 1;
while (true) {
var _local2 = layout_mc[(prefix + (_local4++)) + "_mc"];
if (_local2 == undefined) {
break;
}
var _local3 = _local2.mc;
if (_local3 == undefined) {
_local3 = _local2._parent._parent[_local2._name];
}
if (_local3 == undefined) {
throw new Error("Bad clip in skin: " + _local2);
}
_local3.skin = _local2;
customClips.push(_local3);
if ((prefix == "bg") && (_local4 == 2)) {
border_mc = _local3;
}
}
}
function setSkin(index, s) {
if (s == undefined) {
return(undefined);
}
var _local2 = s.mc;
if (_local2 == undefined) {
_local2 = s._parent._parent[s._name];
}
if (_local2 == undefined) {
throw new Error("Bad clip in skin: " + s);
}
_local2.skin = s;
if (index < NUM_BUTTONS) {
setupSkinStates(_local2);
} else {
switch (index) {
case PLAY_PAUSE_BUTTON :
setupSkinStates(_local2.play_mc);
setupSkinStates(_local2.pause_mc);
break;
case MUTE_BUTTON :
setupSkinStates(_local2.on_mc);
setupSkinStates(_local2.off_mc);
break;
case SEEK_BAR :
case VOLUME_BAR :
var _local4 = ((index == SEEK_BAR) ? "seekBar" : "volumeBar");
if (_local2.handle_mc == undefined) {
_local2.handle_mc = _local2.skin.handle_mc;
if (_local2.handle_mc == undefined) {
_local2.handle_mc = _local2.skin._parent._parent[_local4 + "Handle_mc"];
}
}
if (_local2.progress_mc == undefined) {
_local2.progress_mc = _local2.skin.progress_mc;
if (_local2.progress_mc == undefined) {
_local2.progress_mc = _local2.skin._parent._parent[_local4 + "Progress_mc"];
}
}
if (_local2.fullness_mc == undefined) {
_local2.fullness_mc = _local2.skin.fullness_mc;
if (_local2.fullness_mc == undefined) {
_local2.fullness_mc = _local2.skin._parent._parent[_local4 + "Fullness_mc"];
}
}
break;
case BUFFERING_BAR :
if (_local2.fill_mc != undefined) {
break;
}
_local2.fill_mc = _local2.skin.fill_mc;
if (_local2.fill_mc != undefined) {
break;
}
_local2.fill_mc = _local2.skin._parent._parent.bufferingBarFill_mc;
}
}
setControl(index, _local2);
}
function setupSkinStates(ctrl) {
if (ctrl.up_mc == undefined) {
ctrl.up_mc = ctrl;
ctrl.over_mc = ctrl;
ctrl.down_mc = ctrl;
ctrl.disabled_mc = ctrl;
} else {
ctrl._x = 0;
ctrl._y = 0;
ctrl.up_mc._x = 0;
ctrl.up_mc._y = 0;
ctrl.up_mc._visible = true;
if (ctrl.over_mc == undefined) {
ctrl.over_mc = ctrl.up_mc;
} else {
ctrl.over_mc._x = 0;
ctrl.over_mc._y = 0;
ctrl.over_mc._visible = false;
}
if (ctrl.down_mc == undefined) {
ctrl.down_mc = ctrl.up_mc;
} else {
ctrl.down_mc._x = 0;
ctrl.down_mc._y = 0;
ctrl.down_mc._visible = false;
}
if (ctrl.disabled_mc == undefined) {
ctrl.disabled_mc_mc = ctrl.up_mc;
} else {
ctrl.disabled_mc._x = 0;
ctrl.disabled_mc._y = 0;
ctrl.disabled_mc._visible = false;
}
}
}
function skinButtonControl(ctrl) {
if (ctrl.onEnterFrame != undefined) {
delete ctrl.onEnterFrame;
ctrl.onEnterFrame = undefined;
}
if (ctrl.enabled) {
switch (ctrl.state) {
case UP_STATE :
if (ctrl.up_mc == undefined) {
ctrl.up_mc = ctrl.attachMovie(ctrl.upLinkageID, "up_mc", ctrl.getNextHighestDepth());
}
applySkinState(ctrl, ctrl.up_mc);
break;
case OVER_STATE :
if (ctrl.over_mc == undefined) {
if (ctrl.overLinkageID == undefined) {
ctrl.over_mc = ctrl.up_mc;
} else {
ctrl.over_mc = ctrl.attachMovie(ctrl.overLinkageID, "over_mc", ctrl.getNextHighestDepth());
}
}
applySkinState(ctrl, ctrl.over_mc);
break;
case DOWN_STATE :
if (ctrl.down_mc == undefined) {
if (ctrl.downLinkageID == undefined) {
ctrl.down_mc = ctrl.up_mc;
} else {
ctrl.down_mc = ctrl.attachMovie(ctrl.downLinkageID, "down_mc", ctrl.getNextHighestDepth());
}
}
applySkinState(ctrl, ctrl.down_mc);
}
} else {
ctrl.state = UP_STATE;
if (ctrl.disabled_mc == undefined) {
if (ctrl.disabledLinkageID == undefined) {
ctrl.disabled_mc = ctrl.up_mc;
} else {
ctrl.disabled_mc = ctrl.attachMovie(ctrl.disabledLinkageID, "disabled_mc", ctrl.getNextHighestDepth());
}
}
applySkinState(ctrl, ctrl.disabled_mc);
}
if (ctrl.placeholder_mc != undefined) {
ctrl.placeholder_mc.unloadMovie();
delete ctrl.placeholder_mc;
ctrl.placeholder_mc = undefined;
}
}
function applySkinState(ctrl, state) {
if (state != ctrl.currentState_mc) {
if (state != undefined) {
state._visible = true;
}
if (ctrl.currentState_mc != undefined) {
ctrl.currentState_mc._visible = false;
}
ctrl.currentState_mc = state;
}
}
function addBarControl(controlIndex) {
var _local2 = controls[controlIndex];
_local2.isDragging = false;
_local2.percentage = 0;
_local2.uiMgr = this;
_local2.controlIndex = controlIndex;
if (_local2._parent == skin_mc) {
finishAddBarControl(controlIndex);
} else {
_local2.onEnterFrame = function () {
this.uiMgr.finishAddBarControl(this.controlIndex);
};
}
}
function finishAddBarControl(controlIndex) {
var _local2 = controls[controlIndex];
delete _local2.onEnterFrame;
_local2.onEnterFrame = undefined;
if (_local2.addBarControl != undefined) {
_local2.addBarControl();
}
calcBarMargins(_local2, "handle", true);
calcBarMargins(_local2, "progress", false);
calcBarMargins(_local2.progress_mc, "fill", false);
calcBarMargins(_local2.progress_mc, "mask", false);
calcBarMargins(_local2, "fullness", false);
calcBarMargins(_local2.fullness_mc, "fill", false);
calcBarMargins(_local2.fullness_mc, "mask", false);
_local2.origWidth = _local2._width;
_local2.origHeight = _local2._height;
fixUpBar(_local2, "progress");
if (_local2.progress_mc != undefined) {
fixUpBar(_local2, "progressBarFill");
if (_progressPercent == undefined) {
_progressPercent = (_vc.__get__isRTMP() ? 100 : 0);
}
positionBar(_local2, "progress", _progressPercent);
}
fixUpBar(_local2, "fullness");
if (_local2.fullness_mc != undefined) {
fixUpBar(_local2, "fullnessBarFill");
}
fixUpBar(_local2, "handle");
_local2.handle_mc.controlIndex = controlIndex;
switch (controlIndex) {
case SEEK_BAR :
setControl(SEEK_BAR_HANDLE, _local2.handle_mc);
break;
case VOLUME_BAR :
setControl(VOLUME_BAR_HANDLE, _local2.handle_mc);
}
positionHandle(controlIndex);
}
function fixUpBar(ctrl, type) {
if ((ctrl[type + "LinkageID"] != undefined) && (ctrl[type + "LinkageID"].length > 0)) {
var _local1;
if (ctrl[type + "Below"]) {
_local1 = -1;
while (ctrl._parent.getInstanceAtDepth(_local1) != undefined) {
_local1--;
}
} else {
ctrl[type + "Below"] = false;
_local1 = ctrl._parent.getNextHighestDepth();
}
var _local5 = ((ctrl.controlIndex == SEEK_BAR) ? "seekBar" : "volumeBar");
var _local4 = ((_local5 + type.substring(0, 1).toUpperCase()) + type.substring(1)) + "_mc";
ctrl[type + "_mc"] = ctrl._parent.attachMovie(ctrl[type + "LinkageID"], _local4, _local1);
}
}
function calcBarMargins(ctrl, type, symmetricMargins) {
var _local2 = ctrl[type + "_mc"];
if (_local2 == undefined) {
return(undefined);
}
if ((ctrl[type + "LeftMargin"] == undefined) && (_local2._parent == ctrl._parent)) {
ctrl[type + "LeftMargin"] = _local2._x - ctrl._x;
}
if (ctrl[type + "RightMargin"] == undefined) {
if (symmetricMargins) {
ctrl[type + "RightMargin"] = ctrl[type + "LeftMargin"];
} else if (_local2._parent == ctrl._parent) {
ctrl[type + "RightMargin"] = ((ctrl._width - _local2._width) - _local2._x) + ctrl._x;
}
}
if ((ctrl[type + "TopMargin"] == undefined) && (_local2._parent == ctrl._parent)) {
ctrl[type + "TopMargin"] = _local2._y - ctrl._y;
}
if (ctrl[type + "BottomMargin"] == undefined) {
if (symmetricMargins) {
ctrl[type + "BottomMargin"] = ctrl[type + "TopMargin"];
} else if (_local2._parent == ctrl._parent) {
ctrl[type + "BottomMargin"] = ((ctrl._height - _local2._height) - _local2._y) + ctrl._y;
}
}
if (ctrl[type + "X"] == undefined) {
if (_local2._parent == ctrl._parent) {
ctrl[type + "X"] = _local2._x - ctrl._x;
} else if (_local2._parent == ctrl) {
ctrl[type + "X"] = _local2._x;
}
}
if (ctrl[type + "Y"] == undefined) {
if (_local2._parent == ctrl._parent) {
ctrl[type + "Y"] = _local2._y - ctrl._y;
} else if (_local2._parent == ctrl) {
ctrl[type + "Y"] = _local2._y;
}
}
ctrl[type + "XScale"] = _local2._xscale;
ctrl[type + "YScale"] = _local2._yscale;
ctrl[type + "Width"] = _local2._width;
ctrl[type + "Height"] = _local2._height;
}
function finishAddBufferingBar() {
var _local2 = controls[BUFFERING_BAR];
delete _local2.onEnterFrame;
_local2.onEnterFrame = undefined;
calcBarMargins(_local2, "fill", true);
fixUpBar(_local2, "fill");
if (_local2.fill_mc != undefined) {
positionMaskedFill(_local2, _local2.fill_mc, 100);
}
}
function positionMaskedFill(ctrl, fill, percent) {
var _local5 = fill._parent;
var _local3 = ctrl.mask_mc;
if (_local3 == undefined) {
_local3 = _local5.createEmptyMovieClip(ctrl._name + "Mask_mc", _local5.getNextHighestDepth());
ctrl.mask_mc = _local3;
_local3.beginFill(16777215);
_local3.lineTo(0, 0);
_local3.lineTo(1, 0);
_local3.lineTo(1, 1);
_local3.lineTo(0, 1);
_local3.lineTo(0, 0);
_local3.endFill();
fill.setMask(_local3);
_local3._x = ctrl.fillX;
_local3._y = ctrl.fillY;
_local3._width = ctrl.fillWidth;
_local3._height = ctrl.fillHeight;
_local3._visible = false;
calcBarMargins(ctrl, "mask", true);
}
if (_local5 == ctrl) {
if (fill.slideReveal) {
fill._x = (ctrl.maskX - ctrl.fillWidth) + ((ctrl.fillWidth * percent) / 100);
} else {
_local3._width = (ctrl.fillWidth * percent) / 100;
}
} else if (_local5 == ctrl._parent) {
if (fill.slideReveal) {
_local3._x = ctrl._x + ctrl.maskLeftMargin;
_local3._y = ctrl._y + ctrl.maskTopMargin;
_local3._width = (ctrl._width - ctrl.maskRightMargin) - ctrl.maskLeftMargin;
_local3._height = (ctrl._height - ctrl.maskTopMargin) - ctrl.maskBottomMargin;
fill._x = (_local3._x - ctrl.fillWidth) + ((ctrl.maskWidth * percent) / 100);
fill._y = ctrl._y + ctrl.fillTopMargin;
} else {
fill._x = ctrl._x + ctrl.fillLeftMargin;
fill._y = ctrl._y + ctrl.fillTopMargin;
_local3._x = fill._x;
_local3._y = fill._y;
_local3._width = (((ctrl._width - ctrl.fillRightMargin) - ctrl.fillLeftMargin) * percent) / 100;
_local3._height = (ctrl._height - ctrl.fillTopMargin) - ctrl.fillBottomMargin;
}
}
}
function startHandleDrag(controlIndex) {
var _local2 = controls[controlIndex];
var _local5 = _local2.handle_mc;
if ((_local2.startHandleDrag == undefined) || (!_local2.startHandleDrag())) {
var _local3 = _local2._y + _local2.handleY;
var _local4 = ((_local2.origWidth == undefined) ? (_local2._width) : (_local2.origWidth));
_local5.startDrag(false, _local2._x + _local2.handleLeftMargin, _local3, (_local2._x + _local4) - _local2.handleRightMargin, _local3);
}
_local2.isDragging = true;
}
function stopHandleDrag(controlIndex) {
var _local2 = controls[controlIndex];
var _local3 = _local2.handle_mc;
if ((_local2.stopHandleDrag == undefined) || (!_local2.stopHandleDrag())) {
_local3.stopDrag();
}
_local2.isDragging = false;
}
function positionHandle(controlIndex) {
var _local2 = controls[controlIndex];
var _local3 = _local2.handle_mc;
if (_local3 == undefined) {
return(undefined);
}
if ((_local2.positionHandle != undefined) && (_local2.positionHandle())) {
return(undefined);
}
var _local4 = ((_local2.origWidth == undefined) ? (_local2._width) : (_local2.origWidth));
var _local5 = (_local4 - _local2.handleRightMargin) - _local2.handleLeftMargin;
_local3._x = (_local2._x + _local2.handleLeftMargin) + ((_local5 * _local2.percentage) / 100);
_local3._y = _local2._y + _local2.handleY;
if (_local2.fullness_mc != undefined) {
positionBar(_local2, "fullness", _local2.percentage);
}
}
function positionBar(ctrl, type, percent) {
if ((ctrl.positionBar != undefined) && (ctrl.positionBar(type, percent))) {
return(undefined);
}
var _local2 = ctrl[type + "_mc"];
if (_local2._parent == ctrl) {
if (_local2.fill_mc == undefined) {
_local2._xscale = (ctrl[type + "XScale"] * percent) / 100;
} else {
positionMaskedFill(_local2, _local2.fill_mc, percent);
}
} else {
_local2._x = ctrl._x + ctrl[type + "LeftMargin"];
_local2._y = ctrl._y + ctrl[type + "Y"];
if (_local2.fill_mc == undefined) {
_local2._width = (((ctrl._width - ctrl[type + "LeftMargin"]) - ctrl[type + "RightMargin"]) * percent) / 100;
} else {
positionMaskedFill(_local2, _local2.fill_mc, percent);
}
}
}
function calcPercentageFromHandle(controlIndex) {
var _local2 = controls[controlIndex];
var _local5 = _local2.handle_mc;
if ((_local2.calcPercentageFromHandle == undefined) || (!_local2.calcPercentageFromHandle())) {
var _local3 = ((_local2.origWidth == undefined) ? (_local2._width) : (_local2.origWidth));
var _local6 = (_local3 - _local2.handleRightMargin) - _local2.handleLeftMargin;
var _local4 = _local5._x - (_local2._x + _local2.handleLeftMargin);
_local2.percentage = (_local4 / _local6) * 100;
if (_local2.fullness_mc != undefined) {
positionBar(_local2, "fullness", _local2.percentage);
}
}
if (_local2.percentage < 0) {
_local2.percentage = 0;
}
if (_local2.percentage > 100) {
_local2.percentage = 100;
}
}
function handleRelease(controlIndex) {
var _local3 = _vc.__get__activeVideoPlayerIndex();
_vc.__set__activeVideoPlayerIndex(_vc.visibleVideoPlayerIndex);
if (controlIndex == SEEK_BAR) {
seekBarListener(true);
} else if (controlIndex == VOLUME_BAR) {
volumeBarListener(true);
}
stopHandleDrag(controlIndex);
_vc.__set__activeVideoPlayerIndex(_local3);
if (controlIndex == SEEK_BAR) {
_vc._scrubFinish();
}
}
function seekBarListener(finish) {
var _local3 = _vc.__get__activeVideoPlayerIndex();
_vc.__set__activeVideoPlayerIndex(_vc.visibleVideoPlayerIndex);
var _local4 = controls[SEEK_BAR];
calcPercentageFromHandle(SEEK_BAR);
var _local2 = _local4.percentage;
if (finish) {
clearInterval(_seekBarIntervalID);
_seekBarIntervalID = 0;
if (_local2 != _lastScrubPos) {
_vc.seekPercent(_local2);
}
_vc.addEventListener("playheadUpdate", this);
if (_playAfterScrub) {
_vc.play();
}
} else if (_vc.getVideoPlayer(_vc.__get__visibleVideoPlayerIndex()).__get__state() == mx.video.VideoPlayer.SEEKING) {
} else if ((((_seekBarScrubTolerance <= 0) || (Math.abs(_local2 - _lastScrubPos) > _seekBarScrubTolerance)) || (_local2 < _seekBarScrubTolerance)) || (_local2 > (100 - _seekBarScrubTolerance))) {
if (_local2 != _lastScrubPos) {
_lastScrubPos = _local2;
_vc.seekPercent(_local2);
}
}
_vc.__set__activeVideoPlayerIndex(_local3);
}
function volumeBarListener(finish) {
var _local3 = controls[VOLUME_BAR];
calcPercentageFromHandle(VOLUME_BAR);
var _local2 = _local3.percentage;
if (finish) {
clearInterval(_volumeBarIntervalID);
_volumeBarIntervalID = 0;
_vc.addEventListener("volumeUpdate", this);
}
if ((((finish || (_volumeBarScrubTolerance <= 0)) || (Math.abs(_local2 - _lastVolumePos) > _volumeBarScrubTolerance)) || (_local2 < _volumeBarScrubTolerance)) || (_local2 > (100 - _volumeBarScrubTolerance))) {
if (_local2 != _lastVolumePos) {
if (_isMuted) {
cachedSoundLevel = _local2;
} else {
_vc.__set__volume(_local2);
}
_lastVolumePos = _local2;
}
}
}
function doBufferingDelay() {
clearInterval(_bufferingDelayIntervalID);
_bufferingDelayIntervalID = 0;
var _local2 = _vc.__get__activeVideoPlayerIndex();
_vc.__set__activeVideoPlayerIndex(_vc.visibleVideoPlayerIndex);
if (_vc.__get__state() == mx.video.FLVPlayback.BUFFERING) {
_bufferingOn = true;
handleEvent({type:"stateChange", state:mx.video.FLVPlayback.BUFFERING, vp:_vc.__get__visibleVideoPlayerIndex()});
}
_vc.__set__activeVideoPlayerIndex(_local2);
}
function dispatchMessage(ctrl) {
if (ctrl.id == SEEK_BAR_HANDLE) {
_vc._scrubStart();
}
var _local2 = _vc.__get__activeVideoPlayerIndex();
_vc.__set__activeVideoPlayerIndex(_vc.visibleVideoPlayerIndex);
switch (ctrl.id) {
case PAUSE_BUTTON :
_vc.pause();
break;
case PLAY_BUTTON :
_vc.play();
break;
case STOP_BUTTON :
_vc.stop();
break;
case SEEK_BAR_HANDLE :
calcPercentageFromHandle(SEEK_BAR);
_lastScrubPos = controls[SEEK_BAR].percentage;
_vc.removeEventListener("playheadUpdate", this);
if (_vc.__get__playing() || (_vc.__get__buffering())) {
_playAfterScrub = true;
} else if (_vc.__get__state() != mx.video.VideoPlayer.SEEKING) {
_playAfterScrub = false;
}
_seekBarIntervalID = setInterval(this, "seekBarListener", _seekBarInterval, false);
startHandleDrag(SEEK_BAR);
_vc.pause();
break;
case VOLUME_BAR_HANDLE :
calcPercentageFromHandle(VOLUME_BAR);
_lastVolumePos = controls[VOLUME_BAR].percentage;
_vc.removeEventListener("volumeUpdate", this);
_volumeBarIntervalID = setInterval(this, "volumeBarListener", _volumeBarInterval, false);
startHandleDrag(VOLUME_BAR);
break;
case BACK_BUTTON :
_vc.seekToPrevNavCuePoint();
break;
case FORWARD_BUTTON :
_vc.seekToNextNavCuePoint();
break;
case MUTE_ON_BUTTON :
case MUTE_OFF_BUTTON :
if (!_isMuted) {
_isMuted = true;
cachedSoundLevel = _vc.volume;
_vc.__set__volume(0);
} else {
_isMuted = false;
_vc.__set__volume(cachedSoundLevel);
}
setEnabledAndVisibleForState(MUTE_OFF_BUTTON, mx.video.FLVPlayback.PLAYING);
skinButtonControl(controls[MUTE_OFF_BUTTON]);
setEnabledAndVisibleForState(MUTE_ON_BUTTON, mx.video.FLVPlayback.PLAYING);
skinButtonControl(controls[MUTE_ON_BUTTON]);
break;
default :
throw new Error("Unknown ButtonControl");
}
_vc.__set__activeVideoPlayerIndex(_local2);
}
function setEnabledAndVisibleForState(index, state) {
var _local5 = _vc.__get__activeVideoPlayerIndex();
_vc.__set__activeVideoPlayerIndex(_vc.visibleVideoPlayerIndex);
var _local3 = state;
if ((_local3 == mx.video.FLVPlayback.BUFFERING) && (!_bufferingOn)) {
_local3 = mx.video.FLVPlayback.PLAYING;
}
switch (index) {
case VOLUME_BAR :
case VOLUME_BAR_HANDLE :
controls[index].myEnabled = true;
controls[index].enabled = _controlsEnabled;
break;
case MUTE_ON_BUTTON :
controls[index].myEnabled = !_isMuted;
if (controls[MUTE_BUTTON] != undefined) {
controls[index]._visible = controls[index].myEnabled;
}
break;
case MUTE_OFF_BUTTON :
controls[index].myEnabled = _isMuted;
if (controls[MUTE_BUTTON] != undefined) {
controls[index]._visible = controls[index].myEnabled;
}
break;
default :
switch (_local3) {
case mx.video.FLVPlayback.LOADING :
case mx.video.FLVPlayback.CONNECTION_ERROR :
controls[index].myEnabled = false;
break;
case mx.video.FLVPlayback.DISCONNECTED :
controls[index].myEnabled = _vc.__get__contentPath() != undefined;
break;
case mx.video.FLVPlayback.SEEKING :
break;
default :
controls[index].myEnabled = true;
}
}
switch (index) {
case SEEK_BAR :
switch (_local3) {
case mx.video.FLVPlayback.STOPPED :
case mx.video.FLVPlayback.PLAYING :
case mx.video.FLVPlayback.PAUSED :
case mx.video.FLVPlayback.REWINDING :
case mx.video.FLVPlayback.SEEKING :
controls[index].myEnabled = true;
break;
case mx.video.FLVPlayback.BUFFERING :
controls[index].myEnabled = (!_bufferingBarHides) || (controls[BUFFERING_BAR] == undefined);
break;
default :
controls[index].myEnabled = false;
}
if (controls[index].myEnabled) {
controls[index].myEnabled = (!isNaN(_vc.__get__totalTime())) && (_vc.__get__totalTime() > 0);
}
controls[index].handle_mc.myEnabled = controls[index].myEnabled;
controls[index].handle_mc.enabled = controls[index].handle_mc.myEnabled;
controls[index].handle_mc._visible = controls[index].myEnabled;
var _local4 = (((!_bufferingBarHides) || (controls[index].myEnabled)) || (controls[BUFFERING_BAR] == undefined)) || (!controls[BUFFERING_BAR]._visible);
controls[index]._visible = _local4;
controls[index].progress_mc._visible = _local4;
controls[index].progress_mc.fill_mc._visible = _local4;
controls[index].fullness_mc._visible = _local4;
controls[index].fullness_mc.fill_mc._visible = _local4;
break;
case BUFFERING_BAR :
switch (_local3) {
case mx.video.FLVPlayback.STOPPED :
case mx.video.FLVPlayback.PLAYING :
case mx.video.FLVPlayback.PAUSED :
case mx.video.FLVPlayback.REWINDING :
case mx.video.FLVPlayback.SEEKING :
controls[index].myEnabled = false;
break;
default :
controls[index].myEnabled = true;
}
controls[index]._visible = controls[index].myEnabled;
controls[index].fill_mc._visible = controls[index].myEnabled;
break;
case PAUSE_BUTTON :
switch (_local3) {
case mx.video.FLVPlayback.DISCONNECTED :
case mx.video.FLVPlayback.STOPPED :
case mx.video.FLVPlayback.PAUSED :
case mx.video.FLVPlayback.REWINDING :
controls[index].myEnabled = false;
break;
case mx.video.FLVPlayback.PLAYING :
controls[index].myEnabled = true;
break;
case mx.video.FLVPlayback.BUFFERING :
controls[index].myEnabled = (!_bufferingBarHides) || (controls[BUFFERING_BAR] == undefined);
}
if (controls[PLAY_PAUSE_BUTTON] != undefined) {
controls[index]._visible = controls[index].myEnabled;
}
break;
case PLAY_BUTTON :
switch (_local3) {
case mx.video.FLVPlayback.PLAYING :
controls[index].myEnabled = false;
break;
case mx.video.FLVPlayback.STOPPED :
case mx.video.FLVPlayback.PAUSED :
controls[index].myEnabled = true;
break;
case mx.video.FLVPlayback.BUFFERING :
controls[index].myEnabled = (!_bufferingBarHides) || (controls[BUFFERING_BAR] == undefined);
}
if (controls[PLAY_PAUSE_BUTTON] != undefined) {
controls[index]._visible = !controls[PAUSE_BUTTON]._visible;
}
break;
case STOP_BUTTON :
switch (_local3) {
case mx.video.FLVPlayback.DISCONNECTED :
case mx.video.FLVPlayback.STOPPED :
controls[index].myEnabled = false;
break;
case mx.video.FLVPlayback.PAUSED :
case mx.video.FLVPlayback.PLAYING :
case mx.video.FLVPlayback.BUFFERING :
controls[index].myEnabled = true;
}
break;
case BACK_BUTTON :
case FORWARD_BUTTON :
if (!(_local3 === mx.video.FLVPlayback.BUFFERING)) {
} else {
controls[index].myEnabled = (!_bufferingBarHides) || (controls[BUFFERING_BAR] == undefined);
}
}
controls[index].enabled = _controlsEnabled && (controls[index].myEnabled);
_vc.__set__activeVideoPlayerIndex(_local5);
}
function setupSkinAutoHide() {
if (_skinAutoHide && (skin_mc != undefined)) {
skinAutoHideHitTest();
if (_skinAutoHideIntervalID == 0) {
_skinAutoHideIntervalID = setInterval(this, "skinAutoHideHitTest", SKIN_AUTO_HIDE_INTERVAL);
}
} else {
skin_mc._visible = __visible;
clearInterval(_skinAutoHideIntervalID);
_skinAutoHideIntervalID = 0;
}
}
function skinAutoHideHitTest() {
if (!__visible) {
skin_mc._visible = false;
} else {
var _local4 = _vc.getVideoPlayer(_vc.__get__visibleVideoPlayerIndex());
var _local3 = _local4.hitTest(_root._xmouse, _root._ymouse, true);
if ((!_local3) && (border_mc != undefined)) {
_local3 = border_mc.hitTest(_root._xmouse, _root._ymouse, true);
}
skin_mc._visible = _local3;
}
}
static var version = "1.0.2.8";
static var shortVersion = "1.0.2";
static var PAUSE_BUTTON = 0;
static var PLAY_BUTTON = 1;
static var STOP_BUTTON = 2;
static var SEEK_BAR_HANDLE = 3;
static var BACK_BUTTON = 4;
static var FORWARD_BUTTON = 5;
static var MUTE_ON_BUTTON = 6;
static var MUTE_OFF_BUTTON = 7;
static var VOLUME_BAR_HANDLE = 8;
static var NUM_BUTTONS = 9;
static var PLAY_PAUSE_BUTTON = 9;
static var MUTE_BUTTON = 10;
static var BUFFERING_BAR = 11;
static var SEEK_BAR = 12;
static var VOLUME_BAR = 13;
static var NUM_CONTROLS = 14;
static var UP_STATE = 0;
static var OVER_STATE = 1;
static var DOWN_STATE = 2;
static var SKIN_AUTO_HIDE_INTERVAL = 200;
static var VOLUME_BAR_INTERVAL_DEFAULT = 250;
static var VOLUME_BAR_SCRUB_TOLERANCE_DEFAULT = 0;
static var SEEK_BAR_INTERVAL_DEFAULT = 250;
static var SEEK_BAR_SCRUB_TOLERANCE_DEFAULT = 5;
static var BUFFERING_DELAY_INTERVAL_DEFAULT = 1000;
}
Symbol 14 MovieClip [__Packages.mx.video.VideoPlayer] Frame 0
class mx.video.VideoPlayer extends MovieClip
{
var _state, _cachedState, _bufferState, _sawPlayStop, _cachedPlayheadTime, _metadata, _startingPlay, _invalidSeekTime, _invalidSeekRecovery, _currentPos, _atEnd, _cmdQueue, _readyDispatched, _autoResizeDone, _lastUpdateTime, _sawSeekNotify, _updateTimeIntervalID, _updateTimeInterval, _updateProgressIntervalID, _updateProgressInterval, _idleTimeoutIntervalID, _idleTimeoutInterval, _autoResizeIntervalID, _rtmpDoStopAtEndIntervalID, _rtmpDoSeekIntervalID, _httpDoSeekIntervalID, _httpDoSeekCount, _finishAutoResizeIntervalID, _delayedBufferingIntervalID, _delayedBufferingInterval, _isLive, _autoSize, _aspectRatio, _autoPlay, _autoRewind, _bufferTime, _volume, _sound, __visible, _hiddenForResize, _hiddenForResizeMetadataDelay, _contentPath, _video, _ncMgr, _ns, attachAudio, _prevVideoWidth, _prevVideoHeight, _streamLength, _videoWidth, _videoHeight, dispatchEvent, _x, _y, _visible, _hiddenRewindPlayheadTime, ncMgrClassName, _height, _width;
function VideoPlayer () {
super();
mx.events.EventDispatcher.initialize(this);
_state = DISCONNECTED;
_cachedState = _state;
_bufferState = BUFFER_EMPTY;
_sawPlayStop = false;
_cachedPlayheadTime = 0;
_metadata = null;
_startingPlay = false;
_invalidSeekTime = false;
_invalidSeekRecovery = false;
_currentPos = 0;
_atEnd = false;
_cmdQueue = new Array();
_readyDispatched = false;
_autoResizeDone = false;
_lastUpdateTime = -1;
_sawSeekNotify = false;
_updateTimeIntervalID = 0;
_updateTimeInterval = DEFAULT_UPDATE_TIME_INTERVAL;
_updateProgressIntervalID = 0;
_updateProgressInterval = DEFAULT_UPDATE_PROGRESS_INTERVAL;
_idleTimeoutIntervalID = 0;
_idleTimeoutInterval = DEFAULT_IDLE_TIMEOUT_INTERVAL;
_autoResizeIntervalID = 0;
_rtmpDoStopAtEndIntervalID = 0;
_rtmpDoSeekIntervalID = 0;
_httpDoSeekIntervalID = 0;
_httpDoSeekCount = 0;
_finishAutoResizeIntervalID = 0;
_delayedBufferingIntervalID = 0;
_delayedBufferingInterval = HTTP_DELAYED_BUFFERING_INTERVAL;
if (_isLive == undefined) {
_isLive = false;
}
if (_autoSize == undefined) {
_autoSize = false;
}
if (_aspectRatio == undefined) {
_aspectRatio = true;
}
if (_autoPlay == undefined) {
_autoPlay = true;
}
if (_autoRewind == undefined) {
_autoRewind = true;
}
if (_bufferTime == undefined) {
_bufferTime = 0.1;
}
if (_volume == undefined) {
_volume = 100;
}
_sound = new Sound(this);
_sound.setVolume(_volume);
__visible = true;
_hiddenForResize = false;
_hiddenForResizeMetadataDelay = 0;
_contentPath = "";
}
function setSize(w, h) {
if (((w == _video._width) && (h == _video._height)) || (_autoSize)) {
return(undefined);
}
_video._width = w;
_video._height = h;
if (_aspectRatio) {
startAutoResize();
}
}
function setScale(xs, ys) {
if (((xs == _video._xscale) && (ys == _video._yscale)) || (_autoSize)) {
return(undefined);
}
_video._xscale = xs;
_video._yscale = ys;
if (_aspectRatio) {
startAutoResize();
}
}
function play(url, isLive, totalTime) {
if (url != null) {
if (_state == EXEC_QUEUED_CMD) {
_state = _cachedState;
} else {
if ((!stateResponsive) && (_state != CONNECTION_ERROR)) {
queueCmd(PLAY, url, isLive, totalTime);
return(undefined);
}
execQueuedCmds();
}
_autoPlay = true;
_load(url, isLive, totalTime);
return(undefined);
}
if (!isXnOK()) {
if (((_state == CONNECTION_ERROR) || (_ncMgr == null)) || (_ncMgr.getNetConnection() == null)) {
throw new mx.video.VideoError(mx.video.VideoError.NO_CONNECTION);
// unexpected jump
}
flushQueuedCmds();
queueCmd(PLAY);
setState(LOADING);
_cachedState = LOADING;
_ncMgr.reconnect();
return(undefined);
}
if (_state == EXEC_QUEUED_CMD) {
_state = _cachedState;
} else {
if (!stateResponsive) {
queueCmd(PLAY);
return(undefined);
}
execQueuedCmds();
}
if (_ns == null) {
_createStream();
_video.attachVideo(_ns);
attachAudio(_ns);
}
switch (_state) {
case BUFFERING :
if (_ncMgr.isRTMP()) {
_play(0);
if (_atEnd) {
_atEnd = false;
_currentPos = 0;
setState(REWINDING);
} else if (_currentPos > 0) {
_seek(_currentPos);
_currentPos = 0;
}
}
case PLAYING :
return(undefined);
case STOPPED :
if (_ncMgr.isRTMP()) {
if (_isLive) {
_play(-1);
setState(BUFFERING);
} else {
_play(0);
if (_atEnd) {
_atEnd = false;
_currentPos = 0;
_state = BUFFERING;
setState(REWINDING);
} else if (_currentPos > 0) {
_seek(_currentPos);
_currentPos = 0;
setState(BUFFERING);
} else {
setState(BUFFERING);
}
}
} else {
_pause(false);
if (_atEnd) {
_atEnd = false;
_seek(0);
_state = BUFFERING;
setState(REWINDING);
} else if (_bufferState == BUFFER_EMPTY) {
setState(BUFFERING);
} else {
setState(PLAYING);
}
}
break;
case PAUSED :
_pause(false);
if (!_ncMgr.isRTMP()) {
if (_bufferState == BUFFER_EMPTY) {
setState(BUFFERING);
} else {
setState(PLAYING);
}
} else {
setState(BUFFERING);
}
}
}
function load(url, isLive, totalTime) {
if (url == null) {
throw new Error("null url sent to VideoPlayer.load");
}
if (_state == EXEC_QUEUED_CMD) {
_state = _cachedState;
} else {
if ((!stateResponsive) && (_state != CONNECTION_ERROR)) {
queueCmd(LOAD, url, isLive, totalTime);
return(undefined);
}
execQueuedCmds();
}
_autoPlay = false;
_load(url, isLive, totalTime);
}
function _load(url, isLive, totalTime) {
_prevVideoWidth = videoWidth;
if (_prevVideoWidth == undefined) {
_prevVideoWidth = _video.width;
if (_prevVideoWidth == undefined) {
_prevVideoWidth = 0;
}
}
_prevVideoHeight = videoHeight;
if (_prevVideoHeight == undefined) {
_prevVideoHeight = _video.height;
if (_prevVideoHeight == undefined) {
_prevVideoHeight = 0;
}
}
_autoResizeDone = false;
_cachedPlayheadTime = 0;
_bufferState = BUFFER_EMPTY;
_sawPlayStop = false;
_metadata = null;
_startingPlay = false;
_invalidSeekTime = false;
_invalidSeekRecovery = false;
_isLive = ((isLive == undefined) ? false : (isLive));
_contentPath = url;
_currentPos = 0;
_streamLength = totalTime;
_atEnd = false;
_videoWidth = undefined;
_videoHeight = undefined;
_readyDispatched = false;
_lastUpdateTime = -1;
_sawSeekNotify = false;
clearInterval(_updateTimeIntervalID);
_updateTimeIntervalID = 0;
clearInterval(_updateProgressIntervalID);
_updateProgressIntervalID = 0;
clearInterval(_idleTimeoutIntervalID);
_idleTimeoutIntervalID = 0;
clearInterval(_autoResizeIntervalID);
_autoResizeIntervalID = 0;
clearInterval(_rtmpDoStopAtEndIntervalID);
_rtmpDoStopAtEndIntervalID = 0;
clearInterval(_rtmpDoSeekIntervalID);
_rtmpDoSeekIntervalID = 0;
clearInterval(_httpDoSeekIntervalID);
_httpDoSeekIntervalID = 0;
clearInterval(_finishAutoResizeIntervalID);
_finishAutoResizeIntervalID = 0;
clearInterval(_delayedBufferingIntervalID);
_delayedBufferingIntervalID = 0;
closeNS(false);
if (_ncMgr == null) {
createINCManager();
}
var _local2 = _ncMgr.connectToURL(_contentPath);
setState(LOADING);
_cachedState = LOADING;
if (_local2) {
_createStream();
_setUpStream();
}
if (!_ncMgr.isRTMP()) {
clearInterval(_updateProgressIntervalID);
_updateProgressIntervalID = setInterval(this, "doUpdateProgress", _updateProgressInterval);
}
}
function pause() {
if (!isXnOK()) {
if (((_state == CONNECTION_ERROR) || (_ncMgr == null)) || (_ncMgr.getNetConnection() == null)) {
throw new mx.video.VideoError(mx.video.VideoError.NO_CONNECTION);
// unexpected jump
}
return(undefined);
}
if (_state == EXEC_QUEUED_CMD) {
_state = _cachedState;
} else {
if (!stateResponsive) {
queueCmd(PAUSE);
return(undefined);
}
execQueuedCmds();
}
if (((_state == PAUSED) || (_state == STOPPED)) || (_ns == null)) {
return(undefined);
}
_pause(true);
setState(PAUSED);
}
function stop() {
if (!isXnOK()) {
if (((_state == CONNECTION_ERROR) || (_ncMgr == null)) || (_ncMgr.getNetConnection() == null)) {
throw new mx.video.VideoError(mx.video.VideoError.NO_CONNECTION);
// unexpected jump
}
return(undefined);
}
if (_state == EXEC_QUEUED_CMD) {
_state = _cachedState;
} else {
if (!stateResponsive) {
queueCmd(STOP);
return(undefined);
}
execQueuedCmds();
}
if ((_state == STOPPED) || (_ns == null)) {
return(undefined);
}
if (_ncMgr.isRTMP()) {
if (_autoRewind && (!_isLive)) {
_currentPos = 0;
_play(0, 0);
_state = STOPPED;
setState(REWINDING);
} else {
closeNS(true);
setState(STOPPED);
}
} else {
_pause(true);
if (_autoRewind) {
_seek(0);
_state = STOPPED;
setState(REWINDING);
} else {
setState(STOPPED);
}
}
}
function seek(time) {
if (_invalidSeekTime) {
return(undefined);
}
if (isNaN(time) || (time < 0)) {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_SEEK);
}
if (!isXnOK()) {
if (((_state == CONNECTION_ERROR) || (_ncMgr == null)) || (_ncMgr.getNetConnection() == null)) {
throw new mx.video.VideoError(mx.video.VideoError.NO_CONNECTION);
// unexpected jump
}
flushQueuedCmds();
queueCmd(SEEK, null, false, time);
setState(LOADING);
_cachedState = LOADING;
_ncMgr.reconnect();
return(undefined);
}
if (_state == EXEC_QUEUED_CMD) {
_state = _cachedState;
} else {
if (!stateResponsive) {
queueCmd(SEEK, null, false, time);
return(undefined);
}
execQueuedCmds();
}
if (_ns == null) {
_createStream();
_video.attachVideo(_ns);
attachAudio(_ns);
}
if (_atEnd && (time < playheadTime)) {
_atEnd = false;
}
switch (_state) {
case PLAYING :
_state = BUFFERING;
case BUFFERING :
case PAUSED :
_seek(time);
setState(SEEKING);
break;
case STOPPED :
if (_ncMgr.isRTMP()) {
_play(0);
_pause(true);
}
_seek(time);
_state = PAUSED;
setState(SEEKING);
}
}
function close() {
closeNS(true);
if ((_ncMgr != null) && (_ncMgr.isRTMP())) {
_ncMgr.close();
}
setState(DISCONNECTED);
dispatchEvent({type:"close", state:_state, playheadTime:playheadTime});
}
function get x() {
return(_x);
}
function set x(xpos) {
_x = xpos;
//return(x);
}
function get y() {
return(_y);
}
function set y(ypos) {
_y = ypos;
//return(y);
}
function get scaleX() {
return(_video._xscale);
}
function set scaleX(xs) {
setScale(xs, scaleY);
//return(scaleX);
}
function get scaleY() {
return(_video._yscale);
}
function set scaleY(ys) {
setScale(scaleX, ys);
//return(scaleY);
}
function get width() {
return(_video._width);
}
function set width(w) {
setSize(w, _video._height);
//return(width);
}
function get height() {
return(_video._height);
}
function set height(h) {
setSize(_video._width, h);
//return(height);
}
function get videoWidth() {
if (_readyDispatched) {
_videoWidth = _video.width;
}
return(_videoWidth);
}
function get videoHeight() {
if (_readyDispatched) {
_videoHeight = _video.height;
}
return(_videoHeight);
}
function get visible() {
if (!_hiddenForResize) {
__visible = _visible;
}
return(__visible);
}
function set visible(v) {
__visible = v;
if (!_hiddenForResize) {
_visible = __visible;
}
//return(visible);
}
function get autoSize() {
return(_autoSize);
}
function set autoSize(flag) {
if (_autoSize != flag) {
_autoSize = flag;
if (_autoSize) {
startAutoResize();
}
}
//return(autoSize);
}
function get maintainAspectRatio() {
return(_aspectRatio);
}
function set maintainAspectRatio(flag) {
if (_aspectRatio != flag) {
_aspectRatio = flag;
if (_aspectRatio && (!_autoSize)) {
startAutoResize();
}
}
//return(maintainAspectRatio);
}
function get autoRewind() {
return(_autoRewind);
}
function set autoRewind(flag) {
_autoRewind = flag;
//return(autoRewind);
}
function get playheadTime() {
var _local2 = ((_ns == null) ? (_currentPos) : (_ns.time));
if (_metadata.audiodelay != undefined) {
_local2 = _local2 - _metadata.audiodelay;
if (_local2 < 0) {
_local2 = 0;
}
}
return(_local2);
}
function set playheadTime(position) {
seek(position);
//return(playheadTime);
}
function get url() {
return(_contentPath);
}
function get volume() {
return(_volume);
}
function set volume(aVol) {
_volume = aVol;
if (!_hiddenForResize) {
_sound.setVolume(_volume);
}
//return(volume);
}
function get transform() {
return(_sound.getTransform());
}
function set transform(s) {
_sound.setTransform(s);
//return(transform);
}
function get isRTMP() {
if (_ncMgr == null) {
return(undefined);
}
return(_ncMgr.isRTMP());
}
function get isLive() {
return(_isLive);
}
function get state() {
return(_state);
}
function get stateResponsive() {
switch (_state) {
case DISCONNECTED :
case STOPPED :
case PLAYING :
case PAUSED :
case BUFFERING :
return(true);
}
return(false);
}
function get bytesLoaded() {
if ((_ns == null) || (_ncMgr.isRTMP())) {
return(-1);
}
return(_ns.bytesLoaded);
}
function get bytesTotal() {
if ((_ns == null) || (_ncMgr.isRTMP())) {
return(-1);
}
return(_ns.bytesTotal);
}
function get totalTime() {
return(_streamLength);
}
function get bufferTime() {
return(_bufferTime);
}
function set bufferTime(aTime) {
_bufferTime = aTime;
if (_ns != null) {
_ns.setBufferTime(_bufferTime);
}
//return(bufferTime);
}
function get idleTimeout() {
return(_idleTimeoutInterval);
}
function set idleTimeout(aTime) {
_idleTimeoutInterval = aTime;
if (_idleTimeoutIntervalID > 0) {
clearInterval(_idleTimeoutIntervalID);
_idleTimeoutIntervalID = setInterval(this, "doIdleTimeout", _idleTimeoutInterval);
}
//return(idleTimeout);
}
function get playheadUpdateInterval() {
return(_updateTimeInterval);
}
function set playheadUpdateInterval(aTime) {
_updateTimeInterval = aTime;
if (_updateTimeIntervalID > 0) {
clearInterval(_updateTimeIntervalID);
_updateTimeIntervalID = setInterval(this, "doUpdateTime", _updateTimeInterval);
}
//return(playheadUpdateInterval);
}
function get progressInterval() {
return(_updateProgressInterval);
}
function set progressInterval(aTime) {
_updateProgressInterval = aTime;
if (_updateProgressIntervalID > 0) {
clearInterval(_updateProgressIntervalID);
_updateProgressIntervalID = setInterval(this, "doUpdateProgress", _updateProgressInterval);
}
//return(progressInterval);
}
function get ncMgr() {
if (_ncMgr == null) {
createINCManager();
}
return(_ncMgr);
}
function get metadata() {
return(_metadata);
}
function doUpdateTime() {
var _local2 = playheadTime;
switch (_state) {
case STOPPED :
case PAUSED :
case DISCONNECTED :
case CONNECTION_ERROR :
clearInterval(_updateTimeIntervalID);
_updateTimeIntervalID = 0;
}
if (_lastUpdateTime != _local2) {
dispatchEvent({type:"playheadUpdate", state:_state, playheadTime:_local2});
_lastUpdateTime = _local2;
}
}
function doUpdateProgress() {
if (_ns == null) {
return(undefined);
}
if ((_ns.bytesTotal >= 0) && (_ns.bytesTotal >= 0)) {
dispatchEvent({type:"progress", bytesLoaded:_ns.bytesLoaded, bytesTotal:_ns.bytesTotal});
}
if (((_state == DISCONNECTED) || (_state == CONNECTION_ERROR)) || (_ns.bytesLoaded == _ns.bytesTotal)) {
clearInterval(_updateProgressIntervalID);
_updateProgressIntervalID = 0;
}
}
function rtmpOnStatus(info) {
if (_state == CONNECTION_ERROR) {
return(undefined);
}
switch (info.code) {
case "NetStream.Play.Stop" :
if (_startingPlay) {
return(undefined);
}
switch (_state) {
case RESIZING :
if (_hiddenForResize) {
finishAutoResize();
}
break;
case LOADING :
case STOPPED :
case PAUSED :
break;
default :
_sawPlayStop = true;
}
break;
case "NetStream.Buffer.Empty" :
if (!(_bufferState === BUFFER_FULL)) {
} else if (_sawPlayStop) {
rtmpDoStopAtEnd(true);
} else if (_state == PLAYING) {
setState(BUFFERING);
}
_bufferState = BUFFER_EMPTY;
_sawPlayStop = false;
break;
case "NetStream.Buffer.Flush" :
if (_sawSeekNotify && (_state == SEEKING)) {
_bufferState = BUFFER_EMPTY;
_sawPlayStop = false;
setStateFromCachedState();
doUpdateTime();
}
if (_sawPlayStop && ((_bufferState == BUFFER_EMPTY) || ((_bufferTime <= 0.1) && (_ns.bufferLength <= 0.1)))) {
_cachedPlayheadTime = playheadTime;
clearInterval(_rtmpDoStopAtEndIntervalID);
_rtmpDoStopAtEndIntervalID = setInterval(this, "rtmpDoStopAtEnd", RTMP_DO_STOP_AT_END_INTERVAL);
}
switch (_bufferState) {
case BUFFER_EMPTY :
if (!_hiddenForResize) {
if (((_state == LOADING) && (_cachedState == PLAYING)) || (_state == BUFFERING)) {
setState(PLAYING);
} else if (_cachedState == BUFFERING) {
_cachedState = PLAYING;
}
}
_bufferState = BUFFER_FLUSH;
break;
default :
if (_state != BUFFERING) {
break;
}
setStateFromCachedState();
}
break;
case "NetStream.Buffer.Full" :
if (_sawSeekNotify && (_state == SEEKING)) {
_bufferState = BUFFER_EMPTY;
_sawPlayStop = false;
setStateFromCachedState();
doUpdateTime();
}
switch (_bufferState) {
case BUFFER_EMPTY :
_bufferState = BUFFER_FULL;
if (!_hiddenForResize) {
if (((_state == LOADING) && (_cachedState == PLAYING)) || (_state == BUFFERING)) {
setState(PLAYING);
} else if (_cachedState == BUFFERING) {
_cachedState = PLAYING;
}
if (_rtmpDoStopAtEndIntervalID != 0) {
_sawPlayStop = true;
clearInterval(_rtmpDoStopAtEndIntervalID);
_rtmpDoStopAtEndIntervalID = 0;
}
}
break;
case BUFFER_FLUSH :
_bufferState = BUFFER_FULL;
if (_rtmpDoStopAtEndIntervalID == 0) {
break;
}
_sawPlayStop = true;
clearInterval(_rtmpDoStopAtEndIntervalID);
_rtmpDoStopAtEndIntervalID = 0;
}
if (_state == BUFFERING) {
setStateFromCachedState();
}
break;
case "NetStream.Pause.Notify" :
if ((_state == RESIZING) && (_hiddenForResize)) {
finishAutoResize();
}
break;
case "NetStream.Unpause.Notify" :
if (_state == PAUSED) {
_state = PLAYING;
setState(BUFFERING);
} else {
_cachedState = PLAYING;
}
break;
case "NetStream.Play.Start" :
clearInterval(_rtmpDoStopAtEndIntervalID);
_rtmpDoStopAtEndIntervalID = 0;
_bufferState = BUFFER_EMPTY;
_sawPlayStop = false;
if (_startingPlay) {
_startingPlay = false;
_cachedPlayheadTime = playheadTime;
} else if (_state == PLAYING) {
setState(BUFFERING);
}
break;
case "NetStream.Play.Reset" :
clearInterval(_rtmpDoStopAtEndIntervalID);
_rtmpDoStopAtEndIntervalID = 0;
if (_state == REWINDING) {
clearInterval(_rtmpDoSeekIntervalID);
_rtmpDoSeekIntervalID = 0;
if ((playheadTime == 0) || (playheadTime < _cachedPlayheadTime)) {
setStateFromCachedState();
} else {
_cachedPlayheadTime = playheadTime;
_rtmpDoSeekIntervalID = setInterval(this, "rtmpDoSeek", RTMP_DO_SEEK_INTERVAL);
}
}
break;
case "NetStream.Seek.Notify" :
if (playheadTime != _cachedPlayheadTime) {
setStateFromCachedState();
doUpdateTime();
} else {
_sawSeekNotify = true;
if (_rtmpDoSeekIntervalID == 0) {
_rtmpDoSeekIntervalID = setInterval(this, "rtmpDoSeek", RTMP_DO_SEEK_INTERVAL);
}
}
break;
case "Netstream.Play.UnpublishNotify" :
break;
case "Netstream.Play.PublishNotify" :
break;
case "NetStream.Play.StreamNotFound" :
closeNS(false);
if (!_ncMgr.connectAgain()) {
setState(CONNECTION_ERROR);
}
break;
case "NetStream.Play.Failed" :
case "NetStream.Failed" :
case "NetStream.Play.FileStructureInvalid" :
case "NetStream.Play.NoSupportedTrackFound" :
setState(CONNECTION_ERROR);
}
}
function httpOnStatus(info) {
switch (info.code) {
case "NetStream.Play.Stop" :
clearInterval(_delayedBufferingIntervalID);
_delayedBufferingIntervalID = 0;
if (_invalidSeekTime) {
_invalidSeekTime = false;
_invalidSeekRecovery = true;
setState(_cachedState);
seek(playheadTime);
} else {
switch (_state) {
case SEEKING :
httpDoSeek();
case PLAYING :
case BUFFERING :
httpDoStopAtEnd();
}
}
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 == PLAYING) {
clearInterval(_delayedBufferingIntervalID);
_delayedBufferingIntervalID = setInterval(this, "doDelayedBuffering", _delayedBufferingInterval);
}
break;
case "NetStream.Buffer.Full" :
case "NetStream.Buffer.Flush" :
clearInterval(_delayedBufferingIntervalID);
_delayedBufferingIntervalID = 0;
_bufferState = BUFFER_FULL;
if (!_hiddenForResize) {
if (((_state == LOADING) && (_cachedState == PLAYING)) || (_state == BUFFERING)) {
setState(PLAYING);
} else if (_cachedState == BUFFERING) {
_cachedState = PLAYING;
}
}
break;
case "NetStream.Seek.Notify" :
_invalidSeekRecovery = false;
switch (_state) {
case SEEKING :
case REWINDING :
if (_httpDoSeekIntervalID != 0) {
break;
}
_httpDoSeekCount = 0;
_httpDoSeekIntervalID = setInterval(this, "httpDoSeek", HTTP_DO_SEEK_INTERVAL);
}
break;
case "NetStream.Play.StreamNotFound" :
case "NetStream.Play.FileStructureInvalid" :
case "NetStream.Play.NoSupportedTrackFound" :
setState(CONNECTION_ERROR);
}
}
function ncConnected() {
if ((_ncMgr == null) || (_ncMgr.getNetConnection() == null)) {
setState(CONNECTION_ERROR);
} else if (_ns == null) {
_createStream();
_setUpStream();
}
}
function ncReconnected() {
if ((_ncMgr == null) || (_ncMgr.getNetConnection() == null)) {
setState(CONNECTION_ERROR);
} else {
_ns = null;
_state = STOPPED;
execQueuedCmds();
}
}
function onMetaData(info) {
if (_metadata != null) {
return(undefined);
}
_metadata = info;
if ((_streamLength == null) || (_streamLength <= 0)) {
_streamLength = info.duration;
}
if (isNaN(_videoWidth) || (_videoWidth <= 0)) {
_videoWidth = info.width;
}
if (isNaN(_videoHeight) || (_videoHeight <= 0)) {
_videoHeight = info.height;
}
dispatchEvent({type:"metadataReceived", info:info});
}
function onCuePoint(info) {
if ((!_hiddenForResize) || ((!isNaN(_hiddenRewindPlayheadTime)) && (playheadTime < _hiddenRewindPlayheadTime))) {
dispatchEvent({type:"cuePoint", info:info});
}
}
function setState(s) {
if (s == _state) {
return(undefined);
}
_hiddenRewindPlayheadTime = undefined;
_cachedState = _state;
_cachedPlayheadTime = playheadTime;
_state = s;
var _local2 = _state;
dispatchEvent({type:"stateChange", state:_local2, playheadTime:playheadTime});
if (!_readyDispatched) {
switch (_local2) {
case STOPPED :
case PLAYING :
case PAUSED :
case BUFFERING :
_readyDispatched = true;
dispatchEvent({type:"ready", state:_local2, playheadTime:playheadTime});
}
}
if (!(_cachedState === REWINDING)) {
} else {
dispatchEvent({type:"rewind", state:_local2, playheadTime:playheadTime});
if (_ncMgr.isRTMP() && (_local2 == STOPPED)) {
closeNS();
}
}
switch (_local2) {
case STOPPED :
case PAUSED :
if (_ncMgr.isRTMP() && (_idleTimeoutIntervalID == 0)) {
_idleTimeoutIntervalID = setInterval(this, "doIdleTimeout", _idleTimeoutInterval);
}
break;
case SEEKING :
case REWINDING :
_bufferState = BUFFER_EMPTY;
_sawPlayStop = false;
case PLAYING :
case BUFFERING :
if (_updateTimeIntervalID == 0) {
_updateTimeIntervalID = setInterval(this, "doUpdateTime", _updateTimeInterval);
}
case LOADING :
case RESIZING :
clearInterval(_idleTimeoutIntervalID);
_idleTimeoutIntervalID = 0;
}
execQueuedCmds();
}
function setStateFromCachedState() {
switch (_cachedState) {
case PLAYING :
case PAUSED :
setState(_cachedState);
break;
case BUFFERING :
if (_bufferState == BUFFER_EMPTY) {
setState(BUFFERING);
} else {
setState(_cachedState);
}
break;
default :
setState(STOPPED);
}
}
function createINCManager() {
if (ncMgrClassName == null) {
ncMgrClassName = DEFAULT_INCMANAGER;
}
var ncMgrConstructor = eval (this.ncMgrClassName);
_ncMgr = new ncMgrConstructor();
_ncMgr.setVideoPlayer(this);
}
function rtmpDoStopAtEnd(force) {
if (_rtmpDoStopAtEndIntervalID > 0) {
switch (_state) {
case DISCONNECTED :
case CONNECTION_ERROR :
clearInterval(_rtmpDoStopAtEndIntervalID);
_rtmpDoStopAtEndIntervalID = 0;
return(undefined);
}
if (force || (_cachedPlayheadTime == playheadTime)) {
clearInterval(_rtmpDoStopAtEndIntervalID);
_rtmpDoStopAtEndIntervalID = 0;
} else {
_cachedPlayheadTime = playheadTime;
return(undefined);
}
}
_bufferState = BUFFER_EMPTY;
_sawPlayStop = false;
_atEnd = true;
setState(STOPPED);
if (_state != STOPPED) {
return(undefined);
}
doUpdateTime();
if (_state != STOPPED) {
return(undefined);
}
dispatchEvent({type:"complete", state:_state, playheadTime:playheadTime});
if (_state != STOPPED) {
return(undefined);
}
if ((_autoRewind && (!_isLive)) && (playheadTime != 0)) {
_atEnd = false;
_currentPos = 0;
_play(0, 0);
setState(REWINDING);
} else {
closeNS();
}
}
function rtmpDoSeek() {
if ((_state != REWINDING) && (_state != SEEKING)) {
clearInterval(_rtmpDoSeekIntervalID);
_rtmpDoSeekIntervalID = 0;
_sawSeekNotify = false;
} else if (playheadTime != _cachedPlayheadTime) {
clearInterval(_rtmpDoSeekIntervalID);
_rtmpDoSeekIntervalID = 0;
_sawSeekNotify = false;
setStateFromCachedState();
doUpdateTime();
}
}
function httpDoStopAtEnd() {
_atEnd = true;
if ((_streamLength == null) || (_streamLength <= 0)) {
_streamLength = _ns.time;
}
_pause(true);
setState(STOPPED);
if (_state != STOPPED) {
return(undefined);
}
doUpdateTime();
if (_state != STOPPED) {
return(undefined);
}
dispatchEvent({type:"complete", state:_state, playheadTime:playheadTime});
if (_state != STOPPED) {
return(undefined);
}
if (_autoRewind) {
_atEnd = false;
_pause(true);
_seek(0);
setState(REWINDING);
}
}
function httpDoSeek() {
var _local2 = (_state == REWINDING) || (_state == SEEKING);
if ((_local2 && (_httpDoSeekCount < HTTP_DO_SEEK_MAX_COUNT)) && ((_cachedPlayheadTime == playheadTime) || (_invalidSeekTime))) {
_httpDoSeekCount++;
return(undefined);
}
_httpDoSeekCount = 0;
clearInterval(_httpDoSeekIntervalID);
_httpDoSeekIntervalID = 0;
if (!_local2) {
return(undefined);
}
setStateFromCachedState();
if (_invalidSeekTime) {
_invalidSeekTime = false;
_invalidSeekRecovery = true;
seek(playheadTime);
} else {
doUpdateTime();
}
}
function closeNS(updateCurrentPos) {
if ((_ns != null) && (_ns != undefined)) {
if (updateCurrentPos) {
clearInterval(_updateTimeIntervalID);
_updateTimeIntervalID = 0;
doUpdateTime();
_currentPos = _ns.time;
}
delete _ns.onStatus;
_ns.onStatus = null;
_ns.close();
_ns = null;
}
}
function doDelayedBuffering() {
switch (_state) {
case LOADING :
case RESIZING :
break;
case PLAYING :
clearInterval(_delayedBufferingIntervalID);
_delayedBufferingIntervalID = 0;
setState(BUFFERING);
break;
default :
clearInterval(_delayedBufferingIntervalID);
_delayedBufferingIntervalID = 0;
}
}
function _pause(doPause) {
clearInterval(_rtmpDoStopAtEndIntervalID);
_rtmpDoStopAtEndIntervalID = 0;
_ns.pause(doPause);
}
function _play() {
clearInterval(_rtmpDoStopAtEndIntervalID);
_rtmpDoStopAtEndIntervalID = 0;
_startingPlay = true;
switch (arguments.length) {
case 0 :
_ns.play(_ncMgr.getStreamName(), (_isLive ? -1 : 0), -1);
break;
case 1 :
_ns.play(_ncMgr.getStreamName(), (_isLive ? -1 : (arguments[0])), -1);
break;
case 2 :
_ns.play(_ncMgr.getStreamName(), (_isLive ? -1 : (arguments[0])), arguments[1]);
break;
default :
throw new Error("bad args to _play");
}
}
function _seek(time) {
clearInterval(_rtmpDoStopAtEndIntervalID);
_rtmpDoStopAtEndIntervalID = 0;
if ((_metadata.audiodelay != undefined) && ((time + _metadata.audiodelay) < _streamLength)) {
time = time + _metadata.audiodelay;
}
_ns.seek(time);
_invalidSeekTime = false;
_bufferState = BUFFER_EMPTY;
_sawPlayStop = false;
_sawSeekNotify = false;
}
function isXnOK() {
if (_state == LOADING) {
return(true);
}
if (_state == CONNECTION_ERROR) {
return(false);
}
if (_state != DISCONNECTED) {
if (((_ncMgr == null) || (_ncMgr.getNetConnection() == null)) || (!_ncMgr.getNetConnection().isConnected)) {
setState(DISCONNECTED);
return(false);
}
return(true);
}
return(false);
}
function startAutoResize() {
switch (_state) {
case DISCONNECTED :
case CONNECTION_ERROR :
return(undefined);
}
_autoResizeDone = false;
if ((stateResponsive && (_videoWidth != undefined)) && (_videoHeight != undefined)) {
doAutoResize();
} else {
clearInterval(_autoResizeIntervalID);
_autoResizeIntervalID = setInterval(this, "doAutoResize", AUTO_RESIZE_INTERVAL);
}
}
function doAutoResize() {
if (_autoResizeIntervalID > 0) {
switch (_state) {
case RESIZING :
case LOADING :
break;
case DISCONNECTED :
case CONNECTION_ERROR :
clearInterval(_autoResizeIntervalID);
_autoResizeIntervalID = 0;
return(undefined);
default :
if (stateResponsive) {
break;
}
return(undefined);
}
if (((((_video.width != _prevVideoWidth) || (_video.height != _prevVideoHeight)) || (_bufferState == BUFFER_FULL)) || (_bufferState == BUFFER_FLUSH)) || (_ns.time > AUTO_RESIZE_PLAYHEAD_TIMEOUT)) {
if ((_hiddenForResize && (_metadata == null)) && (_hiddenForResizeMetadataDelay < AUTO_RESIZE_METADATA_DELAY_MAX)) {
_hiddenForResizeMetadataDelay++;
return(undefined);
}
_videoWidth = _video.width;
_videoHeight = _video.height;
clearInterval(_autoResizeIntervalID);
_autoResizeIntervalID = 0;
} else {
return(undefined);
}
}
if (((!_autoSize) && (!_aspectRatio)) || (_autoResizeDone)) {
setState(_cachedState);
return(undefined);
}
_autoResizeDone = true;
if (_autoSize) {
_video._width = _videoWidth;
_video._height = _videoHeight;
} else if (_aspectRatio) {
var _local3 = (_videoWidth * height) / _videoHeight;
var _local2 = (_videoHeight * width) / _videoWidth;
if (_local2 < height) {
_video._height = _local2;
} else if (_local3 < width) {
_video._width = _local3;
}
}
if (_hiddenForResize) {
_hiddenRewindPlayheadTime = playheadTime;
if (_state == LOADING) {
_cachedState = PLAYING;
}
if (!_ncMgr.isRTMP()) {
_pause(true);
_seek(0);
clearInterval(_finishAutoResizeIntervalID);
_finishAutoResizeIntervalID = setInterval(this, "finishAutoResize", FINISH_AUTO_RESIZE_INTERVAL);
} else if (!_isLive) {
_currentPos = 0;
_play(0, 0);
setState(RESIZING);
} else if (_autoPlay) {
clearInterval(_finishAutoResizeIntervalID);
_finishAutoResizeIntervalID = setInterval(this, "finishAutoResize", FINISH_AUTO_RESIZE_INTERVAL);
} else {
finishAutoResize();
}
} else {
dispatchEvent({type:"resize", x:_x, y:_y, width:_width, height:_height});
}
}
function finishAutoResize() {
clearInterval(_finishAutoResizeIntervalID);
_finishAutoResizeIntervalID = 0;
if (stateResponsive) {
return(undefined);
}
_visible = __visible;
_sound.setVolume(_volume);
_hiddenForResize = false;
dispatchEvent({type:"resize", x:_x, y:_y, width:_width, height:_height});
if (_autoPlay) {
if (_ncMgr.isRTMP()) {
if (!_isLive) {
_currentPos = 0;
_play(0);
}
if (_state == RESIZING) {
setState(LOADING);
_cachedState = PLAYING;
}
} else {
_pause(false);
_cachedState = PLAYING;
}
} else {
setState(STOPPED);
}
}
function _createStream() {
_ns = new NetStream(_ncMgr.getNetConnection());
_ns.mc = this;
if (_ncMgr.isRTMP()) {
_ns.onStatus = function (info) {
this.mc.rtmpOnStatus(info);
};
} else {
_ns.onStatus = function (info) {
this.mc.httpOnStatus(info);
};
}
_ns.onMetaData = function (info) {
this.mc.onMetaData(info);
};
_ns.onCuePoint = function (info) {
this.mc.onCuePoint(info);
};
_ns.setBufferTime(_bufferTime);
}
function _setUpStream() {
_video.attachVideo(_ns);
attachAudio(_ns);
if ((!isNaN(_ncMgr.getStreamLength())) && (_ncMgr.getStreamLength() >= 0)) {
_streamLength = _ncMgr.getStreamLength();
}
if ((!isNaN(_ncMgr.getStreamWidth())) && (_ncMgr.getStreamWidth() >= 0)) {
_videoWidth = _ncMgr.getStreamWidth();
} else {
_videoWidth = undefined;
}
if ((!isNaN(_ncMgr.getStreamHeight())) && (_ncMgr.getStreamHeight() >= 0)) {
_videoHeight = _ncMgr.getStreamHeight();
} else {
_videoHeight = undefined;
}
if (((_autoSize || (_aspectRatio)) && (_videoWidth != undefined)) && (_videoHeight != undefined)) {
_prevVideoWidth = undefined;
_prevVideoHeight = undefined;
doAutoResize();
}
if (((!_autoSize) && (!_aspectRatio)) || ((_videoWidth != undefined) && (_videoHeight != undefined))) {
if (_autoPlay) {
if (!_ncMgr.isRTMP()) {
_cachedState = BUFFERING;
_play();
} else if (_isLive) {
_cachedState = BUFFERING;
_play(-1);
} else {
_cachedState = BUFFERING;
_play(0);
}
} else {
_cachedState = STOPPED;
if (_ncMgr.isRTMP()) {
_play(0, 0);
} else {
_play();
_pause(true);
_seek(0);
}
}
} else {
if (!_hiddenForResize) {
__visible = _visible;
_visible = false;
_volume = _sound.getVolume();
_sound.setVolume(0);
_hiddenForResize = true;
}
_hiddenForResizeMetadataDelay = 0;
_play(0);
if (_currentPos > 0) {
_seek(_currentPos);
_currentPos = 0;
}
}
clearInterval(_autoResizeIntervalID);
_autoResizeIntervalID = setInterval(this, "doAutoResize", AUTO_RESIZE_INTERVAL);
}
function doIdleTimeout() {
clearInterval(_idleTimeoutIntervalID);
_idleTimeoutIntervalID = 0;
close();
}
function flushQueuedCmds() {
while (_cmdQueue.length > 0) {
_cmdQueue.pop();
}
}
function execQueuedCmds() {
while (((_cmdQueue.length > 0) && (stateResponsive || (_state == CONNECTION_ERROR))) && ((_cmdQueue[0].url != null) || ((_state != DISCONNECTED) && (_state != CONNECTION_ERROR)))) {
var _local2 = _cmdQueue.shift();
_cachedState = _state;
_state = EXEC_QUEUED_CMD;
switch (_local2.type) {
case PLAY :
play(_local2.url, _local2.isLive, _local2.time);
break;
case LOAD :
load(_local2.url, _local2.isLive, _local2.time);
break;
case PAUSE :
pause();
break;
case STOP :
stop();
break;
case SEEK :
seek(_local2.time);
}
}
}
function queueCmd(type, url, isLive, time) {
_cmdQueue.push({type:type, url:url, isLive:isLive, time:time});
}
static var version = "1.0.2.8";
static var shortVersion = "1.0.2";
static var DISCONNECTED = "disconnected";
static var STOPPED = "stopped";
static var PLAYING = "playing";
static var PAUSED = "paused";
static var BUFFERING = "buffering";
static var LOADING = "loading";
static var CONNECTION_ERROR = "connectionError";
static var REWINDING = "rewinding";
static var SEEKING = "seeking";
static var RESIZING = "resizing";
static var EXEC_QUEUED_CMD = "execQueuedCmd";
static var BUFFER_EMPTY = "bufferEmpty";
static var BUFFER_FULL = "bufferFull";
static var BUFFER_FLUSH = "bufferFlush";
static var DEFAULT_INCMANAGER = "mx.video.NCManager";
static var DEFAULT_UPDATE_TIME_INTERVAL = 250;
static var DEFAULT_UPDATE_PROGRESS_INTERVAL = 250;
static var DEFAULT_IDLE_TIMEOUT_INTERVAL = 300000;
static var AUTO_RESIZE_INTERVAL = 100;
static var AUTO_RESIZE_PLAYHEAD_TIMEOUT = 0.5;
static var AUTO_RESIZE_METADATA_DELAY_MAX = 5;
static var FINISH_AUTO_RESIZE_INTERVAL = 250;
static var RTMP_DO_STOP_AT_END_INTERVAL = 500;
static var RTMP_DO_SEEK_INTERVAL = 100;
static var HTTP_DO_SEEK_INTERVAL = 250;
static var HTTP_DO_SEEK_MAX_COUNT = 4;
static var CLOSE_NS_INTERVAL = 0.25;
static var HTTP_DELAYED_BUFFERING_INTERVAL = 100;
static var PLAY = 0;
static var LOAD = 1;
static var PAUSE = 2;
static var STOP = 3;
static var SEEK = 4;
}
Symbol 15 MovieClip [__Packages.mx.video.INCManager] Frame 0
interface mx.video.INCManager
{
}
Symbol 17 MovieClip [__Packages.mx.video.VideoError] Frame 0
class mx.video.VideoError extends Error
{
var _code, message, name;
function VideoError (errCode, msg) {
super();
_code = errCode;
message = ((("" + errCode) + ": ") + ERROR_MSG[errCode - BASE_ERROR_CODE]) + ((msg == undefined) ? "" : (": " + msg));
name = "VideoError";
}
function get code() {
return(_code);
}
static var version = "1.0.2.8";
static var shortVersion = "1.0.2";
static var BASE_ERROR_CODE = 1000;
static var NO_CONNECTION = 1000;
static var NO_CUE_POINT_MATCH = 1001;
static var ILLEGAL_CUE_POINT = 1002;
static var INVALID_SEEK = 1003;
static var INVALID_CONTENT_PATH = 1004;
static var INVALID_XML = 1005;
static var NO_BITRATE_MATCH = 1006;
static var DELETE_DEFAULT_PLAYER = 1007;
static var ERROR_MSG = ["Unable to make connection to server or to find FLV on server", "No matching cue point found", "Illegal cue point", "Invalid seek", "Invalid contentPath", "Invalid xml", "No bitrate match, must be no default flv", "Cannot delete default VideoPlayer"];
}
Symbol 21 MovieClip [__Packages.mx.video.NCManager] Frame 0
class mx.video.NCManager implements mx.video.INCManager
{
var _timeoutIntervalId, _tryNCIntervalId, _timeout, _nc, _ncConnected, _isRTMP, _serverName, _wrappedURL, _portNumber, _appName, _contentPath, _streamName, _streamLength, _streamWidth, _streamHeight, _streams, _autoSenseBW, fpadZone, _payload, _connTypeCounter, _bitrate, _owner, _protocol, _smilMgr, _ncUri, _fpadMgr, fallbackServerName, _tryNC;
function NCManager () {
initNCInfo();
initOtherInfo();
_timeoutIntervalId = 0;
_tryNCIntervalId = 0;
_timeout = DEFAULT_TIMEOUT;
_nc = undefined;
_ncConnected = false;
}
function initNCInfo() {
_isRTMP = undefined;
_serverName = undefined;
_wrappedURL = undefined;
_portNumber = undefined;
_appName = undefined;
}
function initOtherInfo() {
_contentPath = undefined;
_streamName = undefined;
_streamLength = undefined;
_streamWidth = undefined;
_streamHeight = undefined;
_streams = undefined;
_autoSenseBW = false;
fpadZone = undefined;
_payload = 0;
_connTypeCounter = 0;
cleanConns();
}
function getTimeout() {
return(_timeout);
}
function setTimeout(t) {
_timeout = t;
if (_timeoutIntervalId != 0) {
clearInterval(_timeoutIntervalId);
_timeoutIntervalId = setInterval(this, "_onFCSConnectTimeOut", _timeout);
}
}
function getBitrate() {
return(_bitrate);
}
function setBitrate(b) {
if ((_isRTMP == undefined) || (!_isRTMP)) {
_bitrate = b;
}
}
function getVideoPlayer() {
return(_owner);
}
function setVideoPlayer(v) {
_owner = v;
}
function getNetConnection() {
return(_nc);
}
function getStreamName() {
return(_streamName);
}
function isRTMP() {
return(_isRTMP);
}
function getStreamLength() {
return(_streamLength);
}
function getStreamWidth() {
return(_streamWidth);
}
function getStreamHeight() {
return(_streamHeight);
}
function connectToURL(url) {
initOtherInfo();
_contentPath = url;
if ((_contentPath == null) || (_contentPath == "")) {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_CONTENT_PATH);
}
var _local2 = parseURL(_contentPath);
if ((_local2.streamName == undefined) || (_local2.streamName == "")) {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_CONTENT_PATH, url);
}
if (_local2.isRTMP) {
var _local4 = canReuseOldConnection(_local2);
_isRTMP = true;
_protocol = _local2.protocol;
_streamName = _local2.streamName;
_serverName = _local2.serverName;
_wrappedURL = _local2.wrappedURL;
_portNumber = _local2.portNumber;
_appName = _local2.appName;
if ((((_appName == undefined) || (_appName == "")) || (_streamName == undefined)) || (_streamName == "")) {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_CONTENT_PATH, url);
}
_autoSenseBW = _streamName.indexOf(",") >= 0;
return(_local4 || (connectRTMP()));
}
var _local3 = _local2.streamName;
if ((((_local3.indexOf("?") < 0) && ((_local3.length < 4) || (_local3.slice(-4).toLowerCase() != ".txt"))) && ((_local3.length < 4) || (_local3.slice(-4).toLowerCase() != ".xml"))) && ((_local3.length < 5) || (_local3.slice(-5).toLowerCase() != ".smil"))) {
var _local4 = canReuseOldConnection(_local2);
_isRTMP = false;
_streamName = _local3;
return(_local4 || (connectHTTP()));
}
if (_local3.indexOf("/fms/fpad") >= 0) {
try {
return(connectFPAD(_local3));
} catch(err:Error) {
}
}
_smilMgr = new mx.video.SMILManager(this);
return(_smilMgr.connectXML(_local3));
}
function connectAgain() {
var _local2 = _appName.indexOf("/");
if (_local2 < 0) {
_local2 = _streamName.indexOf("/");
if (_local2 >= 0) {
_appName = _appName + "/";
_appName = _appName + _streamName.slice(0, _local2);
_streamName = _streamName.slice(_local2 + 1);
}
return(false);
}
var _local3 = _appName.slice(_local2 + 1);
_local3 = _local3 + "/";
_local3 = _local3 + _streamName;
_streamName = _local3;
_appName = _appName.slice(0, _local2);
close();
_payload = 0;
_connTypeCounter = 0;
cleanConns();
connectRTMP();
return(true);
}
function reconnect() {
if (!_isRTMP) {
throw new Error("Cannot call reconnect on an http connection");
}
_nc.onStatus = function (info) {
this.mc.reconnectOnStatus(this, info);
};
_nc.onBWDone = function () {
this.mc.onReconnected();
};
_nc.connect(_ncUri, false);
}
function onReconnected() {
delete _nc.onStatus;
delete _nc.onBWDone;
_ncConnected = true;
_owner.ncReconnected();
}
function close() {
if (_nc) {
_nc.close();
_ncConnected = false;
}
}
function helperDone(helper, success) {
if (!success) {
_nc = undefined;
_ncConnected = false;
_owner.ncConnected();
_smilMgr = undefined;
_fpadMgr = undefined;
return(undefined);
}
var _local2;
var _local4;
if (helper == _fpadMgr) {
_local4 = _fpadMgr.rtmpURL;
_fpadMgr = undefined;
_local2 = parseURL(_local4);
_isRTMP = _local2.isRTMP;
_protocol = _local2.protocol;
_serverName = _local2.serverName;
_portNumber = _local2.portNumber;
_wrappedURL = _local2.wrappedURL;
_appName = _local2.appName;
_streamName = _local2.streamName;
var _local5 = fpadZone;
fpadZone = -1;
connectRTMP();
fpadZone = _local5;
return(undefined);
}
if (helper != _smilMgr) {
return(undefined);
}
_streamWidth = _smilMgr.width;
_streamHeight = _smilMgr.height;
_local4 = _smilMgr.baseURLAttr[0];
if ((_local4 != undefined) && (_local4 != "")) {
if (_local4.charAt(_local4.length - 1) != "/") {
_local4 = _local4 + "/";
}
_local2 = parseURL(_local4);
_isRTMP = _local2.isRTMP;
_streamName = _local2.streamName;
if (_isRTMP) {
_protocol = _local2.protocol;
_serverName = _local2.serverName;
_portNumber = _local2.portNumber;
_wrappedURL = _local2.wrappedURL;
_appName = _local2.appName;
if ((_appName == undefined) || (_appName == "")) {
_smilMgr = undefined;
throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, "Base RTMP URL must include application name: " + _local4);
}
if (_smilMgr.baseURLAttr.length > 1) {
_local2 = parseURL(_smilMgr.baseURLAttr[1]);
if (_local2.serverName != undefined) {
fallbackServerName = _local2.serverName;
}
}
}
}
_streams = _smilMgr.videoTags;
_smilMgr = undefined;
var _local3 = 0;
while (_local3 < _streams.length) {
_local4 = _streams[_local3].src;
_local2 = parseURL(_local4);
if (_isRTMP == undefined) {
_isRTMP = _local2.isRTMP;
if (_isRTMP) {
_protocol = _local2.protocol;
if (_streams.length > 1) {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, "Cannot switch between multiple absolute RTMP URLs, must use meta tag base attribute.");
}
_serverName = _local2.serverName;
_portNumber = _local2.portNumber;
_wrappedURL = _local2.wrappedURL;
_appName = _local2.appName;
if ((_appName == undefined) || (_appName == "")) {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, "Base RTMP URL must include application name: " + _local4);
}
} else if ((_local2.streamName.indexOf("/fms/fpad") >= 0) && (_streams.length > 1)) {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, "Cannot switch between multiple absolute fpad URLs, must use meta tag base attribute.");
}
} else if ((((_streamName != undefined) && (_streamName != "")) && (!_local2.isRelative)) && (_streams.length > 1)) {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, "When using meta tag base attribute, cannot use absolute URLs for video or ref tag src attributes.");
}
_streams[_local3].parseResults = _local2;
_local3++;
}
_autoSenseBW = _streams.length > 1;
if (!_autoSenseBW) {
if (_streamName != undefined) {
_streamName = _streamName + _streams[0].parseResults.streamName;
} else {
_streamName = _streams[0].parseResults.streamName;
}
_streamLength = _streams[0].dur;
}
if (_isRTMP) {
connectRTMP();
} else if ((_streamName != undefined) && (_streamName.indexOf("/fms/fpad") >= 0)) {
connectFPAD(_streamName);
} else {
if (_autoSenseBW) {
bitrateMatch();
}
connectHTTP();
_owner.ncConnected();
}
}
function bitrateMatch() {
var _local3;
var _local4 = _bitrate;
if (isNaN(_local4)) {
_local4 = 0;
}
var _local2 = 0;
while (_local2 < _streams.length) {
if (isNaN(_streams[_local2].bitrate) || (_local4 >= _streams[_local2].bitrate)) {
_local3 = _local2;
break;
}
_local2++;
}
if (isNaN(_local3)) {
throw new mx.video.VideoError(mx.video.VideoError.NO_BITRATE_MATCH);
}
if (_streamName != undefined) {
_streamName = _streamName + _streams[_local3].src;
} else {
_streamName = _streams[_local3].src;
}
if (_isRTMP && (_streamName.slice(-4).toLowerCase() == ".flv")) {
_streamName = _streamName.slice(0, -4);
}
_streamLength = _streams[_local3].dur;
}
function parseURL(url) {
var _local2 = new Object();
var _local3 = 0;
var _local4 = url.indexOf(":/", _local3);
if (_local4 >= 0) {
_local4 = _local4 + 2;
_local2.protocol = url.slice(_local3, _local4);
_local2.isRelative = false;
} else {
_local2.isRelative = true;
}
if ((_local2.protocol != undefined) && (((((_local2.protocol == "rtmp:/") || (_local2.protocol == "rtmpt:/")) || (_local2.protocol == "rtmps:/")) || (_local2.protocol == "rtmpe:/")) || (_local2.protocol == "rtmpte:/"))) {
_local2.isRTMP = true;
_local3 = _local4;
if (url.charAt(_local3) == "/") {
_local3++;
var _local7 = url.indexOf(":", _local3);
var _local8 = url.indexOf("/", _local3);
if (_local8 < 0) {
if (_local7 < 0) {
_local2.serverName = url.slice(_local3);
} else {
_local4 = _local7;
_local2.portNumber = url.slice(_local3, _local4);
_local3 = _local4 + 1;
_local2.serverName = url.slice(_local3);
}
return(_local2);
}
if ((_local7 >= 0) && (_local7 < _local8)) {
_local4 = _local7;
_local2.serverName = url.slice(_local3, _local4);
_local3 = _local4 + 1;
_local4 = _local8;
_local2.portNumber = url.slice(_local3, _local4);
} else {
_local4 = _local8;
_local2.serverName = url.slice(_local3, _local4);
}
_local3 = _local4 + 1;
}
if (url.charAt(_local3) == "?") {
var _local9 = url.slice(_local3 + 1);
var _local6 = parseURL(_local9);
if ((_local6.protocol == undefined) || (!_local6.isRTMP)) {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_CONTENT_PATH, url);
}
_local2.wrappedURL = "?";
_local2.wrappedURL = _local2.wrappedURL + _local6.protocol;
if (_local6.serverName != undefined) {
_local2.wrappedURL = _local2.wrappedURL + "/";
_local2.wrappedURL = _local2.wrappedURL + _local6.serverName;
}
if (_local6.wrappedURL != undefined) {
_local2.wrappedURL = _local2.wrappedURL + "/?";
_local2.wrappedURL = _local2.wrappedURL + _local6.wrappedURL;
}
_local2.appName = _local6.appName;
_local2.streamName = _local6.streamName;
return(_local2);
}
_local4 = url.indexOf("/", _local3);
if (_local4 < 0) {
_local2.appName = url.slice(_local3);
return(_local2);
}
_local2.appName = url.slice(_local3, _local4);
_local3 = _local4 + 1;
_local4 = url.indexOf("/", _local3);
if (_local4 < 0) {
_local2.streamName = url.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 + url.slice(_local3, _local4);
_local3 = _local4 + 1;
_local2.streamName = url.slice(_local3);
if (_local2.streamName.slice(-4).toLowerCase() == ".flv") {
_local2.streamName = _local2.streamName.slice(0, -4);
}
} else {
_local2.isRTMP = false;
_local2.streamName = url;
}
return(_local2);
}
function canReuseOldConnection(parseResults) {
if ((_nc == null) || (!_ncConnected)) {
return(false);
}
if (!parseResults.isRTMP) {
if (!_isRTMP) {
return(true);
}
_owner.close();
_nc = undefined;
_ncConnected = false;
initNCInfo();
return(false);
}
if (_isRTMP) {
if (((((parseResults.serverName == _serverName) && (parseResults.appName == _appName)) && (parseResults.protocol == _protocol)) && (parseResults.portNumber == _portNumber)) && (parseResults.wrappedURL == _wrappedURL)) {
return(true);
}
_owner.close();
_nc = undefined;
_ncConnected = false;
}
initNCInfo();
return(false);
}
function connectHTTP() {
_nc = new NetConnection();
_nc.connect(null);
_ncConnected = true;
return(true);
}
function connectRTMP() {
clearInterval(_timeoutIntervalId);
_timeoutIntervalId = setInterval(this, "_onFCSConnectTimeOut", _timeout);
_tryNC = new Array();
var _local3 = (((_protocol == "rtmp:/") || (_protocol == "rtmpe:/")) ? 2 : 1);
var _local2 = 0;
while (_local2 < _local3) {
_tryNC[_local2] = new NetConnection();
if (fpadZone != null) {
_tryNC[_local2].fpadZone = fpadZone;
}
_tryNC[_local2].mc = this;
_tryNC[_local2].pending = false;
_tryNC[_local2].connIndex = _local2;
_tryNC[_local2].onBWDone = function (p_bw) {
this.mc.onConnected(this, p_bw);
};
_tryNC[_local2].onBWCheck = function () {
return(++this.mc._payload);
};
_tryNC[_local2].onStatus = function (info) {
this.mc.connectOnStatus(this, info);
};
_local2++;
}
nextConnect();
return(false);
}
function connectFPAD(url) {
var _local7;
var _local5;
var _local6;
var _local2 = url.indexOf("?");
while (_local2 >= 0) {
_local2++;
var _local4 = url.indexOf("&", _local2);
if (url.substr(_local2, 4).toLowerCase() == "uri=") {
_local7 = url.slice(0, _local2);
_local2 = _local2 + 4;
if (_local4 >= 0) {
_local5 = url.slice(_local2, _local4);
_local6 = url.slice(_local4);
} else {
_local5 = url.slice(_local2);
_local6 = "";
}
break;
}
_local2 = _local4;
}
if (_local2 < 0) {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_CONTENT_PATH, "fpad url must include uri parameter: " + url);
}
var _local8 = parseURL(_local5);
if (!_local8.isRTMP) {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_CONTENT_PATH, "fpad url uri parameter must be rtmp url: " + url);
}
_fpadMgr = new mx.video.FPADManager(this);
return(_fpadMgr.connectXML(_local7, _local5, _local6, _local8));
}
function nextConnect() {
clearInterval(_tryNCIntervalId);
_tryNCIntervalId = 0;
var _local3;
var _local2;
if (_connTypeCounter == 0) {
_local3 = _protocol;
_local2 = _portNumber;
} else {
_local2 = null;
if (_protocol == "rtmp:/") {
_local3 = "rtmpt:/";
} else if (_protocol == "rtmpe:/") {
_local3 = "rtmpte:/";
} else {
_tryNC.pop();
return(undefined);
}
}
var _local4 = ((_local3 + ((_serverName == undefined) ? "" : ((("/" + _serverName) + ((_local2 == null) ? "" : (":" + _local2))) + "/"))) + ((_wrappedURL == undefined) ? "" : (_wrappedURL + "/"))) + _appName;
_tryNC[_connTypeCounter].pending = true;
_tryNC[_connTypeCounter].connect(_local4, _autoSenseBW);
if (_connTypeCounter < (_tryNC.length - 1)) {
_connTypeCounter++;
_tryNCIntervalId = setInterval(this, "nextConnect", 1500);
}
}
function cleanConns() {
clearInterval(_tryNCIntervalId);
_tryNCIntervalId = 0;
if (_tryNC != undefined) {
var _local2 = 0;
while (_local2 < _tryNC.length) {
if (_tryNC[_local2] != undefined) {
delete _tryNC[_local2].onStatus;
if (_tryNC[_local2].pending) {
_tryNC[_local2].onStatus = function (info) {
this.mc.disconnectOnStatus(this, info);
};
} else {
delete _tryNC[_local2].onStatus;
_tryNC[_local2].close();
}
}
delete _tryNC[_local2];
_local2++;
}
delete _tryNC;
}
}
function tryFallBack() {
if (((_serverName == fallbackServerName) || (fallbackServerName == undefined)) || (fallbackServerName == null)) {
delete _nc;
_nc = undefined;
_ncConnected = false;
_owner.ncConnected();
} else {
_connTypeCounter = 0;
cleanConns();
_serverName = fallbackServerName;
connectRTMP();
}
}
function onConnected(p_nc, p_bw) {
clearInterval(_timeoutIntervalId);
_timeoutIntervalId = 0;
delete p_nc.onBWDone;
delete p_nc.onBWCheck;
delete p_nc.onStatus;
_nc = p_nc;
_ncUri = _nc.uri;
_ncConnected = true;
if (_autoSenseBW) {
_bitrate = p_bw * 1024;
if (_streams != undefined) {
bitrateMatch();
} else {
var _local3 = _streamName.split(",");
var _local2 = 0;
while (_local2 < _local3.length) {
var _local4 = stripFrontAndBackWhiteSpace(_local3[_local2]);
if ((_local2 + 1) < _local3.length) {
if (p_bw <= Number(_local3[_local2 + 1])) {
_streamName = _local4;
break;
}
} else {
_streamName = _local4;
break;
}
_local2 = _local2 + 2;
}
if (_streamName.slice(-4).toLowerCase() == ".flv") {
_streamName = _streamName.slice(0, -4);
}
}
}
if ((!_owner.__get__isLive()) && (_streamLength == undefined)) {
var _local6 = new Object();
_local6.mc = this;
_local6.onResult = function (length) {
this.mc.getStreamLengthResult(length);
};
_nc.call("getStreamLength", _local6, _streamName);
} else {
_owner.ncConnected();
}
}
function connectOnStatus(target, info) {
target.pending = false;
if (info.code == "NetConnection.Connect.Success") {
_nc = _tryNC[target.connIndex];
_tryNC[target.connIndex] = undefined;
cleanConns();
} else if (((info.code == "NetConnection.Connect.Rejected") && (info.ex != null)) && (info.ex.code == 302)) {
_connTypeCounter = 0;
cleanConns();
var _local2 = parseURL(info.ex.redirect);
if (_local2.isRTMP) {
_protocol = _local2.protocol;
_serverName = _local2.serverName;
_wrappedURL = _local2.wrappedURL;
_portNumber = _local2.portNumber;
_appName = _local2.appName;
if (_local2.streamName != null) {
_appName = _appName + ("/" + _local2.streamName);
}
connectRTMP();
} else {
tryFallBack();
}
} else if (((info.code == "NetConnection.Connect.Failed") || (info.code == "NetConnection.Connect.Rejected")) && (target.connIndex == (_tryNC.length - 1))) {
if (!connectAgain()) {
tryFallBack();
}
}
}
function reconnectOnStatus(target, info) {
if ((info.code == "NetConnection.Connect.Failed") || (info.code == "NetConnection.Connect.Rejected")) {
delete _nc;
_nc = undefined;
_ncConnected = false;
_owner.ncReconnected();
}
}
function disconnectOnStatus(target, info) {
if (info.code == "NetConnection.Connect.Success") {
delete target.onStatus;
target.close();
}
}
function getStreamLengthResult(length) {
if (length > 0) {
_streamLength = length;
}
_owner.ncConnected();
}
function _onFCSConnectTimeOut() {
cleanConns();
_nc = undefined;
_ncConnected = false;
if (!connectAgain()) {
_owner.ncConnected();
}
}
static function stripFrontAndBackWhiteSpace(p_str) {
var _local1;
var _local2 = p_str.length;
var _local4 = 0;
var _local5 = _local2;
_local1 = 0;
while (_local1 < _local2) {
switch (p_str.charCodeAt(_local1)) {
case 9 :
case 10 :
case 13 :
case 32 :
break;
default :
_local4 = _local1;
break;!//outer level
}
_local1++;
}
_local1 = _local2;
while (_local1 >= 0) {
switch (p_str.charCodeAt(_local1)) {
case 9 :
case 10 :
case 13 :
case 32 :
break;
default :
_local5 = _local1 + 1;
break;!//outer level
}
_local1--;
}
if (_local5 <= _local4) {
return("");
}
return(p_str.slice(_local4, _local5));
}
static var version = "1.0.2.8";
static var shortVersion = "1.0.2";
var DEFAULT_TIMEOUT = 60000;
}
Symbol 20 MovieClip [__Packages.mx.video.SMILManager] Frame 0
class mx.video.SMILManager
{
var _owner, _url, xml, baseURLAttr, videoTags, width, height;
function SMILManager (owner) {
_owner = owner;
}
function connectXML(url) {
_url = fixURL(url);
xml = new XML();
xml.onLoad = mx.utils.Delegate.create(this, xmlOnLoad);
xml.load(_url);
return(false);
}
function fixURL(origURL) {
if ((origURL.substr(0, 5).toLowerCase() == "http:") || (origURL.substr(0, 6).toLowerCase() == "https:")) {
var _local2 = ((origURL.indexOf("?") >= 0) ? "&" : "?");
return(((origURL + _local2) + "FLVPlaybackVersion=") + shortVersion);
}
return(origURL);
}
function xmlOnLoad(success) {
try {
if (!success) {
_owner.helperDone(this, false);
} else {
baseURLAttr = new Array();
videoTags = new Array();
var _local2 = xml.firstChild;
var _local6 = false;
while (_local2 != null) {
if (_local2.nodeType == ELEMENT_NODE) {
_local6 = true;
if (_local2.nodeName.toLowerCase() == "smil") {
break;
}
}
_local2 = _local2.nextSibling;
}
if (!_local6) {
throw new mx.video.VideoError(mx.video.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 (_local2 == null) {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, ("URL: \"" + _url) + "\" Root node not smil");
}
var _local5 = false;
var _local4 = 0;
while (_local4 < _local2.childNodes.length) {
var _local3 = _local2.childNodes[_local4];
if (_local3.nodeType != ELEMENT_NODE) {
} else if (_local3.nodeName.toLowerCase() == "head") {
parseHead(_local3);
} else if (_local3.nodeName.toLowerCase() == "body") {
_local5 = true;
parseBody(_local3);
} else {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, ((((("URL: \"" + _url) + "\" Tag ") + _local3.nodeName) + " not supported in ") + _local2.nodeName) + " tag.");
}
_local4++;
}
if (!_local5) {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, ("URL: \"" + _url) + "\" Tag body is required.");
}
_owner.helperDone(this, true);
}
} catch(err:Error) {
_owner.helperDone(this, false);
throw err;
}
}
function parseHead(parentNode) {
var _local4 = false;
var _local3 = 0;
while (_local3 < parentNode.childNodes.length) {
var _local2 = parentNode.childNodes[_local3];
if (_local2.nodeType != ELEMENT_NODE) {
} else if (_local2.nodeName.toLowerCase() == "meta") {
for (var _local6 in _local2.attributes) {
if (_local6.toLowerCase() == "base") {
baseURLAttr.push(_local2.attributes[_local6]);
} else {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, ((((("URL: \"" + _url) + "\" Attribute ") + _local6) + " not supported in ") + _local2.nodeName) + " tag.");
}
}
} else if (_local2.nodeName.toLowerCase() == "layout") {
if (!_local4) {
parseLayout(_local2);
_local4 = true;
}
}
_local3++;
}
}
function parseLayout(parentNode) {
var _local3 = 0;
while (_local3 < parentNode.childNodes.length) {
var _local2 = parentNode.childNodes[_local3];
if (_local2.nodeType != ELEMENT_NODE) {
} else if (_local2.nodeName.toLowerCase() == "root-layout") {
for (var _local5 in _local2.attributes) {
if (_local5.toLowerCase() == "width") {
width = Number(_local2.attributes[_local5]);
} else if (_local5.toLowerCase() == "height") {
height = Number(_local2.attributes[_local5]);
}
}
if (((isNaN(width) || (width < 0)) || (isNaN(height))) || (height < 0)) {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, ((("URL: \"" + _url) + "\" Tag ") + _local2.nodeName) + " requires attributes id, width and height. Width and height must be numbers greater than or equal to 0.");
}
width = Math.round(width);
height = Math.round(height);
return(undefined);
}
_local3++;
}
}
function parseBody(parentNode) {
var _local6 = 0;
var _local3 = 0;
while (_local3 < parentNode.childNodes.length) {
var _local2 = parentNode.childNodes[_local3];
if (_local2.nodeType != ELEMENT_NODE) {
} else {
_local6++;
if (_local6 > 1) {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, ((("URL: \"" + _url) + "\" Tag ") + parentNode.nodeName) + " is required to contain exactly one tag.");
}
if (_local2.nodeName.toLowerCase() == "switch") {
parseSwitch(_local2);
} else if ((_local2.nodeName.toLowerCase() == "video") || (_local2.nodeName.toLowerCase() == "ref")) {
var _local5 = parseVideo(_local2);
videoTags.push(_local5);
}
}
_local3++;
}
if (videoTags.length < 1) {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, ("URL: \"" + _url) + "\" At least one video of ref tag is required.");
}
}
function parseSwitch(parentNode) {
var _local3 = 0;
while (_local3 < parentNode.childNodes.length) {
var _local2 = parentNode.childNodes[_local3];
if (_local2.nodeType != ELEMENT_NODE) {
} else if ((_local2.nodeName.toLowerCase() == "video") || (_local2.nodeName.toLowerCase() == "ref")) {
videoTags.push(parseVideo(_local2));
}
_local3++;
}
}
function parseVideo(node) {
var _local3 = new Object();
for (var _local4 in node.attributes) {
if (_local4.toLowerCase() == "src") {
_local3.src = node.attributes[_local4];
} else if (_local4.toLowerCase() == "system-bitrate") {
_local3.bitrate = Number(node.attributes[_local4]);
} else if (_local4.toLowerCase() == "dur") {
_local3.dur = parseTime(node.attributes[_local4]);
}
}
if (_local3.src == undefined) {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, ((("URL: \"" + _url) + "\" Attribute src is required in ") + node.nodeName) + " tag.");
}
return(_local3);
}
function parseTime(timeStr) {
var _local4 = 0;
var _local3 = timeStr.split(":");
if ((_local3.length < 1) || (_local3.length > 3)) {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, "Invalid dur value: " + timeStr);
}
var _local1 = 0;
while (_local1 < _local3.length) {
var _local2 = Number(_local3[_local1]);
if (isNaN(_local2)) {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, "Invalid dur value: " + timeStr);
}
_local4 = _local4 * 60;
_local4 = _local4 + _local2;
_local1++;
}
return(_local4);
}
static var version = "1.0.2.8";
static var shortVersion = "1.0.2";
static var ELEMENT_NODE = 1;
}
Symbol 1599 MovieClip [__Packages.mx.video.FPADManager] Frame 0
class mx.video.FPADManager
{
var _owner, _uriParam, _parseResults, _url, xml, rtmpURL;
function FPADManager (owner) {
_owner = owner;
}
function connectXML(urlPrefix, uriParam, urlSuffix, uriParamParseResults) {
_uriParam = uriParam;
_parseResults = uriParamParseResults;
_url = (urlPrefix + "uri=") + _parseResults.protocol;
if (_parseResults.serverName != undefined) {
_url = _url + ("/" + _parseResults.serverName);
}
if (_parseResults.portNumber != undefined) {
_url = _url + (":" + _parseResults.portNumber);
}
if (_parseResults.wrappedURL != undefined) {
_url = _url + ("/?" + _parseResults.wrappedURL);
}
_url = _url + ("/" + _parseResults.appName);
_url = _url + urlSuffix;
xml = new XML();
xml.onLoad = mx.utils.Delegate.create(this, xmlOnLoad);
xml.load(_url);
return(false);
}
function xmlOnLoad(success) {
try {
if (!success) {
_owner.helperDone(this, false);
} else {
var _local5 = xml.firstChild;
var _local8 = false;
while (_local5 != null) {
if (_local5.nodeType == ELEMENT_NODE) {
_local8 = true;
if (_local5.nodeName.toLowerCase() == "fpad") {
break;
}
}
_local5 = _local5.nextSibling;
}
if (!_local8) {
throw new mx.video.VideoError(mx.video.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 (_local5 == null) {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, ("URL: \"" + _url) + "\" Root node not fpad");
}
var _local7;
var _local6 = 0;
while (_local6 < _local5.childNodes.length) {
var _local3 = _local5.childNodes[_local6];
if (_local3.nodeType != ELEMENT_NODE) {
} else if (_local3.nodeName.toLowerCase() == "proxy") {
var _local2 = 0;
while (_local2 < _local3.childNodes.length) {
var _local4 = _local3.childNodes[_local2];
if (_local4.nodeType == TEXT_NODE) {
_local7 = trim(_local4.nodeValue);
break;
}
_local2++;
}
break;
}
_local6++;
}
if ((_local7 == undefined) || (_local7 == "")) {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, ("URL: \"" + _url) + "\" fpad xml requires proxy tag.");
}
rtmpURL = (((_parseResults.protocol + "/") + _local7) + "/?") + _uriParam;
_owner.helperDone(this, true);
}
} catch(err:Error) {
_owner.helperDone(this, false);
throw err;
}
}
function trim(str) {
var _local2 = 0;
while (_local2 < str.length) {
var _local1 = str.charAt(_local2);
if ((((_local1 != " ") && (_local1 != "\t")) && (_local1 != "\r")) && (_local1 != newline)) {
break;
}
_local2++;
}
if (_local2 >= str.length) {
return("");
}
var _local4 = str.length - 1;
while (_local4 > _local2) {
var _local1 = str.charAt(_local4);
if ((((_local1 != " ") && (_local1 != "\t")) && (_local1 != "\r")) && (_local1 != newline)) {
break;
}
_local4--;
}
return(str.slice(_local2, _local4 + 1));
}
static var version = "1.0.2.8";
static var shortVersion = "1.0.2";
static var ELEMENT_NODE = 1;
static var TEXT_NODE = 3;
}
Symbol 22 MovieClip [__Packages.mx.video.CuePointManager] Frame 0
class mx.video.CuePointManager
{
var _owner, _id, _asCuePointTolerance, _linearSearchTolerance, _metadataLoaded, allCuePoints, asCuePoints, _disabledCuePoints, flvCuePoints, navCuePoints, eventCuePoints, _asCuePointIndex, __get__playheadUpdateInterval, _disabledCuePointsByNameOnly;
function CuePointManager (owner, id) {
_owner = owner;
_id = id;
reset();
_asCuePointTolerance = _owner.getVideoPlayer(_id).__get__playheadUpdateInterval() / 2000;
_linearSearchTolerance = DEFAULT_LINEAR_SEARCH_TOLERANCE;
}
function reset() {
_metadataLoaded = false;
allCuePoints = null;
asCuePoints = null;
_disabledCuePoints = null;
flvCuePoints = null;
navCuePoints = null;
eventCuePoints = null;
_asCuePointIndex = 0;
}
function get metadataLoaded() {
return(_metadataLoaded);
}
function set playheadUpdateInterval(aTime) {
_asCuePointTolerance = aTime / 2000;
//return(__get__playheadUpdateInterval());
}
function get id() {
return(_id);
}
function addASCuePoint(timeOrCuePoint, name, parameters) {
var _local3;
if (typeof(timeOrCuePoint) == "object") {
_local3 = deepCopyObject(timeOrCuePoint);
} else {
_local3 = {time:timeOrCuePoint, name:name, parameters:deepCopyObject(parameters)};
}
var _local7 = isNaN(_local3.time) || (_local3.time < 0);
if (_local7) {
throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "time must be number");
}
var _local6 = _local3.name == null;
if (_local6) {
throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "name cannot be undefined or null");
}
var _local2;
_local3.type = "actionscript";
if ((asCuePoints == null) || (asCuePoints.length < 1)) {
_local2 = 0;
asCuePoints = new Array();
asCuePoints.push(_local3);
} else {
_local2 = getCuePointIndex(asCuePoints, true, _local3.time);
_local2 = ((asCuePoints[_local2].time > _local3.time) ? 0 : (_local2 + 1));
asCuePoints.splice(_local2, 0, _local3);
}
if ((allCuePoints == null) || (allCuePoints.length < 1)) {
_local2 = 0;
allCuePoints = new Array();
allCuePoints.push(_local3);
} else {
_local2 = getCuePointIndex(allCuePoints, true, _local3.time);
_local2 = ((allCuePoints[_local2].time > _local3.time) ? 0 : (_local2 + 1));
allCuePoints.splice(_local2, 0, _local3);
}
var _local5 = _owner.getVideoPlayer(_id).__get__playheadTime();
if (_local5 > 0) {
if (_asCuePointIndex == _local2) {
if (_local5 > asCuePoints[_local2].time) {
_asCuePointIndex++;
}
} else if (_asCuePointIndex > _local2) {
_asCuePointIndex++;
}
} else {
_asCuePointIndex = 0;
}
var _local4 = deepCopyObject(asCuePoints[_local2]);
_local4.array = asCuePoints;
_local4.index = _local2;
return(_local4);
}
function removeASCuePoint(timeNameOrCuePoint) {
if ((asCuePoints == null) || (asCuePoints.length < 1)) {
return(null);
}
var _local2;
switch (typeof(timeNameOrCuePoint)) {
case "string" :
_local2 = {name:timeNameOrCuePoint};
break;
case "number" :
_local2 = {time:timeNameOrCuePoint};
break;
case "object" :
_local2 = timeNameOrCuePoint;
}
var _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).__get__playheadTime() > 0) {
if (_asCuePointIndex > _local3) {
_asCuePointIndex--;
}
} else {
_asCuePointIndex = 0;
}
return(_local2);
}
function setFLVCuePointEnabled(enabled, timeNameOrCuePoint) {
var _local4;
switch (typeof(timeNameOrCuePoint)) {
case "string" :
_local4 = {name:timeNameOrCuePoint};
break;
case "number" :
_local4 = {time:timeNameOrCuePoint};
break;
case "object" :
_local4 = timeNameOrCuePoint;
}
var _local12 = isNaN(_local4.time) || (_local4.time < 0);
var _local11 = _local4.name == null;
if (_local12 && (_local11)) {
throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "time must be number and/or name must not be undefined or null");
}
var _local6 = 0;
var _local2;
var _local5;
if (_local12) {
if (!_metadataLoaded) {
if (_disabledCuePointsByNameOnly[_local4.name] == null) {
if (!enabled) {
if ((_disabledCuePointsByNameOnly == null) || (_disabledCuePointsByNameOnly.length < 0)) {
_disabledCuePointsByNameOnly = new Object();
}
_disabledCuePointsByNameOnly[_local4.name] = new Array();
}
} else {
if (enabled) {
_disabledCuePointsByNameOnly[_local4.name] = undefined;
}
return(-1);
}
removeCuePoints(_disabledCuePoints, _local4);
return(-1);
}
if (enabled) {
_local6 = removeCuePoints(_disabledCuePoints, _local4);
} else {
var _local3;
_local2 = getCuePointIndex(flvCuePoints, true, -1, _local4.name);
while (_local2 >= 0) {
_local3 = flvCuePoints[_local2];
_local5 = getCuePointIndex(_disabledCuePoints, true, _local3.time);
if ((_local5 < 0) || (_disabledCuePoints[_local5].time != _local3.time)) {
_disabledCuePoints = insertCuePoint(_local5, _disabledCuePoints, {name:_local3.name, time:_local3.time});
_local6 = _local6 + 1;
}
_local2 = getNextCuePointIndexWithName(_local3.name, flvCuePoints, _local2);
}
}
return(_local6);
}
_local2 = getCuePointIndex(_disabledCuePoints, false, _local4.time, _local4.name);
if (_local2 < 0) {
if (enabled) {
if (!_metadataLoaded) {
_local2 = getCuePointIndex(_disabledCuePoints, false, _local4.time);
if (_local2 < 0) {
_local5 = getCuePointIndex(_disabledCuePointsByNameOnly[_local4.name], true, _local4.time);
if (cuePointCompare(_local4.time, null, _disabledCuePointsByNameOnly[_local4.name]) != 0) {
_disabledCuePointsByNameOnly[_local4.name] = insertCuePoint(_local5, _disabledCuePointsByNameOnly[_local4.name], _local4);
}
} else {
_disabledCuePoints.splice(_local2, 1);
}
}
return((_metadataLoaded ? 0 : -1));
}
} else {
if (enabled) {
_disabledCuePoints.splice(_local2, 1);
_local6 = 1;
} else {
_local6 = 0;
}
return((_metadataLoaded ? (_local6) : -1));
}
if (_metadataLoaded) {
_local2 = getCuePointIndex(flvCuePoints, false, _local4.time, _local4.name);
if (_local2 < 0) {
return(0);
}
if (_local11) {
_local4.name = flvCuePoints[_local2].name;
}
}
_local5 = getCuePointIndex(_disabledCuePoints, true, _local4.time);
_disabledCuePoints = insertCuePoint(_local5, _disabledCuePoints, _local4);
_local6 = 1;
return((_metadataLoaded ? (_local6) : -1));
}
function removeCuePoints(cuePointArray, cuePoint) {
var _local2;
var _local4;
var _local5 = 0;
_local2 = getCuePointIndex(cuePointArray, true, -1, cuePoint.name);
while (_local2 >= 0) {
_local4 = cuePointArray[_local2];
cuePointArray.splice(_local2, 1);
_local2--;
_local5++;
_local2 = getNextCuePointIndexWithName(_local4.name, cuePointArray, _local2);
}
return(_local5);
}
function insertCuePoint(insertIndex, cuePointArray, cuePoint) {
if (insertIndex < 0) {
cuePointArray = new Array();
cuePointArray.push(cuePoint);
} else {
if (cuePointArray[insertIndex].time > cuePoint.time) {
insertIndex = 0;
} else {
insertIndex++;
}
cuePointArray.splice(insertIndex, 0, cuePoint);
}
return(cuePointArray);
}
function isFLVCuePointEnabled(timeNameOrCuePoint) {
if (!_metadataLoaded) {
return(true);
}
var _local3;
switch (typeof(timeNameOrCuePoint)) {
case "string" :
_local3 = {name:timeNameOrCuePoint};
break;
case "number" :
_local3 = {time:timeNameOrCuePoint};
break;
case "object" :
_local3 = timeNameOrCuePoint;
}
var _local5 = isNaN(_local3.time) || (_local3.time < 0);
var _local6 = _local3.name == null;
if (_local5 && (_local6)) {
throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "time must be number and/or name must not be undefined or null");
}
if (_local5) {
var _local2 = getCuePointIndex(flvCuePoints, true, -1, _local3.name);
if (_local2 < 0) {
return(true);
}
while (_local2 >= 0) {
if (getCuePointIndex(_disabledCuePoints, false, flvCuePoints[_local2].time, flvCuePoints[_local2].name) < 0) {
return(true);
}
_local2 = getNextCuePointIndexWithName(_local3.name, flvCuePoints, _local2);
}
return(false);
}
return(getCuePointIndex(_disabledCuePoints, false, _local3.time, _local3.name) < 0);
}
function dispatchASCuePoints() {
var _local5 = _owner.getVideoPlayer(_id).__get__playheadTime();
if (_owner.getVideoPlayer(_id).__get__stateResponsive() && (asCuePoints != null)) {
while ((_asCuePointIndex < asCuePoints.length) && (asCuePoints[_asCuePointIndex].time <= (_local5 + _asCuePointTolerance))) {
_owner.dispatchEvent({type:"cuePoint", info:deepCopyObject(asCuePoints[_asCuePointIndex++]), vp:_id});
}
}
}
function resetASCuePointIndex(time) {
if ((time <= 0) || (asCuePoints == null)) {
_asCuePointIndex = 0;
return(undefined);
}
var _local2 = getCuePointIndex(asCuePoints, true, time);
_asCuePointIndex = ((asCuePoints[_local2].time < time) ? (_local2 + 1) : (_local2));
}
function processFLVCuePoints(metadataCuePoints) {
_metadataLoaded = true;
if ((metadataCuePoints == null) || (metadataCuePoints.length < 1)) {
flvCuePoints = null;
navCuePoints = null;
eventCuePoints = null;
return(undefined);
}
flvCuePoints = metadataCuePoints;
navCuePoints = new Array();
eventCuePoints = new Array();
var _local5;
var _local6 = -1;
var _local2;
var _local4 = _disabledCuePoints;
var _local3 = 0;
_disabledCuePoints = new Array();
var _local9 = 0;
while (_local2 = flvCuePoints[_local9++] , _local2 != null) {
if ((_local6 > 0) && (_local6 >= _local2.time)) {
flvCuePoints = null;
navCuePoints = null;
eventCuePoints = null;
_disabledCuePoints = null;
_disabledCuePointsByNameOnly = null;
throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "Unsorted cuePoint found after time: " + _local6);
}
_local6 = _local2.time;
while ((_local3 < _local4.length) && (cuePointCompare(_local4[_local3].time, null, _local2) < 0)) {
_local3++;
}
if ((_disabledCuePointsByNameOnly[_local2.name] != null) || ((_local3 < _local4.length) && (cuePointCompare(_local4[_local3].time, _local4[_local3].name, _local2) == 0))) {
_disabledCuePoints.push({time:_local2.time, name:_local2.name});
}
if (_local2.type == "navigation") {
navCuePoints.push(_local2);
} else if (_local2.type == "event") {
eventCuePoints.push(_local2);
}
if ((allCuePoints == null) || (allCuePoints.length < 1)) {
allCuePoints = new Array();
allCuePoints.push(_local2);
} else {
_local5 = getCuePointIndex(allCuePoints, true, _local2.time);
_local5 = ((allCuePoints[_local5].time > _local2.time) ? 0 : (_local5 + 1));
allCuePoints.splice(_local5, 0, _local2);
}
}
delete _disabledCuePointsByNameOnly;
_disabledCuePointsByNameOnly = null;
}
function processCuePointsProperty(cuePoints) {
if ((cuePoints == null) || (cuePoints.length == 0)) {
return(undefined);
}
var _local4 = 0;
var _local8;
var _local6;
var _local7;
var _local5;
var _local9;
var _local2 = 0;
while (_local2 < (cuePoints.length - 1)) {
switch (_local4) {
case 6 :
addOrDisable(_local9, _local5);
_local4 = 0;
case 0 :
if (cuePoints[_local2++] != "t") {
throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "unexpected cuePoint parameter format");
}
if (isNaN(cuePoints[_local2])) {
throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "time must be number");
}
_local5 = new Object();
_local5.time = cuePoints[_local2] / 1000;
_local4++;
break;
case 1 :
if (cuePoints[_local2++] != "n") {
throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "unexpected cuePoint parameter format");
}
if (cuePoints[_local2] == null) {
throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "name cannot be null or undefined");
}
_local5.name = unescape(cuePoints[_local2]);
_local4++;
break;
case 2 :
if (cuePoints[_local2++] != "t") {
throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "unexpected cuePoint parameter format");
}
if (isNaN(cuePoints[_local2])) {
throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "type must be number");
}
switch (cuePoints[_local2]) {
case 0 :
_local5.type = "event";
break;
case 1 :
_local5.type = "navigation";
break;
case 2 :
_local5.type = "actionscript";
break;
default :
throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "type must be 0, 1 or 2");
}
_local4++;
break;
case 3 :
if (cuePoints[_local2++] != "d") {
throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "unexpected cuePoint parameter format");
}
if (isNaN(cuePoints[_local2])) {
throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "disabled must be number");
}
_local9 = cuePoints[_local2] != 0;
_local4++;
break;
case 4 :
if (cuePoints[_local2++] != "p") {
throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "unexpected cuePoint parameter format");
}
if (isNaN(cuePoints[_local2])) {
throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "num params must be number");
}
_local8 = cuePoints[_local2];
_local4++;
if (_local8 == 0) {
_local4++;
} else {
_local5.parameters = new Object();
}
break;
case 5 :
_local6 = cuePoints[_local2++];
_local7 = cuePoints[_local2];
if (typeof(_local6) == "string") {
_local6 = unescape(_local6);
}
if (typeof(_local7) == "string") {
_local7 = unescape(_local7);
}
_local5.parameters[_local6] = _local7;
_local8--;
if (_local8 != 0) {
break;
}
_local4++;
}
_local2++;
}
if (_local4 == 6) {
addOrDisable(_local9, _local5);
} else {
throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "unexpected end of cuePoint param string");
}
}
function addOrDisable(disable, cuePoint) {
if (disable) {
if (cuePoint.type == "actionscript") {
throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "Cannot disable actionscript cue points");
}
setFLVCuePointEnabled(false, cuePoint);
} else if (cuePoint.type == "actionscript") {
addASCuePoint(cuePoint);
}
}
function unescape(origStr) {
var _local3 = origStr;
var _local1 = 0;
while (_local1 < cuePointsReplace.length) {
var _local2 = _local3.split(cuePointsReplace[_local1++]);
if (_local2.length > 1) {
_local3 = _local2.join(cuePointsReplace[_local1]);
}
_local1++;
}
return(_local3);
}
function getCuePointIndex(cuePointArray, closeIsOK, time, name, start, len) {
if ((cuePointArray == null) || (cuePointArray.length < 1)) {
return(-1);
}
var _local13 = isNaN(time) || (time < 0);
var _local16 = name == null;
if (_local13 && (_local16)) {
throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "time must be number and/or name must not be undefined or null");
}
if (start == null) {
start = 0;
}
if (len == null) {
len = cuePointArray.length;
}
if ((!_local16) && (closeIsOK || (_local13))) {
var _local8;
var _local2;
if (_local13) {
_local8 = start;
} else {
_local8 = getCuePointIndex(cuePointArray, closeIsOK, time);
}
_local2 = _local8;
while (_local2 >= start) {
if (cuePointArray[_local2].name == name) {
break;
}
_local2--;
}
if (_local2 >= start) {
return(_local2);
}
_local2 = _local8 + 1;
while (_local2 < len) {
if (cuePointArray[_local2].name == name) {
break;
}
_local2++;
}
if (_local2 < len) {
return(_local2);
}
return(-1);
}
var _local6;
if (len <= _linearSearchTolerance) {
var _local11 = start + len;
var _local3 = start;
while (_local3 < _local11) {
_local6 = cuePointCompare(time, name, cuePointArray[_local3]);
if (_local6 == 0) {
return(_local3);
}
if (_local6 < 0) {
break;
}
_local3++;
}
if (closeIsOK) {
if (_local3 > 0) {
return(_local3 - 1);
}
return(0);
}
return(-1);
}
var _local12 = Math.floor(len / 2);
var _local15 = start + _local12;
_local6 = cuePointCompare(time, name, cuePointArray[_local15]);
if (_local6 < 0) {
return(getCuePointIndex(cuePointArray, closeIsOK, time, name, start, _local12));
}
if (_local6 > 0) {
return(getCuePointIndex(cuePointArray, closeIsOK, time, name, _local15 + 1, (_local12 - 1) + (len % 2)));
}
return(_local15);
}
function getNextCuePointIndexWithName(name, array, index) {
if (name == null) {
throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "name cannot be undefined or null");
}
if (array == null) {
throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "cuePoint.array undefined");
}
if ((isNaN(index) || (index < -1)) || (index >= array.length)) {
throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "cuePoint.index must be number between -1 and cuePoint.array.length");
}
var _local1;
_local1 = index + 1;
while (_local1 < array.length) {
if (array[_local1].name == name) {
break;
}
_local1++;
}
if (_local1 < array.length) {
return(_local1);
}
return(-1);
}
static function cuePointCompare(time, name, cuePoint) {
var _local1 = Math.round(time * 1000);
var _local2 = Math.round(cuePoint.time * 1000);
if (_local1 < _local2) {
return(-1);
}
if (_local1 > _local2) {
return(1);
}
if (name != null) {
if (name == cuePoint.name) {
return(0);
}
if (name < cuePoint.name) {
return(-1);
}
return(1);
}
return(0);
}
function getCuePoint(cuePointArray, closeIsOK, timeNameOrCuePoint) {
var _local2;
switch (typeof(timeNameOrCuePoint)) {
case "string" :
_local2 = {name:timeNameOrCuePoint};
break;
case "number" :
_local2 = {time:timeNameOrCuePoint};
break;
case "object" :
_local2 = timeNameOrCuePoint;
}
var _local3 = getCuePointIndex(cuePointArray, closeIsOK, _local2.time, _local2.name);
if (_local3 < 0) {
return(null);
}
_local2 = deepCopyObject(cuePointArray[_local3]);
_local2.array = cuePointArray;
_local2.index = _local3;
return(_local2);
}
function getNextCuePointWithName(cuePoint) {
if (cuePoint == null) {
throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "cuePoint parameter undefined");
}
if (isNaN(cuePoint.time) || (cuePoint.time < 0)) {
throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "time must be number");
}
var _local3 = getNextCuePointIndexWithName(cuePoint.name, cuePoint.array, cuePoint.index);
if (_local3 < 0) {
return(null);
}
var _local4 = deepCopyObject(cuePoint.array[_local3]);
_local4.array = cuePoint.array;
_local4.index = _local3;
return(_local4);
}
static function deepCopyObject(obj, recurseLevel) {
if ((obj == null) || (typeof(obj) != "object")) {
return(obj);
}
if (recurseLevel == null) {
recurseLevel = 0;
}
var _local2 = new Object();
for (var _local4 in obj) {
if ((recurseLevel == 0) && ((_local4 == "array") || (_local4 == "index"))) {
} else if (typeof(obj[_local4]) == "object") {
_local2[_local4] = deepCopyObject(obj[_local4], recurseLevel + 1);
} else {
_local2[_local4] = obj[_local4];
}
}
return(_local2);
}
static var DEFAULT_LINEAR_SEARCH_TOLERANCE = 50;
static var cuePointsReplace = [""", "\"", "'", "'", ",", ",", "&", "&"];
}
Symbol 1600 MovieClip [__Packages.OwnRoomSpeech] Frame 0
class OwnRoomSpeech
{
static var instance;
var targetClip, isNarrationInProgress, soundInProgress;
function OwnRoomSpeech (targetClip) {
instance = this;
this.targetClip = targetClip;
}
static function get singleton() {
if (instance == undefined) {
trace("****************************************************************************");
trace("ERROR: an attempt was made to access OwnRoomSpeech.singleton before it was created!");
trace("****************************************************************************");
}
return(instance);
}
function onBeginningNarration() {
trace("SPEECH: beginning narration");
isNarrationInProgress = true;
stopSound();
}
function onFinishedNarration() {
trace("SPEECH: finished narration");
isNarrationInProgress = false;
}
function tryToPlaySound(soundLinkageId, soundType) {
trace("SPEECH: trying to play sound " + soundLinkageId);
if (isNarrationInProgress) {
trace("\t\tnarration prevented sound from playing");
return(false);
}
if (isPlayingSound) {
if ((soundType == "callOutButtonName") && (soundInProgress.soundType == "callOutButtonName")) {
stopSound();
} else {
trace("\t\tsound in progress prevented sound from playing");
return(false);
}
}
soundInProgress = new Sound(targetClip);
soundInProgress.soundType = soundType;
var owner = this;
soundInProgress.onSoundComplete = function () {
owner.onSoundComplete();
};
soundInProgress.attachSound(soundLinkageId);
trace((("\t\tplaying sound " + soundLinkageId) + ", duration is ") + soundInProgress.duration);
if (soundInProgress.duration > 0) {
soundInProgress.start();
} else {
trace("**********************************************************");
trace("Failed to load sound id: " + soundLinkageId);
trace("**********************************************************");
onSoundComplete();
}
return(true);
}
function onSoundComplete() {
stopSound();
}
function stopSound() {
soundInProgress.stop();
soundInProgress = undefined;
}
function get isNarrating() {
return(isNarrationInProgress);
}
function get isSilent() {
return((!isNarrationInProgress) && (!isPlayingSound));
}
function get isPlayingSound() {
return(soundInProgress != undefined);
}
function get typeOfPlayingSound() {
return(soundInProgress.soundType);
}
function callOutButtonName(soundLinkageId) {
return(tryToPlaySound(soundLinkageId, "callOutButtonName"));
}
}
Symbol 1601 MovieClip [__Packages.StateDone] Frame 0
class StateDone extends State
{
var onClickedOutsideDelegate, onNewRoomDelegate, onGotoGalleryDelegate, onSubmitRoomDelegate, onSendDelegate, __get__mainTimeLine, __get__airplaneManager;
function StateDone () {
super();
onClickedOutsideDelegate = mx.utils.Delegate.create(this, onClickedOutside);
onNewRoomDelegate = mx.utils.Delegate.create(this, onNewRoom);
onGotoGalleryDelegate = mx.utils.Delegate.create(this, onGotoGallery);
onSubmitRoomDelegate = mx.utils.Delegate.create(this, onSubmitRoom);
onSendDelegate = mx.utils.Delegate.create(this, onSend);
}
function onEnterState(oldState) {
__get__mainTimeLine().gotoAndPlay("done");
__get__mainTimeLine().rooms_mc.room_mc.video_mc.invisible_btn._visible = false;
__get__mainTimeLine().invisibleDone_btn.useHandCursor = false;
__get__mainTimeLine().invisibleDone_btn.onPress = onClickedOutsideDelegate;
__get__mainTimeLine().helpButton_mc.gotoAndStop("disabled");
}
function onLeaveState() {
stopHelp();
}
function onDone() {
__get__mainTimeLine().newRoom_mc.button.onPress = onNewRoomDelegate;
__get__mainTimeLine().gallery_mc.button.onPress = onGotoGalleryDelegate;
__get__mainTimeLine().sendRoom_mc.button.onPress = onSubmitRoomDelegate;
if (!alreadyPlayedHelp) {
onHelp();
alreadyPlayedHelp = true;
}
}
function onHelp() {
OwnRoomSpeech.__get__singleton().onBeginningNarration();
__get__mainTimeLine().doneHelp_mc.gotoAndPlay(2);
__get__mainTimeLine().helpButton_mc.gotoAndStop("disabled");
}
function onFinishedDoneHelp() {
OwnRoomSpeech.__get__singleton().onFinishedNarration();
__get__mainTimeLine().helpButton_mc.gotoAndStop("enabled");
}
function stopHelp() {
__get__mainTimeLine().doneHelp_mc.gotoAndStop(1);
OwnRoomSpeech.__get__singleton().onFinishedNarration();
}
function onAirplaneClicked() {
onClickedOutside();
}
function onClickedOutside() {
StateManager.__get__singleton().transition(StateManager.__get__singleton().theStateDecorate, undefined, true);
}
function onNewRoom() {
__get__airplaneManager().stop();
StateManager.__get__singleton().transition(StateManager.__get__singleton().theStateMenu, true);
}
function onGotoGallery() {
getURL (_level0.ownRoomGalleryURL, "_top");
}
function onSubmitRoom() {
var objRef = this;
var theSendDelegate = onSendDelegate;
if (__get__mainTimeLine().submit_mc._currentframe == 1) {
stopHelp();
__get__mainTimeLine().helpButton_mc.gotoAndStop("disabled");
__get__mainTimeLine().submit_mc.gotoAndStop("show");
__get__mainTimeLine().submitHelp_mc.gotoAndPlay(2);
OwnRoomSpeech.__get__singleton().onBeginningNarration();
__get__mainTimeLine().submit_mc.invisible_btn.useHandCursor = false;
__get__mainTimeLine().submit_mc.close_btn.onPress = function () {
trace("On close");
objRef.closeSubmitForm();
};
__get__mainTimeLine().submit_mc.name_txt.text = "";
__get__mainTimeLine().submit_mc.age_txt.text = "";
__get__mainTimeLine().submit_mc.send_btn.enabled = false;
__get__mainTimeLine().submit_mc.send_btn._alpha = 30;
__get__mainTimeLine().submit_mc.tabEnabled = false;
__get__mainTimeLine().submit_mc.tabChildren = true;
__get__mainTimeLine().submit_mc.name_txt.tabIndex = 1;
__get__mainTimeLine().submit_mc.age_txt.tabIndex = 2;
__get__mainTimeLine().submit_mc.send_btn.tabIndex = 3;
Selection.setFocus(__get__mainTimeLine().submit_mc.name_txt);
__get__mainTimeLine().submit_mc.onEnterFrame = function () {
var _local2 = (this.name_txt.text.length > 0) && (this.age_txt.text.length > 0);
if (_local2 == this.send_btn.enabled) {
return(undefined);
}
if (!_local2) {
this.send_btn.enabled = false;
this.send_btn._alpha = 30;
} else {
this.send_btn.enabled = true;
this.send_btn._alpha = 100;
this.send_btn.onPress = theSendDelegate;
}
};
}
}
function onSend() {
trace("***** ON SEND");
var _local4 = mx.utils.Delegate.create(this, showConfirmationForm);
var _local3 = __get__mainTimeLine().submit_mc.name_txt.text;
var _local2 = __get__mainTimeLine().submit_mc.age_txt.text;
RoomSaver.submitRoom(__get__mainTimeLine().rooms_mc, _local3, _local2, _local4);
}
function showConfirmationForm(success) {
__get__mainTimeLine().submitHelp_mc.gotoAndStop(1);
if (success) {
__get__mainTimeLine().submit_mc.gotoAndPlay("thanks");
} else {
closeSubmitForm();
}
}
function onFinishedRoomSubmissionConfirmation() {
closeSubmitForm();
}
function closeSubmitForm() {
__get__mainTimeLine().submitHelp_mc.gotoAndStop(1);
OwnRoomSpeech.__get__singleton().onFinishedNarration();
__get__mainTimeLine().submit_mc.gotoAndStop("hide");
__get__mainTimeLine().helpButton_mc.gotoAndStop("enabled");
StateManager.__get__singleton().transition(StateManager.__get__singleton().theStateDecorate, undefined, true);
}
function toString() {
return("[StateDone object]");
}
static var alreadyPlayedHelp = false;
}
Symbol 1602 MovieClip [__Packages.StateReview] Frame 0
class StateReview extends State
{
var __get__mainTimeLine;
function StateReview () {
super();
}
function onEnterState(oldState) {
__get__mainTimeLine().gotoAndStop("review");
trace("Implement Review functionality");
}
function toString() {
return("[StateReview object]");
}
}
Symbol 1603 MovieClip [__Packages.Debug] Frame 0
class Debug
{
function Debug () {
}
static function assert(condition, errorMessage) {
if (!condition) {
trace("**********************************************************");
trace("**********************************************************");
trace("**********************************************************");
trace("ASSERTION FAILURE:");
trace("\t" + errorMessage);
trace("**********************************************************");
trace("**********************************************************");
trace("**********************************************************");
}
}
static function fail(errorMessage) {
trace("**********************************************************");
trace("**********************************************************");
trace("**********************************************************");
trace("FAILURE:");
trace("\t" + errorMessage);
trace("**********************************************************");
trace("**********************************************************");
trace("**********************************************************");
}
}
Symbol 61 MovieClip Frame 1
stop();
Symbol 93 MovieClip Frame 1
stop();
Symbol 107 MovieClip Frame 1
stop();
Symbol 113 MovieClip Frame 1
stop();
Symbol 125 MovieClip Frame 1
stop();
Symbol 132 MovieClip Frame 1
stop();
Symbol 153 MovieClip Frame 1
stop();
Symbol 169 MovieClip Frame 1
stop();
Symbol 187 MovieClip Frame 10
stop();
StateManager.__get__singleton().callOutButtonName("SR_027.wav");
Symbol 188 Button
on (release) {
StateManager.__get__singleton().onWaterColorsButtonClick();
}
Symbol 189 MovieClip Frame 1
stop();
Symbol 201 MovieClip Frame 1
stop();
Symbol 219 MovieClip Frame 1
stop();
Symbol 262 MovieClip Frame 1
stop();
Symbol 275 MovieClip Frame 1
stop();
Symbol 317 MovieClip Frame 100
gotoAndPlay ("loop");
Symbol 319 MovieClip Frame 1
stop();
Symbol 332 MovieClip Frame 1
stop();
Symbol 360 MovieClip Frame 1
stop();
Symbol 387 MovieClip Frame 191
gotoAndPlay ("loop");
Symbol 394 MovieClip Frame 1
stop();
Symbol 403 MovieClip Frame 1
stop();
Symbol 420 MovieClip Frame 1
stop();
Symbol 441 MovieClip Frame 10
stop();
StateManager.__get__singleton().callOutButtonName("STS_T005.wav");
Symbol 444 MovieClip Frame 1
stop();
Symbol 448 MovieClip Frame 10
stop();
StateManager.__get__singleton().callOutButtonName("STS_T004.wav");
Symbol 451 MovieClip Frame 1
stop();
Symbol 454 MovieClip Frame 1
stop();
Symbol 470 MovieClip Frame 10
stop();
StateManager.__get__singleton().callOutButtonName("SR_028.wav");
Symbol 479 MovieClip Frame 10
stop();
StateManager.__get__singleton().callOutButtonName("SR_029.wav");
Symbol 482 MovieClip Frame 1
stop();
Symbol 508 MovieClip Frame 10
stop();
StateManager.__get__singleton().callOutButtonName("SR_030.wav");
Symbol 516 MovieClip Frame 1
this.stickerSheet.onHidden();
Symbol 516 MovieClip Frame 21
this.stickerSheet.onShown();
Symbol 516 MovieClip Frame 40
this.stickerSheet.onHidden();
Instance of Symbol 528 MovieClip [BufferingBar] "bufferingBar_mc" in Symbol 543 MovieClip Frame 1
//component parameters
onClipEvent (construct) {
_visible = false;
}
Instance of Symbol 13 MovieClip [FLVPlayback] "videoPlayback" in Symbol 552 MovieClip Frame 1
//component parameters
onClipEvent (construct) {
autoPlay = false;
autoRewind = false;
autoSize = false;
bufferTime = 0.1;
contentPath = "";
isLive = false;
maintainAspectRatio = true;
skin = "";
skinAutoHide = false;
totalTime = 0;
volume = 100;
}
Instance of Symbol 528 MovieClip [BufferingBar] "bufferingBar_mc" in Symbol 552 MovieClip Frame 1
//component parameters
onClipEvent (construct) {
_visible = false;
}
Symbol 560 MovieClip Frame 1
stop();
Symbol 562 MovieClip Frame 1
stop();
Symbol 562 MovieClip Frame 2
ownRoot.mm.setVolume(60);
Symbol 562 MovieClip Frame 4
ownRoot.mm.setVolume(40);
Symbol 562 MovieClip Frame 6
ownRoot.mm.setVolume(30);
Symbol 562 MovieClip Frame 8
ownRoot.mm.setVolume(20);
Symbol 562 MovieClip Frame 10
ownRoot.mm.setVolume(10);
Symbol 562 MovieClip Frame 11
ownRoot.mm.setVolume(0);
stop();
this.onPlay();
Symbol 562 MovieClip Frame 22
if (ownRoot.radioOn == false) {
ownRoot.mm.setVolume(10);
}
Symbol 562 MovieClip Frame 24
if (ownRoot.radioOn == false) {
ownRoot.mm.setVolume(20);
}
Symbol 562 MovieClip Frame 26
if (ownRoot.radioOn == false) {
ownRoot.mm.setVolume(30);
}
Symbol 562 MovieClip Frame 28
if (ownRoot.radioOn == false) {
ownRoot.mm.setVolume(40);
}
Symbol 562 MovieClip Frame 30
if (ownRoot.radioOn == false) {
ownRoot.mm.setVolume(60);
}
Symbol 562 MovieClip Frame 31
if (ownRoot.radioOn == false) {
ownRoot.mm.setVolume(85);
}
Symbol 576 MovieClip Frame 1
stop();
StateManager.__get__singleton().startHiliteShade();
Symbol 578 MovieClip Frame 1
stop();
StateManager.__get__singleton().stopAllHilites();
Symbol 580 MovieClip Frame 1
stop();
StateManager.__get__singleton().hiliteMusicPlayer();
Symbol 582 MovieClip Frame 1
stop();
StateManager.__get__singleton().hiliteVideoPlayer();
Symbol 584 MovieClip Frame 1
stop();
StateManager.__get__singleton().hilitePaintButton();
Symbol 586 MovieClip Frame 1
stop();
StateManager.__get__singleton().hiliteDoneButton();
Symbol 587 MovieClip Frame 1
stop();
StateManager.__get__singleton().onStopHelp();
Symbol 587 MovieClip Frame 376
gotoAndStop (1);
Symbol 593 MovieClip Frame 1
stop();
Symbol 612 MovieClip Frame 1
stop();
Symbol 628 MovieClip Frame 1
stop();
Symbol 640 MovieClip Frame 1
stop();
Symbol 653 MovieClip Frame 1
stop();
Symbol 662 MovieClip Frame 1
stop();
Symbol 670 MovieClip Frame 1
stop();
Symbol 676 MovieClip Frame 1
stop();
Symbol 684 MovieClip Frame 1
stop();
Symbol 731 MovieClip Frame 1
stop();
Symbol 737 MovieClip Frame 1
stop();
Symbol 758 MovieClip Frame 1
stop();
Symbol 784 MovieClip Frame 1
stop();
Symbol 814 MovieClip Frame 1
stop();
Symbol 822 MovieClip Frame 1
stop();
Symbol 856 MovieClip Frame 1
stop();
Symbol 893 MovieClip Frame 1
stop();
Symbol 918 MovieClip Frame 1
stop();
Symbol 942 MovieClip Frame 1
stop();
Symbol 960 MovieClip Frame 1
stop();
Symbol 975 MovieClip Frame 40
gotoAndPlay ("loop");
Symbol 991 MovieClip Frame 42
gotoAndPlay ("loop");
Symbol 992 MovieClip Frame 1
stop();
Symbol 1005 MovieClip Frame 1
this.stickerSheet.onHidden();
Symbol 1005 MovieClip Frame 21
this.stickerSheet.onShown();
Symbol 1005 MovieClip Frame 41
this.stickerSheet.onShown();
Symbol 1025 MovieClip Frame 1
stop();
Symbol 1031 MovieClip Frame 1
stop();
Symbol 1032 MovieClip Frame 1
stop();
Instance of Symbol 528 MovieClip [BufferingBar] "bufferingBar_mc" in Symbol 1044 MovieClip Frame 1
//component parameters
onClipEvent (construct) {
_visible = false;
}
Instance of Symbol 13 MovieClip [FLVPlayback] "videoPlayback" in Symbol 1046 MovieClip Frame 1
//component parameters
onClipEvent (construct) {
autoPlay = false;
autoRewind = false;
autoSize = false;
bufferTime = 0.1;
contentPath = "";
isLive = false;
maintainAspectRatio = true;
skin = "";
skinAutoHide = false;
totalTime = 0;
volume = 100;
}
Instance of Symbol 528 MovieClip [BufferingBar] "bufferingBar_mc" in Symbol 1046 MovieClip Frame 1
//component parameters
onClipEvent (construct) {
_visible = false;
}
Symbol 1053 MovieClip Frame 1
stop();
Symbol 1054 MovieClip Frame 1
stop();
Symbol 1054 MovieClip Frame 2
ownRoot.mm.setVolume(60);
Symbol 1054 MovieClip Frame 4
ownRoot.mm.setVolume(40);
Symbol 1054 MovieClip Frame 6
ownRoot.mm.setVolume(30);
Symbol 1054 MovieClip Frame 8
ownRoot.mm.setVolume(20);
Symbol 1054 MovieClip Frame 10
ownRoot.mm.setVolume(10);
Symbol 1054 MovieClip Frame 11
ownRoot.mm.setVolume(0);
stop();
this.onPlay();
Symbol 1054 MovieClip Frame 20
if (ownRoot.radioOn == false) {
ownRoot.mm.setVolume(10);
}
Symbol 1054 MovieClip Frame 21
if (ownRoot.radioOn == false) {
ownRoot.mm.setVolume(20);
}
Symbol 1054 MovieClip Frame 23
if (ownRoot.radioOn == false) {
ownRoot.mm.setVolume(30);
}
Symbol 1054 MovieClip Frame 24
if (ownRoot.radioOn == false) {
ownRoot.mm.setVolume(40);
}
Symbol 1054 MovieClip Frame 26
if (ownRoot.radioOn == false) {
ownRoot.mm.setVolume(60);
}
Symbol 1054 MovieClip Frame 27
if (ownRoot.radioOn == false) {
ownRoot.mm.setVolume(85);
}
Symbol 1057 MovieClip Frame 1
stop();
StateManager.__get__singleton().onStopHelp();
Symbol 1057 MovieClip Frame 374
gotoAndStop (1);
Symbol 1077 MovieClip Frame 1
stop();
Symbol 1083 MovieClip Frame 1
stop();
Symbol 1091 MovieClip Frame 1
stop();
Symbol 1103 MovieClip Frame 1
stop();
Symbol 1118 MovieClip Frame 51
gotoAndPlay ("loop");
Symbol 1123 MovieClip Frame 1
stop();
Symbol 1131 MovieClip Frame 1
stop();
Symbol 1140 MovieClip Frame 1
stop();
Symbol 1163 MovieClip Frame 1
stop();
Symbol 1176 MovieClip Frame 1
stop();
Symbol 1186 MovieClip Frame 1
stop();
Symbol 1190 MovieClip Frame 1
stop();
Symbol 1197 MovieClip Frame 1
stop();
Symbol 1214 MovieClip Frame 1
stop();
Symbol 1228 MovieClip Frame 1
stop();
Symbol 1235 MovieClip Frame 1
stop();
Symbol 1260 MovieClip Frame 1
stop();
Symbol 1266 MovieClip Frame 1
stop();
Symbol 1281 MovieClip Frame 1
stop();
Symbol 1283 MovieClip Frame 1
stop();
Symbol 1302 MovieClip Frame 1
this.stickerSheet.onHidden();
Symbol 1302 MovieClip Frame 21
this.stickerSheet.onShown();
Symbol 1302 MovieClip Frame 41
this.stickerSheet.onHidden();
Symbol 1320 MovieClip Frame 1
stop();
Symbol 1326 MovieClip Frame 1
stop();
Symbol 1327 MovieClip Frame 1
stop();
Instance of Symbol 528 MovieClip [BufferingBar] "bufferingBar_mc" in Symbol 1338 MovieClip Frame 1
//component parameters
onClipEvent (construct) {
_visible = false;
}
Instance of Symbol 13 MovieClip [FLVPlayback] "videoPlayback" in Symbol 1340 MovieClip Frame 1
//component parameters
onClipEvent (construct) {
autoPlay = false;
autoRewind = false;
autoSize = false;
bufferTime = 0.1;
contentPath = "";
isLive = false;
maintainAspectRatio = true;
skin = "";
skinAutoHide = false;
totalTime = 0;
volume = 100;
}
Instance of Symbol 528 MovieClip [BufferingBar] "bufferingBar_mc" in Symbol 1340 MovieClip Frame 1
//component parameters
onClipEvent (construct) {
_visible = false;
}
Symbol 1347 MovieClip Frame 1
stop();
Symbol 1348 MovieClip Frame 1
stop();
Symbol 1348 MovieClip Frame 2
ownRoot.mm.setVolume(60);
Symbol 1348 MovieClip Frame 3
ownRoot.mm.setVolume(40);
Symbol 1348 MovieClip Frame 4
ownRoot.mm.setVolume(30);
Symbol 1348 MovieClip Frame 5
ownRoot.mm.setVolume(20);
Symbol 1348 MovieClip Frame 6
ownRoot.mm.setVolume(10);
Symbol 1348 MovieClip Frame 8
ownRoot.mm.setVolume(0);
stop();
this.onPlay();
Symbol 1348 MovieClip Frame 15
if (ownRoot.radioOn == false) {
ownRoot.mm.setVolume(10);
}
Symbol 1348 MovieClip Frame 16
if (ownRoot.radioOn == false) {
ownRoot.mm.setVolume(20);
}
Symbol 1348 MovieClip Frame 18
if (ownRoot.radioOn == false) {
ownRoot.mm.setVolume(30);
}
Symbol 1348 MovieClip Frame 19
if (ownRoot.radioOn == false) {
ownRoot.mm.setVolume(40);
}
Symbol 1348 MovieClip Frame 20
if (ownRoot.radioOn == false) {
ownRoot.mm.setVolume(60);
}
Symbol 1348 MovieClip Frame 21
if (ownRoot.radioOn == false) {
ownRoot.mm.setVolume(85);
}
Symbol 1351 MovieClip Frame 1
stop();
StateManager.__get__singleton().onStopHelp();
Symbol 1351 MovieClip Frame 376
gotoAndStop (1);
Symbol 1352 MovieClip Frame 1
stop();
Symbol 1357 MovieClip [greenballanim] Frame 26
gotoAndPlay ("loop");
Symbol 1358 MovieClip [orangeballanim] Frame 26
gotoAndPlay ("loop");
Symbol 1366 MovieClip [bubbles1] Frame 12
gotoAndPlay ("loop");
Symbol 1367 MovieClip [ballSticker_mc] Frame 26
gotoAndPlay ("loop");
Symbol 1383 MovieClip Frame 1
stop();
Symbol 1387 MovieClip Frame 1
stop();
Symbol 1448 Button
on (press) {
trace("HELP WAS PRESSED-HANDLER");
StateManager.__get__singleton().onHelp();
}
Symbol 1449 MovieClip Frame 1
stop();
Symbol 1453 Button
on (release) {
ownRoot.mm.stop();
ownRoot.musicOn = false;
ownRoot.musicPlaying = false;
gotoAndStop ("musicoff");
}
Symbol 1456 Button
on (release) {
_parent.mm.start(0, 999);
_parent.musicOn = true;
_parent.musicPlaying = true;
gotoAndStop ("musicon");
}
Symbol 1457 MovieClip Frame 1
stop();
if (_parent.musicOn == false) {
gotoAndStop ("musicoff");
}
Symbol 1457 MovieClip Frame 2
stop();
Symbol 1457 MovieClip Frame 3
stop();
Symbol 1467 MovieClip Frame 10
stop();
trace("Trying to play SR_020.wav");
StateManager.__get__singleton().callOutButtonName("SR_020.wav");
Symbol 1476 MovieClip Frame 10
stop();
StateManager.__get__singleton().callOutButtonName("SR_021.wav");
Symbol 1487 MovieClip [No Button] Frame 1
stop();
Symbol 1487 MovieClip [No Button] Frame 2
stop();
Symbol 1495 MovieClip [Yes Button] Frame 1
stop();
Symbol 1495 MovieClip [Yes Button] Frame 2
stop();
Symbol 1496 MovieClip Frame 1
stop();
Symbol 1499 MovieClip Frame 10
stop();
StateManager.__get__singleton().callOutButtonName("SR_023.wav");
Symbol 1503 MovieClip Frame 10
stop();
StateManager.__get__singleton().callOutButtonName("SR_022.wav");
Symbol 1535 MovieClip Frame 1
stop();
Symbol 1535 MovieClip Frame 119
StateManager.__get__singleton().onFinishedRoomSubmissionConfirmation();
Symbol 1547 MovieClip Frame 1
stop();
Symbol 1566 MovieClip Frame 1
stop();
Symbol 1566 MovieClip Frame 3
stop();
Symbol 1566 MovieClip Frame 5
stop();
Symbol 1566 MovieClip Frame 7
stop();
Symbol 1566 MovieClip Frame 9
stop();
Symbol 1566 MovieClip Frame 11
stop();
Symbol 1566 MovieClip Frame 13
stop();
Symbol 1566 MovieClip Frame 15
stop();
Symbol 1566 MovieClip Frame 17
stop();
Symbol 1566 MovieClip Frame 19
stop();
Symbol 1566 MovieClip Frame 21
stop();
Symbol 1566 MovieClip Frame 23
stop();
Symbol 1566 MovieClip Frame 25
stop();
Symbol 1566 MovieClip Frame 27
stop();
Symbol 1566 MovieClip Frame 29
stop();
Symbol 1566 MovieClip Frame 31
stop();
Symbol 1566 MovieClip Frame 33
stop();
Symbol 1566 MovieClip Frame 35
gotoAndStop ("park");
Symbol 1574 MovieClip Frame 1
stop();
StateManager.__get__singleton().onFinishedDoneHelp();