Section 1
//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 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 otherVariables:Object;
public var pageURL:String;
private var requestNum:Number;
public var dc:Number;
public var visitorNamespace:String;
private var trackCalled:Boolean;// = false
public var flashVersion:Number;
private var _trackOnLoad:Boolean;// = false
public var ClickMap:ActionSource_Module_ClickMap;
public var version:String;
public var trackingServer:String;
public var autoTrack:Boolean;
public var trackLocal:Boolean;// = true
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;
public var delayTracking:Number;
private var trackOnLoadInterval:Number;
private var accountVarList:Array;
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;
public function ActionSource(){
var _local1:Object;
var _local2:Number;
var _local3:String;
var _local4:Array;
flashASVersion = 3;
flashLivePreview = false;
trackLocal = true;
debugTracking = false;
_trackOnLoad = false;
onLoadTracked = false;
trackCalled = false;
super();
_local1 = this;
_local1.initPre();
_local1.version = "FAS-2.2";
if (_local1.isSet(_root)){
_local1.movie = _root;
} else {
if (_local1.isSet(root)){
_local1.movie = root;
};
};
_local3 = getVersion();
_local4 = _local3.split(" ");
_local1.flashVersion = parseInt(_local4[1].substr(0, 1));
_local1.requestNum = 0;
_local1.requestList = new Array();
_local1.lastRequest = "";
_local1.requiredVarList = ["visitorID", "vmk", "charSet", "visitorNamespace", "cookieDomainPeriods", "cookieLifetime", "pageName", "pageURL", "referrer", "currencyCode"];
_local1.accountVarList = ["purchaseID", "variableProvider", "channel", "server", "pageType", "transactionID", "campaign", "state", "zip", "events", "products"];
_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));
_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 = ["trackDownloadLinks", "trackExternalLinks", "trackClickMap", "linkLeaveQueryString", "linkTrackVars", "linkTrackEvents", "trackingServer", "trackingServerSecure", "dc", "movieID", "autoTrack", "delayTracking", "trackLocal", "debugTracking"];
_local1.modulesInit();
_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 == "channel")))) || ((_local3 == "events")))) || ((_local3 == "purchaseID")))) || ((_local3 == "transactionID")))) || ((_local3 == "products")))) || ((_local3 == "state")))) || ((_local3 == "zip")))) || ((_local3 == "campaign")))){
_local1[_local3] = undefined;
};
_local2++;
};
}
private function variableOverridesBuild(_arg1:Object){
var _local2:Object;
var _local3:Number;
var _local4:String;
_local2 = this;
_local3 = 0;
while (_local3 < _local2.accountVarList.length) {
_local4 = _local2.accountVarList[_local3];
if (!_local2.isSet(_arg1[_local4])){
_arg1[_local4] = _local2[_local4];
if (!_local2.isSet(_arg1[_local4])){
_arg1[("!" + _local4)] = 1;
};
};
_local3++;
};
_local3 = 0;
while (_local3 < _local2.accountConfigList.length) {
_local4 = _local2.accountConfigList[_local3];
if (!_local2.isSet(_arg1[_local4])){
_arg1[_local4] = _local2[_local4];
if (!_local2.isSet(_arg1[_local4])){
_arg1[("!" + _local4)] = 1;
};
};
_local3++;
};
}
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++;
};
trace(_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)){
_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 requestURL(_arg1){
var _local2:URLRequest;
_local2 = new URLRequest(_arg1);
sendToURL(_local2);
}
private function _trackLink(_arg1:String, _arg2:String, _arg3:String, _arg4:Object){
var _local5:Object;
_local5 = this;
_local5.linkURL = _arg1;
_local5.linkType = _arg2;
_local5.linkName = _arg3;
_local5.track(_arg4);
}
public function set movie(_arg1:Object){
this._movie = _arg1;
if (this.isSet(this._movie)){
if (!this.flashLivePreview){
if (this.flashASVersion < 3){
this._movie.s_s = this;
};
this.modulesUpdate();
};
};
}
private function queryStringLinkTracking():String{
var _local1:Object;
var _local2:String;
var _local3:Number;
_local1 = this;
_local2 = "";
if (((_local1.isSet(_local1.linkType)) && (((_local1.isSet(_local1.linkURL)) || (_local1.isSet(_local1.linkName)))))){
_local1.linkType = _local1.linkType.toLowerCase();
if (((!((_local1.linkType == "d"))) && (!((_local1.linkType == "e"))))){
_local1.linkType = "o";
};
if (((_local1.isSet(_local1.linkURL)) && (!(_local1.isSet(_local1.linkLeaveQueryString))))){
_local3 = _local1.linkURL.indexOf("?");
if (_local3 >= 0){
_local1.linkURL = _local1.linkURL.substr(0, _local3);
};
};
_local2 = (_local2 + ("&pe=lnk_" + escape(_local1.linkType.toLowerCase())));
_local2 = (_local2 + (_local1.isSet(_local1.linkURL)) ? ("&pev1=" + escape(_local1.linkURL)) : "");
_local2 = (_local2 + (_local1.isSet(_local1.linkName)) ? ("&pev2=" + escape(_local1.linkName)) : "");
};
return (_local2);
}
private function _track(_arg1:Object, _arg2:String){
var _local3:Object;
var _local4:Object;
var _local5:Date;
var _local6:Number;
var _local7:String;
var _local8:String;
var _local9:String;
var _local10:Number;
var _local11:String;
_local3 = this;
_local5 = new Date();
_local6 = Math.floor((Math.random() * 10000000000000));
_local7 = (("s" + (Math.floor((_local5.getTime() / 10800000)) % 10)) + _local6);
_local8 = ((((((((((((((("" + _local5.getDate()) + "/") + _local5.getMonth()) + "/") + _local5.getFullYear()) + " ") + _local5.getHours()) + ":") + _local5.getMinutes()) + ":") + _local5.getSeconds()) + " ") + _local5.getDay()) + " ") + _local5.getTimezoneOffset());
_local9 = ("t=" + escape(_local8));
if (_local3.isSet(_local3.flashLivePreview)){
return;
};
if (_local3.isSet(_local3.otherVariables)){
_local10 = 0;
while (_local10 < _local3.accountVarList.length) {
_local11 = _local3.accountVarList[_local10];
if (_local3.isSet(_local3.otherVariables[_local11])){
_local3[_local11] = _local3.otherVariables[_local11];
};
_local10++;
};
_local10 = 0;
while (_local10 < _local3.accountConfigList.length) {
_local11 = _local3.accountConfigList[_local10];
if (_local3.isSet(_local3.otherVariables[_local11])){
_local3[_local11] = _local3.otherVariables[_local11];
};
_local10++;
};
};
if (_local3.isSet(_arg1)){
_local4 = new Object();
_local3.variableOverridesBuild(_local4);
_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.referrer = _local3.getMovieReferrer();
};
_local9 = (_local9 + _local3.queryStringAccountVariables());
_local9 = (_local9 + _local3.queryStringLinkTracking());
_local9 = (_local9 + _local3.queryStringClickMap());
_local9 = (_local9 + _local3.queryStringTechnology());
_local3.makeRequest(_local7, _local9, "", _arg2);
};
if (_local3.isSet(_arg1)){
_local3.variableOverridesApply(_local4);
};
_local3.pe = undefined;
_local3.pev1 = undefined;
_local3.pev2 = undefined;
_local3.pev3 = undefined;
_local3.linkURL = undefined;
_local3.linkName = undefined;
_local3.linkType = undefined;
_local3.objectID = undefined;
if (_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 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:Number;
_local5 = this;
_local6 = _local5.getMovieURL();
if (!_local5.isSet(_arg3)){
if (_local5.isSet(_local5.trackingServer)){
_local7 = _local5.trackingServer;
if (((_local5.isSet(_local5.trackingServerSecure)) && ((_local6.toLowerCase().substr(0, 6) == "https:")))){
_local7 = _local5.trackingServerSecure;
};
} else {
_local8 = _local5.visitorNamespace;
if (!_local5.isSet(_local8)){
_local8 = _local5.account;
_local9 = _local8.indexOf(",");
if (_local9 >= 0){
_local8 = _local8.substr(0, _local9);
};
_local8 = _local8.split("_").join("-");
};
_local7 = (((_local8 + ".") + (_local5.isSet(_local5.dc)) ? _local5.dc : 112) + ".2o7.net");
};
if (_local6.toLowerCase().substr(0, 6) == "https:"){
_arg3 = "https://";
} else {
_arg3 = "http://";
};
_arg3 = (_arg3 + (((((((((((_local7 + "/b/ss/") + _local5.account) + "/0/") + _local5.version) + "-AS") + _local5.flashASVersion) + "/") + _arg1) + "?[AQB]&ndh=1&") + _arg2) + "&[AQE]"));
if (_local5.isSet(_arg4)){
_local5.bufferRequest(_local5.account, _arg4, _arg3);
return;
};
};
if ((((_local6.toLowerCase().substr(0, 6) == "https:")) && ((_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.startDelayTrackingInterval();
};
};
};
}
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);
}
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(_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 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);
};
}
private function startDelayTrackingInterval(){
var _local1:Object;
_local1 = this;
_local1.delayTrackingInterval = setInterval(delayTrackingDone, _local1.delayTracking);
}
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();
};
}
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.linkType)){
_local10 = _local1.linkTrackVars;
_local11 = _local1.linkTrackEvents;
} else {
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 "visitorID":
_local5 = "vid";
break;
case "pageURL":
_local5 = "g";
break;
case "referrer":
_local5 = "r";
break;
case "vmk":
_local5 = "vmt";
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 == "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))));
}
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)){
_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.setTrackOnLoadInterval();
};
}
private function variableOverridesApply(_arg1:Object){
var _local2:Object;
var _local3:Number;
var _local4:String;
_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)])))){
_local2[_local4] = _arg1[_local4];
};
_local3++;
};
}
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 = SharedObject.getLocal("s_br", "/");
};
if (!s.isSet(bufferedRequests)){
bufferedRequests = s.bufferedRequests;
if (!s.isSet(bufferedRequests)){
s.bufferedRequests = new Object();
s.bufferedRequests.flush = function (){
};
bufferedRequests = s.bufferedRequests;
};
};
if (!s.isSet(bufferedRequests.data)){
bufferedRequests.data = new Object();
};
if (!s.isSet(bufferedRequests.data.list)){
bufferedRequests.data.list = new Array();
};
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.ClickMap)) && ((_local1.flashASVersion < 3)))){
_local1.index = _local1.ClickMap.getIndex();
};
if (_local1.isSet(_local1.Media)){
if (_local1.isSet(_local1._moduleMediaVariables)){
for (_local2 in _local1._moduleMediaVariables) {
if (_local1.isSet(_local1._moduleMediaVariables[_local2])){
if (_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 set moduleMediaVariables(_arg1:Object){
this._moduleMediaVariables = _arg1;
this.modulesUpdate();
}
public function track(_arg1:Object=null, _arg2:String=""){
this._track(_arg1, _arg2);
}
private function initPre(){
if ((((parent == null)) || (!((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent"))))){
this.visible = false;
} else {
this.flashLivePreview = true;
};
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)){
if ((((((_local1.flashASVersion > 2)) && (_local1.isSet(_local1.movie.loaderInfo)))) && (_local1.isSet(_local1.movie.loaderInfo.loaderURL)))){
return (_local1.movie.loaderInfo.loaderURL);
};
if (_local1.isSet(_local1.movie._url)){
return (_local1.movie._url);
};
};
return ("");
}
private function onAddedToStage(_arg1:Event){
this.movie = root;
}
private function setTrackOnLoadInterval():void{
this.trackOnLoadInterval = setInterval(this.doTrackOnLoad, 50);
}
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) && (p.location != l) && (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:String, _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)){
_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 2
//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 {
public var index:String;
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);
}
public function getPageName(){
var _local1:Object;
_local1 = this;
return (_local1.s.pageName);
}
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);
}
private 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));
_local1.index = _local2;
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);
}
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;
}
}
}//package com.omniture
Section 3
//ActionSource_Module_Media (com.omniture.ActionSource_Module_Media)
package com.omniture {
import flash.utils.*;
public dynamic class ActionSource_Module_Media {
public var trackEvents:String;
public var playerName:String;
public var trackVars:String;
private var _autoTrack:Boolean;
private var list:Object;
private var s:Object;
private var autoTrackDone:Boolean;
public function ActionSource_Module_Media(_arg1:Object){
var _local2:Object;
super();
_local2 = this;
_local2.s = _arg1;
}
public function listenerMedia_scrubbing(_arg1){
this.listenerMedia.scrubbing(_arg1);
}
public function stop(_arg1:String, _arg2:Number){
this.event(_arg1, 2, _arg2);
}
private function attach(_arg1:Object){
var m:Object;
var member:String;
var childNum:Number;
var monitor:Object;
var node = _arg1;
m = this;
if (m.s.isSet(node)){
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.watch = 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);
} else {
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.watch = 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);
} else {
if (m.s.flashASVersion > 2){
if (((m.s.isSet(node, "numChildren")) && (m.s.isSet(node, "getChildAt")))){
childNum = 0;
while (childNum < node.numChildren) {
m.attach(node.getChildAt(childNum));
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]))))){
m.attach(node[member]);
};
};
};
};
};
};
}
public function listenerMedia_change(_arg1){
this.listenerMedia.change(_arg1);
}
public function open(_arg1:String, _arg2:Number, _arg3:String, _arg4:Object=null){
this._open(_arg1, _arg2, _arg3, _arg4);
}
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:String;
_local4 = this;
_local6 = new Date();
_local7 = Math.floor((_local6.getTime() / 1000));
_local8 = "--**--";
_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)){
if ((((_arg2 == 3)) || (((!((_arg2 == _local5.lastEventType))) && (((!((_arg2 == 2))) || ((_local5.lastEventType == 1)))))))){
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)) || ((_arg2 == 3)))) && ((_local5.lastEventOffset < _arg3)))){
_local5.timePlayed = (_local5.timePlayed + (_arg3 - _local5.lastEventOffset));
};
if (_arg2 != 3){
_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;
_local4.s.pe = "media";
_local4.s.pev3 = (((((((((((("" + escape(_local5.name)) + _local8) + _local5.length) + _local8) + escape(_local5.playerName)) + _local8) + _local5.timePlayed) + _local8) + _local5.timestamp) + _local8) + _local5.session) + ((_arg2 == 3)) ? ("E" + _arg3) : "");
_local4.s.track(null, ("Media." + _arg1));
} else {
_local4.event(_arg1, 2, -1);
_local4.list[_arg1] = 0;
_local4.s.flushBufferedRequest(_local4.s.account, ("Media." + _arg1));
};
};
};
}
public function get autoTrack():Boolean{
return (this._autoTrack);
}
private function startMonitor(_arg1:Object){
var monitor = _arg1;
monitor.update = function (_arg1){
if ((((((((((((_arg1.m == null)) || ((_arg1.m == undefined)))) || ((_arg1.m.s == null)))) || ((_arg1.m.s == undefined)))) || ((_arg1.node == null)))) || ((_arg1.node == undefined)))){
clearInterval(_arg1.interval);
} else {
_arg1.watch();
};
};
monitor.interval = setInterval(monitor.update, 5000, monitor);
}
public function listenerMedia_complete(_arg1){
this.listenerMedia.complete(_arg1);
}
public function listenerFLVPlayback_complete(_arg1){
this.listenerFLVPlayback.complete(_arg1);
}
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(_arg2)))) && (_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.timestamp = Math.floor((_local7.getTime() / 1000));
_local6.lastEventType = 0;
_local6.lastEventTimestamp = _local6.timestamp;
_local6.lastEventOffset = 0;
_local6.session = "";
_local6.eventList = new Object();
_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);
};
}
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 set autoTrack(_arg1:Boolean){
this._autoTrack = _arg1;
if (((((this._autoTrack) && (!(this.autoTrackDone)))) && (this.s.isSet(this.s.movie)))){
this.autoTrackDone = true;
this.attach(this.s.movie);
};
}
public function listenerFLVPlayback_stateChange(_arg1){
this.listenerFLVPlayback.stateChange(_arg1);
}
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.watch = 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 close(_arg1:String){
this.event(_arg1, 0, -1);
}
}
}//package com.omniture
Section 4
//Color (fl.motion.Color)
package fl.motion {
import flash.display.*;
import flash.geom.*;
public class Color extends ColorTransform {
private var _tintColor:Number;// = 0
private var _tintMultiplier:Number;// = 0
public function Color(_arg1:Number=1, _arg2:Number=1, _arg3:Number=1, _arg4:Number=1, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0, _arg8:Number=0){
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
}
private function deriveTintColor():uint{
var _local1:Number = (1 / this.tintMultiplier);
var _local2:uint = Math.round((this.redOffset * _local1));
var _local3:uint = Math.round((this.greenOffset * _local1));
var _local4:uint = Math.round((this.blueOffset * _local1));
var _local5:uint = (((_local2 << 16) | (_local3 << 8)) | _local4);
return (_local5);
}
public function set brightness(_arg1:Number):void{
if (_arg1 > 1){
_arg1 = 1;
} else {
if (_arg1 < -1){
_arg1 = -1;
};
};
var _local2:Number = (1 - Math.abs(_arg1));
var _local3:Number = 0;
if (_arg1 > 0){
_local3 = (_arg1 * 0xFF);
};
this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = _local2));
this.redOffset = (this.greenOffset = (this.blueOffset = _local3));
}
private function parseXML(_arg1:XML=null):Color{
var _local3:XML;
var _local4:String;
var _local5:uint;
if (!_arg1){
return (this);
};
var _local2:XML = _arg1.elements()[0];
if (!_local2){
return (this);
};
for each (_local3 in _local2.attributes()) {
_local4 = _local3.localName();
if (_local4 == "tintColor"){
_local5 = (Number(_local3.toString()) as uint);
this.tintColor = _local5;
} else {
this[_local4] = Number(_local3.toString());
};
};
return (this);
}
public function get tintColor():uint{
return (this._tintColor);
}
public function set tintColor(_arg1:uint):void{
this.setTint(_arg1, this.tintMultiplier);
}
public function get brightness():Number{
return ((this.redOffset) ? (1 - this.redMultiplier) : (this.redMultiplier - 1));
}
public function set tintMultiplier(_arg1:Number):void{
this.setTint(this.tintColor, _arg1);
}
public function get tintMultiplier():Number{
return (this._tintMultiplier);
}
public function setTint(_arg1:uint, _arg2:Number):void{
this._tintColor = _arg1;
this._tintMultiplier = _arg2;
this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = (1 - _arg2)));
var _local3:uint = ((_arg1 >> 16) & 0xFF);
var _local4:uint = ((_arg1 >> 8) & 0xFF);
var _local5:uint = (_arg1 & 0xFF);
this.redOffset = Math.round((_local3 * _arg2));
this.greenOffset = Math.round((_local4 * _arg2));
this.blueOffset = Math.round((_local5 * _arg2));
}
public static function interpolateColor(_arg1:uint, _arg2:uint, _arg3:Number):uint{
var _local4:Number = (1 - _arg3);
var _local5:uint = ((_arg1 >> 24) & 0xFF);
var _local6:uint = ((_arg1 >> 16) & 0xFF);
var _local7:uint = ((_arg1 >> 8) & 0xFF);
var _local8:uint = (_arg1 & 0xFF);
var _local9:uint = ((_arg2 >> 24) & 0xFF);
var _local10:uint = ((_arg2 >> 16) & 0xFF);
var _local11:uint = ((_arg2 >> 8) & 0xFF);
var _local12:uint = (_arg2 & 0xFF);
var _local13:uint = ((_local5 * _local4) + (_local9 * _arg3));
var _local14:uint = ((_local6 * _local4) + (_local10 * _arg3));
var _local15:uint = ((_local7 * _local4) + (_local11 * _arg3));
var _local16:uint = ((_local8 * _local4) + (_local12 * _arg3));
var _local17:uint = ((((_local13 << 24) | (_local14 << 16)) | (_local15 << 8)) | _local16);
return (_local17);
}
public static function interpolateTransform(_arg1:ColorTransform, _arg2:ColorTransform, _arg3:Number):ColorTransform{
var _local4:Number = (1 - _arg3);
var _local5:ColorTransform = new ColorTransform(((_arg1.redMultiplier * _local4) + (_arg2.redMultiplier * _arg3)), ((_arg1.greenMultiplier * _local4) + (_arg2.greenMultiplier * _arg3)), ((_arg1.blueMultiplier * _local4) + (_arg2.blueMultiplier * _arg3)), ((_arg1.alphaMultiplier * _local4) + (_arg2.alphaMultiplier * _arg3)), ((_arg1.redOffset * _local4) + (_arg2.redOffset * _arg3)), ((_arg1.greenOffset * _local4) + (_arg2.greenOffset * _arg3)), ((_arg1.blueOffset * _local4) + (_arg2.blueOffset * _arg3)), ((_arg1.alphaOffset * _local4) + (_arg2.alphaOffset * _arg3)));
return (_local5);
}
public static function fromXML(_arg1:XML):Color{
return (Color(new (Color).parseXML(_arg1)));
}
}
}//package fl.motion
Section 5
//Strong (gs.easing.Strong)
package gs.easing {
public class Strong {
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2));
}
}
}//package gs.easing
Section 6
//TweenEvent (gs.events.TweenEvent)
package gs.events {
import flash.events.*;
public class TweenEvent extends Event {
public var info:Object;
public static const UPDATE:String = "update";
public static const START:String = "start";
public static const version:Number = 0.9;
public static const COMPLETE:String = "complete";
public function TweenEvent(_arg1:String, _arg2:Object=null, _arg3:Boolean=false, _arg4:Boolean=false){
super(_arg1, _arg3, _arg4);
this.info = _arg2;
}
override public function clone():Event{
return (new TweenEvent(this.type, this.info, this.bubbles, this.cancelable));
}
}
}//package gs.events
Section 7
//OverwriteManager (gs.OverwriteManager)
package gs {
import flash.utils.*;
import flash.errors.*;
public class OverwriteManager {
public static const ALL:int = 1;
public static const NONE:int = 0;
public static const AUTO:int = 2;
public static const CONCURRENT:int = 3;
public static const version:Number = 1;
public static var mode:int;
public static var enabled:Boolean;
public static function killVars(_arg1:Object, _arg2:Object, _arg3:Array, _arg4:Array, _arg5:Array):void{
var _local6:int;
var _local7:String;
_local6 = (_arg4.length - 1);
while (_local6 > -1) {
if (_arg1[_arg4[_local6].name] != undefined){
_arg4.splice(_local6, 1);
};
_local6--;
};
_local6 = (_arg3.length - 1);
while (_local6 > -1) {
if (_arg1[_arg3[_local6][4]] != undefined){
_arg3.splice(_local6, 1);
};
_local6--;
};
_local6 = (_arg5.length - 1);
while (_local6 > -1) {
if (_arg1[_arg5[_local6].name] != undefined){
_arg5.splice(_local6, 1);
};
_local6--;
};
for (_local7 in _arg1) {
delete _arg2[_local7];
};
}
public static function manageOverwrites(_arg1:TweenLite, _arg2:Array):void{
var _local7:int;
var _local8:TweenLite;
var _local9:Object;
var _local10:String;
var _local3:Object = _arg1.vars;
var _local4:int = ((_local3.overwrite)==undefined) ? mode : int(_local3.overwrite);
if ((((_local4 < 2)) || ((_arg2 == null)))){
return;
};
var _local5:Number = _arg1.startTime;
var _local6:Array = [];
_local7 = (_arg2.length - 1);
while (_local7 > -1) {
_local8 = _arg2[_local7];
if (((((!((_local8 == _arg1))) && ((_local8.startTime <= _local5)))) && (((_local8.startTime + ((_local8.duration * 1000) / _local8.combinedTimeScale)) > _local5)))){
_local6[_local6.length] = _local8;
};
_local7--;
};
if (_local6.length == 0){
return;
};
if (_local4 == AUTO){
if (_local3.isTV == true){
_local3 = _local3.exposedProps;
};
_local9 = {};
for (_local10 in _local3) {
if ((((((((((((((((((((((((((((((((((((((((((((_local10 == "ease")) || ((_local10 == "delay")))) || ((_local10 == "overwrite")))) || ((_local10 == "onComplete")))) || ((_local10 == "onCompleteParams")))) || ((_local10 == "runBackwards")))) || ((_local10 == "persist")))) || ((_local10 == "onUpdate")))) || ((_local10 == "onUpdateParams")))) || ((_local10 == "timeScale")))) || ((_local10 == "onStart")))) || ((_local10 == "onStartParams")))) || ((_local10 == "renderOnStart")))) || ((_local10 == "proxiedEase")))) || ((_local10 == "easeParams")))) || ((_local10 == "onCompleteAll")))) || ((_local10 == "onCompleteAllParams")))) || ((_local10 == "yoyo")))) || ((_local10 == "loop")))) || ((_local10 == "onCompleteListener")))) || ((_local10 == "onStartListener")))) || ((_local10 == "onUpdateListener")))){
} else {
_local9[_local10] = 1;
if (_local10 == "shortRotate"){
_local9.rotation = 1;
} else {
if (_local10 == "removeTint"){
_local9.tint = 1;
} else {
if (_local10 == "autoAlpha"){
_local9.alpha = 1;
_local9.visible = 1;
};
};
};
};
};
_local7 = (_local6.length - 1);
while (_local7 > -1) {
_local6[_local7].killVars(_local9);
_local7--;
};
} else {
_local7 = (_local6.length - 1);
while (_local7 > -1) {
_local6[_local7].enabled = false;
_local7--;
};
};
}
public static function init(_arg1:int=2):int{
if (TweenLite.version < 9.29){
trace("TweenLite warning: Your TweenLite class needs to be updated to work with OverwriteManager (or you may need to clear your ASO files). Please download and install the latest version from http://www.tweenlite.com.");
};
TweenLite.overwriteManager = OverwriteManager;
mode = _arg1;
enabled = true;
return (mode);
}
}
}//package gs
Section 8
//TweenFilterLite (gs.TweenFilterLite)
package gs {
import flash.filters.*;
import flash.utils.*;
public class TweenFilterLite extends TweenLite {
protected var _matrix:Array;
protected var _hf:Boolean;// = false
protected var _roundProps:Boolean;
protected var _cmf:ColorMatrixFilter;
protected var _filters:Array;
protected var _endMatrix:Array;
protected var _timeScale:Number;
protected var _clrsa:Array;
public static var removeTween:Function = TweenLite.removeTween;
private static var _idMatrix:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
private static var _lumB:Number = 0.072169;
public static var delayedCall:Function = TweenLite.delayedCall;
public static var killTweensOf:Function = TweenLite.killTweensOf;
public static var version:Number = 9.29;
private static var _lumG:Number = 0.71516;
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
private static var _lumR:Number = 0.212671;
protected static var _globalTimeScale:Number = 1;
public function TweenFilterLite(_arg1:Object, _arg2:Number, _arg3:Object){
_filters = [];
super(_arg1, _arg2, _arg3);
if (((!((this.combinedTimeScale == 1))) && ((this.target is TweenFilterLite)))){
_timeScale = 1;
this.combinedTimeScale = _globalTimeScale;
} else {
_timeScale = this.combinedTimeScale;
this.combinedTimeScale = (this.combinedTimeScale * _globalTimeScale);
};
if (((!((this.combinedTimeScale == 1))) && (!((this.delay == 0))))){
this.startTime = (this.initTime + (this.delay * (1000 / this.combinedTimeScale)));
};
if (TweenLite.version < 9.29){
trace("TweenFilterLite error! Please update your TweenLite class or try deleting your ASO files. TweenFilterLite requires a more recent version. Download updates at http://www.TweenLite.com.");
};
}
override public function killVars(_arg1:Object):void{
if (TweenLite.overwriteManager.enabled){
TweenLite.overwriteManager.killVars(_arg1, this.vars, this.tweens, _subTweens, ((_filters) || ([])));
};
}
override public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{
var _local3:int;
var _local4:Object;
var _local5:Object;
var _local6:Object;
var _local7:int;
var _local8:String;
if (((!(_arg1)) && (TweenLite.overwriteManager.enabled))){
TweenLite.overwriteManager.manageOverwrites(this, masterList[this.target]);
};
_clrsa = [];
_filters = [];
_matrix = _idMatrix.slice();
_arg2 = (_arg2 + " blurFilter glowFilter colorMatrixFilter dropShadowFilter bevelFilter roundProps ");
_roundProps = Boolean((this.vars.roundProps is Array));
if (_isDisplayObject){
if (this.vars.blurFilter != null){
_local4 = this.vars.blurFilter;
addFilter("blurFilter", _local4, BlurFilter, ["blurX", "blurY", "quality"], new BlurFilter(0, 0, ((_local4.quality) || (2))));
};
if (this.vars.glowFilter != null){
_local4 = this.vars.glowFilter;
addFilter("glowFilter", _local4, GlowFilter, ["alpha", "blurX", "blurY", "color", "quality", "strength", "inner", "knockout"], new GlowFilter(0xFFFFFF, 0, 0, 0, ((_local4.strength) || (1)), ((_local4.quality) || (2)), _local4.inner, _local4.knockout));
};
if (this.vars.colorMatrixFilter != null){
_local4 = this.vars.colorMatrixFilter;
_local5 = addFilter("colorMatrixFilter", _local4, ColorMatrixFilter, [], new ColorMatrixFilter(_matrix));
_cmf = _local5.filter;
_matrix = ColorMatrixFilter(_cmf).matrix;
if (((!((_local4.matrix == null))) && ((_local4.matrix is Array)))){
_endMatrix = _local4.matrix;
} else {
if (_local4.relative == true){
_endMatrix = _matrix.slice();
} else {
_endMatrix = _idMatrix.slice();
};
_endMatrix = setBrightness(_endMatrix, _local4.brightness);
_endMatrix = setContrast(_endMatrix, _local4.contrast);
_endMatrix = setHue(_endMatrix, _local4.hue);
_endMatrix = setSaturation(_endMatrix, _local4.saturation);
_endMatrix = setThreshold(_endMatrix, _local4.threshold);
if (!isNaN(_local4.colorize)){
_endMatrix = colorize(_endMatrix, _local4.colorize, _local4.amount);
} else {
if (!isNaN(_local4.color)){
_endMatrix = colorize(_endMatrix, _local4.color, _local4.amount);
};
};
};
_local3 = 0;
while (_local3 < _endMatrix.length) {
if (((!((_matrix[_local3] == _endMatrix[_local3]))) && (!((_matrix[_local3] == undefined))))){
this.tweens[this.tweens.length] = [_matrix, _local3.toString(), _matrix[_local3], (_endMatrix[_local3] - _matrix[_local3]), "colorMatrixFilter"];
};
_local3++;
};
};
if (this.vars.dropShadowFilter != null){
_local4 = this.vars.dropShadowFilter;
addFilter("dropShadowFilter", _local4, DropShadowFilter, ["alpha", "angle", "blurX", "blurY", "color", "distance", "quality", "strength", "inner", "knockout", "hideObject"], new DropShadowFilter(0, 45, 0, 0, 0, 0, 1, ((_local4.quality) || (2)), _local4.inner, _local4.knockout, _local4.hideObject));
};
if (this.vars.bevelFilter != null){
_local4 = this.vars.bevelFilter;
addFilter("bevelFilter", _local4, BevelFilter, ["angle", "blurX", "blurY", "distance", "highlightAlpha", "highlightColor", "quality", "shadowAlpha", "shadowColor", "strength"], new BevelFilter(0, 0, 0xFFFFFF, 0.5, 0, 0.5, 2, 2, 0, ((_local4.quality) || (2))));
};
if (this.vars.runBackwards == true){
_local3 = (_clrsa.length - 1);
while (_local3 > -1) {
_local6 = _clrsa[_local3];
_clrsa[_local3].sr = (_local6.sr + _local6.cr);
_local6.cr = (_local6.cr * -1);
_local6.sg = (_local6.sg + _local6.cg);
_local6.cg = (_local6.cg * -1);
_local6.sb = (_local6.sb + _local6.cb);
_local6.cb = (_local6.cb * -1);
_local6.f[_local6.p] = (((_local6.sr << 16) | (_local6.sg << 8)) | _local6.sb);
_local3--;
};
};
super.initTweenVals(true, _arg2);
} else {
super.initTweenVals(_arg1, _arg2);
};
if (_roundProps){
_local3 = (this.vars.roundProps.length - 1);
while (_local3 > -1) {
_local8 = this.vars.roundProps[_local3];
_local7 = (this.tweens.length - 1);
while (_local7 > -1) {
if ((((this.tweens[_local7][1] == _local8)) && ((this.tweens[_local7][0] == this.target)))){
this.tweens[_local7][5] = true;
break;
};
_local7--;
};
_local3--;
};
};
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
if (_arg1){
this.combinedTimeScale = (_timeScale * _globalTimeScale);
};
}
public function set timeScale(_arg1:Number):void{
if (_arg1 < 1E-5){
_arg1 = (_timeScale = 1E-5);
} else {
_timeScale = _arg1;
_arg1 = (_arg1 * _globalTimeScale);
};
this.initTime = ((currentTime - ((((currentTime - this.initTime) - (this.delay * (1000 / this.combinedTimeScale))) * this.combinedTimeScale) * (1 / _arg1))) - (this.delay * (1000 / _arg1)));
if (this.startTime != 999999999999999){
this.startTime = (this.initTime + (this.delay * (1000 / _arg1)));
};
this.combinedTimeScale = _arg1;
}
public function get timeScale():Number{
return (_timeScale);
}
override public function render(_arg1:uint):void{
var _local3:Number;
var _local4:Object;
var _local5:int;
var _local6:Number;
var _local7:int;
var _local8:Array;
var _local9:int;
var _local2:Number = (((_arg1 - this.startTime) * 0.001) * this.combinedTimeScale);
if (_local2 >= this.duration){
_local2 = this.duration;
_local3 = ((((this.ease == this.vars.ease)) || ((this.duration == 0.001)))) ? 1 : 0;
} else {
_local3 = this.ease(_local2, 0, 1, this.duration);
};
if (!_roundProps){
_local5 = (this.tweens.length - 1);
while (_local5 > -1) {
_local4 = this.tweens[_local5];
_local4[0][_local4[1]] = (_local4[2] + (_local3 * _local4[3]));
_local5--;
};
} else {
_local5 = (this.tweens.length - 1);
while (_local5 > -1) {
_local4 = this.tweens[_local5];
if (_local4[5]){
_local6 = (_local4[2] + (_local3 * _local4[3]));
_local7 = ((_local6)<0) ? -1 : 1;
_local4[0][_local4[1]] = ((((_local6 % 1) * _local7))>0.5) ? (int(_local6) + _local7) : int(_local6);
} else {
_local4[0][_local4[1]] = (_local4[2] + (_local3 * _local4[3]));
};
_local5--;
};
};
if (_hf){
_local5 = (_clrsa.length - 1);
while (_local5 > -1) {
_local4 = _clrsa[_local5];
_local4.f[_local4.p] = ((((_local4.sr + (_local3 * _local4.cr)) << 16) | ((_local4.sg + (_local3 * _local4.cg)) << 8)) | (_local4.sb + (_local3 * _local4.cb)));
_local5--;
};
if (_cmf != null){
ColorMatrixFilter(_cmf).matrix = _matrix;
};
_local8 = this.target.filters;
_local5 = 0;
while (_local5 < _filters.length) {
_local9 = (_local8.length - 1);
while (_local9 > -1) {
if ((_local8[_local9] is _filters[_local5].type)){
_local8.splice(_local9, 1, _filters[_local5].filter);
break;
};
_local9--;
};
_local5++;
};
this.target.filters = _local8;
};
if (_hst){
_local5 = (_subTweens.length - 1);
while (_local5 > -1) {
_subTweens[_local5].proxy(_subTweens[_local5], _local2);
_local5--;
};
};
if (_hasUpdate){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (_local2 == this.duration){
complete(true);
};
}
private function addFilter(_arg1:String, _arg2:Object, _arg3:Class, _arg4:Array, _arg5:BitmapFilter):Object{
var _local8:int;
var _local9:String;
var _local10:Number;
var _local11:Object;
var _local12:Object;
var _local6:Object = {type:_arg3, name:_arg1};
var _local7:Array = this.target.filters;
_local8 = 0;
while (_local8 < _local7.length) {
if ((_local7[_local8] is _arg3)){
_local6.filter = _local7[_local8];
break;
};
_local8++;
};
if (_local6.filter == undefined){
_local6.filter = _arg5;
_local7[_local7.length] = _local6.filter;
this.target.filters = _local7;
};
_local8 = 0;
while (_local8 < _arg4.length) {
_local9 = _arg4[_local8];
if (_arg2[_local9] != undefined){
if ((((((_local9 == "color")) || ((_local9 == "highlightColor")))) || ((_local9 == "shadowColor")))){
_local11 = HEXtoRGB(_local6.filter[_local9]);
_local12 = HEXtoRGB(_arg2[_local9]);
_clrsa[_clrsa.length] = {f:_local6.filter, p:_local9, sr:_local11.rb, cr:(_local12.rb - _local11.rb), sg:_local11.gb, cg:(_local12.gb - _local11.gb), sb:_local11.bb, cb:(_local12.bb - _local11.bb)};
} else {
if ((((((((_local9 == "quality")) || ((_local9 == "inner")))) || ((_local9 == "knockout")))) || ((_local9 == "hideObject")))){
_local6.filter[_local9] = _arg2[_local9];
} else {
if (typeof(_arg2[_local9]) == "number"){
_local10 = (_arg2[_local9] - _local6.filter[_local9]);
} else {
_local10 = Number(_arg2[_local9]);
};
this.tweens[this.tweens.length] = [_local6.filter, _local9, _local6.filter[_local9], _local10, _arg1];
};
};
};
_local8++;
};
_filters[_filters.length] = _local6;
_hf = true;
return (_local6);
}
public static function setHue(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
_arg2 = (_arg2 * (Math.PI / 180));
var _local3:Number = Math.cos(_arg2);
var _local4:Number = Math.sin(_arg2);
var _local5:Array = [((_lumR + (_local3 * (1 - _lumR))) + (_local4 * -(_lumR))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * -(_lumG))), ((_lumB + (_local3 * -(_lumB))) + (_local4 * (1 - _lumB))), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * 0.143)), ((_lumG + (_local3 * (1 - _lumG))) + (_local4 * 0.14)), ((_lumB + (_local3 * -(_lumB))) + (_local4 * -0.283)), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * -((1 - _lumR)))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * _lumG)), ((_lumB + (_local3 * (1 - _lumB))) + (_local4 * _lumB)), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1];
return (applyMatrix(_local5, _arg1));
}
public static function setContrast(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
_arg2 = (_arg2 + 0.01);
var _local3:Array = [_arg2, 0, 0, 0, (128 * (1 - _arg2)), 0, _arg2, 0, 0, (128 * (1 - _arg2)), 0, 0, _arg2, 0, (128 * (1 - _arg2)), 0, 0, 0, 1, 0];
return (applyMatrix(_local3, _arg1));
}
public static function applyMatrix(_arg1:Array, _arg2:Array):Array{
var _local6:int;
var _local7:int;
if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){
return (_arg2);
};
var _local3:Array = [];
var _local4:int;
var _local5:int;
_local6 = 0;
while (_local6 < 4) {
_local7 = 0;
while (_local7 < 5) {
if (_local7 == 4){
_local5 = _arg1[(_local4 + 4)];
} else {
_local5 = 0;
};
_local3[(_local4 + _local7)] = (((((_arg1[_local4] * _arg2[_local7]) + (_arg1[(_local4 + 1)] * _arg2[(_local7 + 5)])) + (_arg1[(_local4 + 2)] * _arg2[(_local7 + 10)])) + (_arg1[(_local4 + 3)] * _arg2[(_local7 + 15)])) + _local5);
_local7++;
};
_local4 = (_local4 + 5);
_local6++;
};
return (_local3);
}
public static function colorize(_arg1:Array, _arg2:Number, _arg3:Number=1):Array{
if (isNaN(_arg2)){
return (_arg1);
};
if (isNaN(_arg3)){
_arg3 = 1;
};
var _local4:Number = (((_arg2 >> 16) & 0xFF) / 0xFF);
var _local5:Number = (((_arg2 >> 8) & 0xFF) / 0xFF);
var _local6:Number = ((_arg2 & 0xFF) / 0xFF);
var _local7:Number = (1 - _arg3);
var _local8:Array = [(_local7 + ((_arg3 * _local4) * _lumR)), ((_arg3 * _local4) * _lumG), ((_arg3 * _local4) * _lumB), 0, 0, ((_arg3 * _local5) * _lumR), (_local7 + ((_arg3 * _local5) * _lumG)), ((_arg3 * _local5) * _lumB), 0, 0, ((_arg3 * _local6) * _lumR), ((_arg3 * _local6) * _lumG), (_local7 + ((_arg3 * _local6) * _lumB)), 0, 0, 0, 0, 0, 1, 0];
return (applyMatrix(_local8, _arg1));
}
public static function setBrightness(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
_arg2 = ((_arg2 * 100) - 100);
return (applyMatrix([1, 0, 0, 0, _arg2, 0, 1, 0, 0, _arg2, 0, 0, 1, 0, _arg2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1], _arg1));
}
public static function setSaturation(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
var _local3:Number = (1 - _arg2);
var _local4:Number = (_local3 * _lumR);
var _local5:Number = (_local3 * _lumG);
var _local6:Number = (_local3 * _lumB);
var _local7:Array = [(_local4 + _arg2), _local5, _local6, 0, 0, _local4, (_local5 + _arg2), _local6, 0, 0, _local4, _local5, (_local6 + _arg2), 0, 0, 0, 0, 0, 1, 0];
return (applyMatrix(_local7, _arg1));
}
public static function setGlobalTimeScale(_arg1:Number):void{
var _local3:int;
var _local4:Array;
if (_arg1 < 1E-5){
_arg1 = 1E-5;
};
var _local2:Dictionary = masterList;
_globalTimeScale = _arg1;
for each (_local4 in _local2) {
_local3 = (_local4.length - 1);
while (_local3 > -1) {
if ((_local4[_local3] is TweenFilterLite)){
_local4[_local3].timeScale = (_local4[_local3].timeScale * 1);
};
_local3--;
};
};
}
public static function get globalTimeScale():Number{
return (_globalTimeScale);
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenFilterLite{
_arg3.runBackwards = true;
return (new TweenFilterLite(_arg1, _arg2, _arg3));
}
public static function set globalTimeScale(_arg1:Number):void{
setGlobalTimeScale(_arg1);
}
public static function HEXtoRGB(_arg1:Number):Object{
return ({rb:(_arg1 >> 16), gb:((_arg1 >> 8) & 0xFF), bb:(_arg1 & 0xFF)});
}
public static function setThreshold(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
var _local3:Array = [(_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), 0, 0, 0, 1, 0];
return (applyMatrix(_local3, _arg1));
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenFilterLite{
return (new TweenFilterLite(_arg1, _arg2, _arg3));
}
}
}//package gs
Section 9
//TweenLite (gs.TweenLite)
package gs {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.utils.*;
public class TweenLite {
public var started:Boolean;
public var delay:Number;
protected var _hasUpdate:Boolean;
protected var _subTweens:Array;
public var initted:Boolean;
public var active:Boolean;
public var startTime:Number;
public var target:Object;
public var duration:Number;
protected var _hst:Boolean;
public var gc:Boolean;
protected var _isDisplayObject:Boolean;
public var tweens:Array;
public var vars:Object;
public var ease:Function;
protected var _specialVars:Object;
public var initTime:Number;
public var combinedTimeScale:Number;
private static var _timer:Timer = new Timer(2000);
private static var _classInitted:Boolean;
public static var defaultEase:Function = TweenLite.easeOut;
public static var version:Number = 9.29;
public static var masterList:Dictionary = new Dictionary(false);
public static var currentTime:uint;
public static var overwriteManager:Object;
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
public static var timingSprite:Sprite = new Sprite();
public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){
if (_arg1 == null){
return;
};
if (!_classInitted){
currentTime = getTimer();
timingSprite.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true);
if (overwriteManager == null){
overwriteManager = {mode:1, enabled:false};
};
_timer.addEventListener("timer", killGarbage, false, 0, true);
_timer.start();
_classInitted = true;
};
this.vars = _arg3;
this.duration = ((_arg2) || (0.001));
this.delay = ((_arg3.delay) || (0));
this.combinedTimeScale = ((_arg3.timeScale) || (1));
this.active = Boolean((((_arg2 == 0)) && ((this.delay == 0))));
this.target = _arg1;
_isDisplayObject = Boolean((_arg1 is DisplayObject));
if (!(this.vars.ease is Function)){
this.vars.ease = defaultEase;
};
if (this.vars.easeParams != null){
this.vars.proxiedEase = this.vars.ease;
this.vars.ease = easeProxy;
};
this.ease = this.vars.ease;
if (!isNaN(Number(this.vars.autoAlpha))){
this.vars.alpha = Number(this.vars.autoAlpha);
this.vars.visible = Boolean((this.vars.alpha > 0));
};
_specialVars = ((this.vars.isTV)==true) ? this.vars.exposedProps : this.vars;
this.tweens = [];
_subTweens = [];
_hst = (this.initted = false);
this.initTime = currentTime;
this.startTime = (this.initTime + (this.delay * 1000));
var _local4:int = ((((_arg3.overwrite == undefined)) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite);
if ((((masterList[_arg1] == undefined)) || (((!((_arg1 == null))) && ((_local4 == 1)))))){
masterList[_arg1] = [];
};
masterList[_arg1].push(this);
if ((((((this.vars.runBackwards == true)) && (!((this.vars.renderOnStart == true))))) || (this.active))){
initTweenVals();
if (this.active){
render((this.startTime + 1));
} else {
render(this.startTime);
};
if (((((!((_specialVars.visible == null))) && ((this.vars.runBackwards == true)))) && (_isDisplayObject))){
this.target.visible = _specialVars.visible;
};
};
}
public function get enabled():Boolean{
return ((this.gc) ? false : true);
}
public function render(_arg1:uint):void{
var _local3:Number;
var _local4:Object;
var _local5:int;
var _local2:Number = ((_arg1 - this.startTime) * 0.001);
if (_local2 >= this.duration){
_local2 = this.duration;
_local3 = ((((this.ease == this.vars.ease)) || ((this.duration == 0.001)))) ? 1 : 0;
} else {
_local3 = this.ease(_local2, 0, 1, this.duration);
};
_local5 = (this.tweens.length - 1);
while (_local5 > -1) {
_local4 = this.tweens[_local5];
_local4[0][_local4[1]] = (_local4[2] + (_local3 * _local4[3]));
_local5--;
};
if (_hst){
_local5 = (_subTweens.length - 1);
while (_local5 > -1) {
_subTweens[_local5].proxy(_subTweens[_local5], _local2);
_local5--;
};
};
if (_hasUpdate){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (_local2 == this.duration){
complete(true);
};
}
public function set enabled(_arg1:Boolean):void{
var _local2:Array;
var _local3:Boolean;
var _local4:int;
if (_arg1){
if (masterList[this.target] == undefined){
masterList[this.target] = [this];
} else {
_local2 = masterList[this.target];
_local4 = (_local2.length - 1);
while (_local4 > -1) {
if (_local2[_local4] == this){
_local3 = true;
break;
};
_local4--;
};
if (!_local3){
masterList[this.target].push(this);
};
};
};
this.gc = (_arg1) ? false : true;
if (this.gc){
this.active = false;
} else {
this.active = this.started;
};
}
public function activate():void{
this.started = (this.active = true);
if (!this.initted){
initTweenVals();
};
if (this.vars.onStart != null){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
if (this.duration == 0.001){
this.startTime = (this.startTime - 1);
};
}
public function clear():void{
this.tweens = [];
_subTweens = [];
this.vars = {};
_hst = (_hasUpdate = false);
}
protected function addSubTween(_arg1:String, _arg2:Function, _arg3:Object, _arg4:Object, _arg5:Object=null):void{
var _local6:String;
_subTweens[_subTweens.length] = {name:_arg1, proxy:_arg2, target:_arg3, info:_arg5};
for (_local6 in _arg4) {
if (typeof(_arg4[_local6]) == "number"){
this.tweens[this.tweens.length] = [_arg3, _local6, _arg3[_local6], (_arg4[_local6] - _arg3[_local6]), _arg1];
} else {
this.tweens[this.tweens.length] = [_arg3, _local6, _arg3[_local6], Number(_arg4[_local6]), _arg1];
};
};
_hst = true;
}
public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{
var _local3:String;
var _local4:int;
var _local5:Array;
var _local6:ColorTransform;
var _local7:ColorTransform;
var _local8:Object;
if (((!(_arg1)) && (overwriteManager.enabled))){
overwriteManager.manageOverwrites(this, masterList[this.target]);
};
if ((this.target is Array)){
_local5 = ((this.vars.endArray) || ([]));
_local4 = 0;
while (_local4 < _local5.length) {
if (((!((this.target[_local4] == _local5[_local4]))) && (!((this.target[_local4] == undefined))))){
this.tweens[this.tweens.length] = [this.target, _local4.toString(), this.target[_local4], (_local5[_local4] - this.target[_local4]), _local4.toString()];
};
_local4++;
};
} else {
if (((((!((typeof(_specialVars.tint) == "undefined"))) || ((this.vars.removeTint == true)))) && (_isDisplayObject))){
_local6 = this.target.transform.colorTransform;
_local7 = new ColorTransform();
if (_specialVars.alpha != undefined){
_local7.alphaMultiplier = _specialVars.alpha;
delete _specialVars.alpha;
} else {
_local7.alphaMultiplier = this.target.alpha;
};
if (((!((this.vars.removeTint == true))) && (((((!((_specialVars.tint == null))) && (!((_specialVars.tint == ""))))) || ((_specialVars.tint == 0)))))){
_local7.color = _specialVars.tint;
};
addSubTween("tint", tintProxy, {progress:0}, {progress:1}, {target:this.target, color:_local6, endColor:_local7});
};
if (((!((_specialVars.frame == null))) && (_isDisplayObject))){
addSubTween("frame", frameProxy, {frame:this.target.currentFrame}, {frame:_specialVars.frame}, {target:this.target});
};
if (((!(isNaN(this.vars.volume))) && (this.target.hasOwnProperty("soundTransform")))){
addSubTween("volume", volumeProxy, this.target.soundTransform, {volume:this.vars.volume}, {target:this.target});
};
if (((!((_specialVars.visible == null))) && (_isDisplayObject))){
addSubTween("visible", visibleProxy, {}, {}, {tween:this});
};
for (_local3 in _specialVars) {
if ((((((((((((((((((((((((((((((((((((((_local3 == "ease")) || ((_local3 == "delay")))) || ((_local3 == "overwrite")))) || ((_local3 == "onComplete")))) || ((_local3 == "onCompleteParams")))) || ((_local3 == "runBackwards")))) || ((_local3 == "visible")))) || ((_local3 == "autoOverwrite")))) || ((_local3 == "persist")))) || ((_local3 == "onUpdate")))) || ((_local3 == "onUpdateParams")))) || ((_local3 == "autoAlpha")))) || ((((_local3 == "timeScale")) && (!((this.target is TweenLite))))))) || ((_local3 == "onStart")))) || ((_local3 == "onStartParams")))) || ((_local3 == "renderOnStart")))) || ((_local3 == "proxiedEase")))) || ((_local3 == "easeParams")))) || (((_arg1) && (!((_arg2.indexOf(((" " + _local3) + " ")) == -1))))))){
} else {
if (((!(((_isDisplayObject) && ((((((_local3 == "tint")) || ((_local3 == "removeTint")))) || ((_local3 == "frame"))))))) && (!((((_local3 == "volume")) && (this.target.hasOwnProperty("soundTransform"))))))){
if (typeof(_specialVars[_local3]) == "number"){
this.tweens[this.tweens.length] = [this.target, _local3, this.target[_local3], (_specialVars[_local3] - this.target[_local3]), _local3];
} else {
this.tweens[this.tweens.length] = [this.target, _local3, this.target[_local3], Number(_specialVars[_local3]), _local3];
};
};
};
};
};
if (this.vars.runBackwards == true){
_local4 = (this.tweens.length - 1);
while (_local4 > -1) {
_local8 = this.tweens[_local4];
_local8[2] = (_local8[2] + _local8[3]);
_local8[3] = (_local8[3] * -1);
_local4--;
};
};
if (this.vars.onUpdate != null){
_hasUpdate = true;
};
this.initted = true;
}
protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams)));
}
public function killVars(_arg1:Object):void{
if (overwriteManager.enabled){
overwriteManager.killVars(_arg1, this.vars, this.tweens, _subTweens, []);
};
}
public function complete(_arg1:Boolean=false):void{
if (!_arg1){
if (!this.initted){
initTweenVals();
};
this.startTime = (currentTime - ((this.duration * 1000) / this.combinedTimeScale));
render(currentTime);
return;
};
if (this.vars.persist != true){
this.enabled = false;
};
if (this.vars.onComplete != null){
this.vars.onComplete.apply(null, this.vars.onCompleteParams);
};
}
public static function frameProxy(_arg1:Object, _arg2:Number=0):void{
_arg1.info.target.gotoAndStop(Math.round(_arg1.target.frame));
}
public static function removeTween(_arg1:TweenLite, _arg2:Boolean=true):void{
if (_arg1 != null){
if (_arg2){
_arg1.clear();
};
_arg1.enabled = false;
};
}
public static function visibleProxy(_arg1:Object, _arg2:Number):void{
var _local3:TweenLite = _arg1.info.tween;
if (_local3.duration == _arg2){
if (((!((_local3.vars.runBackwards == true))) && ((_local3.ease == _local3.vars.ease)))){
_local3.target.visible = _local3.vars.visible;
};
} else {
if (_local3.target.visible != true){
_local3.target.visible = true;
};
};
}
public static function killTweensOf(_arg1:Object=null, _arg2:Boolean=false):void{
var _local3:Array;
var _local4:int;
var _local5:TweenLite;
if (((!((_arg1 == null))) && (!((masterList[_arg1] == undefined))))){
_local3 = masterList[_arg1];
_local4 = (_local3.length - 1);
while (_local4 > -1) {
_local5 = _local3[_local4];
if (((_arg2) && (!(_local5.gc)))){
_local5.complete(false);
};
_local5.clear();
_local4--;
};
delete masterList[_arg1];
};
}
public static function updateAll(_arg1:Event=null):void{
var _local4:Array;
var _local5:int;
var _local6:TweenLite;
var _local2:uint = (currentTime = getTimer());
var _local3:Dictionary = masterList;
for each (_local4 in _local3) {
_local5 = (_local4.length - 1);
while (_local5 > -1) {
_local6 = _local4[_local5];
if (_local6 == null){
} else {
if (_local6.active){
_local6.render(_local2);
} else {
if (_local6.gc){
_local4.splice(_local5, 1);
} else {
if (_local2 >= _local6.startTime){
_local6.activate();
_local6.render(_local2);
};
};
};
};
_local5--;
};
};
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null):TweenLite{
return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, overwrite:0}));
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
_arg3.runBackwards = true;
return (new TweenLite(_arg1, _arg2, _arg3));
}
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2));
}
public static function tintProxy(_arg1:Object, _arg2:Number=0):void{
var _local3:Number = _arg1.target.progress;
var _local4:Number = (1 - _local3);
var _local5:Object = _arg1.info.color;
var _local6:Object = _arg1.info.endColor;
_arg1.info.target.transform.colorTransform = new ColorTransform(((_local5.redMultiplier * _local4) + (_local6.redMultiplier * _local3)), ((_local5.greenMultiplier * _local4) + (_local6.greenMultiplier * _local3)), ((_local5.blueMultiplier * _local4) + (_local6.blueMultiplier * _local3)), ((_local5.alphaMultiplier * _local4) + (_local6.alphaMultiplier * _local3)), ((_local5.redOffset * _local4) + (_local6.redOffset * _local3)), ((_local5.greenOffset * _local4) + (_local6.greenOffset * _local3)), ((_local5.blueOffset * _local4) + (_local6.blueOffset * _local3)), ((_local5.alphaOffset * _local4) + (_local6.alphaOffset * _local3)));
}
public static function volumeProxy(_arg1:Object, _arg2:Number=0):void{
_arg1.info.target.soundTransform = _arg1.target;
}
protected static function killGarbage(_arg1:TimerEvent):void{
var _local3:Object;
var _local4:Array;
var _local2:Dictionary = masterList;
for (_local3 in _local2) {
if (_local2[_local3].length == 0){
delete _local2[_local3];
};
};
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
return (new TweenLite(_arg1, _arg2, _arg3));
}
}
}//package gs
Section 10
//TweenMax (gs.TweenMax)
package gs {
import flash.events.*;
import gs.events.*;
import flash.utils.*;
public class TweenMax extends TweenFilterLite implements IEventDispatcher {
protected var _dispatcher:EventDispatcher;
public var pauseTime:Number;
protected var _callbacks:Object;
protected var _repeatCount:Number;
protected static const _RAD2DEG:Number = 57.2957795130823;
public static var removeTween:Function = TweenLite.removeTween;
private static var _overwriteMode:int = (OverwriteManager.enabled) ? OverwriteManager.mode : OverwriteManager.init();
;
protected static var _pausedTweens:Dictionary = new Dictionary(false);
public static var setGlobalTimeScale:Function = TweenFilterLite.setGlobalTimeScale;
public static var killTweensOf:Function = TweenLite.killTweensOf;
public static var version:Number = 3.5;
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
public function TweenMax(_arg1:Object, _arg2:Number, _arg3:Object){
super(_arg1, _arg2, _arg3);
if (((((!((this.vars.onCompleteListener == null))) || (!((this.vars.onUpdateListener == null))))) || (!((this.vars.onStartListener == null))))){
initDispatcher();
if ((((_arg2 == 0)) && ((this.delay == 0)))){
onUpdateDispatcher();
onCompleteDispatcher();
};
};
_repeatCount = 0;
if (((!(isNaN(this.vars.yoyo))) || (!(isNaN(this.vars.loop))))){
this.vars.persist = true;
};
if (TweenFilterLite.version < 9.29){
trace("TweenMax error! Please update your TweenFilterLite class or try deleting your ASO files. TweenMax requires a more recent version. Download updates at http://www.TweenMax.com.");
};
}
public function dispatchEvent(_arg1:Event):Boolean{
if (_dispatcher == null){
return (false);
};
return (_dispatcher.dispatchEvent(_arg1));
}
public function get reversed():Boolean{
return ((this.ease == reverseEase));
}
public function set reversed(_arg1:Boolean):void{
if (this.reversed != _arg1){
reverse();
};
}
protected function onStartDispatcher(... _args):void{
if (_callbacks.onStart != null){
_callbacks.onStart.apply(null, this.vars.onStartParams);
};
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.START));
}
public function setDestination(_arg1:String, _arg2, _arg3:Boolean=true):void{
var _local5:Object;
var _local6:int;
var _local7:Object;
var _local8:Array;
var _local9:Array;
var _local4:Number = this.progress;
if (((!((this.vars[_arg1] == undefined))) && (this.initted))){
if (((!(_arg3)) && (!((_local4 == 0))))){
_local6 = (this.tweens.length - 1);
while (_local6 > -1) {
if (this.tweens[_local6][4] == _arg1){
this.tweens[_local6][0][this.tweens[_local6][1]] = this.tweens[_local6][2];
};
_local6--;
};
};
_local5 = {};
_local5[_arg1] = 1;
killVars(_local5);
};
this.vars[_arg1] = _arg2;
if (this.initted){
_local7 = this.vars;
_local8 = this.tweens;
_local9 = _subTweens;
this.vars = {};
this.tweens = [];
_subTweens = [];
this.vars[_arg1] = _arg2;
initTweenVals();
if (((!((this.ease == reverseEase))) && ((_local7.ease is Function)))){
this.ease = _local7.ease;
};
if (((_arg3) && (!((_local4 == 0))))){
adjustStartValues();
};
this.vars = _local7;
this.tweens = _local8.concat(this.tweens);
_subTweens = _local9.concat(_subTweens);
};
}
override public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{
var _local3:String;
var _local4:int;
var _local5:Object;
var _local6:Object;
var _local7:Array;
var _local9:Number;
_arg2 = (_arg2 + " hexColors bezier bezierThrough shortRotation orientToBezier quaternions onCompleteAll onCompleteAllParams yoyo loop onCompleteListener onUpdateListener onStartListener ");
if (((!(_arg1)) && (TweenLite.overwriteManager.enabled))){
TweenLite.overwriteManager.manageOverwrites(this, masterList[this.target]);
};
var _local8:Function = bezierProxy;
if (this.vars.orientToBezier == true){
this.vars.orientToBezier = [["x", "y", "rotation", 0]];
_local8 = bezierProxy2;
} else {
if ((this.vars.orientToBezier is Array)){
_local8 = bezierProxy2;
};
};
if (((!((this.vars.bezier == undefined))) && ((this.vars.bezier is Array)))){
_local6 = {};
_local7 = this.vars.bezier;
_local4 = 0;
while (_local4 < _local7.length) {
for (_local3 in _local7[_local4]) {
if (_local6[_local3] == undefined){
_local6[_local3] = [this.target[_local3]];
};
if (typeof(_local7[_local4][_local3]) == "number"){
_local6[_local3].push(_local7[_local4][_local3]);
} else {
_local6[_local3].push((this.target[_local3] + Number(_local7[_local4][_local3])));
};
};
_local4++;
};
for (_local3 in _local6) {
if (typeof(this.vars[_local3]) == "number"){
_local6[_local3].push(this.vars[_local3]);
} else {
_local6[_local3].push((this.target[_local3] + Number(this.vars[_local3])));
};
delete this.vars[_local3];
};
addSubTween("bezier", _local8, {t:0}, {t:1}, {props:parseBeziers(_local6, false), target:this.target, orientToBezier:this.vars.orientToBezier});
};
if (((!((this.vars.bezierThrough == undefined))) && ((this.vars.bezierThrough is Array)))){
_local6 = {};
_local7 = this.vars.bezierThrough;
_local4 = 0;
while (_local4 < _local7.length) {
for (_local3 in _local7[_local4]) {
if (_local6[_local3] == undefined){
_local6[_local3] = [this.target[_local3]];
};
if (typeof(_local7[_local4][_local3]) == "number"){
_local6[_local3].push(_local7[_local4][_local3]);
} else {
_local6[_local3].push((this.target[_local3] + Number(_local7[_local4][_local3])));
};
};
_local4++;
};
for (_local3 in _local6) {
if (typeof(this.vars[_local3]) == "number"){
_local6[_local3].push(this.vars[_local3]);
} else {
_local6[_local3].push((this.target[_local3] + Number(this.vars[_local3])));
};
delete this.vars[_local3];
};
addSubTween("bezierThrough", _local8, {t:0}, {t:1}, {props:parseBeziers(_local6, true), target:this.target, orientToBezier:this.vars.orientToBezier});
};
if (!isNaN(this.vars.shortRotation)){
_local9 = ((this.vars.shortRotation - this.target.rotation) % 360);
if (((this.vars.shortRotation - this.target.rotation) % 360) != (_local9 % 180)){
_local9 = ((_local9)<0) ? (_local9 + 360) : (_local9 - 360);
};
this.tweens[this.tweens.length] = [this.target, "rotation", this.target.rotation, _local9, "rotation"];
};
if (((!((this.vars.hexColors == undefined))) && ((typeof(this.vars.hexColors) == "object")))){
for (_local3 in this.vars.hexColors) {
addSubTween("hexColors", hexColorsProxy, {r:(this.target[_local3] >> 16), g:((this.target[_local3] >> 8) & 0xFF), b:(this.target[_local3] & 0xFF)}, {r:(this.vars.hexColors[_local3] >> 16), g:((this.vars.hexColors[_local3] >> 8) & 0xFF), b:(this.vars.hexColors[_local3] & 0xFF)}, {prop:_local3, target:this.target});
};
};
super.initTweenVals(true, _arg2);
}
public function restart(_arg1:Boolean=false):void{
if (_arg1){
this.initTime = currentTime;
this.startTime = (currentTime + (this.delay * (1000 / this.combinedTimeScale)));
} else {
this.startTime = currentTime;
this.initTime = (currentTime - (this.delay * (1000 / this.combinedTimeScale)));
};
_repeatCount = 0;
if (this.target != this.vars.onComplete){
render(this.startTime);
};
this.pauseTime = NaN;
this.enabled = true;
}
public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{
if (_dispatcher != null){
_dispatcher.removeEventListener(_arg1, _arg2, _arg3);
};
}
public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{
if (_dispatcher == null){
initDispatcher();
};
if ((((_arg1 == TweenEvent.UPDATE)) && (!((this.vars.onUpdate == onUpdateDispatcher))))){
this.vars.onUpdate = onUpdateDispatcher;
_hasUpdate = true;
};
_dispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5);
}
protected function adjustStartValues():void{
var _local2:Number;
var _local3:Number;
var _local4:Object;
var _local5:int;
var _local1:Number = this.progress;
if (_local1 != 0){
_local2 = (1 / (1 - this.ease((_local1 * this.duration), 0, 1, this.duration)));
_local5 = (this.tweens.length - 1);
while (_local5 > -1) {
_local4 = this.tweens[_local5];
_local3 = (_local4[2] + _local4[3]);
_local4[3] = ((_local3 - _local4[0][_local4[1]]) * _local2);
_local4[2] = (_local3 - _local4[3]);
_local5--;
};
};
}
protected function onUpdateDispatcher(... _args):void{
if (_callbacks.onUpdate != null){
_callbacks.onUpdate.apply(null, this.vars.onUpdateParams);
};
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.UPDATE));
}
protected function initDispatcher():void{
var _local1:Object;
var _local2:String;
if (_dispatcher == null){
_dispatcher = new EventDispatcher(this);
_callbacks = {onStart:this.vars.onStart, onUpdate:this.vars.onUpdate, onComplete:this.vars.onComplete};
_local1 = {};
for (_local2 in this.vars) {
_local1[_local2] = this.vars[_local2];
};
this.vars = _local1;
this.vars.onStart = onStartDispatcher;
this.vars.onComplete = onCompleteDispatcher;
if ((this.vars.onStartListener is Function)){
_dispatcher.addEventListener(TweenEvent.START, this.vars.onStartListener, false, 0, true);
};
if ((this.vars.onUpdateListener is Function)){
_dispatcher.addEventListener(TweenEvent.UPDATE, this.vars.onUpdateListener, false, 0, true);
this.vars.onUpdate = onUpdateDispatcher;
_hasUpdate = true;
};
if ((this.vars.onCompleteListener is Function)){
_dispatcher.addEventListener(TweenEvent.COMPLETE, this.vars.onCompleteListener, false, 0, true);
};
};
}
public function willTrigger(_arg1:String):Boolean{
if (_dispatcher == null){
return (false);
};
return (_dispatcher.willTrigger(_arg1));
}
public function set progress(_arg1:Number):void{
this.startTime = (currentTime - ((this.duration * _arg1) * 1000));
this.initTime = (this.startTime - (this.delay * (1000 / this.combinedTimeScale)));
if (!this.started){
activate();
};
render(currentTime);
if (!isNaN(this.pauseTime)){
this.pauseTime = currentTime;
this.startTime = 999999999999999;
this.active = false;
};
}
public function reverse(_arg1:Boolean=true, _arg2:Boolean=true):void{
this.ease = ((this.vars.ease)==this.ease) ? reverseEase : this.vars.ease;
var _local3:Number = this.progress;
if (((_arg1) && ((_local3 > 0)))){
this.startTime = (currentTime - ((((1 - _local3) * this.duration) * 1000) / this.combinedTimeScale));
this.initTime = (this.startTime - (this.delay * (1000 / this.combinedTimeScale)));
};
if (_arg2 != false){
if (_local3 < 1){
resume();
} else {
restart();
};
};
}
public function set paused(_arg1:Boolean):void{
if (_arg1){
pause();
} else {
resume();
};
}
public function resume():void{
this.enabled = true;
if (!isNaN(this.pauseTime)){
this.initTime = (this.initTime + (currentTime - this.pauseTime));
this.startTime = (this.initTime + (this.delay * (1000 / this.combinedTimeScale)));
this.pauseTime = NaN;
if (((!(this.started)) && ((currentTime >= this.startTime)))){
activate();
} else {
this.active = this.started;
};
_pausedTweens[this] = null;
delete _pausedTweens[this];
};
}
public function get paused():Boolean{
return ((this.startTime == 999999999999999));
}
public function reverseEase(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (this.vars.ease((_arg4 - _arg1), _arg2, _arg3, _arg4));
}
public function killProperties(_arg1:Array):void{
var _local3:int;
var _local2:Object = {};
_local3 = (_arg1.length - 1);
while (_local3 > -1) {
if (this.vars[_arg1[_local3]] != null){
_local2[_arg1[_local3]] = 1;
};
_local3--;
};
killVars(_local2);
}
public function hasEventListener(_arg1:String):Boolean{
if (_dispatcher == null){
return (false);
};
return (_dispatcher.hasEventListener(_arg1));
}
public function pause():void{
if (isNaN(this.pauseTime)){
this.pauseTime = currentTime;
this.startTime = 999999999999999;
this.enabled = false;
_pausedTweens[this] = this;
};
}
override public function complete(_arg1:Boolean=false):void{
if (((((!(isNaN(this.vars.yoyo))) && ((((_repeatCount < this.vars.yoyo)) || ((this.vars.yoyo == 0)))))) || (((!(isNaN(this.vars.loop))) && ((((_repeatCount < this.vars.loop)) || ((this.vars.loop == 0)))))))){
_repeatCount++;
if (!isNaN(this.vars.yoyo)){
this.ease = ((this.vars.ease)==this.ease) ? reverseEase : this.vars.ease;
};
this.startTime = (_arg1) ? (this.startTime + (this.duration * (1000 / this.combinedTimeScale))) : currentTime;
this.initTime = (this.startTime - (this.delay * (1000 / this.combinedTimeScale)));
} else {
if (this.vars.persist == true){
pause();
};
};
super.complete(_arg1);
}
public function invalidate(_arg1:Boolean=true):void{
var _local2:Number;
if (this.initted){
_local2 = this.progress;
if (((!(_arg1)) && (!((_local2 == 0))))){
this.progress = 0;
};
this.tweens = [];
_subTweens = [];
_specialVars = ((this.vars.isTV)==true) ? this.vars.exposedProps : this.vars;
initTweenVals();
_timeScale = ((this.vars.timeScale) || (1));
this.combinedTimeScale = (_timeScale * _globalTimeScale);
this.delay = ((this.vars.delay) || (0));
if (isNaN(this.pauseTime)){
this.startTime = (this.initTime + ((this.delay * 1000) / this.combinedTimeScale));
};
if (((((!((this.vars.onCompleteListener == null))) || (!((this.vars.onUpdateListener == null))))) || (!((this.vars.onStartListener == null))))){
if (_dispatcher != null){
this.vars.onStart = _callbacks.onStart;
this.vars.onUpdate = _callbacks.onUpdate;
this.vars.onComplete = _callbacks.onComplete;
_dispatcher = null;
};
initDispatcher();
};
if (_local2 != 0){
if (_arg1){
adjustStartValues();
} else {
this.progress = _local2;
};
};
};
}
public function get progress():Number{
var _local1:Number = (isNaN(this.pauseTime)) ? currentTime : this.pauseTime;
var _local2:Number = (((((_local1 - this.initTime) * 0.001) - (this.delay / this.combinedTimeScale)) / this.duration) * this.combinedTimeScale);
if (_local2 > 1){
return (1);
};
if (_local2 < 0){
return (0);
};
return (_local2);
}
protected function onCompleteDispatcher(... _args):void{
if (_callbacks.onComplete != null){
_callbacks.onComplete.apply(null, this.vars.onCompleteParams);
};
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.COMPLETE));
}
public static function sequence(_arg1:Object, _arg2:Array):Array{
var _local3:uint;
while (_local3 < _arg2.length) {
_arg2[_local3].target = _arg1;
_local3++;
};
return (multiSequence(_arg2));
}
public static function bezierProxy(_arg1:Object, _arg2:Number=0):void{
var _local6:int;
var _local7:String;
var _local8:Object;
var _local9:Number;
var _local10:uint;
var _local3:Number = _arg1.target.t;
var _local4:Object = _arg1.info.props;
var _local5:Object = _arg1.info.target;
if (_local3 == 1){
for (_local7 in _local4) {
_local6 = (_local4[_local7].length - 1);
_local5[_local7] = _local4[_local7][_local6].e;
};
} else {
for (_local7 in _local4) {
_local10 = _local4[_local7].length;
if (_local3 < 0){
_local6 = 0;
} else {
if (_local3 >= 1){
_local6 = (_local10 - 1);
} else {
_local6 = int((_local10 * _local3));
};
};
_local9 = ((_local3 - (_local6 * (1 / _local10))) * _local10);
_local8 = _local4[_local7][_local6];
_local5[_local7] = (_local8.s + (_local9 * (((2 * (1 - _local9)) * (_local8.cp - _local8.s)) + (_local9 * (_local8.e - _local8.s)))));
};
};
}
public static function hexColorsProxy(_arg1:Object, _arg2:Number=0):void{
_arg1.info.target[_arg1.info.prop] = uint((((_arg1.target.r << 16) | (_arg1.target.g << 8)) | _arg1.target.b));
}
public static function parseBeziers(_arg1:Object, _arg2:Boolean=false):Object{
var _local3:int;
var _local4:Array;
var _local5:Object;
var _local6:String;
var _local7:Object = {};
if (_arg2){
for (_local6 in _arg1) {
_local4 = _arg1[_local6];
_local5 = [];
_local7[_local6] = _local5;
if (_local4.length > 2){
_local5[_local5.length] = {s:_local4[0], cp:(_local4[1] - ((_local4[2] - _local4[0]) / 4)), e:_local4[1]};
_local3 = 1;
while (_local3 < (_local4.length - 1)) {
_local5[_local5.length] = {s:_local4[_local3], cp:(_local4[_local3] + (_local4[_local3] - _local5[(_local3 - 1)].cp)), e:_local4[(_local3 + 1)]};
_local3++;
};
} else {
_local5[_local5.length] = {s:_local4[0], cp:((_local4[0] + _local4[1]) / 2), e:_local4[1]};
};
};
} else {
for (_local6 in _arg1) {
_local4 = _arg1[_local6];
_local5 = [];
_local7[_local6] = _local5;
if (_local4.length > 3){
_local5[_local5.length] = {s:_local4[0], cp:_local4[1], e:((_local4[1] + _local4[2]) / 2)};
_local3 = 2;
while (_local3 < (_local4.length - 2)) {
_local5[_local5.length] = {s:_local5[(_local3 - 2)].e, cp:_local4[_local3], e:((_local4[_local3] + _local4[(_local3 + 1)]) / 2)};
_local3++;
};
_local5[_local5.length] = {s:_local5[(_local5.length - 1)].e, cp:_local4[(_local4.length - 2)], e:_local4[(_local4.length - 1)]};
} else {
if (_local4.length == 3){
_local5[_local5.length] = {s:_local4[0], cp:_local4[1], e:_local4[2]};
} else {
if (_local4.length == 2){
_local5[_local5.length] = {s:_local4[0], cp:((_local4[0] + _local4[1]) / 2), e:_local4[1]};
};
};
};
};
};
return (_local7);
}
public static function bezierProxy2(_arg1:Object, _arg2:Number=0):void{
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Array;
var _local10:Number;
bezierProxy(_arg1, _arg2);
var _local3:Object = {};
var _local4:Object = _arg1.info.target;
_arg1.info.target = _local3;
_arg1.target.t = (_arg1.target.t + 0.01);
bezierProxy(_arg1);
var _local5:Array = _arg1.info.orientToBezier;
var _local11:uint;
while (_local11 < _local5.length) {
_local9 = _local5[_local11];
_local10 = ((_local9[3]) || (0));
_local7 = (_local3[_local9[0]] - _local4[_local9[0]]);
_local8 = (_local3[_local9[1]] - _local4[_local9[1]]);
_local4[_local9[2]] = ((Math.atan2(_local8, _local7) * _RAD2DEG) + _local10);
_local11++;
};
_arg1.info.target = _local4;
_arg1.target.t = (_arg1.target.t - 0.01);
}
public static function pauseAll(_arg1:Boolean=true, _arg2:Boolean=false):void{
changePause(true, _arg1, _arg2);
}
public static function set globalTimeScale(_arg1:Number):void{
setGlobalTimeScale(_arg1);
}
public static function get globalTimeScale():Number{
return (_globalTimeScale);
}
public static function killAllDelayedCalls(_arg1:Boolean=false):void{
killAll(_arg1, false, true);
}
public static function multiSequence(_arg1:Array):Array{
var _local6:Object;
var _local7:Object;
var _local8:Number;
var _local9:Number;
var _local10:uint;
var _local11:Object;
var _local12:String;
trace("WARNING: TweenMax.multiSequence() and TweenMax.sequence() have been deprecated in favor of the much more powerful and flexible TweenGroup class. See http://blog.greensock.com/tweengroup/ for more details. Future versions of TweenMax may not include sequence() and multiSequence() (to conserve file size).");
var _local2:Dictionary = new Dictionary();
var _local3:Array = [];
var _local4:int = TweenLite.overwriteManager.mode;
var _local5:Number = 0;
_local10 = 0;
while (_local10 < _arg1.length) {
_local6 = _arg1[_local10];
_local9 = ((_local6.time) || (0));
_local11 = {};
for (_local12 in _local6) {
_local11[_local12] = _local6[_local12];
};
delete _local11.time;
_local8 = ((_local11.delay) || (0));
_local11.delay = (_local5 + _local8);
_local7 = _local11.target;
delete _local11.target;
if (_local4 == 1){
if (_local2[_local7] == undefined){
_local2[_local7] = _local11;
} else {
_local11.overwrite = 2;
};
};
_local3[_local3.length] = new TweenMax(_local7, _local9, _local11);
_local5 = (_local5 + (_local9 + _local8));
_local10++;
};
return (_local3);
}
public static function getTweensOf(_arg1:Object):Array{
var _local4:int;
var _local2:Array = masterList[_arg1];
var _local3:Array = [];
if (_local2 != null){
_local4 = (_local2.length - 1);
while (_local4 > -1) {
if (!_local2[_local4].gc){
_local3[_local3.length] = _local2[_local4];
};
_local4--;
};
};
return (_local3);
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4:Boolean=false):TweenMax{
return (new TweenMax(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, persist:_arg4, overwrite:0}));
}
public static function isTweening(_arg1:Object):Boolean{
var _local2:Array = getTweensOf(_arg1);
var _local3:int = (_local2.length - 1);
while (_local3 > -1) {
if (((_local2[_local3].active) && (!(_local2[_local3].gc)))){
return (true);
};
_local3--;
};
return (false);
}
public static function killAll(_arg1:Boolean=false, _arg2:Boolean=true, _arg3:Boolean=true):void{
var _local5:Boolean;
var _local4:Array = getAllTweens();
var _local6:int = (_local4.length - 1);
while (_local6 > -1) {
_local5 = (_local4[_local6].target == _local4[_local6].vars.onComplete);
if ((((_local5 == _arg3)) || (!((_local5 == _arg2))))){
if (_arg1){
_local4[_local6].complete(false);
_local4[_local6].clear();
} else {
TweenLite.removeTween(_local4[_local6], true);
};
};
_local6--;
};
}
public static function changePause(_arg1:Boolean, _arg2:Boolean=true, _arg3:Boolean=false):void{
var _local5:Boolean;
var _local4:Array = getAllTweens();
var _local6:int = (_local4.length - 1);
while (_local6 > -1) {
_local5 = (_local4[_local6].target == _local4[_local6].vars.onComplete);
if ((((_local4[_local6] is TweenMax)) && ((((_local5 == _arg3)) || (!((_local5 == _arg2))))))){
_local4[_local6].paused = _arg1;
};
_local6--;
};
}
public static function callbackProxy(_arg1:Array, _arg2:Array=null):void{
var _local3:uint;
while (_local3 < _arg1.length) {
if (_arg1[_local3] != undefined){
_arg1[_local3].apply(null, _arg2[_local3]);
};
_local3++;
};
}
public static function allFrom(_arg1:Array, _arg2:Number, _arg3:Object):Array{
_arg3.runBackwards = true;
return (allTo(_arg1, _arg2, _arg3));
}
public static function killAllTweens(_arg1:Boolean=false):void{
killAll(_arg1, true, false);
}
public static function getAllTweens():Array{
var _local3:Array;
var _local4:int;
var _local5:TweenLite;
var _local1:Dictionary = masterList;
var _local2:Array = [];
for each (_local3 in _local1) {
_local4 = (_local3.length - 1);
while (_local4 > -1) {
if (!_local3[_local4].gc){
_local2[_local2.length] = _local3[_local4];
};
_local4--;
};
};
for each (_local5 in _pausedTweens) {
_local2[_local2.length] = _local5;
};
return (_local2);
}
public static function resumeAll(_arg1:Boolean=true, _arg2:Boolean=false):void{
changePause(false, _arg1, _arg2);
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{
_arg3.runBackwards = true;
return (new TweenMax(_arg1, _arg2, _arg3));
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{
return (new TweenMax(_arg1, _arg2, _arg3));
}
public static function allTo(_arg1:Array, _arg2:Number, _arg3:Object):Array{
var _local4:int;
var _local5:Object;
var _local6:String;
var _local7:Number;
var _local8:Object;
trace("WARNING: TweenMax.allTo() and TweenMax.allFrom() have been deprecated in favor of the much more powerful and flexible TweenGroup class. See http://blog.greensock.com/tweengroup/ for more details. Future versions of TweenMax may not include allTo() and allFrom() (to conserve file size).");
if (_arg1.length == 0){
return ([]);
};
var _local9:Array = [];
var _local10:Number = ((_arg3.delayIncrement) || (0));
delete _arg3.delayIncrement;
if (_arg3.onCompleteAll == undefined){
_local8 = _arg3;
} else {
_local8 = {};
for (_local6 in _arg3) {
_local8[_local6] = _arg3[_local6];
};
_local8.onCompleteParams = [[_arg3.onComplete, _arg3.onCompleteAll], [_arg3.onCompleteParams, _arg3.onCompleteAllParams]];
_local8.onComplete = TweenMax.callbackProxy;
delete _arg3.onCompleteAll;
};
delete _arg3.onCompleteAllParams;
if (_local10 == 0){
_local4 = 0;
while (_local4 < (_arg1.length - 1)) {
_local5 = {};
for (_local6 in _arg3) {
_local5[_local6] = _arg3[_local6];
};
_local9[_local9.length] = new TweenMax(_arg1[_local4], _arg2, _local5);
_local4++;
};
} else {
_local7 = ((_arg3.delay) || (0));
_local4 = 0;
while (_local4 < (_arg1.length - 1)) {
_local5 = {};
for (_local6 in _arg3) {
_local5[_local6] = _arg3[_local6];
};
_local5.delay = (_local7 + (_local4 * _local10));
_local9[_local9.length] = new TweenMax(_arg1[_local4], _arg2, _local5);
_local4++;
};
_local8.delay = (_local7 + ((_arg1.length - 1) * _local10));
};
_local9[_local9.length] = new TweenMax(_arg1[(_arg1.length - 1)], _arg2, _local8);
if ((_arg3.onCompleteAllListener is Function)){
_local9[(_local9.length - 1)].addEventListener(TweenEvent.COMPLETE, _arg3.onCompleteAllListener);
};
return (_local9);
}
}
}//package gs
Section 11
//adult_group_83 (sneeze_welcome_fla.adult_group_83)
package sneeze_welcome_fla {
import flash.display.*;
public dynamic class adult_group_83 extends MovieClip {
public function adult_group_83(){
addFrameScript(0, frame1, 25, frame26, 42, frame43);
}
function frame26(){
gotoAndPlay(1);
}
function frame43(){
gotoAndPlay("sneezing");
}
function frame1(){
stop();
}
}
}//package sneeze_welcome_fla
Section 12
//child_group_85 (sneeze_welcome_fla.child_group_85)
package sneeze_welcome_fla {
import flash.display.*;
public dynamic class child_group_85 extends MovieClip {
public function child_group_85(){
addFrameScript(0, frame1, 17, frame18, 19, frame20);
}
function frame20(){
gotoAndPlay("sneezing");
}
function frame18(){
gotoAndPlay(1);
}
function frame1(){
stop();
}
}
}//package sneeze_welcome_fla
Section 13
//mc_94 (sneeze_welcome_fla.mc_94)
package sneeze_welcome_fla {
import flash.display.*;
public dynamic class mc_94 extends MovieClip {
public var play_btn:SimpleButton;
public function mc_94(){
addFrameScript(89, frame90);
}
function frame90(){
stop();
}
}
}//package sneeze_welcome_fla
Section 14
//player_group_81 (sneeze_welcome_fla.player_group_81)
package sneeze_welcome_fla {
import flash.display.*;
public dynamic class player_group_81 extends MovieClip {
public function player_group_81(){
addFrameScript(0, frame1, 23, frame24);
}
function frame1(){
stop();
}
function frame24(){
gotoAndPlay(1);
}
}
}//package sneeze_welcome_fla
Section 15
//Adult (Adult)
package {
import flash.display.*;
import flash.text.*;
public class Adult extends Victim {
public var countdown_tf:TextField;
public var group:MovieClip;
private var home:Main;
public function Adult(_arg1:Main, _arg2:Array, _arg3:Array, _arg4:SneezeEffect, _arg5:SoundManager, _arg6:ScoreManager){
home = _arg1;
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
move_delay = randomize_property(2.5, 1);
think_delay = randomize_property(1, 0.8);
move_speed = randomize_property(1.5, 1);
sneeze_delay = randomize_property(3, 1);
sneeze_spray = randomize_property(30, 25);
sneeze_amount = randomize_property(30, 20);
sneeze_type = "adult";
countdown_tf.text = "";
points_worth = 10;
anim_target = group;
}
override public function countdown():void{
if (infected){
if (sneeze_delay > 0){
countdown_tf.text = String(Math.floor((sneeze_delay + 1)));
} else {
countdown_tf.text = "";
};
};
}
override public function anim():void{
if (((!(sneezed)) && ((currentFrame == 1)))){
anim_target.play();
};
}
override public function rotate():void{
if (move_speed > 0){
this.group.rotation = ((random_angle * 180) / Math.PI);
};
}
}
}//package
Section 16
//AirportAmbience (AirportAmbience)
package {
import flash.media.*;
public dynamic class AirportAmbience extends Sound {
}
}//package
Section 17
//ArcadeAmbience (ArcadeAmbience)
package {
import flash.media.*;
public dynamic class ArcadeAmbience extends Sound {
}
}//package
Section 18
//Book (Book)
package {
import flash.media.*;
public dynamic class Book extends Sound {
}
}//package
Section 19
//BriefMenu (BriefMenu)
package {
import flash.events.*;
import flash.display.*;
import gs.*;
import flash.text.*;
public class BriefMenu extends Sprite {
public var target_tf:TextField;
public var fact_tf:TextField;
public var name_tf:TextField;
private var random_facts:Array;
private var map_name:String;
private var current_map:Number;
public var start_btn:SimpleButton;
private var infected_percent:Number;
private var home:Main;
public function BriefMenu(_arg1:Main, _arg2:String, _arg3:Number, _arg4:Number){
home = _arg1;
map_name = _arg2;
current_map = _arg3;
infected_percent = _arg4;
name_tf.text = ((("Level " + current_map) + " - ") + map_name);
target_tf.text = (("Infect over " + infected_percent) + "% of the area!");
random_facts = ["About 18 to 35% of people sneeze when exposed to sudden bright light: it is an inherited genetic trait!", "The 1918 flu pandemic killed around 2.5% of the world's population!", "There are more than 100 different types of virus that cause colds!", "Droplets of snot in a sneeze can travel up to 5 metres!", "The air in a sneeze can travel at up to 150km/h!", "Flu viruses are constantly mutating and evolving - an evolutionary strategy that keeps them alive in the human population!", "There's no scientific proof that cold weather (or going out in it with wet hair) makes you more likely to catch a cold!", "It is estimated that the common cold costs the USA $25 billion a year in lost productivity from sick workers!", "The world record for sneezing is held by Donna Griffiths from Worcestershire who sneezed up to once a minute for 978 days in a row!", "It is impossible to sneeze without closing your eyes!", "Everyday illnesses like colds and flu can be much more serious for people who haven't been exposed to viruses to build up their immunity!"];
randomFact();
start_btn.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown, false, 0, false);
home.stage.addEventListener(KeyboardEvent.KEY_DOWN, enterDown, false, 0, true);
TweenMax.from(this, 0.5, {alpha:0});
}
private function enterDown(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == 32){
home.stage.removeEventListener(KeyboardEvent.KEY_DOWN, enterDown);
this.parent.removeChild(this);
home.newGame();
};
}
private function onEnd():void{
home.newGame();
this.parent.removeChild(this);
}
private function mouseDown(_arg1:MouseEvent):void{
switch (_arg1.target.name){
case "start_btn":
start_btn.addEventListener(MouseEvent.MOUSE_UP, mouseUp, false, 0, false);
break;
};
}
private function randomFact():void{
var _local1:int = (Math.random() * random_facts.length);
fact_tf.text = ("Did you know?...\n" + String(random_facts[_local1]));
}
private function mouseUp(_arg1:MouseEvent):void{
switch (_arg1.target.name){
case "start_btn":
start_btn.removeEventListener(MouseEvent.MOUSE_UP, mouseUp);
home.stage.removeEventListener(KeyboardEvent.KEY_DOWN, enterDown);
start_btn.enabled = false;
TweenMax.to(this, 0.2, {alpha:0, onComplete:onEnd});
break;
};
}
}
}//package
Section 20
//Child (Child)
package {
import flash.display.*;
import flash.text.*;
public class Child extends Victim {
public var countdown_tf:TextField;
public var group:MovieClip;
private var home:Main;
public function Child(_arg1:Main, _arg2:Array, _arg3:Array, _arg4:SneezeEffect, _arg5:SoundManager, _arg6:ScoreManager){
home = _arg1;
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
move_delay = randomize_property(1.5, 1);
think_delay = randomize_property(1.5, 1);
move_speed = randomize_property(2, 1.8);
sneeze_delay = randomize_property(3, 1);
sneeze_spray = randomize_property(20, 15);
sneeze_amount = randomize_property(20, 10);
sneeze_type = "child";
points_worth = 5;
countdown_tf.text = "";
anim_target = group;
}
override public function countdown():void{
if (infected){
if (sneeze_delay > 0){
countdown_tf.text = String(Math.floor((sneeze_delay + 1)));
} else {
countdown_tf.text = "";
};
};
}
override public function anim():void{
if (((!(sneezed)) && ((currentFrame == 1)))){
anim_target.play();
};
}
override public function rotate():void{
if (move_speed > 0){
this.group.rotation = ((random_angle * 180) / Math.PI);
};
}
}
}//package
Section 21
//ChildCry1 (ChildCry1)
package {
import flash.media.*;
public dynamic class ChildCry1 extends Sound {
}
}//package
Section 22
//ChildCry2 (ChildCry2)
package {
import flash.media.*;
public dynamic class ChildCry2 extends Sound {
}
}//package
Section 23
//ChildSob1 (ChildSob1)
package {
import flash.media.*;
public dynamic class ChildSob1 extends Sound {
}
}//package
Section 24
//ChildSob2 (ChildSob2)
package {
import flash.media.*;
public dynamic class ChildSob2 extends Sound {
}
}//package
Section 25
//ChildSob3 (ChildSob3)
package {
import flash.media.*;
public dynamic class ChildSob3 extends Sound {
}
}//package
Section 26
//CityAmbience1 (CityAmbience1)
package {
import flash.media.*;
public dynamic class CityAmbience1 extends Sound {
}
}//package
Section 27
//CityAmbience2 (CityAmbience2)
package {
import flash.media.*;
public dynamic class CityAmbience2 extends Sound {
}
}//package
Section 28
//CityAmbience3 (CityAmbience3)
package {
import flash.media.*;
public dynamic class CityAmbience3 extends Sound {
}
}//package
Section 29
//CityAmbience4 (CityAmbience4)
package {
import flash.media.*;
public dynamic class CityAmbience4 extends Sound {
}
}//package
Section 30
//CityAmbience5 (CityAmbience5)
package {
import flash.media.*;
public dynamic class CityAmbience5 extends Sound {
}
}//package
Section 31
//CityAmbience6 (CityAmbience6)
package {
import flash.media.*;
public dynamic class CityAmbience6 extends Sound {
}
}//package
Section 32
//Cough1 (Cough1)
package {
import flash.media.*;
public dynamic class Cough1 extends Sound {
}
}//package
Section 33
//Cough2 (Cough2)
package {
import flash.media.*;
public dynamic class Cough2 extends Sound {
}
}//package
Section 34
//Cough3 (Cough3)
package {
import flash.media.*;
public dynamic class Cough3 extends Sound {
}
}//package
Section 35
//Cough4 (Cough4)
package {
import flash.media.*;
public dynamic class Cough4 extends Sound {
}
}//package
Section 36
//Cough5 (Cough5)
package {
import flash.media.*;
public dynamic class Cough5 extends Sound {
}
}//package
Section 37
//Cough6 (Cough6)
package {
import flash.media.*;
public dynamic class Cough6 extends Sound {
}
}//package
Section 38
//Cough7 (Cough7)
package {
import flash.media.*;
public dynamic class Cough7 extends Sound {
}
}//package
Section 39
//Cough8 (Cough8)
package {
import flash.media.*;
public dynamic class Cough8 extends Sound {
}
}//package
Section 40
//Credits (Credits)
package {
import flash.events.*;
import flash.display.*;
import gs.*;
import gs.easing.*;
import flash.net.*;
public class Credits extends Sprite {
public var oil_link:SimpleButton;
public var c4_link:SimpleButton;
public var routes_link:SimpleButton;
public var close_btn:SimpleButton;
public var p3_link:SimpleButton;
private var home:Main;
public function Credits(_arg1:Main){
home = _arg1;
close_btn.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown, false, 0, false);
p3_link.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown, false, 0, false);
c4_link.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown, false, 0, false);
oil_link.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown, false, 0, false);
routes_link.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown, false, 0, false);
TweenMax.from(this, 0.5, {alpha:0});
TweenMax.from(this, 0.5, {scaleX:0.5, scaleY:0.5, ease:Strong.easeOut});
}
private function mouseUp(_arg1:MouseEvent):void{
switch (_arg1.target.name){
case "close_btn":
close_btn.removeEventListener(MouseEvent.MOUSE_UP, mouseUp);
TweenMax.to(this, 0.2, {alpha:0, onComplete:onEnd});
break;
case "p3_link":
p3_link.removeEventListener(MouseEvent.MOUSE_UP, mouseUp);
newUrl("http://www.playerthree.com");
break;
case "c4_link":
c4_link.removeEventListener(MouseEvent.MOUSE_UP, mouseUp);
newUrl("http://www.channel4.com/");
break;
case "oil_link":
oil_link.removeEventListener(MouseEvent.MOUSE_UP, mouseUp);
newUrl("http://www.c2h6.com");
break;
case "routes_link":
trace("!!");
routes_link.removeEventListener(MouseEvent.MOUSE_UP, mouseUp);
newUrl("http://www.routesgame.com");
break;
};
}
private function mouseDown(_arg1:MouseEvent):void{
switch (_arg1.target.name){
case "close_btn":
close_btn.addEventListener(MouseEvent.MOUSE_UP, mouseUp, false, 0, false);
break;
case "p3_link":
p3_link.addEventListener(MouseEvent.MOUSE_UP, mouseUp, false, 0, false);
break;
case "c4_link":
c4_link.addEventListener(MouseEvent.MOUSE_UP, mouseUp, false, 0, false);
break;
case "oil_link":
oil_link.addEventListener(MouseEvent.MOUSE_UP, mouseUp, false, 0, false);
break;
case "routes_link":
routes_link.addEventListener(MouseEvent.MOUSE_UP, mouseUp, false, 0, false);
break;
};
}
private function newUrl(_arg1:String):void{
var _local2:URLRequest = new URLRequest(_arg1);
navigateToURL(_local2, "_blank");
}
private function onEnd():void{
parent.removeChild(this);
}
}
}//package
Section 41
//CrowdAmbience1 (CrowdAmbience1)
package {
import flash.media.*;
public dynamic class CrowdAmbience1 extends Sound {
}
}//package
Section 42
//Dog1 (Dog1)
package {
import flash.media.*;
public dynamic class Dog1 extends Sound {
}
}//package
Section 43
//Dog2 (Dog2)
package {
import flash.media.*;
public dynamic class Dog2 extends Sound {
}
}//package
Section 44
//Elder (Elder)
package {
public class Elder extends Victim {
private var home:Main;
public function Elder(_arg1:Main, _arg2:Array, _arg3:Array, _arg4:SneezeEffect, _arg5:SoundManager, _arg6:ScoreManager){
addFrameScript(0, frame1, 36, frame37, 40, frame41);
home = _arg1;
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
move_delay = randomize_property(4, 3);
think_delay = randomize_property(1.5, 1);
move_speed = randomize_property(0.7, 0.5);
sneeze_delay = 0;
sneeze_spray = randomize_property(90, 80);
sneeze_amount = randomize_property(30, 20);
sneeze_type = "elder";
points_worth = 15;
}
function frame37(){
gotoAndPlay(2);
}
function frame41(){
gotoAndPlay("sneezing");
}
function frame1(){
stop();
}
}
}//package
Section 45
//FactoryAmbience (FactoryAmbience)
package {
import flash.media.*;
public dynamic class FactoryAmbience extends Sound {
}
}//package
Section 46
//FactoryAmbience1 (FactoryAmbience1)
package {
import flash.media.*;
public dynamic class FactoryAmbience1 extends Sound {
}
}//package
Section 47
//FemCough1 (FemCough1)
package {
import flash.media.*;
public dynamic class FemCough1 extends Sound {
}
}//package
Section 48
//FemCough2 (FemCough2)
package {
import flash.media.*;
public dynamic class FemCough2 extends Sound {
}
}//package
Section 49
//FemCough3 (FemCough3)
package {
import flash.media.*;
public dynamic class FemCough3 extends Sound {
}
}//package
Section 50
//FemCough4 (FemCough4)
package {
import flash.media.*;
public dynamic class FemCough4 extends Sound {
}
}//package
Section 51
//FemSneeze1 (FemSneeze1)
package {
import flash.media.*;
public dynamic class FemSneeze1 extends Sound {
}
}//package
Section 52
//FemSneeze2 (FemSneeze2)
package {
import flash.media.*;
public dynamic class FemSneeze2 extends Sound {
}
}//package
Section 53
//FemSniff1 (FemSniff1)
package {
import flash.media.*;
public dynamic class FemSniff1 extends Sound {
}
}//package
Section 54
//FemSniff2 (FemSniff2)
package {
import flash.media.*;
public dynamic class FemSniff2 extends Sound {
}
}//package
Section 55
//FemThroat1 (FemThroat1)
package {
import flash.media.*;
public dynamic class FemThroat1 extends Sound {
}
}//package
Section 56
//FemThroat2 (FemThroat2)
package {
import flash.media.*;
public dynamic class FemThroat2 extends Sound {
}
}//package
Section 57
//GameComplete (GameComplete)
package {
import flash.events.*;
import flash.display.*;
import flash.text.*;
import flash.utils.*;
public class GameComplete extends Sprite {
private var game_infected:Number;
public var final_perc_tf:TextField;
public var score_tf:TextField;
private var final_score:Number;
public var rating_tf:TextField;
public var main_btn:MainBtn;
private var home:Main;
public function GameComplete(_arg1:Main, _arg2:Number, _arg3:Number){
home = _arg1;
game_infected = int(((_arg2 / 400) * 100));
final_score = _arg3;
score_tf.text = ("You're final score is " + final_score);
final_perc_tf.text = (("and you infected " + game_infected) + "% of the population!");
rating_tf.text = getRating();
main_btn.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown, false, 0, false);
home.stage.addEventListener(KeyboardEvent.KEY_DOWN, enterDown, false, 0, false);
if (home.uploader.getFlashVar("userId") != null){
home.tracker.gameCompletedHighScore((int((getTimer() - home.resetTime)) / 1000));
} else {
home.tracker.gameCompleted((int((getTimer() - home.resetTime)) / 1000));
};
}
private function mouseUp(_arg1:MouseEvent):void{
switch (_arg1.target.name){
case "main_btn":
main_btn.removeEventListener(MouseEvent.MOUSE_UP, mouseUp);
home.stage.removeEventListener(KeyboardEvent.KEY_DOWN, enterDown);
home.clearStage();
home.init(null);
home.main_menu.gotoAndPlay(52);
break;
};
}
private function mouseDown(_arg1:MouseEvent):void{
switch (_arg1.target.name){
case "main_btn":
main_btn.addEventListener(MouseEvent.MOUSE_UP, mouseUp, false, 0, false);
break;
};
}
private function getRating():String{
var _local1:String;
if (game_infected < 10){
_local1 = "Your rating: Mild Sniffle";
} else {
if (game_infected < 20){
_local1 = "Your rating: Rhinorrhea";
} else {
if (game_infected < 30){
_local1 = "Your rating: Man Flu";
} else {
if (game_infected < 40){
_local1 = "Your rating: Common Cold";
} else {
if (game_infected < 50){
_local1 = "Your rating: Croup";
} else {
if (game_infected < 60){
_local1 = "Your rating: Bronchitis";
} else {
if (game_infected < 70){
_local1 = "Your rating: Influenza";
} else {
if (game_infected < 80){
_local1 = "Your rating: Pneumonia";
} else {
if (game_infected < 90){
_local1 = "Your rating: Epidemic";
} else {
if (game_infected < 100){
_local1 = "Your rating: Pandemic";
};
};
};
};
};
};
};
};
};
};
return (_local1);
}
private function enterDown(_arg1:KeyboardEvent):void{
home.stage.removeEventListener(KeyboardEvent.KEY_DOWN, enterDown);
home.clearStage();
home.init(null);
home.main_menu.gotoAndPlay(52);
}
}
}//package
Section 58
//GameMenu (GameMenu)
package {
import flash.events.*;
import flash.display.*;
import gs.*;
import flash.text.*;
import flash.utils.*;
public class GameMenu extends Sprite {
private var score_manager:ScoreManager;
private var retry_btn:RetryBtn;
public var end_points:TextField;
private var next_btn:NextBtn;
private var main_btn:MainBtn;
private var home:Main;
public var final_perc_tf:TextField;
private var target_infected:Number;
private var percent_infected:Number;
private var total_maps:Number;
public var finalscore_tf:TextField;
public function GameMenu(_arg1:Main, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:ScoreManager, _arg6:Number){
home = _arg1;
target_infected = _arg2;
percent_infected = _arg3;
total_maps = _arg4;
score_manager = _arg5;
final_perc_tf.text = (("You infected " + String(Math.floor(_arg3))) + "%");
finalscore_tf.text = ("and your score is " + String(Math.floor(score_manager.total_score)));
if (_arg2 > _arg3){
end_points.text = "Game Over!";
final_perc_tf.text = (("You only infected " + String(Math.floor(_arg3))) + "%");
finalscore_tf.text = ("and your final score is " + String(Math.floor(score_manager.total_score)));
main_btn = new MainBtn();
main_btn.x = 0;
main_btn.y = 80;
main_btn.name = "main_btn";
main_btn.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown, false, 0, false);
this.addChild(main_btn);
retry_btn = new RetryBtn();
retry_btn.x = 0;
retry_btn.y = 130;
retry_btn.name = "retry_btn";
retry_btn.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown, false, 0, false);
this.addChild(retry_btn);
if (home.uploader.getFlashVar("userId") != null){
home.tracker.gameOverHighScore((int((getTimer() - home.resetTime)) / 1000));
} else {
home.tracker.gameOver((int((getTimer() - home.resetTime)) / 1000));
};
} else {
end_points.text = (("+" + Math.floor((percent_infected * 2))) + " Bonus Points Earned!");
next_btn = new NextBtn();
next_btn.x = 0;
next_btn.y = 130;
next_btn.name = "next_btn";
next_btn.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown, false, 0, false);
this.addChild(next_btn);
home.game_infected = (home.game_infected + _arg6);
home.tracker.levelCompleted(String((home.current_map + 1)));
};
home.stage.addEventListener(KeyboardEvent.KEY_DOWN, enterDown, false, 0, false);
TweenMax.from(this, 0.2, {alpha:0});
}
private function enterDown(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == 32){
if (target_infected > percent_infected){
home.stage.removeEventListener(KeyboardEvent.KEY_DOWN, enterDown);
home.clearStage();
home.init(null);
home.main_menu.gotoAndPlay(52);
} else {
home.stage.removeEventListener(KeyboardEvent.KEY_DOWN, enterDown);
if (home.current_map == total_maps){
parent.removeChild(this);
home.game_menu = null;
score_manager.addPoints(Math.floor((percent_infected * 2)));
home.finished();
} else {
home.clearStage();
if (home.current_map < total_maps){
home.current_map++;
};
score_manager.addPoints(Math.floor((percent_infected * 2)));
home.newBrief();
};
};
};
}
private function mouseDown(_arg1:MouseEvent):void{
switch (_arg1.target.name){
case "main_btn":
main_btn.addEventListener(MouseEvent.MOUSE_UP, mouseUp, false, 0, false);
break;
case "next_btn":
next_btn.addEventListener(MouseEvent.MOUSE_UP, mouseUp, false, 0, false);
break;
case "retry_btn":
retry_btn.addEventListener(MouseEvent.MOUSE_UP, mouseUp, false, 0, false);
break;
};
}
private function mouseUp(_arg1:MouseEvent):void{
switch (_arg1.target.name){
case "main_btn":
main_btn.removeEventListener(MouseEvent.MOUSE_UP, mouseUp);
home.stage.removeEventListener(KeyboardEvent.KEY_DOWN, enterDown);
home.clearStage();
home.init(null);
home.main_menu.gotoAndPlay(0);
break;
case "next_btn":
next_btn.removeEventListener(MouseEvent.MOUSE_UP, mouseUp);
home.stage.removeEventListener(KeyboardEvent.KEY_DOWN, enterDown);
if (home.current_map == total_maps){
parent.removeChild(this);
home.game_menu = null;
score_manager.addPoints(Math.floor((percent_infected * 2)));
home.finished();
} else {
home.clearStage();
if (home.current_map < total_maps){
home.current_map++;
};
score_manager.addPoints(Math.floor((percent_infected * 2)));
home.newBrief();
};
break;
case "retry_btn":
retry_btn.removeEventListener(MouseEvent.MOUSE_UP, mouseUp);
home.stage.removeEventListener(KeyboardEvent.KEY_DOWN, enterDown);
home.clearStage();
if (home.current_map < total_maps){
home.current_map = 0;
};
home.newBrief();
home.score_manager.total_score = 0;
home.game_infected = 0;
home.score_manager.addPoints(0);
trace(home.score_manager.total_score);
break;
};
}
}
}//package
Section 59
//Groan1 (Groan1)
package {
import flash.media.*;
public dynamic class Groan1 extends Sound {
}
}//package
Section 60
//Groan2 (Groan2)
package {
import flash.media.*;
public dynamic class Groan2 extends Sound {
}
}//package
Section 61
//Groan3 (Groan3)
package {
import flash.media.*;
public dynamic class Groan3 extends Sound {
}
}//package
Section 62
//Groan4 (Groan4)
package {
import flash.media.*;
public dynamic class Groan4 extends Sound {
}
}//package
Section 63
//Grunt1 (Grunt1)
package {
import flash.media.*;
public dynamic class Grunt1 extends Sound {
}
}//package
Section 64
//Hammer1 (Hammer1)
package {
import flash.media.*;
public dynamic class Hammer1 extends Sound {
}
}//package
Section 65
//Hammer2 (Hammer2)
package {
import flash.media.*;
public dynamic class Hammer2 extends Sound {
}
}//package
Section 66
//HarbourAmbience1 (HarbourAmbience1)
package {
import flash.media.*;
public dynamic class HarbourAmbience1 extends Sound {
}
}//package
Section 67
//HarbourAmbience2 (HarbourAmbience2)
package {
import flash.media.*;
public dynamic class HarbourAmbience2 extends Sound {
}
}//package
Section 68
//HelpMenu (HelpMenu)
package {
import flash.events.*;
import flash.display.*;
import gs.*;
public class HelpMenu extends MovieClip {
public var book:MovieClip;
private var home:Main;
public function HelpMenu(_arg1:Main){
addFrameScript(66, frame67);
home = _arg1;
addEventListener(Event.ADDED_TO_STAGE, addedToStage, false, 0, true);
book.play_btn.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown, false, 0, false);
home.stage.addEventListener(KeyboardEvent.KEY_DOWN, enterDown, false, 0, false);
TweenMax.from(this, 0.5, {alpha:0});
}
private function mouseUp(_arg1:MouseEvent):void{
switch (_arg1.target.name){
case "play_btn":
book.play_btn.removeEventListener(MouseEvent.MOUSE_UP, mouseUp);
TweenMax.to(this, 0.2, {alpha:0, onComplete:onEnd});
book.play_btn.mouseEnabled = false;
break;
};
}
private function enterDown(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == 32){
TweenMax.to(this, 0.2, {alpha:0, onComplete:onEnd});
};
}
function frame67(){
stop();
}
private function mouseDown(_arg1:MouseEvent):void{
switch (_arg1.target.name){
case "play_btn":
book.play_btn.addEventListener(MouseEvent.MOUSE_UP, mouseUp, false, 0, false);
break;
};
}
private function addedToStage(_arg1:Event):void{
}
private function onEnd():void{
home.stage.removeEventListener(KeyboardEvent.KEY_DOWN, enterDown);
home.newBrief();
}
}
}//package
Section 69
//InfectionMeter (InfectionMeter)
package {
import flash.display.*;
import flash.text.*;
public class InfectionMeter extends Sprite {
public var infected_percent:Number;
public var infection_marker:MovieClip;
public var infection_fill:SimpleButton;
public var total_infected:Number;
private var total_victims:Number;
private var target:Number;
public var infection_tf:TextField;
private var entity_array:Array;
private var home:Main;
public function InfectionMeter(_arg1:Main, _arg2:Array, _arg3:Number){
home = _arg1;
total_victims = _arg2.length;
total_infected = 0;
entity_array = _arg2.slice(0);
infected_percent = 0;
target = (_arg3 / 100);
infection_marker.x = (target * (infection_marker.width + 285.7));
infection_tf.text = (int((target * 100)) + "%");
infection_fill.scaleX = 0;
}
public function updateMeter():void{
var _local1:Number = entity_array.length;
var _local2:* = (_local1 - 1);
while (_local2 >= 0) {
if (entity_array[_local2].infected){
entity_array.splice(_local2, 1);
total_infected = (total_infected + 1);
};
_local2--;
};
infected_percent = (total_infected / total_victims);
infection_fill.scaleX = infected_percent;
}
}
}//package
Section 70
//LibraryAmbience (LibraryAmbience)
package {
import flash.media.*;
public dynamic class LibraryAmbience extends Sound {
}
}//package
Section 71
//Main (Main)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import com.omniture.*;
import flash.utils.*;
public class Main extends MovieClip {
public var score_manager:ScoreManager;
private var brief_menu:BriefMenu;
private var elder:Elder;
public var game_menu:GameMenu;
private var sound_manager:SoundManager;
public var current_map:Number;
private var credits:Credits;
private var child:Child;
private var infection_meter:InfectionMeter;
public var game_infected:int;
private var pause_game:Boolean;
private var help_menu:HelpMenu;
public var timeout_delay:Number;
public var main_menu:Menu;
public var resetTime:Number;
private var map_array:Array;
public var tracker:Tracking;
private var adult:Adult;
private var map_manager:Map;
private var sneeze_effect:SneezeEffect;
private var player:Player;
private var game_complete:GameComplete;
public var uploader:UploadScore;
public var s:ActionSource;
public var muter:Muter;
private var entity_array:Array;
static var map_boundaries:Object;
public function Main(){
addFrameScript(0, frame1);
this.addEventListener(Event.ADDED_TO_STAGE, init, false, 0, false);
}
public function init(_arg1:Event):void{
resetTime = getTimer();
trace(resetTime);
if (sound_manager !== null){
sound_manager.loop(map_array[current_map].ambience, "stop");
};
sound_manager = new SoundManager(this);
main_menu = new Menu(this, sound_manager);
main_menu.x = (stage.stageWidth / 2);
main_menu.y = (stage.stageHeight / 2);
this.addChild(main_menu);
sneeze_effect = new SneezeEffect(this);
score_manager = new ScoreManager(this);
score_manager.x = 0;
score_manager.y = 0;
map_manager = new Map(this);
map_array = [];
map_array.push(map_manager.newMap(new Map1(), 6, 14, 20, 10, 10, 20, "The Street", sound_manager.city_ambience_1));
map_array.push(map_manager.newMap(new Map2(), 5, 18, 20, 10, 10, 25, "The City", sound_manager.city_ambience_3));
map_array.push(map_manager.newMap(new Map3(), 10, 9, 5, 5, 30, 30, "The Nursery", sound_manager.nursery_ambience));
map_array.push(map_manager.newMap(new Map4(), 3, 7, 30, 8, 2, 35, "The Station", sound_manager.station_ambience));
map_array.push(map_manager.newMap(new Map5(), 6, 11, 14, 1, 25, 40, "The Arcade", sound_manager.arcade_ambience));
map_array.push(map_manager.newMap(new Map6(), 6, 11, 35, 5, 0, 45, "The Factory", sound_manager.factory_ambience));
map_array.push(map_manager.newMap(new Map7(), 8, 11, 15, 10, 15, 50, "The Park", sound_manager.park_ambience));
map_array.push(map_manager.newMap(new Map8(), 4, 11, 25, 10, 5, 55, "The Harbour", sound_manager.harbour_ambience_1));
map_array.push(map_manager.newMap(new Map9(), 8, 11, 10, 20, 10, 60, "The Library", sound_manager.library_ambience));
map_array.push(map_manager.newMap(new Map10(), 8, 11, 20, 10, 10, 80, "The A & E", sound_manager.office_ambience_1));
map_boundaries = {left:25, right:618, top:82, bottom:460};
entity_array = new Array();
current_map = 0;
game_infected = 0;
if (this.hasEventListener(Event.ENTER_FRAME)){
this.removeEventListener(Event.ENTER_FRAME, gameLoop);
};
this.addEventListener(Event.ENTER_FRAME, gameLoop, false, 0, false);
uploader = new UploadScore(this);
if (muter != null){
removeChild(muter);
muter = null;
};
muter = new Muter();
muter.x = 565;
muter.y = 463;
addChild(muter);
if (tracker == null){
tracker = new Tracking("Sneeze", s);
};
}
public function newHelp():void{
if (main_menu !== null){
this.removeChild(main_menu);
main_menu = null;
};
help_menu = new HelpMenu(this);
this.addChildAt(help_menu, getChildIndex(muter));
}
public function finished():void{
game_complete = new GameComplete(this, game_infected, score_manager.total_score);
game_complete.x = 320;
game_complete.y = 220;
this.addChildAt(game_complete, getChildIndex(muter));
}
public function clearStage():void{
var _local1:*;
if (game_menu != null){
this.removeChild(game_menu);
game_menu = null;
};
if (game_complete != null){
this.removeChild(game_complete);
game_complete = null;
};
this.removeChild(map_array[current_map].sprite);
this.removeChild(sneeze_effect.screen_bitmap);
this.removeChild(infection_meter);
this.removeChild(score_manager);
sneeze_effect.cleanScreen();
_local1 = 0;
while (_local1 < entity_array.length) {
removeChild(entity_array[_local1]);
_local1++;
};
entity_array = [];
}
public function newGame():void{
var _local1:*;
var _local2:Point;
trace((getTimer() / 1000));
if (current_map == 0){
tracker.gameStart();
};
if (main_menu !== null){
this.removeChild(main_menu);
main_menu = null;
};
pause_game = false;
timeout_delay = 4;
this.addChildAt(map_array[current_map].sprite, getChildIndex(muter));
this.addChildAt(sneeze_effect.screen_bitmap, getChildIndex(muter));
this.addChildAt(score_manager, getChildIndex(muter));
_local1 = 0;
while (_local1 < map_array[current_map].adults) {
adult = new Adult(this, map_array[current_map].objects, sneeze_effect.particle_array, sneeze_effect, sound_manager, score_manager);
_local2 = findSpawnPos();
adult.x = _local2.x;
adult.y = _local2.y;
this.addChildAt(adult, getChildIndex(muter));
entity_array.push(adult);
_local1++;
};
_local1 = 0;
while (_local1 < map_array[current_map].elders) {
elder = new Elder(this, map_array[current_map].objects, sneeze_effect.particle_array, sneeze_effect, sound_manager, score_manager);
_local2 = findSpawnPos();
elder.x = _local2.x;
elder.y = _local2.y;
this.addChildAt(elder, getChildIndex(muter));
entity_array.push(elder);
_local1++;
};
_local1 = 0;
while (_local1 < map_array[current_map].children) {
child = new Child(this, map_array[current_map].objects, sneeze_effect.particle_array, sneeze_effect, sound_manager, score_manager);
_local2 = findSpawnPos();
child.x = _local2.x;
child.y = _local2.y;
this.addChildAt(child, getChildIndex(muter));
entity_array.push(child);
_local1++;
};
infection_meter = new InfectionMeter(this, entity_array, map_array[current_map].target);
infection_meter.x = 205;
infection_meter.y = 6;
this.addChild(infection_meter);
player = new Player(this, map_array[current_map].objects, sneeze_effect, sound_manager);
player.x = map_array[current_map].sprite.ps.x;
player.y = map_array[current_map].sprite.ps.y;
this.addChildAt(player, getChildIndex(muter));
entity_array.push(player);
if (current_map > 0){
sound_manager.loop(map_array[(current_map - 1)].ambience, "stop");
};
sound_manager.loop(map_array[current_map].ambience, "play");
score_manager.updateRoom((current_map + 1));
}
private function findSpawnPos():Point{
var _local1:Point = new Point();
var _local2:Number = Math.floor((Math.random() * map_array[current_map].spawns.length));
_local1.x = map_array[current_map].spawns[_local2].x;
_local1.y = map_array[current_map].spawns[_local2].y;
return (_local1);
}
private function gameLoop(_arg1:Event):void{
updateEntitiesOnStage();
updateTimeout();
sneeze_effect.updateParticles();
sneeze_effect.renderParticles();
sneeze_effect.removeDeadParticles();
if (infection_meter !== null){
infection_meter.updateMeter();
};
if (((((!((infection_meter === null))) && (!((sound_manager === null))))) && (((infection_meter.infected_percent * 100) >= 25)))){
sound_manager.playBackgroundSound();
};
if (entity_array.length){
sound_manager.playIncidentalSound();
};
this.stage.focus = stage;
}
public function configActionSource():void{
s = new ActionSource();
s.account = "channel4routesgame";
s.trackingServer = "stats.routesgame.com";
s.Media.autoTrack = false;
s.pageName = "";
s.pageURL = "";
s.charSet = "UTF-8";
s.currencyCode = "GBP";
s.cookieDomainPeriods = 3;
s.trackClickMap = false;
s.movieID = "";
s.debugTracking = true;
s.trackLocal = true;
s.visitorNamespace = "channel4";
s.dc = 112;
addChild(s);
}
private function updateEntitiesOnStage():void{
var _local1:Number = entity_array.length;
var _local2:* = 0;
while (_local2 < _local1) {
entity_array[_local2].update();
_local2++;
};
}
public function updateTimeout():void{
if (((!((player === null))) && (!(pause_game)))){
if (((player.sneezed) && ((timeout_delay > 0)))){
timeout_delay = (timeout_delay - (1 / 30));
} else {
if (((player.sneezed) && ((timeout_delay <= 0)))){
endGame();
pause_game = true;
};
};
};
}
public function newCredits():void{
credits = new Credits(this);
credits.x = (stage.stageWidth / 2);
credits.y = (stage.stageHeight / 2);
this.addChild(credits);
}
function frame1(){
configActionSource();
}
public function newBrief():void{
if (help_menu != null){
this.removeChild(help_menu);
help_menu = null;
};
brief_menu = new BriefMenu(this, map_array[current_map].name, (current_map + 1), map_array[current_map].target);
brief_menu.x = 320;
brief_menu.y = 240;
this.addChildAt(brief_menu, getChildIndex(muter));
}
private function endGame():void{
game_menu = new GameMenu(this, map_array[current_map].target, (infection_meter.infected_percent * 100), (map_array.length - 1), score_manager, infection_meter.total_infected);
game_menu.x = 320;
game_menu.y = 240;
this.addChildAt(game_menu, getChildIndex(muter));
}
}
}//package
Section 72
//MainBtn (MainBtn)
package {
import flash.display.*;
public dynamic class MainBtn extends SimpleButton {
}
}//package
Section 73
//Map (Map)
package {
import flash.display.*;
public class Map {
private var map_object:Object;
private var home:Main;
public function Map(_arg1:Main){
home = _arg1;
}
public function newMap(_arg1:Sprite, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:String, _arg9):Object{
var _local10:*;
map_object = new Object();
map_object.sprite = _arg1;
map_object.objects = [];
map_object.spawns = [];
map_object.adults = _arg4;
map_object.elders = _arg5;
map_object.children = _arg6;
map_object.target = _arg7;
map_object.name = _arg8;
map_object.ambience = _arg9;
_local10 = 0;
while (_local10 < _arg2) {
map_object.objects.push(_arg1[("object" + (_local10 + 1))]);
_local10++;
};
_local10 = 0;
while (_local10 < _arg3) {
map_object.spawns.push(_arg1[("s" + (_local10 + 1))]);
_local10++;
};
return (map_object);
}
}
}//package
Section 74
//Map1 (Map1)
package {
import flash.display.*;
public dynamic class Map1 extends Sprite {
public var ps:MovieClip;
public var s7:MovieClip;
public var object1:MovieClip;
public var object2:MovieClip;
public var object3:MovieClip;
public var object4:MovieClip;
public var object5:MovieClip;
public var object6:MovieClip;
public var s10:MovieClip;
public var s11:MovieClip;
public var s12:MovieClip;
public var s13:MovieClip;
public var s14:MovieClip;
public var s1:MovieClip;
public var s2:MovieClip;
public var s3:MovieClip;
public var s4:MovieClip;
public var s5:MovieClip;
public var s6:MovieClip;
public var s8:MovieClip;
public var s9:MovieClip;
}
}//package
Section 75
//Map10 (Map10)
package {
import flash.display.*;
public dynamic class Map10 extends Sprite {
public var ps:MovieClip;
public var object1:MovieClip;
public var object2:MovieClip;
public var object3:MovieClip;
public var object4:MovieClip;
public var object5:MovieClip;
public var object6:MovieClip;
public var object7:MovieClip;
public var s10:MovieClip;
public var s11:MovieClip;
public var s1:MovieClip;
public var s2:MovieClip;
public var s3:MovieClip;
public var s4:MovieClip;
public var s5:MovieClip;
public var s6:MovieClip;
public var s8:MovieClip;
public var object8:MovieClip;
public var s7:MovieClip;
public var s9:MovieClip;
}
}//package
Section 76
//Map2 (Map2)
package {
import flash.display.*;
public dynamic class Map2 extends Sprite {
public var ps:MovieClip;
public var s7:MovieClip;
public var object1:MovieClip;
public var object2:MovieClip;
public var object3:MovieClip;
public var s13:MovieClip;
public var object5:MovieClip;
public var s15:MovieClip;
public var s16:MovieClip;
public var s10:MovieClip;
public var s11:MovieClip;
public var s12:MovieClip;
public var object4:MovieClip;
public var s14:MovieClip;
public var s1:MovieClip;
public var s2:MovieClip;
public var s3:MovieClip;
public var s4:MovieClip;
public var s5:MovieClip;
public var s6:MovieClip;
public var s8:MovieClip;
public var s18:MovieClip;
public var s9:MovieClip;
public var s17:MovieClip;
}
}//package
Section 77
//Map3 (Map3)
package {
import flash.display.*;
public dynamic class Map3 extends Sprite {
public var ps:MovieClip;
public var object1:MovieClip;
public var object2:MovieClip;
public var object3:MovieClip;
public var object4:MovieClip;
public var object5:MovieClip;
public var object6:MovieClip;
public var object7:MovieClip;
public var object8:MovieClip;
public var object9:MovieClip;
public var s1:MovieClip;
public var s2:MovieClip;
public var s3:MovieClip;
public var s4:MovieClip;
public var s5:MovieClip;
public var s6:MovieClip;
public var object10:MovieClip;
public var s7:MovieClip;
public var s9:MovieClip;
public var s8:MovieClip;
}
}//package
Section 78
//Map4 (Map4)
package {
import flash.display.*;
public dynamic class Map4 extends Sprite {
public var s3:MovieClip;
public var s4:MovieClip;
public var ps:MovieClip;
public var s1:MovieClip;
public var s5:MovieClip;
public var s6:MovieClip;
public var s7:MovieClip;
public var object1:MovieClip;
public var object2:MovieClip;
public var object3:MovieClip;
public var s2:MovieClip;
}
}//package
Section 79
//Map5 (Map5)
package {
import flash.display.*;
public dynamic class Map5 extends Sprite {
public var ps:MovieClip;
public var object1:MovieClip;
public var object2:MovieClip;
public var object3:MovieClip;
public var object4:MovieClip;
public var object5:MovieClip;
public var object6:MovieClip;
public var s10:MovieClip;
public var s11:MovieClip;
public var s1:MovieClip;
public var s2:MovieClip;
public var s3:MovieClip;
public var s4:MovieClip;
public var s5:MovieClip;
public var s6:MovieClip;
public var s8:MovieClip;
public var s7:MovieClip;
public var s9:MovieClip;
}
}//package
Section 80
//Map6 (Map6)
package {
import flash.display.*;
public dynamic class Map6 extends Sprite {
public var ps:MovieClip;
public var object1:MovieClip;
public var object2:MovieClip;
public var object3:MovieClip;
public var object4:MovieClip;
public var object5:MovieClip;
public var object6:MovieClip;
public var s10:MovieClip;
public var s11:MovieClip;
public var s1:MovieClip;
public var s2:MovieClip;
public var s3:MovieClip;
public var s4:MovieClip;
public var s5:MovieClip;
public var s6:MovieClip;
public var s8:MovieClip;
public var s7:MovieClip;
public var s9:MovieClip;
}
}//package
Section 81
//Map7 (Map7)
package {
import flash.display.*;
public dynamic class Map7 extends Sprite {
public var ps:MovieClip;
public var object1:MovieClip;
public var object2:MovieClip;
public var object3:MovieClip;
public var object4:MovieClip;
public var object5:MovieClip;
public var object6:MovieClip;
public var object7:MovieClip;
public var s10:MovieClip;
public var s11:MovieClip;
public var s1:MovieClip;
public var s2:MovieClip;
public var s3:MovieClip;
public var s4:MovieClip;
public var s5:MovieClip;
public var s6:MovieClip;
public var s8:MovieClip;
public var object8:MovieClip;
public var s7:MovieClip;
public var s9:MovieClip;
}
}//package
Section 82
//Map8 (Map8)
package {
import flash.display.*;
public dynamic class Map8 extends Sprite {
public var ps:MovieClip;
public var object1:MovieClip;
public var object2:MovieClip;
public var object3:MovieClip;
public var object4:MovieClip;
public var s10:MovieClip;
public var s11:MovieClip;
public var s1:MovieClip;
public var s2:MovieClip;
public var s3:MovieClip;
public var s4:MovieClip;
public var s5:MovieClip;
public var s6:MovieClip;
public var s8:MovieClip;
public var s7:MovieClip;
public var s9:MovieClip;
}
}//package
Section 83
//Map9 (Map9)
package {
import flash.display.*;
public dynamic class Map9 extends Sprite {
public var ps:MovieClip;
public var object1:MovieClip;
public var object2:MovieClip;
public var object3:MovieClip;
public var object4:MovieClip;
public var object5:MovieClip;
public var object6:MovieClip;
public var object7:MovieClip;
public var s10:MovieClip;
public var s11:MovieClip;
public var s1:MovieClip;
public var s2:MovieClip;
public var s3:MovieClip;
public var s4:MovieClip;
public var s5:MovieClip;
public var s6:MovieClip;
public var s8:MovieClip;
public var object8:MovieClip;
public var s7:MovieClip;
public var s9:MovieClip;
}
}//package
Section 84
//MarketAmbience (MarketAmbience)
package {
import flash.media.*;
public dynamic class MarketAmbience extends Sound {
}
}//package
Section 85
//Menu (Menu)
package {
import flash.events.*;
import flash.display.*;
import gs.*;
import flash.net.*;
public class Menu extends MovieClip {
public var buttons:MovieClip;
private var start_btn:SimpleButton;
private var more_btn:SimpleButton;
private var credit_btn:SimpleButton;
private var sound_manager:SoundManager;
private var home:Main;
public function Menu(_arg1:Main, _arg2:SoundManager){
addFrameScript(85, frame86);
home = _arg1;
sound_manager = _arg2;
start_btn = buttons.start_btn;
credit_btn = buttons.credit_btn;
more_btn = buttons.more_btn;
start_btn.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown, false, 0, true);
more_btn.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown, false, 0, true);
credit_btn.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown, false, 0, true);
start_btn.addEventListener(MouseEvent.MOUSE_OVER, mouseOver, false, 0, true);
more_btn.addEventListener(MouseEvent.MOUSE_OVER, mouseOver, false, 0, true);
credit_btn.addEventListener(MouseEvent.MOUSE_OVER, mouseOver, false, 0, true);
}
private function mouseUp(_arg1:MouseEvent):void{
switch (_arg1.target.name){
case "start_btn":
start_btn.removeEventListener(MouseEvent.MOUSE_UP, mouseUp);
TweenMax.to(this, 0.2, {alpha:0, onComplete:onEnd});
start_btn.mouseEnabled = false;
break;
case "more_btn":
more_btn.removeEventListener(MouseEvent.MOUSE_UP, mouseUp);
newUrl("http://www.routesgame.com/games/");
break;
case "credit_btn":
credit_btn.removeEventListener(MouseEvent.MOUSE_UP, mouseUp);
home.newCredits();
break;
};
}
private function mouseDown(_arg1:MouseEvent):void{
switch (_arg1.target.name){
case "start_btn":
start_btn.addEventListener(MouseEvent.MOUSE_UP, mouseUp, false, 0, false);
break;
case "more_btn":
more_btn.addEventListener(MouseEvent.MOUSE_UP, mouseUp, false, 0, false);
break;
case "credit_btn":
credit_btn.addEventListener(MouseEvent.MOUSE_UP, mouseUp, false, 0, false);
break;
};
}
function frame86(){
stop();
}
private function newUrl(_arg1:String):void{
var _local2:URLRequest = new URLRequest(_arg1);
navigateToURL(_local2, "_blank");
}
private function mouseOver(_arg1:MouseEvent):void{
sound_manager.sneeze("adult");
}
private function onEnd():void{
home.newHelp();
}
}
}//package
Section 86
//Muter (Muter)
package {
import flash.events.*;
import flash.display.*;
import gs.*;
import flash.media.*;
public class Muter extends MovieClip {
public var hit_mc:MovieClip;
public function Muter():void{
addFrameScript(0, frame1);
hitArea = hit_mc;
alpha = 0.5;
buttonMode = true;
addEventListener(MouseEvent.MOUSE_OVER, mouseOver, false, 0, true);
addEventListener(MouseEvent.MOUSE_OUT, mouseOut, false, 0, true);
addEventListener(MouseEvent.MOUSE_DOWN, mouseDown, false, 0, true);
}
private function mouseOver(_arg1:MouseEvent):void{
TweenMax.to(this, 0.5, {alpha:1});
}
private function mouseDown(_arg1:MouseEvent):void{
var _local2:*;
if (currentFrame == 1){
nextFrame();
_local2 = new SoundTransform(0);
SoundMixer.soundTransform = _local2;
} else {
prevFrame();
_local2 = new SoundTransform(1);
SoundMixer.soundTransform = _local2;
};
}
private function mouseOut(_arg1:MouseEvent):void{
TweenMax.to(this, 0.5, {alpha:0.5});
}
function frame1(){
stop();
}
}
}//package
Section 87
//NextBtn (NextBtn)
package {
import flash.display.*;
public dynamic class NextBtn extends SimpleButton {
}
}//package
Section 88
//Nose1 (Nose1)
package {
import flash.media.*;
public dynamic class Nose1 extends Sound {
}
}//package
Section 89
//Nose2 (Nose2)
package {
import flash.media.*;
public dynamic class Nose2 extends Sound {
}
}//package
Section 90
//Nose3 (Nose3)
package {
import flash.media.*;
public dynamic class Nose3 extends Sound {
}
}//package
Section 91
//NurseryAmbience (NurseryAmbience)
package {
import flash.media.*;
public dynamic class NurseryAmbience extends Sound {
}
}//package
Section 92
//OfficeAmbience1 (OfficeAmbience1)
package {
import flash.media.*;
public dynamic class OfficeAmbience1 extends Sound {
}
}//package
Section 93
//OfficeAmbience2 (OfficeAmbience2)
package {
import flash.media.*;
public dynamic class OfficeAmbience2 extends Sound {
}
}//package
Section 94
//ParkAmbience (ParkAmbience)
package {
import flash.media.*;
public dynamic class ParkAmbience extends Sound {
}
}//package
Section 95
//Particle (Particle)
package {
import flash.display.*;
import flash.geom.*;
public class Particle extends Sprite {
private var size:Number;
private var max_size:Number;
private var colour_decay:Number;
private var source_rectangle:Rectangle;
private var colour:Number;
private var green_bit:Number;
public var alive:Boolean;
private var move_speed:Number;
private var screen_data:BitmapData;
private var home:Main;
private var move_angle:Number;
private var max_decay:Number;
private var blue_bit:Number;
private var red_bit:Number;
private var map_objects:Array;
private var friction:Number;
private var life:Number;
public function Particle(_arg1:Main, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:BitmapData, _arg7:Array){
home = _arg1;
size = 2;
max_size = _arg2;
colour = _arg3;
colour_decay = ((Math.random() * 2) + 1);
max_decay = ((Math.random() * 20) + 130);
move_angle = _arg4;
move_speed = _arg5;
friction = 0.8;
life = 0.8;
alive = true;
screen_data = _arg6;
source_rectangle = new Rectangle();
map_objects = _arg7;
}
private function recolour():void{
red_bit = ((colour & 0xFF0000) >> 16);
green_bit = ((colour & 0xFF00) >> 8);
blue_bit = ((colour & 0xFF) >> 0);
if (green_bit > max_decay){
green_bit = (green_bit - colour_decay);
};
colour = ((((0xFF << 24) | (red_bit << 16)) | (green_bit << 8)) | (blue_bit << 0));
}
public function render():void{
source_rectangle.x = (this.x - (size / 2));
source_rectangle.y = (this.y - (size / 2));
source_rectangle.width = size;
source_rectangle.height = size;
screen_data.fillRect(source_rectangle, colour);
}
private function move():void{
var _local2:*;
move_speed = (move_speed * friction);
this.x = (this.x + (Math.cos(move_angle) * move_speed));
this.y = (this.y + (Math.sin(move_angle) * move_speed));
if (Math.abs(move_speed) < 0.1){
move_speed = 0;
};
if ((((size < max_size)) && ((Math.abs(move_speed) > 0.1)))){
size = (size + (1 / 10));
};
var _local1:Number = map_objects.length;
_local2 = 0;
while (_local2 < _local1) {
if (map_objects[_local2].hitTestPoint(this.x, this.y, false)){
alive = false;
break;
};
_local2++;
};
if (this.x > (Main.map_boundaries.right - (size / 2))){
alive = false;
};
if (this.x < (Main.map_boundaries.left + (size / 2))){
alive = false;
};
if (this.y > (Main.map_boundaries.bottom - (size / 2))){
alive = false;
};
if (this.y < (Main.map_boundaries.top + (size / 2))){
alive = false;
};
if (life > 0){
life = (life - (1 / 30));
} else {
alive = false;
};
}
public function update():void{
move();
recolour();
}
}
}//package
Section 96
//Phone (Phone)
package {
import flash.media.*;
public dynamic class Phone extends Sound {
}
}//package
Section 97
//Player (Player)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
public class Player extends MovieClip {
private const space:Number = 32;
private const left:Number = 37;
private const up:Number = 38;
private const right:Number = 40;
private const down:Number = 39;
private const a:Number = 65;
private const d:Number = 68;
private const s:Number = 83;
private const w:Number = 87;
private var friction:Number;
private var d_down:Boolean;
public var player_group:MovieClip;
private var start_sneeze:Boolean;
private var max_speed:Number;
private var map_objects:Array;
private var sneeze_delay:Number;
private var space_down:Boolean;
private var a_down:Boolean;
private var sneeze_effect:SneezeEffect;
public var player_ring:MovieClip;
private var moving:Boolean;
private var woops:Boolean;// = true
private var velocity:Point;
private var home:Main;
private var accel:Number;
private var w_down:Boolean;
private var s_down:Boolean;
private var old_velocity:Point;
private var sound_manager:SoundManager;
public var sneezed:Boolean;
public function Player(_arg1:Main, _arg2:Array, _arg3:SneezeEffect, _arg4:SoundManager){
home = _arg1;
map_objects = _arg2;
sneeze_effect = _arg3;
sound_manager = _arg4;
w_down = false;
a_down = false;
s_down = false;
d_down = false;
space_down = false;
velocity = new Point();
old_velocity = new Point();
accel = 1;
friction = 0.8;
max_speed = 3;
start_sneeze = false;
sneezed = false;
sneeze_delay = 0.3;
moving = false;
home.stage.addEventListener(KeyboardEvent.KEY_DOWN, keysDown, false, 0, true);
home.stage.addEventListener(KeyboardEvent.KEY_UP, keysUp, false, 0, true);
}
private function sneeze():void{
var _local1:Number;
if (!sneezed){
_local1 = ((player_group.rotation * Math.PI) / 180);
sneeze_effect.sneeze(30, this, _local1, 40, map_objects);
sound_manager.sneeze("adult");
sneezed = true;
accel = 1;
start_sneeze = false;
};
}
private function keysUp(_arg1:KeyboardEvent):void{
switch (_arg1.keyCode){
case w:
w_down = false;
break;
case a:
a_down = false;
break;
case s:
s_down = false;
break;
case d:
d_down = false;
break;
case up:
w_down = false;
break;
case left:
a_down = false;
break;
case right:
s_down = false;
break;
case down:
d_down = false;
break;
case space:
space_down = false;
break;
};
}
private function keysDown(_arg1:KeyboardEvent):void{
switch (_arg1.keyCode){
case w:
w_down = true;
break;
case a:
a_down = true;
break;
case s:
s_down = true;
break;
case d:
d_down = true;
break;
case up:
w_down = true;
break;
case left:
a_down = true;
break;
case right:
s_down = true;
break;
case down:
d_down = true;
break;
case space:
space_down = true;
break;
};
}
private function move():void{
var _local2:*;
if (space_down){
if (woops){
space_down = false;
} else {
space_down = true;
};
} else {
woops = false;
};
if (w_down){
velocity.y = (velocity.y - accel);
};
if (s_down){
velocity.y = (velocity.y + accel);
};
if (a_down){
velocity.x = (velocity.x - accel);
};
if (d_down){
velocity.x = (velocity.x + accel);
};
if (velocity.x >= max_speed){
velocity.x = max_speed;
} else {
if (velocity.x <= -(max_speed)){
velocity.x = -(max_speed);
};
};
if (velocity.y >= max_speed){
velocity.y = max_speed;
} else {
if (velocity.y <= -(max_speed)){
velocity.y = -(max_speed);
};
};
velocity.x = (velocity.x * friction);
velocity.y = (velocity.y * friction);
this.x = (this.x + velocity.x);
this.y = (this.y + velocity.y);
var _local1:Number = map_objects.length;
_local2 = 0;
while (_local2 < _local1) {
if (map_objects[_local2].hitTestPoint((this.x + 10), this.y, false)){
this.x = ((map_objects[_local2].x - (map_objects[_local2].width / 2)) - 10);
velocity.x = 0;
} else {
if (map_objects[_local2].hitTestPoint((this.x - 10), this.y, false)){
this.x = ((map_objects[_local2].x + (map_objects[_local2].width / 2)) + 10);
velocity.x = 0;
};
};
if (map_objects[_local2].hitTestPoint(this.x, (this.y + 10), false)){
this.y = ((map_objects[_local2].y - (map_objects[_local2].height / 2)) - 10);
velocity.y = 0;
} else {
if (map_objects[_local2].hitTestPoint(this.x, (this.y - 10), false)){
this.y = ((map_objects[_local2].y + (map_objects[_local2].height / 2)) + 10);
velocity.y = 0;
};
};
if (Math.abs(velocity.x) < 0.1){
velocity.x = 0;
};
if (Math.abs(velocity.y) < 0.1){
velocity.y = 0;
};
_local2++;
};
if (this.x > (Main.map_boundaries.right - 10)){
this.x = (Main.map_boundaries.right - 10);
velocity.x = 0;
} else {
if (this.x < (Main.map_boundaries.left + 10)){
this.x = (Main.map_boundaries.left + 10);
velocity.x = 0;
};
};
if (this.y > (Main.map_boundaries.bottom - 10)){
this.y = (Main.map_boundaries.bottom - 10);
velocity.y = 0;
} else {
if (this.y < (Main.map_boundaries.top + 10)){
this.y = (Main.map_boundaries.top + 10);
velocity.y = 0;
};
};
if ((((Math.abs(velocity.x) > 0.1)) || ((((Math.abs(velocity.y) > 0.1)) && (!(start_sneeze)))))){
player_group.rotation = ((Math.atan2(velocity.y, velocity.x) * 180) / Math.PI);
moving = true;
} else {
if (!start_sneeze){
moving = false;
player_group.gotoAndStop(1);
};
};
player_ring.rotation = (player_ring.rotation + 1);
if (((((!(start_sneeze)) && (moving))) && ((currentFrame == 1)))){
player_group.play();
} else {
((((sneezed) && (moving))) && ((currentFrame == 1)));
};
player_group.play();
if (((((((space_down) && (!(start_sneeze)))) && (!(woops)))) && (!(sneezed)))){
old_velocity.x = velocity.x;
old_velocity.y = velocity.y;
velocity.x = 0;
velocity.y = 0;
accel = 0;
start_sneeze = true;
player_group.gotoAndPlay("sneezing");
trace("!!");
};
if (((start_sneeze) && ((sneeze_delay > 0)))){
sneeze_delay = (sneeze_delay - (1 / 30));
} else {
if (((start_sneeze) && ((sneeze_delay <= 0)))){
sneeze();
};
};
}
public function update():void{
move();
}
}
}//package
Section 98
//Pooltable (Pooltable)
package {
import flash.media.*;
public dynamic class Pooltable extends Sound {
}
}//package
Section 99
//Printer (Printer)
package {
import flash.media.*;
public dynamic class Printer extends Sound {
}
}//package
Section 100
//RemotingConnection (RemotingConnection)
package {
import flash.net.*;
public class RemotingConnection extends NetConnection {
public function RemotingConnection(_arg1:String){
objectEncoding = ObjectEncoding.AMF0;
if (_arg1){
connect(_arg1);
};
}
}
}//package
Section 101
//RetryBtn (RetryBtn)
package {
import flash.display.*;
public dynamic class RetryBtn extends SimpleButton {
}
}//package
Section 102
//ScoreManager (ScoreManager)
package {
import flash.display.*;
import flash.text.*;
public class ScoreManager extends Sprite {
private var home:Main;
public var room_tf:TextField;
public var total_score:Number;
public var current_map:Number;
public var score_tf:TextField;
public function ScoreManager(_arg1:Main){
home = _arg1;
total_score = 0;
score_tf.text = String(total_score);
}
public function updateRoom(_arg1):void{
current_map = _arg1;
room_tf.text = String(current_map);
}
public function addPoints(_arg1):void{
total_score = (total_score + _arg1);
score_tf.text = String(total_score);
}
}
}//package
Section 103
//Seagull1 (Seagull1)
package {
import flash.media.*;
public dynamic class Seagull1 extends Sound {
}
}//package
Section 104
//Seagull2 (Seagull2)
package {
import flash.media.*;
public dynamic class Seagull2 extends Sound {
}
}//package
Section 105
//Siren (Siren)
package {
import flash.media.*;
public dynamic class Siren extends Sound {
}
}//package
Section 106
//SlotMachine (SlotMachine)
package {
import flash.media.*;
public dynamic class SlotMachine extends Sound {
}
}//package
Section 107
//Sneeze1 (Sneeze1)
package {
import flash.media.*;
public dynamic class Sneeze1 extends Sound {
}
}//package
Section 108
//Sneeze10 (Sneeze10)
package {
import flash.media.*;
public dynamic class Sneeze10 extends Sound {
}
}//package
Section 109
//Sneeze11 (Sneeze11)
package {
import flash.media.*;
public dynamic class Sneeze11 extends Sound {
}
}//package
Section 110
//Sneeze12 (Sneeze12)
package {
import flash.media.*;
public dynamic class Sneeze12 extends Sound {
}
}//package
Section 111
//Sneeze13 (Sneeze13)
package {
import flash.media.*;
public dynamic class Sneeze13 extends Sound {
}
}//package
Section 112
//Sneeze14 (Sneeze14)
package {
import flash.media.*;
public dynamic class Sneeze14 extends Sound {
}
}//package
Section 113
//Sneeze2 (Sneeze2)
package {
import flash.media.*;
public dynamic class Sneeze2 extends Sound {
}
}//package
Section 114
//Sneeze3 (Sneeze3)
package {
import flash.media.*;
public dynamic class Sneeze3 extends Sound {
}
}//package
Section 115
//Sneeze4 (Sneeze4)
package {
import flash.media.*;
public dynamic class Sneeze4 extends Sound {
}
}//package
Section 116
//Sneeze5 (Sneeze5)
package {
import flash.media.*;
public dynamic class Sneeze5 extends Sound {
}
}//package
Section 117
//Sneeze6 (Sneeze6)
package {
import flash.media.*;
public dynamic class Sneeze6 extends Sound {
}
}//package
Section 118
//Sneeze7 (Sneeze7)
package {
import flash.media.*;
public dynamic class Sneeze7 extends Sound {
}
}//package
Section 119
//Sneeze8 (Sneeze8)
package {
import flash.media.*;
public dynamic class Sneeze8 extends Sound {
}
}//package
Section 120
//Sneeze9 (Sneeze9)
package {
import flash.media.*;
public dynamic class Sneeze9 extends Sound {
}
}//package
Section 121
//SneezeEffect (SneezeEffect)
package {
import flash.display.*;
public class SneezeEffect {
public var particle_array:Array;
public var screen_bitmap:Bitmap;
private var colour_array:Array;
private var particle:Particle;
private var screen_data:BitmapData;
private var home:Main;
public function SneezeEffect(_arg1:Main){
home = _arg1;
screen_data = new BitmapData(home.stage.stageWidth, home.stage.stageHeight, true, 0);
screen_bitmap = new Bitmap(screen_data, "never", false);
particle_array = new Array();
colour_array = [4278438402, 4283943945, 4278229294, 4278372926];
}
public function randomize_colour():Number{
var _local1:int = (Math.random() * colour_array.length);
var _local2:Number = colour_array[_local1];
return (_local2);
}
public function removeDeadParticles():void{
var _local2:*;
var _local1:Number = particle_array.length;
_local2 = (_local1 - 1);
while (_local2 >= 0) {
if (particle_array[_local2].alive == false){
particle_array.splice(_local2, 1);
};
_local2--;
};
}
public function cleanScreen():void{
particle_array = [];
screen_data.fillRect(screen_data.rect, 0);
}
public function sneeze(_arg1:Number, _arg2, _arg3:Number, _arg4:Number, _arg5:Array):void{
var _local7:*;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local6:Number = randomize_colour();
_local7 = 0;
while (_local7 < _arg1) {
_local8 = (_arg3 + ((((Math.random() * (_arg4 * 2)) - _arg4) * Math.PI) / 180));
particle = new Particle(home, 6, _local6, _local8, ((Math.random() * 20) + 10), screen_data, _arg5);
particle.x = _arg2.x;
particle.y = _arg2.y;
particle_array.push(particle);
_local7++;
};
screen_data.lock();
_local7 = 0;
while (_local7 < 100) {
_local9 = ((Math.random() * 48) + 2);
_local10 = (_arg3 + ((((Math.random() * (_arg4 * 4)) - (_arg4 * 2)) * Math.PI) / 180));
_local11 = (_arg2.x + (Math.cos(_local10) * _local9));
_local12 = (_arg2.y + (Math.sin(_local10) * _local9));
screen_data.setPixel32(_local11, _local12, _local6);
_local7++;
};
screen_data.unlock();
}
public function renderParticles():void{
var _local2:*;
screen_data.lock();
var _local1:Number = particle_array.length;
_local2 = 0;
while (_local2 < _local1) {
particle_array[_local2].render();
_local2++;
};
screen_data.unlock();
}
public function updateParticles():void{
var _local2:*;
var _local1:Number = particle_array.length;
_local2 = 0;
while (_local2 < _local1) {
particle_array[_local2].update();
_local2++;
};
}
}
}//package
Section 122
//SneezeWarning (SneezeWarning)
package {
import flash.display.*;
public dynamic class SneezeWarning extends MovieClip {
public function SneezeWarning(){
addFrameScript(23, frame24);
}
function frame24(){
if (this.parent != null){
this.stage.removeChild(this);
};
}
}
}//package
Section 123
//SoundManager (SoundManager)
package {
import flash.media.*;
public class SoundManager {
private var looping:Boolean;
private var hammer_1:Hammer1;
private var random_delay2:Number;
public var arcade_ambience:ArcadeAmbience;
private var femcough_1:FemCough1;
private var femcough_2:FemCough2;
private var femcough_3:FemCough3;
private var slot_machine:SlotMachine;
private var random_delay:Number;
private var incidental_array:Array;
private var femcough_4:FemCough4;
private var childsob_2:ChildSob2;
public var crowd_ambience1:CrowdAmbience1;
private var childsob_1:ChildSob1;
private var childsob_3:ChildSob3;
private var printer:Printer;
private var seagull_1:Seagull1;
private var seagull_2:Seagull2;
private var background_array:Array;
private var child_cry_1:ChildCry1;
private var child_cry_2:ChildCry2;
public var city_ambience_1:CityAmbience1;
public var city_ambience_2:CityAmbience2;
public var city_ambience_3:CityAmbience3;
public var city_ambience_4:CityAmbience4;
public var city_ambience_5:CityAmbience5;
public var city_ambience_6:CityAmbience6;
private var max_delay2:Number;
private var steam:Steam;
public var office_ambience_1:OfficeAmbience1;
private var sneeze_10:Sneeze10;
private var sneeze_11:Sneeze11;
private var sneeze_12:Sneeze12;
private var sneeze_13:Sneeze13;
private var sneeze_14:Sneeze14;
private var cough_2:Cough2;
private var cough_3:Cough3;
private var cough_4:Cough4;
private var cough_5:Cough5;
private var cough_6:Cough6;
public var factory_ambience:FactoryAmbience;
private var cough_8:Cough8;
private var femsneeze_1:FemSneeze1;
private var femsneeze_2:FemSneeze2;
public var market_ambience:MarketAmbience;
public var station_ambience:StationAmbience;
private var cough_1:Cough1;
private var phone:Phone;
private var cough_7:Cough7;
public var park_ambience:ParkAmbience;
public var nursery_ambience:NurseryAmbience;
private var trains:Trains;
private var trainwhistle_1:TrainWhistle1;
private var trainwhistle_2:TrainWhistle2;
private var toy_car:ToyCar;
private var groan_1:Groan1;
private var ambience_loop:SoundChannel;
private var groan_4:Groan4;
private var groan_2:Groan2;
private var groan_3:Groan3;
private var femsniff_1:FemSniff1;
private var femsniff_2:FemSniff2;
private var elder_sneeze_array:Array;
private var siren:Siren;
private var nose_1:Nose1;
private var nose_2:Nose2;
private var nose_3:Nose3;
public var library_ambience:LibraryAmbience;
public var airport_ambience:AirportAmbience;
private var toy_horn:ToyHorn;
private var sneeze_2:Sneeze2;
private var sneeze_3:Sneeze3;
private var sneeze_4:Sneeze4;
private var sneeze_5:Sneeze5;
private var sneeze_6:Sneeze6;
private var sneeze_7:Sneeze7;
private var home:Main;
private var sneeze_9:Sneeze9;
private var grunt_1:Grunt1;
private var femthroat_1:FemThroat1;
private var femthroat_2:FemThroat2;
private var sneeze_1:Sneeze1;
private var max_delay:Number;
private var book:Book;
private var pool_table:Pooltable;
public var harbour_ambience_1:HarbourAmbience1;
private var sneeze_8:Sneeze8;
private var dog_2:Dog2;
private var dog_1:Dog1;
private var hammer_2:Hammer2;
private var child_sneeze_array:Array;
private var adult_sneeze_array:Array;
public function SoundManager(_arg1:Main){
home = _arg1;
sneeze_1 = new Sneeze1();
sneeze_2 = new Sneeze2();
sneeze_3 = new Sneeze3();
sneeze_4 = new Sneeze4();
sneeze_5 = new Sneeze5();
sneeze_6 = new Sneeze6();
sneeze_7 = new Sneeze7();
sneeze_8 = new Sneeze8();
sneeze_9 = new Sneeze9();
sneeze_10 = new Sneeze10();
sneeze_11 = new Sneeze11();
sneeze_12 = new Sneeze12();
sneeze_13 = new Sneeze13();
sneeze_14 = new Sneeze14();
crowd_ambience1 = new CrowdAmbience1();
station_ambience = new StationAmbience();
park_ambience = new ParkAmbience();
office_ambience_1 = new OfficeAmbience1();
nursery_ambience = new NurseryAmbience();
market_ambience = new MarketAmbience();
library_ambience = new LibraryAmbience();
harbour_ambience_1 = new HarbourAmbience1();
factory_ambience = new FactoryAmbience();
city_ambience_1 = new CityAmbience1();
city_ambience_2 = new CityAmbience2();
city_ambience_3 = new CityAmbience3();
city_ambience_4 = new CityAmbience4();
city_ambience_5 = new CityAmbience5();
city_ambience_6 = new CityAmbience6();
arcade_ambience = new ArcadeAmbience();
airport_ambience = new AirportAmbience();
ambience_loop = new SoundChannel();
child_cry_1 = new ChildCry1();
child_cry_2 = new ChildCry2();
cough_1 = new Cough1();
cough_2 = new Cough2();
cough_3 = new Cough3();
cough_4 = new Cough4();
cough_5 = new Cough5();
cough_6 = new Cough6();
cough_7 = new Cough7();
cough_8 = new Cough8();
groan_1 = new Groan1();
groan_2 = new Groan2();
groan_3 = new Groan3();
groan_4 = new Groan4();
grunt_1 = new Grunt1();
nose_1 = new Nose1();
nose_2 = new Nose2();
nose_3 = new Nose3();
femthroat_1 = new FemThroat1();
femthroat_2 = new FemThroat2();
femsniff_1 = new FemSniff1();
femsniff_2 = new FemSniff2();
femsneeze_1 = new FemSneeze1();
femsneeze_2 = new FemSneeze2();
femcough_1 = new FemCough1();
femcough_2 = new FemCough2();
femcough_3 = new FemCough3();
femcough_4 = new FemCough4();
childsob_1 = new ChildSob1();
childsob_2 = new ChildSob2();
childsob_3 = new ChildSob3();
seagull_1 = new Seagull1();
seagull_2 = new Seagull2();
trains = new Trains();
trainwhistle_1 = new TrainWhistle1();
trainwhistle_2 = new TrainWhistle2();
toy_horn = new ToyHorn();
toy_car = new ToyCar();
slot_machine = new SlotMachine();
siren = new Siren();
pool_table = new Pooltable();
phone = new Phone();
printer = new Printer();
book = new Book();
hammer_1 = new Hammer1();
hammer_2 = new Hammer2();
dog_1 = new Dog1();
dog_2 = new Dog2();
steam = new Steam();
adult_sneeze_array = [sneeze_3, sneeze_5, sneeze_6, sneeze_9, sneeze_11, sneeze_14, femsneeze_1, femsneeze_2];
elder_sneeze_array = [sneeze_2, sneeze_4, sneeze_7, sneeze_12];
child_sneeze_array = [sneeze_1, sneeze_8, sneeze_10, sneeze_13];
background_array = [child_cry_1, child_cry_2, cough_1, cough_2, cough_3, cough_4, cough_5, cough_6, cough_7, cough_8, groan_1, groan_2, groan_3, groan_4, grunt_1, nose_1, nose_2, nose_3, femcough_1, femcough_2, femcough_3, femcough_4, femsniff_1, femsniff_2, femthroat_1, femthroat_2, childsob_1, childsob_2, childsob_3];
incidental_array = [[dog_1, dog_2], [siren, hammer_1, hammer_2], [toy_car, toy_horn], [trains, trainwhistle_1, trainwhistle_2], [slot_machine, pool_table], [steam], [dog_1, dog_2], [seagull_1, seagull_2], [book, printer], [phone]];
looping = false;
max_delay = 3;
max_delay2 = 6;
random_delay = (Math.random() * max_delay);
random_delay2 = (Math.random() * max_delay);
}
public function playIncidentalSound():void{
var _local1:Number;
if (random_delay2 > 0){
random_delay2 = (random_delay2 - (1 / 30));
} else {
_local1 = Math.floor((Math.random() * incidental_array[home.current_map].length));
incidental_array[home.current_map][_local1].play();
random_delay2 = (Math.random() * max_delay2);
};
}
public function loop(_arg1, _arg2:String):void{
switch (_arg2){
case "play":
ambience_loop = _arg1.play(0, 9000000);
looping = true;
break;
case "stop":
ambience_loop.stop();
looping = false;
break;
};
}
public function sneeze(_arg1:String):void{
var _local2:Number = new Number();
switch (_arg1){
case "adult":
_local2 = Math.floor((Math.random() * adult_sneeze_array.length));
adult_sneeze_array[_local2].play();
break;
case "elder":
_local2 = Math.floor((Math.random() * elder_sneeze_array.length));
elder_sneeze_array[_local2].play();
break;
case "child":
_local2 = Math.floor((Math.random() * child_sneeze_array.length));
child_sneeze_array[_local2].play();
break;
};
}
public function playBackgroundSound():void{
var _local1:Number;
if (random_delay > 0){
random_delay = (random_delay - (1 / 30));
} else {
_local1 = Math.floor((Math.random() * background_array.length));
background_array[_local1].play();
random_delay = (Math.random() * max_delay);
};
}
}
}//package
Section 124
//StationAmbience (StationAmbience)
package {
import flash.media.*;
public dynamic class StationAmbience extends Sound {
}
}//package
Section 125
//Steam (Steam)
package {
import flash.media.*;
public dynamic class Steam extends Sound {
}
}//package
Section 126
//ToyCar (ToyCar)
package {
import flash.media.*;
public dynamic class ToyCar extends Sound {
}
}//package
Section 127
//ToyHorn (ToyHorn)
package {
import flash.media.*;
public dynamic class ToyHorn extends Sound {
}
}//package
Section 128
//Tracking (Tracking)
package {
public class Tracking {
private var title:String;
private var s;
public function Tracking(_arg1:String, _arg2){
title = _arg1;
s = _arg2;
}
public function gameStart():void{
s.linkTrackVars = "prop22,eVar22,events";
s.linkTrackEvents = "event15,event13";
s.prop22 = (title + ": Game Start");
s.eVar22 = s.prop22;
s.events = "event15,event13";
s.trackLink(s.pageURL, "o", "Flash Game Interaction");
}
public function gameOverHighScore(_arg1:int):void{
s.linkTrackVars = "prop22,eVar22,products,events";
s.linkTrackEvents = "event15,event14";
s.prop22 = (title + ":Game Over: High Score Entry");
s.eVar22 = s.prop22;
s.products = (((";" + title) + ";;;event14=") + _arg1);
s.events = "event15,event14";
s.trackLink(s.pageURL, "o", "Flash Game Interaction");
}
public function gameCompleted(_arg1:int):void{
s.linkTrackVars = "prop22,eVar22,products,events";
s.linkTrackEvents = "event15,event14";
s.prop22 = (title + ":Game Completed");
s.eVar22 = s.prop22;
s.products = (((";" + title) + ";;;event14=") + _arg1);
s.events = "event15,event14";
s.trackLink(s.pageURL, "o", "Flash Game Interaction");
}
public function gameOver(_arg1:int):void{
s.linkTrackVars = "prop22,eVar22,products,events";
s.linkTrackEvents = "event15,event14";
s.prop22 = (title + ":Game Over");
s.eVar22 = s.prop22;
s.products = (((";" + title) + ";;;event14=") + _arg1);
s.events = "event15,event14";
trace(s.products);
s.trackLink(s.pageURL, "o", "Flash Game Interaction");
}
public function levelCompleted(_arg1:String):void{
s.linkTrackVars = "prop22,eVar22,events";
s.linkTrackEvents = "event15";
s.prop22 = (((title + ":level ") + _arg1) + " Completed");
s.eVar22 = s.prop22;
s.events = "event15";
s.trackLink(s.pageURL, "o", "Flash Game Interaction");
}
public function gameCompletedHighScore(_arg1:int):void{
s.linkTrackVars = "prop22,eVar22,products,events";
s.linkTrackEvents = "event15,event14";
s.prop22 = (title + ":Game Completed: High Score Entry");
s.eVar22 = s.prop22;
s.products = (((";" + title) + ";;;event14=") + _arg1);
s.events = "event15,event14";
s.trackLink(s.pageURL, "o", "Flash Game Interaction");
}
}
}//package
Section 129
//Trains (Trains)
package {
import flash.media.*;
public dynamic class Trains extends Sound {
}
}//package
Section 130
//TrainWhistle1 (TrainWhistle1)
package {
import flash.media.*;
public dynamic class TrainWhistle1 extends Sound {
}
}//package
Section 131
//TrainWhistle2 (TrainWhistle2)
package {
import flash.media.*;
public dynamic class TrainWhistle2 extends Sound {
}
}//package
Section 132
//UploadScore (UploadScore)
package {
import flash.net.*;
public class UploadScore {
public var gateway:RemotingConnection;
public var dataProvider:Array;
public var home:Main;
public function UploadScore(_arg1:Main){
home = _arg1;
}
public function upload(_arg1:int, _arg2:int):void{
var _local3:String;
var _local4:Responder;
var _local5:String;
var _local6:int;
if (getFlashVar("userId") != null){
_local3 = "http://www.routesgame.com/games/amfphp/gateway.php";
gateway = new RemotingConnection(_local3);
_local4 = new Responder(onResult, onFault);
_local5 = getFlashVar("userId");
_local6 = _arg2;
gateway.call("Sneeze.setScore", _local4, _local5, _local6);
};
trace("SENDING");
}
public function onFault(_arg1:String):void{
trace("onFault invoked");
}
public function onResult(_arg1):void{
trace("onResult invoked");
trace(_arg1);
}
public function getFlashVar(_arg1:String):String{
return (home.parent.loaderInfo.parameters[_arg1]);
}
}
}//package
Section 133
//Victim (Victim)
package {
import flash.display.*;
import fl.motion.*;
public class Victim extends MovieClip {
protected var sneeze_spray:Number;
protected var sneezed:Boolean;
private var sneeze_effect:SneezeEffect;
private var move_counter:Number;
private var score_manager:ScoreManager;
protected var sneeze_amount:Number;
protected var move_delay:Number;
protected var random_angle:Number;
protected var move_speed:Number;
private var home:Main;
private var particle_array:Array;
private var last_angle:Number;
protected var points_worth:Number;
protected var think_counter:Number;
protected var sneeze_type:String;
public var infected:Boolean;
protected var think_delay:Number;
private var map_objects:Array;
protected var sneeze_delay:Number;
private var sound_manager:SoundManager;
protected var anim_target:MovieClip;
public function Victim(_arg1:Main, _arg2:Array, _arg3:Array, _arg4:SneezeEffect, _arg5:SoundManager, _arg6:ScoreManager){
home = _arg1;
map_objects = _arg2;
particle_array = _arg3;
sneeze_effect = _arg4;
sound_manager = _arg5;
score_manager = _arg6;
move_counter = 0;
think_counter = 0;
random_angle = randomize_angle(360, 0);
last_angle = ((random_angle * 180) / Math.PI);
sneezed = false;
infected = false;
anim_target = this;
gotoAndPlay(int((Math.random() * 15)));
}
public function rotate():void{
if (!infected){
this.rotation = ((random_angle * 180) / Math.PI);
};
}
public function update():void{
move();
rotate();
countdown();
}
private function randomize_angle(_arg1:Number, _arg2:Number):Number{
var _local3:Number = (Math.floor((Math.random() * ((_arg1 - _arg2) + 1))) + _arg2);
if (_local3 > 360){
_local3 = (_local3 - 360);
};
return (((_local3 * Math.PI) / 180));
}
public function countdown():void{
}
private function move():void{
var _local2:Number;
var _local3:*;
var _local4:Color;
var _local5:*;
if (move_counter < move_delay){
this.x = (this.x + (Math.cos(random_angle) * move_speed));
this.y = (this.y + (Math.sin(random_angle) * move_speed));
_local2 = map_objects.length;
_local3 = 0;
while (_local3 < _local2) {
if (map_objects[_local3].hitTestPoint((this.x + (this.width / 2)), this.y, false)){
this.x = ((map_objects[_local3].x - (map_objects[_local3].width / 2)) - (this.width / 2));
random_angle = randomize_angle(225, 135);
last_angle = ((random_angle * 180) / Math.PI);
move_counter = 0;
} else {
if (map_objects[_local3].hitTestPoint((this.x - (this.width / 2)), this.y, false)){
this.x = ((map_objects[_local3].x + (map_objects[_local3].width / 2)) + (this.width / 2));
random_angle = randomize_angle(405, 315);
last_angle = ((random_angle * 180) / Math.PI);
move_counter = 0;
};
};
if (map_objects[_local3].hitTestPoint(this.x, (this.y + (this.height / 2)), false)){
this.y = ((map_objects[_local3].y - (map_objects[_local3].height / 2)) - (this.height / 2));
random_angle = randomize_angle(315, 225);
last_angle = ((random_angle * 180) / Math.PI);
move_counter = 0;
} else {
if (map_objects[_local3].hitTestPoint(this.x, (this.y - (this.height / 2)), false)){
this.y = ((map_objects[_local3].y + (map_objects[_local3].height / 2)) + (this.height / 2));
random_angle = randomize_angle(135, 45);
last_angle = ((random_angle * 180) / Math.PI);
move_counter = 0;
};
};
_local3++;
};
if (this.x > (Main.map_boundaries.right - (this.width / 2))){
this.x = (Main.map_boundaries.right - (this.width / 2));
random_angle = randomize_angle(225, 135);
last_angle = ((random_angle * 180) / Math.PI);
move_counter = 0;
} else {
if (this.x < (Main.map_boundaries.left + (this.width / 2))){
this.x = (Main.map_boundaries.left + (this.width / 2));
random_angle = randomize_angle(405, 315);
last_angle = ((random_angle * 180) / Math.PI);
move_counter = 0;
};
};
if (this.y > (Main.map_boundaries.bottom - (this.height / 2))){
this.y = (Main.map_boundaries.bottom - (this.height / 2));
random_angle = randomize_angle(315, 225);
last_angle = ((random_angle * 180) / Math.PI);
move_counter = 0;
} else {
if (this.y < (Main.map_boundaries.top + (this.height / 2))){
this.y = (Main.map_boundaries.top + (this.height / 2));
random_angle = randomize_angle(135, 45);
last_angle = ((random_angle * 180) / Math.PI);
move_counter = 0;
};
};
move_counter = (move_counter + (1 / 30));
} else {
move_counter = 0;
this.x = this.x;
this.y = this.y;
random_angle = randomize_angle((last_angle + 45), (last_angle - 45));
last_angle = ((random_angle * 180) / Math.PI);
};
var _local1:Number = particle_array.length;
_local3 = 0;
while (_local3 < _local1) {
if (this.hitTestPoint(particle_array[_local3].x, particle_array[_local3].y, false)){
if (!infected){
_local4 = new Color();
_local4.setTint(0xFF00, 0.6);
this.transform.colorTransform = _local4;
score_manager.addPoints(points_worth);
infected = true;
};
if (!sneezed){
particle_array[_local3].alive = false;
};
};
_local3++;
};
if (((infected) && ((sneeze_delay > 0)))){
sneeze_delay = (sneeze_delay - (1 / 30));
} else {
if (((((!(sneezed)) && (infected))) && ((think_counter < think_delay)))){
if (think_counter == 0){
_local5 = new SneezeWarning();
_local5.x = this.x;
_local5.y = (this.y - 20);
home.stage.addChild(_local5);
anim_target.gotoAndPlay("sneezing");
home.timeout_delay = 4;
};
think_counter = (think_counter + (1 / 30));
move_speed = 0;
} else {
if (((((!(sneezed)) && (infected))) && ((think_counter >= think_delay)))){
sneeze();
anim_target.gotoAndPlay("sneezed");
think_counter = 0;
};
};
};
anim();
}
public function anim():void{
if (((!(infected)) && ((currentFrame == 1)))){
anim_target.play();
};
}
public function sneeze():void{
var _local1:Number;
if (((infected) && (!(sneezed)))){
_local1 = ((anim_target.rotation * Math.PI) / 180);
sneeze_effect.sneeze(sneeze_amount, this, _local1, sneeze_spray, map_objects);
sound_manager.sneeze(sneeze_type);
sneezed = true;
home.timeout_delay = 4;
};
}
protected function randomize_property(_arg1:Number, _arg2:Number):Number{
var _local3:Number = ((Math.random() * (_arg1 - _arg2)) + _arg2);
return (_local3);
}
}
}//package