Section 1
//background_52 (bubblemaster_gold_fla.background_52)
package bubblemaster_gold_fla {
import flash.display.*;
public dynamic class background_52 extends MovieClip {
public var AGlogo:MovieClip;
public var hsBtn:MovieClip;
public var levelBtn:MovieClip;
public function background_52(){
addFrameScript(0, frame1);
}
function frame1(){
new reflector(AGlogo);
}
}
}//package bubblemaster_gold_fla
Section 2
//bCounter_68 (bubblemaster_gold_fla.bCounter_68)
package bubblemaster_gold_fla {
import flash.display.*;
public dynamic class bCounter_68 extends MovieClip {
public var count:MovieClip;
public function bCounter_68(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package bubblemaster_gold_fla
Section 3
//bCounter_count_69 (bubblemaster_gold_fla.bCounter_count_69)
package bubblemaster_gold_fla {
import flash.display.*;
import flash.text.*;
public dynamic class bCounter_count_69 extends MovieClip {
public var bg:MovieClip;
public var countText:TextField;
public function bCounter_count_69(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package bubblemaster_gold_fla
Section 4
//bonusClip_66 (bubblemaster_gold_fla.bonusClip_66)
package bubblemaster_gold_fla {
import flash.display.*;
public dynamic class bonusClip_66 extends MovieClip {
public var bonusTitle:MovieClip;
public function bonusClip_66(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package bubblemaster_gold_fla
Section 5
//hscorefieldBtn_54 (bubblemaster_gold_fla.hscorefieldBtn_54)
package bubblemaster_gold_fla {
import flash.display.*;
import flash.text.*;
public dynamic class hscorefieldBtn_54 extends MovieClip {
public var hsText:TextField;
public var hsNum:TextField;
public function hscorefieldBtn_54(){
addFrameScript(0, frame1);
}
function frame1(){
hsText.visible = false;
}
}
}//package bubblemaster_gold_fla
Section 6
//hsMedal_spinner_blade_3 (bubblemaster_gold_fla.hsMedal_spinner_blade_3)
package bubblemaster_gold_fla {
import flash.events.*;
import flash.display.*;
import flash.net.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.external.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class hsMedal_spinner_blade_3 extends MovieClip {
public var ss:Number;
public var rs:Boolean;
public var bn:Number;
public var bd:Boolean;
public var sd:Boolean;
public var rd:Number;
public var b;
public var sn:Number;
public function hsMedal_spinner_blade_3(){
addFrameScript(0, frame1);
}
public function stretch(_arg1:Event):void{
if (Math.random() < 0.01){
rs = !(rs);
rd = (1 + (Math.random() * 4));
} else {
rotation = (rotation + (rs) ? rd : -(rd));
};
if (sd){
if (scaleX < sn){
scaleX = (scaleX + ss);
} else {
sd = !(sd);
sn = (1 - (Math.random() * 0.5));
};
};
if (!sd){
if (scaleX > sn){
scaleX = (scaleX - ss);
} else {
sd = !(sd);
sn = (1 + (Math.random() * 0.25));
};
};
if (bd){
if (b.blurX < bn){
b.blurX = (b.blurX + 0.1);
b.blurY = (b.blurY + 0.1);
} else {
bd = !(bd);
bn = 0;
};
};
if (!bd){
if (b.blurX > bn){
b.blurX = (b.blurX - 0.1);
b.blurY = (b.blurY - 0.1);
} else {
bd = !(bd);
bn = (1 + Math.round((Math.random() * 11)));
};
};
filters = [b];
}
function frame1(){
sd = true;
sn = ((Math.random())<0.5) ? (1 - (Math.random() * 0.25)) : (1 + (Math.random() * 0.25));
ss = 0.01;
rs = true;
rd = (1 + (Math.random() * 4));
b = new BlurFilter(1, 1);
bd = true;
bn = (1 + Math.round((Math.random() * 11)));
filters = [b];
addEventListener(Event.ENTER_FRAME, stretch);
}
}
}//package bubblemaster_gold_fla
Section 7
//level_bbar_bg_8 (bubblemaster_gold_fla.level_bbar_bg_8)
package bubblemaster_gold_fla {
import flash.display.*;
public dynamic class level_bbar_bg_8 extends MovieClip {
public function level_bbar_bg_8(){
addFrameScript(0, frame1, 5, frame6, 19, frame20);
}
function frame6(){
stop();
}
function frame20(){
gotoAndPlay("flash");
}
function frame1(){
stop();
}
}
}//package bubblemaster_gold_fla
Section 8
//level_goBtn_9 (bubblemaster_gold_fla.level_goBtn_9)
package bubblemaster_gold_fla {
import flash.display.*;
public dynamic class level_goBtn_9 extends MovieClip {
public function level_goBtn_9(){
addFrameScript(0, frame1, 5, frame6, 19, frame20);
}
function frame6(){
stop();
}
function frame20(){
gotoAndPlay("flash");
}
function frame1(){
stop();
}
}
}//package bubblemaster_gold_fla
Section 9
//level_tbar_bg_7 (bubblemaster_gold_fla.level_tbar_bg_7)
package bubblemaster_gold_fla {
import flash.display.*;
public dynamic class level_tbar_bg_7 extends MovieClip {
public function level_tbar_bg_7(){
addFrameScript(0, frame1, 5, frame6, 19, frame20);
}
function frame6(){
stop();
}
function frame20(){
gotoAndPlay("flash");
}
function frame1(){
stop();
}
}
}//package bubblemaster_gold_fla
Section 10
//levelfieldBtn_53 (bubblemaster_gold_fla.levelfieldBtn_53)
package bubblemaster_gold_fla {
import flash.display.*;
import flash.text.*;
public dynamic class levelfieldBtn_53 extends MovieClip {
public var levelNum:TextField;
public var bubbleNum:TextField;
public function levelfieldBtn_53(){
addFrameScript(0, frame1);
}
function frame1(){
bubbleNum.visible = false;
}
}
}//package bubblemaster_gold_fla
Section 11
//muteBtn_81 (bubblemaster_gold_fla.muteBtn_81)
package bubblemaster_gold_fla {
import flash.display.*;
public dynamic class muteBtn_81 extends MovieClip {
public var chrome:MovieClip;
public function muteBtn_81(){
addFrameScript(0, frame1, 5, frame6, 10, frame11);
}
function frame1(){
stop();
}
function frame6(){
stop();
}
function frame11(){
stop();
}
}
}//package bubblemaster_gold_fla
Section 12
//muteBtn_chrome_82 (bubblemaster_gold_fla.muteBtn_chrome_82)
package bubblemaster_gold_fla {
import flash.display.*;
public dynamic class muteBtn_chrome_82 extends MovieClip {
public function muteBtn_chrome_82(){
addFrameScript(0, frame1, 5, frame6);
}
function frame6(){
stop();
}
function frame1(){
stop();
}
}
}//package bubblemaster_gold_fla
Section 13
//pauseBtn_83 (bubblemaster_gold_fla.pauseBtn_83)
package bubblemaster_gold_fla {
import flash.display.*;
public dynamic class pauseBtn_83 extends MovieClip {
public var chrome:MovieClip;
public function pauseBtn_83(){
addFrameScript(0, frame1, 5, frame6, 10, frame11);
}
function frame1(){
stop();
}
function frame6(){
stop();
}
function frame11(){
stop();
}
}
}//package bubblemaster_gold_fla
Section 14
//pauseBtn_chrome_84 (bubblemaster_gold_fla.pauseBtn_chrome_84)
package bubblemaster_gold_fla {
import flash.display.*;
public dynamic class pauseBtn_chrome_84 extends MovieClip {
public function pauseBtn_chrome_84(){
addFrameScript(0, frame1, 5, frame6);
}
function frame6(){
stop();
}
function frame1(){
stop();
}
}
}//package bubblemaster_gold_fla
Section 15
//start_cbar_bg_18 (bubblemaster_gold_fla.start_cbar_bg_18)
package bubblemaster_gold_fla {
import flash.display.*;
public dynamic class start_cbar_bg_18 extends MovieClip {
public function start_cbar_bg_18(){
addFrameScript(0, frame1, 5, frame6, 19, frame20);
}
function frame6(){
stop();
}
function frame20(){
gotoAndPlay("flash");
}
function frame1(){
stop();
}
}
}//package bubblemaster_gold_fla
Section 16
//start_credits_20 (bubblemaster_gold_fla.start_credits_20)
package bubblemaster_gold_fla {
import flash.events.*;
import flash.display.*;
public dynamic class start_credits_20 extends MovieClip {
public var prevBtn:SimpleButton;
public var nextBtn:SimpleButton;
public var menuBtn:SimpleButton;
public function start_credits_20(){
addFrameScript(0, frame1);
}
public function advance(_arg1:MouseEvent):void{
if (currentFrame < totalFrames){
nextFrame();
};
}
public function retreat(_arg1:MouseEvent):void{
if (currentFrame > 1){
prevFrame();
};
}
function frame1(){
nextBtn.addEventListener(MouseEvent.CLICK, advance);
prevBtn.addEventListener(MouseEvent.CLICK, retreat);
}
}
}//package bubblemaster_gold_fla
Section 17
//start_ibar_bg_15 (bubblemaster_gold_fla.start_ibar_bg_15)
package bubblemaster_gold_fla {
import flash.display.*;
public dynamic class start_ibar_bg_15 extends MovieClip {
public function start_ibar_bg_15(){
addFrameScript(0, frame1, 5, frame6, 19, frame20);
}
function frame6(){
stop();
}
function frame20(){
gotoAndPlay("flash");
}
function frame1(){
stop();
}
}
}//package bubblemaster_gold_fla
Section 18
//start_instructions_32 (bubblemaster_gold_fla.start_instructions_32)
package bubblemaster_gold_fla {
import flash.events.*;
import flash.display.*;
public dynamic class start_instructions_32 extends MovieClip {
public var prevBtn:SimpleButton;
public var nextBtn:SimpleButton;
public var menuBtn:SimpleButton;
public function start_instructions_32(){
addFrameScript(0, frame1);
}
public function advance(_arg1:MouseEvent):void{
if (currentFrame < totalFrames){
nextFrame();
};
}
public function retreat(_arg1:MouseEvent):void{
if (currentFrame > 1){
prevFrame();
};
}
function frame1(){
nextBtn.addEventListener(MouseEvent.CLICK, advance);
prevBtn.addEventListener(MouseEvent.CLICK, retreat);
}
}
}//package bubblemaster_gold_fla
Section 19
//twistyIris_90 (bubblemaster_gold_fla.twistyIris_90)
package bubblemaster_gold_fla {
import flash.events.*;
import flash.display.*;
import flash.net.*;
import flash.geom.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
import flash.external.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class twistyIris_90 extends MovieClip {
public var p;
public var pos;
public function twistyIris_90(){
addFrameScript(0, frame1);
}
function frame1(){
p = y;
pos = [(p + 2), (p + 1), p, (p - 1), (p - 2)];
addEventListener(Event.ENTER_FRAME, look);
}
public function look(_arg1:Event):void{
var _local2:* = new Point(x, y);
_local2 = parent.localToGlobal(_local2);
var _local3:* = ((Math.atan2((stage.mouseY - _local2.y), (stage.mouseX - _local2.x)) * 180) / Math.PI);
if (_local3 < -90){
_local3 = -90;
};
if (_local3 > 0){
_local3 = 0;
};
y = pos[Math.abs(Math.floor((_local3 / 22.5)))];
}
}
}//package bubblemaster_gold_fla
Section 20
//TwistyTurtle_88 (bubblemaster_gold_fla.TwistyTurtle_88)
package bubblemaster_gold_fla {
import flash.display.*;
public dynamic class TwistyTurtle_88 extends MovieClip {
public function TwistyTurtle_88(){
addFrameScript(13, frame14);
}
function frame14(){
gotoAndPlay("bop");
}
}
}//package bubblemaster_gold_fla
Section 21
//ActionSource (com.omniture.ActionSource)
package com.omniture {
import flash.events.*;
import flash.display.*;
import flash.net.*;
import flash.utils.*;
import flash.external.*;
import flash.system.*;
public dynamic class ActionSource extends Sprite {
private var _useExternalVariables:Boolean;// = false
private var onLoadTracked:Boolean;// = false
public var account:String;
public var _movie:Object;
private var delayTrackingInterval:Number;
public var movieID:String;
public var debugTracking:Boolean;// = false
public var flashASVersion:Number;// = 3
private var _moduleMediaVariables:Object;
public var pageURL:String;
public var otherVariables:Object;
private var requestNum:Number;
public var dc:String;
public var visitorNamespace:String;
private var trackCalled:Boolean;// = false
public var mobile:Boolean;
public var flashVersion:Number;
public var trackingServerBase:String;
private var bufferTrackInterval:Number;// = 0
private var _trackOnLoad:Boolean;// = false
public var version:String;
public var trackingServer:String;
public var ClickMap:ActionSource_Module_ClickMap;
public var autoTrack:Boolean;
public var trackLocal:Boolean;// = true
private var bufferTrackQueue:Array;
public var trackingServerSecure:String;
private var flashRoot:Object;
private var accountConfigList:Array;
public var lastRequest:String;
public var trackClickMap:Boolean;
private var flashLivePreview:Boolean;// = false
public var charSet:String;
private var _configURL:String;
public var delayTracking:Number;
private var configXML:ActionSource_XML;
private var accountVarList:Array;
private var trackOnLoadInterval:Number;
public var pageName:String;
private var _root:Object;
private var requiredVarList:Array;
private var delayTrackingStage:Number;
public var requestList:Array;
public var Media:ActionSource_Module_Media;
private var externalVariables:Object;
public function ActionSource(){
var _local1:Object;
var _local2:Number;
var _local3:String;
var _local4:Array;
flashASVersion = 3;
flashLivePreview = false;
trackLocal = true;
debugTracking = false;
_useExternalVariables = false;
_trackOnLoad = false;
onLoadTracked = false;
bufferTrackInterval = 0;
trackCalled = false;
super();
_local1 = this;
_local1.version = "FAS-2.7";
_local3 = getVersion();
_local4 = _local3.split(" ");
_local1.flashVersion = parseInt(_local4[1].substr(0, 1));
_local1.initPre();
_local1.requestNum = 0;
_local1.requestList = new Array();
_local1.lastRequest = "";
_local1.requiredVarList = ["dynamicVariablePrefix", "visitorID", "vmk", "visitorMigrationKey", "visitorMigrationServer", "visitorMigrationServerSecure", "charSet", "visitorNamespace", "cookieDomainPeriods", "cookieLifetime", "pageName", "pageURL", "referrer", "currencyCode"];
_local1.accountVarList = ["purchaseID", "variableProvider", "channel", "server", "pageType", "transactionID", "campaign", "state", "zip", "events", "products", "tnt"];
_local2 = (_local1.requiredVarList.length - 1);
while (_local2 >= 0) {
_local1.accountVarList.unshift(_local1.requiredVarList[_local2]);
_local2--;
};
_local2 = 1;
while (_local2 <= 50) {
_local1.accountVarList.push(("prop" + _local2));
_local1.accountVarList.push(("eVar" + _local2));
_local1.accountVarList.push(("hier" + _local2));
_local1.accountVarList.push(("list" + _local2));
_local2++;
};
_local1.accountVarList.push("pe");
_local1.accountVarList.push("pev1");
_local1.accountVarList.push("pev2");
_local1.accountVarList.push("pev3");
_local1.requiredVarList.push("pe");
_local1.requiredVarList.push("pev1");
_local1.requiredVarList.push("pev2");
_local1.requiredVarList.push("pev3");
_local1.accountConfigList = ["account", "configURL", "linkObject", "linkURL", "linkName", "linkType", "trackDownloadLinks", "trackExternalLinks", "trackClickMap", "linkLeaveQueryString", "linkTrackVars", "linkTrackEvents", "trackingServer", "trackingServerSecure", "dc", "movieID", "autoTrack", "delayTracking", "trackLocal", "debugTracking"];
_local1.modulesInit();
_local1.setupInterval(_local1, "setVariableCallHandler", 1000, null);
_local1.initPost();
}
public function clearVars(){
var _local1:Object;
var _local2:Number;
var _local3:String;
_local1 = this;
_local2 = 0;
while (_local2 < accountVarList.length) {
_local3 = _local1.accountVarList[_local2];
if ((((((((((((((((((((((((_local3.substr(0, 4) == "prop")) || ((_local3.substr(0, 4) == "eVar")))) || ((_local3.substr(0, 4) == "hier")))) || ((_local3.substr(0, 4) == "list")))) || ((_local3 == "channel")))) || ((_local3 == "events")))) || ((_local3 == "purchaseID")))) || ((_local3 == "transactionID")))) || ((_local3 == "products")))) || ((_local3 == "state")))) || ((_local3 == "zip")))) || ((_local3 == "campaign")))){
_local1[_local3] = undefined;
};
_local2++;
};
}
private function updateExternalVariables(){
var _local1:Object;
var _local2:String;
var _local3:Array;
var _local4:Number;
var _local5:Array;
var _local6:String;
var _local7:Object;
var _local8:String;
var _local9:String;
var _local10:Object;
_local1 = this;
_local6 = "";
_local1.externalVariables = new Object();
_local2 = _local1.getMovieClipURL(_local1);
if (_local1.isSet(_local2)){
_local3 = _local2.split("?");
_local6 = (_local6 + ("&" + _local3[1]));
};
if (_local1.isSet(_local1, "parent")){
_local2 = _local1.getMovieClipURL(_local1.parent);
if (_local1.isSet(_local2)){
_local3 = _local2.split("?");
_local6 = (_local6 + ("&" + _local3[1]));
};
} else {
if (_local1.isSet(_local1, "_parent")){
_local2 = _local1.getMovieClipURL(_local1._parent);
if (_local1.isSet(_local2)){
_local3 = _local2.split("?");
_local6 = (_local6 + ("&" + _local3[1]));
};
};
};
if (_local1.isSet(_local1.movie)){
_local2 = _local1.getMovieClipURL(_local1.movie);
if (_local1.isSet(_local2)){
_local3 = _local2.split("?");
_local6 = (_local6 + ("&" + _local3[1]));
};
};
if (_local1.isSet(_local6)){
_local3 = _local6.split("&");
_local4 = 0;
while (_local4 < _local3.length) {
_local5 = _local3[_local4].split("=");
_local8 = _local5[0];
if ((((_local8.substr(0, 2) == "s_")) || ((_local8.substr(0, 2) == "s.")))){
_local8 = _local8.substr(2);
_local9 = unescape(_local5[1]);
_local1.externalVariables[_local8] = _local9;
};
_local4++;
};
};
if (_local1.isSet(_local1.movie)){
_local7 = _local1.movie;
if (_local1.flashASVersion >= 3){
if (((_local1.isSet(_local1.movie, "loaderInfo")) && (_local1.isSet(_local1.movie.loaderInfo, "parameters")))){
_local7 = _local1.movie.loaderInfo.parameters;
};
};
for (_local8 in _local7) {
if ((((((_local8.substr(0, 2) == "s_")) || ((_local8.substr(0, 2) == "s.")))) && ((((typeof(_local7[_local8]) == "string")) || ((typeof(_local7[_local8]) == "boolean")))))){
_local9 = _local7[_local8];
_local8 = _local8.substr(2);
_local1.externalVariables[_local8] = _local9;
};
};
};
if (_local1.isSet(_local1.useExternalVariables)){
_local1.variableOverridesApply(_local1.externalVariables);
};
}
private function flushRequestList(){
var _local1:Object;
var _local2:String;
var _local3:Array;
var _local4:Number;
_local1 = this;
while (_local1.requestNum < _local1.requestList.length) {
if (_local1.isSet(_local1.debugTracking)){
_local2 = ("ActionSource Debug: " + _local1.requestList[_local1.requestNum]);
_local3 = _local1.requestList[_local1.requestNum].split("&");
_local4 = 0;
while (_local4 < _local3.length) {
_local2 = (_local2 + ("\n\t" + unescape(_local3[_local4])));
_local4++;
};
_local1.logDebug(_local2);
};
_local1.requestURL(_local1.requestList[_local1.requestNum]);
_local1.lastRequest = _local1.requestList[_local1.requestNum];
_local1.requestNum++;
};
}
private function bufferRequest(_arg1:String, _arg2:String, _arg3:String){
var _local4:Object;
var _local5:Object;
var _local6:Object;
var _local7:Number;
var _local8:Number;
_local4 = this;
_local5 = _local4.getBufferedRequests();
if (_local4.isSet(_local5)){
if (!_local4.isSet(_local5.data)){
_local5.data = new Object();
};
if (!_local4.isSet(_local5.data.list)){
_local5.data.list = new Array();
};
_local8 = -1;
_local7 = 0;
while (_local7 < _local5.data.list.length) {
if (_local5.data.list[_local7].id == _arg2){
_local5.data.list[_local7].request = _arg3;
_arg3 = "";
} else {
if (!_local4.isSet(_local5.data.list[_local7].id)){
_local8 = _local7;
};
};
_local7++;
};
if (_local4.isSet(_arg3)){
_local6 = new Object();
_local6.account = _arg1;
_local6.id = _arg2;
_local6.request = _arg3;
if (_local8 >= 0){
_local5.data.list[_local8] = _local6;
} else {
_local5.data.list.push(_local6);
};
};
_local5.flush();
};
}
private function variableOverridesBuild(_arg1:Object, _arg2:Boolean){
var _local3:Object;
var _local4:Number;
var _local5:String;
_local3 = this;
_local4 = 0;
while (_local4 < _local3.accountVarList.length) {
_local5 = _local3.accountVarList[_local4];
if (!_local3.isSet(_arg1[_local5])){
_arg1[_local5] = _local3[_local5];
if (((!(_arg2)) && (!(_local3.isSet(_arg1[_local5]))))){
_arg1[("!" + _local5)] = 1;
};
};
_local4++;
};
_local4 = 0;
while (_local4 < _local3.accountConfigList.length) {
_local5 = _local3.accountConfigList[_local4];
if (!_local3.isSet(_arg1[_local5])){
_arg1[_local5] = _local3[_local5];
if (((!(_arg2)) && (!(_local3.isSet(_arg1[_local5]))))){
_arg1[("!" + _local5)] = 1;
};
};
_local4++;
};
}
public function set useExternalVariables(_arg1:Boolean){
this._useExternalVariables = _arg1;
if (this.isSet(this._useExternalVariables)){
this.updateExternalVariables();
};
}
private function requestURL(_arg1){
var _local2:URLRequest;
_local2 = new URLRequest(_arg1);
sendToURL(_local2);
}
public function setupInterval(_arg1:Object, _arg2:String, _arg3:Number, _arg4){
if (_arg4 != null){
return (setInterval(_arg1[_arg2], _arg3, _arg4));
};
return (setInterval(_arg1[_arg2], _arg3));
}
private function _trackLink(_arg1, _arg2:String, _arg3:String, _arg4:Object){
var _local5:Object;
var _local6:String;
_local5 = this;
if (((_local5.isSet(_arg1)) && ((typeof(_arg1) == "string")))){
_local6 = _arg1;
_arg1 = new Object();
_arg1.url = _local6;
};
_local5.linkObject = _arg1;
_local5.linkType = _arg2;
_local5.linkName = _arg3;
_local5.track(_arg4);
}
public function set movie(_arg1:Object){
var _local2:Object;
var _local3:String;
_local2 = this;
_local2._movie = _arg1;
if (!_local2.flashLivePreview){
_local3 = _local2.getMovieURL();
_local2.ssl = (_local3.toLowerCase().substr(0, 6) == "https:");
if (_local2.isSet(_local2._movie)){
if (_local2.flashASVersion < 3){
_local2._movie.s_s = this;
};
_local2.updateExternalVariables();
_local2.modulesUpdate();
};
};
}
private function queryStringLinkTracking():String{
var _local1:Object;
var _local2:String;
var _local3:String;
var _local4:String;
var _local5:Number;
var _local6:Number;
var _local7:String;
var _local8:String;
var _local9:Number;
_local1 = this;
_local2 = _local1.linkType;
_local3 = _local1.linkURL;
_local4 = _local1.linkName;
_local8 = "";
if (((!(_local1.isSet(_local3))) && (_local1.isSet(_local1.linkObject)))){
if (_local1.isSet(_local1.linkObject, "url")){
_local3 = _local1.linkObject.url;
} else {
if (_local1.isSet(_local1.linkObject, "URL")){
_local3 = _local1.linkObject.URL;
} else {
if (_local1.isSet(_local1.linkObject, "href")){
_local3 = _local1.linkObject.href;
} else {
if (_local1.isSet(_local1.linkObject, "HREF")){
_local3 = _local1.linkObject.HREF;
} else {
if (_local1.isSet(_local1.linkObject, "htmlText")){
_local5 = _local1.linkObject.htmlText.toLowerCase().indexOf("href=");
if (_local5 >= 0){
_local5 = (_local5 + 5);
_local7 = _local1.linkObject.htmlText.substr(_local5, 1);
if ((((_local7 == "\"")) || ((_local7 == "'")))){
_local5++;
_local6 = _local1.linkObject.htmlText.toLowerCase().indexOf(_local7, _local5);
if (_local6 >= 0){
--_local6;
if (_local6 > _local5){
_local3 = _local1.linkObject.htmlText.substr(_local5, ((_local6 - _local5) + 1));
};
};
};
};
};
};
};
};
};
};
if (((_local1.isSet(_local2)) && (((_local1.isSet(_local3)) || (_local1.isSet(_local4)))))){
_local2 = _local2.toLowerCase();
if (((!((_local2 == "d"))) && (!((_local2 == "e"))))){
_local2 = "o";
};
if (((_local1.isSet(_local3)) && (!(_local1.isSet(_local1.linkLeaveQueryString))))){
_local9 = _local3.indexOf("?");
if (_local9 >= 0){
_local3 = _local3.substr(0, _local9);
};
};
_local8 = (_local8 + ("&pe=lnk_" + escape(_local2)));
_local8 = (_local8 + (_local1.isSet(_local3)) ? ("&pev1=" + escape(_local3)) : "");
_local8 = (_local8 + (_local1.isSet(_local4)) ? ("&pev2=" + escape(_local4)) : "");
};
return (_local8);
}
private function _track(_arg1:Object, _arg2:String){
var _local3:Object;
var _local4:Boolean;
var _local5:Object;
var _local6:Date;
var _local7:Number;
var _local8:String;
var _local9:String;
var _local10:String;
var _local11:Number;
var _local12:String;
_local3 = this;
_local6 = new Date();
_local7 = Math.floor((Math.random() * 10000000000000));
_local8 = (("s" + (Math.floor((_local6.getTime() / 10800000)) % 10)) + _local7);
_local9 = ((((((((((((((("" + _local6.getDate()) + "/") + _local6.getMonth()) + "/") + _local6.getFullYear()) + " ") + _local6.getHours()) + ":") + _local6.getMinutes()) + ":") + _local6.getSeconds()) + " ") + _local6.getDay()) + " ") + _local6.getTimezoneOffset());
_local10 = ("t=" + escape(_local9));
if (_local3.isSet(_local3.flashLivePreview)){
return;
};
if (_local3.isSet(_local3.otherVariables)){
_local11 = 0;
while (_local11 < _local3.accountVarList.length) {
_local12 = _local3.accountVarList[_local11];
if (_local3.isSet(_local3.otherVariables[_local12])){
_local3[_local12] = _local3.otherVariables[_local12];
};
_local11++;
};
_local11 = 0;
while (_local11 < _local3.accountConfigList.length) {
_local12 = _local3.accountConfigList[_local11];
if (_local3.isSet(_local3.otherVariables[_local12])){
_local3[_local12] = _local3.otherVariables[_local12];
};
_local11++;
};
};
_local4 = _local3.bufferTrack(_arg1, _arg2);
if (!_local4){
if (_local3.isSet(_arg1)){
_local5 = new Object();
_local3.variableOverridesBuild(_local5, false);
_local3.variableOverridesApply(_arg1);
};
if (((_local3.isSet(_local3.usePlugins)) && (_local3.isSet(_local3.doPlugins)))){
_local3.doPlugins(_local3);
};
if (_local3.isSet(_local3.account)){
if (!_local3.isSet(_local3.pageURL)){
_local3.pageURL = _local3.getMovieURL();
};
if (((!(_local3.isSet(_local3.referrer))) && (!(_local3.isSet(_local3._1_referrer))))){
_local3.referrer = _local3.getMovieReferrer();
_local3._1_referrer = 1;
};
_local10 = (_local10 + _local3.queryStringAccountVariables());
_local10 = (_local10 + _local3.queryStringLinkTracking());
_local10 = (_local10 + _local3.queryStringClickMap());
_local10 = (_local10 + _local3.queryStringTechnology());
_local3.makeRequest(_local8, _local10, "", _arg2);
};
if (_local3.isSet(_arg1)){
_local3.variableOverridesApply(_local5);
};
};
_local3.referrer = undefined;
_local3.pe = undefined;
_local3.pev1 = undefined;
_local3.pev2 = undefined;
_local3.pev3 = undefined;
_local3.linkObject = undefined;
_local3.linkURL = undefined;
_local3.linkName = undefined;
_local3.linkType = undefined;
_local3.objectID = undefined;
if (((!(_local4)) && (_local3.isSet(_local3.account)))){
if (((!(_local3.isSet(_arg2))) && (!(_local3.isSet(_local3.trackCalled))))){
_local3.trackCalled = true;
_local3.flushBufferedRequests();
};
};
}
public function get trackOnLoad():Boolean{
return (this._trackOnLoad);
}
private function callJavaScript(_arg1:String){
var s:Object;
var e:Object;
var script = _arg1;
s = this;
try {
if (((((s.isSet(ExternalInterface)) && (s.isSet(ExternalInterface.available)))) && (s.isSet(ExternalInterface.call)))){
return (ExternalInterface.call(script));
};
} catch(e) {
};
return (null);
}
private function getSharedObject(_arg1:String){
var o:Object;
var encoding:Number;
var tryNum:Number;
var e:Object;
var key = _arg1;
o = null;
tryNum = 0;
while (((!(this.isSet(o))) && ((tryNum < 2)))) {
try {
encoding = SharedObject.defaultObjectEncoding;
SharedObject.defaultObjectEncoding = ObjectEncoding.AMF0;
o = SharedObject.getLocal(key, "/");
SharedObject.defaultObjectEncoding = encoding;
o.objectEncoding = ObjectEncoding.AMF0;
} catch(e) {
};
tryNum = (tryNum + 1);
};
return (o);
}
private function getVersion():String{
return (Capabilities.version);
}
private function makeRequest(_arg1:String, _arg2:String, _arg3:String, _arg4:String){
var _local5:Object;
var _local6:*;
var _local7:String;
var _local8:String;
var _local9:String;
var _local10:String;
var _local11:String;
var _local12:Number;
_local5 = this;
_local6 = _local5.getMovieURL();
_local7 = _local5.trackingServer;
_local8 = _local5.trackingServerBase;
_local9 = _local5.dc;
_local10 = "sc.";
if (!_local5.isSet(_arg3)){
if (_local5.isSet(_local7)){
if (((_local5.isSet(_local5.trackingServerSecure)) && (_local5.isSet(_local5.ssl)))){
_local7 = _local5.trackingServerSecure;
};
} else {
_local11 = _local5.visitorNamespace;
if (!_local5.isSet(_local11)){
_local11 = _local5.account;
_local12 = _local11.indexOf(",");
if (_local12 >= 0){
_local11 = _local11.substr(0, _local12);
};
_local11 = _local11.split("_").join("-");
};
if (!_local5.isSet(_local8)){
_local8 = "2o7.net";
};
if (_local5.isSet(_local9)){
_local9 = _local9.toLowerCase();
} else {
_local9 = "d1";
};
if (_local8 == "2o7.net"){
if (_local9 == "d1"){
_local9 = "112";
} else {
if (_local9 == "d2"){
_local9 = "122";
};
};
_local10 = "";
};
_local7 = (((((_local11 + ".") + _local9) + ".") + _local10) + _local8);
};
if (_local5.isSet(_local5.ssl)){
_arg3 = "https://";
} else {
_arg3 = "http://";
};
_arg3 = (_arg3 + (((((((((((((_local7 + "/b/ss/") + _local5.account) + "/") + (_local5.mobile) ? "5.0" : "0") + "/") + _local5.version) + "-AS") + _local5.flashASVersion) + "/") + _arg1) + "?AQB=1&ndh=1&") + _arg2) + "&AQE=1"));
if (_local5.isSet(_arg4)){
_local5.bufferRequest(_local5.account, _arg4, _arg3);
return;
};
};
if (((_local5.isSet(_local5.ssl)) && ((_arg3.toLowerCase().substr(0, 5) == "http:")))){
_arg3 = ("https:" + _arg3.substr(5));
};
if (((((((_local5.isSet(_local5.trackLocal)) || ((_local5.flashVersion < 8)))) || (!(_local5.isSet(_local6))))) || ((_local6.toLowerCase().substr(0, 4) == "http")))){
_local5.requestList.push(_arg3);
if (((!(_local5.isSet(_local5.delayTracking))) || (((_local5.isSet(_local5.delayTrackingStage)) && ((_local5.delayTrackingStage == 2)))))){
_local5.flushRequestList();
} else {
if (((_local5.isSet(_local5.delayTracking)) && (!(_local5.isSet(_local5.delayTrackingStage))))){
_local5.delayTrackingStage = 1;
_local5.delayTrackingInterval = _local5.setupInterval(_local5, "delayTrackingDone", _local5.delayTracking, null);
};
};
};
}
public function replace(_arg1:String, _arg2:String, _arg3:String):String{
if (this.isSet(_arg1)){
if (_arg1.indexOf(_arg2) >= 0){
return (_arg1.split(_arg2).join(_arg3));
};
};
return (_arg1);
}
public function get configURL():String{
return (this._configURL);
}
private function queryStringClickMap():String{
var _local1:Object;
var _local2:String;
var _local3:String;
var _local4:Number;
var _local5:String;
var _local6:Number;
var _local7:String;
_local1 = this;
_local2 = "";
_local3 = _local1.pageName;
_local4 = 1;
_local5 = _local1.objectID;
_local6 = 1;
_local7 = "FLASH";
if (((((!(_local1.isSet(_local5))) && (_local1.isSet(_local1.linkObject)))) && (((_local1.isSet(_local1.linkObject, "name")) || (_local1.isSet(_local1.linkObject, "_name")))))){
_local5 = _local1.ClickMap.getObjectID(_local1.linkObject);
};
if (!_local1.isSet(_local3)){
_local3 = _local1.pageURL;
_local4 = 0;
};
if (((((((_local1.isSet(_local1.trackClickMap)) && (_local1.isSet(_local3)))) && (_local1.isSet(_local5)))) && (_local1.isSet(_local7)))){
_local2 = (_local2 + ("&pid=" + escape(_local3)));
_local2 = (_local2 + (_local1.isSet(_local4)) ? ("&pidt=" + escape(("" + _local4))) : "");
_local2 = (_local2 + ("&oid=" + escape(_local5.substr(0, 100))));
_local2 = (_local2 + (_local1.isSet(_local6)) ? ("&oidt=" + escape(("" + _local6))) : "");
_local2 = (_local2 + ("&ot=" + escape(_local7)));
};
return (_local2);
}
private function bufferTrackCheck(){
var _local1:Object;
var _local2:Number;
var _local3:Object;
_local1 = this;
if (((((((!(_local1.isSet(_local1.bufferTrackQueue))) || ((_local1.bufferTrackQueue.length <= 0)))) || (!(_local1.isSet(_local1.configXML))))) || (_local1.isSet(_local1.configXML.loaded)))){
clearInterval(_local1.bufferTrackInterval);
_local1.bufferTrackInterval = 0;
if (_local1.isSet(_local1.bufferTrackQueue)){
_local2 = 0;
while (_local2 < _local1.bufferTrackQueue.length) {
_local3 = _local1.bufferTrackQueue[_local2];
if (_local1.isSet(_local3)){
_local1.variableOverridesApply(_local3.setVariables);
_local1.track(_local3.variableOverrides, _local3.bufferedRequestID);
};
_local2++;
};
};
_local1.bufferTrackQueue = undefined;
};
}
private function queryStringTechnology():String{
var _local1:Object;
var _local2:String;
var _local3:Object;
_local1 = this;
_local2 = "";
_local3 = Capabilities;
if (((((_local1.isSet(_local3)) && (_local1.isSet(_local3.screenResolutionX)))) && (_local1.isSet(_local3.screenResolutionY)))){
_local2 = (_local2 + ((("&s=" + _local3.screenResolutionX) + "x") + _local3.screenResolutionY));
};
return (_local2);
}
public function isSet(_arg1, _arg2:String=null):Boolean{
var e:Object;
var val = _arg1;
var mbr = _arg2;
try {
if (mbr != null){
val = val[mbr];
};
return (((((((((((!((val == null))) && (!((val == undefined))))) && (!((("" + val) == "NaN"))))) && (!((val == false))))) && (!((val == ""))))) && (!((val == 0)))));
} catch(e) {
};
return (false);
}
public function flushBufferedRequests(){
var _local1:*;
_local1 = this;
if (_local1.isSet(_local1.account)){
_local1._flushBufferedRequests(_local1.account);
};
}
public function setInterface(_arg1:Object){
var _local2:Object;
_local2 = this;
if (_local2.isSet(_arg1)){
if (_local2.isSet(_arg1, "root")){
_local2.movie = _arg1.root;
} else {
if (_local2.isSet(_arg1, "_root")){
_local2.movie = _arg1._root;
} else {
_local2.movie = _arg1;
};
};
};
}
private function bufferTrack(_arg1:Object, _arg2:String){
var _local3:Object;
var _local4:Object;
var _local5:Object;
_local3 = this;
if (((_local3.isSet(_local3.configXML)) && (!(_local3.isSet(_local3.configXML.loaded))))){
if (!_local3.isSet(_local3.bufferTrackQueue)){
_local3.bufferTrackQueue = new Array();
};
_local5 = new Object();
_local5.setVariables = new Object();
_local3.variableOverridesBuild(_local5.setVariables, true);
if (_local3.isSet(_arg1)){
_local5.variableOverrides = new Object();
for (_local4 in _arg1) {
_local5.variableOverrides[_local4] = _arg1[_local4];
};
};
_local5.bufferedRequestID = _arg2;
_local3.bufferTrackQueue.push(_local5);
if (!_local3.isSet(_local3.bufferTrackInterval)){
_local3.bufferTrackInterval = _local3.setupInterval(_local3, "bufferTrackCheck", 100, null);
};
return (true);
};
return (false);
}
private function queryStringAccountVariables():String{
var _local1:Object;
var _local2:String;
var _local3:Number;
var _local4:Number;
var _local5:String;
var _local6:String;
var _local7:*;
var _local8:String;
var _local9:String;
var _local10:*;
var _local11:*;
var _local12:*;
_local1 = this;
_local2 = "";
_local10 = "";
_local11 = "";
_local12 = "";
if (((_local1.isSet(_local1.pe)) || (_local1.isSet(_local1.linkType)))){
_local10 = _local1.linkTrackVars;
_local11 = _local1.linkTrackEvents;
if (_local1.isSet(_local1.pe)){
_local12 = (_local1.pe.substr(0, 1).toUpperCase() + _local1.pe.substr(1));
if (_local1.isSet(_local1[_local12])){
_local10 = _local1[_local12].trackVars;
_local11 = _local1[_local12].trackEvents;
};
};
};
if (_local1.isSet(_local10)){
_local10 = (((("," + _local10) + ",") + _local1.requiredVarList.join(",")) + ",");
};
if (_local1.isSet(_local11)){
_local11 = (("," + _local11) + ",");
};
_local3 = 0;
while (_local3 < _local1.accountVarList.length) {
_local5 = _local1.accountVarList[_local3];
_local6 = _local1[_local5];
_local8 = _local5.substr(0, 4);
_local9 = _local5.substr(4);
if (((_local1.isSet(_local6)) && (((!(_local1.isSet(_local10))) || ((_local10.indexOf((("," + _local5) + ",")) >= 0)))))){
switch (_local5){
case "dynamicVariablePrefix":
_local5 = "D";
break;
case "visitorID":
_local5 = "vid";
break;
case "pageURL":
_local5 = "g";
break;
case "referrer":
_local5 = "r";
break;
case "vmk":
case "visitorMigrationKey":
_local5 = "vmt";
break;
case "visitorMigrationServer":
_local5 = "vmf";
if (((_local1.isSet(_local1.ssl)) && (_local1.isSet(_local1.visitorMigrationServerSecure)))){
_local6 = "";
};
break;
case "visitorMigrationServerSecure":
_local5 = "vmf";
if (((!(_local1.isSet(_local1.ssl))) && (_local1.isSet(_local1.visitorMigrationServer)))){
_local6 = "";
};
break;
case "charSet":
_local5 = "ce";
break;
case "visitorNamespace":
_local5 = "ns";
break;
case "cookieDomainPeriods":
_local5 = "cdp";
break;
case "cookieLifetime":
_local5 = "cl";
break;
case "currencyCode":
_local5 = "cc";
break;
case "channel":
_local5 = "ch";
break;
case "transactionID":
_local5 = "xact";
break;
case "campaign":
_local5 = "v0";
break;
case "events":
if (_local1.isSet(_local11)){
_local7 = _local6.split(",");
_local6 = "";
_local4 = 0;
while (_local4 < _local7.length) {
if (_local11.indexOf((("," + _local7[_local4]) + ",")) >= 0){
_local6 = (_local6 + ((_local1.isSet(_local6)) ? "," : "" + _local7[_local4]));
};
_local4++;
};
};
break;
default:
if (_local1.isNumber(_local9)){
if (_local8 == "prop"){
_local5 = ("c" + _local9);
} else {
if (_local8 == "eVar"){
_local5 = ("v" + _local9);
} else {
if (_local8 == "list"){
_local5 = ("l" + _local9);
} else {
if (_local8 == "hier"){
_local5 = ("h" + _local9);
_local6 = _local6.substr(0, 0xFF);
};
};
};
};
};
break;
};
if (_local1.isSet(_local6)){
_local2 = (_local2 + ((("&" + escape(_local5)) + "=") + ((_local5.substr(0, 3))!="pev") ? escape(_local6) : _local6));
};
};
_local3++;
};
return (_local2);
}
public function isNumber(_arg1):Boolean{
return (!(isNaN(parseInt(_arg1))));
}
private function doTrackOnLoad(){
var _local1:Object;
_local1 = this;
if (((!(_local1.isSet(_local1.account))) || (!(_local1.isSet(_local1.movie))))){
return;
};
clearInterval(_local1.trackOnLoadInterval);
if (((_local1._trackOnLoad) && (!(_local1.onLoadTracked)))){
_local1.onLoadTracked = true;
_local1.track();
};
}
public function flushBufferedRequest(_arg1:String, _arg2:String){
var _local3:Object;
var _local4:Object;
var _local5:Object;
var _local6:Number;
var _local7:String;
_local3 = this;
_local4 = _local3.getBufferedRequests();
if (((((_local3.isSet(_local4)) && (_local3.isSet(_local4.data)))) && (_local3.isSet(_local4.data.list)))){
_local6 = 0;
while (_local6 < _local4.data.list.length) {
_local5 = _local4.data.list[_local6];
if ((((_local5.account == _arg1)) && ((_local5.id == _arg2)))){
_local7 = _local4.data.list[_local6].request;
_local4.data.list[_local6].account = "";
_local4.data.list[_local6].id = "";
_local4.data.list[_local6].request = "";
_local4.flush();
_local3.makeRequest("", "", _local7, "");
};
_local6++;
};
};
}
public function set trackOnLoad(_arg1:Boolean){
this._trackOnLoad = _arg1;
if (this._trackOnLoad){
this.trackOnLoadInterval = this.setupInterval(this, "doTrackOnLoad", 100, null);
};
}
public function variableOverridesApply(_arg1:Object){
var _local2:Object;
var _local3:Number;
var _local4:String;
var _local5:Array;
_local2 = this;
_local3 = 0;
while (_local3 < _local2.accountVarList.length) {
_local4 = _local2.accountVarList[_local3];
if (((_local2.isSet(_arg1[_local4])) || (_local2.isSet(_arg1[("!" + _local4)])))){
_local2[_local4] = _arg1[_local4];
};
_local3++;
};
_local3 = 0;
while (_local3 < _local2.accountConfigList.length) {
_local4 = _local2.accountConfigList[_local3];
if (((_local2.isSet(_arg1[_local4])) || (_local2.isSet(_arg1[("!" + _local4)])))){
if ((((((((((((((_local4 == "trackDownloadLinks")) || ((_local4 == "trackExternalLinks")))) || ((_local4 == "trackClickMap")))) || ((_local4 == "linkLeaveQueryString")))) || ((_local4 == "autoTrack")))) || ((_local4 == "trackLocal")))) || ((_local4 == "debugTracking")))){
if (typeof(_arg1[_local4]) == "string"){
if (_arg1[_local4].toLowerCase() == "true"){
_arg1[_local4] = true;
} else {
_arg1[_local4] = false;
};
} else {
_arg1[_local4] = _local2.isSet(_arg1[_local4]);
};
} else {
if (_local4 == "delayTracking"){
if (typeof(_arg1[_local4]) == "string"){
_arg1[_local4] = parseInt(_arg1[_local4]);
} else {
if (typeof(_arg1[_local4]) != "number"){
_arg1[_local4] = 0;
};
};
};
};
_local2[_local4] = _arg1[_local4];
};
_local3++;
};
for (_local4 in _arg1) {
if (_local4.indexOf(".") >= 0){
_local5 = _local4.split(".");
if (_local5.length == 2){
if (((!(_local2.isSet(_arg1[_local5[0]]))) || (!((typeof(_arg1[_local5[0]]) == "object"))))){
_arg1[_local5[0]] = new Object();
};
_arg1[_local4][_local5[1]] = _arg1[_local4];
_local4 = _local5[0];
} else {
_local4 = "";
};
};
};
for (_local4 in _arg1) {
if (typeof(_arg1[_local4]) == "object"){
if (_local4 == "config"){
_local2.variableOverridesApply(_arg1[_local4]);
} else {
if ((((((((_local4.substr(0, 1) == _local4.substr(0, 1).toUpperCase())) && (_local2.isSet(_local2[_local4])))) && ("boolean"))) && (_local2.isSet(_local2[_local4].variableOverridesApply)))){
_local2[_local4].variableOverridesApply(_arg1[_local4]);
};
};
};
};
}
public function get useExternalVariables():Boolean{
return (this._useExternalVariables);
}
public function set moduleMediaVariables(_arg1:Object){
this._moduleMediaVariables = _arg1;
this.modulesUpdate();
}
private function setVariableCallHandler(){
var _local1:Object;
var _local2:Object;
var _local3:String;
var _local4:String;
var _local5:Array;
var _local6:Number;
var _local7:Array;
var _local8:Object;
var _local9:Number;
_local1 = this;
for (_local3 in _local1) {
if (_local3.substr(0, 5) == "_svc_"){
_local5 = _local3.split("_");
if (((_local1.isSet(_local5)) && ((_local5.length >= 4)))){
if ((((_local5[3] == "dot")) && ((_local5.length > 4)))){
_local5[2] = (_local5[2] + ("_dot_" + _local5[4]));
_local6 = 5;
while (_local6 < _local5.length) {
_local5[(_local6 - 2)] = _local5[_local6];
_local6++;
};
};
_local8 = null;
if (_local1.isSet(_local7)){
_local9 = 0;
while (_local9 < _local7.length) {
if (_local7[_local9].methodName == _local5[2]){
_local8 = _local7[_local9];
};
_local9++;
};
};
if (!_local1.isSet(_local8)){
_local7 = new Array();
_local8 = new Object();
_local8.methodName = _local5[2];
_local7[0] = _local8;
};
if (_local5[3] == "call"){
if (_local1.isSet(_local1[_local3])){
_local8.call = true;
};
_local1[_local3] = null;
} else {
if ((((((_local5[3] == "param")) && ((_local5.length > 4)))) && (_local1.isSet(_local5[4])))){
if (!_local1.isSet(_local8.paramList)){
_local8.paramList = new Array();
};
_local8.paramList[_local5[4]] = _local1[_local3];
};
};
};
};
};
if (((_local1.isSet(_local7)) && ((_local7.length > 0)))){
_local9 = 0;
while (_local9 < _local7.length) {
_local8 = _local7[_local9];
if (((_local1.isSet(_local8.methodName)) && (_local1.isSet(_local8.call)))){
_local5 = _local8.methodName.split("_dot_");
if (_local5.length > 1){
_local2 = _local1[_local5[0]];
_local4 = _local5[1];
} else {
_local2 = _local1;
_local4 = _local8.methodName;
};
if (_local1.isSet(_local2[_local4])){
if (((_local1.isSet(_local8.paramList)) && ((_local8.paramList.length > 0)))){
if (_local8.paramList.length == 1){
_local1[("_svc_result_" + _local8.methodName)] = _local2[_local4](_local8.paramList[0]);
} else {
if (_local8.paramList.length == 2){
_local1[("_svc_result_" + _local8.methodName)] = _local2[_local4](_local8.paramList[0], _local8.paramList[1]);
} else {
if (_local8.paramList.length == 3){
_local1[("_svc_result_" + _local8.methodName)] = _local2[_local4](_local8.paramList[0], _local8.paramList[1], _local8.paramList[2]);
};
};
};
} else {
_local1[(("_svc_" + _local8.methodName) + "_result")] = _local2[_local4]();
};
};
};
_local9++;
};
};
}
private function getMovieClipURL(_arg1:Object):String{
var _local2:Object;
_local2 = this;
if (_local2.isSet(_arg1)){
if ((((((_local2.flashASVersion > 2)) && (_local2.isSet(_arg1.loaderInfo)))) && (_local2.isSet(_arg1.loaderInfo.loaderURL)))){
return (_arg1.loaderInfo.loaderURL);
};
if (_local2.isSet(_arg1._url)){
return (_arg1._url);
};
};
return ("");
}
public function get movie():Object{
return (this._movie);
}
private function getBufferedRequests(){
var s:Object;
var bufferedRequests:Object;
s = this;
if (!s.isSet(s.disableBufferedRequests)){
bufferedRequests = s.getSharedObject("s_br");
};
if (!s.isSet(bufferedRequests)){
bufferedRequests = s.bufferedRequests;
if (!s.isSet(bufferedRequests)){
s.bufferedRequests = new Object();
s.bufferedRequests.flush = function (){
};
bufferedRequests = s.bufferedRequests;
};
};
return (bufferedRequests);
}
private function modulesInit(){
var _local1:Object;
_local1 = this;
_local1.ClickMap = new ActionSource_Module_ClickMap(_local1);
_local1.Media = new ActionSource_Module_Media(_local1);
_local1.modulesUpdate();
}
private function modulesUpdate(){
var _local1:Object;
var _local2:String;
_local1 = this;
if (_local1.isSet(_local1.Media)){
if (_local1.isSet(_local1._moduleMediaVariables)){
for (_local2 in _local1._moduleMediaVariables) {
if (_local1.isSet(_local1._moduleMediaVariables[_local2])){
if ((((_local2 == "trackWhilePlaying")) || ((_local2 == "autoTrack")))){
if (("" + _local1._moduleMediaVariables[_local2]).toLowerCase() == "true"){
_local1._moduleMediaVariables[_local2] = true;
} else {
_local1._moduleMediaVariables[_local2] = false;
};
};
_local1.Media[_local2] = _local1._moduleMediaVariables[_local2];
};
};
};
_local1.Media.autoTrack = _local1.Media.autoTrack;
};
}
public function track(_arg1:Object=null, _arg2:String=""){
this._track(_arg1, _arg2);
}
public function logDebug(_arg1:String){
trace(_arg1);
this.callJavaScript((("function s_logDebug(){var e;try{console.log(\"" + this.replace(this.replace(_arg1, "\n", "\\n"), "\"", "\\\"")) + "\");}catch(e){}}"));
}
private function initPre(){
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
public function get moduleMediaVariables():Object{
return (this._moduleMediaVariables);
}
public function getMovieURL():String{
var _local1:Object;
var _local2:String;
_local1 = this;
_local2 = _local1.callJavaScript("function s_ActionSource_wl(){return window.location.href;}");
if (_local1.isSet(_local2)){
return (_local2);
};
if (_local1.isSet(_local1.movie)){
return (_local1.getMovieClipURL(_local1.movie));
};
return ("");
}
public function set configURL(_arg1:String){
var _local2:Object;
_local2 = this;
if (_arg1 != _local2._configURL){
_local2._configURL = _arg1;
if (_local2.isSet(_local2._configURL)){
if (!_local2.isSet(_local2.configXML)){
_local2.configXML = new ActionSource_XML(_local2);
_local2.configXML.onDataReady = "variableOverridesApply";
};
_local2.configXML.url = _local2._configURL;
};
};
}
private function onAddedToStage(_arg1:Event){
if ((((parent == null)) || (!((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent"))))){
this.visible = false;
this.movie = root;
} else {
this.flashLivePreview = true;
};
}
private function getMovieReferrer():String{
var _local1:Object;
_local1 = this;
return (_local1.callJavaScript((((((((((((((((((((((((("" + "function s_ActionSource_r(){") + "\tvar ") + "\t\tr = '',") + "\t\tw = window,") + "\t\te,") + "\t\tp,") + "\t\tl,") + "\t\te;") + "\tif ((w) && (w.document)) {") + "\t\tr = w.document.referrer;") + "\t\ttry {") + "\t\t\tp = w.parent;") + "\t\t\tl = w.location;") + "\t\t\twhile ((p) && (p.location) && (l) && (''+p.location != ''+l) && (w.location) && (''+p.location != ''+w.location) && (p.location.host == l.host)) {") + "\t\t\t\tw = p;") + "\t\t\t\tp = w.parent;") + "\t\t\t}") + "\t\t} catch (e) {}") + "\t\tif ((w) && (w.document)) {") + "\t\t\tr = w.document.referrer;") + "\t\t}") + "\t}") + "\treturn r;") + "}")));
}
private function initPost(){
}
public function trackLink(_arg1, _arg2:String, _arg3:String, _arg4:Object=null){
this._trackLink(_arg1, _arg2, _arg3, _arg4);
}
private function _flushBufferedRequests(_arg1:String){
var _local2:Object;
var _local3:Object;
var _local4:Object;
var _local5:Number;
_local2 = this;
_local3 = _local2.getBufferedRequests();
if (((((_local2.isSet(_local3)) && (_local2.isSet(_local3.data)))) && (_local2.isSet(_local3.data.list)))){
_local5 = 0;
while (_local5 < _local3.data.list.length) {
_local4 = _local3.data.list[_local5];
if (_local4.account == _arg1){
_local2.flushBufferedRequest(_arg1, _local4.id);
};
_local5++;
};
};
}
private function delayTrackingDone(){
var _local1:Object;
_local1 = this;
clearInterval(_local1.delayTrackingInterval);
_local1.delayTrackingStage = 2;
_local1.flushRequestList();
}
}
}//package com.omniture
Section 22
//ActionSource_Module_ClickMap (com.omniture.ActionSource_Module_ClickMap)
package com.omniture {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.external.*;
public dynamic class ActionSource_Module_ClickMap {
private var s:Object;
private static var isExternalSet:Boolean = false;
public function ActionSource_Module_ClickMap(_arg1:Object){
var m:Object;
var e:Object;
var s = _arg1;
super();
m = this;
m.s = s;
m.s.addEventListener(Event.ADDED_TO_STAGE, m.onAddedToStage, false, 0, true);
if (((ExternalInterface.available) && (!(m.isExternalSet)))){
m.isExternalSet = true;
try {
ExternalInterface.addCallback("s_getDOMIndex", m.getDOMIndex);
ExternalInterface.addCallback("s_getTrackClickMap", m.getTrackClickMap);
ExternalInterface.addCallback("s_getAccount", m.getAccount);
ExternalInterface.addCallback("s_getPageName", m.getPageName);
ExternalInterface.addCallback("s_getPageURL", m.getPageURL);
ExternalInterface.addCallback("s_getMovieID", m.getMovieID);
ExternalInterface.addCallback("s_getVersion", m.getVersion);
ExternalInterface.addCallback("s_getCharSet", m.getCharSet);
ExternalInterface.addCallback("s_getSWFURL", m.getSWFURL);
} catch(e) {
};
};
}
public function getSWFURL(){
var _local1:Object;
_local1 = this;
if (_local1.s.isSet(s.movie)){
if (((_local1.s.isSet(_local1.s.movie.loaderInfo)) && (_local1.s.isSet(_local1.s.movie.loaderInfo.loaderURL)))){
return (_local1.s.movie.loaderInfo.loaderURL);
};
if (_local1.s.isSet(_local1.s.movie._url)){
return (_local1.s.movie._url);
};
};
return ("");
}
public function getVersion(){
var _local1:Object;
_local1 = this;
return (_local1.s.version);
}
private function parentLocalToGlobal(_arg1:DisplayObject, _arg2:Object){
var _local3:*;
_local3 = new Point(_arg2.x, _arg2.y);
_arg1.parent.localToGlobal(_local3);
_arg2.x = _local3.x;
_arg2.y = _local3.y;
}
private function getFullPath(_arg1:DisplayObject){
var _local2:String;
var _local3:String;
var _local4:Array;
_local4 = new Array();
do {
_local4.splice(0, 0, _arg1.name);
_arg1 = _arg1.parent;
} while (_arg1.parent != null);
_local2 = _local4.join(".");
_local3 = _local2.substr((_local2.length - 4), 4);
if ((((_local3 == ".frs")) || ((_local3 == ".fds")))){
_local2 = _local2.substr(0, (_local2.length - 4));
};
return (_local2);
}
public function getObjectID(_arg1:Object){
var _local2:Object;
var _local3:String;
var _local4:String;
_local2 = this;
_local3 = _local2.getMovieID();
_local4 = "";
_local4 = _local2.getFullPath(_arg1);
if (_local2.s.isSet(_local4)){
_local4 = (((_local2.s.isSet(_local3)) ? _local3 : "" + ":") + _local4);
};
return (_local4);
}
public function getMovieID(){
var _local1:Object;
var _local2:String;
var _local3:String;
var _local4:Number;
var _local5:Number;
_local1 = this;
_local2 = _local1.getSWFURL();
_local3 = s.movieID;
if (((!(_local1.s.isSet(_local3))) && (_local1.s.isSet(_local2)))){
_local4 = _local2.lastIndexOf("/");
_local5 = _local2.lastIndexOf(".");
if (_local4 >= 0){
_local4++;
} else {
_local4 = 0;
};
if (_local5 >= 0){
_local5 = (_local5 - _local4);
} else {
_local5 = _local2.length;
};
_local3 = _local2.substr(_local4, _local5);
};
if (!_local1.s.isSet(_local3)){
_local3 = "movieID undefined";
};
return (_local3);
}
public function getIndex(){
var _local1:Object;
var _local2:String;
_local1 = this;
if (_local1.s.isSet(_local1.s.movie)){
_local2 = (((_local1.s.movie.stage.stageWidth + ",") + _local1.s.movie.stage.stageHeight) + _local1.indexChildren(_local1.s.movie));
return (_local2);
};
return ("");
}
private function sendClickMapEvent(_arg1:Object){
var _local2:Object;
var _local3:String;
var _local4:String;
var _local5:String;
var _local6:Number;
_local2 = this;
_local3 = _local2.s.getMovieURL();
_local4 = _local2.getMovieID();
if (_local2.s.isSet(_local2.s.trackClickMap)){
_local2.s.objectID = _local2.getObjectID(_arg1);
};
if (_local2.s.autoTrack){
_local5 = _local3;
_local6 = _local5.indexOf("?");
if (_local6 >= 0){
_local5 = _local5.substr(0, _local6);
};
if (_local5.length > (100 - 23)){
_local5 = _local5.substr(-((100 - 23)));
};
_local2.s.trackLink(_local3, "o", ("ActionSource.AutoTrack:" + _local5));
};
}
private function nodeShift(_arg1:DisplayObject, _arg2:Number, _arg3:Number){
_arg1.x = _arg2;
_arg1.y = _arg3;
}
private function parentGetBounds(_arg1:DisplayObject){
var _local2:*;
var _local3:*;
_local2 = _arg1.parent.getBounds(_arg1.parent);
_local3 = new Object();
_local3.xMin = _local2.x;
_local3.yMin = _local2.y;
_local3.xMax = (_local2.x + _local2.width);
_local3.yMax = (_local2.y + _local2.height);
return (_local3);
}
private function onAddedToStage(_arg1:Event):void{
var _local2:Object;
_local2 = this;
_local2.s.root.addEventListener(MouseEvent.CLICK, _local2.onMouseClick, true, 0, true);
}
private function getDOMID(_arg1:Object){
var _local2:Object;
var _local3:Object;
_local2 = this;
if (_local2.s.isSet(_arg1)){
_local3 = _local2.getGeom(_arg1);
return (((((((((_local2.getFullPath(_arg1) + ",") + _local3.x) + ",") + _local3.y) + ",") + _local3.w) + ",") + _local3.h));
};
return ("");
}
private function onMouseClick(_arg1:MouseEvent):void{
var m:Object;
var e:Object;
var event = _arg1;
m = this;
try {
m.sendClickMapEvent(InteractiveObject(event.target));
} catch(e) {
};
}
public function getPageURL(){
var _local1:Object;
_local1 = this;
return (_local1.s.pageURL);
}
public function getDOMIndex(){
var _local1:Object;
_local1 = this;
return (_local1.getIndex());
}
public function getTrackClickMap(){
var _local1:Object;
_local1 = this;
return (_local1.s.trackClickMap.toString());
}
private function indexChildren(_arg1:DisplayObjectContainer):String{
var _local2:Object;
var _local3:String;
var _local4:Number;
var _local5:DisplayObject;
_local2 = this;
_local3 = new String();
_local4 = 0;
while (_local4 < _arg1.numChildren) {
_local5 = _arg1.getChildAt(_local4);
if (_local2.s.isSet(_local5)){
_local3 = (_local3 + ("|" + _local2.getDOMID(_local5)));
if ((_local5 is DisplayObjectContainer)){
_local3 = (_local3 + _local2.indexChildren(DisplayObjectContainer(_local5)));
};
};
_local4++;
};
return (_local3);
}
private function nodePos(_arg1:DisplayObject){
var _local2:*;
_local2 = new Object();
_local2.x = _arg1.x;
_local2.y = _arg1.y;
return (_local2);
}
public function getCharSet(){
var _local1:Object;
_local1 = this;
return (_local1.s.charSet);
}
public function getAccount(){
var _local1:Object;
_local1 = this;
return (_local1.s.account);
}
private function getGeom(_arg1:Object){
var _local2:Object;
var _local3:Object;
var _local4:Object;
var _local5:Object;
var _local6:Object;
var _local7:Object;
var _local8:Object;
_local2 = this;
_local3 = new Object();
_local6 = _local2.parentGetBounds(_arg1);
_local4 = _local2.nodePos(_arg1);
_local5 = _local2.nodePos(_arg1);
_local2.nodeShift(_arg1, _local6.xMin, _local6.yMin);
_local7 = _local2.parentGetBounds(_arg1);
_local2.nodeShift(_arg1, _local6.xMax, _local6.yMax);
_local8 = _local2.parentGetBounds(_arg1);
_local2.nodeShift(_arg1, _local4.x, _local4.y);
_local4.x = (_local4.x + (_local7.xMin - _local6.xMin));
_local4.y = (_local4.y + (_local7.yMin - _local6.yMin));
_local5.x = (_local5.x + (_local8.xMax - _local6.xMax));
_local5.y = (_local5.y + (_local8.yMax - _local6.yMax));
_local2.parentLocalToGlobal(_arg1, _local4);
_local2.parentLocalToGlobal(_arg1, _local5);
_local3.x = Math.round(_local4.x);
_local3.y = Math.round(_local4.y);
_local3.w = Math.ceil((_local5.x - _local4.x));
_local3.h = Math.ceil((_local5.y - _local4.y));
return (_local3);
}
public function getPageName(){
var _local1:Object;
_local1 = this;
return (_local1.s.pageName);
}
}
}//package com.omniture
Section 23
//ActionSource_Module_Media (com.omniture.ActionSource_Module_Media)
package com.omniture {
import flash.utils.*;
public dynamic class ActionSource_Module_Media {
private var autoTrackDone:Boolean;// = false
public var playerName:String;
public var trackVars:String;
private var list:Object;
private var monitorList:Array;
public var trackWhilePlaying:Boolean;// = false
public var trackMilestones:String;// = ""
public var trackSeconds:Number;// = 0
private var autoTrackInterval:Number;
public var trackEvents:String;
private var _autoTrack:Boolean;// = false
private var s:Object;
public function ActionSource_Module_Media(_arg1:Object){
var _local2:Object;
trackWhilePlaying = false;
trackSeconds = 0;
trackMilestones = "";
_autoTrack = false;
autoTrackDone = false;
super();
_local2 = this;
_local2.s = _arg1;
_local2.monitorList = null;
}
public function listenerMedia_scrubbing(_arg1){
this.listenerMedia.scrubbing(_arg1);
}
public function stop(_arg1:String, _arg2:Number){
this.event(_arg1, 2, _arg2);
}
public function listenerBrightcove_seek(_arg1){
this.listenerBrightcove.seek(_arg1);
}
public function doAutoTrack(){
var _local1:Object;
_local1 = this;
if (((!(_local1.s.isSet(_local1.s.account))) || (!(_local1.s.isSet(_local1.s.movie))))){
return;
};
clearInterval(_local1.autoTrackInterval);
if (((_local1._autoTrack) && (!(_local1.autoTrackDone)))){
if (_local1.attach(_local1.s.movie)){
_local1.autoTrackDone = true;
} else {
_local1.autoTrackInterval = _local1.s.setupInterval(this, "doAutoTrack", 1000, null);
};
};
}
public function listenerMedia_click(_arg1){
this.listenerMedia.click(_arg1);
}
private function event(_arg1:String, _arg2:Number, _arg3:Number){
var _local4:Object;
var _local5:Object;
var _local6:Date;
var _local7:Number;
var _local8:Number;
var _local9:String;
var _local10:Array;
var _local11:Number;
var _local12:String;
var _local13:Boolean;
var _local14:String;
var _local15:String;
var _local16:String;
var _local17:String;
var _local18:String;
var _local19:Object;
_local4 = this;
_local6 = new Date();
_local7 = Math.floor((_local6.getTime() / 1000));
_local8 = _local4.trackSeconds;
_local9 = _local4.trackMilestones;
_local12 = "--**--";
_local13 = true;
_local14 = null;
_local15 = _local4.trackVars;
_local16 = _local4.trackEvents;
_local17 = "media";
_local19 = new Object();
_arg1 = _local4.cleanName(_arg1);
_local5 = (((((_local4.s.isSet(_arg1)) && (_local4.s.isSet(_local4.list)))) && (_local4.s.isSet(_local4.list[_arg1])))) ? _local4.list[_arg1] : null;
if (_local4.s.isSet(_local5)){
_local19.name = _arg1;
_local19.length = _local5.length;
_local19.playerName = _local5.playerName;
if (_local5.lastTrackOffset < 0){
_local19.event = "OPEN";
} else {
_local19.event = ((_arg2 == 1)) ? "PLAY" : ((_arg2 == 2)) ? "STOP" : ((_arg2 == 3)) ? "MONITOR" : "CLOSE";
};
_local19.openTime = new Date();
_local19.openTime.setTime((_local5.timestamp * 1000));
if ((((_arg2 > 2)) || (((!((_arg2 == _local5.lastEventType))) && (((!((_arg2 == 2))) || ((_local5.lastEventType == 1)))))))){
_local14 = ("Media." + _arg1);
_local18 = (((((("" + escape(_local5.name)) + _local12) + _local5.length) + _local12) + escape(_local5.playerName)) + _local12);
if (_local4.s.isSet(_arg2)){
if ((((_arg3 < 0)) && ((_local5.lastEventTimestamp > 0)))){
_arg3 = ((_local7 - _local5.lastEventTimestamp) + _local5.lastEventOffset);
_arg3 = ((_arg3 < _local5.length)) ? _arg3 : (_local5.length - 1);
};
_arg3 = Math.floor(_arg3);
if ((((_arg2 >= 2)) && ((_local5.lastEventOffset < _arg3)))){
_local5.timePlayed = (_local5.timePlayed + (_arg3 - _local5.lastEventOffset));
_local5.timePlayedSinseTrack = (_local5.timePlayedSinseTrack + (_arg3 - _local5.lastEventOffset));
};
if (_arg2 <= 2){
_local5.session = (_local5.session + (((_arg2 == 1)) ? "S" : "E" + _arg3));
_local5.lastEventType = _arg2;
} else {
if (_local5.lastEventType != 1){
_local4.event(_arg1, 1, _arg3);
};
};
_local5.lastEventTimestamp = _local7;
_local5.lastEventOffset = _arg3;
_local18 = (_local18 + ((((((("" + _local5.timePlayed) + _local12) + _local5.timestamp) + _local12) + (((_local4.s.isSet(_local4.trackWhilePlaying)) && ((_local5.lastTrackOffset >= 0)))) ? ("L" + _local5.lastTrackOffset) : "") + _local5.session) + ((_arg2)!=2) ? ((_local4.s.isSet(_local4.trackWhilePlaying)) ? "L" : "E" + _arg3) : ""));
if (_local4.s.isSet(_local4.trackWhilePlaying)){
_local14 = null;
_local17 = "m_o";
if (_arg2 != 4){
_local19.offset = _arg3;
_local19.percent = (((_local19.offset + 1) / _local19.length) * 100);
_local19.percent = ((_local19.percent > 100)) ? 100 : Math.floor(_local19.percent);
_local19.timePlayed = _local5.timePlayed;
if (_local4.s.isSet(_local4.monitor)){
_local4.monitor(_local4.s, _local19);
};
};
if (_local5.lastTrackOffset < 0){
_local17 = "m_s";
} else {
if (_arg2 == 4){
_local17 = "m_i";
} else {
_local13 = false;
_local16 = "None";
_local15 = _local16;
_local8 = (_local4.s.isSet(_local8)) ? parseInt(("" + _local8)) : 0;
_local10 = (_local4.s.isSet(_local9)) ? _local9.split(",") : null;
if (((_local4.s.isSet(_local8)) && ((_local5.timePlayedSinseTrack >= _local8)))){
_local13 = true;
} else {
if (_local4.s.isSet(_local10)){
if (_arg3 < _local5.lastTrackOffset){
_local5.lastTrackOffset = _arg3;
} else {
_local11 = 0;
while (_local11 < _local10.length) {
_local8 = (_local4.s.isSet(_local10[_local11])) ? parseInt(("" + _local10[_local11])) : 0;
if (((((_local4.s.isSet(_local8)) && ((((_local5.lastTrackOffset + 1) / _local5.length) < (_local8 / 100))))) && ((((_arg3 + 1) / _local5.length) >= (_local8 / 100))))){
_local13 = true;
_local11 = _local10.length;
};
_local11++;
};
};
};
};
};
};
};
} else {
_local4.event(_arg1, 2, -1);
if (_local4.s.isSet(_local4.trackWhilePlaying)){
_local19.offset = _local5.lastEventOffset;
_local19.percent = (((_local19.offset + 1) / _local19.length) * 100);
_local19.percent = ((_local19.percent > 100)) ? 100 : Math.floor(_local19.percent);
_local19.timePlayed = _local5.timePlayed;
if (_local4.s.isSet(_local4.monitor)){
_local4.monitor(_local4.s, _local19);
};
};
_local4.list[_arg1] = 0;
if (_local4.s.isSet(_local5.session)){
_local18 = (_local18 + (((((("" + _local5.timePlayed) + _local12) + _local5.timestamp) + _local12) + (((_local4.s.isSet(_local4.trackWhilePlaying)) && ((_local5.lastTrackOffset >= 0)))) ? ("L" + _local5.lastTrackOffset) : "") + _local5.session));
if (_local4.s.isSet(_local4.trackWhilePlaying)){
_local16 = "None";
_local15 = _local16;
_local17 = "m_o";
} else {
_local13 = false;
_local4.s.flushBufferedRequest(_local4.s.account, _local14);
};
} else {
_local13 = false;
};
_local14 = null;
};
if (_local13){
_local4.s.track({linkTrackVars:_local15, linkTrackEvents:_local16, pe:_local17, pev3:_local18}, _local14);
if (_local4.s.isSet(_local4.trackWhilePlaying)){
_local5.timePlayedSinseTrack = 0;
_local5.lastTrackOffset = _arg3;
_local5.session = "";
};
};
};
};
}
public function listenerMedia_complete(_arg1){
this.listenerMedia.complete(_arg1);
}
public function listenerFLVPlayback_complete(_arg1){
this.listenerFLVPlayback.complete(_arg1);
}
public function variableOverridesApply(_arg1:Object){
var _local2:Object;
var _local3:String;
_local2 = this;
for (_local3 in _arg1) {
if ((((_local3 == "autoTrack")) || ((_local3 == "trackWhilePlaying")))){
if (typeof(_arg1[_local3]) == "string"){
if (_arg1[_local3].toLowerCase() == "true"){
_arg1[_local3] = true;
} else {
_arg1[_local3] = false;
};
} else {
if (typeof(_arg1[_local3]) != "boolean"){
_arg1[_local3] = false;
};
};
} else {
if (_local3 == "trackSeconds"){
if (typeof(_arg1[_local3]) == "string"){
(_arg1[_local3] == parseInt(_arg1[_local3]));
} else {
if (typeof(_arg1[_local3]) != "number"){
(_arg1[_local3] == 0);
};
};
};
};
if ((((((((typeof(_arg1[_local3]) == "string")) || ((typeof(_arg1[_local3]) == "number")))) || ((typeof(_arg1[_local3]) == "boolean")))) && ((((((((((((((_local3 == "autoTrack")) || ((_local3 == "trackWhilePlaying")))) || ((_local3 == "trackSeconds")))) || ((_local3 == "trackMilestones")))) || ((_local3 == "playerName")))) || ((_local3 == "trackVars")))) || ((_local3 == "trackEvents")))))){
_local2[_local3] = _arg1[_local3];
};
};
}
private function startMonitor(_arg1:Object){
var m:Object;
var monitorNum:Number;
var nextMonitorNum:Number;
var monitor = _arg1;
m = this;
nextMonitorNum = 0;
if (m.s.isSet(m.monitorList)){
nextMonitorNum = -1;
monitorNum = 0;
while (monitorNum < m.monitorList.length) {
if (m.s.isSet(m.monitorList[monitorNum])){
if (((((((m.s.isSet(m.monitorList[monitorNum].node)) && (m.s.isSet(monitor)))) && (m.s.isSet(monitor.node)))) && ((m.monitorList[monitorNum].node == monitor.node)))){
return;
};
} else {
if (nextMonitorNum < 0){
nextMonitorNum = monitorNum;
};
};
monitorNum = (monitorNum + 1);
};
if (nextMonitorNum < 0){
nextMonitorNum = m.monitorList.length;
};
} else {
m.monitorList = new Array();
};
monitor.update = function (_arg1:Object){
if ((((((((((((_arg1.m == null)) || ((_arg1.m == undefined)))) || ((_arg1.m.s == null)))) || ((_arg1.m.s == undefined)))) || ((_arg1.node == null)))) || ((_arg1.node == undefined)))){
clearInterval(_arg1.interval);
_arg1.m.monitorList[_arg1.num] = null;
} else {
_arg1.monitor();
};
};
monitor.interval = m.s.setupInterval(monitor, "update", 5000, monitor);
monitor.num = nextMonitorNum;
m.monitorList[monitor.num] = monitor;
}
private function _open(_arg1:String, _arg2:Number, _arg3:String, _arg4:Object){
var _local5:Object;
var _local6:Object;
var _local7:Date;
var _local8:String;
var _local9:String;
_local5 = this;
_local6 = new Object();
_local7 = new Date();
_local8 = "";
_arg1 = _local5.cleanName(_arg1);
_arg2 = Math.floor(_arg2);
if (!_local5.s.isSet(_arg2)){
_arg2 = 1;
};
if (((_local5.s.isSet(_arg1)) && (_local5.s.isSet(_arg3)))){
if (!_local5.s.isSet(_local5.list)){
_local5.list = new Object();
};
if (_local5.s.isSet(_local5.list[_arg1])){
_local5.close(_arg1);
};
if (_local5.s.isSet(_arg4)){
_local8 = ("" + _arg4);
};
for (_local9 in _local5.list) {
if (((_local5.s.isSet(_local5.list[_local9])) && ((_local5.list[_local9].playerID == _local8)))){
_local5.close(_local5.list[_local9].name);
};
};
_local6.name = _arg1;
_local6.length = _arg2;
_local6.playerName = _local5.cleanName((_local5.s.isSet(_local5.playerName)) ? _local5.playerName : _arg3);
_local6.playerID = _local8;
_local6.timePlayed = 0;
_local6.timePlayedSinseTrack = 0;
_local6.timestamp = Math.floor((_local7.getTime() / 1000));
_local6.lastEventType = 0;
_local6.lastEventTimestamp = _local6.timestamp;
_local6.lastEventOffset = 0;
_local6.session = "";
_local6.lastTrackOffset = -1;
_local5.list[_arg1] = _local6;
};
}
private function autoEvent(_arg1:String, _arg2:Number, _arg3:String, _arg4:Number, _arg5:Number, _arg6:Object){
var _local7:Object;
_local7 = this;
_arg1 = _local7.cleanName(_arg1);
if (((((_local7.s.isSet(_arg1)) && (_local7.s.isSet(_arg2)))) && (_local7.s.isSet(_arg3)))){
if (((!(_local7.s.isSet(_local7.list))) || (!(_local7.s.isSet(_local7.list[_arg1]))))){
_local7.open(_arg1, _arg2, _arg3, _arg6);
};
_local7.event(_arg1, _arg4, _arg5);
};
}
public function play(_arg1:String, _arg2:Number){
var m:Object;
var media:Object;
var monitor:Object;
var name = _arg1;
var offset = _arg2;
m = this;
m.event(name, 1, offset);
monitor = new Object();
monitor.m = m;
monitor.node = m.cleanName(name);
monitor.monitor = function (){
var _local1:Object;
var _local2:Object;
var _local3:Object;
_local1 = this.m;
_local2 = this.node;
_local3 = (((((_local1.s.isSet(_local2)) && (_local1.s.isSet(_local1.list)))) && (_local1.s.isSet(_local1.list[_local2])))) ? _local1.list[_local2] : null;
if (_local1.s.isSet(_local3)){
if (_local3.lastEventType == 1){
_local1.event(_local3.name, 3, -1);
};
} else {
this.node = null;
};
};
m.startMonitor(monitor);
}
public function set autoTrack(_arg1:Boolean){
this._autoTrack = _arg1;
if (this._autoTrack){
this.autoTrackInterval = this.s.setupInterval(this, "doAutoTrack", 100, null);
};
}
public function listenerFLVPlayback_stateChange(_arg1){
this.listenerFLVPlayback.stateChange(_arg1);
}
public function listenerBrightcove_videoStart(_arg1){
this.listenerBrightcove.videoStart(_arg1);
}
public function listenerMedia_change(_arg1){
this.listenerMedia.change(_arg1);
}
private function attach(_arg1:Object):Boolean{
var m:Object;
var member:String;
var childNum:Number;
var player:Object;
var monitor:Object;
var attached:Boolean;
var subAttached:Boolean;
var node = _arg1;
m = this;
attached = false;
if (m.s.isSet(node)){
if (((m.s.isSet(node, "getModule")) || (m.s.isSet(node, "showBrightcoveMenu")))){
player = node;
if ((((m.s.flashASVersion > 2)) && (m.s.isSet(node, "getModule")))){
player = node.getModule("experience");
if (((((m.s.isSet(player)) && (m.s.isSet(player, "getReady")))) && (player.getReady()))){
player = node.getModule("videoPlayer");
} else {
player = undefined;
};
};
if (((s.isSet(player)) && (s.isSet(player, "addEventListener")))){
if (!m.s.isSet(m.listenerBrightcove)){
m.listenerBrightcove = new Object();
m.listenerBrightcove.m = m;
m.listenerBrightcove.playerName = "Brightcove";
if (m.s.flashASVersion > 2){
m.listenerBrightcove.playerName = (m.listenerBrightcove.playerName + " 3");
} else {
m.listenerBrightcove.playerName = (m.listenerBrightcove.playerName + " 2");
};
m.listenerBrightcove.handleEvent = function (_arg1:Object, _arg2:Number, _arg3:Number){
var _local4:Object;
var _local5:String;
var _local6:Number;
var _local7:Object;
_local4 = this.m;
if (((_local4.s.isSet(_local4.autoTrack)) && (_local4.s.isSet(_arg1)))){
if (_local4.s.flashASVersion > 2){
_local7 = _arg1.getCurrentVideo();
} else {
_local7 = _arg1.getCurrentTitle();
};
if (((_local4.s.isSet(_local7)) && (_local4.s.isSet(_local7.id)))){
_local5 = ((this.playerName + ":") + _local7.id);
_local6 = (_local7.length / 1000);
if (_arg3 < 0){
_arg3 = _arg1.getVideoPosition();
};
if (!_local4.s.isSet(_arg3)){
_arg3 = 0;
};
_local4.autoEvent(_local5, _local6, this.playerName, _arg2, _arg3, _arg1);
};
};
};
m.listenerBrightcove.videoProgress = (m.listenerBrightcove.videoStart = (m.listenerBrightcove.progress = (m.listenerBrightcove.play = function (_arg1){
if (((((((this.m.s.isSet(_arg1)) && (this.m.s.isSet(_arg1.target)))) && (this.m.s.isSet(_arg1.target.isPlaying)))) && (_arg1.target.isPlaying()))){
this.handleEvent(_arg1.target, 1, ((typeof(_arg1.position) == "number")) ? _arg1.position : -1);
};
})));
m.listenerBrightcove.videoStop = (m.listenerBrightcove.startBuffering = (m.listenerBrightcove.pause = (m.listenerBrightcove.buffering = (m.listenerBrightcove.scrubber = (m.listenerBrightcove.seek = function (_arg1){
if (this.m.s.isSet(_arg1)){
this.handleEvent(_arg1.target, 2, -1);
};
})))));
m.listenerBrightcove.videoComplete = (m.listenerBrightcove.mediaComplete = function (_arg1){
if (this.m.s.isSet(_arg1)){
this.handleEvent(_arg1.target, 0, -1);
};
});
};
if (m.s.flashASVersion > 2){
player.addEventListener("videoProgress", m.listenerBrightcove_videoProgress);
player.addEventListener("videoStart", m.listenerBrightcove_videoStart);
player.addEventListener("videoStop", m.listenerBrightcove_videoStop);
player.addEventListener("startBuffering", m.listenerBrightcove_startBuffering);
player.addEventListener("seek", m.listenerBrightcove_seek);
player.addEventListener("videoComplete", m.listenerBrightcove_videoComplete);
} else {
player.addEventListener("progress", m.listenerBrightcove, "progress");
player.addEventListener("play", m.listenerBrightcove, "play");
player.addEventListener("pause", m.listenerBrightcove, "pause");
player.addEventListener("buffering", m.listenerBrightcove, "buffering");
player.addEventListener("scrubber", m.listenerBrightcove, "scrubber");
player.addEventListener("seek", m.listenerBrightcove, "seek");
player.addEventListener("mediaComplete", m.listenerBrightcove, "mediaComplete");
};
monitor = new Object();
monitor.m = m;
monitor.node = player;
monitor.monitor = function (){
var _local1:Object;
var _local2:Object;
_local1 = this.m;
_local2 = this.node;
if (((_local1.s.isSet(_local2.isPlaying)) && (_local2.isPlaying()))){
this.m.listenerBrightcove.handleEvent(_local2, 3, -1);
};
};
m.startMonitor(monitor);
attached = true;
return (attached);
};
};
if (((((((((0) && (m.s.isSet(node, "flvVideo")))) && (m.s.isSet(node.flvVideo, "mBandwidthDetector")))) && (m.s.isSet(node.flvVideo.mBandwidthDetector, "mVideoPlayer")))) && (m.s.isSet(node.flvVideo.mBandwidthDetector.mVideoPlayer, "addEventListener")))){
node = node.flvVideo.mBandwidthDetector.mVideoPlayer;
if (!m.s.isSet(m.listenerMaven)){
m.listenerMaven = new Object();
m.listenerMaven.m = m;
m.listenerMaven.playerName = "Maven Networks";
m.listenerMaven.handleEvent = function (_arg1:Object, _arg2:Number){
var _local3:Object;
var _local4:String;
var _local5:Number;
var _local6:Number;
_local3 = this.m;
if (((_local3.s.isSet(_local3.autoTrack)) && (_local3.s.isSet(_arg1)))){
if (_local3.s.flashASVersion > 2){
_local4 = _arg1.source;
} else {
_local4 = _arg1.contentPath;
};
_local5 = _arg1.totalTime;
_local6 = _arg1.playheadTime;
_local3.autoEvent(_local4, _local5, this.playerName, _arg2, _local6, _arg1);
};
};
m.listenerMaven.stateChange = function (_arg1){
var _local2:Object;
var _local3:Number;
var _local4:Object;
_local2 = this.m;
_local3 = -1;
if (((_local2.s.isSet(_arg1)) && (_local2.s.isSet(_arg1.target)))){
_local4 = _arg1.target;
if (_local2.s.isSet(_local4, "state")){
if (_local4.state == "playing"){
_local3 = 1;
} else {
if ((((((((((_local4.state == "stopped")) || ((_local4.state == "paused")))) || ((_local4.state == "buffering")))) || ((_local4.state == "rewinding")))) || ((_local4.state == "seeking")))){
_local3 = 2;
};
};
if (_local3 >= 0){
this.handleEvent(_arg1.target, _local3);
};
};
};
};
m.listenerMaven.complete = function (_arg1){
if (this.m.s.isSet(_arg1)){
this.handleEvent(_arg1.target, 0);
};
};
};
if (m.s.flashASVersion > 2){
node.addEventListener("complete", m.listenerMaven_complete);
node.addEventListener("stateChange", m.listenerMaven_stateChange);
} else {
node.addEventListener("complete", m.listenerMaven);
node.addEventListener("stateChange", m.listenerMaven);
};
monitor = new Object();
monitor.m = m;
monitor.node = node;
monitor.monitor = function (){
var _local1:Object;
var _local2:Object;
_local1 = this.m;
_local2 = this.node;
if (((_local1.s.isSet(_local2.state)) && ((_local2.state == "playing")))){
this.m.listenerMaven.handleEvent(_local2, 3);
};
};
m.startMonitor(monitor);
attached = true;
return (attached);
};
if (((m.s.isSet(node, "addEventListener")) && (m.s.isSet(node, "isFLVCuePointEnabled")))){
if (!m.s.isSet(m.listenerFLVPlayback)){
m.listenerFLVPlayback = new Object();
m.listenerFLVPlayback.m = m;
m.listenerFLVPlayback.playerName = "Flash FLVPlayback";
m.listenerFLVPlayback.handleEvent = function (_arg1:Object, _arg2:Number){
var _local3:Object;
var _local4:String;
var _local5:Number;
var _local6:Number;
_local3 = this.m;
if (((_local3.s.isSet(_local3.autoTrack)) && (_local3.s.isSet(_arg1)))){
if (_local3.s.flashASVersion > 2){
_local4 = _arg1.source;
} else {
_local4 = _arg1.contentPath;
};
_local5 = _arg1.totalTime;
_local6 = _arg1.playheadTime;
_local3.autoEvent(_local4, _local5, this.playerName, _arg2, _local6, _arg1);
};
};
m.listenerFLVPlayback.stateChange = function (_arg1){
var _local2:Object;
var _local3:Number;
var _local4:Object;
_local2 = this.m;
_local3 = -1;
if (((_local2.s.isSet(_arg1)) && (_local2.s.isSet(_arg1.target)))){
_local4 = _arg1.target;
if (_local2.s.isSet(_local4, "state")){
if (_local4.state == "playing"){
_local3 = 1;
} else {
if ((((((((((_local4.state == "stopped")) || ((_local4.state == "paused")))) || ((_local4.state == "buffering")))) || ((_local4.state == "rewinding")))) || ((_local4.state == "seeking")))){
_local3 = 2;
};
};
if (_local3 >= 0){
this.handleEvent(_arg1.target, _local3);
};
};
};
};
m.listenerFLVPlayback.complete = function (_arg1){
if (this.m.s.isSet(_arg1)){
this.handleEvent(_arg1.target, 0);
};
};
};
if (m.s.flashASVersion > 2){
node.addEventListener("complete", m.listenerFLVPlayback_complete);
node.addEventListener("stateChange", m.listenerFLVPlayback_stateChange);
} else {
node.addEventListener("complete", m.listenerFLVPlayback);
node.addEventListener("stateChange", m.listenerFLVPlayback);
};
monitor = new Object();
monitor.m = m;
monitor.node = node;
monitor.monitor = function (){
var _local1:Object;
var _local2:Object;
_local1 = this.m;
_local2 = this.node;
if (((_local1.s.isSet(_local2.state)) && ((_local2.state == "playing")))){
this.m.listenerFLVPlayback.handleEvent(_local2, 3);
};
};
m.startMonitor(monitor);
attached = true;
return (attached);
};
if (((m.s.isSet(node, "addEventListener")) && (m.s.isSet(node, "addCuePoint")))){
if (!m.s.isSet(m.listenerMedia)){
m.listenerMedia = new Object();
m.listenerMedia.m = m;
m.listenerMedia.playerName = "Flash Media";
m.listenerMedia.handleEvent = function (_arg1:Object, _arg2:Number){
var _local3:Object;
var _local4:String;
var _local5:Number;
var _local6:Number;
_local3 = this.m;
if (((_local3.s.isSet(_local3.autoTrack)) && (_local3.s.isSet(_arg1)))){
_local4 = _arg1.contentPath;
_local5 = _arg1.totalTime;
_local6 = _arg1.playheadTime;
_local3.autoEvent(_local4, _local5, this.playerName, _arg2, _local6, _arg1);
};
};
m.listenerMedia.complete = function (_arg1){
if (this.m.s.isSet(_arg1)){
this.handleEvent(_arg1.target, 0);
};
};
m.listenerMedia.click = function (_arg1){
if (((this.m.s.isSet(_arg1)) && (this.m.s.isSet(_arg1.target)))){
this.handleEvent(_arg1.target, (this.m.s.isSet(_arg1.target.playing)) ? 1 : 2);
};
};
m.listenerMedia.change = function (_arg1){
if (((this.m.s.isSet(_arg1)) && (this.m.s.isSet(_arg1.target)))){
this.handleEvent(_arg1.target, (this.m.s.isSet(_arg1.target.playing)) ? 1 : 2);
};
};
m.listenerMedia.scrubbing = function (_arg1){
if (this.m.s.isSet(_arg1)){
this.handleEvent(_arg1.target, 2);
};
};
};
if (m.s.flashASVersion > 2){
node.addEventListener("complete", m.listenerMedia_complete);
node.addEventListener("click", m.listenerMedia_click);
node.addEventListener("change", m.listenerMedia_change);
node.addEventListener("scrubbing", m.listenerMedia_scrubbing);
} else {
node.addEventListener("complete", m.listenerMedia);
node.addEventListener("click", m.listenerMedia);
node.addEventListener("change", m.listenerMedia);
node.addEventListener("scrubbing", m.listenerMedia);
};
monitor = new Object();
monitor.m = m;
monitor.node = node;
monitor.monitor = function (){
var _local1:Object;
var _local2:Object;
_local1 = this.m;
_local2 = this.node;
if (_local1.s.isSet(_local2.playing)){
this.m.listenerMedia.handleEvent(_local2, 3);
};
};
m.startMonitor(monitor);
attached = true;
return (attached);
};
if (m.s.flashASVersion > 2){
if (((m.s.isSet(node, "numChildren")) && (m.s.isSet(node, "getChildAt")))){
childNum = 0;
while (childNum < node.numChildren) {
subAttached = m.attach(node.getChildAt(childNum));
if (m.s.isSet(subAttached)){
attached = subAttached;
};
childNum = (childNum + 1);
};
};
} else {
for (member in node) {
if (((((((m.s.isSet(node[member])) && (m.s.isSet(node[member]._name)))) && ((node[member]._name == member)))) && ((((("" + node) + ".") + member) == ("" + node[member]))))){
subAttached = m.attach(node[member]);
if (m.s.isSet(subAttached)){
attached = subAttached;
};
};
};
};
};
return (attached);
}
public function listenerBrightcove_videoStop(_arg1){
this.listenerBrightcove.videoStop(_arg1);
}
public function open(_arg1:String, _arg2:Number, _arg3:String, _arg4:Object=null){
this._open(_arg1, _arg2, _arg3, _arg4);
}
public function track(_arg1:String){
var _local2:Object;
_local2 = this;
if (_local2.s.isSet(_local2.trackWhilePlaying)){
_local2.event(_arg1, 4, -1);
};
}
public function get autoTrack():Boolean{
return (this._autoTrack);
}
public function listenerBrightcove_videoProgress(_arg1){
this.listenerBrightcove.videoProgress(_arg1);
}
private function cleanName(_arg1:String):String{
var _local2:Object;
_local2 = this;
return (_local2.s.replace(_local2.s.replace(_local2.s.replace(_arg1, "\n", ""), "\r", ""), "--**--", ""));
}
public function listenerBrightcove_startBuffering(_arg1){
this.listenerBrightcove.startBuffering(_arg1);
}
public function close(_arg1:String){
this.event(_arg1, 0, -1);
}
public function listenerBrightcove_videoComplete(_arg1){
this.listenerBrightcove.videoComplete(_arg1);
}
}
}//package com.omniture
Section 24
//ActionSource_XML (com.omniture.ActionSource_XML)
package com.omniture {
import flash.events.*;
import flash.net.*;
public dynamic class ActionSource_XML {
public var data:Object;
public var loaded:Boolean;// = true
public var onDataReady:String;// = ""
private var _url:String;
private var loader:URLLoader;
public function ActionSource_XML(_arg1:Object){
loaded = true;
onDataReady = "";
super();
this.s = _arg1;
this.loader = new URLLoader();
this.loader.addEventListener(Event.COMPLETE, this.onComplete);
}
private function handleNode(_arg1:XML, _arg2:Object){
var _local3:String;
var _local4:XMLList;
var _local5:Number;
_local3 = _arg1.name();
if (((this.s.isSet(_local3)) && ((_arg1.nodeKind() == "element")))){
_local4 = _arg1.children();
if (((this.s.isSet(_local4)) && ((_local4.length() > 0)))){
if (_local4[0].nodeKind() == "text"){
_arg2[_local3] = ("" + _local4[0]);
} else {
_arg2[_local3] = new Object();
_local5 = 0;
while (_local5 < _local4.length()) {
this.handleNode(_local4[_local5], _arg2[_local3]);
_local5++;
};
};
};
};
}
public function get url():String{
return (this._url);
}
private function loadXML(){
this.loaded = false;
this.loader.load(new URLRequest(this._url));
}
private function onComplete(_arg1:Event){
var _local2:Object;
var _local3:XML;
_local2 = XML.settings();
XML.ignoreWhitespace = true;
XML.ignoreProcessingInstructions = true;
XML.ignoreComments = true;
_local3 = new XML(this.loader.data);
this.data = new Object();
if ((((_local3.name() == "config")) && ((_local3.nodeKind() == "element")))){
this.handleNode(_local3, this.data);
};
XML.setSettings(_local2);
if (this.s.isSet(this.onDataReady)){
var _local4 = this.s;
_local4[onDataReady](this.data);
};
this.loaded = true;
}
public function set url(_arg1:String){
this._url = _arg1;
if (this.s.isSet(this._url)){
this.loadXML();
};
}
}
}//package com.omniture
Section 25
//Back (fl.transitions.easing.Back)
package fl.transitions.easing {
public class Back {
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0):Number{
if (!_arg5){
_arg5 = 1.70158;
};
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 1)) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0):Number{
if (!_arg5){
_arg5 = 1.70158;
};
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * (((_arg5 + 1) * _arg1) - _arg5)) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0):Number{
if (!_arg5){
_arg5 = 1.70158;
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
_arg5 = (_arg5 * 1.525);
return ((((_arg3 / 2) * ((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) - _arg5))) + _arg2));
};
_arg1 = (_arg1 - 2);
_arg5 = (_arg5 * 1.525);
return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 2)) + _arg2));
}
}
}//package fl.transitions.easing
Section 26
//Tween (fl.transitions.Tween)
package fl.transitions {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class Tween extends EventDispatcher {
private var _position:Number;// = NAN
public var prevTime:Number;// = NAN
public var prevPos:Number;// = NAN
public var isPlaying:Boolean;// = false
private var _fps:Number;// = NAN
private var _time:Number;// = NAN
public var begin:Number;// = NAN
private var _finish:Number;// = NAN
public var change:Number;// = NAN
public var looping:Boolean;// = false
private var _intervalID:uint;// = 0
public var func:Function;
private var _timer:Timer;// = null
private var _startTime:Number;// = NAN
public var prop:String;// = ""
private var _duration:Number;// = NAN
public var obj:Object;// = null
public var useSeconds:Boolean;// = false
protected static var _mc:MovieClip = new MovieClip();
public function Tween(_arg1:Object, _arg2:String, _arg3:Function, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Boolean=false){
this.func = function (_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
};
super();
if (!arguments.length){
return;
};
this.obj = _arg1;
this.prop = _arg2;
this.begin = _arg4;
this.position = _arg4;
this.duration = _arg6;
this.useSeconds = _arg7;
if ((_arg3 is Function)){
this.func = _arg3;
};
this.finish = _arg5;
this._timer = new Timer(100);
this.start();
}
public function continueTo(_arg1:Number, _arg2:Number):void{
this.begin = this.position;
this.finish = _arg1;
if (!isNaN(_arg2)){
this.duration = _arg2;
};
this.start();
}
protected function startEnterFrame():void{
var _local1:Number;
if (isNaN(this._fps)){
_mc.addEventListener(Event.ENTER_FRAME, this.onEnterFrame, false, 0, true);
} else {
_local1 = (1000 / this._fps);
this._timer.delay = _local1;
this._timer.addEventListener(TimerEvent.TIMER, this.timerHandler, false, 0, true);
this._timer.start();
};
this.isPlaying = true;
}
public function stop():void{
this.stopEnterFrame();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_STOP, this._time, this._position));
}
private function fixTime():void{
if (this.useSeconds){
this._startTime = (getTimer() - (this._time * 1000));
};
}
public function set FPS(_arg1:Number):void{
var _local2:Boolean = this.isPlaying;
this.stopEnterFrame();
this._fps = _arg1;
if (_local2){
this.startEnterFrame();
};
}
public function get finish():Number{
return ((this.begin + this.change));
}
public function get duration():Number{
return (this._duration);
}
protected function stopEnterFrame():void{
if (isNaN(this._fps)){
_mc.removeEventListener(Event.ENTER_FRAME, this.onEnterFrame);
} else {
this._timer.stop();
};
this.isPlaying = false;
}
public function set time(_arg1:Number):void{
this.prevTime = this._time;
if (_arg1 > this.duration){
if (this.looping){
this.rewind((_arg1 - this._duration));
this.update();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_LOOP, this._time, this._position));
} else {
if (this.useSeconds){
this._time = this._duration;
this.update();
};
this.stop();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_FINISH, this._time, this._position));
};
} else {
if (_arg1 < 0){
this.rewind();
this.update();
} else {
this._time = _arg1;
this.update();
};
};
}
public function getPosition(_arg1:Number=NaN):Number{
if (isNaN(_arg1)){
_arg1 = this._time;
};
return (this.func(_arg1, this.begin, this.change, this._duration));
}
public function set finish(_arg1:Number):void{
this.change = (_arg1 - this.begin);
}
public function set duration(_arg1:Number):void{
this._duration = ((_arg1)<=0) ? Infinity : _arg1;
}
public function get position():Number{
return (this.getPosition(this._time));
}
public function setPosition(_arg1:Number):void{
this.prevPos = this._position;
if (this.prop.length){
this.obj[this.prop] = (this._position = _arg1);
};
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_CHANGE, this._time, this._position));
}
public function resume():void{
this.fixTime();
this.startEnterFrame();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_RESUME, this._time, this._position));
}
public function fforward():void{
this.time = this._duration;
this.fixTime();
}
protected function onEnterFrame(_arg1:Event):void{
this.nextFrame();
}
public function yoyo():void{
this.continueTo(this.begin, this.time);
}
public function nextFrame():void{
if (this.useSeconds){
this.time = ((getTimer() - this._startTime) / 1000);
} else {
this.time = (this._time + 1);
};
}
protected function timerHandler(_arg1:TimerEvent):void{
this.nextFrame();
_arg1.updateAfterEvent();
}
public function get FPS():Number{
return (this._fps);
}
public function rewind(_arg1:Number=0):void{
this._time = _arg1;
this.fixTime();
this.update();
}
public function set position(_arg1:Number):void{
this.setPosition(_arg1);
}
public function get time():Number{
return (this._time);
}
private function update():void{
this.setPosition(this.getPosition(this._time));
}
public function start():void{
this.rewind();
this.startEnterFrame();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_START, this._time, this._position));
}
public function prevFrame():void{
if (!this.useSeconds){
this.time = (this._time - 1);
};
}
}
}//package fl.transitions
Section 27
//TweenEvent (fl.transitions.TweenEvent)
package fl.transitions {
import flash.events.*;
public class TweenEvent extends Event {
public var position:Number;// = NAN
public var time:Number;// = NAN
public static const MOTION_START:String = "motionStart";
public static const MOTION_STOP:String = "motionStop";
public static const MOTION_LOOP:String = "motionLoop";
public static const MOTION_CHANGE:String = "motionChange";
public static const MOTION_FINISH:String = "motionFinish";
public static const MOTION_RESUME:String = "motionResume";
public function TweenEvent(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Boolean=false){
super(_arg1, _arg4, _arg5);
this.time = _arg2;
this.position = _arg3;
}
override public function clone():Event{
return (new TweenEvent(this.type, this.time, this.position, this.bubbles, this.cancelable));
}
}
}//package fl.transitions
Section 28
//Blip (Blip)
package {
import flash.media.*;
public dynamic class Blip extends Sound {
}
}//package
Section 29
//Boing_fast (Boing_fast)
package {
import flash.media.*;
public dynamic class Boing_fast extends Sound {
}
}//package
Section 30
//bubble_blue (bubble_blue)
package {
import flash.display.*;
public dynamic class bubble_blue extends MovieClip {
}
}//package
Section 31
//bubble_green (bubble_green)
package {
import flash.display.*;
public dynamic class bubble_green extends MovieClip {
}
}//package
Section 32
//bubble_orange (bubble_orange)
package {
import flash.display.*;
public dynamic class bubble_orange extends MovieClip {
}
}//package
Section 33
//bubble_red (bubble_red)
package {
import flash.display.*;
public dynamic class bubble_red extends MovieClip {
}
}//package
Section 34
//bubble_strobe (bubble_strobe)
package {
import flash.display.*;
public dynamic class bubble_strobe extends MovieClip {
}
}//package
Section 35
//bubble_yellow (bubble_yellow)
package {
import flash.display.*;
public dynamic class bubble_yellow extends MovieClip {
}
}//package
Section 36
//bubbleBlast (bubbleBlast)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.text.*;
public class bubbleBlast extends MovieClip {
private var spatters:Array;
private var trans;
public var ring:MovieClip;
public var score:MovieClip;
private var scope:Sprite;
private var bcolors:Array;
public function bubbleBlast(_arg1, _arg2, _arg3, _arg4, _arg5){
trans = new ColorTransform();
bcolors = [0xFF0000, 0xFF00, 0xFF, 0xFF6600, 0xFFFF00];
spatters = new Array();
super();
addFrameScript(13, frame14);
scope = _arg1;
trans.color = bcolors[_arg2];
ring.innerRing.transform.colorTransform = trans;
score.scoreTxt.text = _arg5;
score.scoreTxt.textColor = bcolors[_arg2];
x = _arg3;
y = _arg4;
alpha = 0.75;
scope.addChild(this);
spatter(bcolors[_arg2]);
addEventListener(Event.ENTER_FRAME, explode);
}
private function explode(_arg1:Event):void{
var _local2:* = 0;
while (_local2 < spatters.length) {
if (spatters[_local2].durr != spatters[_local2].time){
spatters[_local2].x = (spatters[_local2].x + spatters[_local2].xd);
spatters[_local2].y = (spatters[_local2].y + spatters[_local2].yd);
spatters[_local2].time++;
} else {
removeChild(spatters[_local2]);
delete spatters[_local2];
spatters.splice(_local2, 1);
};
_local2++;
};
if (spatters.length == 0){
removeEventListener(Event.ENTER_FRAME, explode);
};
}
private function spatter(_arg1):void{
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local2:* = 0;
while (_local2 < 100) {
_local3 = new MovieClip();
_local4 = 1;
_local5 = (((Math.random() * 360) * Math.PI) / 180);
_local6 = 1;
_local7 = (1 + (Math.random() * 5));
_local3.xd = (_local7 * Math.cos(_local5));
_local3.yd = (_local7 * Math.sin(_local5));
_local3.durr = Math.ceil((Math.random() * 9));
_local3.time = 0;
if (Math.random() < 0.05){
_arg1 = 0xFFFFFF;
_local4 = 0.25;
_local6 = 0.1;
};
_local3.graphics.beginFill(_arg1, _local4);
_local3.graphics.drawCircle(0, 0, _local6);
_local3.graphics.endFill();
_local3.cacheAsBitmap = true;
spatters.push(_local3);
addChild(_local3);
_local2++;
};
}
public function remove():void{
scope.removeChild(this);
delete ??getglobalscope
[this];
}
function frame14(){
stop();
remove();
}
}
}//package
Section 37
//bubbleField (bubbleField)
package {
import flash.events.*;
import flash.display.*;
import fl.transitions.easing.*;
import fl.transitions.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
public class bubbleField extends MovieClip {
public var effects:Sprite;
private var popArray:Array;
private var levelRate:int;// = 50
private var tID:Number;// = 0
private var popColor:ColorTransform;
private var pnum:Number;// = 0
private var bubbleDrop;
private var bubbleColors:Array;
private var addBubbleTimer:Timer;
private var doc:Object;
public var action:Boolean;// = false
private var speed:Number;
private var time:Number;
private var rnum:Number;// = 0
private var bubbleBevel;
public var rows:Array;
private var dropBubble:MovieClip;
private var masterRate:int;// = 750
public var shotType:int;// = 0
private var bnum:int;
private var bubbles:Array;
private var setFieldTimer:Timer;
private var popTimer:Timer;
public var field:MovieClip;
public function bubbleField(_arg1){
rows = new Array();
field = new MovieClip();
effects = new Sprite();
bubbles = [bubble_red, bubble_green, bubble_blue, bubble_orange, bubble_yellow];
bubbleColors = [0xFF0000, 0xFF00, 0xFF, 0xFF6600, 0xFFFF00];
bubbleBevel = new BevelFilter(4, 45, 0xFFFFFF, 1, 0, 1, 6, 6, 0.3);
bubbleDrop = new DropShadowFilter(2, 45, 0, 0.6, 4, 4);
popArray = new Array();
popColor = new ColorTransform();
super();
doc = _arg1;
buildBubbleField();
}
private function buildBubbleField():void{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
field.x = 70;
field.y = 60;
doc.addChild(field);
effects.x = 70;
effects.y = 60;
doc.addChild(effects);
var _local1:* = 0;
while (_local1 < 24) {
_local2 = [];
_local3 = (((_local1 % 2))==0) ? 0 : 1;
_local4 = 0;
while (_local4 < (25 - _local3)) {
_local5 = ((10 + (_local3 * 10)) + (_local4 * 20));
_local6 = (10 + (_local1 * 18));
_local2[_local4] = {x:_local5, y:_local6, mc:null, bc:null, br:_local1, bp:_local4, hook:false};
_local4++;
};
rows.push(_local2);
_local1++;
};
}
public function resetLevelField():void{
resetField();
createBubbleField();
doc.cannon.initCannon();
}
public function pauseControl():void{
if (doc.paused){
if (addBubbleTimer){
addBubbleTimer.stop();
};
} else {
if (addBubbleTimer){
addBubbleTimer.start();
};
};
}
private function setBubbleField(_arg1:TimerEvent):void{
if (rnum < bnum){
if (pnum < rows[rnum].length){
field.addChild(rows[rnum][pnum].mc);
doc.sound.playSound("blip", 0.1);
pnum++;
} else {
rnum++;
pnum = 0;
};
} else {
setFieldTimer.stop();
setFieldTimer.removeEventListener(TimerEvent.TIMER, setBubbleField);
rnum = (pnum = 0);
startBubbleField();
};
}
private function addBubble(_arg1:TimerEvent){
var _local2:*;
var _local3:*;
if (!action){
_local2 = Math.round((Math.random() * 24));
_local3 = Math.round((Math.random() * (bubbles.length - 1)));
dropBubble = new (bubbles[_local3]);
dropBubble.x = (10 + (_local2 * 20));
dropBubble.y = -10;
dropBubble.c = _local3;
dropBubble.filters = [bubbleBevel, bubbleDrop];
field.addChild(dropBubble);
field[("t" + tID++)] = new Tween(dropBubble, "y", Back.easeOut, -10, 10, speed, false);
pushBubble(_local2);
};
}
public function startBubbleField():void{
time = (((masterRate - (doc.viewport.level * levelRate)))>100) ? (masterRate - (doc.viewport.level * levelRate)) : 100;
speed = Math.ceil((time / 33.34));
addBubbleTimer = new Timer(time);
addBubbleTimer.addEventListener(TimerEvent.TIMER, addBubble);
addBubbleTimer.start();
doc.cannon.loadCannon();
}
public function locatePosition(_arg1:Object, _arg2:int):void{
var _local3:Object;
var _local5:int;
var _local6:Object;
var _local8:*;
var _local9:*;
shotType = _arg2;
_local8 = 0;
while (_local8 < rows.length) {
_local9 = 0;
while (_local9 < rows[_local8].length) {
if (rows[_local8][_local9].mc == _arg1){
_local3 = rows[_local8][_local9];
//unresolved jump
};
_local9++;
};
_local8++;
};
var _local4:* = ((Math.atan2((doc.cannon.shooter.y - _arg1.y), (doc.cannon.shooter.x - _arg1.x)) * 180) / Math.PI);
var _local7:* = (((_local3.br % 2))==0) ? 0 : 1;
if ((((_local4 >= -30)) && ((_local4 < 30)))){
_local5 = 0;
};
if ((((_local4 >= 30)) && ((_local4 < 90)))){
_local5 = 1;
};
if ((((_local4 >= 90)) && ((_local4 < 150)))){
_local5 = 2;
};
if ((((_local4 >= 150)) || ((_local4 < -150)))){
_local5 = 3;
};
if ((((_local4 < -90)) && ((_local4 >= -150)))){
_local5 = 4;
};
if ((((_local4 < -30)) && ((_local4 >= -90)))){
_local5 = 5;
};
if ((((_local5 == 2)) || ((_local5 == 4)))){
if (_local3.bp == 0){
_local7 = 1;
};
};
switch (_local5){
case 0:
_local6 = rows[_local3.br][(_local3.bp + 1)];
break;
case 1:
_local6 = rows[(_local3.br + 1)][(_local3.bp + _local7)];
break;
case 2:
_local6 = rows[(_local3.br + 1)][(_local3.bp - (1 - _local7))];
break;
case 3:
_local6 = rows[_local3.br][(_local3.bp - 1)];
break;
case 4:
_local6 = rows[(_local3.br - 1)][(_local3.bp - (1 - _local7))];
break;
case 5:
_local6 = rows[(_local3.br - 1)][(_local3.bp + _local7)];
break;
};
doc.cannon.shooter.x = _local6.x;
doc.cannon.shooter.y = _local6.y;
_local6.mc = doc.cannon.shooter;
_local6.bc = doc.cannon.type;
matchCheck(_local6);
}
private function setHook(_arg1, _arg2):void{
if (rows[_arg1][_arg2].hook){
if ((_arg1 % 2) == 1){
if (((((_arg1 - 1) >= 0)) && (!((rows[(_arg1 - 1)][_arg2].mc == null))))){
rows[(_arg1 - 1)][_arg2].hook = true;
};
if (((((((_arg1 - 1) >= 0)) && (((_arg2 + 1) <= 24)))) && (!((rows[(_arg1 - 1)][(_arg2 + 1)].mc == null))))){
rows[(_arg1 - 1)][(_arg2 + 1)].hook = true;
};
if (((((_arg2 - 1) >= 0)) && (!((rows[_arg1][(_arg2 - 1)].mc == null))))){
rows[_arg1][(_arg2 - 1)].hook = true;
};
if (((((_arg2 + 1) <= 23)) && (!((rows[_arg1][(_arg2 + 1)].mc == null))))){
rows[_arg1][(_arg2 + 1)].hook = true;
};
if (((((_arg1 + 1) <= 18)) && (!((rows[(_arg1 + 1)][_arg2].mc == null))))){
rows[(_arg1 + 1)][_arg2].hook = true;
};
if (((((((_arg1 + 1) <= 18)) && (((_arg2 + 1) <= 24)))) && (!((rows[(_arg1 + 1)][(_arg2 + 1)].mc == null))))){
rows[(_arg1 + 1)][(_arg2 + 1)].hook = true;
};
} else {
if (((((((_arg1 - 1) >= 0)) && ((_arg2 <= 23)))) && (!((rows[(_arg1 - 1)][_arg2].mc == null))))){
rows[(_arg1 - 1)][_arg2].hook = true;
};
if (((((((_arg1 - 1) >= 0)) && (((_arg2 - 1) >= 0)))) && (!((rows[(_arg1 - 1)][(_arg2 - 1)].mc == null))))){
rows[(_arg1 - 1)][(_arg2 - 1)].hook = true;
};
if (((((_arg2 - 1) >= 0)) && (!((rows[_arg1][(_arg2 - 1)].mc == null))))){
rows[_arg1][(_arg2 - 1)].hook = true;
};
if (((((_arg2 + 1) <= 24)) && (!((rows[_arg1][(_arg2 + 1)].mc == null))))){
rows[_arg1][(_arg2 + 1)].hook = true;
};
if (((((((_arg1 + 1) <= 18)) && ((_arg2 <= 23)))) && (!((rows[(_arg1 + 1)][_arg2].mc == null))))){
rows[(_arg1 + 1)][_arg2].hook = true;
};
if (((((((_arg1 + 1) <= 18)) && (((_arg2 - 1) >= 0)))) && (!((rows[(_arg1 + 1)][(_arg2 - 1)].mc == null))))){
rows[(_arg1 + 1)][(_arg2 - 1)].hook = true;
};
};
};
}
public function bouncePop(_arg1:Object):void{
var _local2:Object;
var _local3:*;
var _local4:*;
_local3 = 0;
while (_local3 < rows.length) {
_local4 = 0;
while (_local4 < rows[_local3].length) {
if (rows[_local3][_local4].mc == _arg1){
_local2 = rows[_local3][_local4];
//unresolved jump
};
_local4++;
};
_local3++;
};
doc.sound.playSound("pop", 0.5);
new bubbleBlast(effects, _local2.bc, _local2.x, _local2.y, 50);
doc.effects.createComet(doc.viewport.viewEffects, (_local2.x + 70), (_local2.y + 60), doc.viewport.bunnyMark.x, doc.viewport.bunnyMark.y, bubbleColors[_local2.bc]);
doc.viewport.addScore(2, 50);
field.removeChild(_local2.mc);
delete _local2.mc;
_local2.mc = null;
_local2.bc = null;
_local2.hook = false;
}
private function createBubbleField():void{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
bnum = (4 + doc.viewport.level);
var _local1:* = 0;
while (_local1 < bnum) {
_local2 = (((_local1 % 2))==0) ? 0 : 1;
_local3 = 0;
while (_local3 < (25 - _local2)) {
_local4 = Math.round((Math.random() * (bubbles.length - 1)));
_local5 = new (bubbles[_local4]);
_local5.x = rows[_local1][_local3].x;
_local5.y = rows[_local1][_local3].y;
_local5.filters = [bubbleBevel, bubbleDrop];
rows[_local1][_local3].mc = _local5;
rows[_local1][_local3].bc = _local4;
_local3++;
};
_local1++;
};
setFieldTimer = new Timer(20);
setFieldTimer.addEventListener(TimerEvent.TIMER, setBubbleField);
setFieldTimer.start();
}
private function removeBubbles(_arg1:Array):void{
action = true;
popArray = _arg1;
popTimer = new Timer(100);
popTimer.addEventListener(TimerEvent.TIMER, popBubble);
popTimer.start();
}
private function pushBubble(_arg1){
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Boolean;
var _local2:* = _arg1;
var _local3:* = [rows[0][_arg1]];
var _local4:* = 0;
while (_local4 < _local3.length) {
if (_local3[_local4].mc == null){
if (_local3.length == 1){
rows[0][_local2].mc = dropBubble;
rows[0][_local2].bc = dropBubble.c;
};
break;
};
if ((_local4 % 2) == 0){
_local7 = (_arg1 - 1);
_local8 = _arg1;
} else {
_local7 = _arg1;
_local8 = (_arg1 + 1);
};
if ((((_arg1 > 0)) && ((_arg1 < 24)))){
_local9 = ((rows[(_local4 + 1)][_local7].mc)==null) ? 0 : 1;
_local10 = ((rows[(_local4 + 1)][_local8].mc)==null) ? 0 : 1;
} else {
if (_arg1 == 0){
if ((_local4 % 2) == 0){
_local9 = 2;
_local10 = ((rows[(_local4 + 1)][_local8].mc)==null) ? 0 : 1;
} else {
_local9 = ((rows[(_local4 + 1)][_local7].mc)==null) ? 0 : 1;
_local10 = ((rows[(_local4 + 1)][_local8].mc)==null) ? 0 : 1;
};
} else {
if (_arg1 == 24){
if ((_local4 % 2) == 0){
_local9 = ((rows[(_local4 + 1)][_local7].mc)==null) ? 0 : 1;
_local10 = 2;
} else {
_local9 = ((rows[(_local4 + 1)][_local7].mc)==null) ? 0 : 1;
_local10 = ((rows[(_local4 + 1)][_local8].mc)==null) ? 0 : 1;
};
};
};
};
if (((!((_local9 == 2))) && (!((_local10 == 2))))){
if ((((_local9 == 0)) && ((_local10 == 0)))){
_local11 = Boolean(Math.round(Math.random()));
} else {
if ((((_local9 == 1)) && ((_local10 == 1)))){
_local11 = Boolean(Math.round(Math.random()));
} else {
if ((((_local9 == 0)) && ((_local10 == 1)))){
_local11 = true;
} else {
if ((((_local9 == 1)) && ((_local10 == 0)))){
_local11 = false;
};
};
};
};
if (_local11){
_local3.push(rows[(_local4 + 1)][_local7]);
_arg1 = _local7;
} else {
_local3.push(rows[(_local4 + 1)][_local8]);
_arg1 = _local8;
};
} else {
if (_local9 == 2){
_local3.push(rows[(_local4 + 1)][_local8]);
_arg1 = _local8;
} else {
if (_local10 == 2){
_local3.push(rows[(_local4 + 1)][_local7]);
_arg1 = _local7;
};
};
};
_local4++;
};
var _local5:* = (_local3.length - 1);
while (_local5 > 0) {
field[("t" + tID++)] = new Tween(_local3[(_local5 - 1)].mc, "x", Back.easeOut, _local3[(_local5 - 1)].x, _local3[_local5].x, speed, false);
field[("t" + tID++)] = new Tween(_local3[(_local5 - 1)].mc, "y", Back.easeOut, _local3[(_local5 - 1)].y, _local3[_local5].y, speed, false);
_local5--;
};
var _local6:* = (_local3.length - 1);
while (_local6 > 0) {
rows[_local3[_local6].br][_local3[_local6].bp].mc = _local3[(_local6 - 1)].mc;
rows[_local3[_local6].br][_local3[_local6].bp].bc = _local3[(_local6 - 1)].bc;
if (_local6 == 1){
rows[0][_local2].mc = dropBubble;
rows[0][_local2].bc = dropBubble.c;
};
_local6--;
};
if (gameCheck()){
gameComplete();
};
}
public function initField():void{
createBubbleField();
doc.cannon.initCannon();
}
private function gameComplete():void{
addBubbleTimer.stop();
addBubbleTimer.removeEventListener(TimerEvent.TIMER, addBubble);
doc.cannon.resetCannon();
doc.viewport.completeGame();
}
private function popBubble(_arg1:TimerEvent){
var _local2:int;
var _local3:*;
var _local4:*;
if (popArray.length > 0){
doc.sound.playSound("pop", 0.5);
_local2 = 0;
switch (shotType){
case 0:
_local2 = 10;
break;
case 1:
_local2 = 50;
break;
case 2:
_local2 = 50;
break;
case 10:
_local2 = 25;
break;
case 11:
_local2 = 100;
break;
case 12:
_local2 = 100;
break;
};
new bubbleBlast(effects, popArray[0].bc, popArray[0].x, popArray[0].y, _local2);
if ((((shotType == 1)) || ((shotType == 11)))){
doc.effects.createComet(doc.viewport.viewEffects, (popArray[0].x + 70), (popArray[0].y + 60), doc.viewport.turtleMark.x, doc.viewport.turtleMark.y, bubbleColors[popArray[0].bc]);
};
if ((((shotType == 2)) || ((shotType == 12)))){
doc.effects.createComet(doc.viewport.viewEffects, (popArray[0].x + 70), (popArray[0].y + 60), doc.viewport.bunnyMark.x, doc.viewport.bunnyMark.y, bubbleColors[popArray[0].bc]);
};
doc.viewport.addScore(doc.cannon.shotType, _local2);
_local3 = 0;
while (_local3 < rows.length) {
_local4 = 0;
while (_local4 < rows[_local3].length) {
if (rows[_local3][_local4] == popArray[0]){
field.removeChild(rows[_local3][_local4].mc);
delete rows[_local3][_local4].mc;
rows[_local3][_local4].mc = null;
rows[_local3][_local4].bc = null;
rows[_local3][_local4].hook = false;
break;
};
_local4++;
};
_local3++;
};
popArray.shift();
} else {
popTimer.stop();
popTimer.removeEventListener(TimerEvent.TIMER, popBubble);
orphanCheck();
};
}
private function matchCheck(_arg1:Object):void{
var match:Array;
var r:Number;
var p:Number;
var pos = _arg1;
var exclude:Function = function (_arg1):void{
var _local2:Boolean;
var _local3:* = 0;
while (_local3 < match.length) {
if (_arg1 == match[_local3]){
_local2 = true;
break;
};
_local3++;
};
if (!_local2){
match.push(_arg1);
};
};
match = [pos];
var i:* = 0;
while (i < match.length) {
r = match[i].br;
p = match[i].bp;
if ((r % 2) == 1){
if (((((r - 1) >= 0)) && ((rows[(r - 1)][p].bc == match[i].bc)))){
exclude(rows[(r - 1)][p]);
};
if (((((((r - 1) >= 0)) && (((p + 1) <= 24)))) && ((rows[(r - 1)][(p + 1)].bc == match[i].bc)))){
exclude(rows[(r - 1)][(p + 1)]);
};
if (((((p - 1) >= 0)) && ((rows[r][(p - 1)].bc == match[i].bc)))){
exclude(rows[r][(p - 1)]);
};
if (((((p + 1) <= 23)) && ((rows[r][(p + 1)].bc == match[i].bc)))){
exclude(rows[r][(p + 1)]);
};
if (((((r + 1) <= 18)) && ((rows[(r + 1)][p].bc == match[i].bc)))){
exclude(rows[(r + 1)][p]);
};
if (((((((r + 1) <= 18)) && (((p + 1) <= 24)))) && ((rows[(r + 1)][(p + 1)].bc == match[i].bc)))){
exclude(rows[(r + 1)][(p + 1)]);
};
} else {
if (((((((r - 1) >= 0)) && ((p <= 23)))) && ((rows[(r - 1)][p].bc == match[i].bc)))){
exclude(rows[(r - 1)][p]);
};
if (((((((r - 1) >= 0)) && (((p - 1) >= 0)))) && ((rows[(r - 1)][(p - 1)].bc == match[i].bc)))){
exclude(rows[(r - 1)][(p - 1)]);
};
if (((((p - 1) >= 0)) && ((rows[r][(p - 1)].bc == match[i].bc)))){
exclude(rows[r][(p - 1)]);
};
if (((((p + 1) <= 24)) && ((rows[r][(p + 1)].bc == match[i].bc)))){
exclude(rows[r][(p + 1)]);
};
if (((((((r + 1) <= 18)) && ((p <= 23)))) && ((rows[(r + 1)][p].bc == match[i].bc)))){
exclude(rows[(r + 1)][p]);
};
if (((((((r + 1) <= 18)) && (((p - 1) >= 0)))) && ((rows[(r + 1)][(p - 1)].bc == match[i].bc)))){
exclude(rows[(r + 1)][(p - 1)]);
};
};
i = (i + 1);
};
if (match.length >= 3){
removeBubbles(match);
} else {
orphanCheck();
};
}
public function twistyPop(_arg1:Object):void{
var _local2:Object;
var _local3:*;
var _local4:*;
_local3 = 0;
while (_local3 < rows.length) {
_local4 = 0;
while (_local4 < rows[_local3].length) {
if (rows[_local3][_local4].mc == _arg1){
_local2 = rows[_local3][_local4];
//unresolved jump
};
_local4++;
};
_local3++;
};
doc.sound.playSound("pop", 0.5);
new bubbleBlast(effects, _local2.bc, _local2.x, _local2.y, 50);
doc.effects.createComet(doc.viewport.viewEffects, (_local2.x + 70), (_local2.y + 60), doc.viewport.turtleMark.x, doc.viewport.turtleMark.y, bubbleColors[_local2.bc]);
doc.viewport.addScore(1, 50);
field.removeChild(_local2.mc);
delete _local2.mc;
_local2.mc = null;
_local2.bc = null;
_local2.hook = false;
}
private function gameCheck():Boolean{
var _local1:* = 0;
while (_local1 < rows[18].length) {
if (rows[18][_local1].mc != null){
return (true);
};
_local1++;
};
return (false);
}
public function orphanCheck():void{
var _local1:* = [];
var _local2:int;
var _local3:int;
_local2 = 0;
while (_local2 < rows.length) {
_local3 = 0;
while (_local3 < rows[_local2].length) {
rows[_local2][_local3].hook = false;
if (_local2 == 0){
rows[0][_local3].hook = true;
};
_local3++;
};
_local2++;
};
_local2 = 0;
while (_local2 < rows.length) {
_local3 = 0;
while (_local3 < rows[_local2].length) {
if (rows[_local2][_local3].mc != null){
setHook(_local2, _local3);
};
_local3++;
};
_local2++;
};
_local2 = (rows.length - 1);
while (_local2 >= 0) {
_local3 = (rows[_local2].length - 1);
while (_local3 >= 0) {
if (rows[_local2][_local3].mc != null){
setHook(_local2, _local3);
};
_local3--;
};
_local2--;
};
_local2 = 0;
while (_local2 < rows.length) {
_local3 = 0;
while (_local3 < rows[_local2].length) {
if (((!((rows[_local2][_local3].mc == null))) && (!(rows[_local2][_local3].hook)))){
_local1.push(rows[_local2][_local3]);
};
_local3++;
};
_local2++;
};
if (_local1.length > 0){
shotType = (shotType + 10);
removeBubbles(_local1);
} else {
levelCheck();
};
}
public function resetField():void{
var _local2:*;
if (((setFieldTimer) && (setFieldTimer.running))){
setFieldTimer.stop();
};
if (((setFieldTimer) && (setFieldTimer.hasEventListener(TimerEvent.TIMER)))){
setFieldTimer.removeEventListener(TimerEvent.TIMER, setBubbleField);
};
if (((addBubbleTimer) && (addBubbleTimer.running))){
addBubbleTimer.stop();
};
if (((addBubbleTimer) && (addBubbleTimer.hasEventListener(TimerEvent.TIMER)))){
addBubbleTimer.removeEventListener(TimerEvent.TIMER, addBubble);
};
if (((popTimer) && (popTimer.running))){
popTimer.stop();
};
if (((popTimer) && (popTimer.hasEventListener(TimerEvent.TIMER)))){
popTimer.removeEventListener(TimerEvent.TIMER, popBubble);
};
var _local1:* = 0;
while (_local1 < rows.length) {
_local2 = 0;
while (_local2 < rows[_local1].length) {
rows[_local1][_local2].mc = null;
rows[_local1][_local2].bc = null;
rows[_local1][_local2].hook = false;
_local2++;
};
_local1++;
};
while (field.numChildren > 0) {
field.removeChildAt(0);
};
}
private function levelCheck():void{
action = false;
if (gameCheck()){
gameComplete();
return;
};
if (doc.viewport.levelCount >= doc.viewport.levelGoal){
addBubbleTimer.stop();
addBubbleTimer.removeEventListener(TimerEvent.TIMER, addBubble);
doc.viewport.completeLevel();
} else {
doc.cannon.loadCannon();
};
}
}
}//package
Section 38
//bubbleMaster (bubbleMaster)
package {
import flash.events.*;
import flash.display.*;
import com.omniture.*;
public class bubbleMaster extends MovieClip {
public var effects:effectsEngine;
public var viewport:viewportEngine;
public var s:ActionSource;
public var bubblefield:bubbleField;
public var sound:soundEngine;
public var paused:Boolean;// = false
public var cannon:cannonEngine;
public function bubbleMaster():void{
addFrameScript(0, frame1);
stage.scaleMode = StageScaleMode.NO_SCALE;
sound = new soundEngine(this);
effects = new effectsEngine(this);
bubblefield = new bubbleField(this);
viewport = new viewportEngine(this);
cannon = new cannonEngine(this);
sound.playLoop();
viewport.initStartScreen();
}
public function restartGame():void{
viewport.resetViewport();
bubblefield.resetField();
viewport.initStartScreen();
}
public function pauseGame(_arg1:MouseEvent):void{
viewport.pauseBtn.chrome.gotoAndStop(((viewport.pauseBtn.chrome.currentLabel)=="on") ? "off" : "on");
if (paused){
paused = false;
sound.playLoop();
bubblefield.pauseControl();
viewport.twisty.play();
viewport.turtleLight.play();
viewport.turtleMark.play();
viewport.bouncy.play();
viewport.bunnyLight.play();
viewport.bunnyMark.play();
} else {
paused = true;
bubblefield.pauseControl();
sound.stopSound();
viewport.twisty.stop();
viewport.turtleLight.stop();
viewport.turtleMark.stop();
viewport.bouncy.stop();
viewport.bunnyLight.stop();
viewport.bunnyMark.stop();
};
}
function frame1(){
configActionSource();
}
public function configActionSource(){
s = new ActionSource();
s.account = "viaaddictinggames";
s.pageName = "";
s.pageURL = "";
s.charSet = "ISO-8859-1";
s.currencyCode = "USD";
s.trackClickMap = true;
s.movieID = "omniBubbleMaster";
s.debugTracking = true;
s.trackLocal = true;
s.dc = "112";
addChild(s);
}
public function startGame():void{
bubblefield.initField();
}
}
}//package
Section 39
//bunnyMedal (bunnyMedal)
package {
import flash.display.*;
public dynamic class bunnyMedal extends MovieClip {
}
}//package
Section 40
//BUZZER2 (BUZZER2)
package {
import flash.media.*;
public dynamic class BUZZER2 extends Sound {
}
}//package
Section 41
//cannonEngine (cannonEngine)
package {
import flash.events.*;
import flash.display.*;
import fl.transitions.easing.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
public class cannonEngine extends MovieClip {
public var shooter:MovieClip;
public var bBubble:Boolean;// = false
private var bubbleDrop;
private var bounceTimer:Timer;
public var tBubble:Boolean;// = false
public var onDeck:int;
private var rmax;// = 19
private var flightTimer:Timer;
private var bubbleColor;
private var doc:Object;
public var flightSpeed:Number;// = 10
public var tAngle:Number;// = 0
public var type:int;
public var flightAngle:Number;
public var tSpeed:Number;// = 0
private var bubbleBevel;
public var shotType:int;// = 0
public var bounceComplete:Boolean;// = false
public var deckhole:MovieClip;
public var live:Boolean;// = false
private var bubbles:Array;
public var flightRate:Number;// = 5
public var tDir:Number;// = 1
public var tRate:Number;// = 0
public var flight:Boolean;// = false
public function cannonEngine(_arg1):void{
bubbles = [bubble_red, bubble_green, bubble_blue, bubble_orange, bubble_yellow];
bubbleColor = [0xFF0000, 0xFF00, 0xFF, 0xFF9900, 0xFFFF00];
bubbleBevel = new BevelFilter(4, 45, 0xFFFFFF, 1, 0, 1, 6, 6, 0.3);
bubbleDrop = new DropShadowFilter(2, 45, 0, 0.6, 4, 4);
bounceTimer = new Timer(500);
super();
doc = _arg1;
x = 320;
y = 440;
doc.addChild(this);
}
public function loadCannon():void{
var _local3:*;
var _local4:*;
shotType = 0;
type = onDeck;
shooter = new (bubbles[type]);
shooter.x = (250 + (10 * Math.cos(((rotation * Math.PI) / 180))));
shooter.y = (380 + (10 * Math.sin(((rotation * Math.PI) / 180))));
shooter.filters = [bubbleBevel, bubbleDrop];
doc.bubblefield.field.addChild(shooter);
onDeck = Math.round((Math.random() * (bubbles.length - 1)));
var _local1:* = new ColorTransform();
_local1.color = bubbleColor[onDeck];
deckhole.bg.transform.colorTransform = _local1;
var _local2:* = ((Math.round((Math.random() * 100)))<15) ? true : false;
if (_local2){
_local3 = Math.round(Math.random());
switch (_local3){
case 0:
tBubble = true;
shotType = 1;
doc.viewport.turtleLight.visible = true;
tRate = (0.05 + (Math.random() * 0.05));
tDir = ((Math.random())>0.5) ? -1 : 1;
showBonusTitle(1);
break;
case 1:
bBubble = true;
shotType = 2;
doc.viewport.bunnyLight.visible = true;
showBonusTitle(2);
break;
};
_local4 = new bubble_strobe();
_local4.name = "strobe";
shooter.addChild(_local4);
doc.sound.playSound("bell", 0.5);
doc.effects.createTrail("bonusTrail", shooter, doc.bubblefield.effects, bubbleColor[type]);
doc.effects.createFizzle("bonusFizzle", shooter, doc.bubblefield.effects, bubbleColor[type]);
};
flight = false;
live = true;
}
private function checkBounds(_arg1, _arg2):Boolean{
var _local5:Number;
var _local6:Number;
var _local3:Number = Math.cos(((flightAngle * Math.PI) / 180));
var _local4:Number = Math.sin(((flightAngle * Math.PI) / 180));
if (((((_arg1 - 10) < 0)) || (((_arg1 + 10) > 500)))){
if ((_arg1 - 10) < 0){
_local5 = (_arg1 - 10);
shooter.x = 10;
};
if ((_arg1 + 10) > 500){
_local5 = (490 - _arg1);
shooter.x = 490;
};
shooter.y = (shooter.y - (Math.tan(((flightAngle * Math.PI) / 180)) * _local5));
flightAngle = (-180 - flightAngle);
doc.sound.playSound("boing", 1);
return (true);
};
if (((((_arg2 - 10) < 0)) || (((_arg2 + 10) > 400)))){
if ((_arg2 - 10) < 0){
_local6 = (_arg2 - 10);
shooter.y = 10;
};
if ((_arg2 + 10) > 400){
_local6 = (390 - _arg2);
shooter.y = 390;
};
shooter.x = (shooter.x - ((1 / Math.tan(((flightAngle * Math.PI) / 180))) * _local6));
flightAngle = -(flightAngle);
doc.sound.playSound("boing", 1);
return (true);
};
return (false);
}
private function checkNormal():MovieClip{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local1:* = 1;
while (_local1 <= flightSpeed) {
_local2 = (shooter.x + (_local1 * Math.cos(((flightAngle * Math.PI) / 180))));
_local3 = (shooter.y + (_local1 * Math.sin(((flightAngle * Math.PI) / 180))));
if (checkBounds(_local2, _local3)){
return (null);
};
_local4 = getQuads(_local2, _local3);
_local5 = [];
_local6 = 0;
while (_local6 < _local4.length) {
_local7 = Point.distance(new Point(shooter.x, shooter.y), new Point(_local4[_local6].x, _local4[_local6].y));
if (_local7 <= 20){
_local5.push({d:_local7, mc:_local4[_local6]});
};
_local6++;
};
if (_local5.length > 0){
_local5.sortOn("d", Array.NUMERIC);
return (_local5[0].mc);
};
_local1++;
};
return (null);
}
private function checkTwist():MovieClip{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
_local1 = 1;
while (_local1 <= 20) {
_local2 = (tSpeed / 20);
_local3 = (2 + (0.5 * tAngle));
_local4 = ((shooter.x + ((_local1 * _local2) * Math.cos(((flightAngle * Math.PI) / 180)))) + (_local3 * Math.cos(tAngle)));
_local5 = ((shooter.y + ((_local1 * _local2) * Math.sin(((flightAngle * Math.PI) / 180)))) + (_local3 * Math.sin(tAngle)));
if ((((((((_local4 < 0)) || ((_local4 > 500)))) || ((_local5 < 0)))) || ((_local5 > 400)))){
flightTimer.stop();
doc.effects.clearTrail("bonusTrail");
doc.sound.stopTwisty();
doc.viewport.turtleLight.visible = false;
tBubble = false;
tSpeed = 0;
tAngle = 0;
shooter.removeChild(shooter.getChildByName("strobe"));
doc.bubblefield.field.removeChild(shooter);
doc.bubblefield.shotType = 1;
doc.bubblefield.orphanCheck();
break;
};
_local6 = getQuads(_local4, _local5);
_local7 = 0;
while (_local7 < _local6.length) {
_local8 = Point.distance(new Point(_local4, _local5), new Point(_local6[_local7].x, _local6[_local7].y));
if (_local8 <= 10){
doc.bubblefield.twistyPop(_local6[_local7]);
};
_local7++;
};
_local1++;
};
return (null);
}
private function updateCannon(_arg1:Event):void{
if (!doc.paused){
rotation = ((Math.atan2((doc.bubblefield.field.mouseY - 380), (doc.bubblefield.field.mouseX - 250)) * 180) / Math.PI);
if ((((rotation < 180)) && ((rotation > 90)))){
rotation = 180;
} else {
if ((((rotation > 0)) && ((rotation < 90)))){
rotation = 0;
};
};
if (((!((shooter == null))) && (!(flight)))){
shooter.x = (250 + (10 * Math.cos(((rotation * Math.PI) / 180))));
shooter.y = (380 + (10 * Math.sin(((rotation * Math.PI) / 180))));
};
};
}
public function resetCannon():void{
if (bounceTimer.running){
bounceTimer.stop();
};
if (flightTimer.running){
flightTimer.stop();
};
if (bounceTimer.hasEventListener(TimerEvent.TIMER)){
bounceTimer.removeEventListener(TimerEvent.TIMER, bounceTick);
};
doc.removeEventListener(MouseEvent.MOUSE_DOWN, triggerCannon);
removeEventListener(Event.ENTER_FRAME, updateCannon);
live = false;
flight = false;
}
public function initCannon():void{
bounceTimer.addEventListener(TimerEvent.TIMER, bounceTick);
doc.addEventListener(MouseEvent.MOUSE_DOWN, triggerCannon);
addEventListener(Event.ENTER_FRAME, updateCannon);
}
private function checkBounce():MovieClip{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:MovieClip;
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
var _local12:*;
var _local13:*;
var _local14:*;
var _local15:*;
_local1 = 1;
while (_local1 <= flightSpeed) {
_local2 = (shooter.x + (_local1 * Math.cos(((flightAngle * Math.PI) / 180))));
_local3 = (shooter.y + (_local1 * Math.sin(((flightAngle * Math.PI) / 180))));
if (checkBounds(_local2, _local3)){
return (null);
};
_local4 = getQuads(_local2, _local3);
_local5 = 0;
while (_local5 < _local4.length) {
_local6 = _local4[_local5];
_local7 = Point.distance(new Point(_local2, _local3), new Point(_local6.x, _local6.y));
if (_local7 <= 20){
doc.sound.playSound("boing", 1);
_local8 = Math.atan2((_local3 - _local6.y), (_local2 - _local6.x));
_local2 = (_local6.x + (20 * Math.cos(_local8)));
_local3 = (_local6.y + (20 * Math.sin(_local8)));
_local9 = Math.atan2((_local6.y - _local3), (_local6.x - _local2));
_local10 = (((_local2 - shooter.x) * Math.cos(_local9)) + ((_local3 - shooter.y) * Math.sin(_local9)));
_local11 = (-(((_local2 - shooter.x) * Math.sin(_local9))) + ((_local3 - shooter.y) * Math.cos(_local9)));
_local12 = ((1 * (1 - 2)) / (1 + 1));
_local13 = ((_local12 * Math.cos(_local9)) - (_local11 * Math.sin(_local9)));
_local14 = ((_local12 * Math.sin(_local9)) + (_local11 * Math.cos(_local9)));
_local15 = Math.atan2(((_local3 + _local14) - _local3), ((_local2 + _local13) - _local2));
flightAngle = ((_local15 * 180) / Math.PI);
shooter.x = _local2;
shooter.y = _local3;
doc.bubblefield.bouncePop(_local6);
//unresolved jump
};
_local5++;
};
_local1++;
};
return (null);
}
public function bounceTick(_arg1:TimerEvent):void{
if (_arg1.target.currentCount == 6){
bounceComplete = true;
bounceTimer.stop();
bounceTimer.reset();
} else {
doc.viewport.bCounter.count.gotoAndStop((6 - _arg1.target.currentCount));
doc.viewport.bCounter.gotoAndPlay("go");
};
}
public function flightControl():void{
if (doc.paused){
if (flightTimer.hasEventListener(TimerEvent.TIMER)){
flightTimer.stop();
};
} else {
if (flightTimer.hasEventListener(TimerEvent.TIMER)){
flightTimer.start();
};
};
}
public function fireCannon():void{
var _local1:*;
live = false;
flight = true;
doc.bubblefield.action = true;
flightAngle = ((Math.atan2((doc.bubblefield.field.mouseY - 380), (doc.bubblefield.field.mouseX - 250)) * 180) / Math.PI);
if (((tBubble) || (bBubble))){
doc.effects.clearFizzle("bonusFizzle");
};
flightRate = (tBubble) ? 20 : 5;
if (tBubble){
doc.sound.playSound("slidewhistle", 1);
};
if (bBubble){
_local1 = new ColorTransform();
_local1.color = bubbleColor[type];
doc.viewport.bCounter.count.bg.transform.colorTransform = _local1;
doc.viewport.bCounter.count.bg.alpha = 0.7;
bounceTimer.start();
};
flightTimer = new Timer(flightRate);
flightTimer.addEventListener(TimerEvent.TIMER, flightCheck);
flightTimer.start();
doc.sound.playSound("thwang", 0.5);
}
private function triggerCannon(_arg1:MouseEvent):void{
if (((live) && (!(doc.paused)))){
if (_arg1.stageY < 440){
fireCannon();
};
};
}
private function showBonusTitle(_arg1:int):void{
doc.viewport.bonusClip.bonusTitle.gotoAndStop(_arg1);
doc.viewport.bonusClip.play();
}
private function getQuads(_arg1, _arg2):Array{
var _local3:* = [];
var _local4:* = doc.bubblefield.rows;
var _local5:* = Math.floor((_arg2 / 18));
var _local6:* = (((_local5 % 2))==0) ? 0 : 10;
var _local7:* = Math.floor(((_arg1 - _local6) / 20));
if (_local7 < 0){
_local7 = 0;
};
if ((_local5 % 2) == 1){
if (((((_local5 - 1) >= 0)) && (!((_local4[(_local5 - 1)][_local7].mc == null))))){
_local3.push(_local4[(_local5 - 1)][_local7].mc);
};
if (((((((_local5 - 1) >= 0)) && (((_local7 + 1) <= 24)))) && (!((_local4[(_local5 - 1)][(_local7 + 1)].mc == null))))){
_local3.push(_local4[(_local5 - 1)][(_local7 + 1)].mc);
};
if (((((_local7 - 1) >= 0)) && (!((_local4[_local5][(_local7 - 1)].mc == null))))){
_local3.push(_local4[_local5][(_local7 - 1)].mc);
};
if ((((((_local5 >= 0)) && ((_local7 <= 23)))) && (!((_local4[_local5][_local7].mc == null))))){
_local3.push(_local4[_local5][_local7].mc);
};
if (((((_local7 + 1) <= 23)) && (!((_local4[_local5][(_local7 + 1)].mc == null))))){
_local3.push(_local4[_local5][(_local7 + 1)].mc);
};
if (((((_local5 + 1) <= rmax)) && (!((_local4[(_local5 + 1)][_local7].mc == null))))){
_local3.push(_local4[(_local5 + 1)][_local7].mc);
};
if (((((((_local5 + 1) <= rmax)) && (((_local7 + 1) <= 24)))) && (!((_local4[(_local5 + 1)][(_local7 + 1)].mc == null))))){
_local3.push(_local4[(_local5 + 1)][(_local7 + 1)].mc);
};
} else {
if (((((((_local5 - 1) >= 0)) && ((_local7 <= 23)))) && (!((_local4[(_local5 - 1)][_local7].mc == null))))){
_local3.push(_local4[(_local5 - 1)][_local7].mc);
};
if (((((((_local5 - 1) >= 0)) && (((_local7 - 1) >= 0)))) && (!((_local4[(_local5 - 1)][(_local7 - 1)].mc == null))))){
_local3.push(_local4[(_local5 - 1)][(_local7 - 1)].mc);
};
if (((((_local7 - 1) >= 0)) && (!((_local4[_local5][(_local7 - 1)].mc == null))))){
_local3.push(_local4[_local5][(_local7 - 1)].mc);
};
if ((((((_local5 >= 0)) && ((_local7 <= 24)))) && (!((_local4[_local5][_local7].mc == null))))){
_local3.push(_local4[_local5][_local7].mc);
};
if (((((_local7 + 1) <= 24)) && (!((_local4[_local5][(_local7 + 1)].mc == null))))){
_local3.push(_local4[_local5][(_local7 + 1)].mc);
};
if (((((((_local5 + 1) <= rmax)) && ((_local7 <= 23)))) && (!((_local4[(_local5 + 1)][_local7].mc == null))))){
_local3.push(_local4[(_local5 + 1)][_local7].mc);
};
if (((((((_local5 + 1) <= rmax)) && (((_local7 - 1) >= 0)))) && (!((_local4[(_local5 + 1)][(_local7 - 1)].mc == null))))){
_local3.push(_local4[(_local5 + 1)][(_local7 - 1)].mc);
};
};
return (_local3);
}
public function flightCheck(_arg1:TimerEvent):void{
var _local3:*;
if (doc.paused){
return;
};
var _local2:MovieClip;
if (((!(tBubble)) && (!(bBubble)))){
_local2 = checkNormal();
};
if (bBubble){
if (bounceComplete){
_local2 = checkNormal();
} else {
checkBounce();
};
};
if (tBubble){
_local2 = checkTwist();
};
if (_local2 == null){
if (!tBubble){
shooter.x = (shooter.x + (flightSpeed * Math.cos(((flightAngle * Math.PI) / 180))));
shooter.y = (shooter.y + (flightSpeed * Math.sin(((flightAngle * Math.PI) / 180))));
};
if (tBubble){
_local3 = (2 + (0.5 * tAngle));
shooter.x = (shooter.x + ((tSpeed * Math.cos(((flightAngle * Math.PI) / 180))) + (_local3 * Math.cos(tAngle))));
shooter.y = (shooter.y + ((tSpeed * Math.sin(((flightAngle * Math.PI) / 180))) + (_local3 * Math.sin(tAngle))));
tAngle = (tAngle + (tDir * (Math.PI / 10)));
tSpeed = (tSpeed + tRate);
};
};
if (_local2){
flightTimer.stop();
if (bBubble){
doc.effects.clearTrail("bonusTrail");
shooter.removeChild(shooter.getChildByName("strobe"));
doc.viewport.turtleLight.visible = false;
doc.viewport.bunnyLight.visible = false;
};
if (bBubble){
bBubble = false;
bounceComplete = false;
};
doc.bubblefield.locatePosition(_local2, shotType);
};
}
}
}//package
Section 42
//DobrChutnn_liteMP3 (DobrChutnn_liteMP3)
package {
import flash.media.*;
public dynamic class DobrChutnn_liteMP3 extends Sound {
}
}//package
Section 43
//effectsEngine (effectsEngine)
package {
import flash.events.*;
import flash.display.*;
import fl.transitions.easing.*;
import flash.geom.*;
import flash.utils.*;
import flash.filters.*;
dynamic class effectsEngine extends MovieClip {
private var comets:Array;
private var timer:Timer;
private var cnum:int;// = 0
private var scope:Object;
private var bnum:int;// = 0
private var trails:Array;
public var particles:Array;
private var colors;
private var doc:Object;
private var blasts:Array;
private var fizzles:Array;
function effectsEngine(_arg1:Object):void{
colors = [0xFF0000, 0xFF00, 0xFF, 0xFF9900, 0xFFFF00];
particles = new Array();
trails = new Array();
fizzles = new Array();
timer = new Timer(20);
blasts = new Array();
comets = new Array();
super();
doc = _arg1;
scope = this;
timer.addEventListener(TimerEvent.TIMER, process);
timer.start();
}
public function createComet(_arg1:Object, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:uint=0xFFFFFF, _arg7:Function=null, _arg8:Object=null):void{
this[("orb" + cnum)] = new MovieClip();
this[("orb" + cnum)].id = cnum;
if (_arg7 != null){
this[("orb" + cnum)].handler = _arg7;
this[("orb" + cnum)].props = _arg8;
this[("orb" + cnum)].evt = new particleEvent();
this[("orb" + cnum)].evt.addEventListener(particleEvent.COMPLETE, this[("orb" + cnum)].handler);
};
this[("orb" + cnum)].x = _arg2;
this[("orb" + cnum)].y = _arg3;
this[("orb" + cnum)].graphics.beginFill(_arg6, 0.75);
this[("orb" + cnum)].graphics.drawCircle(0, 0, 6);
this[("orb" + cnum)].graphics.endFill();
this[("orb" + cnum)].filters = [new GlowFilter(0xFFFFFF, 1, 10, 10), new BlurFilter(10, 10)];
var _local9:* = ((_arg2)<_arg4) ? (_arg4 - ((_arg4 - _arg2) / 2)) : (_arg4 + ((_arg2 - _arg4) / 2));
var _local10:* = ((_arg3)<_arg5) ? (_arg3 - ((_arg5 - _arg3) + 50)) : (_arg5 - ((_arg3 - _arg5) + 50));
this[("orb" + cnum)].ptA = new Point(_arg2, _arg3);
this[("orb" + cnum)].ptB = new Point(_arg4, _arg5);
this[("orb" + cnum)].ptC = new Point(_local9, _local10);
this[("orb" + cnum)].t = 0;
this[("orb" + cnum)].s = 0.1;
this[("orb" + cnum)].color = _arg6;
_arg1.addChild(this[("orb" + cnum)]);
createTrail(("c" + cnum), this[("orb" + cnum)], _arg1, _arg6);
comets.push(this[("orb" + cnum)]);
cnum++;
}
public function createFizzle(_arg1:String, _arg2:Object, _arg3:Object, _arg4:uint=0):void{
this[_arg1] = {ind:fizzles.length, obj:_arg2, lev:_arg3, clr:_arg4};
fizzles.push(this[_arg1]);
}
public function createBlast(_arg1:Object, _arg2:Number, _arg3:Number, _arg4:int, _arg5:uint, _arg6:uint=0xFFFFFF):void{
blasts.push({lev:_arg1, x:_arg2, y:_arg3, ct:0, tt:_arg4, d:_arg5, c:_arg6});
}
public function clearComet(_arg1:MovieClip):void{
clearTrail(("c" + _arg1.id));
comets.splice(comets.indexOf(_arg1), 1);
_arg1.parent.removeChild(_arg1);
delete this[("orb" + _arg1.id)];
}
public function clearFizzle(_arg1:String):void{
fizzles.splice(this[_arg1].ind, 1);
delete this[_arg1];
}
public function createTrail(_arg1:String, _arg2:Object, _arg3:Object, _arg4:uint=0xFFFFFF):void{
this[_arg1] = {ind:trails.length, obj:_arg2, lev:_arg3, clr:_arg4, loc:new Point(_arg2.x, _arg2.y)};
trails.push(this[_arg1]);
}
private function process(_arg1:TimerEvent):void{
var _local7:*;
var _local8:*;
var _local9:*;
var _local10:*;
var _local11:*;
var _local12:*;
var _local13:*;
var _local14:*;
var _local15:*;
var _local16:*;
var _local17:uint;
var _local18:*;
var _local19:*;
var _local20:*;
var _local21:*;
var _local22:*;
var _local23:*;
var _local24:uint;
var _local25:*;
var _local26:*;
var _local27:*;
var _local28:*;
var _local29:Number;
var _local30:Number;
var _local31:uint;
var _local2:* = 0;
while (_local2 < trails.length) {
_local7 = new Point(trails[_local2].obj.x, trails[_local2].obj.y);
_local8 = new Point(trails[_local2].loc.x, trails[_local2].loc.y);
_local9 = Math.atan2((_local7.y - _local8.y), (_local7.x - _local8.x));
_local10 = Math.round(Point.distance(_local7, _local8));
_local11 = (Math.PI + _local9);
_local12 = 0;
while (_local12 < (_local10 / 4)) {
_local13 = (_local10 + (Math.random() * _local10));
_local14 = ((_local12)<((_local10 / 2) / 2)) ? 2 : 4;
_local15 = ((_local7.x + (_local13 * Math.cos(_local11))) + ((Math.random() * (trails[_local2].obj.width / _local14)) * Math.cos(((Math.random() * 2) * Math.PI))));
_local16 = ((_local7.y + (_local13 * Math.sin(_local11))) + ((Math.random() * (trails[_local2].obj.height / _local14)) * Math.sin(((Math.random() * 2) * Math.PI))));
_local17 = ((Math.random())<0.5) ? trails[_local2].clr : 0xFFFFFF;
particles.push(new Glitter(trails[_local2].lev, scope, _local15, _local16, _local9, _local10, _local17));
_local12++;
};
trails[_local2].loc = _local7;
_local2++;
};
var _local3:* = 0;
while (_local3 < fizzles.length) {
_local18 = 0;
while (_local18 < 2) {
_local19 = ((Math.random() * 2) * Math.PI);
_local20 = (10 + Math.round((Math.random() * 20)));
_local21 = (fizzles[_local3].obj.x + ((fizzles[_local3].obj.width / 2) - (Math.random() * fizzles[_local3].obj.width)));
_local22 = (fizzles[_local3].obj.y + ((fizzles[_local3].obj.height / 2) - (Math.random() * fizzles[_local3].obj.height)));
_local23 = ((fizzles[_local3].clr)==0) ? colors[Math.round(((Math.random() * colors.length) - 1))] : fizzles[_local3].clr;
_local24 = ((Math.random())<0.5) ? _local23 : 0xFFFFFF;
particles.push(new Glitter(fizzles[_local3].lev, scope, _local21, _local22, _local19, _local20, _local24));
_local18++;
};
_local3++;
};
var _local4:* = 0;
while (_local4 < comets.length) {
_local25 = comets[_local4];
if ((_local25.t + _local25.s) <= 1){
_local25.t = (_local25.t + _local25.s);
_local26 = (((((1 - _local25.t) * (1 - _local25.t)) * _local25.ptA.x) + (((2 * (1 - _local25.t)) * _local25.t) * _local25.ptC.x)) + ((_local25.t * _local25.t) * _local25.ptB.x));
_local27 = (((((1 - _local25.t) * (1 - _local25.t)) * _local25.ptA.y) + (((2 * (1 - _local25.t)) * _local25.t) * _local25.ptC.y)) + ((_local25.t * _local25.t) * _local25.ptB.y));
_local25.x = _local26;
_local25.y = _local27;
} else {
if (_local25.evt != null){
_local25.evt.position = new Point(_local25.x, _local25.y);
_local25.evt.color = _local25.color;
_local25.evt.props = _local25.props;
_local25.evt.dispatch("complete");
_local25.evt.removeEventListener(particleEvent.COMPLETE, _local25.handler);
delete _local25.evt;
};
clearComet(_local25);
};
_local4++;
};
var _local5:* = 0;
while (_local5 < blasts.length) {
_local28 = 0;
while (_local28 < Math.floor((10 * blasts[_local5].d))) {
_local29 = (Math.random() * (30 * blasts[_local5].d));
_local30 = ((Math.random() * Math.PI) * 2);
_local31 = ((Math.random())<0.5) ? blasts[_local5].c : 0xFFFFFF;
particles.push(new Glitter(blasts[_local5].lev, scope, blasts[_local5].x, blasts[_local5].y, _local30, _local29, _local31));
_local28++;
};
if (blasts[_local5].ct == blasts[_local5].tt){
blasts.splice(_local5, 1);
_local5--;
} else {
blasts[_local5].ct++;
};
_local5++;
};
var _local6:* = 0;
while (_local6 < particles.length) {
particles[_local6].process();
_local6++;
};
}
public function clearTrail(_arg1:String):void{
trails.splice(this[_arg1].ind, 1);
delete this[_arg1];
}
public function destroy():void{
timer.stop();
timer.removeEventListener(TimerEvent.TIMER, process);
delete ??getglobalscope
[this];
}
}
}//package
Section 44
//GameOverScreen (GameOverScreen)
package {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.text.*;
public class GameOverScreen extends MovieClip {
private var hsCount:int;// = 0
public var gsBar:MovieClip;
public var hsBar:MovieClip;
public var gameComment:TextField;
public var scoreField:TextField;
public var goBtn:MovieClip;
private var gameEvent:Function;
private var scope:Object;
private var gamescore:Number;
private var gameroll:Number;
private var gameTimer:Timer;
public function GameOverScreen(_arg1:Object):void{
scope = _arg1;
x = 320;
y = 225;
hsBar.visible = false;
goBtn.addEventListener(MouseEvent.ROLL_OVER, GOrollover);
goBtn.addEventListener(MouseEvent.ROLL_OUT, GOrollout);
goBtn.mouseEnabled = false;
}
private function rollGameScore():void{
var _local1:*;
var _local2:*;
if (gamescore > 0){
gamescore = (gamescore - gameroll);
scoreField.text = String((Number(scoreField.text) + gameroll));
scope.doc.sound.playSound("bell", 0.5);
_local1 = (320 + (150 - (Math.random() * 300)));
_local2 = (200 + (20 - (Math.random() * 40)));
scope.doc.effects.createBlast(scope.viewEffects, _local1, _local2, 2, 2, 0xFF00);
setGameTimer(100, rollGameScore);
} else {
scoreField.text = scope.score.toString();
gsBar.gotoAndStop("on");
if (scope.score > scope.highscore){
setGameTimer(1000, viewGameHighscore);
} else {
goBtn.gotoAndPlay("flash");
goBtn.addEventListener(MouseEvent.CLICK, GOrestartGame);
goBtn.mouseEnabled = true;
};
};
}
private function GOrollout(_arg1:MouseEvent):void{
if (_arg1.target.mouseEnabled){
_arg1.target.gotoAndPlay("flash");
};
}
private function GOrollover(_arg1:MouseEvent):void{
if (_arg1.target.mouseEnabled){
_arg1.target.gotoAndStop("on");
};
}
public function initGameOver():void{
setGameTimer(2200, viewGameOver);
}
public function rollGameHighscore():void{
var _local1:* = (320 + (150 - (Math.random() * 300)));
var _local2:* = (250 + (20 - (Math.random() * 40)));
scope.doc.effects.createBlast(scope.viewEffects, _local1, _local2, 2, 2, 0xFFFF00);
if (hsCount > 20){
hsCount = 0;
hsBar.bar.gotoAndStop("on");
scope.saveScoreData();
goBtn.gotoAndPlay("flash");
goBtn.addEventListener(MouseEvent.CLICK, GOrestartGame);
goBtn.mouseEnabled = true;
} else {
hsCount++;
scope.doc.sound.playSound("bell", 0.5);
setGameTimer(100, rollGameHighscore);
};
}
private function resetGameTimer(_arg1:TimerEvent):void{
gameTimer.stop();
gameTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, resetGameTimer);
gameEvent();
}
public function rollGameBlast(_arg1:Event):void{
scope.doc.sound.playSound("bell", 0.5);
var _local2:* = _arg1.target.position;
scope.doc.effects.createBlast(scope.viewEffects, _local2.x, _local2.y, 1, 1, _arg1.target.color);
}
private function viewGameOver():void{
scope.addChildAt(this, 0);
gsBar.gotoAndPlay("flash");
gamescore = scope.score;
gameroll = Math.round((gamescore * 0.05));
scoreField.text = "0";
setGameTimer(1000, rollGameScore);
}
private function setGameTimer(_arg1:int, _arg2:Function):void{
gameEvent = _arg2;
gameTimer = new Timer(_arg1, 1);
gameTimer.addEventListener(TimerEvent.TIMER_COMPLETE, resetGameTimer);
gameTimer.start();
}
public function viewGameHighscore():void{
hsBar.bar.gotoAndPlay("flash");
hsBar.visible = true;
setGameTimer(100, rollGameHighscore);
}
private function GOrestartGame(_arg1:MouseEvent):void{
goBtn.removeEventListener(MouseEvent.CLICK, GOrestartGame);
_arg1.target.mouseEnabled = false;
_arg1.target.gotoAndStop("off");
hsBar.bar.gotoAndStop("off");
hsBar.visible = false;
parent.removeChild(this);
scope.doc.restartGame();
}
}
}//package
Section 45
//GLASSBELL (GLASSBELL)
package {
import flash.media.*;
public dynamic class GLASSBELL extends Sound {
}
}//package
Section 46
//Glitter (Glitter)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
public class Glitter extends Sprite {
private var vector:Number;
private var lifetime:int;// = 0
private var target:Object;
private var lifecount:int;// = 0
private var scope:Object;
private var velocity:Number;
public function Glitter(_arg1:Object, _arg2:Object, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:uint):void{
scope = _arg2;
target = _arg1;
x = _arg3;
y = _arg4;
vector = _arg5;
velocity = (_arg6 / 10);
lifetime = (3 + Math.ceil((Math.random() * 3)));
graphics.beginFill(_arg7);
graphics.drawCircle(0, 0, 1);
graphics.endFill();
target.addChild(this);
}
public function remove():void{
var _local1:* = scope.particles.indexOf(this);
scope.particles.splice(_local1, 1);
parent.removeChild(this);
delete ??getglobalscope
[this];
}
private function setRemoval():void{
scope.removal.push(this);
}
public function process():void{
velocity = (velocity - (velocity / 10));
x = (x + (velocity * Math.cos(vector)));
y = (y + (velocity * Math.sin(vector)));
alpha = (1 - (lifecount / lifetime));
if (lifecount < lifetime){
lifecount++;
} else {
remove();
};
}
}
}//package
Section 47
//LevelScreen (LevelScreen)
package {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.text.*;
public class LevelScreen extends MovieClip {
private var levelscoreT:int;// = 0
public var tBonusField:TextField;
private var tnum:int;// = 0
public var goBtn:MovieClip;
public var levelField:TextField;
private var scoreNum:int;// = 0
private var scope:Object;
public var bBonusField:TextField;
private var bonusRate:int;// = 100
private var levelTimer:Timer;
public var tbar:MovieClip;
private var bnum:int;// = 0
public var bbar:MovieClip;
private var levelscoreB:int;// = 0
private var levelEvent:Function;
private var doc:Object;
public function LevelScreen(_arg1:Object):void{
scope = _arg1;
doc = scope.doc;
x = 320;
y = 225;
goBtn.addEventListener(MouseEvent.ROLL_OVER, GBrollover);
goBtn.addEventListener(MouseEvent.ROLL_OUT, GBrollout);
goBtn.mouseEnabled = false;
}
public function bscoreBlast(_arg1:Event):void{
var _local2:* = _arg1.target.position;
doc.effects.createBlast(scope.viewEffects, _local2.x, _local2.y, 2, 2, _arg1.target.color);
}
public function tscoreBlast(_arg1:Event):void{
var _local2:* = _arg1.target.position;
doc.effects.createBlast(scope.viewEffects, _local2.x, _local2.y, 2, 2, _arg1.target.color);
}
private function GBbeginNextLevel(_arg1:MouseEvent):void{
goBtn.removeEventListener(MouseEvent.CLICK, GBbeginNextLevel);
_arg1.target.mouseEnabled = false;
_arg1.target.gotoAndStop("off");
if (getChildByName("tmedal") != null){
removeChild(getChildByName("tmedal"));
};
if (getChildByName("bmedal") != null){
removeChild(getChildByName("bmedal"));
};
parent.removeChild(this);
scope.setLevel(scope.level);
doc.bubblefield.resetLevelField();
}
private function GBrollover(_arg1:MouseEvent):void{
if (_arg1.target.mouseEnabled){
_arg1.target.gotoAndStop("on");
};
}
private function scoreLevelC():void{
goBtn.gotoAndPlay("flash");
goBtn.mouseEnabled = true;
goBtn.addEventListener(MouseEvent.CLICK, GBbeginNextLevel);
}
private function tscoreLevel():void{
var _local1:*;
if (levelscoreT > 0){
doc.sound.playSound("pop", 0.5);
levelscoreT = (levelscoreT - (scope.tscore / 10));
if (levelscoreT < 0){
levelscoreT = 0;
};
tBonusField.text = String(((scope.tscore - levelscoreT) * 10));
_local1 = (320 + (150 - (Math.random() * 300)));
doc.effects.createComet(scope.viewEffects, (scope.turtleMark.x + 30), (scope.turtleMark.y - 30), _local1, 200, 0xFF00, tscoreBlast);
doc.effects.createBlast(scope.viewEffects, scope.turtleMark.x, (scope.turtleMark.y + 30), 2, 2, 0xFF00);
scope.turtleBar.bar.scaleY = ((levelscoreT)>0) ? (Math.floor((((levelscoreT / scope.tscore) * 100) / 10)) * 0.1) : 0;
scope.turtleMark.y = (scope.turtleBar.y - (10 * Math.floor(((300 * scope.turtleBar.bar.scaleY) / 10))));
setLevelTimer(100, tscoreLevel);
} else {
if (scope.tscore > 0){
tbar.gotoAndStop("on");
} else {
doc.sound.playSound("buzzer", 0.25);
tbar.gotoAndPlay("zip");
};
if (scope.tscore >= scope.tmax){
setLevelTimer(1000, tscoreMAX);
} else {
bbar.gotoAndPlay("flash");
setLevelTimer(1000, bscoreLevel);
};
};
}
private function resetLevelTimer(_arg1:TimerEvent):void{
levelTimer.stop();
levelTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, resetLevelTimer);
levelEvent();
}
private function scoreLevelA():void{
if (scope.tscore > 0){
doc.sound.playSound("thwang", 0.5);
doc.effects.createBlast(scope.viewEffects, 390, 200, 2, 2, 0xFFFFFF);
doc.effects.createComet(scope.viewEffects, 390, 200, 460, 465, 0xFFFFFF, scoreBlast, {type:"tscore"});
} else {
scoreLevelB();
};
}
public function scoreBlast(_arg1:Event):void{
var _local3:*;
var _local4:*;
doc.sound.playSound("bell", 0.5);
var _local2:* = 0;
while (_local2 < 5) {
_local3 = Math.round((460 + (30 - (Math.random() * 60))));
_local4 = Math.round((465 + (15 - (Math.random() * 30))));
doc.effects.createBlast(scope.viewEffects, _local3, _local4, 2, 2, 0xFFFFFF);
_local2++;
};
if (_arg1.target.props.type == "tscore"){
scope.score = (scope.score + (scope.tscore * 10));
scope.scoreBar.scoreField.text = String(scope.score);
setLevelTimer(1000, scoreLevelB);
} else {
if (_arg1.target.props.type == "bscore"){
scope.score = (scope.score + (scope.bscore * 10));
scope.scoreBar.scoreField.text = String(scope.score);
setLevelTimer(1000, scoreLevelC);
};
};
}
public function initLevelScreen():void{
setLevelTimer(2200, viewLevel);
}
private function bscoreMAX():void{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
if (bnum == 0){
_local1 = new bunnyMedal();
_local1.name = "bmedal";
_local1.x = 170;
_local1.y = 25;
addChild(_local1);
};
if (bnum < 5){
doc.sound.playSound("bell", 0.5);
_local2 = (320 + (150 - (Math.random() * 300)));
_local3 = (250 + (20 - (Math.random() * 40)));
doc.effects.createBlast(scope.viewEffects, _local2, _local3, 2, 2, 0xFFFF00);
bnum++;
setLevelTimer(100, bscoreMAX);
} else {
if ((((bnum > 4)) && ((bnum < 10)))){
bnum++;
setLevelTimer(100, bscoreMAX);
} else {
doc.sound.playSound("blip", 0.5);
_local4 = 0;
while (_local4 < 5) {
_local5 = (410 + (20 - (Math.random() * 40)));
_local6 = (250 + (10 - (Math.random() * 20)));
doc.effects.createBlast(scope.viewEffects, _local5, _local6, 2, 2, 0xFFFFFF);
_local4++;
};
scope.bscore = (scope.bscore * 2);
bBonusField.text = String((scope.bscore * 10));
bnum = 0;
setLevelTimer(1000, scoreLevelA);
};
};
}
private function setLevelTimer(_arg1:int, _arg2:Function):void{
levelEvent = _arg2;
levelTimer = new Timer(_arg1, 1);
levelTimer.addEventListener(TimerEvent.TIMER_COMPLETE, resetLevelTimer);
levelTimer.start();
}
private function tscoreMAX():void{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
if (tnum == 0){
_local1 = new turtleMedal();
_local1.name = "tmedal";
_local1.x = 170;
_local1.y = -25;
addChild(_local1);
};
if (tnum < 5){
doc.sound.playSound("bell", 0.5);
_local2 = (320 + (150 - (Math.random() * 300)));
_local3 = (200 + (20 - (Math.random() * 40)));
doc.effects.createBlast(scope.viewEffects, _local2, _local3, 2, 2, 0xFF00);
tnum++;
setLevelTimer(100, tscoreMAX);
} else {
if ((((tnum > 4)) && ((tnum < 10)))){
tnum++;
setLevelTimer(100, tscoreMAX);
} else {
doc.sound.playSound("blip", 0.5);
_local4 = 0;
while (_local4 < 5) {
_local5 = (410 + (20 - (Math.random() * 40)));
_local6 = (200 + (10 - (Math.random() * 20)));
doc.effects.createBlast(scope.viewEffects, _local5, _local6, 2, 2, 0xFFFFFF);
_local4++;
};
scope.tscore = (scope.tscore * 2);
tBonusField.text = String((scope.tscore * 10));
tnum = 0;
bbar.gotoAndPlay("flash");
setLevelTimer(1000, bscoreLevel);
};
};
}
private function viewLevel():void{
scope.level++;
levelField.text = ("next level " + scope.level);
tbar.gotoAndStop("off");
bbar.gotoAndStop("off");
goBtn.gotoAndStop("off");
goBtn.mouseEnabled = false;
levelscoreT = scope.tscore;
levelscoreB = scope.bscore;
tBonusField.text = "0";
bBonusField.text = "0";
scope.addChildAt(this, 0);
tbar.gotoAndPlay("flash");
setLevelTimer(1000, tscoreLevel);
}
private function bscoreLevel():void{
var _local1:*;
if (levelscoreB > 0){
doc.sound.playSound("pop", 0.5);
levelscoreB = (levelscoreB - (scope.bscore / 10));
if (levelscoreB < 0){
levelscoreB = 0;
};
bBonusField.text = String(((scope.bscore - levelscoreB) * 10));
_local1 = (320 + (150 - (Math.random() * 300)));
doc.effects.createComet(scope.viewEffects, (scope.bunnyMark.x - 30), (scope.bunnyMark.y - 30), _local1, 250, 0xFFFF00, bscoreBlast);
doc.effects.createBlast(scope.viewEffects, scope.bunnyMark.x, (scope.bunnyMark.y + 30), 2, 2, 0xFFFF00);
scope.bunnyBar.bar.scaleY = ((levelscoreB)>0) ? (Math.floor((((levelscoreB / scope.bscore) * 100) / 10)) * 0.1) : 0;
scope.bunnyMark.y = (scope.bunnyBar.y - (10 * Math.floor(((300 * scope.bunnyBar.bar.scaleY) / 10))));
setLevelTimer(100, bscoreLevel);
} else {
if (scope.bscore > 0){
bbar.gotoAndStop("on");
} else {
doc.sound.playSound("buzzer", 0.25);
bbar.gotoAndPlay("zip");
};
if (scope.bscore >= scope.bmax){
setLevelTimer(1000, bscoreMAX);
} else {
setLevelTimer(1000, scoreLevelA);
};
};
}
private function GBrollout(_arg1:MouseEvent):void{
if (_arg1.target.mouseEnabled){
_arg1.target.gotoAndPlay("flash");
};
}
private function scoreLevelB():void{
if (scope.bscore > 0){
doc.sound.playSound("thwang", 0.5);
doc.effects.createBlast(scope.viewEffects, 390, 250, 2, 2, 0xFFFFFF);
doc.effects.createComet(scope.viewEffects, 390, 250, 460, 465, 0xFFFFFF, scoreBlast, {type:"bscore"});
} else {
scoreLevelC();
};
}
}
}//package
Section 48
//particleEvent (particleEvent)
package {
import flash.events.*;
import flash.geom.*;
public class particleEvent extends EventDispatcher {
public var props:Object;
public var color:uint;// = 0xFFFFFF
public var position:Point;
public static var COMPLETE:String = "complete";
public function particleEvent(){
position = new Point();
props = new Object();
super();
}
public function dispatch(_arg1:String):void{
switch (_arg1){
case "complete":
dispatchEvent(new Event(particleEvent.COMPLETE));
break;
};
}
}
}//package
Section 49
//Pop (Pop)
package {
import flash.media.*;
public dynamic class Pop extends Sound {
}
}//package
Section 50
//reflector (reflector)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
public class reflector {
private var reflectionMap:BitmapData;
private var reflectionMask:Sprite;
private var target:MovieClip;
private var reflection:Bitmap;
public function reflector(_arg1:MovieClip):void{
target = _arg1;
buildReflection();
buildMask();
setReflection();
}
private function buildReflection():void{
reflectionMap = new BitmapData(target.width, target.height, true, 0);
reflectionMap.draw(target);
reflection = new Bitmap();
reflection.cacheAsBitmap = true;
reflection.bitmapData = reflectionMap;
reflection.transform.matrix = new Matrix(1, 0, 0, -1, 0, 0);
}
private function buildMask():void{
reflectionMask = new Sprite();
reflectionMask.cacheAsBitmap = true;
var _local1:* = new Matrix();
_local1.createGradientBox(target.width, target.height, (Math.PI / 2));
reflectionMask.graphics.beginGradientFill(GradientType.LINEAR, [0xFFFFFF, 0xFFFFFF, 0xFFFFFF], [0.2, 0.4, 0], [0, 20, 200], _local1);
reflectionMask.graphics.drawRect(0, 0, target.width, target.height);
reflectionMask.graphics.endFill();
}
private function setReflection():void{
reflection.mask = reflectionMask;
reflection.y = ((target.height * 2) + 2);
reflectionMask.y = (target.height + 2);
target.addChild(reflection);
target.addChild(reflectionMask);
}
}
}//package
Section 51
//Slidewhistle (Slidewhistle)
package {
import flash.media.*;
public dynamic class Slidewhistle extends Sound {
}
}//package
Section 52
//soundEngine (soundEngine)
package {
import flash.events.*;
import flash.display.*;
import flash.media.*;
public class soundEngine extends Sprite {
private var bellChannel:SoundChannel;
private var levelroll;
private var bell;
private var slidewhistle;
private var thwangChannel:SoundChannel;
private var mute:Boolean;// = false
private var buzzerChannel:SoundChannel;
private var loop;
private var crash;
private var doc:Object;
private var buzzer;
private var levelrollChannel:SoundChannel;
private var slidewhistleChannel:SoundChannel;
private var boingChannel:SoundChannel;
private var pop;
private var blipChannel:SoundChannel;
private var loopChannel:SoundChannel;
private var crashChannel:SoundChannel;
private var loopVolume:Number;// = 0.5
private var blip;
private var popChannel:SoundChannel;
private var boing;
private var thwang;
public function soundEngine(_arg1){
loop = new DobrChutnn_liteMP3();
loopChannel = new SoundChannel();
levelroll = new Tymp_rollCrash();
levelrollChannel = new SoundChannel();
thwang = new Thwang_short();
thwangChannel = new SoundChannel();
boing = new Boing_fast();
boingChannel = new SoundChannel();
blip = new Blip();
blipChannel = new SoundChannel();
pop = new Pop();
popChannel = new SoundChannel();
bell = new GLASSBELL();
bellChannel = new SoundChannel();
crash = new Tymp_rollCrash();
crashChannel = new SoundChannel();
buzzer = new BUZZER2();
buzzerChannel = new SoundChannel();
slidewhistle = new Slidewhistle();
slidewhistleChannel = new SoundChannel();
super();
doc = _arg1;
}
public function muteHandler(_arg1:MouseEvent):void{
if (mute){
playLoop();
} else {
stopSound();
};
doc.viewport.muteBtn.chrome.gotoAndStop(((doc.viewport.muteBtn.chrome.currentLabel)=="on") ? "off" : "on");
mute = !(mute);
}
public function stopSound():void{
stopLoop();
SoundMixer.stopAll();
}
private function replayLoop(_arg1:Event):void{
loopChannel.removeEventListener(Event.SOUND_COMPLETE, replayLoop);
playLoop();
}
public function playSound(_arg1, _arg2){
if (mute){
_arg2 = 0;
};
this[(_arg1 + "Channel")] = this[_arg1].play(0, 0, new SoundTransform(_arg2, 0));
}
public function stopLoop():void{
loopChannel.removeEventListener(Event.SOUND_COMPLETE, replayLoop);
}
public function stopTwisty():void{
slidewhistleChannel.stop();
}
public function playLoop():void{
loopChannel = loop.play(0, 0, new SoundTransform(loopVolume, 0));
loopChannel.addEventListener(Event.SOUND_COMPLETE, replayLoop);
}
}
}//package
Section 53
//StartScreen (StartScreen)
package {
import flash.events.*;
import flash.display.*;
import flash.text.*;
public class StartScreen extends MovieClip {
private var scope:Object;
public var instructions:MovieClip;
public var iBtn:MovieClip;
public var levelField:TextField;
private var doc:Object;
public var cBtn:MovieClip;
public var credits:MovieClip;
public var goBtn:MovieClip;
public function StartScreen(_arg1:Object):void{
var viewport = _arg1;
super();
scope = viewport;
doc = scope.doc;
x = 320;
y = 225;
iBtn.addEventListener(MouseEvent.ROLL_OVER, function (){
iBtn.iBar.gotoAndStop("on");
});
iBtn.addEventListener(MouseEvent.ROLL_OUT, function (){
iBtn.iBar.gotoAndStop("off");
});
iBtn.addEventListener(MouseEvent.CLICK, showInstructions);
cBtn.addEventListener(MouseEvent.ROLL_OVER, function (){
cBtn.cBar.gotoAndStop("on");
});
cBtn.addEventListener(MouseEvent.ROLL_OUT, function (){
cBtn.cBar.gotoAndStop("off");
});
cBtn.addEventListener(MouseEvent.CLICK, showCredits);
goBtn.addEventListener(MouseEvent.ROLL_OVER, function (){
goBtn.gotoAndStop("on");
});
goBtn.addEventListener(MouseEvent.ROLL_OUT, function (){
goBtn.gotoAndStop("off");
});
goBtn.addEventListener(MouseEvent.CLICK, initGame);
instructions.menuBtn.addEventListener(MouseEvent.CLICK, function (){
initScreen();
});
credits.menuBtn.addEventListener(MouseEvent.CLICK, function (){
initScreen();
});
addEventListener(Event.ADDED_TO_STAGE, function (){
initScreen();
});
}
private function initGame(_arg1:MouseEvent):void{
parent.removeChild(this);
doc.startGame();
}
private function showInstructions(_arg1:MouseEvent):void{
iBtn.visible = false;
cBtn.visible = false;
instructions.gotoAndStop(1);
instructions.visible = true;
}
private function initScreen():void{
instructions.visible = false;
credits.visible = false;
iBtn.visible = true;
cBtn.visible = true;
iBtn.iBar.gotoAndStop("off");
cBtn.cBar.gotoAndStop("off");
goBtn.gotoAndStop("off");
}
private function showCredits(_arg1:MouseEvent):void{
iBtn.visible = false;
cBtn.visible = false;
credits.gotoAndStop(1);
credits.visible = true;
}
}
}//package
Section 54
//Thwang_short (Thwang_short)
package {
import flash.media.*;
public dynamic class Thwang_short extends Sound {
}
}//package
Section 55
//turtleMedal (turtleMedal)
package {
import flash.display.*;
public dynamic class turtleMedal extends MovieClip {
}
}//package
Section 56
//Tymp_rollCrash (Tymp_rollCrash)
package {
import flash.media.*;
public dynamic class Tymp_rollCrash extends Sound {
}
}//package
Section 57
//viewportEngine (viewportEngine)
package {
import flash.events.*;
import flash.display.*;
import flash.net.*;
import flash.utils.*;
import flash.text.*;
public class viewportEngine extends MovieClip {
public var muteBtn:MovieClip;
public var level:int;
public var pauseBtn:MovieClip;
public var bonusClip:MovieClip;
public var score:int;
public var bouncy:MovieClip;
public var tmax:int;
public var scoreBar:MovieClip;
public var tscore:int;
private var numFmt:TextFormat;
public var turtleMark:MovieClip;
public var bunnyBar:MovieClip;
public var highscore:int;// = 0
public var twisty:MovieClip;
public var viewEffects:Sprite;
public var levelGoal:int;
public var doc:Object;
public var turtleLight:MovieClip;
public var turtleBar:MovieClip;
public var bunnyLight:MovieClip;
public var bCounter:MovieClip;
public var levelBubbles:int;// = 50
public var fieldBG:MovieClip;
public var bmax:int;
private var startscreen:MovieClip;
public var hsData:SharedObject;
public var agBtn:SimpleButton;
private var gamescreen:MovieClip;
public var levelCount:int;
public var levelBar:MovieClip;
public var bunnyMark:MovieClip;
private var levelscreen:MovieClip;
public var levelBonus:int;// = 500
public var bscore:int;
public function viewportEngine(_arg1:Object):void{
viewEffects = new Sprite();
numFmt = new TextFormat();
super();
doc = _arg1;
startscreen = new StartScreen(this);
levelscreen = new LevelScreen(this);
gamescreen = new GameOverScreen(this);
initScoreData();
setBGHandlers();
resetViewport();
setButtons();
addChild(viewEffects);
doc.addChildAt(fieldBG, 0);
doc.addChild(this);
}
private function hsBtnHandler(_arg1:MouseEvent):void{
_arg1.target.hsText.visible = !(_arg1.target.hsText.visible);
_arg1.target.hsNum.visible = !(_arg1.target.hsNum.visible);
}
private function initScoreData():void{
hsData = SharedObject.getLocal("AGbubblemaster");
highscore = hsData.data.highscore;
fieldBG.hsBtn.hsNum.text = String(highscore);
}
public function initStartScreen():void{
addChild(startscreen);
}
private function setBGHandlers():void{
numFmt.size = 10;
fieldBG.levelBtn.addEventListener(MouseEvent.ROLL_OVER, levelBtnHandler);
fieldBG.levelBtn.addEventListener(MouseEvent.ROLL_OUT, levelBtnHandler);
fieldBG.hsBtn.addEventListener(MouseEvent.ROLL_OVER, hsBtnHandler);
fieldBG.hsBtn.addEventListener(MouseEvent.ROLL_OUT, hsBtnHandler);
}
private function agNav(_arg1:MouseEvent):void{
var _local2:URLRequest = new URLRequest("http://www.addictinggames.com/");
navigateToURL(_local2, "_blank");
}
public function setLevel(_arg1:int):void{
level = _arg1;
levelGoal = (levelBubbles * level);
levelCount = 0;
fieldBG.levelBtn.levelNum.text = ("level " + String(level));
fieldBG.levelBtn.bubbleNum.text = ("bubbles " + String(levelGoal));
fieldBG.levelBtn.levelNum.setTextFormat(numFmt, 5, fieldBG.levelBtn.levelNum.length);
fieldBG.levelBtn.bubbleNum.setTextFormat(numFmt, 7, fieldBG.levelBtn.bubbleNum.length);
tmax = (levelBonus * level);
bmax = (levelBonus * level);
tscore = 0;
bscore = 0;
turtleBar.bar.scaleY = (tscore / tmax);
bunnyBar.bar.scaleY = (bscore / tmax);
turtleMark.y = turtleBar.y;
bunnyMark.y = bunnyBar.y;
turtleLight.visible = false;
bunnyLight.visible = false;
levelBar.bar.scaleX = 0;
scoreBar.scoreField.text = String(score);
}
private function setButtons():void{
muteBtn.addEventListener(MouseEvent.ROLL_OVER, function (){
muteBtn.gotoAndStop("over");
});
muteBtn.addEventListener(MouseEvent.ROLL_OUT, function (){
muteBtn.gotoAndStop("up");
});
muteBtn.addEventListener(MouseEvent.CLICK, doc.sound.muteHandler);
pauseBtn.addEventListener(MouseEvent.ROLL_OVER, function (){
pauseBtn.gotoAndStop("over");
});
pauseBtn.addEventListener(MouseEvent.ROLL_OUT, function (){
pauseBtn.gotoAndStop("up");
});
pauseBtn.addEventListener(MouseEvent.CLICK, doc.pauseGame);
agBtn.addEventListener(MouseEvent.CLICK, agNav);
}
public function resetViewport():void{
score = 0;
level = 1;
fieldBG.hsBtn.hsNum.text = String(highscore);
setLevel(1);
}
public function saveScoreData():void{
highscore = score;
fieldBG.hsBtn.hsNum.text = String(highscore);
hsData.data.highscore = highscore;
hsData.flush();
}
public function completeLevel():void{
doc.sound.playSound("crash", 1);
levelscreen.initLevelScreen();
}
public function completeGame():void{
doc.sound.playSound("crash", 1);
gamescreen.initGameOver();
}
public function addScore(_arg1:int, _arg2:int):void{
switch (_arg1){
case 0:
score = (score + _arg2);
scoreBar.scoreField.text = String(score);
break;
case 1:
score = (score + _arg2);
scoreBar.scoreField.text = String(score);
tscore = (tscore + _arg2);
turtleBar.bar.scaleY = (((tscore / tmax))<1) ? (Math.floor((((tscore / tmax) * 100) / 10)) * 0.1) : 1;
turtleMark.y = (turtleBar.y - (10 * Math.floor(((300 * turtleBar.bar.scaleY) / 10))));
break;
case 2:
score = (score + _arg2);
scoreBar.scoreField.text = String(score);
bscore = (bscore + _arg2);
bunnyBar.bar.scaleY = (((bscore / bmax))<1) ? (Math.floor((((bscore / bmax) * 100) / 10)) * 0.1) : 1;
bunnyMark.y = (bunnyBar.y - (10 * Math.floor(((300 * bunnyBar.bar.scaleY) / 10))));
break;
};
levelCount++;
levelBar.bar.scaleX = (((levelCount / levelGoal))<1) ? (levelCount / levelGoal) : 1;
fieldBG.levelBtn.bubbleNum.text = ("bubbles " + String((levelGoal - levelCount)));
fieldBG.levelBtn.bubbleNum.setTextFormat(numFmt, 7, fieldBG.levelBtn.bubbleNum.length);
}
private function levelBtnHandler(_arg1:MouseEvent):void{
_arg1.target.levelNum.visible = !(_arg1.target.levelNum.visible);
_arg1.target.bubbleNum.visible = !(_arg1.target.bubbleNum.visible);
}
}
}//package