Frame 1
function submitTrack(sID, sUrl, nW, nH, sType) {
var _local3 = flash.external.ExternalInterface.call("getBrowser");
if (sUrl == undefined) {
flash.external.ExternalInterface.call("simpleTrack", sID);
} else if (_local3 != "Microsoft Internet Explorer") {
getURL (((((((((("javascript:popUpAndTrack('" + sID) + "','") + sUrl) + "',") + nW) + ",") + nH) + ",'") + sType) + "');");
} else {
flash.external.ExternalInterface.call("popUpAndTrack", sID, sUrl, nW, nH, sType);
}
}
function submitMail(sID, sBody, sSubject) {
var _local1 = flash.external.ExternalInterface.call("getBrowser");
if (_local1 != "Microsoft Internet Explorer") {
getURL (((((("javascript:mailtoAndTrack('" + sID) + "','") + sBody) + "','") + sSubject) + "');");
} else {
flash.external.ExternalInterface.call("mailtoAndTrack", sID, sBody, sSubject);
}
}
function run(update) {
_global.gData = new Object();
_global.gData = update;
trace("***** item1 : " + gData.game.txtFldIntroTitle.data);
isXMLLoaded = true;
checkBothLoaded();
}
function sortOutReleaseMessage() {
var _local2 = Number(_global.gData.game.release_month.data);
var _local5 = Number(_global.gData.game.release_day.data);
var _local3 = Number(_global.gData.game.release_year.data);
var _local7 = new Date(_local3, _local2 - 1, _local5, 8, 0, 0, 0);
var _local6 = new Date();
var _local4 = _local7 - _local6;
if (_local4 < 0) {
sReleaseMessage = _global.gData.game.promo2field.data;
} else {
sReleaseMessage = _global.gData.game.promo1field.data;
}
}
function checkBothLoaded() {
if (isXMLLoaded && (logosLoaded)) {
sortOutReleaseMessage();
play();
}
}
if (cid == undefined) {
cid = "uk";
}
gXML = new com.digitaloutlook.XMLParser(this);
gXML.setXmlPath(cid + "/xml/pinball.xml");
gXML.parse();
var isXMLLoaded = false;
var logosLoaded = false;
var aLoadArray = new Array();
aLoadArray.push([logo_mc, cid + "/images/pb_main_logo.swf"]);
aLoadArray.push([game_logo_mc, cid + "/images/pb_main_logo.swf"]);
aLoadArray.push([rat_n_roll_mc, cid + "/images/rat_n_roll_logo.swf"]);
aLoadArray.push([game_rat_n_roll_logo_mc, cid + "/images/rat_n_roll_logo.swf"]);
var i = 0;
while (i < aLoadArray.length) {
var targetClip = aLoadArray[i][0];
var movieToLoad = aLoadArray[i][1];
targetClip.loadMovie(movieToLoad);
i++;
}
this.onEnterFrame = function () {
var _local3 = true;
var _local2 = 0;
while (_local2 < aLoadArray.length) {
trace("BOO" + aLoadArray[_local2][0].getBytesLoaded());
if (aLoadArray[_local2][0].getBytesLoaded() != aLoadArray[_local2][0].getBytesTotal()) {
_local3 = false;
}
_local2++;
}
if (_local3) {
delete this.onEnterFrame;
logosLoaded = true;
checkBothLoaded();
}
};
stop();
Frame 2
stop();
_global.gameTitle = _global.gData.game.txt_gamename.data;
this.onEnterFrame = function () {
var _local2 = Math.round((this.getBytesLoaded() / this.getBytesTotal()) * 100);
loadTxt_mc.text = _local2 + "%";
loadBar1_mc._xscale = 100 - _local2;
loadBar2_mc._xscale = 100 - _local2;
if (_local2 == 100) {
delete this.onEnterFrame;
play();
}
};
Frame 4
video_mc.contentPath = _level0.cid + "/video/introMovie.flv";
Instance of Symbol 31 MovieClip [FLVPlayback] "video_mc" in Frame 4
//component parameters
onClipEvent (construct) {
autoPlay = true;
autoRewind = true;
autoSize = false;
bufferTime = 0.1;
contentPath = "no.flv";
isLive = false;
maintainAspectRatio = true;
skin = "";
skinAutoHide = false;
totalTime = 0;
volume = 100;
}
Frame 25
txtFldSkip.htmlText = _global.gData.game.txtFldSkip.data;
stop();
var listenerObject = new Object();
listenerObject.complete = function (eventObject) {
play();
};
video_mc.addEventListener("complete", listenerObject);
Frame 34
function cheatEntered(s) {
switch (s) {
case "plug" :
checkAction("ballHide");
break;
case "gus" :
checkAction("tunnel");
break;
case "knife" :
checkAction("exhaust");
break;
case "lights" :
preResetRingLight();
}
}
function initSounds() {
game_mc.createEmptyMovieClip("sound_mc", game_mc.getNextHighestDepth());
snd_flipper = new Sound();
snd_flipper.attachSound("flipper_snd");
snd_ringLight = new Sound();
snd_ringLight.attachSound("ringLight_snd");
snd_ringLightBonus = new Sound();
snd_ringLightBonus.attachSound("ringLightBonus_snd");
snd_ringLightBonus.start();
snd_pot = new Sound();
snd_pot.attachSound("pot_snd");
snd_signal = new Sound();
snd_signal.attachSound("signal_snd");
snd_signalBonus = new Sound();
snd_signalBonus.attachSound("signalBonus_snd");
snd_plunger = new Sound();
snd_plunger.attachSound("plunger_snd");
snd_ballLost = new Sound();
snd_ballLost.attachSound("ballLost_snd");
snd_bumper = new Sound();
snd_bumper.attachSound("bumper_snd");
snd_bumper2 = new Sound();
snd_bumper2.attachSound("bumper2_snd");
snd_wallHit = new Sound();
snd_wallHit.attachSound("wallHit_snd");
snd_ballRelease = new Sound();
snd_ballRelease.attachSound("ballRelease_snd");
snd_ratchet = new Sound();
snd_ratchet.attachSound("ratchetUp_snd");
snd_ratchet.setVolume(30);
snd_ambience = new Sound("game_mc.sound_mc");
snd_ambience.attachSound("ambience_snd");
snd_ambience.setVolume(150);
snd_ambience.start(0, 10000000);
snd_flipper.start();
}
function soundVolume(num) {
snd_bumper.setVolume(num);
snd_ambience.setVolume(num / 10);
}
function defineVectors(arr, bvar, fvar, points, action) {
var _local6 = game.vTotal;
i = 0;
while (i < ((arr.length - 2) / 2)) {
game.vTotal++;
game["v" + game.vTotal] = new Object();
game["v" + game.vTotal].p0 = new Object();
game["v" + game.vTotal].p1 = new Object();
game["v" + game.vTotal].p0.x = arr[i * 2] + game.xOffset;
game["v" + game.vTotal].p0.y = arr[(i * 2) + 1] + game.yOffset;
game["v" + game.vTotal].p1.x = arr[(i * 2) + 2] + game.xOffset;
game["v" + game.vTotal].p1.y = arr[(i * 2) + 3] + game.yOffset;
game["v" + game.vTotal].b = bvar;
game["v" + game.vTotal].f = fvar;
game["v" + game.vTotal].points = points;
game["v" + game.vTotal].action = action;
updateVector(game["v" + game.vTotal], true);
i++;
}
return([_local6 + 1, game.vTotal]);
}
function defineVectorsLocal(arr, bvar, fvar, points, action) {
var _local1 = new Object();
i = 0;
while (i < ((arr.length - 2) / 2)) {
_local1["v" + i] = new Object();
_local1["v" + i].p0 = new Object();
_local1["v" + i].p1 = new Object();
_local1["v" + i].p0.x = arr[i * 2] + game.xOffset;
_local1["v" + i].p0.y = arr[(i * 2) + 1] + game.yOffset;
_local1["v" + i].p1.x = arr[(i * 2) + 2] + game.xOffset;
_local1["v" + i].p1.y = arr[(i * 2) + 3] + game.yOffset;
_local1["v" + i].b = bvar;
_local1["v" + i].f = fvar;
_local1["v" + i].points = points;
_local1["v" + i].action = action;
updateVector(_local1["v" + i], true);
i++;
}
return(_local1);
}
function drawWalls() {
game_mc.createEmptyMovieClip("outline_mc", game_mc.getNextHighestDepth());
game_mc.outline_mc._x = (outline_mc._y = 0);
game_mc.outline_mc.lineStyle(1, 65280, 100);
i = 1;
while (i <= game.vTotal) {
game_mc.outline_mc.moveTo(this.game["v" + i].p0.x, this.game["v" + i].p0.y);
game_mc.outline_mc.lineTo(this.game["v" + i].p1.x, this.game["v" + i].p1.y);
i++;
}
}
function createHitzones(showBoxes) {
game_mc.createEmptyMovieClip("hitChecker_mc", game_mc.getNextHighestDepth());
game_mc.hitChecker_mc._x = (game_mc.hitChecker_mc._y = 0);
i = 1;
while (i <= game.vTotal) {
var _local2 = game["v" + i].p0.x;
var _local1 = game["v" + i].p0.y;
var _local4 = game["v" + i].p1.x;
var _local3 = game["v" + i].p1.y;
game_mc.hitChecker_mc.createEmptyMovieClip("hz" + i, i + 10);
game_mc.hitChecker_mc["hz" + i].attachMovie("hitChecker_dupe", "hz", 1);
game_mc.hitChecker_mc["hz" + i]._x = _local2 + ((_local4 - _local2) / 2);
game_mc.hitChecker_mc["hz" + i]._y = _local1 + ((_local3 - _local1) / 2);
game_mc.hitChecker_mc["hz" + i]._width = Math.abs(_local4 - _local2) + (game.maxV * 2);
game_mc.hitChecker_mc["hz" + i]._height = Math.abs(_local3 - _local1) + (game.maxV * 2);
game_mc.hitChecker_mc["hz" + i].myNum = i;
if (debug_showHitzones) {
game_mc.hitChecker_mc["hz" + i]._visible = true;
} else {
game_mc.hitChecker_mc["hz" + i]._visible = false;
}
i++;
}
}
function defineHitGroups() {
game_mc.createEmptyMovieClip("group1_mc", game_mc.getNextHighestDepth());
game_mc.createEmptyMovieClip("group2_mc", game_mc.getNextHighestDepth());
game_mc.createEmptyMovieClip("group3_mc", game_mc.getNextHighestDepth());
game_mc.createEmptyMovieClip("group4_mc", game_mc.getNextHighestDepth());
game_mc.createEmptyMovieClip("group5_mc", game_mc.getNextHighestDepth());
game_mc.group1_mc.attachMovie("hitChecker_dupe", "hz", 1);
game_mc.group2_mc.attachMovie("hitChecker_dupe", "hz", 1);
game_mc.group3_mc.attachMovie("hitChecker_dupe", "hz", 1);
game_mc.group4_mc.attachMovie("hitChecker_dupe", "hz", 1);
game_mc.group5_mc.attachMovie("hitChecker_dupe", "hz", 1);
game_mc.group1_mc._x = game.xOffset + (game.stageW * 0.167);
game_mc.group1_mc._y = game.yOffset + (game.stageH * 0.25);
game_mc.group2_mc._x = game.xOffset + (game.stageW * 0.5);
game_mc.group2_mc._y = game.yOffset + (game.stageH * 0.25);
game_mc.group3_mc._x = game.xOffset + (game.stageW * 0.834);
game_mc.group3_mc._y = game.yOffset + (game.stageH * 0.25);
game_mc.group4_mc._x = game.xOffset + (game.stageW * 0.25);
game_mc.group4_mc._y = game.yOffset + (game.stageH * 0.75);
game_mc.group5_mc._x = game.xOffset + (game.stageW * 0.75);
game_mc.group5_mc._y = game.yOffset + (game.stageH * 0.75);
game_mc.group1_mc._width = (game_mc.group2_mc._width = (game_mc.group3_mc._width = game.stageW * 0.35));
game_mc.group4_mc._width = (game_mc.group5_mc._width = game.stageW * 0.6);
game_mc.group1_mc._height = (game_mc.group2_mc._height = (game_mc.group3_mc._height = (game_mc.group4_mc._height = (game_mc.group5_mc._height = game.stageH * 0.6))));
game_mc.group1_mc.cacheAsBitmap;
game_mc.group2_mc.cacheAsBitmap;
game_mc.group3_mc.cacheAsBitmap;
game_mc.group4_mc.cacheAsBitmap;
game_mc.group5_mc.cacheAsBitmap;
if (debug_showHitzones) {
game_mc.group1_mc._visible = true;
game_mc.group2_mc._visible = true;
game_mc.group3_mc._visible = true;
game_mc.group4_mc._visible = true;
game_mc.group5_mc._visible = true;
} else {
game_mc.group1_mc._visible = false;
game_mc.group2_mc._visible = false;
game_mc.group3_mc._visible = false;
game_mc.group4_mc._visible = false;
game_mc.group5_mc._visible = false;
}
var _local1 = new Array([], [], [], [], []);
i = 1;
while (i <= game.vTotal) {
j = 1;
while (j <= 5) {
if (game_mc.hitChecker_mc["hz" + i].hitTest(game_mc[("group" + j) + "_mc"])) {
_local1[j - 1].push(i);
}
j++;
}
i++;
}
return(_local1);
}
function checkHitzones(showBoxes) {
var _local1 = -1;
i = 1;
while (i <= 5) {
if (game.myOb.clip.hitTest(game_mc[("group" + i) + "_mc"])) {
_local1 = i;
if (debug_showHitzones) {
game_mc[("group" + i) + "_mc"].hz.gotoAndPlay(2);
}
break;
}
i++;
}
var _local2 = new Array();
if (_local1 != -1) {
i = 1;
while (i <= game.hitGroupArray[_local1 - 1].length) {
if (game_mc.hitChecker_mc["hz" + game.hitGroupArray[_local1 - 1][i - 1]].hitTest(game.myOb.clip)) {
_local2.push(game.hitGroupArray[_local1 - 1][i - 1]);
if (debug_showHitzones) {
game_mc.hitChecker_mc["hz" + game.hitGroupArray[_local1 - 1][i - 1]].hz.gotoAndPlay(2);
}
}
i++;
}
return(_local2);
}
return([]);
}
function initNewGame() {
infoPanel_mc.gotoAndStop("playing");
game.score = 0;
game.ballState = 1;
highscorefield_mc.text = game.highscore;
addPoints(0);
if (DEBUGMODEON) {
addBall(300, 1);
} else {
addBall(3, 1);
}
resetBall();
triggerRatchet(1, 0);
triggerRatchet(2, 0);
resetChute();
resetRingLight();
resetSignalLight(0);
resetSignalLight(1);
startGame();
}
function startGame() {
idleLights_mc.deactivate();
this.onEnterFrame = mainLoop;
}
function stopGame() {
idleLights_mc.activate();
delete this.onEnterFrame;
}
function gameOver() {
trace("game over dude!");
infoPanel_mc.gotoAndStop("gameOver");
if (game.score > game.highscore) {
game.highscore = game.score;
highscorefield_mc.text = game.highscore;
}
stopGame();
}
function mainLoop() {
if (game.ballState) {
checkKeys();
game.hitVectors = checkHitzones();
gameLoop();
}
}
function checkKeys() {
var _local2 = game.key.keyLstate;
var _local1 = game.key.keyRstate;
var _local4 = game.key.keySstate;
var _local3 = game.key.keyDstate;
if (Key.isDown(37)) {
game.key.keyLstate = 1;
} else {
game.key.keyLstate = 0;
}
if (Key.isDown(39)) {
game.key.keyRstate = 1;
} else {
game.key.keyRstate = 0;
}
if (Key.isDown(32)) {
game.key.keySstate = 1;
} else {
game.key.keySstate = 0;
}
if (Key.isDown(40)) {
game.key.keyDstate = 1;
} else {
game.key.keyDstate = 0;
}
if (game.key.keyLstate && (!_local2)) {
setFlipper(1, "up");
} else if ((!game.key.keyLstate) && (_local2)) {
setFlipper(1, "down");
}
if (game.key.keyRstate && (!_local1)) {
setFlipper(2, "up");
} else if ((!game.key.keyRstate) && (_local1)) {
setFlipper(2, "down");
}
if (game.key.keyDstate) {
plungerPullback();
} else if ((!game.key.keyDstate) && (_local3)) {
plungerRelease();
}
}
function setFlipper(side, ste) {
game_mc[("flipper" + side) + "_mc"].gotoAndStop(ste);
var _local1 = game.flipper[("vec" + side) + "Index"][0];
var _local2 = game.flipper[("vec" + side) + "Index"][1];
var _local3 = game.flipper[("vec" + side) + ste];
i = 0;
while (i < (_local2 - _local1)) {
game["v" + (_local1 + i)] = _local3["v" + i];
i++;
}
ballPoint = new flash.geom.Point();
ballPoint.x = game.myOb.p1.x;
ballPoint.y = game.myOb.p1.y;
if ((checkIfInTriangle(ballPoint, flipper1Corner1, flipper1Corner2, flipper1Corner3) && (side == 1)) && (ste == "up")) {
var _local6 = (ballPoint.x - 100) / 1.5;
game.myOb.vy = -_local6;
updateVector(game.myOb, false);
} else if ((checkIfInTriangle(ballPoint, flipper2Corner1, flipper2Corner2, flipper2Corner3) && (side == 2)) && (ste == "up")) {
var _local6 = (225 - ballPoint.x) / 1.5;
game.myOb.vy = -_local6;
updateVector(game.myOb, false);
}
if (ste == "up") {
snd_flipper.start();
}
}
function plungerPullback() {
var _local1 = game.plunger.vecIndex[0];
if (game.plunger.startY == 0) {
game.plunger.startY = game["v" + _local1].p0.y;
}
game.plunger.currDist = game.plunger.currDist + 1;
var _local2 = game.plunger.startY + game.plunger.currDist;
game_mc.plunger_mc._y = _local2;
game["v" + _local1].p0.y = _local2;
game["v" + _local1].p1.y = _local2;
updateVector(game["v" + _local1], true);
if (game.plunger.currDist >= game.plunger.maxDist) {
plungerRelease();
}
}
function plungerRelease() {
snd_plunger.start();
var _local1 = game.plunger.vecIndex[0];
game_mc.plunger_mc._y = game.plunger.startY;
game["v" + _local1].p0.y = game.plunger.startY;
game["v" + _local1].p1.y = game.plunger.startY;
updateVector(game["v" + _local1], true);
if (game_mc.plungerCheck_mc.hitTest(game.clip.ob_mc)) {
var _local2 = (Math.random() * game.plunger.currDist) * 0.1;
resumeBall(game.myOb.p0.x, game.plunger.startY - game.myOb.r, 0, -(game.plunger.currDist + _local2));
}
game.plunger.currDist = 0;
}
function addPoints(points) {
game.score = game.score + points;
scorefield_mc.text = game.score;
}
function addBall(num, abs) {
if (abs) {
game.ballsLeft = num;
} else {
game.ballsLeft = game.ballsLeft + num;
}
if (num < 0) {
snd_ballLost.start();
}
ballsLeft_mc.gotoAndStop(4 - game.ballsLeft);
}
function checkAction(action) {
switch (action) {
case "tunnel" :
triggerTunnel();
break;
case "exhaust" :
triggerExhaust();
break;
case "randomShooter" :
triggerRandomShooter();
break;
case "randomShooter2" :
triggerRandomShooter2();
break;
case "ballLost" :
triggerBallLost();
break;
case "ballHide" :
triggerBallHide();
break;
case "pot1" :
triggerPot1();
break;
case "pot2" :
triggerPot2();
break;
case "pot3" :
triggerPot3();
break;
case "ringLight1" :
triggerRingLight(1);
break;
case "ringLight2" :
triggerRingLight(2);
break;
case "ringLight3" :
triggerRingLight(3);
break;
case "ringLight4" :
triggerRingLight(4);
break;
case "ringLight5" :
triggerRingLight(5);
break;
case "ringLight6" :
triggerRingLight(6);
break;
case "ringLight7" :
triggerRingLight(7);
break;
case "ringLight8" :
triggerRingLight(8);
break;
case "ringLight9" :
triggerRingLight(9);
break;
case "signalLight1" :
triggerSignalLight(1);
break;
case "signalLight2" :
triggerSignalLight(2);
break;
case "signalLight3" :
triggerSignalLight(3);
break;
case "signalLight4" :
triggerSignalLight(4);
break;
case "signalLight5" :
triggerSignalLight(5);
break;
case "signalLight6" :
triggerSignalLight(6);
break;
case "bumper1" :
triggerBumper(1);
break;
case "bumper2" :
triggerBumper(2);
break;
case "*topChute1" :
triggerChute(1);
break;
case "*topChute2" :
triggerChute(2);
break;
case "*topChute3" :
triggerChute(3);
break;
case "*ratchet1" :
triggerRatchet(1, 1);
break;
case "*ratchet2" :
triggerRatchet(2, 1);
break;
case "debug" :
trace("debug!!!");
}
}
function triggerOutOfBounds(refx, refy) {
hideBall();
outOfBoundsAnim_mc._x = refx;
outOfBoundsAnim_mc._y = refy;
outOfBoundsAnim_mc.gotoAndPlay("activate");
outOfBoundsFinish_mc.gotoAndPlay("activate");
}
function finishOutOfBounds() {
rndVar = (Math.random() * 0.7) + 4;
resumeBall(98, 180, 0, rndVar);
addPoints(150);
}
function triggerBallLost() {
addBall(-1);
if (game.ballsLeft == 0) {
gameOver();
} else {
resetBall();
}
}
function triggerRatchet(num, ste) {
var _local2 = game.ratchets["vecIndex" + num][0];
if (ste) {
this[("ratchet" + num) + "_mc"].gotoAndStop("on");
game["v" + _local2].action = "";
} else {
this[("ratchet" + num) + "_mc"].gotoAndStop("off");
game["v" + _local2].action = "*";
}
}
function triggerChute(num) {
if (getTimer() > (topChuteDelay + 500)) {
topChuteArray[num - 1] = !topChuteArray[num - 1];
if (topChuteArray[num - 1] == 0) {
snd_ringLight.start();
this[("light_chute" + num) + "_mc"].gotoAndStop("off");
} else {
snd_ringLight.start();
this[("light_chute" + num) + "_mc"].gotoAndPlay("flickerOn");
}
if (((topChuteArray[0] + topChuteArray[1]) + topChuteArray[2]) == 3) {
trace("top chute complete");
addPoints(1000);
resetChute();
}
topChuteDelay = getTimer();
}
}
function resetChute() {
this.light_chute1_mc.gotoAndPlay("flickerOff");
this.light_chute2_mc.gotoAndPlay("flickerOff");
this.light_chute3_mc.gotoAndPlay("flickerOff");
topChuteArray = [0, 0, 0];
}
function triggerBumper(num) {
snd_bumper2.start();
if (num == 1) {
light_bumper1_mc.gotoAndPlay("onToOff");
} else {
light_bumper2_mc.gotoAndPlay("onToOff");
}
}
function hideBall() {
game.ballState = 0;
game.clip.ob_mc._visible = false;
}
function resumeBall(x, y, vx, vy) {
game.ballState = 1;
game.clip.ob_mc._visible = true;
game.myOb.p0.x = x;
game.myOb.p0.y = y;
game.myOb.vx = vx;
game.myOb.vy = vy;
updateVector(game.myOb, false);
}
function resetBall() {
game.myOb.p0 = {x:338, y:400};
game.myOb.p1 = {x:338, y:380};
game.myOb.vx = 0;
game.myOb.vy = 0;
updateVector(game.myOb, false);
triggerRatchet(1, 0);
triggerRatchet(2, 0);
snd_ballRelease.start();
}
function triggerExhaust() {
hideBall();
exhaustChute_mc.gotoAndPlay("activate");
}
function finishExhaust() {
resumeBall(275, 490, 0, 0);
addPoints(100);
}
function triggerTunnel() {
hideBall();
tunnelChute_mc.gotoAndPlay("activate");
}
function finishTunnel() {
resumeBall(49, 492, 0, 0);
addPoints(100);
}
function triggerRandomShooter() {
hideBall();
randomShooter_mc.gotoAndPlay("activate");
}
function finishRandomShooter() {
resumeBall(301, 363, -((Math.random() * 2) + 10), -((Math.random() * 4) + 10));
addPoints(100);
}
function triggerRandomShooter2() {
hideBall();
randomShooter2_mc.gotoAndPlay("activate");
}
function finishRandomShooter2() {
resumeBall(213, 239, -((Math.random() * 8) + 4), (Math.random() * 8) + 4);
addPoints(100);
}
function finishTunnelShooter() {
var _local1 = 1 + (Math.random() * 2);
if (Math.random() > 0.5) {
_local1 = _local1 * -1;
}
resumeBall(162, 597, _local1, (-(Math.random() * 10)) - 17);
addPoints(100);
}
function finishExhaustShooter() {
var _local1 = 1 + (Math.random() * 2);
if (Math.random() > 0.5) {
_local1 = _local1 * -1;
}
resumeBall(162, 597, _local1, (-(Math.random() * 10)) - 17);
addPoints(100);
}
function triggerBallHide() {
hideBall();
ballHide_mc.gotoAndPlay("activate");
}
function resumeBallHide() {
hideBall();
ballHide_mc.gotoAndPlay("activate");
addPoints(50);
}
function triggerPot1() {
pot1_mc.gotoAndPlay("activate");
snd_pot.start();
}
function triggerPot2() {
pot2_mc.gotoAndPlay("activate");
snd_pot.start();
}
function triggerPot3() {
pot3_mc.gotoAndPlay("activate");
snd_pot.start();
}
function triggerRingLight(num) {
snd_ringLight.start();
if (ringLightArray[num - 1] == 0) {
ringLightArray[num - 1] = 1;
ringLightTotal++;
this[("light_wheel" + num) + "_mc"].gotoAndStop("on");
this[("white_block_top_" + num) + "_mc"].gotoAndStop("show");
if (ringLightTotal == 9) {
addPoints(500);
snd_ringLightBonus.start();
preResetRingLight();
}
}
}
function preResetRingLight() {
crazyRingLights_mc.play();
}
function resetRingLight() {
ringLightTotal = 0;
i = 1;
while (i <= 9) {
ringLightArray[i - 1] = 0;
this[("light_wheel" + i) + "_mc"].gotoAndPlay("flickerOff");
this[("white_block_top_" + i) + "_mc"].gotoAndPlay("show");
i++;
}
}
function triggerSignalLight(num) {
snd_signal.start();
if (num <= 3) {
if (signal_l_LightArray[num - 1] == 0) {
signal_l_LightArray[num - 1] = 1;
this[("white_block_light_signal_" + num) + "_mc"].gotoAndPlay("hide");
this["light_signal" + num].gotoAndPlay("flickerOn");
signal_l_LightTotal++;
if (signal_l_LightTotal == 3) {
trace("left signal complete");
snd_ratchet.start();
addPoints(500);
resetSignalLight(0);
}
}
} else if (signal_r_LightArray[num - 4] == 0) {
signal_r_LightArray[num - 4] = 1;
this[("white_block_light_signal_" + num) + "_mc"].gotoAndPlay("hide");
this["light_signal" + num].gotoAndPlay("flickerOn");
signal_r_LightTotal++;
if (signal_r_LightTotal == 3) {
trace("right signal complete");
ringLightBonus_snd.start();
addPoints(500);
resetSignalLight(1);
}
}
}
function resetSignalLight(side) {
i = 1;
while (i <= 3) {
if (!side) {
signal_l_LightTotal = 0;
signal_l_LightArray[i - 1] = 0;
this[("white_block_light_signal_" + i) + "_mc"].gotoAndPlay("show");
this["light_signal" + i].gotoAndStop("off");
} else {
signal_r_LightTotal = 0;
signal_r_LightArray[i - 1] = 0;
this[("white_block_light_signal_" + (i + 3)) + "_mc"].gotoAndPlay("show");
this["light_signal" + (i + 3)].gotoAndStop("off");
}
i++;
}
}
function drawAll(v) {
v.clip._x = v.p1.x;
v.clip._y = v.p1.y;
}
function gameLoop() {
var _local1 = game.myOb;
_local1.vx = _local1.vx * _local1.airf;
_local1.vy = _local1.vy * _local1.airf;
updateObject(_local1);
i = 1;
while (i <= game.hitVectors.length) {
var _local3 = game["v" + game.hitVectors[i - 1]];
var _local2 = findIntersection(_local1, _local3);
_local2.p0 = new Object();
_local2.p1 = new Object();
_local2.p0.x = _local1.p0.x;
_local2.p0.y = _local1.p0.y;
_local2 = updateVector(_local2, false);
var _local5 = _local1.r - _local2.len;
u = getPointofIntersection(_local1, _local3);
u = updateVector(u, true);
if (u.p1.x != undefined) {
snd_bumper.start();
if (_local3.action.charAt(0) == "*") {
checkAction(_local3.action);
break;
}
var _local4 = findIntersectionStart(_local1, _local3);
_local4.p0 = new Object();
_local4.p1 = new Object();
_local4.p0.x = _local1.p0.x;
_local4.p0.y = _local1.p0.y;
_local4 = updateVector(_local4, false);
var _local7 = _local1.r / _local4.len;
var _local9 = _local1.p0.x + (u.vx * (1 - _local7));
var _local8 = _local1.p0.y + (u.vy * (1 - _local7));
_local1.p1.x = _local9;
_local1.p1.y = _local8;
var _local10 = {dx:_local4.lx, dy:_local4.ly, lx:_local4.dx, ly:_local4.dy, b:_local3.b, f:1};
var _local6 = bounce(_local1, _local10);
_local1.vx = _local6.vx;
_local1.vy = _local6.vy;
addPoints(_local3.points);
checkAction(_local3.action);
} else if (_local5 >= 0) {
if (_local3.action.charAt(0) == "*") {
checkAction(_local3.action);
break;
}
_local1.p1.x = _local1.p1.x + (_local2.dx * _local5);
_local1.p1.y = _local1.p1.y + (_local2.dy * _local5);
var _local10 = {dx:_local2.lx, dy:_local2.ly, lx:_local2.dx, ly:_local2.dy, b:_local3.b, f:1};
var _local6 = bounce(_local1, _local10);
_local1.vx = _local6.vx;
_local1.vy = _local6.vy;
addPoints(_local3.points);
checkAction(_local3.action);
}
i++;
}
_local1.p0 = _local1.p1;
if (tableOverlay_mc.hitTest(_local1.p1.x, _local1.p1.y, true)) {
triggerOutOfBounds(_local1.p1.x, _local1.p1.y);
}
if (_local1.vx > game.maxV) {
_local1.vx = game.maxV;
} else if (_local1.vx < (-game.maxV)) {
_local1.vx = -game.maxV;
}
if (_local1.vy > game.maxV) {
_local1.vy = game.maxV;
} else if (_local1.vy < (-game.maxV)) {
_local1.vy = -game.maxV;
}
drawAll(_local1);
}
function updateVector(v, frompoints) {
if (frompoints) {
v.vx = v.p1.x - v.p0.x;
v.vy = v.p1.y - v.p0.y;
} else {
v.p1.x = v.p0.x + v.vx;
v.p1.y = v.p0.y + v.vy;
}
v.len = Math.sqrt((v.vx * v.vx) + (v.vy * v.vy));
if (v.len > 0) {
v.dx = v.vx / v.len;
v.dy = v.vy / v.len;
} else {
v.dx = 0;
v.dy = 0;
}
v.rx = -v.dy;
v.ry = v.dx;
v.lx = v.dy;
v.ly = -v.dx;
return(v);
}
function updateObject(v) {
var _local2 = getTimer();
var _local3 = (_local2 - v.lastTime) / 100;
v.vy = v.vy + game.gravity;
v.p1 = {};
v.p1.x = v.p0.x + v.vx;
v.p1.y = v.p0.y + v.vy;
v.len = Math.sqrt((v.vx * v.vx) + (v.vy * v.vy));
v.dx = v.vx / v.len;
v.dy = v.vy / v.len;
v.rx = -v.vy;
v.ry = v.vx;
v.lx = v.vy;
v.ly = -v.vx;
v.lastTime = _local2;
v.timeFrame = _local3;
}
function findIntersection(v1, v2) {
var _local2 = {};
_local2.vx = v1.p1.x - v2.p0.x;
_local2.vy = v1.p1.y - v2.p0.y;
var _local6 = (_local2.vx * v2.dx) + (_local2.vy * v2.dy);
if (_local6 < 0) {
var _local5 = _local2;
} else {
var _local3 = {};
_local3.vx = v1.p1.x - v2.p1.x;
_local3.vy = v1.p1.y - v2.p1.y;
_local6 = (_local3.vx * v2.dx) + (_local3.vy * v2.dy);
if (_local6 > 0) {
var _local5 = _local3;
} else {
var _local5 = projectVector(_local2, v2.lx, v2.ly);
}
}
return(_local5);
}
function findIntersectionStart(v1, v2) {
var _local2 = {};
_local2.vx = v1.p0.x - v2.p0.x;
_local2.vy = v1.p0.y - v2.p0.y;
var _local6 = (_local2.vx * v2.dx) + (_local2.vy * v2.dy);
if (_local6 < 0) {
var _local5 = _local2;
} else {
var _local3 = {};
_local3.vx = v1.p0.x - v2.p1.x;
_local3.vy = v1.p0.y - v2.p1.y;
_local6 = (_local3.vx * v2.dx) + (_local3.vy * v2.dy);
if (_local6 > 0) {
var _local5 = _local3;
} else {
var _local5 = projectVector(_local2, v2.lx, v2.ly);
}
}
return(_local5);
}
function bounce(v1, v2) {
var _local5 = projectVector(v1, v2.dx, v2.dy);
var _local1 = projectVector(v1, v2.lx, v2.ly);
var _local4 = {};
_local1.len = Math.sqrt((_local1.vx * _local1.vx) + (_local1.vy * _local1.vy));
_local1.vx = v2.lx * _local1.len;
_local1.vy = v2.ly * _local1.len;
_local4.vx = ((v1.f * v2.f) * _local5.vx) + ((v1.b * v2.b) * _local1.vx);
_local4.vy = ((v1.f * v2.f) * _local5.vy) + ((v1.b * v2.b) * _local1.vy);
return(_local4);
}
function projectVector(v1, dx, dy) {
var _local2 = (v1.vx * dx) + (v1.vy * dy);
var _local1 = {};
_local1.vx = _local2 * dx;
_local1.vy = _local2 * dy;
return(_local1);
}
function dotP(v1, v2) {
var _local1 = (v1.vx * v2.vx) + (v1.vy * v2.vy);
return(_local1);
}
function getPointofIntersection(v1, v2) {
p1 = {};
p2 = {};
p3 = {};
p4 = {};
p1.x = v1.p0.x;
p1.y = v1.p0.y;
p2.x = v1.p1.x;
p2.y = v1.p1.y;
p3.x = v2.p0.x;
p3.y = v2.p0.y;
p4.x = v2.p1.x;
p4.y = v2.p1.y;
var _local3 = ((p4.y - p3.y) * (p2.x - p1.x)) - ((p4.x - p3.x) * (p2.y - p1.y));
var _local1 = new Object();
_local1.p0 = new Object();
_local1.p1 = new Object();
if (_local3 == 0) {
_local1.p0.x = 0;
_local1.p0.y = 0;
_local1.vx = 0;
_local1.vy = 0;
return(_local1);
}
var _local10 = ((p4.x - p3.x) * (p1.y - p3.y)) - ((p4.y - p3.y) * (p1.x - p3.x));
var _local9 = ((p2.x - p1.x) * (p1.y - p3.y)) - ((p2.y - p1.y) * (p1.x - p3.x));
var _local2 = _local10 / _local3;
var _local5 = _local9 / _local3;
if (((_local2 >= 0) && (_local2 < 1)) && ((_local5 >= 0) && (_local5 < 1))) {
var _local8 = p1.x + (_local2 * (p2.x - p1.x));
var _local7 = p1.y + (_local2 * (p2.y - p1.y));
_local1.p0.x = p1.x;
_local1.p0.y = p1.y;
_local1.p1.x = _local8;
_local1.p1.y = _local7;
return(_local1);
}
_local1.p0.x = 0;
_local1.p0.y = 0;
_local1.vx = 0;
_local1.vy = 0;
return(_local1);
}
function checkIfInTriangle(_pointToCheck, _triangleCorner1, _triangleCorner2, _triangleCorner3) {
var _local6 = ((_pointToCheck.y - _triangleCorner1.y) * (_triangleCorner2.x - _triangleCorner1.x)) - ((_pointToCheck.x - _triangleCorner1.x) * (_triangleCorner2.y - _triangleCorner1.y));
var _local7 = ((_pointToCheck.y - _triangleCorner3.y) * (_triangleCorner1.x - _triangleCorner3.x)) - ((_pointToCheck.x - _triangleCorner3.x) * (_triangleCorner1.y - _triangleCorner3.y));
var _local5 = ((_pointToCheck.y - _triangleCorner2.y) * (_triangleCorner3.x - _triangleCorner2.x)) - ((_pointToCheck.x - _triangleCorner2.x) * (_triangleCorner3.y - _triangleCorner2.y));
if (((_local6 * _local5) > 0) && ((_local5 * _local7) > 0)) {
return(true);
}
return(false);
}
new com.ratatouille.view.LocaliseText(this);
var DEBUGMODEON = false;
new com.digitaloutlook.cheats.CheatCode(this, "plug");
new com.digitaloutlook.cheats.CheatCode(this, "gus");
new com.digitaloutlook.cheats.CheatCode(this, "knife");
new com.digitaloutlook.cheats.CheatCode(this, "lights");
game = {dragging:false, clip:_root.game_mc, stageW:360, stageH:610, maxV:28};
game.gravity = 0.5;
game.myOb = {clip:game.clip.ob_mc, airf:0.99, b:0.8, f:1, r:8, lastTime:getTimer()};
game.myOb.p0 = {x:340, y:500};
game.myOb.p1 = {x:340, y:500};
game.myOb.vx = 0;
game.myOb.vy = 0;
game.clip.ob_mc._width = (game.clip.ob_mc._height = game.myOb.r * 2);
game.xOffset = 1;
game.yOffset = -1;
game.hitVectors = new Array();
game.hitGroupArray = new Array();
game.vTotal = 0;
game.key = new Object();
game.key.keyLstate = 0;
game.key.keyRstate = 0;
game.key.keySstate = 0;
game.key.keyDstate = 0;
game.flipper = new Object();
game.plunger = new Object();
game.plunger.vecIndex = new Array();
game.plunger.startY = 0;
game.plunger.maxDist = 50;
game.plunger.currDist = 0;
game.plunger.state = 0;
game.ratchets = new Object();
game.score = 0;
game.highscore = 0;
game.ballState = 1;
game.ballsLeft = 0;
tableOverlay_mc._visible = false;
var ringLightArray = [0, 0, 0, 0, 0, 0, 0, 0, 0];
var ringLightTotal = 0;
var signal_l_LightArray = [0, 0, 0];
var signal_l_LightTotal = 0;
var signal_r_LightArray = [0, 0, 0];
var signal_r_LightTotal = 0;
testArray = [208, 10, 100, 10, 10, 400, 250, 500, 360, 250];
borderArray = [346, 593, 346, 186, 346, 146, 340, 117, 332, 97, 321, 76, 302, 54, 282, 39, 247, 23, 211, 16, 178, 14, 137, 20, 100, 33, 64, 62, 42, 90, 30, 118, 21, 153, 18, 178, 18, 214, 28, 267, 37, 305, 47, 325, 59, 340, 65, 350, 67, 359, 62, 371, 17, 446, 14, 451, 16, 539, 106, 583, 105, 623, 218, 623, 219, 583, 309, 538, 310, 452, 308, 447, 266, 376, 266, 366, 270, 358, 278, 355, 285, 358, 295, 371, 297, 374, 302, 375, 308, 371, 311, 360, 310, 263, 315, 237, 323, 220, 328, 219, 330, 223, 330, 593, 346, 593];
islandTRarray = [253, 73, 255, 67, 264, 56, 274, 57, 296, 82, 313, 120, 319, 152, 317, 179, 308, 207, 296, 235, 284, 257, 275, 272, 268, 277, 259, 275, 283, 228, 250, 217, 229, 261, 219, 254, 225, 245, 223, 234, 214, 226, 205, 228, 197, 234, 190, 228, 193, 217, 203, 211, 226, 199, 249, 184, 261, 169, 271, 146, 275, 123, 272, 103, 264, 86, 255, 76, 253, 73];
islandTLarray = [128, 225, 137, 220, 139, 210, 136, 195, 129, 183, 124, 170, 119, 155, 118, 137, 120, 119, 127, 102, 137, 88, 151, 74, 162, 68, 168, 63, 171, 54, 167, 45, 159, 41, 153, 40, 144, 42, 129, 46, 110, 55, 94, 67, 78, 83, 71, 92, 62, 107, 53, 126, 47, 143, 43, 161, 43, 180, 41, 204, 55, 273, 59, 277, 64, 275, 69, 286, 80, 280, 44, 219, 67, 208, 104, 261, 111, 255, 104, 244, 105, 238, 93, 222, 86, 201, 86, 184, 87, 165, 110, 166, 109, 187, 111, 204, 118, 218, 123, 223, 128, 225];
funnelIslandLarray = [197, 42, 202, 44, 203, 48, 204, 69, 201, 74, 195, 75, 191, 71, 190, 46, 197, 42];
funnelIslandRarray = [228, 51, 234, 54, 234, 80, 232, 84, 226, 85, 222, 80, 222, 55, 228, 51];
bumperLarray = [69, 463, 64, 460, 62, 463, 58, 469, 58, 503, 64, 511, 93, 526, 99, 525, 100, 517];
bumperRarray = [257, 463, 261, 460, 267, 463, 267, 469, 267, 503, 263, 511, 231, 526, 227, 526, 225, 517];
bumperLBounceArray = [69, 463, 100, 517];
bumperRBounceArray = [257, 463, 225, 517];
gutterWallLarray = [34, 456, 34, 525, 107, 558, 107, 553, 39, 521, 39, 458, 34, 456];
gutterWallRarray = [291, 456, 291, 524, 219, 558, 219, 553, 286, 521, 286, 458, 291, 456];
topPot1array = [177, 98, 167, 102, 162, 113, 168, 126, 177, 130, 189, 123, 192, 114, 187, 103, 177, 98];
topPot2array = [235, 108, 224, 112, 219, 122, 225, 136, 236, 140, 247, 134, 250, 125, 244, 111, 235, 108];
topPot3array = [195, 149, 184, 153, 180, 163, 184, 176, 195, 180, 207, 175, 211, 164, 205, 153, 195, 149];
bonusRing1 = [142, 88, 134, 99];
bonusRing2 = [130, 103, 125, 116];
bonusRing3 = [123, 122, 122, 136];
bonusRing4 = [121, 142, 125, 157];
bonusRing5 = [127, 162, 132, 175];
bonusRing6 = [257, 165, 262, 151];
bonusRing7 = [264, 146, 267, 131];
bonusRing8 = [268, 126, 266, 112];
bonusRing9 = [264, 105, 259, 94];
trafficSignal1 = [60, 382, 51, 394];
trafficSignal2 = [49, 399, 41, 411];
trafficSignal3 = [38, 415, 30, 428];
trafficSignal4 = [265, 383, 273, 395];
trafficSignal5 = [276, 400, 284, 413];
trafficSignal6 = [286, 417, 295, 429];
tunnelTrigger = [47, 228, 71, 210];
exhaustTrigger = [248, 228, 272, 236];
passageTrigger = [86, 174, 109, 173];
randomShooter = [295, 373, 309, 366];
randomShooter2 = [213, 229, 225, 239];
ballLostTrigger = [105, 620, 218, 620];
plungerArray = [329, 537, 347, 537];
topChuteTrigger1 = [170, 52, 190, 52];
topChuteTrigger2 = [205, 54, 220, 57];
topChuteTrigger3 = [235, 59, 253, 67];
ratchetTrigger1 = [320, 172, 349, 172];
ratchetTrigger2 = [260, 67, 234, 19];
ratchet1 = [325, 225, 350, 177];
ratchet2 = [264, 30, 262, 64];
flipper1downArray = [99, 555, 101, 561, 146, 579, 148, 576, 105, 552, 99, 555];
flipper2downArray = [227, 555, 226, 561, 180, 579, 179, 576, 220, 552, 227, 555];
flipper1upArray = [99, 558, 104, 564, 147, 540, 146, 538, 101, 554, 99, 558];
flipper2upArray = [227, 558, 222, 564, 178, 540, 180, 538, 225, 554, 228, 558];
var flipper1Corner1 = (new flash.geom.Point(100, 550));
var flipper1Corner2 = (new flash.geom.Point(160, 575));
var flipper1Corner3 = (new flash.geom.Point(160, 520));
var flipper2Corner1 = (new flash.geom.Point(225, 550));
var flipper2Corner2 = (new flash.geom.Point(165, 575));
var flipper2Corner3 = (new flash.geom.Point(165, 520));
defineVectors(borderArray, 1, 1, 0, null);
defineVectors(islandTRarray, 1, 1, 0, null);
defineVectors(islandTLarray, 1, 1, 0, null);
defineVectors(bumperLarray, 1, 1, 0, null);
defineVectors(bumperRarray, 1, 1, 0, null);
defineVectors(funnelIslandLarray, 1, 1, 0, null);
defineVectors(funnelIslandRarray, 1, 1, 0, null);
defineVectors(bumperLBounceArray, 2, 1, 10, "bumper1");
defineVectors(bumperRBounceArray, 2, 1, 10, "bumper2");
defineVectors(gutterWallLarray, 1, 1, 0, null);
defineVectors(gutterWallRarray, 1, 1, 0, null);
defineVectors(topPot1array, 1.5, 1, 5, "pot1");
defineVectors(topPot2array, 1.5, 1, 5, "pot2");
defineVectors(topPot3array, 1.5, 1, 5, "pot3");
defineVectors(bonusRing1, 1.5, 1, 20, "ringLight1");
defineVectors(bonusRing2, 1.5, 1, 20, "ringLight2");
defineVectors(bonusRing3, 1.5, 1, 20, "ringLight3");
defineVectors(bonusRing4, 1.5, 1, 20, "ringLight4");
defineVectors(bonusRing5, 1.5, 1, 20, "ringLight5");
defineVectors(bonusRing6, 1.5, 1, 20, "ringLight6");
defineVectors(bonusRing7, 1.5, 1, 20, "ringLight7");
defineVectors(bonusRing8, 1.5, 1, 20, "ringLight8");
defineVectors(bonusRing9, 1.5, 1, 20, "ringLight9");
defineVectors(trafficSignal1, 1.5, 1, 20, "signalLight1");
defineVectors(trafficSignal2, 1.5, 1, 20, "signalLight2");
defineVectors(trafficSignal3, 1.5, 1, 20, "signalLight3");
defineVectors(trafficSignal4, 1.5, 1, 20, "signalLight4");
defineVectors(trafficSignal5, 1.5, 1, 20, "signalLight5");
defineVectors(trafficSignal6, 1.5, 1, 20, "signalLight6");
defineVectors(tunnelTrigger, 0, 1, 20, "tunnel");
defineVectors(exhaustTrigger, 0, 1, 20, "exhaust");
defineVectors(randomShooter, 0, 1, 100, "randomShooter");
defineVectors(randomShooter2, 0, 1, 100, "randomShooter2");
defineVectors(ballLostTrigger, 0, 1, 0, "ballLost");
defineVectors(passageTrigger, 0, 1, 100, "ballHide");
game.plunger.vecIndex = defineVectors(plungerArray, 0.5, 1, 0, null);
game.ratchets.vecIndex1 = defineVectors(ratchet1, 1, 1, 0, "*");
game.ratchets.vecIndex2 = defineVectors(ratchet2, 1, 1, 0, "*");
defineVectors(ratchetTrigger1, 1, 1, 0, "*ratchet1");
defineVectors(ratchetTrigger2, 1, 1, 0, "*ratchet2");
defineVectors(topChuteTrigger1, 1, 1, 0, "*topChute1");
defineVectors(topChuteTrigger2, 1, 1, 0, "*topChute2");
defineVectors(topChuteTrigger3, 1, 1, 0, "*topChute3");
game.flipper.vec1down = defineVectorsLocal(flipper1downArray, 1, 1, 0, null);
game.flipper.vec2down = defineVectorsLocal(flipper2downArray, 1, 1, 0, null);
game.flipper.vec1up = defineVectorsLocal(flipper1upArray, 1, 1, 0, null);
game.flipper.vec2up = defineVectorsLocal(flipper2upArray, 1, 1, 0, null);
game.flipper.vec1Index = defineVectors(flipper1downArray, 1, 1, 0, null);
game.flipper.vec2Index = defineVectors(flipper2downArray, 1, 1, 0, null);
var debug_showHitzones = false;
if (DEBUGMODEON) {
drawWalls();
}
createHitzones();
game.hitGroupArray = defineHitGroups();
initSounds();
var topChuteArray = new Array(0, 0, 0);
var topChuteDelay = 0;
visitSite_mc.onRelease = function () {
this._parent.visitSite();
};
visitSite = function () {
getURL (_global.gData.game.promoURL.data, "_blank");
};
in_cinemas_txt.htmlText = sReleaseMessage;
mcClose.close_but.onRelease = function () {
_level0.submitTrack("Games+Pinball+Close");
this._parent._parent.closeMe();
};
closeMe = function () {
trace("JOP");
getURL ("javascript:window.close();");
};
Frame 44
stop();
Symbol 20 MovieClip [hitChecker_dupe] Frame 1
stop();
Symbol 22 MovieClip [logo_mc] Frame 1
#initclip 17
Object.registerClass("logo_mc", com.ratatouille.view.Logo);
#endinitclip
Symbol 27 MovieClip [VideoPlayer] Frame 1
#initclip 15
Object.registerClass("VideoPlayer", mx.video.VideoPlayer);
#endinitclip
Symbol 31 MovieClip [FLVPlayback] Frame 1
#initclip 16
Object.registerClass("FLVPlayback", mx.video.FLVPlayback);
#endinitclip
stop();
Symbol 249 MovieClip [__Packages.com.digitaloutlook.XMLParser] Frame 0
class com.digitaloutlook.XMLParser extends XML
{
var timeline, xmlPath, ignoreWhite, onLoad, load, firstChild;
function XMLParser (tLine) {
super();
timeline = tLine;
}
function setXmlPath(path) {
xmlPath = path;
}
function parse() {
ignoreWhite = true;
onLoad = parseLocalData;
load(xmlPath);
}
function parseLocalData(success) {
if (success) {
var _local2 = firstChild;
chooseAction(_local2, 0);
} else {
trace("failed to load xml");
}
timeline.run(gLocal);
}
function chooseAction(ndata, obj) {
if (checkList(ndata)) {
createArray(ndata, obj);
} else {
createObjects(ndata, obj);
}
}
function createObjects(ndata, obj) {
var _local7 = ndata.childNodes.length;
var _local6 = false;
var _local5 = 0;
while (_local5 < _local7) {
var _local3 = ndata.childNodes[_local5];
var _local2 = _local3.nodeName;
if (obj != 0) {
if (!obj[_local2]) {
obj[_local2] = new Object();
}
} else {
_local6 = true;
if (!gLocal[_local2]) {
gLocal[_local2] = new Object();
}
}
if (_local3.firstChild.hasChildNodes()) {
if (_local6) {
assignAttributes(_local3, gLocal[_local2]);
chooseAction(_local3, gLocal[_local2]);
} else {
assignAttributes(_local3, obj[_local2]);
chooseAction(_local3, obj[_local2]);
}
} else if (_local6) {
gLocal[_local2].data = _local3.firstChild.nodeValue;
assignAttributes(_local3, gLocal[_local2]);
} else {
obj[_local2].data = _local3.firstChild.nodeValue;
assignAttributes(_local3, obj[_local2]);
}
_local5++;
}
}
function assignAttributes(nodeData, obj) {
var _local2 = nodeData.attributes;
if (nodeData.attributes) {
for (var _local4 in _local2) {
obj[_local4] = nodeData.attributes[_local4];
}
}
}
function checkList(ndata) {
var _local1 = ndata.childNodes[0];
var _local2 = ndata.childNodes[1];
var _local3 = _local1.nodeName;
if (_local3 == _local2.nodeName) {
return(true);
}
}
function createArray(ndata, obj) {
var _local7 = ndata.childNodes.length;
var _local6 = ndata.childNodes[0].nodeName;
obj[_local6] = new Array();
var _local4 = 0;
while (_local4 < _local7) {
var _local3 = ndata.childNodes[_local4];
var _local2 = new Object();
assignArrayAttributes(_local3, _local2);
if (_local3.firstChild.hasChildNodes()) {
assignArrayNodes(_local3, _local2);
} else {
_local2.data = ndata.firstChild.firstChild;
}
obj[_local6].push(_local2);
_local4++;
}
}
function assignArrayAttributes(ndata, obj) {
var _local2 = ndata.attributes;
if (ndata.attributes) {
for (var _local4 in _local2) {
obj[_local4] = ndata.attributes[_local4];
}
}
return(obj);
}
function assignArrayNodes(ndata, obj) {
if (ndata.childNodes.length > 0) {
var _local3 = 0;
while (_local3 < ndata.childNodes.length) {
var _local2 = ndata.childNodes[_local3];
var _local6 = _local2.nodeName;
obj[_local6] = new Object();
assignArrayAttributes(_local2, obj[_local6]);
if (_local2.firstChild.hasChildNodes()) {
assignArrayNodes(_local2, obj[_local6]);
} else {
obj[_local6].data = _local2.firstChild.nodeValue;
}
_local3++;
}
} else {
var _local6 = ndata.firstChild.nodeName;
obj[_local6] = new Object();
assignArrayAttributes(ndata, obj[_local6]);
if (ndata.firstChild.childNodes.length > 1) {
assignArrayNodes(ndata.firstChild, obj[_local6]);
} else {
obj[_local6].data = ndata.firstChild.firstChild;
}
}
return(obj);
}
var gLocal = new Object();
}
Symbol 250 MovieClip [__Packages.com.ratatouille.view.Logo] Frame 0
class com.ratatouille.view.Logo extends MovieClip
{
var mcImage;
function Logo () {
super();
}
function onLoad() {
mcImage._x = 10000;
mcImage.loadMovie(_level0.cid + "/images/logo.png");
var me = this;
trace("calling me");
var nInt = setInterval(function () {
if (me.mcImage._height > 0) {
me.fCentre();
clearInterval(nInt);
trace("cleared interval");
}
}, 10);
trace("setting logo text to : " + _global.gData.frontpage.txt_gamename.data);
}
function fCentre() {
mcImage._x = (-mcImage._width) / 2;
mcImage._y = (-mcImage._height) / 2;
}
}
Symbol 251 MovieClip [__Packages.com.digitaloutlook.cheats.CheatCode] Frame 0
class com.digitaloutlook.cheats.CheatCode
{
var master, sUnlockString, nTimeOutID, sCurrentString;
function CheatCode (_mstr, _unlockstring) {
master = _mstr;
sUnlockString = _unlockstring;
resetString();
Key.addListener(this);
}
function resetString() {
clearInterval(nTimeOutID);
sCurrentString = "";
}
function onKeyUp() {
clearInterval(nTimeOutID);
sCurrentString = sCurrentString + chr(Key.getAscii());
if (sUnlockString.substring(0, sCurrentString.length) == sCurrentString) {
if (sCurrentString == sUnlockString) {
master.cheatEntered(sUnlockString);
resetString();
}
} else {
resetString();
}
nTimeOutID = setInterval(this, "resetString", 1000);
}
}
Symbol 252 MovieClip [__Packages.com.ratatouille.view.LocaliseText] Frame 0
class com.ratatouille.view.LocaliseText
{
function LocaliseText (mcContainer) {
if (mcContainer == undefined) {
trace("ERROR: LOCALISETEXT.as Container not defined");
} else {
for (var _local3 in mcContainer) {
if (mcContainer[_local3].textHeight != undefined) {
if (_global.gData.game[mcContainer[_local3]._name].data != undefined) {
mcContainer[_local3].htmlText = _global.gData.game[mcContainer[_local3]._name].data;
}
}
}
}
}
}
Symbol 23 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, _prevHeight, __height, _height, _origWidth, _prevWidth, __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 = (_prevHeight = (__height = _height));
_origWidth = (_prevWidth = (__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);
}
_prevWidth = (__width = w);
_prevHeight = (__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});
_prevWidth = __width;
_prevHeight = __height;
} 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 == undefined) || (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 == undefined)) || (_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 == undefined) || (_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) || (_local3.name == undefined)) || (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) && (_uiMgr != undefined)) {
_bufferingBar = _uiMgr.getControl(mx.video.UIManager.BUFFERING_BAR);
}
return(_bufferingBar);
}
function set bufferingBar(s) {
_bufferingBar = s;
if ((_uiMgr != null) && (_uiMgr != undefined)) {
_uiMgr.setControl(mx.video.UIManager.BUFFERING_BAR, s);
}
//return(bufferingBar);
}
function get bufferingBarHidesAndDisablesOthers() {
if ((_uiMgr != null) && (_uiMgr != undefined)) {
_bufferingBarHides = _uiMgr.bufferingBarHidesAndDisablesOthers;
}
return(_bufferingBarHides);
}
function set bufferingBarHidesAndDisablesOthers(b) {
_bufferingBarHides = b;
if ((_uiMgr != null) && (_uiMgr != undefined)) {
_uiMgr.__set__bufferingBarHidesAndDisablesOthers(b);
}
//return(bufferingBarHidesAndDisablesOthers);
}
function get backButton() {
if ((_uiMgr != null) && (_uiMgr != undefined)) {
_backButton = _uiMgr.getControl(mx.video.UIManager.BACK_BUTTON);
}
return(_backButton);
}
function set backButton(s) {
_backButton = s;
if ((_uiMgr != null) && (_uiMgr != undefined)) {
_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) && (_uiMgr != undefined)) {
_forwardButton = _uiMgr.getControl(mx.video.UIManager.FORWARD_BUTTON);
}
return(_forwardButton);
}
function set forwardButton(s) {
_forwardButton = s;
if ((_uiMgr != null) && (_uiMgr != undefined)) {
_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) && (_uiMgr != undefined)) {
_muteButton = _uiMgr.getControl(mx.video.UIManager.MUTE_BUTTON);
}
return(_muteButton);
}
function set muteButton(s) {
_muteButton = s;
if ((_uiMgr != null) && (_uiMgr != undefined)) {
_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) && (_uiMgr != undefined)) {
_pauseButton = _uiMgr.getControl(mx.video.UIManager.PAUSE_BUTTON);
}
return(_pauseButton);
}
function set pauseButton(s) {
_pauseButton = s;
if ((_uiMgr != null) && (_uiMgr != undefined)) {
_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) && (_uiMgr != undefined)) {
_playButton = _uiMgr.getControl(mx.video.UIManager.PLAY_BUTTON);
}
return(_playButton);
}
function set playButton(s) {
_playButton = s;
if ((_uiMgr != null) && (_uiMgr != undefined)) {
_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) && (_uiMgr != undefined)) {
_playPauseButton = _uiMgr.getControl(mx.video.UIManager.PLAY_PAUSE_BUTTON);
}
return(_playPauseButton);
}
function set playPauseButton(s) {
_playPauseButton = s;
if ((_uiMgr != null) && (_uiMgr != undefined)) {
_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) && (_uiMgr != undefined)) {
_seekBar = _uiMgr.getControl(mx.video.UIManager.SEEK_BAR);
}
return(_seekBar);
}
function set seekBar(s) {
_seekBar = s;
if ((_uiMgr != null) && (_uiMgr != undefined)) {
_uiMgr.setControl(mx.video.UIManager.SEEK_BAR, s);
}
//return(seekBar);
}
function get seekBarInterval() {
if ((_uiMgr != null) && (_uiMgr != undefined)) {
_seekBarInterval = _uiMgr.seekBarInterval;
}
return(_seekBarInterval);
}
function set seekBarInterval(s) {
_seekBarInterval = s;
if ((_uiMgr != null) && (_uiMgr != undefined)) {
_uiMgr.__set__seekBarInterval(_seekBarInterval);
}
//return(seekBarInterval);
}
function get seekBarScrubTolerance() {
if ((_uiMgr != null) && (_uiMgr != undefined)) {
_seekBarScrubTolerance = _uiMgr.seekBarScrubTolerance;
}
return(_seekBarScrubTolerance);
}
function set seekBarScrubTolerance(s) {
_seekBarScrubTolerance = s;
if ((_uiMgr != null) && (_uiMgr != undefined)) {
_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) && (_uiMgr != undefined)) {
_skin = _uiMgr.skin;
}
return(_skin);
}
function set skin(s) {
_skin = s;
if ((_uiMgr != null) && (_uiMgr != undefined)) {
_uiMgr.__set__skin(s);
}
//return(skin);
}
function get skinAutoHide() {
if ((_uiMgr != null) && (_uiMgr != undefined)) {
_skinAutoHide = _uiMgr.skinAutoHide;
}
return(_skinAutoHide);
}
function set skinAutoHide(b) {
if (_global.isLivePreview) {
return;
}
_skinAutoHide = b;
if ((_uiMgr != null) && (_uiMgr != undefined)) {
_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) && (_uiMgr != undefined)) {
_stopButton = _uiMgr.getControl(mx.video.UIManager.STOP_BUTTON);
}
return(_stopButton);
}
function set stopButton(s) {
_stopButton = s;
if ((_uiMgr != null) && (_uiMgr != undefined)) {
_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 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 _local2 = _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(_local2);
_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(_local2);
_firstStreamReady = true;
showFirstStream();
}
if ((_vp[_local2].height != _vp[_visibleVP].height) || (_vp[_local2].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) && (_uiMgr != undefined)) {
_volumeBar = _uiMgr.getControl(mx.video.UIManager.VOLUME_BAR);
}
return(_volumeBar);
}
function set volumeBar(s) {
_volumeBar = s;
if ((_uiMgr != null) && (_uiMgr != undefined)) {
_uiMgr.setControl(mx.video.UIManager.VOLUME_BAR, s);
}
//return(volumeBar);
}
function get volumeBarInterval() {
if ((_uiMgr != null) && (_uiMgr != undefined)) {
_volumeBarInterval = _uiMgr.volumeBarInterval;
}
return(_volumeBarInterval);
}
function set volumeBarInterval(s) {
_volumeBarInterval = s;
if ((_uiMgr != null) && (_uiMgr != undefined)) {
_uiMgr.__set__volumeBarInterval(_volumeBarInterval);
}
//return(volumeBarInterval);
}
function get volumeBarScrubTolerance() {
if ((_uiMgr != null) && (_uiMgr != undefined)) {
_volumeBarScrubTolerance = _uiMgr.volumeBarScrubTolerance;
}
return(_volumeBarScrubTolerance);
}
function set volumeBarScrubTolerance(s) {
_volumeBarScrubTolerance = s;
if ((_uiMgr != null) && (_uiMgr != undefined)) {
_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 != undefined) && (_backButton != null)) {
_uiMgr.setControl(mx.video.UIManager.BACK_BUTTON, _backButton);
}
if ((_bufferingBar != undefined) && (_bufferingBar != null)) {
_uiMgr.setControl(mx.video.UIManager.BUFFERING_BAR, _bufferingBar);
}
_uiMgr.__set__bufferingBarHidesAndDisablesOthers(_bufferingBarHides);
if ((_forwardButton != undefined) && (_forwardButton != null)) {
_uiMgr.setControl(mx.video.UIManager.FORWARD_BUTTON, _forwardButton);
}
if ((_pauseButton != undefined) && (_pauseButton != null)) {
_uiMgr.setControl(mx.video.UIManager.PAUSE_BUTTON, _pauseButton);
}
if ((_playButton != undefined) && (_playButton != null)) {
_uiMgr.setControl(mx.video.UIManager.PLAY_BUTTON, _playButton);
}
if ((_playPauseButton != undefined) && (_playPauseButton != null)) {
_uiMgr.setControl(mx.video.UIManager.PLAY_PAUSE_BUTTON, _playPauseButton);
}
if ((_stopButton != undefined) && (_stopButton != null)) {
_uiMgr.setControl(mx.video.UIManager.STOP_BUTTON, _stopButton);
}
if ((_seekBar != undefined) && (_seekBar != null)) {
_uiMgr.setControl(mx.video.UIManager.SEEK_BAR, _seekBar);
}
if ((_seekBarInterval != undefined) && (_seekBarInterval != null)) {
_uiMgr.__set__seekBarInterval(_seekBarInterval);
}
if ((_seekBarScrubTolerance != undefined) && (_seekBarScrubTolerance != null)) {
_uiMgr.__set__seekBarScrubTolerance(_seekBarScrubTolerance);
}
if ((_skin != undefined) && (_skin != null)) {
_uiMgr.__set__skin(_skin);
}
if ((_skinAutoHide != undefined) && (_skinAutoHide != null)) {
_uiMgr.__set__skinAutoHide(_skinAutoHide);
}
if ((_muteButton != undefined) && (_muteButton != null)) {
_uiMgr.setControl(mx.video.UIManager.MUTE_BUTTON, _muteButton);
}
if ((_volumeBar != undefined) && (_volumeBar != null)) {
_uiMgr.setControl(mx.video.UIManager.VOLUME_BAR, _volumeBar);
}
if ((_volumeBarInterval != undefined) && (_volumeBarInterval != null)) {
_uiMgr.__set__volumeBarInterval(_volumeBarInterval);
}
if ((_volumeBarScrubTolerance != undefined) && (_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 == undefined) || (_contentPath == null)) || (_contentPath == "")) {
_uiMgr.__set__visible(true);
}
dispatchEvent({type:"skinLoaded"});
}
static var version = "1.0.0.103";
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 32 MovieClip [__Packages.mx.video.VideoPlayer] Frame 0
class mx.video.VideoPlayer extends MovieClip
{
var _state, _cachedState, _bufferState, _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;
_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) && (url != undefined)) {
if (_state == EXEC_QUEUED_CMD) {
_state = _cachedState;
} else {
if (!stateResponsive) {
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 == undefined)) || (_ncMgr.getNetConnection() == null)) || (_ncMgr.getNetConnection() == undefined)) {
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) || (_ns == undefined)) {
_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) || (url == undefined)) {
throw new Error("null url sent to VideoPlayer.load");
}
if (_state == EXEC_QUEUED_CMD) {
_state = _cachedState;
} else {
if (!stateResponsive) {
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;
_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) || (_ncMgr == undefined)) {
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 == undefined)) || (_ncMgr.getNetConnection() == null)) || (_ncMgr.getNetConnection() == undefined)) {
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)) || (_ns == undefined)) {
return(undefined);
}
_pause(true);
setState(PAUSED);
}
function stop() {
if (!isXnOK()) {
if (((((_state == CONNECTION_ERROR) || (_ncMgr == null)) || (_ncMgr == undefined)) || (_ncMgr.getNetConnection() == null)) || (_ncMgr.getNetConnection() == undefined)) {
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)) || (_ns == undefined)) {
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 == undefined)) || (_ncMgr.getNetConnection() == null)) || (_ncMgr.getNetConnection() == undefined)) {
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) || (_ns == undefined)) {
_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 != undefined)) && (_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) || (_ns == undefined)) ? (_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) || (_ncMgr == undefined)) {
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) || (_ns == undefined)) || (_ncMgr.isRTMP())) {
return(-1);
}
return(_ns.bytesLoaded);
}
function get bytesTotal() {
if (((_ns == null) || (_ns == undefined)) || (_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 != undefined)) {
_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) || (_ncMgr == undefined)) {
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) || (_ns == undefined)) {
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 :
if ((_bufferState == BUFFER_EMPTY) || (_bufferTime <= 0.1)) {
_cachedPlayheadTime = playheadTime;
clearInterval(_rtmpDoStopAtEndIntervalID);
_rtmpDoStopAtEndIntervalID = setInterval(this, "rtmpDoStopAtEnd", RTMP_DO_STOP_AT_END_INTERVAL);
} else {
if (_bufferState != BUFFER_FULL) {
break;
}
_bufferState = BUFFER_FULL_SAW_PLAY_STOP;
}
}
break;
case "NetStream.Buffer.Empty" :
switch (_bufferState) {
case BUFFER_FULL_SAW_PLAY_STOP :
rtmpDoStopAtEnd(true);
break;
case BUFFER_FULL :
if (_state == PLAYING) {
setState(BUFFERING);
}
break;
}
_bufferState = BUFFER_EMPTY;
break;
case "NetStream.Buffer.Flush" :
case "NetStream.Buffer.Full" :
if (_sawSeekNotify && (_state == SEEKING)) {
_bufferState = BUFFER_EMPTY;
setStateFromCachedState();
doUpdateTime();
}
switch (_bufferState) {
case BUFFER_EMPTY :
if (!_hiddenForResize) {
if (((_state == LOADING) && (_cachedState == PLAYING)) || (_state == BUFFERING)) {
setState(PLAYING);
} else if (_cachedState == BUFFERING) {
_cachedState = PLAYING;
}
}
_bufferState = BUFFER_FULL;
break;
default :
}
break;
case "NetStream.Pause.Notify" :
if ((_state == RESIZING) && (_hiddenForResize)) {
finishAutoResize();
}
break;
case "NetStream.Play.Start" :
clearInterval(_rtmpDoStopAtEndIntervalID);
_rtmpDoStopAtEndIntervalID = 0;
_bufferState = BUFFER_EMPTY;
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" :
if (!_ncMgr.connectAgain()) {
setState(CONNECTION_ERROR);
}
break;
case "NetStream.Play.Failed" :
case "NetStream.Failed" :
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 PLAYING :
case BUFFERING :
case SEEKING :
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" :
setState(CONNECTION_ERROR);
}
}
function ncConnected() {
if ((((_ncMgr == null) || (_ncMgr == undefined)) || (_ncMgr.getNetConnection() == null)) || (_ncMgr.getNetConnection() == undefined)) {
setState(CONNECTION_ERROR);
} else {
_createStream();
_setUpStream();
}
}
function ncReconnected() {
if ((((_ncMgr == null) || (_ncMgr == undefined)) || (_ncMgr.getNetConnection() == null)) || (_ncMgr.getNetConnection() == undefined)) {
setState(CONNECTION_ERROR);
} else {
_ns = null;
_state = STOPPED;
execQueuedCmds();
}
}
function onMetaData(info) {
if (_metadata != null) {
return(undefined);
}
_metadata = info;
if (((_streamLength == undefined) || (_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;
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 == undefined)) {
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;
_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 == undefined) || (_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) {
_ns.pause(doPause);
}
function _play() {
_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) {
if ((_metadata.audiodelay != undefined) && ((time + _metadata.audiodelay) < _streamLength)) {
time = time + _metadata.audiodelay;
}
_ns.seek(time);
_invalidSeekTime = false;
_bufferState = BUFFER_EMPTY;
_sawSeekNotify = false;
}
function isXnOK() {
if (_state == LOADING) {
return(true);
}
if (_state == CONNECTION_ERROR) {
return(false);
}
if (_state != DISCONNECTED) {
if (((((_ncMgr == null) || (_ncMgr == undefined)) || (_ncMgr.getNetConnection() == null)) || (_ncMgr.getNetConnection() == undefined)) || (!_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)) || (_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 {
_hiddenForResize = true;
_hiddenForResizeMetadataDelay = 0;
__visible = _visible;
_visible = false;
_volume = _sound.getVolume();
_sound.setVolume(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) && (_cmdQueue[0].url != undefined)) || ((_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:false, time:time});
}
static var version = "1.0.0.103";
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_FULL_SAW_PLAY_STOP = "bufferFullSawPlayStop";
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 33 MovieClip [__Packages.mx.video.INCManager] Frame 0
interface mx.video.INCManager
{
}
Symbol 34 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 35 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.0.103";
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 36 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 == undefined) || (_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.seekBarHandle_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();
}
ctrl[type + "_mc"] = ctrl._parent.attachMovie(ctrl[type + "LinkageID"], type + "_mc", _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);
}
}
}
}
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, SEEK_BAR_HANDLE);
_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, VOLUME_BAR_HANDLE);
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].progress_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() {
var _local2 = _vc.getVideoPlayer(_vc.__get__visibleVideoPlayerIndex());
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.0.103";
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 37 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 38 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 = url;
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 {
baseURLAttr = new Array();
videoTags = new Array();
var _local4 = xml.firstChild;
if (_local4.nodeName == null) {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, ("URL: \"" + _url) + "\" No root node found; if file is an flv it must have .flv extension");
} else if (_local4.nodeName.toLowerCase() != "smil") {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, (("URL: \"" + _url) + "\" Root node not smil: ") + _local4.nodeName);
}
var _local5 = false;
var _local3 = 0;
while (_local3 < _local4.childNodes.length) {
var _local2 = _local4.childNodes[_local3];
if (_local2.nodeType != ELEMENT_NODE) {
} else if (_local2.nodeName.toLowerCase() == "head") {
parseHead(_local2);
} else if (_local2.nodeName.toLowerCase() == "body") {
_local5 = true;
parseBody(_local2);
} else {
throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, ((((("URL: \"" + _url) + "\" Tag ") + _local2.nodeName) + " not supported in ") + _local4.nodeName) + " tag.");
}
_local3++;
}
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 _local4 = 0;
while (_local4 < parentNode.childNodes.length) {
var _local5 = parentNode.childNodes[_local4];
if (_local5.nodeType != ELEMENT_NODE) {
} else if ((_local5.nodeName.toLowerCase() == "video") || (_local5.nodeName.toLowerCase() == "ref")) {
var _local3 = parseVideo(_local5);
if (_local3.bitrate == undefined) {
videoTags.push(_local3);
} else {
var _local6 = false;
var _local2 = 0;
while (_local2 < videoTags.length) {
if ((videoTags[_local2].bitrate == undefined) || (_local3.bitrate < videoTags[_local4].bitrate)) {
_local6 = true;
videoTags.splice(_local2, 0, videoTags);
break;
}
_local2++;
}
if (!_local6) {
videoTags.push(_local3);
}
}
}
_local4++;
}
}
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 = Number(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);
}
static var version = "1.0.0.103";
static var ELEMENT_NODE = 1;
}
Symbol 39 MovieClip [__Packages.mx.video.NCManager] Frame 0
class mx.video.NCManager implements mx.video.INCManager
{
var _timeoutIntervalId, _tryNCIntervalId, _timeout, _isRTMP, _serverName, _wrappedURL, _portNumber, _appName, _contentPath, _streamName, _streamLength, _streamWidth, _streamHeight, _streams, _autoSenseBW, _payload, _connTypeCounter, _bitrate, _owner, _nc, _protocol, _smilMgr, _ncUri, fallbackServerName, _tryNC;
function NCManager () {
initNCInfo();
initOtherInfo();
_timeoutIntervalId = 0;
_tryNCIntervalId = 0;
_timeout = DEFAULT_TIMEOUT;
}
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;
_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 == undefined)) || (_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 _local3 = 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(",") != -1;
return(_local3 || (connectRTMP()));
}
if (_local2.streamName.slice(-4).toLowerCase() == ".flv") {
var _local3 = canReuseOldConnection(_local2);
_isRTMP = false;
_streamName = _local2.streamName;
return(_local3 || (connectHTTP()));
}
_smilMgr = new mx.video.SMILManager(this);
return(_smilMgr.connectXML(_local2.streamName));
}
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;
_owner.ncReconnected();
}
function close() {
if (_nc) {
_nc.close();
}
}
function helperDone(helper, success) {
if (helper != _smilMgr) {
return(undefined);
}
if (!success) {
_nc = undefined;
_owner.ncConnected();
delete _smilMgr;
return(undefined);
}
_streamWidth = _smilMgr.width;
_streamHeight = _smilMgr.height;
var _local2;
var _local4 = _smilMgr.baseURLAttr[0];
if ((_local4 != undefined) && (_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 == "")) {
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;
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 ((((_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 (_autoSenseBW) {
bitrateMatch();
}
connectHTTP();
_owner.ncConnected();
}
}
function bitrateMatch() {
var _local3;
if (isNaN(_bitrate)) {
_local3 = 0;
} else {
var _local2 = 0;
while (_local2 < _streams.length) {
if (isNaN(_streams[_local2].bitrate) || (_bitrate <= _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;
}
_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.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.server != undefined) {
_local2.wrappedURL = _local2.wrappedURL + "/";
_local2.wrappedURL = _local2.wrappedURL + _local6.server;
}
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);
return(_local2);
}
_local2.appName = _local2.appName + "/";
_local2.appName = _local2.appName + url.slice(_local3, _local4);
_local3 = _local4 + 1;
_local2.streamName = url.slice(_local3);
} else {
_local2.isRTMP = false;
_local2.streamName = url;
}
return(_local2);
}
function canReuseOldConnection(parseResults) {
if ((_nc == undefined) || (_nc == null)) {
return(false);
}
if (!parseResults.isRTMP) {
if (!_isRTMP) {
return(true);
}
_owner.close();
_nc = null;
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 = null;
}
initNCInfo();
return(false);
}
function connectHTTP() {
_nc = new NetConnection();
_nc.connect(null);
return(true);
}
function connectRTMP() {
clearInterval(_timeoutIntervalId);
_timeoutIntervalId = setInterval(this, "_onFCSConnectTimeOut", _timeout);
_tryNC = new Array();
var _local2 = 0;
while (_local2 < RTMP_CONN.length) {
_tryNC[_local2] = new NetConnection();
_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 nextConnect() {
clearInterval(_tryNCIntervalId);
_tryNCIntervalId = 0;
var _local4;
var _local3;
if (_connTypeCounter == 0) {
_local4 = _protocol;
if (_portNumber != undefined) {
_local3 = _portNumber;
} else {
var _local2 = 0;
while (_local2 < RTMP_CONN.length) {
if (_local4 == RTMP_CONN[_local2].protocol) {
_local3 = RTMP_CONN[_local2].port;
break;
}
_local2++;
}
}
} else {
_local4 = RTMP_CONN[_connTypeCounter].protocol;
_local3 = RTMP_CONN[_connTypeCounter].port;
}
var _local5 = ((_local4 + ((_serverName == undefined) ? "" : (((("/" + _serverName) + ":") + _local3) + "/"))) + ((_wrappedURL == undefined) ? "" : (_wrappedURL + "/"))) + _appName;
_tryNC[_connTypeCounter].pending = true;
_tryNC[_connTypeCounter].connect(_local5, _autoSenseBW);
if (_connTypeCounter < (RTMP_CONN.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;
_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;
if (_autoSenseBW) {
_bitrate = p_bw * 1024;
if (_streams != undefined) {
bitrateMatch();
} else if (_streamName.indexOf(",") != -1) {
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.Failed") || (info.code == "NetConnection.Connect.Rejected")) && (target.connIndex == (RTMP_CONN.length - 1))) {
if (!connectAgain()) {
tryFallBack();
}
}
}
function reconnectOnStatus(target, info) {
if ((info.code == "NetConnection.Connect.Failed") || (info.code == "NetConnection.Connect.Rejected")) {
delete _nc;
_nc = undefined;
_owner.ncReconnected();
}
}
function disconnectOnStatus(target, info) {
if (info.code == "NetConnection.Connect.Success") {
delete target.onStatus;
target.close();
}
}
function getStreamLengthResult(length) {
_streamLength = length;
_owner.ncConnected();
}
function _onFCSConnectTimeOut() {
cleanConns();
_nc = undefined;
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.0.103";
var DEFAULT_TIMEOUT = 60000;
static var RTMP_CONN = [{protocol:"rtmp:/", port:"1935"}, {protocol:"rtmp:/", port:"443"}, {protocol:"rtmpt:/", port:"80"}, {protocol:"rtmps:/", port:"443"}];
}
Symbol 40 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 == undefined) || (_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 == undefined)) || (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 == undefined)) || (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 == undefined)) || (asCuePoints.length < 1)) {
return(null);
}
var _local3;
switch (typeof(timeNameOrCuePoint)) {
case "string" :
_local3 = {name:timeNameOrCuePoint};
break;
case "number" :
_local3 = {time:timeNameOrCuePoint};
break;
case "object" :
_local3 = timeNameOrCuePoint;
}
var _local2 = getCuePointIndex(asCuePoints, false, _local3.time, _local3.name);
if (_local2 < 0) {
return(null);
}
_local3 = asCuePoints[_local2];
asCuePoints.splice(_local2, 1);
_local2 = getCuePointIndex(allCuePoints, false, _local3.time, _local3.name);
if (_local2 > 0) {
allCuePoints.splice(_local2, 1);
}
if (_owner.getVideoPlayer(_id).__get__playheadTime() > 0) {
if (_asCuePointIndex > _local2) {
_asCuePointIndex--;
}
} else {
_asCuePointIndex = 0;
}
return(_local3);
}
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 == undefined) || (_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] == undefined) {
if (!enabled) {
if (((_disabledCuePointsByNameOnly == null) || (_disabledCuePointsByNameOnly == undefined)) || (_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 ? 1 : -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 == undefined) || (_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)) && (asCuePoints != undefined)) {
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)) || (asCuePoints == undefined)) {
_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 == undefined) || (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 != undefined) {
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] != undefined) || ((_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 == undefined)) || (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;
delete _disabledCuePointsByNameOnly;
_disabledCuePointsByNameOnly = null;
}
function processCuePointsProperty(cuePoints) {
if (((cuePoints == undefined) || (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] == undefined) || (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 == undefined)) || (cuePointArray.length < 1)) {
return(-1);
}
var _local13 = isNaN(time) || (time < 0);
var _local16 = (name == undefined) || (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 == undefined) || (start == null)) {
start = 0;
}
if ((len == undefined) || (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 == undefined) || (name == null)) {
throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "name cannot be undefined or null");
}
if ((array == null) || (array == undefined)) {
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 _local2 = Math.round(time * 1000);
var _local3 = Math.round(cuePoint.time * 1000);
if (_local2 < _local3) {
return(-1);
}
if (_local2 > _local3) {
return(1);
}
if ((name != null) || (name != undefined)) {
if (name == cuePoint.name) {
return(0);
}
if (name < cuePoint.name) {
return(-1);
}
return(1);
}
return(0);
}
function getCuePoint(cuePointArray, closeIsOK, timeNameOrCuePoint) {
var _local3;
switch (typeof(timeNameOrCuePoint)) {
case "string" :
_local3 = {name:timeNameOrCuePoint};
break;
case "number" :
_local3 = {time:timeNameOrCuePoint};
break;
case "object" :
_local3 = timeNameOrCuePoint;
}
var _local2 = getCuePointIndex(cuePointArray, closeIsOK, _local3.time, _local3.name);
if (_local2 < 0) {
return(null);
}
_local3 = deepCopyObject(cuePointArray[_local2]);
_local3.array = cuePointArray;
_local3.index = _local2;
return(_local3);
}
function getNextCuePointWithName(cuePoint) {
if ((cuePoint == null) || (cuePoint == undefined)) {
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 == undefined) || (obj == null)) || (typeof(obj) != "object")) {
return(obj);
}
if (recurseLevel == undefined) {
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 49 MovieClip Frame 1
in_cinemas_txt.htmlText = this._parent.sReleaseMessage;
Symbol 58 Button
on (release) {
_level0.submitTrack("Games+Pinball+Skip");
play();
}
Instance of Symbol 72 MovieClip in Symbol 73 MovieClip Frame 1
onClipEvent (enterFrame) {
this._x = this._x + 1.5;
if (this._x > 465) {
this._x = 240;
}
}
Instance of Symbol 72 MovieClip in Symbol 73 MovieClip Frame 1
onClipEvent (enterFrame) {
this._x = this._x + 1;
if (this._x > 465) {
this._x = 240;
}
}
Instance of Symbol 72 MovieClip in Symbol 73 MovieClip Frame 1
onClipEvent (enterFrame) {
this._x = this._x + 0.5;
if (this._x > 465) {
this._x = 240;
}
}
Instance of Symbol 72 MovieClip in Symbol 73 MovieClip Frame 1
onClipEvent (enterFrame) {
this._x = this._x + 0.8;
if (this._x > 465) {
this._x = 240;
}
}
Instance of Symbol 72 MovieClip in Symbol 73 MovieClip Frame 1
onClipEvent (enterFrame) {
this._x = this._x - 1.5;
if (this._x < 240) {
this._x = 465;
}
}
Instance of Symbol 72 MovieClip in Symbol 73 MovieClip Frame 1
onClipEvent (enterFrame) {
this._x = this._x - 0.8;
if (this._x < 240) {
this._x = 465;
}
}
Instance of Symbol 72 MovieClip in Symbol 73 MovieClip Frame 1
onClipEvent (enterFrame) {
this._x = this._x - 1;
if (this._x < 240) {
this._x = 465;
}
}
Instance of Symbol 72 MovieClip in Symbol 73 MovieClip Frame 1
onClipEvent (enterFrame) {
this._x = this._x - 0.5;
if (this._x < 240) {
this._x = 465;
}
}
Symbol 73 MovieClip Frame 82
stop();
Symbol 81 MovieClip Frame 1
stop();
Symbol 81 MovieClip Frame 2
_parent.light_o_5_mc.gotoAndPlay("flash");
Symbol 81 MovieClip Frame 47
_parent.light_o_5_mc.gotoAndStop("off");
_parent.finishRandomShooter();
Symbol 86 MovieClip Frame 1
stop();
Symbol 86 MovieClip Frame 34
_parent.finishRandomShooter2();
Symbol 94 MovieClip Frame 1
stop();
Symbol 94 MovieClip Frame 2
_parent.light_o_4_mc.gotoAndPlay("flash");
Symbol 94 MovieClip Frame 89
_parent.light_o_4_mc.gotoAndStop("off");
if (Math.random() < 0.5) {
_parent.finishTunnelShooter();
} else {
_parent.finishExhaustShooter();
}
Symbol 100 MovieClip Frame 2
var randomNum = (Math.floor(Math.random() * 150) + 1);
if (randomNum == 1) {
this.gotoAndPlay(3);
} else {
this.gotoAndPlay(1);
}
Symbol 102 MovieClip Frame 1
stop();
Symbol 105 MovieClip Frame 1
stop();
Symbol 108 MovieClip Frame 1
stop();
Symbol 112 MovieClip Frame 1
stop();
Symbol 118 MovieClip Frame 1
stop();
Symbol 118 MovieClip Frame 7
gotoAndPlay ("flash");
Symbol 118 MovieClip Frame 15
gotoAndStop ("on");
Symbol 118 MovieClip Frame 23
gotoAndStop ("off");
Symbol 118 MovieClip Frame 27
gotoAndStop ("off");
Symbol 122 MovieClip Frame 1
stop();
Symbol 122 MovieClip Frame 9
gotoAndPlay ("flash");
Symbol 122 MovieClip Frame 17
gotoAndStop ("on");
Symbol 122 MovieClip Frame 25
gotoAndStop ("off");
Symbol 122 MovieClip Frame 29
gotoAndStop ("off");
Symbol 127 MovieClip Frame 1
stop();
Symbol 127 MovieClip Frame 7
gotoAndPlay ("flash");
Symbol 127 MovieClip Frame 15
gotoAndStop ("on");
Symbol 127 MovieClip Frame 23
gotoAndStop ("off");
Symbol 127 MovieClip Frame 27
gotoAndStop ("off");
Symbol 129 MovieClip Frame 1
stop();
Symbol 130 MovieClip Frame 1
stop();
Symbol 130 MovieClip Frame 53
this._parent.resetRingLight();
Symbol 133 MovieClip Frame 1
stop();
Symbol 133 MovieClip Frame 10
stop();
Symbol 136 MovieClip Frame 1
stop();
var myTimer = ((getTimer() + (Math.random() * 3000)) + 0.5);
this.onEnterFrame = function () {
if (_parent.idleActive) {
if (getTimer() > myTimer) {
myTimer = myTimer + ((Math.random() * 3000) + 0.5);
gotoAndPlay ("onToOff");
}
}
};
Symbol 136 MovieClip Frame 7
gotoAndPlay ("flash");
Symbol 136 MovieClip Frame 15
gotoAndStop ("on");
Symbol 136 MovieClip Frame 23
gotoAndStop ("off");
Symbol 136 MovieClip Frame 27
gotoAndStop ("off");
Symbol 137 MovieClip Frame 1
function activate() {
idleActive = true;
this.onEnterFrame = mainLoop;
i = 1;
while (i <= seqTotal) {
this[("seq" + i) + "Counter"] = 0;
this[("seq" + i) + "Light"] = 0;
this[("seq" + i) + "Target"] = this[("seq" + i) + "Array"][this[("seq" + i) + "Light"]];
i++;
}
}
function deactivate() {
idleActive = false;
delete this.onEnterFrame;
}
function mainLoop() {
i = 1;
while (i <= seqTotal) {
this[("seq" + i) + "Counter"]++;
if (this[("seq" + i) + "Counter"] == this[("seq" + i) + "Target"]) {
_parent[this[("seq" + i) + "Array"][(this[("seq" + i) + "Light"] * 2) + 1]].gotoAndPlay("onToOff");
this[("seq" + i) + "Counter"] = -1;
this[("seq" + i) + "Light"] = (this[("seq" + i) + "Light"] + 1) % (this[("seq" + i) + "Array"].length / 2);
this[("seq" + i) + "Target"] = this[("seq" + i) + "Array"][this[("seq" + i) + "Light"] * 2];
}
i++;
}
}
var seqTotal = 3;
var idleActive = true;
var seq1Array = [2, "light_wheel1_mc", 2, "light_wheel2_mc", 2, "light_wheel3_mc", 2, "light_wheel4_mc", 2, "light_wheel5_mc", 2, "light_wheel6_mc", 2, "light_wheel7_mc", 2, "light_wheel8_mc", 2, "light_wheel9_mc", 2, "light_wheel8_mc", 2, "light_wheel7_mc", 2, "light_wheel6_mc", 2, "light_wheel5_mc", 2, "light_wheel4_mc", 2, "light_wheel3_mc", 2, "light_wheel2_mc"];
var seq1Counter;
var seq1Light;
var seq1Target;
var seq2Array = [2, "light_signal1", 2, "light_signal4", 2, "light_signal2", 2, "light_signal5", 2, "light_signal3", 2, "light_signal6"];
var seq2Counter;
var seq2Light;
var seq2Target;
var seq3Array = [3, "light_chute1_mc", 3, "light_chute2_mc", 3, "light_chute3_mc", 3, "light_bumper1_mc", 3, "light_bumper2_mc", 3, "light_o_5_mc", 3, "light_o_4_mc"];
var seq3Counter;
var seq3Light;
var seq3Target;
activate();
Symbol 148 MovieClip Frame 1
stop();
Symbol 149 MovieClip Frame 1
stop();
Symbol 181 MovieClip Frame 1
stop();
Symbol 181 MovieClip Frame 70
_parent.finishExhaust();
Symbol 194 MovieClip Frame 1
stop();
Symbol 194 MovieClip Frame 100
_parent.finishTunnel();
Symbol 197 MovieClip Frame 1
stop();
Symbol 198 MovieClip Frame 1
stop();
Symbol 198 MovieClip Frame 2
_parent.light_o_4_mc.gotoAndPlay("flash");
Symbol 198 MovieClip Frame 89
_parent.light_o_4_mc.gotoAndStop("off");
_parent.finishOutOfBounds();
Symbol 206 Button
on (release) {
gotoAndStop ("off");
}
Symbol 209 Button
on (release) {
gotoAndStop ("on");
}
Symbol 210 MovieClip Frame 2
stop();
mystate = 1;
_parent.soundVolume(100);
Symbol 210 MovieClip Frame 3
stop();
mystate = 0;
_parent.soundVolume(0);
Symbol 218 MovieClip Frame 1
stop();
Symbol 232 MovieClip Frame 1
stop();
Symbol 232 MovieClip Frame 3
gotoAndStop (1);
Symbol 237 MovieClip Frame 1
stop();
Symbol 237 MovieClip Frame 3
gotoAndStop (1);
Symbol 244 Button
on (release) {
gotoAndStop ("instructions");
}
Symbol 248 MovieClip Frame 1
stop();
new com.ratatouille.view.LocaliseText(this);
titletext_mc.btnText.myText.htmlText = _global.gData.game.txtFldIntroTitle.data;
instructButText_mc.btnText.myText.htmlText = _global.gData.game.txtFldInstructions.data;
playButText_mc.btnText.myText.htmlText = _global.gData.game.txtFldPlay.data;
playButText_mc.onRollOver = function () {
this.sGrad._alpha = 100;
};
playButText_mc.onRollOut = (playButText_mc.onReleaseOutside = function () {
this.sGrad._alpha = 0;
});
playButText_mc.onRelease = function () {
if (_global.gData.game.txtFldReplay.data.indexOf(this.btnText.myText.text) != -1) {
_level0.submitTrack("Games+Pinball+Restart");
} else {
_level0.submitTrack("Games+Pinball+Play");
}
this.btnText.myText.htmlText = _global.gData.game.txtFldReplay.data;
_parent.initNewGame();
};
Symbol 248 MovieClip Frame 5
stop();
new com.ratatouille.view.LocaliseText(this);
titletext_mc.btnText.myText.htmlText = _global.gData.game.txtFldInstructions.data;
backButText_mc.btnText.myText.htmlText = _global.gData.game.txtFldBack.data;
backButText_mc.onRollOver = function () {
this.sGrad._alpha = 100;
};
backButText_mc.onRollOut = (backButText_mc.onReleaseOutside = function () {
this.sGrad._alpha = 0;
});
backButText_mc.onRelease = function () {
gotoAndStop ("intro");
};
Symbol 248 MovieClip Frame 15
stop();
new com.ratatouille.view.LocaliseText(this);
titletext_mc.btnText.myText.htmlText = _global.gData.game.txtFldGameTitle.data;
scoretext_mc.btnText.myText.htmlText = _parent.game.score;
playButText_mc.btnText.myText.htmlText = _global.gData.game.txtFldPlay.data;
if (_parent.game.score < 1000) {
_level0.submitTrack("Games+Pinball+less+1000");
feedbacktxtField.htmlText = _global.gData.game.txtFldGameBody1.data;
} else if ((_parent.game.score >= 1000) && (_parent.game.score < 2000)) {
_level0.submitTrack("Games+Pinball+less+2000");
feedbacktxtField.htmlText = _global.gData.game.txtFldGameBody2.data;
} else {
_level0.submitTrack("Games+Pinball+more+2000");
feedbacktxtField.htmlText = _global.gData.game.txtFldGameBody3.data;
}
playButText_mc.onRollOver = function () {
this.sGrad._alpha = 100;
};
playButText_mc.onRollOut = (playButText_mc.onReleaseOutside = function () {
this.sGrad._alpha = 0;
});
playButText_mc.onRelease = function () {
gotoAndStop ("intro");
_level0.submitTrack("Games+Pinball+Play");
_parent.initNewGame();
};