Section 1
//CampaignInfo (com.google.analytics.campaign.CampaignInfo)
package com.google.analytics.campaign {
import com.google.analytics.utils.*;
public class CampaignInfo {
private var _new:Boolean;
private var _empty:Boolean;
public function CampaignInfo(_arg1:Boolean=true, _arg2:Boolean=false){
_empty = _arg1;
_new = _arg2;
}
public function isEmpty():Boolean{
return (_empty);
}
public function toURLString():String{
var _local1:Variables;
_local1 = toVariables();
return (_local1.toString());
}
public function toVariables():Variables{
var _local1:Variables;
_local1 = new Variables();
_local1.URIencode = true;
if (((!(isEmpty())) && (isNew()))){
_local1.utmcn = utmcn;
};
if (((!(isEmpty())) && (!(isNew())))){
_local1.utmcr = utmcr;
};
return (_local1);
}
public function isNew():Boolean{
return (_new);
}
public function get utmcn():String{
return ("1");
}
public function get utmcr():String{
return ("1");
}
}
}//package com.google.analytics.campaign
Section 2
//CampaignKey (com.google.analytics.campaign.CampaignKey)
package com.google.analytics.campaign {
public class CampaignKey {
public var UCMD:String;// = "utm_medium"
public var UCID:String;// = "utm_id"
public var UCTR:String;// = "utm_term"
public var UCSR:String;// = "utm_source"
public var UCNO:String;// = "utm_nooverride"
public var UCCN:String;// = "utm_campaign"
public var UGCLID:String;// = "gclid"
public var UCCT:String;// = "utm_content"
public function CampaignKey(){
super();
}
}
}//package com.google.analytics.campaign
Section 3
//CampaignManager (com.google.analytics.campaign.CampaignManager)
package com.google.analytics.campaign {
import com.google.analytics.core.*;
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import com.google.analytics.utils.*;
public class CampaignManager {
private var _config:Configuration;
private var _domainHash:Number;
private var _debug:DebugConfiguration;
private var _timeStamp:Number;
private var _referrer:String;
private var _buffer:Buffer;
public static const trackingDelimiter:String = "|";
public function CampaignManager(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Buffer, _arg4:Number, _arg5:String, _arg6:Number){
_config = _arg1;
_debug = _arg2;
_buffer = _arg3;
_domainHash = _arg4;
_referrer = _arg5;
_timeStamp = _arg6;
}
public function hasNoOverride(_arg1:String):Boolean{
var _local2:CampaignKey;
var _local3:Variables;
var _local4:String;
_local2 = _config.campaignKey;
if (_arg1 == ""){
return (false);
};
_local3 = new Variables(_arg1);
_local4 = "";
if (_local3.hasOwnProperty(_local2.UCNO)){
_local4 = _local3[_local2.UCNO];
switch (_local4){
case "1":
return (true);
case "":
case "0":
default:
return (false);
};
};
return (false);
}
public function getCampaignInformation(_arg1:String, _arg2:Boolean):CampaignInfo{
var _local3:CampaignInfo;
var _local4:CampaignTracker;
var _local5:Boolean;
var _local6:Boolean;
var _local7:int;
var _local8:CampaignTracker;
var _local9:int;
_local3 = new CampaignInfo();
_local5 = false;
_local6 = false;
_local7 = 0;
if (((_config.allowLinker) && (_buffer.isGenuine()))){
if (!_buffer.hasUTMZ()){
return (_local3);
};
};
_local4 = getTrackerFromSearchString(_arg1);
if (isValid(_local4)){
_local6 = hasNoOverride(_arg1);
if (((_local6) && (!(_buffer.hasUTMZ())))){
return (_local3);
};
};
if (!isValid(_local4)){
_local4 = getOrganicCampaign();
if (((!(_buffer.hasUTMZ())) && (isIgnoredKeyword(_local4)))){
return (_local3);
};
};
if (((!(isValid(_local4))) && (_arg2))){
_local4 = getReferrerCampaign();
if (((!(_buffer.hasUTMZ())) && (isIgnoredReferral(_local4)))){
return (_local3);
};
};
if (!isValid(_local4)){
if (((!(_buffer.hasUTMZ())) && (_arg2))){
_local4 = getDirectCampaign();
};
};
if (!isValid(_local4)){
return (_local3);
};
if (((_buffer.hasUTMZ()) && (!(_buffer.utmz.isEmpty())))){
_local8 = new CampaignTracker();
_local8.fromTrackerString(_buffer.utmz.campaignTracking);
_local5 = (_local8.toTrackerString() == _local4.toTrackerString());
_local7 = _buffer.utmz.responseCount;
};
if (((!(_local5)) || (_arg2))){
_local9 = _buffer.utma.sessionCount;
_local7++;
if (_local9 == 0){
_local9 = 1;
};
_buffer.utmz.domainHash = _domainHash;
_buffer.utmz.campaignCreation = _timeStamp;
_buffer.utmz.campaignSessions = _local9;
_buffer.utmz.responseCount = _local7;
_buffer.utmz.campaignTracking = _local4.toTrackerString();
_debug.info(_buffer.utmz.toString(), VisualDebugMode.geek);
_local3 = new CampaignInfo(false, true);
} else {
_local3 = new CampaignInfo(false, false);
};
return (_local3);
}
public function isValid(_arg1:CampaignTracker):Boolean{
if (((_arg1) && (_arg1.isValid()))){
return (true);
};
return (false);
}
public function getTrackerFromSearchString(_arg1:String):CampaignTracker{
var _local2:CampaignTracker;
var _local3:CampaignTracker;
var _local4:CampaignKey;
var _local5:Variables;
_local2 = getOrganicCampaign();
_local3 = new CampaignTracker();
_local4 = _config.campaignKey;
if (_arg1 == ""){
return (_local3);
};
_local5 = new Variables(_arg1);
if (_local5.hasOwnProperty(_local4.UCID)){
_local3.id = _local5[_local4.UCID];
};
if (_local5.hasOwnProperty(_local4.UCSR)){
_local3.source = _local5[_local4.UCSR];
};
if (_local5.hasOwnProperty(_local4.UGCLID)){
_local3.clickId = _local5[_local4.UGCLID];
};
if (_local5.hasOwnProperty(_local4.UCCN)){
_local3.name = _local5[_local4.UCCN];
} else {
_local3.name = "(not set)";
};
if (_local5.hasOwnProperty(_local4.UCMD)){
_local3.medium = _local5[_local4.UCMD];
} else {
_local3.medium = "(not set)";
};
if (_local5.hasOwnProperty(_local4.UCTR)){
_local3.term = _local5[_local4.UCTR];
} else {
if (((_local2) && (!((_local2.term == ""))))){
_local3.term = _local2.term;
};
};
if (_local5.hasOwnProperty(_local4.UCCT)){
_local3.content = _local5[_local4.UCCT];
};
return (_local3);
}
public function getOrganicCampaign():CampaignTracker{
var _local1:CampaignTracker;
var _local2:URL;
var _local3:String;
var _local4:Array;
var _local5:OrganicReferrer;
var _local6:String;
if (((isInvalidReferrer(_referrer)) || (isFromGoogleCSE(_referrer, _config)))){
return (_local1);
};
_local2 = new URL(_referrer);
_local3 = "";
if (_local2.hostName != ""){
if (_local2.hostName.indexOf(".") > -1){
_local4 = _local2.hostName.split(".");
switch (_local4.length){
case 2:
_local3 = _local4[0];
break;
case 3:
_local3 = _local4[1];
break;
};
};
};
if (_config.organic.match(_local3)){
_local5 = _config.organic.getReferrerByName(_local3);
_local6 = _config.organic.getKeywordValue(_local5, _local2.search);
_local1 = new CampaignTracker();
_local1.source = _local5.engine;
_local1.name = "(organic)";
_local1.medium = "organic";
_local1.term = _local6;
};
return (_local1);
}
public function isIgnoredReferral(_arg1:CampaignTracker):Boolean{
if (((_arg1) && ((_arg1.medium == "referral")))){
return (_config.organic.isIgnoredReferral(_arg1.source));
};
return (false);
}
public function getDirectCampaign():CampaignTracker{
var _local1:CampaignTracker;
_local1 = new CampaignTracker();
_local1.source = "(direct)";
_local1.name = "(direct)";
_local1.medium = "(none)";
return (_local1);
}
public function isIgnoredKeyword(_arg1:CampaignTracker):Boolean{
if (((_arg1) && ((_arg1.medium == "organic")))){
return (_config.organic.isIgnoredKeyword(_arg1.term));
};
return (false);
}
public function getReferrerCampaign():CampaignTracker{
var _local1:CampaignTracker;
var _local2:URL;
var _local3:String;
var _local4:String;
if (((isInvalidReferrer(_referrer)) || (isFromGoogleCSE(_referrer, _config)))){
return (_local1);
};
_local2 = new URL(_referrer);
_local3 = _local2.hostName;
_local4 = _local2.path;
if (_local3.indexOf("www.") == 0){
_local3 = _local3.substr(4);
};
_local1 = new CampaignTracker();
_local1.source = _local3;
_local1.name = "(referral)";
_local1.medium = "referral";
_local1.content = _local4;
return (_local1);
}
public static function isInvalidReferrer(_arg1:String):Boolean{
var _local2:URL;
if ((((((_arg1 == "")) || ((_arg1 == "-")))) || ((_arg1 == "0")))){
return (true);
};
if (_arg1.indexOf("://") > -1){
_local2 = new URL(_arg1);
if ((((_local2.protocol == Protocols.file)) || ((_local2.protocol == Protocols.none)))){
return (true);
};
};
return (false);
}
public static function isFromGoogleCSE(_arg1:String, _arg2:Configuration):Boolean{
var _local3:URL;
_local3 = new URL(_arg1);
if (_local3.hostName.indexOf(_arg2.google) > -1){
if (_local3.search.indexOf((_arg2.googleSearchParam + "=")) > -1){
if (_local3.path == ("/" + _arg2.googleCsePath)){
return (true);
};
};
};
return (false);
}
}
}//package com.google.analytics.campaign
Section 4
//CampaignTracker (com.google.analytics.campaign.CampaignTracker)
package com.google.analytics.campaign {
import com.google.analytics.utils.*;
public class CampaignTracker {
public var content:String;
public var source:String;
public var clickId:String;
public var name:String;
public var term:String;
public var medium:String;
public var id:String;
public function CampaignTracker(id:String="", source:String="", clickId:String="", name:String="", medium:String="", term:String="", content:String=""){
super();
this.id = id;
this.source = source;
this.clickId = clickId;
this.name = name;
this.medium = medium;
this.term = term;
this.content = content;
}
public function isValid():Boolean{
if (((((!((id == ""))) || (!((source == ""))))) || (!((clickId == ""))))){
return (true);
};
return (false);
}
public function toTrackerString():String{
var data:Array = [];
_addIfNotEmpty(data, "utmcsr=", source);
_addIfNotEmpty(data, "utmccn=", name);
_addIfNotEmpty(data, "utmcmd=", medium);
_addIfNotEmpty(data, "utmctr=", term);
_addIfNotEmpty(data, "utmcct=", content);
_addIfNotEmpty(data, "utmcid=", id);
_addIfNotEmpty(data, "utmgclid=", clickId);
return (data.join(CampaignManager.trackingDelimiter));
}
private function _addIfNotEmpty(arr:Array, field:String, value:String):void{
if (value != ""){
value = value.split("+").join("%20");
value = value.split(" ").join("%20");
arr.push((field + value));
};
}
public function fromTrackerString(tracker:String):void{
var data:String = tracker.split(CampaignManager.trackingDelimiter).join("&");
var vars:Variables = new Variables(data);
if (vars.hasOwnProperty("utmcid")){
this.id = vars["utmcid"];
};
if (vars.hasOwnProperty("utmcsr")){
this.source = vars["utmcsr"];
};
if (vars.hasOwnProperty("utmccn")){
this.name = vars["utmccn"];
};
if (vars.hasOwnProperty("utmcmd")){
this.medium = vars["utmcmd"];
};
if (vars.hasOwnProperty("utmctr")){
this.term = vars["utmctr"];
};
if (vars.hasOwnProperty("utmcct")){
this.content = vars["utmcct"];
};
if (vars.hasOwnProperty("utmgclid")){
this.clickId = vars["utmgclid"];
};
}
}
}//package com.google.analytics.campaign
Section 5
//FlashTracker (com.google.analytics.components.FlashTracker)
package com.google.analytics.components {
import flash.display.*;
import flash.events.*;
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import com.google.analytics.core.*;
import flash.utils.*;
import com.google.analytics.*;
import com.google.analytics.external.*;
import com.google.analytics.utils.*;
import com.google.analytics.events.*;
public class FlashTracker extends Sprite implements AnalyticsTracker {
private var _adSense:AdSenseGlobals;
private var _env:Environment;
protected var _height:Number;// = 18
private var _idleTimer:IdleTimer;
private var _config:Configuration;
private var _mode:String;// = "AS3"
private var _dom:HTMLDOM;
private var _ready:Boolean;// = false
protected var _width:Number;// = 18
private var _account:String;// = ""
protected var _componentInspectorSetting:Boolean;
private var _visualDebug:Boolean;// = false
public var boundingBox_mc:DisplayObject;
private var _debug:DebugConfiguration;
private var _buffer:Buffer;
private var _display:DisplayObject;
protected var livePreviewHeight:Number;
private var _jsproxy:JavascriptProxy;
protected var isLivePreview:Boolean;
protected var preview:MovieClip;
private var _gifRequest:GIFRequest;
protected var livePreviewWidth:Number;
private var _tracker:GoogleAnalyticsAPI;
public static var version:Version = API.version;
public function FlashTracker(){
_ready = false;
_account = "";
_mode = TrackerMode.AS3;
_visualDebug = false;
_width = 18;
_height = 18;
super();
_tracker = new TrackerCache();
isLivePreview = _checkLivePreview();
_componentInspectorSetting = false;
if (boundingBox_mc){
boundingBox_mc.visible = false;
removeChild(boundingBox_mc);
boundingBox_mc = null;
};
if (isLivePreview){
_createLivePreview();
};
addEventListener(Event.ENTER_FRAME, _factory);
}
public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{
return (_tracker.trackEvent(_arg1, _arg2, _arg3, _arg4));
}
public function trackTrans():void{
_tracker.trackTrans();
}
private function _createLivePreview():void{
var _local1:Graphics;
var _local2:Class;
preview = new MovieClip();
_local1 = preview.graphics;
_local1.beginFill(0xFFFFFF);
_local1.moveTo(0, 0);
_local1.lineTo(0, _width);
_local1.lineTo(_width, _height);
_local1.lineTo(_height, 0);
_local1.lineTo(0, 0);
_local1.endFill();
_local2 = (getDefinitionByName("com.google.analytics.components::Icon") as Class);
preview.icon_mc = new (_local2);
preview.icon_mc.name = "icon_mc";
preview.addChild(preview.icon_mc);
addChild(preview);
}
public function trackPageview(_arg1:String=""):void{
_tracker.trackPageview(_arg1);
}
public function get account():String{
return (_account);
}
public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{
_tracker.linkByPost(_arg1, _arg2);
}
public function getDetectTitle():Boolean{
return (_tracker.getDetectTitle());
}
public function setCampNameKey(_arg1:String):void{
_tracker.setCampNameKey(_arg1);
}
public function resetSession():void{
_tracker.resetSession();
}
public function set account(_arg1:String):void{
_account = _arg1;
}
public function get debug():DebugConfiguration{
if (!_debug){
_createDebugAndConfig();
};
return (_debug);
}
public function createEventTracker(_arg1:String):EventTracker{
return (_tracker.createEventTracker(_arg1));
}
public function set config(_arg1:Configuration):void{
_config = _arg1;
}
public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{
return (_tracker.addTrans(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8));
}
public function setLocalServerMode():void{
_tracker.setLocalServerMode();
}
public function getLocalGifPath():String{
return (_tracker.getLocalGifPath());
}
public function clearIgnoredRef():void{
_tracker.clearIgnoredRef();
}
public function isReady():Boolean{
return (_ready);
}
public function set debug(_arg1:DebugConfiguration):void{
_debug = _arg1;
}
public function getVersion():String{
return (_tracker.getVersion());
}
public function setLocalRemoteServerMode():void{
_tracker.setLocalRemoteServerMode();
}
public function setCampNOKey(_arg1:String):void{
_tracker.setCampNOKey(_arg1);
}
public function addIgnoredOrganic(_arg1:String):void{
_tracker.addIgnoredOrganic(_arg1);
}
public function setCookiePath(_arg1:String):void{
_tracker.setCookiePath(_arg1);
}
public function setCampTermKey(_arg1:String):void{
_tracker.setCampTermKey(_arg1);
}
private function _trackerFactory():GoogleAnalyticsAPI{
debug.info(((("GATracker (AS3) v" + version) + "\naccount: ") + account));
_adSense = new AdSenseGlobals(debug);
_dom = new HTMLDOM(debug);
_dom.cacheProperties();
_env = new Environment("", "", "", debug, _dom);
_buffer = new Buffer(config, debug, false);
_gifRequest = new GIFRequest(config, debug, _buffer, _env);
_idleTimer = new IdleTimer(config, debug, _display, _buffer);
_env.url = _display.stage.loaderInfo.url;
return (new Tracker(account, config, debug, _env, _buffer, _gifRequest, _adSense));
}
public function setCampaignTrack(_arg1:Boolean):void{
_tracker.setCampaignTrack(_arg1);
}
public function getServiceMode():ServerOperationMode{
return (_tracker.getServiceMode());
}
public function set componentInspectorSetting(_arg1:Boolean):void{
_componentInspectorSetting = _arg1;
}
public function setSessionTimeout(_arg1:int):void{
_tracker.setSessionTimeout(_arg1);
}
public function setRemoteServerMode():void{
_tracker.setRemoteServerMode();
}
public function get visualDebug():Boolean{
return (_visualDebug);
}
public function addOrganic(_arg1:String, _arg2:String):void{
_tracker.addOrganic(_arg1, _arg2);
}
public function setCookieTimeout(_arg1:int):void{
_tracker.setCookieTimeout(_arg1);
}
public function getClientInfo():Boolean{
return (_tracker.getClientInfo());
}
public function setAllowLinker(_arg1:Boolean):void{
_tracker.setAllowLinker(_arg1);
}
public function setClientInfo(_arg1:Boolean):void{
_tracker.setClientInfo(_arg1);
}
private function _bridgeFactory():GoogleAnalyticsAPI{
debug.info(((("GATracker (Bridge) v" + version) + "\naccount: ") + account));
return (new Bridge(account, _debug, _jsproxy));
}
public function get config():Configuration{
if (!_config){
_createDebugAndConfig();
};
return (_config);
}
public function set mode(_arg1:String):void{
_mode = _arg1;
}
public function setDetectFlash(_arg1:Boolean):void{
_tracker.setDetectFlash(_arg1);
}
public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{
_tracker.addItem(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
public function setVar(_arg1:String):void{
_tracker.setVar(_arg1);
}
public function clearIgnoredOrganic():void{
_tracker.clearIgnoredOrganic();
}
public function setDomainName(_arg1:String):void{
_tracker.setDomainName(_arg1);
}
private function _checkLivePreview():Boolean{
if (((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")))){
return (true);
};
return (false);
}
public function setCampSourceKey(_arg1:String):void{
_tracker.setCampSourceKey(_arg1);
}
public function setCampContentKey(_arg1:String):void{
_tracker.setCampContentKey(_arg1);
}
public function setSize(_arg1:Number, _arg2:Number):void{
}
public function setAllowAnchor(_arg1:Boolean):void{
_tracker.setAllowAnchor(_arg1);
}
public function setLocalGifPath(_arg1:String):void{
_tracker.setLocalGifPath(_arg1);
}
public function get mode():String{
return (_mode);
}
public function setSampleRate(_arg1:Number):void{
_tracker.setSampleRate(_arg1);
}
public function setAllowHash(_arg1:Boolean):void{
_tracker.setAllowHash(_arg1);
}
public function setDetectTitle(_arg1:Boolean):void{
_tracker.setDetectTitle(_arg1);
}
public function cookiePathCopy(_arg1:String):void{
_tracker.cookiePathCopy(_arg1);
}
private function _factory(_arg1:Event):void{
var _local2:GoogleAnalyticsAPI;
var _local3:TrackerCache;
removeEventListener(Event.ENTER_FRAME, _factory);
if (isLivePreview){
return;
};
_display = this;
_createDebugAndConfig();
if (visualDebug){
debug.layout = new Layout(debug, _display);
debug.active = visualDebug;
};
_jsproxy = new JavascriptProxy(debug);
_local3 = (_tracker as TrackerCache);
switch (mode){
case TrackerMode.BRIDGE:
_local2 = _bridgeFactory();
break;
case TrackerMode.AS3:
default:
_local2 = _trackerFactory();
};
if (!_local3.isEmpty()){
_local3.tracker = _local2;
_local3.flush();
};
_tracker = _local2;
_ready = true;
dispatchEvent(new AnalyticsEvent(AnalyticsEvent.READY, this));
}
public function getDetectFlash():Boolean{
return (_tracker.getDetectFlash());
}
public function clearOrganic():void{
_tracker.clearOrganic();
}
private function _createDebugAndConfig():void{
if (!_debug){
this.debug = new DebugConfiguration();
};
if (!_config){
this.config = new Configuration(debug);
};
}
public function addIgnoredRef(_arg1:String):void{
_tracker.addIgnoredRef(_arg1);
}
public function set visualDebug(_arg1:Boolean):void{
_visualDebug = _arg1;
}
public function setCampMediumKey(_arg1:String):void{
_tracker.setCampMediumKey(_arg1);
}
public function getAccount():String{
return (_tracker.getAccount());
}
public function link(_arg1:String, _arg2:Boolean=false):void{
_tracker.link(_arg1, _arg2);
}
}
var _local1:* = ServerOperationMode;
return (_local1);
}//package com.google.analytics.components
Section 6
//GATrackerLibrary (com.google.analytics.components.GATrackerLibrary)
package com.google.analytics.components {
import flash.display.*;
import com.google.analytics.*;
import com.google.analytics.utils.*;
public class GATrackerLibrary extends MovieClip {
public static var version:Version = API.version;
public function GATrackerLibrary(){
super();
}
}
}//package com.google.analytics.components
Section 7
//Icon (com.google.analytics.components.Icon)
package com.google.analytics.components {
import flash.display.*;
public dynamic class Icon extends MovieClip {
}
}//package com.google.analytics.components
Section 8
//BrowserInfo (com.google.analytics.core.BrowserInfo)
package com.google.analytics.core {
import com.google.analytics.v4.*;
import com.google.analytics.utils.*;
public class BrowserInfo {
private var _config:Configuration;
private var _info:Environment;
public function BrowserInfo(_arg1:Configuration, _arg2:Environment){
_config = _arg1;
_info = _arg2;
}
public function get utmul():String{
return (_info.language.toLowerCase());
}
public function get utmje():String{
return ("0");
}
public function toURLString():String{
var _local1:Variables;
_local1 = toVariables();
return (_local1.toString());
}
public function get utmsr():String{
return (((_info.screenWidth + "x") + _info.screenHeight));
}
public function get utmcs():String{
return (_info.languageEncoding);
}
public function get utmfl():String{
var _local1:Version;
if (_config.detectFlash){
_local1 = _info.flashVersion;
return (((((_local1.major + ".") + _local1.minor) + " r") + _local1.build));
};
return ("-");
}
public function toVariables():Variables{
var _local1:Variables;
_local1 = new Variables();
_local1.URIencode = true;
_local1.utmcs = utmcs;
_local1.utmsr = utmsr;
_local1.utmsc = utmsc;
_local1.utmul = utmul;
_local1.utmje = utmje;
_local1.utmfl = utmfl;
return (_local1);
}
public function get utmsc():String{
return ((_info.screenColorDepth + "-bit"));
}
}
}//package com.google.analytics.core
Section 9
//Buffer (com.google.analytics.core.Buffer)
package com.google.analytics.core {
import flash.events.*;
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import flash.net.*;
import com.google.analytics.data.*;
public dynamic class Buffer {
private var _SO:SharedObject;
private var _OBJ:Object;
private var _utma:UTMA;
private var _utmb:UTMB;
private var _utmc:UTMC;
private var _debug:DebugConfiguration;
private var _utmk:UTMK;
private var _config:Configuration;
private var _utmv:UTMV;
private var _utmz:UTMZ;
private var _volatile:Boolean;
public function Buffer(config:Configuration, debug:DebugConfiguration, volatile:Boolean=false, data:Object=null){
var saveSO:Boolean;
var prop:String;
super();
_config = config;
_debug = debug;
UTMB.defaultTimespan = _config.sessionTimeout;
UTMZ.defaultTimespan = _config.conversionTimeout;
if (!volatile){
_SO = SharedObject.getLocal(_config.cookieName, _config.cookiePath);
saveSO = false;
if (_SO.data.utma){
if (!hasUTMA()){
_createUMTA();
};
_utma.fromSharedObject(_SO.data.utma);
if (_debug.verbose){
_debug.info(("found: " + _utma.toString(true)), VisualDebugMode.geek);
};
if (_utma.isExpired()){
if (_debug.verbose){
_debug.warning("UTMA has expired", VisualDebugMode.advanced);
};
_clearUTMA();
saveSO = true;
};
};
if (_SO.data.utmb){
if (!hasUTMB()){
_createUMTB();
};
_utmb.fromSharedObject(_SO.data.utmb);
if (_debug.verbose){
_debug.info(("found: " + _utmb.toString(true)), VisualDebugMode.geek);
};
if (_utmb.isExpired()){
if (_debug.verbose){
_debug.warning("UTMB has expired", VisualDebugMode.advanced);
};
_clearUTMB();
saveSO = true;
};
};
if (_SO.data.utmc){
delete _SO.data.utmc;
saveSO = true;
};
if (_SO.data.utmk){
if (!hasUTMK()){
_createUMTK();
};
_utmk.fromSharedObject(_SO.data.utmk);
if (_debug.verbose){
_debug.info(("found: " + _utmk.toString()), VisualDebugMode.geek);
};
};
if (_SO.data.utmv){
if (!hasUTMV()){
_createUMTV();
};
_utmv.fromSharedObject(_SO.data.utmv);
if (_debug.verbose){
_debug.info(("found: " + _utmv.toString(true)), VisualDebugMode.geek);
};
if (_utmv.isExpired()){
if (_debug.verbose){
_debug.warning("UTMV has expired", VisualDebugMode.advanced);
};
_clearUTMV();
saveSO = true;
};
};
if (_SO.data.utmz){
if (!hasUTMZ()){
_createUMTZ();
};
_utmz.fromSharedObject(_SO.data.utmz);
if (_debug.verbose){
_debug.info(("found: " + _utmz.toString(true)), VisualDebugMode.geek);
};
if (_utmz.isExpired()){
if (_debug.verbose){
_debug.warning("UTMZ has expired", VisualDebugMode.advanced);
};
_clearUTMZ();
saveSO = true;
};
};
if (saveSO){
save();
};
} else {
_OBJ = new Object();
if (data){
for (prop in data) {
_OBJ[prop] = data[prop];
};
};
};
_volatile = volatile;
}
public function clearCookies():void{
utma.reset();
utmb.reset();
utmc.reset();
utmz.reset();
utmv.reset();
utmk.reset();
}
public function save():void{
var flushStatus:String;
if (!isVolatile()){
flushStatus = null;
flushStatus = _SO.flush();
//unresolved jump
var _slot1 = e;
_debug.warning("Error...Could not write SharedObject to disk");
switch (flushStatus){
case SharedObjectFlushStatus.PENDING:
_debug.info("Requesting permission to save object...");
_SO.addEventListener(NetStatusEvent.NET_STATUS, _onFlushStatus);
break;
case SharedObjectFlushStatus.FLUSHED:
_debug.info("Value flushed to disk.");
break;
};
};
}
public function get utmv():UTMV{
if (!hasUTMV()){
_createUMTV();
};
return (_utmv);
}
public function get utmz():UTMZ{
if (!hasUTMZ()){
_createUMTZ();
};
return (_utmz);
}
public function hasUTMA():Boolean{
if (_utma){
return (true);
};
return (false);
}
public function hasUTMB():Boolean{
if (_utmb){
return (true);
};
return (false);
}
public function hasUTMC():Boolean{
if (_utmc){
return (true);
};
return (false);
}
public function isGenuine():Boolean{
if (!hasUTMK()){
return (true);
};
return ((utmk.hash == generateCookiesHash()));
}
public function resetCurrentSession():void{
_clearUTMB();
_clearUTMC();
save();
}
public function hasUTMK():Boolean{
if (_utmk){
return (true);
};
return (false);
}
public function generateCookiesHash():Number{
var value:String = "";
value = (value + utma.valueOf());
value = (value + utmb.valueOf());
value = (value + utmc.valueOf());
value = (value + utmz.valueOf());
value = (value + utmv.valueOf());
return (Utils.generateHash(value));
}
private function _createUMTB():void{
_utmb = new UTMB();
_utmb.proxy = this;
}
private function _createUMTC():void{
_utmc = new UTMC();
}
private function _createUMTA():void{
_utma = new UTMA();
_utma.proxy = this;
}
public function hasUTMV():Boolean{
if (_utmv){
return (true);
};
return (false);
}
private function _createUMTK():void{
_utmk = new UTMK();
_utmk.proxy = this;
}
public function hasUTMZ():Boolean{
if (_utmz){
return (true);
};
return (false);
}
private function _createUMTV():void{
_utmv = new UTMV();
_utmv.proxy = this;
}
private function _onFlushStatus(event:NetStatusEvent):void{
_debug.info("User closed permission dialog...");
switch (event.info.code){
case "SharedObject.Flush.Success":
_debug.info("User granted permission -- value saved.");
break;
case "SharedObject.Flush.Failed":
_debug.info("User denied permission -- value not saved.");
break;
};
_SO.removeEventListener(NetStatusEvent.NET_STATUS, _onFlushStatus);
}
private function _createUMTZ():void{
_utmz = new UTMZ();
_utmz.proxy = this;
}
public function updateUTMA(timestamp:Number):void{
if (_debug.verbose){
_debug.info((("updateUTMA( " + timestamp) + " )"), VisualDebugMode.advanced);
};
if (!utma.isEmpty()){
if (isNaN(utma.sessionCount)){
utma.sessionCount = 1;
} else {
utma.sessionCount = (utma.sessionCount + 1);
};
utma.lastTime = utma.currentTime;
utma.currentTime = timestamp;
};
}
private function _clearUTMA():void{
_utma = null;
if (!isVolatile()){
_SO.data.utma = null;
delete _SO.data.utma;
};
}
private function _clearUTMC():void{
_utmc = null;
}
private function _clearUTMB():void{
_utmb = null;
if (!isVolatile()){
_SO.data.utmb = null;
delete _SO.data.utmb;
};
}
public function update(name:String, value):void{
if (isVolatile()){
_OBJ[name] = value;
} else {
_SO.data[name] = value;
};
}
private function _clearUTMZ():void{
_utmz = null;
if (!isVolatile()){
_SO.data.utmz = null;
delete _SO.data.utmz;
};
}
private function _clearUTMV():void{
_utmv = null;
if (!isVolatile()){
_SO.data.utmv = null;
delete _SO.data.utmv;
};
}
public function isVolatile():Boolean{
return (_volatile);
}
public function get utma():UTMA{
if (!hasUTMA()){
_createUMTA();
};
return (_utma);
}
public function get utmb():UTMB{
if (!hasUTMB()){
_createUMTB();
};
return (_utmb);
}
public function get utmc():UTMC{
if (!hasUTMC()){
_createUMTC();
};
return (_utmc);
}
public function get utmk():UTMK{
if (!hasUTMK()){
_createUMTK();
};
return (_utmk);
}
}
}//package com.google.analytics.core
Section 10
//DocumentInfo (com.google.analytics.core.DocumentInfo)
package com.google.analytics.core {
import com.google.analytics.v4.*;
import com.google.analytics.external.*;
import com.google.analytics.utils.*;
public class DocumentInfo {
private var _config:Configuration;
private var _utmr:String;
private var _adSense:AdSenseGlobals;
private var _info:Environment;
private var _pageURL:String;
public function DocumentInfo(_arg1:Configuration, _arg2:Environment, _arg3:String, _arg4:String=null, _arg5:AdSenseGlobals=null){
_config = _arg1;
_info = _arg2;
_utmr = _arg3;
_pageURL = _arg4;
_adSense = _arg5;
}
public function get utmr():String{
if (!_utmr){
return ("-");
};
return (_utmr);
}
public function toURLString():String{
var _local1:Variables;
_local1 = toVariables();
return (_local1.toString());
}
private function _renderPageURL(_arg1:String=""):String{
var _local2:String;
var _local3:String;
_local2 = _info.locationPath;
_local3 = _info.locationSearch;
if (((!(_arg1)) || ((_arg1 == "")))){
_arg1 = (_local2 + unescape(_local3));
};
return (_arg1);
}
public function get utmp():String{
return (_renderPageURL(_pageURL));
}
private function _generateHitId():Number{
var _local1:Number;
if (((_adSense.hid) && (!((_adSense.hid == ""))))){
_local1 = Number(_adSense.hid);
} else {
_local1 = Math.round((Math.random() * 2147483647));
_adSense.hid = String(_local1);
};
return (_local1);
}
public function get utmhid():String{
return (String(_generateHitId()));
}
public function toVariables():Variables{
var _local1:Variables;
_local1 = new Variables();
_local1.URIencode = true;
if (((_config.detectTitle) && (!((utmdt == ""))))){
_local1.utmdt = utmdt;
};
_local1.utmhid = utmhid;
_local1.utmr = utmr;
_local1.utmp = utmp;
return (_local1);
}
public function get utmdt():String{
return (_info.documentTitle);
}
}
}//package com.google.analytics.core
Section 11
//Domain (com.google.analytics.core.Domain)
package com.google.analytics.core {
import com.google.analytics.debug.*;
public class Domain {
private var _mode:DomainNameMode;
private var _debug:DebugConfiguration;
private var _name:String;
public function Domain(mode:DomainNameMode=null, name:String="", debug:DebugConfiguration=null){
super();
_debug = debug;
if (mode == null){
mode = DomainNameMode.auto;
};
_mode = mode;
if (mode == DomainNameMode.custom){
this.name = name;
} else {
_name = name;
};
}
public function get mode():DomainNameMode{
return (_mode);
}
public function set mode(value:DomainNameMode):void{
_mode = value;
if (_mode == DomainNameMode.none){
_name = "";
};
}
public function get name():String{
return (_name);
}
public function set name(value:String):void{
if (((!((value.charAt(0) == "."))) && (_debug))){
_debug.warning(("missing leading period \".\", cookie will only be accessible on " + value), VisualDebugMode.geek);
};
_name = value;
}
}
}//package com.google.analytics.core
Section 12
//DomainNameMode (com.google.analytics.core.DomainNameMode)
package com.google.analytics.core {
public class DomainNameMode {
private var _value:int;
private var _name:String;
public static const custom:DomainNameMode = new DomainNameMode(2, "custom");
;
public static const none:DomainNameMode = new DomainNameMode(0, "none");
;
public static const auto:DomainNameMode = new DomainNameMode(1, "auto");
;
public function DomainNameMode(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.core
Section 13
//EventInfo (com.google.analytics.core.EventInfo)
package com.google.analytics.core {
import com.google.analytics.utils.*;
import com.google.analytics.data.*;
public class EventInfo {
private var _isEventHit:Boolean;
private var _ext10:X10;
private var _x10:X10;
public function EventInfo(_arg1:Boolean, _arg2:X10, _arg3:X10=null){
_isEventHit = _arg1;
_x10 = _arg2;
_ext10 = _arg3;
}
public function toURLString():String{
var _local1:Variables;
_local1 = toVariables();
return (_local1.toString());
}
public function get utmt():String{
return ("event");
}
public function get utme():String{
return (_x10.renderMergedUrlString(_ext10));
}
public function toVariables():Variables{
var _local1:Variables;
_local1 = new Variables();
_local1.URIencode = true;
if (_isEventHit){
_local1.utmt = utmt;
};
_local1.utme = utme;
return (_local1);
}
}
}//package com.google.analytics.core
Section 14
//EventTracker (com.google.analytics.core.EventTracker)
package com.google.analytics.core {
import com.google.analytics.v4.*;
public class EventTracker {
private var _parent:GoogleAnalyticsAPI;
public var name:String;
public function EventTracker(_arg1:String, _arg2:GoogleAnalyticsAPI){
this.name = _arg1;
_parent = _arg2;
}
public function trackEvent(_arg1:String, _arg2:String=null, _arg3:Number=NaN):Boolean{
return (_parent.trackEvent(name, _arg1, _arg2, _arg3));
}
}
}//package com.google.analytics.core
Section 15
//ga_internal (com.google.analytics.core.ga_internal)
package com.google.analytics.core {
public namespace ga_internal;
}//package com.google.analytics.core
Section 16
//GIFRequest (com.google.analytics.core.GIFRequest)
package com.google.analytics.core {
import flash.events.*;
import flash.display.*;
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import flash.net.*;
import com.google.analytics.utils.*;
import flash.system.*;
public class GIFRequest {
private var _info:Environment;
private var _count:int;
private var _utmac:String;
private var _alertcount:int;
private var _debug:DebugConfiguration;
private var _lastRequest:URLRequest;
private var _buffer:Buffer;
private var _config:Configuration;
private var _requests:Array;
public function GIFRequest(config:Configuration, debug:DebugConfiguration, buffer:Buffer, info:Environment){
super();
_config = config;
_debug = debug;
_buffer = buffer;
_info = info;
_count = 0;
_alertcount = 0;
_requests = [];
}
public function get utmn():String{
return ((Utils.generate32bitRandom() as String));
}
public function onIOError(event:IOErrorEvent):void{
var url:String = _lastRequest.url;
var id:String = String((_requests.length - 1));
var msg = (("Gif Request #" + id) + " failed");
if (_debug.GIFRequests){
if (!_debug.verbose){
if (url.indexOf("?") > -1){
url = url.split("?")[0];
};
url = _shortenURL(url);
};
if (int(_debug.mode) > int(VisualDebugMode.basic)){
msg = (msg + ((" \"" + url) + "\" does not exists or is unreachable"));
};
_debug.failure(msg);
} else {
_debug.warning(msg);
};
_removeListeners(event.target);
}
public function send(account:String, variables:Variables=null, force:Boolean=false, rateLimit:Boolean=false):void{
var localPath:String;
var localImage:URLRequest;
var remoteImage:URLRequest;
_utmac = account;
if (!variables){
variables = new Variables();
};
variables.URIencode = false;
variables.pre = ["utmwv", "utmn", "utmhn", "utmt", "utme", "utmcs", "utmsr", "utmsc", "utmul", "utmje", "utmfl", "utmdt", "utmhid", "utmr", "utmp"];
variables.post = ["utmcc"];
if (_debug.verbose){
_debug.info(((("tracking: " + _buffer.utmb.trackCount) + "/") + _config.trackingLimitPerSession), VisualDebugMode.geek);
};
if ((((_buffer.utmb.trackCount < _config.trackingLimitPerSession)) || (force))){
if (rateLimit){
updateToken();
};
if (((((force) || (!(rateLimit)))) || ((_buffer.utmb.token >= 1)))){
if (((!(force)) && (rateLimit))){
_buffer.utmb.token = (_buffer.utmb.token - 1);
};
_buffer.utmb.trackCount = (_buffer.utmb.trackCount + 1);
if (_debug.verbose){
_debug.info(_buffer.utmb.toString(), VisualDebugMode.geek);
};
variables.utmwv = utmwv;
variables.utmn = Utils.generate32bitRandom();
if (_info.domainName != ""){
variables.utmhn = _info.domainName;
};
if (_config.sampleRate < 1){
variables.utmsp = (_config.sampleRate * 100);
};
if ((((_config.serverMode == ServerOperationMode.local)) || ((_config.serverMode == ServerOperationMode.both)))){
localPath = _info.locationSWFPath;
if (localPath.lastIndexOf("/") > 0){
localPath = localPath.substring(0, localPath.lastIndexOf("/"));
};
localImage = new URLRequest();
if (_config.localGIFpath.indexOf("http") == 0){
localImage.url = _config.localGIFpath;
} else {
localImage.url = (localPath + _config.localGIFpath);
};
localImage.url = (localImage.url + ("?" + variables.toString()));
if (((_debug.active) && (_debug.GIFRequests))){
_debugSend(localImage);
} else {
sendRequest(localImage);
};
};
if ((((_config.serverMode == ServerOperationMode.remote)) || ((_config.serverMode == ServerOperationMode.both)))){
remoteImage = new URLRequest();
if (_info.protocol == Protocols.HTTPS){
remoteImage.url = _config.secureRemoteGIFpath;
} else {
if (_info.protocol == Protocols.HTTP){
remoteImage.url = _config.remoteGIFpath;
} else {
remoteImage.url = _config.remoteGIFpath;
};
};
variables.utmac = utmac;
variables.utmcc = encodeURIComponent(utmcc);
remoteImage.url = (remoteImage.url + ("?" + variables.toString()));
if (((_debug.active) && (_debug.GIFRequests))){
_debugSend(remoteImage);
} else {
sendRequest(remoteImage);
};
};
};
};
}
public function onSecurityError(event:SecurityErrorEvent):void{
if (_debug.GIFRequests){
_debug.failure(event.text);
};
}
public function get utmsp():String{
return (((_config.sampleRate * 100) as String));
}
public function get utmcc():String{
var cookies:Array = [];
if (_buffer.hasUTMA()){
cookies.push((_buffer.utma.toURLString() + ";"));
};
if (_buffer.hasUTMZ()){
cookies.push((_buffer.utmz.toURLString() + ";"));
};
if (_buffer.hasUTMV()){
cookies.push((_buffer.utmv.toURLString() + ";"));
};
return (cookies.join("+"));
}
public function get utmac():String{
return (_utmac);
}
public function get utmwv():String{
return (_config.version);
}
public function sendRequest(request:URLRequest):void{
var request = request;
var loader:Loader = new Loader();
loader.name = String(_count++);
var context:LoaderContext = new LoaderContext(false);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
_lastRequest = request;
_requests[loader.name] = new RequestObject(request);
loader.load(request, context);
//unresolved jump
var _slot1 = e;
_debug.failure("\"Loader.load()\" could not instanciate Gif Request");
}
private function _removeListeners(target:Object):void{
target.removeEventListener(IOErrorEvent.IO_ERROR, onIOError);
target.removeEventListener(Event.COMPLETE, onComplete);
}
public function updateToken():void{
var tokenDelta:Number;
var timestamp:Number = new Date().getTime();
tokenDelta = ((timestamp - _buffer.utmb.lastTime) * (_config.tokenRate / 1000));
if (_debug.verbose){
_debug.info(("tokenDelta: " + tokenDelta), VisualDebugMode.geek);
};
if (tokenDelta >= 1){
_buffer.utmb.token = Math.min(Math.floor((_buffer.utmb.token + tokenDelta)), _config.bucketCapacity);
_buffer.utmb.lastTime = timestamp;
if (_debug.verbose){
_debug.info(_buffer.utmb.toString(), VisualDebugMode.geek);
};
};
}
public function get utmhn():String{
return (_info.domainName);
}
private function _shortenURL(url:String):String{
var paths:Array;
if (url.length > 60){
paths = url.split("/");
while (url.length > 60) {
paths.shift();
url = ("../" + paths.join("/"));
};
};
return (url);
}
private function _debugSend(request:URLRequest):void{
var _local3:String;
var data:String = "";
switch (_debug.mode){
case VisualDebugMode.geek:
data = ((("Gif Request #" + _alertcount) + ":\n") + request.url);
break;
case VisualDebugMode.advanced:
_local3 = request.url;
if (_local3.indexOf("?") > -1){
_local3 = _local3.split("?")[0];
};
_local3 = _shortenURL(_local3);
data = (((("Send Gif Request #" + _alertcount) + ":\n") + _local3) + " ?");
break;
case VisualDebugMode.basic:
default:
data = (((("Send " + _config.serverMode.toString()) + " Gif Request #") + _alertcount) + " ?");
};
_debug.alertGifRequest(data, request, this);
_alertcount++;
}
public function onComplete(event:Event):void{
var id:String = event.target.loader.name;
_requests[id].complete();
var msg = (("Gif Request #" + id) + " sent");
var url:String = _requests[id].request.url;
if (_debug.GIFRequests){
if (!_debug.verbose){
if (url.indexOf("?") > -1){
url = url.split("?")[0];
};
url = _shortenURL(url);
};
if (int(_debug.mode) > int(VisualDebugMode.basic)){
msg = (msg + ((" to \"" + url) + "\""));
};
_debug.success(msg);
} else {
_debug.info(msg);
};
_removeListeners(event.target);
}
}
}//package com.google.analytics.core
Section 17
//IdleTimer (com.google.analytics.core.IdleTimer)
package com.google.analytics.core {
import flash.events.*;
import flash.display.*;
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import flash.utils.*;
public class IdleTimer {
private var _loop:Timer;
private var _stage:Stage;
private var _lastMove:int;
private var _debug:DebugConfiguration;
private var _session:Timer;
private var _inactivity:Number;
private var _buffer:Buffer;
public function IdleTimer(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:DisplayObject, _arg4:Buffer){
var _local5:Number;
var _local6:Number;
var _local7:Number;
super();
_local5 = _arg1.idleLoop;
_local6 = _arg1.idleTimeout;
_local7 = _arg1.sessionTimeout;
_loop = new Timer((_local5 * 1000));
_session = new Timer((_local7 * 1000), 1);
_debug = _arg2;
_stage = _arg3.stage;
_buffer = _arg4;
_lastMove = getTimer();
_inactivity = (_local6 * 1000);
_loop.addEventListener(TimerEvent.TIMER, checkForIdle);
_session.addEventListener(TimerEvent.TIMER_COMPLETE, endSession);
_stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
_debug.info(((((("delay: " + _local5) + "sec , inactivity: ") + _local6) + "sec, sessionTimeout: ") + _local7), VisualDebugMode.geek);
_loop.start();
}
private function onMouseMove(_arg1:MouseEvent):void{
_lastMove = getTimer();
if (_session.running){
_debug.info("session timer reset", VisualDebugMode.geek);
_session.reset();
};
}
public function endSession(_arg1:TimerEvent):void{
_session.removeEventListener(TimerEvent.TIMER_COMPLETE, endSession);
_debug.info("session timer end session", VisualDebugMode.geek);
_session.reset();
_buffer.resetCurrentSession();
_debug.info(_buffer.utmb.toString(), VisualDebugMode.geek);
_debug.info(_buffer.utmc.toString(), VisualDebugMode.geek);
_session.addEventListener(TimerEvent.TIMER_COMPLETE, endSession);
}
public function checkForIdle(_arg1:TimerEvent):void{
var _local2:int;
_local2 = getTimer();
if ((_local2 - _lastMove) >= _inactivity){
if (!_session.running){
_debug.info("session timer start", VisualDebugMode.geek);
_session.start();
};
};
}
}
}//package com.google.analytics.core
Section 18
//Organic (com.google.analytics.core.Organic)
package com.google.analytics.core {
import com.google.analytics.utils.*;
public class Organic {
private var _sourcesCache:Array;
private var _sourcesEngine:Array;
private var _ignoredKeywords:Array;
private var _ignoredReferralsCache:Object;
private var _ignoredReferrals:Array;
private var _ignoredKeywordsCache:Object;
private var _sources:Array;
public static var throwErrors:Boolean = false;
public function Organic(){
_sources = [];
_sourcesCache = [];
_sourcesEngine = [];
_ignoredReferrals = [];
_ignoredReferralsCache = {};
_ignoredKeywords = [];
_ignoredKeywordsCache = {};
}
public function getKeywordValue(_arg1:OrganicReferrer, _arg2:String):String{
var _local3:String;
_local3 = _arg1.keyword;
return (getKeywordValueFromPath(_local3, _arg2));
}
public function isIgnoredKeyword(_arg1:String):Boolean{
if (_ignoredKeywordsCache.hasOwnProperty(_arg1)){
return (true);
};
return (false);
}
public function isIgnoredReferral(_arg1:String):Boolean{
if (_ignoredReferralsCache.hasOwnProperty(_arg1)){
return (true);
};
return (false);
}
public function clear():void{
clearEngines();
clearIgnoredReferrals();
clearIgnoredKeywords();
}
public function get ignoredKeywordsCount():int{
return (_ignoredKeywords.length);
}
public function match(_arg1:String):Boolean{
if (_arg1 == ""){
return (false);
};
_arg1 = _arg1.toLowerCase();
if (_sourcesEngine[_arg1] != undefined){
return (true);
};
return (false);
}
public function get count():int{
return (_sources.length);
}
public function addSource(_arg1:String, _arg2:String):void{
var _local3:OrganicReferrer;
_local3 = new OrganicReferrer(_arg1, _arg2);
if (_sourcesCache[_local3.toString()] == undefined){
_sources.push(_local3);
_sourcesCache[_local3.toString()] = (_sources.length - 1);
if (_sourcesEngine[_local3.engine] == undefined){
_sourcesEngine[_local3.engine] = [(_sources.length - 1)];
} else {
_sourcesEngine[_local3.engine].push((_sources.length - 1));
};
} else {
if (throwErrors){
throw (new Error((_local3.toString() + " already exists, we don't add it.")));
};
};
}
public function clearIgnoredKeywords():void{
_ignoredKeywords = [];
_ignoredKeywordsCache = {};
}
public function clearEngines():void{
_sources = [];
_sourcesCache = [];
_sourcesEngine = [];
}
public function get ignoredReferralsCount():int{
return (_ignoredReferrals.length);
}
public function addIgnoredReferral(_arg1:String):void{
if (_ignoredReferralsCache[_arg1] == undefined){
_ignoredReferrals.push(_arg1);
_ignoredReferralsCache[_arg1] = (_ignoredReferrals.length - 1);
} else {
if (throwErrors){
throw (new Error((("\"" + _arg1) + "\" already exists, we don't add it.")));
};
};
}
public function clearIgnoredReferrals():void{
_ignoredReferrals = [];
_ignoredReferralsCache = {};
}
public function getReferrerByName(_arg1:String):OrganicReferrer{
var _local2:int;
if (match(_arg1)){
_local2 = _sourcesEngine[_arg1][0];
return (_sources[_local2]);
};
return (null);
}
public function addIgnoredKeyword(_arg1:String):void{
if (_ignoredKeywordsCache[_arg1] == undefined){
_ignoredKeywords.push(_arg1);
_ignoredKeywordsCache[_arg1] = (_ignoredKeywords.length - 1);
} else {
if (throwErrors){
throw (new Error((("\"" + _arg1) + "\" already exists, we don't add it.")));
};
};
}
public function get sources():Array{
return (_sources);
}
public static function getKeywordValueFromPath(_arg1:String, _arg2:String):String{
var _local3:String;
var _local4:Variables;
if (_arg2.indexOf((_arg1 + "=")) > -1){
if (_arg2.charAt(0) == "?"){
_arg2 = _arg2.substr(1);
};
_arg2 = _arg2.split("+").join("%20");
_local4 = new Variables(_arg2);
_local3 = _local4[_arg1];
};
return (_local3);
}
}
}//package com.google.analytics.core
Section 19
//OrganicReferrer (com.google.analytics.core.OrganicReferrer)
package com.google.analytics.core {
public class OrganicReferrer {
private var _engine:String;
private var _keyword:String;
public function OrganicReferrer(_arg1:String, _arg2:String){
this.engine = _arg1;
this.keyword = _arg2;
}
public function set engine(_arg1:String):void{
_engine = _arg1.toLowerCase();
}
public function get keyword():String{
return (_keyword);
}
public function toString():String{
return (((engine + "?") + keyword));
}
public function get engine():String{
return (_engine);
}
public function set keyword(_arg1:String):void{
_keyword = _arg1.toLowerCase();
}
}
}//package com.google.analytics.core
Section 20
//RequestObject (com.google.analytics.core.RequestObject)
package com.google.analytics.core {
import flash.net.*;
import flash.utils.*;
public class RequestObject {
public var start:int;
public var request:URLRequest;
public var end:int;
public function RequestObject(_arg1:URLRequest){
start = getTimer();
this.request = _arg1;
}
public function toString():String{
var _local1:Array;
_local1 = [];
_local1.push((("duration: " + duration) + "ms"));
_local1.push(("url: " + request.url));
return ((("{ " + _local1.join(", ")) + " }"));
}
public function get duration():int{
if (!hasCompleted()){
return (0);
};
return ((end - start));
}
public function hasCompleted():Boolean{
return ((end > 0));
}
public function complete():void{
end = getTimer();
}
}
}//package com.google.analytics.core
Section 21
//ServerOperationMode (com.google.analytics.core.ServerOperationMode)
package com.google.analytics.core {
public class ServerOperationMode {
private var _value:int;
private var _name:String;
public static const both:ServerOperationMode = new ServerOperationMode(2, "both");
;
public static const remote:ServerOperationMode = new ServerOperationMode(1, "remote");
;
public static const local:ServerOperationMode = new ServerOperationMode(0, "local");
;
public function ServerOperationMode(value:int=0, name:String=""){
super();
_value = value;
_name = name;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.core
Section 22
//TrackerCache (com.google.analytics.core.TrackerCache)
package com.google.analytics.core {
import com.google.analytics.v4.*;
import flash.errors.*;
public class TrackerCache implements GoogleAnalyticsAPI {
public var tracker:GoogleAnalyticsAPI;
private var _ar:Array;
public static var CACHE_THROW_ERROR:Boolean;
public function TrackerCache(tracker:GoogleAnalyticsAPI=null){
super();
this.tracker = tracker;
_ar = [];
}
public function size():uint{
return (_ar.length);
}
public function flush():void{
var o:Object;
var name:String;
var args:Array;
var l:int;
var i:int;
if (tracker == null){
return;
};
if (size() > 0){
l = _ar.length;
while (i < l) {
o = _ar.shift();
name = (o.name as String);
args = (o.args as Array);
if (((!((name == null))) && ((name in tracker)))){
(tracker[name] as Function).apply(tracker, args);
};
i++;
};
};
}
public function enqueue(name:String, ... _args):Boolean{
if (name == null){
return (false);
};
_ar.push({name:name, args:_args});
return (true);
}
public function link(targetUrl:String, useHash:Boolean=false):void{
enqueue("link", targetUrl, useHash);
}
public function addOrganic(newOrganicEngine:String, newOrganicKeyword:String):void{
enqueue("addOrganic", newOrganicEngine, newOrganicKeyword);
}
public function setAllowLinker(enable:Boolean):void{
enqueue("setAllowLinker", enable);
}
public function trackEvent(category:String, action:String, label:String=null, value:Number=NaN):Boolean{
enqueue("trackEvent", category, action, label, value);
return (true);
}
public function getClientInfo():Boolean{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getClientInfo' method for the moment."));
};
return (false);
}
public function trackTrans():void{
enqueue("trackTrans");
}
public function trackPageview(pageURL:String=""):void{
enqueue("trackPageview", pageURL);
}
public function setClientInfo(enable:Boolean):void{
enqueue("setClientInfo", enable);
}
public function linkByPost(formObject:Object, useHash:Boolean=false):void{
enqueue("linkByPost", formObject, useHash);
}
public function setCookieTimeout(newDefaultTimeout:int):void{
enqueue("setCookieTimeout", newDefaultTimeout);
}
public function isEmpty():Boolean{
return ((_ar.length == 0));
}
public function getDetectTitle():Boolean{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getDetectTitle' method for the moment."));
};
return (false);
}
public function resetSession():void{
enqueue("resetSession");
}
public function setDetectFlash(enable:Boolean):void{
enqueue("setDetectFlash", enable);
}
public function clear():void{
_ar = [];
}
public function setCampNameKey(newCampNameKey:String):void{
enqueue("setCampNameKey", newCampNameKey);
}
public function addItem(item:String, sku:String, name:String, category:String, price:Number, quantity:int):void{
enqueue("addItem", item, sku, name, category, price, quantity);
}
public function createEventTracker(objName:String):EventTracker{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'createEventTracker' method for the moment."));
};
return (null);
}
public function setVar(newVal:String):void{
enqueue("setVar", newVal);
}
public function clearIgnoredOrganic():void{
enqueue("clearIgnoredOrganic");
}
public function setDomainName(newDomainName:String):void{
enqueue("setDomainName", newDomainName);
}
public function setCampSourceKey(newCampSrcKey:String):void{
enqueue("setCampSourceKey", newCampSrcKey);
}
public function addTrans(orderId:String, affiliation:String, total:Number, tax:Number, shipping:Number, city:String, state:String, country:String):Object{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'addTrans' method for the moment."));
};
return (null);
}
public function setCampContentKey(newCampContentKey:String):void{
enqueue("setCampContentKey", newCampContentKey);
}
public function setLocalServerMode():void{
enqueue("setLocalServerMode");
}
public function getLocalGifPath():String{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getLocalGifPath' method for the moment."));
};
return ("");
}
public function setAllowAnchor(enable:Boolean):void{
enqueue("setAllowAnchor", enable);
}
public function clearIgnoredRef():void{
enqueue("clearIgnoredRef");
}
public function setLocalGifPath(newLocalGifPath:String):void{
enqueue("setLocalGifPath", newLocalGifPath);
}
public function getVersion():String{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getVersion' method for the moment."));
};
return ("");
}
public function setCookiePath(newCookiePath:String):void{
enqueue("setCookiePath", newCookiePath);
}
public function setSampleRate(newRate:Number):void{
enqueue("setSampleRate", newRate);
}
public function setDetectTitle(enable:Boolean):void{
enqueue("setDetectTitle", enable);
}
public function setAllowHash(enable:Boolean):void{
enqueue("setAllowHash", enable);
}
public function addIgnoredOrganic(newIgnoredOrganicKeyword:String):void{
enqueue("addIgnoredOrganic", newIgnoredOrganicKeyword);
}
public function setCampNOKey(newCampNOKey:String):void{
enqueue("setCampNOKey", newCampNOKey);
}
public function getServiceMode():ServerOperationMode{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getServiceMode' method for the moment."));
};
return (null);
}
public function setLocalRemoteServerMode():void{
enqueue("setLocalRemoteServerMode");
}
public function cookiePathCopy(newPath:String):void{
enqueue("cookiePathCopy", newPath);
}
public function getDetectFlash():Boolean{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getDetectFlash' method for the moment."));
};
return (false);
}
public function setCampaignTrack(enable:Boolean):void{
enqueue("setCampaignTrack", enable);
}
public function clearOrganic():void{
enqueue("clearOrganic");
}
public function setCampTermKey(newCampTermKey:String):void{
enqueue("setCampTermKey", newCampTermKey);
}
public function addIgnoredRef(newIgnoredReferrer:String):void{
enqueue("addIgnoredRef", newIgnoredReferrer);
}
public function setCampMediumKey(newCampMedKey:String):void{
enqueue("setCampMediumKey", newCampMedKey);
}
public function setSessionTimeout(newTimeout:int):void{
enqueue("setSessionTimeout", newTimeout);
}
public function setRemoteServerMode():void{
enqueue("setRemoteServerMode");
}
public function element(){
return (_ar[0]);
}
public function getAccount():String{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getAccount' method for the moment."));
};
return ("");
}
}
}//package com.google.analytics.core
Section 23
//TrackerMode (com.google.analytics.core.TrackerMode)
package com.google.analytics.core {
public class TrackerMode {
public static const BRIDGE:String = "Bridge";
public static const AS3:String = "AS3";
}
}//package com.google.analytics.core
Section 24
//Utils (com.google.analytics.core.Utils)
package com.google.analytics.core {
public class Utils {
public static function trim(_arg1:String, _arg2:Boolean=false):String{
var _local3:Array;
var _local4:String;
var _local5:int;
var _local6:int;
var _local7:int;
if (_arg1 == ""){
return ("");
};
_local3 = [" ", "\n", "\r", "\t"];
_local4 = _arg1;
if (_arg2){
_local5 = 0;
while ((((_local5 < _local3.length)) && ((_local4.indexOf(_local3[_local5]) > -1)))) {
_local4 = _local4.split(_local3[_local5]).join("");
_local5++;
};
} else {
_local6 = 0;
while ((((_local6 < _local4.length)) && ((_local3.indexOf(_local4.charAt(_local6)) > -1)))) {
_local6++;
};
_local4 = _local4.substr(_local6);
_local7 = (_local4.length - 1);
while ((((_local7 >= 0)) && ((_local3.indexOf(_local4.charAt(_local7)) > -1)))) {
_local7--;
};
_local4 = _local4.substring(0, (_local7 + 1));
};
return (_local4);
}
public static function generateHash(_arg1:String):int{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
_local2 = 1;
_local3 = 0;
if (((!((_arg1 == null))) && (!((_arg1 == ""))))){
_local2 = 0;
_local4 = (_arg1.length - 1);
while (_local4 >= 0) {
_local5 = _arg1.charCodeAt(_local4);
_local2 = ((((_local2 << 6) & 268435455) + _local5) + (_local5 << 14));
_local3 = (_local2 & 266338304);
if (_local3 != 0){
_local2 = (_local2 ^ (_local3 >> 21));
};
_local4--;
};
};
return (_local2);
}
public static function generate32bitRandom():int{
return (Math.round((Math.random() * 2147483647)));
}
public static function validateAccount(_arg1:String):Boolean{
var _local2:RegExp;
_local2 = /^UA-[0-9]*-[0-9]*$/;
return (_local2.test(_arg1));
}
}
}//package com.google.analytics.core
Section 25
//Cookie (com.google.analytics.data.Cookie)
package com.google.analytics.data {
public interface Cookie {
function fromSharedObject(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/data;Cookie.as:Object):void;
function toURLString():String;
function get creation():Date;
function toSharedObject():Object;
function isExpired():Boolean;
function set creation(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/data;Cookie.as:Date):void;
function set expiration(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/data;Cookie.as:Date):void;
function get expiration():Date;
}
}//package com.google.analytics.data
Section 26
//UTMA (com.google.analytics.data.UTMA)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMA extends UTMCookie {
private var _sessionId:Number;
private var _domainHash:Number;
private var _firstTime:Number;
private var _currentTime:Number;
private var _lastTime:Number;
private var _sessionCount:Number;
public function UTMA(domainHash:Number=NaN, sessionId:Number=NaN, firstTime:Number=NaN, lastTime:Number=NaN, currentTime:Number=NaN, sessionCount:Number=NaN){
super("utma", "__utma", ["domainHash", "sessionId", "firstTime", "lastTime", "currentTime", "sessionCount"], (Timespan.twoyears * 1000));
this.domainHash = domainHash;
this.sessionId = sessionId;
this.firstTime = firstTime;
this.lastTime = lastTime;
this.currentTime = currentTime;
this.sessionCount = sessionCount;
}
public function get lastTime():Number{
return (_lastTime);
}
public function set lastTime(value:Number):void{
_lastTime = value;
update();
}
public function set currentTime(value:Number):void{
_currentTime = value;
update();
}
public function get sessionId():Number{
return (_sessionId);
}
public function get sessionCount():Number{
return (_sessionCount);
}
public function get firstTime():Number{
return (_firstTime);
}
public function get currentTime():Number{
return (_currentTime);
}
public function set domainHash(value:Number):void{
_domainHash = value;
update();
}
public function set sessionId(value:Number):void{
_sessionId = value;
update();
}
public function set sessionCount(value:Number):void{
_sessionCount = value;
update();
}
public function get domainHash():Number{
return (_domainHash);
}
public function set firstTime(value:Number):void{
_firstTime = value;
update();
}
}
}//package com.google.analytics.data
Section 27
//UTMB (com.google.analytics.data.UTMB)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMB extends UTMCookie {
private var _trackCount:Number;
private var _lastTime:Number;
private var _domainHash:Number;
private var _token:Number;
public static var defaultTimespan:Number = Timespan.thirtyminutes;
public function UTMB(domainHash:Number=NaN, trackCount:Number=NaN, token:Number=NaN, lastTime:Number=NaN){
super("utmb", "__utmb", ["domainHash", "trackCount", "token", "lastTime"], (defaultTimespan * 1000));
this.domainHash = domainHash;
this.trackCount = trackCount;
this.token = token;
this.lastTime = lastTime;
}
public function set token(value:Number):void{
_token = value;
update();
}
public function set trackCount(value:Number):void{
_trackCount = value;
update();
}
public function get lastTime():Number{
return (_lastTime);
}
public function set domainHash(value:Number):void{
_domainHash = value;
update();
}
public function set lastTime(value:Number):void{
_lastTime = value;
update();
}
public function get domainHash():Number{
return (_domainHash);
}
public function get token():Number{
return (_token);
}
public function get trackCount():Number{
return (_trackCount);
}
}
}//package com.google.analytics.data
Section 28
//UTMC (com.google.analytics.data.UTMC)
package com.google.analytics.data {
public class UTMC extends UTMCookie {
private var _domainHash:Number;
public function UTMC(_arg1:Number=NaN){
super("utmc", "__utmc", ["domainHash"]);
this.domainHash = _arg1;
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
public function get domainHash():Number{
return (_domainHash);
}
}
}//package com.google.analytics.data
Section 29
//UTMCookie (com.google.analytics.data.UTMCookie)
package com.google.analytics.data {
import com.google.analytics.core.*;
public class UTMCookie implements Cookie {
protected var inURL:String;
protected var name:String;
private var _creation:Date;
private var _expiration:Date;
public var proxy:Buffer;
private var _timespan:Number;
protected var fields:Array;
public function UTMCookie(_arg1:String, _arg2:String, _arg3:Array, _arg4:Number=0){
this.name = _arg1;
this.inURL = _arg2;
this.fields = _arg3;
_timestamp(_arg4);
}
public function isEmpty():Boolean{
var _local1:int;
var _local2:String;
var _local3:int;
_local1 = 0;
_local3 = 0;
while (_local3 < fields.length) {
_local2 = fields[_local3];
if ((((this[_local2] is Number)) && (isNaN(this[_local2])))){
_local1++;
} else {
if ((((this[_local2] is String)) && ((this[_local2] == "")))){
_local1++;
};
};
_local3++;
};
if (_local1 == fields.length){
return (true);
};
return (false);
}
protected function update():void{
resetTimestamp();
if (proxy){
proxy.update(name, toSharedObject());
};
}
public function fromSharedObject(_arg1:Object):void{
var _local2:String;
var _local3:int;
var _local4:int;
_local3 = fields.length;
_local4 = 0;
while (_local4 < _local3) {
_local2 = fields[_local4];
if (_arg1[_local2]){
this[_local2] = _arg1[_local2];
};
_local4++;
};
if (_arg1.creation){
this.creation = _arg1.creation;
};
if (_arg1.expiration){
this.expiration = _arg1.expiration;
};
}
private function _timestamp(_arg1:Number):void{
creation = new Date();
_timespan = _arg1;
if (_arg1 > 0){
expiration = new Date((creation.valueOf() + _arg1));
};
}
public function isExpired():Boolean{
var _local1:Date;
var _local2:Number;
_local1 = new Date();
_local2 = (expiration.valueOf() - _local1.valueOf());
if (_local2 <= 0){
return (true);
};
return (false);
}
public function set expiration(_arg1:Date):void{
_expiration = _arg1;
}
public function get creation():Date{
return (_creation);
}
public function reset():void{
var _local1:String;
var _local2:int;
_local2 = 0;
while (_local2 < fields.length) {
_local1 = fields[_local2];
if ((this[_local1] is Number)){
this[_local1] = NaN;
} else {
if ((this[_local1] is String)){
this[_local1] = "";
};
};
_local2++;
};
resetTimestamp();
update();
}
public function valueOf():String{
var _local1:Array;
var _local2:String;
var _local3:*;
var _local4:int;
_local1 = [];
_local4 = 0;
while (_local4 < fields.length) {
_local2 = fields[_local4];
_local3 = this[_local2];
if ((_local3 is String)){
if (_local3 == ""){
_local3 = "-";
_local1.push(_local3);
} else {
_local1.push(_local3);
};
} else {
if ((_local3 is Number)){
if (_local3 == 0){
_local1.push(_local3);
} else {
if (isNaN(_local3)){
_local3 = "-";
_local1.push(_local3);
} else {
_local1.push(_local3);
};
};
};
};
_local4++;
};
return (("" + _local1.join(".")));
}
public function resetTimestamp(_arg1:Number=NaN):void{
if (!isNaN(_arg1)){
_timespan = _arg1;
};
_creation = null;
_expiration = null;
_timestamp(_timespan);
}
public function get expiration():Date{
if (_expiration){
return (_expiration);
};
return (new Date((new Date().valueOf() + 1000)));
}
public function toURLString():String{
return (((inURL + "=") + valueOf()));
}
public function toSharedObject():Object{
var _local1:Object;
var _local2:String;
var _local3:*;
var _local4:int;
_local1 = {};
_local4 = 0;
for (;_local4 < fields.length;_local4++) {
_local2 = fields[_local4];
_local3 = this[_local2];
if ((_local3 is String)){
_local1[_local2] = _local3;
} else {
if (_local3 == 0){
_local1[_local2] = _local3;
} else {
if (isNaN(_local3)){
continue;
} else {
_local1[_local2] = _local3;
};
};
};
};
_local1.creation = creation;
_local1.expiration = expiration;
return (_local1);
}
public function toString(_arg1:Boolean=false):String{
var _local2:Array;
var _local3:String;
var _local4:*;
var _local5:int;
var _local6:int;
var _local7:String;
_local2 = [];
_local5 = fields.length;
_local6 = 0;
for (;_local6 < _local5;_local6++) {
_local3 = fields[_local6];
_local4 = this[_local3];
if ((_local4 is String)){
_local2.push((((_local3 + ": \"") + _local4) + "\""));
} else {
if (_local4 == 0){
_local2.push(((_local3 + ": ") + _local4));
} else {
if (isNaN(_local4)){
continue;
} else {
_local2.push(((_local3 + ": ") + _local4));
};
};
};
};
_local7 = (((name.toUpperCase() + " {") + _local2.join(", ")) + "}");
if (_arg1){
_local7 = (_local7 + (((" creation:" + creation) + ", expiration:") + expiration));
};
return (_local7);
}
public function set creation(_arg1:Date):void{
_creation = _arg1;
}
}
}//package com.google.analytics.data
Section 30
//UTMK (com.google.analytics.data.UTMK)
package com.google.analytics.data {
public class UTMK extends UTMCookie {
private var _hash:Number;
public function UTMK(hash:Number=NaN){
super("utmk", "__utmk", ["hash"]);
this.hash = hash;
}
public function set hash(value:Number):void{
_hash = value;
update();
}
public function get hash():Number{
return (_hash);
}
}
}//package com.google.analytics.data
Section 31
//UTMV (com.google.analytics.data.UTMV)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMV extends UTMCookie {
private var _domainHash:Number;
private var _value:String;
public function UTMV(domainHash:Number=NaN, value:String=""){
super("utmv", "__utmv", ["domainHash", "value"], (Timespan.twoyears * 1000));
this.domainHash = domainHash;
this.value = value;
}
override public function toURLString():String{
return (((inURL + "=") + encodeURI(valueOf())));
}
public function get value():String{
return (_value);
}
public function get domainHash():Number{
return (_domainHash);
}
public function set domainHash(value:Number):void{
_domainHash = value;
update();
}
public function set value(value:String):void{
_value = value;
update();
}
}
}//package com.google.analytics.data
Section 32
//UTMZ (com.google.analytics.data.UTMZ)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMZ extends UTMCookie {
private var _campaignTracking:String;
private var _campaignCreation:Number;
private var _responseCount:Number;
private var _domainHash:Number;
private var _campaignSessions:Number;
public static var defaultTimespan:Number = Timespan.sixmonths;
public function UTMZ(domainHash:Number=NaN, campaignCreation:Number=NaN, campaignSessions:Number=NaN, responseCount:Number=NaN, campaignTracking:String=""){
super("utmz", "__utmz", ["domainHash", "campaignCreation", "campaignSessions", "responseCount", "campaignTracking"], (defaultTimespan * 1000));
this.domainHash = domainHash;
this.campaignCreation = campaignCreation;
this.campaignSessions = campaignSessions;
this.responseCount = responseCount;
this.campaignTracking = campaignTracking;
}
public function set responseCount(value:Number):void{
_responseCount = value;
update();
}
public function set domainHash(value:Number):void{
_domainHash = value;
update();
}
public function set campaignCreation(value:Number):void{
_campaignCreation = value;
update();
}
public function get campaignTracking():String{
return (_campaignTracking);
}
public function get campaignSessions():Number{
return (_campaignSessions);
}
public function get domainHash():Number{
return (_domainHash);
}
public function get responseCount():Number{
return (_responseCount);
}
public function get campaignCreation():Number{
return (_campaignCreation);
}
public function set campaignSessions(value:Number):void{
_campaignSessions = value;
update();
}
public function set campaignTracking(value:String):void{
_campaignTracking = value;
update();
}
}
}//package com.google.analytics.data
Section 33
//X10 (com.google.analytics.data.X10)
package com.google.analytics.data {
public class X10 {
private var _delimEnd:String;// = ")"
private var _delimSet:String;// = "*"
private var _escapeChar:String;// = "'"
private var _delimBegin:String;// = "("
private var _delimNumValue:String;// = "!"
private var _key:String;// = "k"
private var _set:Array;
private var _projectData:Object;
private var _hasData:int;
private var _escapeCharMap:Object;
private var _minimum:int;
private var _value:String;// = "v"
public function X10(){
_key = "k";
_value = "v";
_set = [_key, _value];
_delimBegin = "(";
_delimEnd = ")";
_delimSet = "*";
_delimNumValue = "!";
_escapeChar = "'";
super();
_projectData = {};
_escapeCharMap = {};
_escapeCharMap[_escapeChar] = "'0";
_escapeCharMap[_delimEnd] = "'1";
_escapeCharMap[_delimSet] = "'2";
_escapeCharMap[_delimNumValue] = "'3";
_minimum = 1;
}
private function _clearInternal(_arg1:Number, _arg2:String):void{
var _local3:Boolean;
var _local4:int;
var _local5:int;
if (((hasProject(_arg1)) && (!((_projectData[_arg1][_arg2] == undefined))))){
_projectData[_arg1][_arg2] = undefined;
_local3 = true;
_local5 = _set.length;
_local4 = 0;
while (_local4 < _local5) {
if (_projectData[_arg1][_set[_local4]] != undefined){
_local3 = false;
break;
};
_local4++;
};
if (_local3){
_projectData[_arg1] = undefined;
_hasData = (_hasData - 1);
};
};
}
public function hasData():Boolean{
return ((_hasData > 0));
}
private function _setInternal(_arg1:Number, _arg2:String, _arg3:Number, _arg4:String):void{
if (!hasProject(_arg1)){
_projectData[_arg1] = {};
};
if (_projectData[_arg1][_arg2] == undefined){
_projectData[_arg1][_arg2] = [];
};
_projectData[_arg1][_arg2][_arg3] = _arg4;
_hasData = (_hasData + 1);
}
public function hasProject(_arg1:Number):Boolean{
return (_projectData[_arg1]);
}
public function clearKey(_arg1:Number):void{
_clearInternal(_arg1, _key);
}
private function _renderDataType(_arg1:Array):String{
var _local2:Array;
var _local3:String;
var _local4:int;
_local2 = [];
_local4 = 0;
while (_local4 < _arg1.length) {
if (_arg1[_local4] != undefined){
_local3 = "";
if (((!((_local4 == _minimum))) && ((_arg1[(_local4 - 1)] == undefined)))){
_local3 = (_local3 + _local4.toString());
_local3 = (_local3 + _delimNumValue);
};
_local3 = (_local3 + _escapeExtensibleValue(_arg1[_local4]));
_local2.push(_local3);
};
_local4++;
};
return (((_delimBegin + _local2.join(_delimSet)) + _delimEnd));
}
public function getKey(_arg1:Number, _arg2:Number):String{
return ((_getInternal(_arg1, _key, _arg2) as String));
}
public function clearValue(_arg1:Number):void{
_clearInternal(_arg1, _value);
}
public function renderMergedUrlString(_arg1:X10=null):String{
var _local2:Array;
var _local3:String;
if (!_arg1){
return (renderUrlString());
};
_local2 = [_arg1.renderUrlString()];
for (_local3 in _projectData) {
if (((hasProject(Number(_local3))) && (!(_arg1.hasProject(Number(_local3)))))){
_local2.push((_local3 + _renderProject(_projectData[_local3])));
};
};
return (_local2.join(""));
}
public function setValue(_arg1:Number, _arg2:Number, _arg3:Number):Boolean{
if (((((!((Math.round(_arg3) == _arg3))) || (isNaN(_arg3)))) || ((_arg3 == Infinity)))){
return (false);
};
_setInternal(_arg1, _value, _arg2, _arg3.toString());
return (true);
}
public function renderUrlString():String{
var _local1:Array;
var _local2:String;
_local1 = [];
for (_local2 in _projectData) {
if (hasProject(Number(_local2))){
_local1.push((_local2 + _renderProject(_projectData[_local2])));
};
};
return (_local1.join(""));
}
private function _getInternal(_arg1:Number, _arg2:String, _arg3:Number):Object{
if (((hasProject(_arg1)) && (!((_projectData[_arg1][_arg2] == undefined))))){
return (_projectData[_arg1][_arg2][_arg3]);
};
return (undefined);
}
public function setKey(_arg1:Number, _arg2:Number, _arg3:String):Boolean{
_setInternal(_arg1, _key, _arg2, _arg3);
return (true);
}
public function getValue(_arg1:Number, _arg2:Number){
var _local3:*;
_local3 = _getInternal(_arg1, _value, _arg2);
if (_local3 == null){
return (null);
};
return (Number(_local3));
}
private function _renderProject(_arg1:Object):String{
var _local2:String;
var _local3:Boolean;
var _local4:int;
var _local5:Array;
var _local6:int;
_local2 = "";
_local3 = false;
_local6 = _set.length;
_local4 = 0;
while (_local4 < _local6) {
_local5 = _arg1[_set[_local4]];
if (_local5){
if (_local3){
_local2 = (_local2 + _set[_local4]);
};
_local2 = (_local2 + _renderDataType(_local5));
_local3 = false;
} else {
_local3 = true;
};
_local4++;
};
return (_local2);
}
private function _escapeExtensibleValue(_arg1:String):String{
var _local2:String;
var _local3:int;
var _local4:String;
var _local5:String;
_local2 = "";
_local3 = 0;
while (_local3 < _arg1.length) {
_local4 = _arg1.charAt(_local3);
_local5 = _escapeCharMap[_local4];
if (_local5){
_local2 = (_local2 + _local5);
} else {
_local2 = (_local2 + _local4);
};
_local3++;
};
return (_local2);
}
}
}//package com.google.analytics.data
Section 34
//_Style (com.google.analytics.debug._Style)
package com.google.analytics.debug {
import flash.net.*;
import flash.text.*;
public class _Style {
public var borderColor:uint;
public var backgroundColor:uint;
private var _sheet:StyleSheet;
public var roundedCorner:uint;
public var alertColor:uint;
public var infoColor:uint;
public var successColor:uint;
private var _loader:URLLoader;
public var failureColor:uint;
private var _defaultSheet:String;
public var warningColor:uint;
public function _Style(){
_sheet = new StyleSheet();
_loader = new URLLoader();
_init();
}
private function _parseSheet(_arg1:String):void{
_sheet.parseCSS(_arg1);
}
public function get sheet():StyleSheet{
return (_sheet);
}
private function _init():void{
_defaultSheet = "";
_defaultSheet = (_defaultSheet + "a{text-decoration: underline;}\n");
_defaultSheet = (_defaultSheet + ".uiLabel{color: #000000;font-family: Arial;font-size: 12;margin-left: 2;margin-right: 2;}\n");
_defaultSheet = (_defaultSheet + ".uiWarning{color: #ffffff;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiAlert{color: #ffffff;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiInfo{color: #000000;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiSuccess{color: #ffffff;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiFailure{color: #ffffff;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiAlertAction{color: #ffffff;text-align: center;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiAlertTitle{color: #ffffff;font-family: Arial;font-size: 16;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + "\n");
roundedCorner = 6;
backgroundColor = 0xCCCCCC;
borderColor = 0x555555;
infoColor = 16777113;
alertColor = 0xFFCC00;
warningColor = 0xCC0000;
successColor = 0xFF00;
failureColor = 0xFF0000;
_parseSheet(_defaultSheet);
}
}
}//package com.google.analytics.debug
Section 35
//Alert (com.google.analytics.debug.Alert)
package com.google.analytics.debug {
import flash.events.*;
public class Alert extends Label {
public var actionOnNextLine:Boolean;// = true
public var autoClose:Boolean;// = true
private var _actions:Array;
public function Alert(_arg1:String, _arg2:Array, _arg3:String="uiAlert", _arg4:uint=0, _arg5:Align=null, _arg6:Boolean=false, _arg7:Boolean=true){
var _local8:int;
autoClose = true;
actionOnNextLine = true;
if (_arg4 == 0){
_arg4 = Style.alertColor;
};
if (_arg5 == null){
_arg5 = Align.center;
};
super(_arg1, _arg3, _arg4, _arg5, _arg6);
this.selectable = true;
super.mouseChildren = true;
this.buttonMode = true;
this.mouseEnabled = true;
this.useHandCursor = true;
this.actionOnNextLine = _arg7;
_actions = [];
_local8 = 0;
while (_local8 < _arg2.length) {
_arg2[_local8].container = this;
_actions.push(_arg2[_local8]);
_local8++;
};
}
protected function getAction(_arg1:String):AlertAction{
var _local2:int;
_local2 = 0;
while (_local2 < _actions.length) {
if (_arg1 == _actions[_local2].activator){
return (_actions[_local2]);
};
_local2++;
};
return (null);
}
override protected function layout():void{
super.layout();
_defineActions();
}
protected function spaces(_arg1:int):String{
var _local2:String;
var _local3:String;
var _local4:int;
_local2 = "";
_local3 = " ";
_local4 = 0;
while (_local4 < (_arg1 + 1)) {
_local2 = (_local2 + _local3);
_local4++;
};
return (_local2);
}
override public function onLink(_arg1:TextEvent):void{
var _local2:AlertAction;
if (isValidAction(_arg1.text)){
_local2 = getAction(_arg1.text);
if (_local2){
_local2.execute();
};
};
if (autoClose){
close();
};
}
protected function isValidAction(_arg1:String):Boolean{
var _local2:int;
_local2 = 0;
while (_local2 < _actions.length) {
if (_arg1 == _actions[_local2].activator){
return (true);
};
_local2++;
};
return (false);
}
private function _defineActions():void{
var _local1:String;
var _local2:Array;
var _local3:AlertAction;
var _local4:int;
_local1 = "";
if (actionOnNextLine){
_local1 = (_local1 + "\n");
} else {
_local1 = (_local1 + " |");
};
_local1 = (_local1 + " ");
_local2 = [];
_local4 = 0;
while (_local4 < _actions.length) {
_local3 = _actions[_local4];
_local2.push((((("<a href=\"event:" + _local3.activator) + "\">") + _local3.name) + "</a>"));
_local4++;
};
_local1 = (_local1 + _local2.join(" | "));
appendText(_local1, "uiAlertAction");
}
public function close():void{
if (parent != null){
parent.removeChild(this);
};
}
}
}//package com.google.analytics.debug
Section 36
//AlertAction (com.google.analytics.debug.AlertAction)
package com.google.analytics.debug {
public class AlertAction {
public var container:Alert;
private var _callback;
public var name:String;
public var activator:String;
public function AlertAction(_arg1:String, _arg2:String, _arg3){
this.name = _arg1;
this.activator = _arg2;
_callback = _arg3;
}
public function execute():void{
if (_callback){
if ((_callback is Function)){
(_callback as Function)();
} else {
if ((_callback is String)){
var _local1 = container;
_local1[_callback]();
};
};
};
}
}
}//package com.google.analytics.debug
Section 37
//Align (com.google.analytics.debug.Align)
package com.google.analytics.debug {
public class Align {
private var _value:int;
private var _name:String;
public static const bottomRight:Align = new Align(18, "bottomRight");
;
public static const right:Align = new Align(16, "right");
;
public static const left:Align = new Align(32, "left");
;
public static const topRight:Align = new Align(17, "topRight");
;
public static const bottom:Align = new Align(2, "bottom");
;
public static const bottomLeft:Align = new Align(34, "bottomLeft");
;
public static const topLeft:Align = new Align(33, "topLeft");
;
public static const center:Align = new Align(0x0100, "center");
;
public static const none:Align = new Align(0, "none");
;
public static const top:Align = new Align(1, "top");
;
public function Align(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.debug
Section 38
//Background (com.google.analytics.debug.Background)
package com.google.analytics.debug {
import flash.display.*;
public class Background {
public static function drawRounded(_arg1, _arg2:Graphics, _arg3:uint=0, _arg4:uint=0):void{
var _local5:uint;
var _local6:uint;
var _local7:uint;
_local7 = Style.roundedCorner;
if ((((_arg3 > 0)) && ((_arg4 > 0)))){
_local5 = _arg3;
_local6 = _arg4;
} else {
_local5 = _arg1.width;
_local6 = _arg1.height;
};
if (((_arg1.stickToEdge) && (!((_arg1.alignement == Align.none))))){
switch (_arg1.alignement){
case Align.top:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, _local7, _local7);
break;
case Align.topLeft:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, 0, _local7);
break;
case Align.topRight:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, _local7, 0);
break;
case Align.bottom:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, _local7, 0, 0);
break;
case Align.bottomLeft:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, _local7, 0, 0);
break;
case Align.bottomRight:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, 0, 0, 0);
break;
case Align.left:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, _local7, 0, _local7);
break;
case Align.right:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, 0, _local7, 0);
break;
case Align.center:
_arg2.drawRoundRect(0, 0, _local5, _local6, _local7, _local7);
break;
};
} else {
_arg2.drawRoundRect(0, 0, _local5, _local6, _local7, _local7);
};
}
}
}//package com.google.analytics.debug
Section 39
//Debug (com.google.analytics.debug.Debug)
package com.google.analytics.debug {
import flash.events.*;
import flash.ui.*;
public class Debug extends Label {
private var _lines:Array;
private var _preferredForcedWidth:uint;// = 540
private var _linediff:int;// = 0
public var maxLines:uint;// = 16
public static var count:uint = 0;
public function Debug(color:uint=0, alignement:Align=null, stickToEdge:Boolean=false){
if (alignement == null){
alignement = Align.bottom;
};
super("", "uiLabel", color, alignement, stickToEdge);
this.name = ("Debug" + count++);
_lines = [];
selectable = true;
addEventListener(KeyboardEvent.KEY_DOWN, onKey);
}
public function writeBold(message:String):void{
write(message, true);
}
private function _getLinesToDisplay(direction:int=0):Array{
var lines:Array;
var start:uint;
var end:uint;
if ((_lines.length - 1) > maxLines){
if ((_linediff <= 0)){
_linediff = (_linediff + direction);
} else {
if ((((_linediff > 0)) && ((direction < 0)))){
_linediff = (_linediff + direction);
};
};
start = ((_lines.length - maxLines) + _linediff);
end = (start + maxLines);
lines = _lines.slice(start, end);
} else {
lines = _lines;
};
return (lines);
}
private function onKey(event:KeyboardEvent=null):void{
var lines:Array;
switch (event.keyCode){
case Keyboard.DOWN:
lines = _getLinesToDisplay(1);
break;
case Keyboard.UP:
lines = _getLinesToDisplay(-1);
break;
default:
lines = null;
};
if (lines == null){
return;
};
text = lines.join("\n");
}
override public function get forcedWidth():uint{
if (this.parent){
if (UISprite(this.parent).forcedWidth > _preferredForcedWidth){
return (_preferredForcedWidth);
};
return (UISprite(this.parent).forcedWidth);
} else {
};
return (!NULL!);
}
public function write(message:String, bold:Boolean=false):void{
var inputLines:Array;
if (message.indexOf("") > -1){
inputLines = message.split("\n");
} else {
inputLines = [message];
};
var pre:String = "";
var post:String = "";
if (bold){
pre = "<b>";
post = "</b>";
};
var i:int;
while (i < inputLines.length) {
_lines.push(((pre + inputLines[i]) + post));
i++;
};
var lines:Array = _getLinesToDisplay();
text = lines.join("\n");
}
public function close():void{
dispose();
}
override protected function dispose():void{
removeEventListener(KeyboardEvent.KEY_DOWN, onKey);
super.dispose();
}
}
}//package com.google.analytics.debug
Section 40
//DebugConfiguration (com.google.analytics.debug.DebugConfiguration)
package com.google.analytics.debug {
import com.google.analytics.core.*;
import flash.net.*;
import flash.utils.*;
import flash.ui.*;
public class DebugConfiguration {
public var showHideKey:Number;
private var _mode:VisualDebugMode;
private var _verbose:Boolean;// = false
public var destroyKey:Number;
public var GIFRequests:Boolean;// = false
public var showInfos:Boolean;// = true
public var infoTimeout:Number;// = 1000
public var minimizedOnStart:Boolean;// = false
private var _active:Boolean;// = false
public var traceOutput:Boolean;// = false
public var layout:ILayout;
public var warningTimeout:Number;// = 1500
public var javascript:Boolean;// = false
public var showWarnings:Boolean;// = true
private var _visualInitialized:Boolean;// = false
public function DebugConfiguration(){
_mode = VisualDebugMode.basic;
showHideKey = Keyboard.SPACE;
destroyKey = Keyboard.BACKSPACE;
super();
}
public function get verbose():Boolean{
return (_verbose);
}
public function set verbose(value:Boolean):void{
_verbose = value;
}
public function set mode(value):void{
if ((value is String)){
switch (value){
case "geek":
value = VisualDebugMode.geek;
break;
case "advanced":
value = VisualDebugMode.advanced;
break;
case "basic":
default:
value = VisualDebugMode.basic;
};
};
_mode = value;
}
public function success(message:String):void{
if (layout){
layout.createSuccessAlert(message);
};
if (traceOutput){
trace((("[+] " + message) + " !!"));
};
}
public function get active():Boolean{
return (_active);
}
private function _initializeVisual():void{
if (layout){
layout.init();
_visualInitialized = true;
};
}
private function _destroyVisual():void{
if (((layout) && (_visualInitialized))){
layout.destroy();
};
}
public function warning(message:String, mode:VisualDebugMode=null):void{
if (_filter(mode)){
return;
};
if (((layout) && (showWarnings))){
layout.createWarning(message);
};
if (traceOutput){
trace((("## " + message) + " ##"));
};
}
private function _filter(mode:VisualDebugMode=null):Boolean{
return (((mode) && ((int(mode) >= int(this.mode)))));
}
public function failure(message:String):void{
if (layout){
layout.createFailureAlert(message);
};
if (traceOutput){
trace((("[-] " + message) + " !!"));
};
}
public function get mode(){
return (_mode);
}
public function set active(value:Boolean):void{
_active = value;
if (_active){
_initializeVisual();
} else {
_destroyVisual();
};
}
protected function trace(message:String):void{
var msgs:Array;
var j:int;
var messages:Array = [];
var pre0:String = "";
var pre1:String = "";
if (this.mode == VisualDebugMode.geek){
pre0 = (getTimer() + " - ");
pre1 = (new Array(pre0.length).join(" ") + " ");
};
if (message.indexOf("\n") > -1){
msgs = message.split("\n");
j = 0;
while (j < msgs.length) {
if (msgs[j] == ""){
} else {
if (j == 0){
messages.push((pre0 + msgs[j]));
} else {
messages.push((pre1 + msgs[j]));
};
};
j++;
};
} else {
messages.push((pre0 + message));
};
var len:int = messages.length;
var i:int;
while (i < len) {
trace(messages[i]);
i++;
};
}
public function alert(message:String):void{
if (layout){
layout.createAlert(message);
};
if (traceOutput){
trace((("!! " + message) + " !!"));
};
}
public function info(message:String, mode:VisualDebugMode=null):void{
if (_filter(mode)){
return;
};
if (((layout) && (showInfos))){
layout.createInfo(message);
};
if (traceOutput){
trace(message);
};
}
public function alertGifRequest(message:String, request:URLRequest, ref:GIFRequest):void{
if (layout){
layout.createGIFRequestAlert(message, request, ref);
};
if (traceOutput){
trace(((">> " + message) + " <<"));
};
}
}
}//package com.google.analytics.debug
Section 41
//FailureAlert (com.google.analytics.debug.FailureAlert)
package com.google.analytics.debug {
public class FailureAlert extends Alert {
public function FailureAlert(_arg1:DebugConfiguration, _arg2:String, _arg3:Array){
var _local4:Align;
var _local5:Boolean;
var _local6:Boolean;
_local4 = Align.bottomLeft;
_local5 = true;
_local6 = false;
if (_arg1.verbose){
_arg2 = ((("<u><span class=\"uiAlertTitle\">Failure</span>" + spaces(18)) + "</u>\n\n") + _arg2);
_local4 = Align.center;
_local5 = false;
_local6 = true;
};
super(_arg2, _arg3, "uiFailure", Style.failureColor, _local4, _local5, _local6);
}
}
}//package com.google.analytics.debug
Section 42
//GIFRequestAlert (com.google.analytics.debug.GIFRequestAlert)
package com.google.analytics.debug {
public class GIFRequestAlert extends Alert {
public function GIFRequestAlert(_arg1:String, _arg2:Array){
super(_arg1, _arg2);
}
}
}//package com.google.analytics.debug
Section 43
//ILayout (com.google.analytics.debug.ILayout)
package com.google.analytics.debug {
import flash.display.*;
import com.google.analytics.core.*;
import flash.net.*;
public interface ILayout {
function createWarning(_arg1:String):void;
function addToStage(_arg1:DisplayObject):void;
function createGIFRequestAlert(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void;
function createPanel(_arg1:String, _arg2:uint, _arg3:uint):void;
function createInfo(_arg1:String):void;
function createFailureAlert(_arg1:String):void;
function addToPanel(_arg1:String, _arg2:DisplayObject):void;
function init():void;
function createSuccessAlert(_arg1:String):void;
function createVisualDebug():void;
function createAlert(_arg1:String):void;
function destroy():void;
function bringToFront(_arg1:DisplayObject):void;
function isAvailable():Boolean;
}
}//package com.google.analytics.debug
Section 44
//Info (com.google.analytics.debug.Info)
package com.google.analytics.debug {
import flash.events.*;
import flash.utils.*;
public class Info extends Label {
private var _timer:Timer;
public function Info(_arg1:String="", _arg2:uint=3000){
super(_arg1, "uiInfo", Style.infoColor, Align.top, true);
if (_arg2 > 0){
_timer = new Timer(_arg2, 1);
_timer.start();
_timer.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete, false, 0, true);
};
}
public function onComplete(_arg1:TimerEvent):void{
close();
}
override public function onLink(_arg1:TextEvent):void{
switch (_arg1.text){
case "hide":
close();
break;
};
}
public function close():void{
if (parent != null){
parent.removeChild(this);
};
}
}
}//package com.google.analytics.debug
Section 45
//Label (com.google.analytics.debug.Label)
package com.google.analytics.debug {
import flash.events.*;
import flash.display.*;
import flash.text.*;
public class Label extends UISprite {
private var _color:uint;
private var _background:Shape;
private var _textField:TextField;
public var stickToEdge:Boolean;
private var _text:String;
protected var selectable:Boolean;
private var _tag:String;
public static var count:uint = 0;
public function Label(text:String="", tag:String="uiLabel", color:uint=0, alignement:Align=null, stickToEdge:Boolean=false){
super();
this.name = ("Label" + count++);
selectable = false;
_background = new Shape();
_textField = new TextField();
_text = text;
_tag = tag;
if (alignement == null){
alignement = Align.none;
};
this.alignement = alignement;
this.stickToEdge = stickToEdge;
if (color == 0){
color = Style.backgroundColor;
};
_color = color;
_textField.addEventListener(TextEvent.LINK, onLink);
}
public function get tag():String{
return (_tag);
}
private function _draw():void{
var g:Graphics = _background.graphics;
g.clear();
g.beginFill(_color);
var W:uint = _textField.width;
var H:uint = _textField.height;
if (forcedWidth > 0){
W = forcedWidth;
};
Background.drawRounded(this, g, W, H);
g.endFill();
}
public function get text():String{
return (_textField.text);
}
public function appendText(value:String, newtag:String=""):void{
if (value == ""){
return;
};
if (newtag == ""){
newtag = tag;
};
_textField.htmlText = (_textField.htmlText + (((("<span class=\"" + newtag) + "\">") + value) + "</span>"));
_text = (_text + value);
_draw();
resize();
}
public function set text(value:String):void{
if (value == ""){
value = _text;
};
_textField.htmlText = (((("<span class=\"" + tag) + "\">") + value) + "</span>");
_text = value;
_draw();
resize();
}
override protected function layout():void{
_textField.type = TextFieldType.DYNAMIC;
_textField.autoSize = TextFieldAutoSize.LEFT;
_textField.background = false;
_textField.selectable = selectable;
_textField.multiline = true;
_textField.styleSheet = Style.sheet;
this.text = _text;
addChild(_background);
addChild(_textField);
}
public function set tag(value:String):void{
_tag = value;
text = "";
}
public function onLink(event:TextEvent):void{
}
override protected function dispose():void{
_textField.removeEventListener(TextEvent.LINK, onLink);
super.dispose();
}
}
}//package com.google.analytics.debug
Section 46
//Layout (com.google.analytics.debug.Layout)
package com.google.analytics.debug {
import flash.events.*;
import flash.display.*;
import com.google.analytics.core.*;
import flash.net.*;
import com.google.analytics.*;
public class Layout implements ILayout {
private var _display:DisplayObject;
private var _infoQueue:Array;
private var _maxCharPerLine:int;// = 85
private var _hasInfo:Boolean;
private var _warningQueue:Array;
private var _hasDebug:Boolean;
private var _hasWarning:Boolean;
private var _mainPanel:Panel;
private var _GRAlertQueue:Array;
private var _debug:DebugConfiguration;
public var visualDebug:Debug;
private var _hasGRAlert:Boolean;
public function Layout(debug:DebugConfiguration, display:DisplayObject){
super();
_display = display;
_debug = debug;
_hasWarning = false;
_hasInfo = false;
_hasDebug = false;
_hasGRAlert = false;
_warningQueue = [];
_infoQueue = [];
_GRAlertQueue = [];
}
private function onKey(event:KeyboardEvent=null):void{
switch (event.keyCode){
case _debug.showHideKey:
_mainPanel.visible = !(_mainPanel.visible);
break;
case _debug.destroyKey:
destroy();
break;
};
}
public function createWarning(message:String):void{
if (((_hasWarning) || (!(isAvailable())))){
_warningQueue.push(message);
return;
};
message = _filterMaxChars(message);
_hasWarning = true;
var w:Warning = new Warning(message, _debug.warningTimeout);
addToPanel("analytics", w);
w.addEventListener(Event.REMOVED_FROM_STAGE, _clearWarning, false, 0, true);
if (_hasDebug){
visualDebug.writeBold(message);
};
}
public function bringToFront(visual:DisplayObject):void{
_display.stage.setChildIndex(visual, (_display.stage.numChildren - 1));
}
public function createFailureAlert(message:String):void{
var actionClose:AlertAction;
if (_debug.verbose){
message = _filterMaxChars(message);
actionClose = new AlertAction("Close", "close", "close");
} else {
actionClose = new AlertAction("X", "close", "close");
};
var fa:Alert = new FailureAlert(_debug, message, [actionClose]);
addToPanel("analytics", fa);
if (_hasDebug){
if (_debug.verbose){
message = message.split("\n").join("");
message = _filterMaxChars(message, 66);
};
visualDebug.writeBold(message);
};
}
public function init():void{
var spaces = 10;
var W:uint = (_display.stage.stageWidth - (spaces * 2));
var H:uint = (_display.stage.stageHeight - (spaces * 2));
var mp:Panel = new Panel("analytics", W, H);
mp.alignement = Align.top;
mp.stickToEdge = false;
mp.title = ("Google Analytics v" + GATracker.version);
_mainPanel = mp;
addToStage(mp);
bringToFront(mp);
if (_debug.minimizedOnStart){
_mainPanel.onToggle();
};
createVisualDebug();
_display.stage.addEventListener(KeyboardEvent.KEY_DOWN, onKey, false, 0, true);
}
public function addToPanel(name:String, visual:DisplayObject):void{
var panel:Panel;
var d:DisplayObject = _display.stage.getChildByName(name);
if (d){
panel = (d as Panel);
panel.addData(visual);
} else {
trace((("panel \"" + name) + "\" not found"));
};
}
private function _clearInfo(event:Event):void{
_hasInfo = false;
if (_infoQueue.length > 0){
createInfo(_infoQueue.shift());
};
}
private function _filterMaxChars(message:String, maxCharPerLine:int=0):String{
var line:String;
var CRLF:String = "\n";
var output:Array = [];
var lines:Array = message.split(CRLF);
if (maxCharPerLine == 0){
maxCharPerLine = _maxCharPerLine;
};
var i:int;
while (i < lines.length) {
line = lines[i];
while (line.length > maxCharPerLine) {
output.push(line.substr(0, maxCharPerLine));
line = line.substring(maxCharPerLine);
};
output.push(line);
i++;
};
return (output.join(CRLF));
}
private function _clearGRAlert(event:Event):void{
_hasGRAlert = false;
if (_GRAlertQueue.length > 0){
createGIFRequestAlert.apply(this, _GRAlertQueue.shift());
};
}
public function createSuccessAlert(message:String):void{
var actionClose:AlertAction;
if (_debug.verbose){
message = _filterMaxChars(message);
actionClose = new AlertAction("Close", "close", "close");
} else {
actionClose = new AlertAction("X", "close", "close");
};
var sa:Alert = new SuccessAlert(_debug, message, [actionClose]);
addToPanel("analytics", sa);
if (_hasDebug){
if (_debug.verbose){
message = message.split("\n").join("");
message = _filterMaxChars(message, 66);
};
visualDebug.writeBold(message);
};
}
public function isAvailable():Boolean{
return (!((_display.stage == null)));
}
public function createAlert(message:String):void{
message = _filterMaxChars(message);
var a:Alert = new Alert(message, [new AlertAction("Close", "close", "close")]);
addToPanel("analytics", a);
if (_hasDebug){
visualDebug.writeBold(message);
};
}
public function createInfo(message:String):void{
if (((_hasInfo) || (!(isAvailable())))){
_infoQueue.push(message);
return;
};
message = _filterMaxChars(message);
_hasInfo = true;
var i:Info = new Info(message, _debug.infoTimeout);
addToPanel("analytics", i);
i.addEventListener(Event.REMOVED_FROM_STAGE, _clearInfo, false, 0, true);
if (_hasDebug){
visualDebug.write(message);
};
}
public function createGIFRequestAlert(message:String, request:URLRequest, ref:GIFRequest):void{
var message = message;
var request = request;
var ref = ref;
if (_hasGRAlert){
_GRAlertQueue.push([message, request, ref]);
return;
};
_hasGRAlert = true;
var f:Function = function ():void{
ref.sendRequest(request);
};
message = _filterMaxChars(message);
var gra:GIFRequestAlert = new GIFRequestAlert(message, [new AlertAction("OK", "ok", f), new AlertAction("Cancel", "cancel", "close")]);
addToPanel("analytics", gra);
gra.addEventListener(Event.REMOVED_FROM_STAGE, _clearGRAlert, false, 0, true);
if (_hasDebug){
if (_debug.verbose){
message = message.split("\n").join("");
message = _filterMaxChars(message, 66);
};
visualDebug.write(message);
};
}
public function createVisualDebug():void{
if (!visualDebug){
visualDebug = new Debug();
visualDebug.alignement = Align.bottom;
visualDebug.stickToEdge = true;
addToPanel("analytics", visualDebug);
_hasDebug = true;
};
}
public function addToStage(visual:DisplayObject):void{
_display.stage.addChild(visual);
}
private function _clearWarning(event:Event):void{
_hasWarning = false;
if (_warningQueue.length > 0){
createWarning(_warningQueue.shift());
};
}
public function createPanel(name:String, width:uint, height:uint):void{
var p:Panel = new Panel(name, width, height);
p.alignement = Align.center;
p.stickToEdge = false;
addToStage(p);
bringToFront(p);
}
public function destroy():void{
_mainPanel.close();
_debug.layout = null;
}
}
}//package com.google.analytics.debug
Section 47
//Margin (com.google.analytics.debug.Margin)
package com.google.analytics.debug {
public class Margin {
public var bottom:int;
public var top:int;
public var right:int;
public var left:int;
public function Margin(_arg1:int=0, _arg2:int=0, _arg3:int=0, _arg4:int=0){
this.top = _arg1;
this.bottom = _arg2;
this.left = _arg3;
this.right = _arg4;
}
}
}//package com.google.analytics.debug
Section 48
//Panel (com.google.analytics.debug.Panel)
package com.google.analytics.debug {
import flash.events.*;
import flash.display.*;
public class Panel extends UISprite {
private var _savedH:uint;
private var _data:UISprite;
private var _mask:Sprite;
private var _background:Shape;
private var _savedW:uint;
private var _stickToEdge:Boolean;
private var _border:Shape;
private var _borderColor:uint;
protected var baseAlpha:Number;
private var _backgroundColor:uint;
private var _title:Label;
private var _colapsed:Boolean;
private var _name:String;
public function Panel(name:String, width:uint, height:uint, backgroundColor:uint=0, borderColor:uint=0, baseAlpha:Number=0.3, alignement:Align=null, stickToEdge:Boolean=false){
super();
_name = name;
this.name = name;
this.mouseEnabled = false;
_colapsed = false;
forcedWidth = width;
forcedHeight = height;
this.baseAlpha = baseAlpha;
_background = new Shape();
_data = new UISprite();
_data.forcedWidth = width;
_data.forcedHeight = height;
_data.mouseEnabled = false;
_title = new Label(name, "uiLabel", 0xFFFFFF, Align.topLeft, stickToEdge);
_title.buttonMode = true;
_title.margin.top = 0.6;
_title.margin.left = 0.6;
_title.addEventListener(MouseEvent.CLICK, onToggle);
_title.mouseChildren = false;
_border = new Shape();
_mask = new Sprite();
_mask.useHandCursor = false;
_mask.mouseEnabled = false;
_mask.mouseChildren = false;
if (alignement == null){
alignement = Align.none;
};
this.alignement = alignement;
this.stickToEdge = stickToEdge;
if (backgroundColor == 0){
backgroundColor = Style.backgroundColor;
};
_backgroundColor = backgroundColor;
if (borderColor == 0){
borderColor = Style.borderColor;
};
_borderColor = borderColor;
}
public function get stickToEdge():Boolean{
return (_stickToEdge);
}
public function onToggle(event:MouseEvent=null):void{
if (_colapsed){
_data.visible = true;
} else {
_data.visible = false;
};
_colapsed = !(_colapsed);
_update();
resize();
}
public function set stickToEdge(value:Boolean):void{
_stickToEdge = value;
_title.stickToEdge = value;
}
override protected function dispose():void{
_title.removeEventListener(MouseEvent.CLICK, onToggle);
super.dispose();
}
private function _draw():void{
var W:uint;
var H:uint;
if (((_savedW) && (_savedH))){
forcedWidth = _savedW;
forcedHeight = _savedH;
};
if (!_colapsed){
W = forcedWidth;
H = forcedHeight;
} else {
W = _title.width;
H = _title.height;
_savedW = forcedWidth;
_savedH = forcedHeight;
forcedWidth = W;
forcedHeight = H;
};
var g0:Graphics = _background.graphics;
g0.clear();
g0.beginFill(_backgroundColor);
Background.drawRounded(this, g0, W, H);
g0.endFill();
var g01:Graphics = _data.graphics;
g01.clear();
g01.beginFill(_backgroundColor, 0);
Background.drawRounded(this, g01, W, H);
g01.endFill();
var g1:Graphics = _border.graphics;
g1.clear();
g1.lineStyle(0.1, _borderColor);
Background.drawRounded(this, g1, W, H);
g1.endFill();
var g2:Graphics = _mask.graphics;
g2.clear();
g2.beginFill(_backgroundColor);
Background.drawRounded(this, g2, (W + 1), (H + 1));
g2.endFill();
}
public function get title():String{
return (_title.text);
}
private function _update():void{
_draw();
if (baseAlpha < 1){
_background.alpha = baseAlpha;
_border.alpha = baseAlpha;
};
}
public function addData(child:DisplayObject):void{
_data.addChild(child);
}
override protected function layout():void{
_update();
addChild(_background);
addChild(_data);
addChild(_title);
addChild(_border);
addChild(_mask);
mask = _mask;
}
public function set title(value:String):void{
_title.text = value;
}
public function close():void{
dispose();
if (parent != null){
parent.removeChild(this);
};
}
}
}//package com.google.analytics.debug
Section 49
//Style (com.google.analytics.debug.Style)
package com.google.analytics.debug {
public const Style:_Style = new _Style();
}//package com.google.analytics.debug
Section 50
//SuccessAlert (com.google.analytics.debug.SuccessAlert)
package com.google.analytics.debug {
public class SuccessAlert extends Alert {
public function SuccessAlert(_arg1:DebugConfiguration, _arg2:String, _arg3:Array){
var _local4:Align;
var _local5:Boolean;
var _local6:Boolean;
_local4 = Align.bottomLeft;
_local5 = true;
_local6 = false;
if (_arg1.verbose){
_arg2 = ((("<u><span class=\"uiAlertTitle\">Success</span>" + spaces(18)) + "</u>\n\n") + _arg2);
_local4 = Align.center;
_local5 = false;
_local6 = true;
};
super(_arg2, _arg3, "uiSuccess", Style.successColor, _local4, _local5, _local6);
}
}
}//package com.google.analytics.debug
Section 51
//UISprite (com.google.analytics.debug.UISprite)
package com.google.analytics.debug {
import flash.events.*;
import flash.display.*;
public class UISprite extends Sprite {
private var _forcedHeight:uint;
protected var listenResize:Boolean;
public var alignement:Align;
private var _forcedWidth:uint;
public var margin:Margin;
protected var alignTarget:DisplayObject;
public function UISprite(_arg1:DisplayObject=null){
listenResize = false;
alignement = Align.none;
this.alignTarget = _arg1;
margin = new Margin();
addEventListener(Event.ADDED_TO_STAGE, _onAddedToStage);
addEventListener(Event.REMOVED_FROM_STAGE, _onRemovedFromStage);
}
protected function dispose():void{
var _local1:DisplayObject;
var _local2:int;
_local2 = 0;
while (_local2 < numChildren) {
_local1 = getChildAt(_local2);
if (_local1){
removeChild(_local1);
};
_local2++;
};
}
protected function layout():void{
}
public function get forcedHeight():uint{
if (_forcedHeight){
return (_forcedHeight);
};
return (height);
}
public function alignTo(_arg1:Align, _arg2:DisplayObject=null):void{
var _local3:uint;
var _local4:uint;
var _local5:uint;
var _local6:uint;
var _local7:UISprite;
if (_arg2 == null){
if ((parent is Stage)){
_arg2 = this.stage;
} else {
_arg2 = parent;
};
};
if (_arg2 == this.stage){
if (this.stage == null){
return;
};
_local3 = this.stage.stageHeight;
_local4 = this.stage.stageWidth;
_local5 = 0;
_local6 = 0;
} else {
_local7 = (_arg2 as UISprite);
if (_local7.forcedHeight){
_local3 = _local7.forcedHeight;
} else {
_local3 = _local7.height;
};
if (_local7.forcedWidth){
_local4 = _local7.forcedWidth;
} else {
_local4 = _local7.width;
};
_local5 = 0;
_local6 = 0;
};
switch (_arg1){
case Align.top:
x = ((_local4 / 2) - (forcedWidth / 2));
y = (_local6 + margin.top);
break;
case Align.bottom:
x = ((_local4 / 2) - (forcedWidth / 2));
y = (((_local6 + _local3) - forcedHeight) - margin.bottom);
break;
case Align.left:
x = (_local5 + margin.left);
y = ((_local3 / 2) - (forcedHeight / 2));
break;
case Align.right:
x = (((_local5 + _local4) - forcedWidth) - margin.right);
y = ((_local3 / 2) - (forcedHeight / 2));
break;
case Align.center:
x = ((_local4 / 2) - (forcedWidth / 2));
y = ((_local3 / 2) - (forcedHeight / 2));
break;
case Align.topLeft:
x = (_local5 + margin.left);
y = (_local6 + margin.top);
break;
case Align.topRight:
x = (((_local5 + _local4) - forcedWidth) - margin.right);
y = (_local6 + margin.top);
break;
case Align.bottomLeft:
x = (_local5 + margin.left);
y = (((_local6 + _local3) - forcedHeight) - margin.bottom);
break;
case Align.bottomRight:
x = (((_local5 + _local4) - forcedWidth) - margin.right);
y = (((_local6 + _local3) - forcedHeight) - margin.bottom);
break;
};
if (((!(listenResize)) && (!((_arg1 == Align.none))))){
_arg2.addEventListener(Event.RESIZE, onResize, false, 0, true);
listenResize = true;
};
this.alignement = _arg1;
this.alignTarget = _arg2;
}
public function get forcedWidth():uint{
if (_forcedWidth){
return (_forcedWidth);
};
return (width);
}
protected function onResize(_arg1:Event):void{
resize();
}
private function _onRemovedFromStage(_arg1:Event):void{
removeEventListener(Event.ADDED_TO_STAGE, _onAddedToStage);
removeEventListener(Event.REMOVED_FROM_STAGE, _onRemovedFromStage);
dispose();
}
public function resize():void{
if (alignement != Align.none){
alignTo(alignement, alignTarget);
};
}
private function _onAddedToStage(_arg1:Event):void{
layout();
resize();
}
public function set forcedHeight(_arg1:uint):void{
_forcedHeight = _arg1;
}
public function set forcedWidth(_arg1:uint):void{
_forcedWidth = _arg1;
}
}
}//package com.google.analytics.debug
Section 52
//Warning (com.google.analytics.debug.Warning)
package com.google.analytics.debug {
import flash.events.*;
import flash.utils.*;
public class Warning extends Label {
private var _timer:Timer;
public function Warning(_arg1:String="", _arg2:uint=3000){
super(_arg1, "uiWarning", Style.warningColor, Align.top, false);
margin.top = 32;
if (_arg2 > 0){
_timer = new Timer(_arg2, 1);
_timer.start();
_timer.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete, false, 0, true);
};
}
public function onComplete(_arg1:TimerEvent):void{
close();
}
override public function onLink(_arg1:TextEvent):void{
switch (_arg1.text){
case "hide":
close();
break;
};
}
public function close():void{
if (parent != null){
parent.removeChild(this);
};
}
}
}//package com.google.analytics.debug
Section 53
//VisualDebugMode (com.google.analytics.debug.VisualDebugMode)
package com.google.analytics.debug {
public class VisualDebugMode {
private var _value:int;
private var _name:String;
public static const advanced:VisualDebugMode = new VisualDebugMode(1, "advanced");
;
public static const geek:VisualDebugMode = new VisualDebugMode(2, "geek");
;
public static const basic:VisualDebugMode = new VisualDebugMode(0, "basic");
;
public function VisualDebugMode(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.debug
Section 54
//AnalyticsEvent (com.google.analytics.events.AnalyticsEvent)
package com.google.analytics.events {
import flash.events.*;
import com.google.analytics.*;
public class AnalyticsEvent extends Event {
public var tracker:AnalyticsTracker;
public static const READY:String = "ready";
public function AnalyticsEvent(_arg1:String, _arg2:AnalyticsTracker, _arg3:Boolean=false, _arg4:Boolean=false){
super(_arg1, _arg3, _arg4);
this.tracker = _arg2;
}
override public function clone():Event{
return (new AnalyticsEvent(type, tracker, bubbles, cancelable));
}
}
}//package com.google.analytics.events
Section 55
//AdSenseGlobals (com.google.analytics.external.AdSenseGlobals)
package com.google.analytics.external {
import com.google.analytics.debug.*;
public class AdSenseGlobals extends JavascriptProxy {
private var _gaGlobalVerified:Boolean;// = false
public static var gaGlobal_js:XML = <script>
<![CDATA[
function()
{
try
{
gaGlobal
}
catch(e)
{
gaGlobal = {} ;
}
}
]]>
</script>
;
public function AdSenseGlobals(_arg1:DebugConfiguration){
_gaGlobalVerified = false;
super(_arg1);
}
public function set vid(_arg1:String):void{
if (!isAvailable()){
return;
};
_verify();
setProperty("gaGlobal.vid", _arg1);
}
public function get hid():String{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal.hid"));
}
public function get dh():String{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal.dh"));
}
public function get gaGlobal():Object{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal"));
}
public function set hid(_arg1:String):void{
if (!isAvailable()){
return;
};
_verify();
setProperty("gaGlobal.hid", _arg1);
}
public function get sid():String{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal.sid"));
}
private function _verify():void{
if (!_gaGlobalVerified){
executeBlock(gaGlobal_js);
_gaGlobalVerified = true;
};
}
public function get vid():String{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal.vid"));
}
public function set sid(_arg1:String):void{
if (!isAvailable()){
return;
};
_verify();
setProperty("gaGlobal.sid", _arg1);
}
}
}//package com.google.analytics.external
Section 56
//HTMLDOM (com.google.analytics.external.HTMLDOM)
package com.google.analytics.external {
import com.google.analytics.debug.*;
public class HTMLDOM extends JavascriptProxy {
private var _referrer:String;
private var _protocol:String;
private var _host:String;
private var _location:String;
private var _pathname:String;
private var _title:String;
private var _characterSet:String;
private var _search:String;
private var _language:String;
private var _colorDepth:String;
public static var cache_properties_js:XML = <script>
<![CDATA[
function()
{
var obj = {};
obj.host = document.location.host;
obj.language = navigator.language ? navigator.language : navigator.browserLanguage;
obj.characterSet = document.characterSet ? document.characterSet : document.charset;
obj.colorDepth = window.screen.colorDepth;
obj.location = document.location.toString();
obj.pathname = document.location.pathname;
obj.protocol = document.location.protocol;
obj.search = document.location.search;
obj.referrer = document.referrer;
obj.title = document.title;
return obj;
}
]]>
</script>
;
public function HTMLDOM(_arg1:DebugConfiguration){
super(_arg1);
}
public function get search():String{
if (_search){
return (_search);
};
if (!isAvailable()){
return (null);
};
_search = getProperty("document.location.search");
return (_search);
}
public function get location():String{
if (_location){
return (_location);
};
if (!isAvailable()){
return (null);
};
_location = getPropertyString("document.location");
return (_location);
}
public function get pathname():String{
if (_pathname){
return (_pathname);
};
if (!isAvailable()){
return (null);
};
_pathname = getProperty("document.location.pathname");
return (_pathname);
}
public function get referrer():String{
if (_referrer){
return (_referrer);
};
if (!isAvailable()){
return (null);
};
_referrer = getProperty("document.referrer");
return (_referrer);
}
public function get protocol():String{
if (_protocol){
return (_protocol);
};
if (!isAvailable()){
return (null);
};
_protocol = getProperty("document.location.protocol");
return (_protocol);
}
public function cacheProperties():void{
var _local1:Object;
if (!isAvailable()){
return;
};
_local1 = call(cache_properties_js);
if (_local1){
_host = _local1.host;
_language = _local1.language;
_characterSet = _local1.characterSet;
_colorDepth = _local1.colorDepth;
_location = _local1.location;
_pathname = _local1.pathname;
_protocol = _local1.protocol;
_search = _local1.search;
_referrer = _local1.referrer;
_title = _local1.title;
};
}
public function get colorDepth():String{
if (_colorDepth){
return (_colorDepth);
};
if (!isAvailable()){
return (null);
};
_colorDepth = getProperty("window.screen.colorDepth");
return (_colorDepth);
}
public function get title():String{
if (_title){
return (_title);
};
if (!isAvailable()){
return (null);
};
_title = getProperty("document.title");
return (_title);
}
public function get host():String{
if (_host){
return (_host);
};
if (!isAvailable()){
return (null);
};
_host = getProperty("document.location.host");
return (_host);
}
public function get characterSet():String{
var _local1:String;
if (_characterSet){
return (_characterSet);
};
if (!isAvailable()){
return (null);
};
_local1 = getProperty("document.characterSet");
if (_local1 == null){
_local1 = getProperty("document.charset");
};
_characterSet = _local1;
return (_characterSet);
}
public function get language():String{
var _local1:String;
if (_language){
return (_language);
};
if (!isAvailable()){
return (null);
};
_local1 = getProperty("navigator.language");
if (_local1 == null){
_local1 = getProperty("navigator.browserLanguage");
};
_language = _local1;
return (_language);
}
}
}//package com.google.analytics.external
Section 57
//JavascriptProxy (com.google.analytics.external.JavascriptProxy)
package com.google.analytics.external {
import com.google.analytics.debug.*;
import flash.external.*;
import flash.system.*;
public class JavascriptProxy {
private var _notAvailableWarning:Boolean;// = true
private var _debug:DebugConfiguration;
public static var setProperty_js:XML = <script>
<![CDATA[
function( path , value )
{
var paths;
var prop;
if( path.indexOf(".") > 0 )
{
paths = path.split(".");
prop = paths.pop() ;
}
else
{
paths = [];
prop = path;
}
var target = window ;
var len = paths.length ;
for( var i = 0 ; i < len ; i++ )
{
target = target[ paths[i] ] ;
}
target[ prop ] = value ;
}
]]>
</script>
;
public static var hasProperty_js:XML = <script>
<![CDATA[
function( path )
{
var paths;
if( path.indexOf(".") > 0 )
{
paths = path.split(".");
}
else
{
paths = [path];
}
var target = window ;
var len = paths.length ;
for( var i = 0 ; i < len ; i++ )
{
target = target[ paths[i] ] ;
}
if( target )
{
return true;
}
else
{
return false;
}
}
]]>
</script>
;
public static var setPropertyRef_js:XML = <script>
<![CDATA[
function( path , target )
{
var paths;
var prop;
if( path.indexOf(".") > 0 )
{
paths = path.split(".");
prop = paths.pop() ;
}
else
{
paths = [];
prop = path;
}
alert( "paths:"+paths.length+", prop:"+prop );
var targets;
var name;
if( target.indexOf(".") > 0 )
{
targets = target.split(".");
name = targets.pop();
}
else
{
targets = [];
name = target;
}
alert( "targets:"+targets.length+", name:"+name );
var root = window;
var len = paths.length;
for( var i = 0 ; i < len ; i++ )
{
root = root[ paths[i] ] ;
}
var ref = window;
var depth = targets.length;
for( var j = 0 ; j < depth ; j++ )
{
ref = ref[ targets[j] ] ;
}
root[ prop ] = ref[name] ;
}
]]>
</script>
;
public function JavascriptProxy(_arg1:DebugConfiguration){
_notAvailableWarning = true;
super();
_debug = _arg1;
}
public function getProperty(_arg1:String){
return (call((_arg1 + ".valueOf")));
}
public function hasProperty(_arg1:String):Boolean{
return (call(hasProperty_js, _arg1));
}
public function setProperty(_arg1:String, _arg2):void{
call(setProperty_js, _arg1, _arg2);
}
public function executeBlock(_arg1:String):void{
var data = _arg1;
if (isAvailable()){
try {
ExternalInterface.call(data);
} catch(e:SecurityError) {
if (_debug.javascript){
_debug.warning("ExternalInterface is not allowed.\nEnsure that allowScriptAccess is set to \"always\" in the Flash embed HTML.");
};
} catch(e:Error) {
if (_debug.javascript){
_debug.warning(("ExternalInterface failed to make the call\nreason: " + e.message));
};
};
};
}
public function getPropertyString(_arg1:String):String{
return (call((_arg1 + ".toString")));
}
public function setPropertyByReference(_arg1:String, _arg2:String):void{
call(setPropertyRef_js, _arg1, _arg2);
}
public function call(_arg1:String, ... _args){
var output:String;
var functionName = _arg1;
var args = _args;
if (isAvailable()){
try {
if (((_debug.javascript) && (_debug.verbose))){
output = "";
output = ("Flash->JS: " + functionName);
output = (output + "( ");
if (args.length > 0){
output = (output + args.join(","));
};
output = (output + " )");
_debug.info(output);
};
args.unshift(functionName);
return (ExternalInterface.call.apply(ExternalInterface, args));
} catch(e:SecurityError) {
if (_debug.javascript){
_debug.warning("ExternalInterface is not allowed.\nEnsure that allowScriptAccess is set to \"always\" in the Flash embed HTML.");
};
} catch(e:Error) {
if (_debug.javascript){
_debug.warning(("ExternalInterface failed to make the call\nreason: " + e.message));
};
};
};
return (null);
}
public function isAvailable():Boolean{
var _local1:Boolean;
_local1 = ExternalInterface.available;
if (((_local1) && ((Capabilities.playerType == "External")))){
_local1 = false;
};
if (((((!(_local1)) && (_debug.javascript))) && (_notAvailableWarning))){
_debug.warning("ExternalInterface is not available.");
_notAvailableWarning = false;
};
return (_local1);
}
}
}//package com.google.analytics.external
Section 58
//Environment (com.google.analytics.utils.Environment)
package com.google.analytics.utils {
import com.google.analytics.core.*;
import com.google.analytics.debug.*;
import com.google.analytics.external.*;
import flash.system.*;
public class Environment {
private var _dom:HTMLDOM;
private var _appName:String;
private var _debug:DebugConfiguration;
private var _appVersion:Version;
private var _url:String;
private var _protocol:Protocols;
private var _userAgent:UserAgent;
public function Environment(_arg1:String="", _arg2:String="", _arg3:String="", _arg4:DebugConfiguration=null, _arg5:HTMLDOM=null){
var _local6:Version;
super();
if (_arg2 == ""){
if (isAIR()){
_arg2 = "AIR";
} else {
_arg2 = "Flash";
};
};
if (_arg3 == ""){
_local6 = flashVersion;
} else {
_local6 = Version.fromString(_arg3);
};
_url = _arg1;
_appName = _arg2;
_appVersion = _local6;
_debug = _arg4;
_dom = _arg5;
}
public function isAIR():Boolean{
return ((((playerType == "Desktop")) && ((Security.sandboxType.toString() == "application"))));
}
public function get playerType():String{
return (Capabilities.playerType);
}
public function get locationSearch():String{
var _local1:String;
_local1 = _dom.search;
if (_local1){
return (_local1);
};
return ("");
}
public function get protocol():Protocols{
if (!_protocol){
_findProtocol();
};
return (_protocol);
}
public function get flashVersion():Version{
var _local1:Version;
_local1 = Version.fromString(Capabilities.version.split(" ")[1], ",");
return (_local1);
}
public function get screenWidth():Number{
return (Capabilities.screenResolutionX);
}
public function get languageEncoding():String{
var _local1:String;
if (System.useCodePage){
_local1 = _dom.characterSet;
if (_local1){
return (_local1);
};
return ("-");
};
return ("UTF-8");
}
public function get appName():String{
return (_appName);
}
public function get screenColorDepth():String{
var _local1:String;
var _local2:String;
switch (Capabilities.screenColor){
case "bw":
_local1 = "1";
break;
case "gray":
_local1 = "2";
break;
case "color":
default:
_local1 = "24";
};
_local2 = _dom.colorDepth;
if (_local2){
_local1 = _local2;
};
return (_local1);
}
private function _findProtocol():void{
var _local1:Protocols;
var _local2:String;
var _local3:String;
var _local4:String;
var _local5:String;
_local1 = Protocols.none;
if (_url != ""){
_local4 = _url.toLowerCase();
_local5 = _local4.substr(0, 5);
switch (_local5){
case "file:":
_local1 = Protocols.file;
break;
case "http:":
_local1 = Protocols.HTTP;
break;
case "https":
if (_local4.charAt(5) == ":"){
_local1 = Protocols.HTTPS;
};
break;
default:
_protocol = Protocols.none;
};
};
_local2 = _dom.protocol;
_local3 = (_local1.toString() + ":").toLowerCase();
if (((((_local2) && (!((_local2 == _local3))))) && (_debug))){
_debug.warning(((("Protocol mismatch: SWF=" + _local3) + ", DOM=") + _local2));
};
_protocol = _local1;
}
public function get locationSWFPath():String{
return (_url);
}
public function get platform():String{
var _local1:String;
_local1 = Capabilities.manufacturer;
return (_local1.split("Adobe ")[1]);
}
public function get operatingSystem():String{
return (Capabilities.os);
}
public function set appName(_arg1:String):void{
_appName = _arg1;
userAgent.applicationProduct = _arg1;
}
public function get userAgent():UserAgent{
if (!_userAgent){
_userAgent = new UserAgent(this, appName, appVersion.toString(4));
};
return (_userAgent);
}
ga_internal function set url(_arg1:String):void{
_url = _arg1;
}
public function get referrer():String{
var _local1:String;
_local1 = _dom.referrer;
if (_local1){
return (_local1);
};
if (protocol == Protocols.file){
return ("localhost");
};
return ("");
}
public function isInHTML():Boolean{
return ((Capabilities.playerType == "PlugIn"));
}
public function get language():String{
var _local1:String;
var _local2:String;
_local1 = _dom.language;
_local2 = Capabilities.language;
if (_local1){
if ((((_local1.length > _local2.length)) && ((_local1.substr(0, _local2.length) == _local2)))){
_local2 = _local1;
};
};
return (_local2);
}
public function get domainName():String{
var _local1:String;
var _local2:String;
var _local3:int;
if ((((protocol == Protocols.HTTP)) || ((protocol == Protocols.HTTPS)))){
_local1 = _url.toLowerCase();
if (protocol == Protocols.HTTP){
_local2 = _local1.split("http://").join("");
} else {
if (protocol == Protocols.HTTPS){
_local2 = _local1.split("https://").join("");
};
};
_local3 = _local2.indexOf("/");
if (_local3 > -1){
_local2 = _local2.substring(0, _local3);
};
return (_local2);
};
if (protocol == Protocols.file){
return ("localhost");
};
return ("");
}
public function set userAgent(_arg1:UserAgent):void{
_userAgent = _arg1;
}
public function set appVersion(_arg1:Version):void{
_appVersion = _arg1;
userAgent.applicationVersion = _arg1.toString(4);
}
public function get screenHeight():Number{
return (Capabilities.screenResolutionY);
}
public function get locationPath():String{
var _local1:String;
_local1 = _dom.pathname;
if (_local1){
return (_local1);
};
return ("");
}
public function get documentTitle():String{
var _local1:String;
_local1 = _dom.title;
if (_local1){
return (_local1);
};
return ("");
}
public function get appVersion():Version{
return (_appVersion);
}
}
}//package com.google.analytics.utils
Section 59
//Protocols (com.google.analytics.utils.Protocols)
package com.google.analytics.utils {
public class Protocols {
private var _value:int;
private var _name:String;
public static const none:Protocols = new Protocols(0, "none");
;
public static const HTTPS:Protocols = new Protocols(3, "HTTPS");
;
public static const file:Protocols = new Protocols(1, "file");
;
public static const HTTP:Protocols = new Protocols(2, "HTTP");
;
public function Protocols(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.utils
Section 60
//Timespan (com.google.analytics.utils.Timespan)
package com.google.analytics.utils {
public class Timespan {
public static var sixmonths:Number = 15768000;
public static var twoyears:Number = 63072000;
public static var thirtyminutes:Number = 1800;
public function Timespan(){
super();
}
}
}//package com.google.analytics.utils
Section 61
//URL (com.google.analytics.utils.URL)
package com.google.analytics.utils {
public class URL {
private var _url:String;
public function URL(url:String=""){
super();
_url = url.toLowerCase();
}
public function get domain():String{
var parts:Array;
if (((!((hostName == ""))) && ((hostName.indexOf(".") > -1)))){
parts = hostName.split(".");
switch (parts.length){
case 2:
return (hostName);
case 3:
if (parts[1] == "co"){
return (hostName);
};
parts.shift();
return (parts.join("."));
case 4:
parts.shift();
return (parts.join("."));
};
};
return ("");
}
public function get path():String{
var _path:String = _url;
if (_path.indexOf("://") > -1){
_path = _path.split("://")[1];
};
if (_path.indexOf(hostName) == 0){
_path = _path.substr(hostName.length);
};
if (_path.indexOf("?") > -1){
_path = _path.split("?")[0];
};
if (_path.charAt(0) != "/"){
_path = ("/" + _path);
};
return (_path);
}
public function get protocol():Protocols{
var proto:String = _url.split("://")[0];
switch (proto){
case "file":
return (Protocols.file);
case "http":
return (Protocols.HTTP);
case "https":
return (Protocols.HTTPS);
default:
return (Protocols.none);
};
}
public function get hostName():String{
var hostname:String = _url;
if (hostname.indexOf("://") > -1){
hostname = hostname.split("://")[1];
};
if (hostname.indexOf("/") > -1){
hostname = hostname.split("/")[0];
};
if (hostname.indexOf("?") > -1){
hostname = hostname.split("?")[0];
};
if ((((protocol == Protocols.file)) || ((protocol == Protocols.none)))){
return ("");
};
return (hostname);
}
public function get subDomain():String{
if (((!((domain == ""))) && (!((domain == hostName))))){
return (hostName.split(("." + domain)).join(""));
};
return ("");
}
public function get search():String{
var _search:String = _url;
if (_search.indexOf("://") > -1){
_search = _search.split("://")[1];
};
if (_search.indexOf(hostName) == 0){
_search = _search.substr(hostName.length);
};
if (_search.indexOf("?") > -1){
_search = _search.split("?")[1];
} else {
_search = "";
};
return (_search);
}
}
}//package com.google.analytics.utils
Section 62
//UserAgent (com.google.analytics.utils.UserAgent)
package com.google.analytics.utils {
import com.google.analytics.core.*;
import flash.system.*;
public class UserAgent {
private var _version:Version;
private var _localInfo:Environment;
private var _applicationProduct:String;
public static var minimal:Boolean = false;
public function UserAgent(_arg1:Environment, _arg2:String="", _arg3:String=""){
_localInfo = _arg1;
applicationProduct = _arg2;
_version = Version.fromString(_arg3);
}
public function get tamarinProductToken():String{
if (UserAgent.minimal){
return ("");
};
if (System.vmVersion){
return (("Tamarin/" + Utils.trim(System.vmVersion, true)));
};
return ("");
}
public function set applicationProduct(_arg1:String):void{
_applicationProduct = _arg1;
}
public function get applicationVersion():String{
return (_version.toString(2));
}
public function get applicationProductToken():String{
var _local1:String;
_local1 = applicationProduct;
if (applicationVersion != ""){
_local1 = (_local1 + ("/" + applicationVersion));
};
return (_local1);
}
public function get vendorProductToken():String{
var _local1:String;
_local1 = "";
if (_localInfo.isAIR()){
_local1 = (_local1 + "AIR");
} else {
_local1 = (_local1 + "FlashPlayer");
};
_local1 = (_local1 + "/");
_local1 = (_local1 + _version.toString(3));
return (_local1);
}
public function toString():String{
var _local1:String;
_local1 = "";
_local1 = (_local1 + applicationProductToken);
if (applicationComment != ""){
_local1 = (_local1 + (" " + applicationComment));
};
if (tamarinProductToken != ""){
_local1 = (_local1 + (" " + tamarinProductToken));
};
if (vendorProductToken != ""){
_local1 = (_local1 + (" " + vendorProductToken));
};
return (_local1);
}
public function get applicationComment():String{
var _local1:Array;
_local1 = [];
_local1.push(_localInfo.platform);
_local1.push(_localInfo.playerType);
if (!UserAgent.minimal){
_local1.push(_localInfo.operatingSystem);
_local1.push(_localInfo.language);
};
if (Capabilities.isDebugger){
_local1.push("DEBUG");
};
if (_local1.length > 0){
return ((("(" + _local1.join("; ")) + ")"));
};
return ("");
}
public function set applicationVersion(_arg1:String):void{
_version = Version.fromString(_arg1);
}
public function get applicationProduct():String{
return (_applicationProduct);
}
}
}//package com.google.analytics.utils
Section 63
//Variables (com.google.analytics.utils.Variables)
package com.google.analytics.utils {
import flash.net.*;
public dynamic class Variables {
public var post:Array;
public var URIencode:Boolean;
public var pre:Array;
public var sort:Boolean;// = true
public function Variables(source:String=null, pre:Array=null, post:Array=null){
pre = [];
post = [];
super();
if (source){
decode(source);
};
if (pre){
this.pre = pre;
};
if (post){
this.post = post;
};
}
private function _join(vars:Variables):void{
var prop:String;
if (!vars){
return;
};
for (prop in vars) {
this[prop] = vars[prop];
};
}
public function join(... _args):void{
var l:int = _args.length;
var i:int;
while (i < l) {
if (!(_args[i] is Variables)){
} else {
_join(_args[i]);
};
i++;
};
}
public function toString():String{
var value:String;
var p:String;
var component:String;
var i:int;
var j:int;
var priority:String;
var last:String;
var data:Array = [];
for (p in this) {
value = this[p];
if (URIencode){
value = encodeURI(value);
};
data.push(((p + "=") + value));
};
if (sort){
data.sort();
};
if (pre.length > 0){
pre.reverse();
i = 0;
while (i < pre.length) {
priority = pre[i];
j = 0;
while (j < data.length) {
component = data[j];
if (component.indexOf(priority) == 0){
data.unshift(data.splice(j, 1)[0]);
};
j++;
};
i++;
};
pre.reverse();
};
if (post.length > 0){
i = 0;
while (i < post.length) {
last = post[i];
j = 0;
while (j < data.length) {
component = data[j];
if (component.indexOf(last) == 0){
data.push(data.splice(j, 1)[0]);
};
j++;
};
i++;
};
};
return (data.join("&"));
}
public function decode(source:String):void{
var data:Array;
var prop:String;
var name:String;
var value:String;
var tmp:Array;
if (source == ""){
return;
};
if (source.indexOf("&") > -1){
data = source.split("&");
} else {
data = [source];
};
var i:int;
while (i < data.length) {
prop = data[i];
if (prop.indexOf("=") > -1){
tmp = prop.split("=");
name = tmp[0];
value = decodeURI(tmp[1]);
this[name] = value;
};
i++;
};
}
public function toURLVariables():URLVariables{
var p:String;
var urlvars:URLVariables = new URLVariables();
for (p in this) {
urlvars[p] = this[p];
};
return (urlvars);
}
}
}//package com.google.analytics.utils
Section 64
//Version (com.google.analytics.utils.Version)
package com.google.analytics.utils {
public class Version {
private var _maxBuild:uint;// = 0xFF
private var _maxMinor:uint;// = 15
private var _maxMajor:uint;// = 15
private var _revision:uint;
private var _separator:String;// = "."
private var _maxRevision:uint;// = 0xFFFF
private var _build:uint;
private var _minor:uint;
private var _major:uint;
public function Version(_arg1:uint=0, _arg2:uint=0, _arg3:uint=0, _arg4:uint=0){
var _local5:Version;
_maxMajor = 15;
_maxMinor = 15;
_maxBuild = 0xFF;
_maxRevision = 0xFFFF;
_separator = ".";
super();
if ((((((((_arg1 > _maxMajor)) && ((_arg2 == 0)))) && ((_arg3 == 0)))) && ((_arg4 == 0)))){
_local5 = Version.fromNumber(_arg1);
_arg1 = _local5.major;
_arg2 = _local5.minor;
_arg3 = _local5.build;
_arg4 = _local5.revision;
};
this.major = _arg1;
this.minor = _arg2;
this.build = _arg3;
this.revision = _arg4;
}
public function toString(_arg1:int=0):String{
var _local2:Array;
if ((((_arg1 <= 0)) || ((_arg1 > 4)))){
_arg1 = getFields();
};
switch (_arg1){
case 1:
_local2 = [major];
break;
case 2:
_local2 = [major, minor];
break;
case 3:
_local2 = [major, minor, build];
break;
case 4:
default:
_local2 = [major, minor, build, revision];
};
return (_local2.join(_separator));
}
public function get revision():uint{
return (_revision);
}
public function set build(_arg1:uint):void{
_build = Math.min(_arg1, _maxBuild);
}
public function set minor(_arg1:uint):void{
_minor = Math.min(_arg1, _maxMinor);
}
public function get build():uint{
return (_build);
}
public function set major(_arg1:uint):void{
_major = Math.min(_arg1, _maxMajor);
}
public function get minor():uint{
return (_minor);
}
public function valueOf():uint{
return (((((major << 28) | (minor << 24)) | (build << 16)) | revision));
}
public function get major():uint{
return (_major);
}
public function set revision(_arg1:uint):void{
_revision = Math.min(_arg1, _maxRevision);
}
private function getFields():int{
var _local1:int;
_local1 = 4;
if (revision == 0){
_local1--;
};
if ((((_local1 == 3)) && ((build == 0)))){
_local1--;
};
if ((((_local1 == 2)) && ((minor == 0)))){
_local1--;
};
return (_local1);
}
public function equals(_arg1):Boolean{
if (!(_arg1 is Version)){
return (false);
};
if ((((((((_arg1.major == major)) && ((_arg1.minor == minor)))) && ((_arg1.build == build)))) && ((_arg1.revision == revision)))){
return (true);
};
return (false);
}
public static function fromString(_arg1:String="", _arg2:String="."):Version{
var _local3:Version;
var _local4:Array;
_local3 = new (Version);
if ((((_arg1 == "")) || ((_arg1 == null)))){
return (_local3);
};
if (_arg1.indexOf(_arg2) > -1){
_local4 = _arg1.split(_arg2);
_local3.major = parseInt(_local4[0]);
_local3.minor = parseInt(_local4[1]);
_local3.build = parseInt(_local4[2]);
_local3.revision = parseInt(_local4[3]);
} else {
_local3.major = parseInt(_arg1);
};
return (_local3);
}
public static function fromNumber(_arg1:Number=0):Version{
var _local2:Version;
_local2 = new (Version);
if (((((((((((isNaN(_arg1)) || ((_arg1 == 0)))) || ((_arg1 < 0)))) || ((_arg1 == Number.MAX_VALUE)))) || ((_arg1 == Number.POSITIVE_INFINITY)))) || ((_arg1 == Number.NEGATIVE_INFINITY)))){
return (_local2);
};
_local2.major = (_arg1 >>> 28);
_local2.minor = ((_arg1 & 251658240) >>> 24);
_local2.build = ((_arg1 & 0xFF0000) >>> 16);
_local2.revision = (_arg1 & 0xFFFF);
return (_local2);
}
}
}//package com.google.analytics.utils
Section 65
//Bridge (com.google.analytics.v4.Bridge)
package com.google.analytics.v4 {
import com.google.analytics.core.*;
import com.google.analytics.debug.*;
import com.google.analytics.external.*;
public class Bridge implements GoogleAnalyticsAPI {
private var _debug:DebugConfiguration;
private var _proxy:JavascriptProxy;
private var _jsContainer:String;// = "_GATracker"
private var _hasGATracker:Boolean;// = false
private var _account:String;
private static var _linkTrackingObject_js:XML = <script>
<![CDATA[
function( container , target )
{
var targets ;
var name ;
if( target.indexOf(".") > 0 )
{
targets = target.split(".");
name = targets.pop();
}
else
{
targets = [];
name = target;
}
var ref = window;
var depth = targets.length;
for( var j = 0 ; j < depth ; j++ )
{
ref = ref[ targets[j] ] ;
}
window[container][target] = ref[name] ;
}
]]>
</script>
;
private static var _createTrackingObject_js:XML = <script>
<![CDATA[
function( acct )
{
_GATracker[acct] = _gat._getTracker(acct);
}
]]>
</script>
;
private static var _injectTrackingObject_js:XML = <script>
<![CDATA[
function()
{
try
{
_GATracker
}
catch(e)
{
_GATracker = {};
}
}
]]>
</script>
;
private static var _checkGAJS_js:XML = <script>
<![CDATA[
function()
{
if( _gat && _gat._getTracker )
{
return true;
}
return false;
}
]]>
</script>
;
private static var _checkValidTrackingObject_js:XML = <script>
<![CDATA[
function(acct)
{
if( _GATracker[acct] && (_GATracker[acct]._getAccount) )
{
return true ;
}
else
{
return false;
}
}
]]>
</script>
;
public function Bridge(account:String, debug:DebugConfiguration, jsproxy:JavascriptProxy){
var msg0:String;
var msg1:String;
var msg2:String;
super();
_account = account;
_debug = debug;
_proxy = jsproxy;
if (!_checkGAJS()){
msg0 = "";
msg0 = (msg0 + "ga.js not found, be sure to check if\n");
msg0 = (msg0 + "<script src=\"http://www.google-analytics.com/ga.js\"></script>\n");
msg0 = (msg0 + "is included in the HTML.");
_debug.warning(msg0);
throw (new Error(msg0));
};
if (!_hasGATracker){
if (((_debug.javascript) && (_debug.verbose))){
msg1 = "";
msg1 = (msg1 + "The Google Analytics tracking code was not found on the container page\n");
msg1 = (msg1 + "we create it");
_debug.info(msg1, VisualDebugMode.advanced);
};
_injectTrackingObject();
};
if (Utils.validateAccount(account)){
_createTrackingObject(account);
} else {
if (_checkTrackingObject(account)){
_linkTrackingObject(account);
} else {
msg2 = "";
msg2 = (msg2 + (("JS Object \"" + account) + "\" doesn't exist in DOM\n"));
msg2 = (msg2 + "Bridge object not created.");
_debug.warning(msg2);
throw (new Error(msg2));
};
};
}
public function link(targetUrl:String, useHash:Boolean=false):void{
_debug.info((((("link( " + targetUrl) + ", ") + useHash) + " )"));
_call("_link", targetUrl, useHash);
}
public function addOrganic(newOrganicEngine:String, newOrganicKeyword:String):void{
_debug.info((("addOrganic( " + [newOrganicEngine, newOrganicKeyword].join(", ")) + " )"));
_call("_addOrganic", newOrganicEngine);
}
public function setAllowLinker(enable:Boolean):void{
_debug.info((("setAllowLinker( " + enable) + " )"));
_call("_setAllowLinker", enable);
}
private function _linkTrackingObject(path:String):void{
_proxy.call(_linkTrackingObject_js, _jsContainer, path);
}
public function trackEvent(category:String, action:String, label:String=null, value:Number=NaN):Boolean{
var param = 2;
if (((label) && (!((label == ""))))){
param = 3;
};
if ((((param == 3)) && (!(isNaN(value))))){
param = 4;
};
switch (param){
case 4:
_debug.info((("trackEvent( " + [category, action, label, value].join(", ")) + " )"));
return (_call("_trackEvent", category, action, label, value));
case 3:
_debug.info((("trackEvent( " + [category, action, label].join(", ")) + " )"));
return (_call("_trackEvent", category, action, label));
case 2:
default:
_debug.info((("trackEvent( " + [category, action].join(", ")) + " )"));
return (_call("_trackEvent", category, action));
};
}
public function setClientInfo(enable:Boolean):void{
_debug.info((("setClientInfo( " + enable) + " )"));
_call("_setClientInfo", enable);
}
public function trackTrans():void{
_debug.info("trackTrans()");
_call("_trackTrans");
}
public function setCookieTimeout(newDefaultTimeout:int):void{
_debug.info((("setCookieTimeout( " + newDefaultTimeout) + " )"));
_call("_setCookieTimeout", newDefaultTimeout);
}
public function trackPageview(pageURL:String=""):void{
_debug.info((("trackPageview( " + pageURL) + " )"));
_call("_trackPageview", pageURL);
}
public function getClientInfo():Boolean{
_debug.info("getClientInfo()");
return (_call("_getClientInfo"));
}
private function _checkValidTrackingObject(account:String):Boolean{
return (_proxy.call(_checkValidTrackingObject_js, account));
}
private function _checkGAJS():Boolean{
return (_proxy.call(_checkGAJS_js));
}
public function linkByPost(formObject:Object, useHash:Boolean=false):void{
_debug.warning((((("linkByPost( " + formObject) + ", ") + useHash) + " ) not implemented"));
}
private function _call(functionName:String, ... _args){
_args.unshift(((((("window." + _jsContainer) + "[\"") + _account) + "\"].") + functionName));
return (_proxy.call.apply(_proxy, _args));
}
public function hasGAJS():Boolean{
return (_checkGAJS());
}
private function _checkTrackingObject(account:String):Boolean{
var hasObj:Boolean = _proxy.hasProperty(account);
var isTracker:Boolean = _proxy.hasProperty((account + "._getAccount"));
return (((hasObj) && (isTracker)));
}
public function resetSession():void{
_debug.warning("resetSession() not implemented");
}
public function getDetectTitle():Boolean{
_debug.info("getDetectTitle()");
return (_call("_getDetectTitle"));
}
public function setCampNameKey(newCampNameKey:String):void{
_debug.info((("setCampNameKey( " + newCampNameKey) + " )"));
_call("_setCampNameKey", newCampNameKey);
}
public function setDetectFlash(enable:Boolean):void{
_debug.info((("setDetectFlash( " + enable) + " )"));
_call("_setDetectFlash", enable);
}
public function createEventTracker(objName:String):EventTracker{
_debug.info((("createEventTracker( " + objName) + " )"));
return (new EventTracker(objName, this));
}
public function addItem(item:String, sku:String, name:String, category:String, price:Number, quantity:int):void{
_debug.info((("addItem( " + [item, sku, name, category, price, quantity].join(", ")) + " )"));
_call("_addItem", item, sku, name, category, price, quantity);
}
public function clearIgnoredOrganic():void{
_debug.info("clearIgnoredOrganic()");
_call("_clearIgnoreOrganic");
}
public function setVar(newVal:String):void{
_debug.info((("setVar( " + newVal) + " )"));
_call("_setVar", newVal);
}
public function setDomainName(newDomainName:String):void{
_debug.info((("setDomainName( " + newDomainName) + " )"));
_call("_setDomainName", newDomainName);
}
public function hasTrackingAccount(account:String):Boolean{
if (Utils.validateAccount(account)){
return (_checkValidTrackingObject(account));
};
return (_checkTrackingObject(account));
}
public function setCampSourceKey(newCampSrcKey:String):void{
_debug.info((("setCampSourceKey( " + newCampSrcKey) + " )"));
_call("_setCampSourceKey", newCampSrcKey);
}
public function addTrans(orderId:String, affiliation:String, total:Number, tax:Number, shipping:Number, city:String, state:String, country:String):Object{
_debug.info((("addTrans( " + [orderId, affiliation, total, tax, shipping, city, state, country].join(", ")) + " )"));
_call("_addTrans", orderId, affiliation, total, tax, shipping, city, state, country);
return (null);
}
public function setCampContentKey(newCampContentKey:String):void{
_debug.info((("setCampContentKey( " + newCampContentKey) + " )"));
_call("_setCampContentKey", newCampContentKey);
}
public function setLocalServerMode():void{
_debug.info("setLocalServerMode()");
_call("_setLocalServerMode");
}
public function getLocalGifPath():String{
_debug.info("getLocalGifPath()");
return (_call("_getLocalGifPath"));
}
public function clearIgnoredRef():void{
_debug.info("clearIgnoredRef()");
_call("_clearIgnoreRef");
}
public function setAllowAnchor(enable:Boolean):void{
_debug.info((("setAllowAnchor( " + enable) + " )"));
_call("_setAllowAnchor", enable);
}
public function setLocalGifPath(newLocalGifPath:String):void{
_debug.info((("setLocalGifPath( " + newLocalGifPath) + " )"));
_call("_setLocalGifPath", newLocalGifPath);
}
public function getVersion():String{
_debug.info("getVersion()");
return (_call("_getVersion"));
}
private function _injectTrackingObject():void{
_proxy.executeBlock(_injectTrackingObject_js);
_hasGATracker = true;
}
public function setCookiePath(newCookiePath:String):void{
_debug.info((("setCookiePath( " + newCookiePath) + " )"));
_call("_setCookiePath", newCookiePath);
}
public function setSampleRate(newRate:Number):void{
_debug.info((("setSampleRate( " + newRate) + " )"));
_call("_setSampleRate", newRate);
}
public function setAllowHash(enable:Boolean):void{
_debug.info((("setAllowHash( " + enable) + " )"));
_call("_setAllowHash", enable);
}
public function addIgnoredOrganic(newIgnoredOrganicKeyword:String):void{
_debug.info((("addIgnoredOrganic( " + newIgnoredOrganicKeyword) + " )"));
_call("_addIgnoredOrganic", newIgnoredOrganicKeyword);
}
public function setCampNOKey(newCampNOKey:String):void{
_debug.info((("setCampNOKey( " + newCampNOKey) + " )"));
_call("_setCampNOKey", newCampNOKey);
}
public function cookiePathCopy(newPath:String):void{
_debug.info((("cookiePathCopy( " + newPath) + " )"));
_call("_cookiePathCopy", newPath);
}
public function setLocalRemoteServerMode():void{
_debug.info("setLocalRemoteServerMode()");
_call("_setLocalRemoteServerMode");
}
public function getServiceMode():ServerOperationMode{
_debug.info("getServiceMode()");
return (_call("_getServiceMode"));
}
public function setDetectTitle(enable:Boolean):void{
_debug.info((("setDetectTitle( " + enable) + " )"));
_call("_setDetectTitle", enable);
}
private function _createTrackingObject(account:String):void{
_proxy.call(_createTrackingObject_js, account);
}
public function setCampaignTrack(enable:Boolean):void{
_debug.info((("setCampaignTrack( " + enable) + " )"));
_call("_setCampaignTrack", enable);
}
public function clearOrganic():void{
_debug.info("clearOrganic()");
_call("_clearOrganic");
}
public function setCampTermKey(newCampTermKey:String):void{
_debug.info((("setCampTermKey( " + newCampTermKey) + " )"));
_call("_setCampTermKey", newCampTermKey);
}
public function getDetectFlash():Boolean{
_debug.info("getDetectFlash()");
return (_call("_getDetectFlash"));
}
public function setCampMediumKey(newCampMedKey:String):void{
_debug.info((("setCampMediumKey( " + newCampMedKey) + " )"));
_call("_setCampMediumKey", newCampMedKey);
}
public function addIgnoredRef(newIgnoredReferrer:String):void{
_debug.info((("addIgnoredRef( " + newIgnoredReferrer) + " )"));
_call("_addIgnoredRef", newIgnoredReferrer);
}
public function setSessionTimeout(newTimeout:int):void{
_debug.info((("setSessionTimeout( " + newTimeout) + " )"));
_call("_setSessionTimeout", newTimeout);
}
public function setRemoteServerMode():void{
_debug.info("setRemoteServerMode()");
_call("_setRemoteServerMode");
}
public function getAccount():String{
_debug.info("getAccount()");
return (_call("_getAccount"));
}
}
}//package com.google.analytics.v4
Section 66
//Configuration (com.google.analytics.v4.Configuration)
package com.google.analytics.v4 {
import com.google.analytics.core.*;
import com.google.analytics.debug.*;
import com.google.analytics.utils.*;
import com.google.analytics.campaign.*;
public class Configuration {
public var serverMode:ServerOperationMode;
public var detectFlash:Boolean;// = true
public var allowLocalTracking:Boolean;// = true
public var secureRemoteGIFpath:String;// = "https://ssl.google-analytics.com/__utm.gif"
public var hasSiteOverlay:Boolean;// = false
private var _version:String;// = "4.3as"
public var allowDomainHash:Boolean;// = true
public var detectClientInfo:Boolean;// = true
public var idleLoop:Number;// = 30
public var isTrackOutboundSubdomains:Boolean;// = false
public var cookiePath:String;// = "/"
public var transactionFieldDelim:String;// = "|"
private var _organic:Organic;
private var _cookieName:String;// = "analytics"
public var campaignKey:CampaignKey;
public var google:String;// = "google"
public var googleCsePath:String;// = "cse"
public var bucketCapacity:Number;// = 10
private var _sampleRate:Number;// = 1
public var remoteGIFpath:String;// = "http://www.google-analytics.com/__utm.gif"
public var googleSearchParam:String;// = "q"
public var allowLinker:Boolean;// = false
public var maxOutboundLinkExamined:Number;// = 1000
private var _debug:DebugConfiguration;
private var _trackingLimitPerSession:int;// = 500
private var _domain:Domain;
public var allowAnchor:Boolean;// = false
public var tokenCliff:int;// = 10
public var sessionTimeout:Number;
public var idleTimeout:Number;// = 60
public var campaignTracking:Boolean;// = true
public var domainName:String;// = ""
public var detectTitle:Boolean;// = true
public var tokenRate:Number;// = 0.2
public var conversionTimeout:Number;
public var localGIFpath:String;// = "/__utm.gif"
public function Configuration(_arg1:DebugConfiguration=null){
_version = "4.3as";
_sampleRate = 1;
_trackingLimitPerSession = 500;
_organic = new Organic();
googleCsePath = "cse";
googleSearchParam = "q";
google = "google";
_cookieName = "analytics";
allowDomainHash = true;
allowAnchor = false;
allowLinker = false;
hasSiteOverlay = false;
tokenRate = 0.2;
conversionTimeout = Timespan.sixmonths;
sessionTimeout = Timespan.thirtyminutes;
idleLoop = 30;
idleTimeout = 60;
maxOutboundLinkExamined = 1000;
tokenCliff = 10;
bucketCapacity = 10;
detectClientInfo = true;
detectFlash = true;
detectTitle = true;
campaignKey = new CampaignKey();
campaignTracking = true;
isTrackOutboundSubdomains = false;
serverMode = ServerOperationMode.remote;
localGIFpath = "/__utm.gif";
remoteGIFpath = "http://www.google-analytics.com/__utm.gif";
secureRemoteGIFpath = "https://ssl.google-analytics.com/__utm.gif";
cookiePath = "/";
transactionFieldDelim = "|";
domainName = "";
allowLocalTracking = true;
super();
_debug = _arg1;
_domain = new Domain(DomainNameMode.auto, "", _debug);
serverMode = ServerOperationMode.remote;
_initOrganicSources();
}
public function get organic():Organic{
return (_organic);
}
public function get trackingLimitPerSession():int{
return (_trackingLimitPerSession);
}
private function _initOrganicSources():void{
addOrganicSource(google, googleSearchParam);
addOrganicSource("yahoo", "p");
addOrganicSource("msn", "q");
addOrganicSource("aol", "query");
addOrganicSource("aol", "encquery");
addOrganicSource("lycos", "query");
addOrganicSource("ask", "q");
addOrganicSource("altavista", "q");
addOrganicSource("netscape", "query");
addOrganicSource("cnn", "query");
addOrganicSource("looksmart", "qt");
addOrganicSource("about", "terms");
addOrganicSource("mamma", "query");
addOrganicSource("alltheweb", "q");
addOrganicSource("gigablast", "q");
addOrganicSource("voila", "rdata");
addOrganicSource("virgilio", "qs");
addOrganicSource("live", "q");
addOrganicSource("baidu", "wd");
addOrganicSource("alice", "qs");
addOrganicSource("yandex", "text");
addOrganicSource("najdi", "q");
addOrganicSource("aol", "q");
addOrganicSource("club-internet", "q");
addOrganicSource("mama", "query");
addOrganicSource("seznam", "q");
addOrganicSource("search", "q");
addOrganicSource("wp", "szukaj");
addOrganicSource("onet", "qt");
addOrganicSource("netsprint", "q");
addOrganicSource("google.interia", "q");
addOrganicSource("szukacz", "q");
addOrganicSource("yam", "k");
addOrganicSource("pchome", "q");
addOrganicSource("kvasir", "searchExpr");
addOrganicSource("sesam", "q");
addOrganicSource("ozu", "q");
addOrganicSource("terra", "query");
addOrganicSource("nostrum", "query");
addOrganicSource("mynet", "q");
addOrganicSource("ekolay", "q");
addOrganicSource("search.ilse", "search_for");
}
public function get sampleRate():Number{
return (_sampleRate);
}
public function get cookieName():String{
return (_cookieName);
}
public function addOrganicSource(_arg1:String, _arg2:String):void{
var engine = _arg1;
var keyword = _arg2;
try {
_organic.addSource(engine, keyword);
} catch(e:Error) {
if (((_debug) && (_debug.active))){
_debug.warning(e.message);
};
};
}
public function get domain():Domain{
return (_domain);
}
public function set sampleRate(_arg1:Number):void{
if (_arg1 <= 0){
_arg1 = 0.1;
};
if (_arg1 > 1){
_arg1 = 1;
};
_arg1 = Number(_arg1.toFixed(2));
_sampleRate = _arg1;
}
public function get version():String{
return (_version);
}
}
}//package com.google.analytics.v4
Section 67
//GoogleAnalyticsAPI (com.google.analytics.v4.GoogleAnalyticsAPI)
package com.google.analytics.v4 {
import com.google.analytics.core.*;
public interface GoogleAnalyticsAPI {
function setCampSourceKey(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/v4;GoogleAnalyticsAPI.as:String):void;
function getServiceMode():ServerOperationMode;
function resetSession():void;
function setLocalServerMode():void;
function setCampContentKey(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/v4;GoogleAnalyticsAPI.as:String):void;
function addOrganic(_arg1:String, _arg2:String):void;
function setDetectFlash(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/v4;GoogleAnalyticsAPI.as:Boolean):void;
function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object;
function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean;
function setCampTermKey(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/v4;GoogleAnalyticsAPI.as:String):void;
function setCampNameKey(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/v4;GoogleAnalyticsAPI.as:String):void;
function addIgnoredOrganic(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/v4;GoogleAnalyticsAPI.as:String):void;
function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void;
function setAllowLinker(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/v4;GoogleAnalyticsAPI.as:Boolean):void;
function getClientInfo():Boolean;
function getDetectFlash():Boolean;
function setCampaignTrack(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/v4;GoogleAnalyticsAPI.as:Boolean):void;
function createEventTracker(void:String):EventTracker;
function setCookieTimeout(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/v4;GoogleAnalyticsAPI.as:int):void;
function setAllowAnchor(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/v4;GoogleAnalyticsAPI.as:Boolean):void;
function trackTrans():void;
function clearOrganic():void;
function trackPageview(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/v4;GoogleAnalyticsAPI.as:String=""):void;
function setLocalGifPath(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/v4;GoogleAnalyticsAPI.as:String):void;
function getVersion():String;
function getLocalGifPath():String;
function setVar(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/v4;GoogleAnalyticsAPI.as:String):void;
function clearIgnoredOrganic():void;
function setCampMediumKey(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/v4;GoogleAnalyticsAPI.as:String):void;
function addIgnoredRef(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/v4;GoogleAnalyticsAPI.as:String):void;
function setClientInfo(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/v4;GoogleAnalyticsAPI.as:Boolean):void;
function setCookiePath(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/v4;GoogleAnalyticsAPI.as:String):void;
function setSampleRate(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/v4;GoogleAnalyticsAPI.as:Number):void;
function setSessionTimeout(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/v4;GoogleAnalyticsAPI.as:int):void;
function setRemoteServerMode():void;
function clearIgnoredRef():void;
function setDomainName(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/v4;GoogleAnalyticsAPI.as:String):void;
function setDetectTitle(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/v4;GoogleAnalyticsAPI.as:Boolean):void;
function setAllowHash(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/v4;GoogleAnalyticsAPI.as:Boolean):void;
function getAccount():String;
function linkByPost(_arg1:Object, _arg2:Boolean=false):void;
function link(_arg1:String, _arg2:Boolean=false):void;
function setCampNOKey(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/v4;GoogleAnalyticsAPI.as:String):void;
function setLocalRemoteServerMode():void;
function cookiePathCopy(/buRRRn/projects/GAforFlash/GA_AS3/build/tmp;com/google/analytics/v4;GoogleAnalyticsAPI.as:String):void;
function getDetectTitle():Boolean;
}
}//package com.google.analytics.v4
Section 68
//Tracker (com.google.analytics.v4.Tracker)
package com.google.analytics.v4 {
import com.google.analytics.core.*;
import com.google.analytics.debug.*;
import com.google.analytics.external.*;
import com.google.analytics.utils.*;
import com.google.analytics.data.*;
import com.google.analytics.campaign.*;
public class Tracker implements GoogleAnalyticsAPI {
private const EVENT_TRACKER_LABEL_KEY_NUM:int = 3;
private const EVENT_TRACKER_VALUE_VALUE_NUM:int = 1;
private const EVENT_TRACKER_PROJECT_ID:int = 5;
private const EVENT_TRACKER_OBJECT_NAME_KEY_NUM:int = 1;
private const EVENT_TRACKER_TYPE_KEY_NUM:int = 2;
private var _adSense:AdSenseGlobals;
private var _eventTracker:X10;
private var _noSessionInformation:Boolean;// = false
private var _browserInfo:BrowserInfo;
private var _debug:DebugConfiguration;
private var _isNewVisitor:Boolean;// = false
private var _buffer:Buffer;
private var _config:Configuration;
private var _x10Module:X10;
private var _campaign:CampaignManager;
private var _formatedReferrer:String;
private var _timeStamp:Number;
private var _info:Environment;
private var _domainHash:Number;
private var _campaignInfo:CampaignInfo;
private var _gifRequest:GIFRequest;
private var _hasInitData:Boolean;// = false
private var _account:String;
public function Tracker(account:String, config:Configuration, debug:DebugConfiguration, info:Environment, buffer:Buffer, gifRequest:GIFRequest, adSense:AdSenseGlobals){
var msg:String;
super();
_account = account;
_config = config;
_debug = debug;
_info = info;
_buffer = buffer;
_gifRequest = gifRequest;
_adSense = adSense;
if (!Utils.validateAccount(account)){
msg = (("Account \"" + account) + "\" is not valid.");
_debug.warning(msg);
throw (new Error(msg));
};
_initData();
}
private function _doTracking():Boolean{
if (((((!((_info.protocol == Protocols.file))) && (!((_info.protocol == Protocols.none))))) && (_isNotGoogleSearch()))){
return (true);
};
if (_config.allowLocalTracking){
return (true);
};
return (false);
}
public function addOrganic(newOrganicEngine:String, newOrganicKeyword:String):void{
_debug.info((("addOrganic( " + [newOrganicEngine, newOrganicKeyword].join(", ")) + " )"));
_config.organic.addSource(newOrganicEngine, newOrganicKeyword);
}
public function setAllowLinker(enable:Boolean):void{
_config.allowLinker = enable;
_debug.info((("setAllowLinker( " + _config.allowLinker) + " )"));
}
public function trackEvent(category:String, action:String, label:String=null, value:Number=NaN):Boolean{
var success:Boolean;
var params = 2;
if (((!((category == ""))) && (!((action == ""))))){
_eventTracker.clearKey(EVENT_TRACKER_PROJECT_ID);
_eventTracker.clearValue(EVENT_TRACKER_PROJECT_ID);
success = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_OBJECT_NAME_KEY_NUM, category);
success = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_TYPE_KEY_NUM, action);
if (((label) && (!((label == ""))))){
success = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_LABEL_KEY_NUM, label);
params = 3;
if (!isNaN(value)){
success = _eventTracker.setValue(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_VALUE_VALUE_NUM, value);
params = 4;
};
};
if (success){
_debug.info(((("valid event tracking call\ncategory: " + category) + "\naction: ") + action), VisualDebugMode.geek);
_sendXEvent(_eventTracker);
};
} else {
_debug.warning(((("event tracking call is not valid, failed!\ncategory: " + category) + "\naction: ") + action), VisualDebugMode.geek);
success = false;
};
switch (params){
case 4:
_debug.info((("trackEvent( " + [category, action, label, value].join(", ")) + " )"));
break;
case 3:
_debug.info((("trackEvent( " + [category, action, label].join(", ")) + " )"));
break;
case 2:
default:
_debug.info((("trackEvent( " + [category, action].join(", ")) + " )"));
};
return (success);
}
public function trackPageview(pageURL:String=""):void{
_debug.info((("trackPageview( " + pageURL) + " )"));
if (_doTracking()){
_initData();
_trackMetrics(pageURL);
_noSessionInformation = false;
} else {
_debug.warning((("trackPageview( " + pageURL) + " ) failed"));
};
}
public function setCookieTimeout(newDefaultTimeout:int):void{
_config.conversionTimeout = newDefaultTimeout;
_debug.info((("setCookieTimeout( " + _config.conversionTimeout) + " )"));
}
public function trackTrans():void{
_debug.warning("trackTrans() not implemented");
}
public function setClientInfo(enable:Boolean):void{
_config.detectClientInfo = enable;
_debug.info((("setClientInfo( " + _config.detectClientInfo) + " )"));
}
public function linkByPost(formObject:Object, useHash:Boolean=false):void{
_debug.warning((("linkByPost( " + [formObject, useHash].join(", ")) + " ) not implemented"));
}
private function _initData():void{
var data0:String;
var data:String;
if (!_hasInitData){
_updateDomainName();
_domainHash = _getDomainHash();
_timeStamp = Math.round((new Date().getTime() / 1000));
if (_debug.verbose){
data0 = "";
data0 = (data0 + "_initData 0");
data0 = (data0 + ("\ndomain name: " + _config.domainName));
data0 = (data0 + ("\ndomain hash: " + _domainHash));
data0 = (data0 + (((("\ntimestamp: " + _timeStamp) + " (") + new Date((_timeStamp * 1000))) + ")"));
_debug.info(data0, VisualDebugMode.geek);
};
};
if (_doTracking()){
_handleCookie();
};
if (!_hasInitData){
if (_doTracking()){
_formatedReferrer = _formatReferrer();
_browserInfo = new BrowserInfo(_config, _info);
_debug.info(("browserInfo: " + _browserInfo.toURLString()), VisualDebugMode.advanced);
if (_config.campaignTracking){
_campaign = new CampaignManager(_config, _debug, _buffer, _domainHash, _formatedReferrer, _timeStamp);
_campaignInfo = _campaign.getCampaignInformation(_info.locationSearch, _noSessionInformation);
_debug.info(("campaignInfo: " + _campaignInfo.toURLString()), VisualDebugMode.advanced);
};
};
_x10Module = new X10();
_eventTracker = new X10();
_hasInitData = true;
};
if (_config.hasSiteOverlay){
_debug.warning("Site Overlay is not supported");
};
if (_debug.verbose){
data = "";
data = (data + "_initData (misc)");
data = (data + ("\nflash version: " + _info.flashVersion.toString(4)));
data = (data + ("\nprotocol: " + _info.protocol));
data = (data + (("\ndefault domain name (auto): \"" + _info.domainName) + "\""));
data = (data + ("\nlanguage: " + _info.language));
data = (data + ("\ndomain hash: " + _getDomainHash()));
data = (data + ("\nuser-agent: " + _info.userAgent));
_debug.info(data, VisualDebugMode.geek);
};
}
public function getDetectTitle():Boolean{
_debug.info("getDetectTitle()");
return (_config.detectTitle);
}
public function resetSession():void{
_debug.info("resetSession()");
_buffer.resetCurrentSession();
}
public function getClientInfo():Boolean{
_debug.info("getClientInfo()");
return (_config.detectClientInfo);
}
private function _sendXEvent(opt_xObj:X10=null):void{
var searchVariables:Variables;
var eventInfo:EventInfo;
var eventvars:Variables;
var generalvars:Variables;
_initData();
if (_takeSample()){
searchVariables = new Variables();
searchVariables.URIencode = true;
eventInfo = new EventInfo(true, _x10Module, opt_xObj);
eventvars = eventInfo.toVariables();
generalvars = _renderMetricsSearchVariables();
searchVariables.join(eventvars, generalvars);
_gifRequest.send(_account, searchVariables, false, true);
};
}
public function setDetectFlash(enable:Boolean):void{
_config.detectFlash = enable;
_debug.info((("setDetectFlash( " + _config.detectFlash) + " )"));
}
public function setCampNameKey(newCampNameKey:String):void{
_config.campaignKey.UCCN = newCampNameKey;
var msg = (("setCampNameKey( " + _config.campaignKey.UCCN) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((msg + " [UCCN]"));
} else {
_debug.info(msg);
};
}
private function _formatReferrer():String{
var domainName:String;
var ref:URL;
var dom:URL;
var referrer:String = _info.referrer;
if ((((referrer == "")) || ((referrer == "localhost")))){
referrer = "-";
} else {
domainName = _info.domainName;
ref = new URL(referrer);
dom = new URL(("http://" + domainName));
if (ref.hostName == domainName){
return ("-");
};
if (dom.domain == ref.domain){
if (dom.subDomain != ref.subDomain){
referrer = "0";
};
};
if ((((referrer.charAt(0) == "[")) && (referrer.charAt((referrer.length - 1))))){
referrer = "-";
};
};
_debug.info(("formated referrer: " + referrer), VisualDebugMode.advanced);
return (referrer);
}
private function _visitCode():Number{
if (_debug.verbose){
_debug.info(("visitCode: " + _buffer.utma.sessionId), VisualDebugMode.geek);
};
return (_buffer.utma.sessionId);
}
public function createEventTracker(objName:String):EventTracker{
_debug.info((("createEventTracker( " + objName) + " )"));
return (new EventTracker(objName, this));
}
public function addItem(item:String, sku:String, name:String, category:String, price:Number, quantity:int):void{
_debug.warning((("addItem( " + [item, sku, name, category, price, quantity].join(", ")) + " ) not implemented"));
}
public function clearIgnoredOrganic():void{
_debug.info("clearIgnoredOrganic()");
_config.organic.clearIgnoredKeywords();
}
public function setVar(newVal:String):void{
var variables:Variables;
if (((!((newVal == ""))) && (_isNotGoogleSearch()))){
_initData();
_buffer.utmv.domainHash = _domainHash;
_buffer.utmv.value = newVal;
if (_debug.verbose){
_debug.info(_buffer.utmv.toString(), VisualDebugMode.geek);
};
_debug.info((("setVar( " + newVal) + " )"));
if (_takeSample()){
variables = new Variables();
variables.utmt = "var";
_gifRequest.send(_account, variables);
};
} else {
_debug.warning((("setVar \"" + newVal) + "\" is ignored"));
};
}
public function setDomainName(newDomainName:String):void{
if (newDomainName == "auto"){
_config.domain.mode = DomainNameMode.auto;
} else {
if (newDomainName == "none"){
_config.domain.mode = DomainNameMode.none;
} else {
_config.domain.mode = DomainNameMode.custom;
_config.domain.name = newDomainName;
};
};
_updateDomainName();
_debug.info((("setDomainName( " + _config.domainName) + " )"));
}
private function _updateDomainName():void{
var domainName:String;
if (_config.domain.mode == DomainNameMode.auto){
domainName = _info.domainName;
if (domainName.substring(0, 4) == "www."){
domainName = domainName.substring(4);
};
_config.domain.name = domainName;
};
_config.domainName = _config.domain.name.toLowerCase();
_debug.info(("domain name: " + _config.domainName), VisualDebugMode.advanced);
}
public function addTrans(orderId:String, affiliation:String, total:Number, tax:Number, shipping:Number, city:String, state:String, country:String):Object{
_debug.warning((("addTrans( " + [orderId, affiliation, total, tax, shipping, city, state, country].join(", ")) + " ) not implemented"));
return (null);
}
private function _renderMetricsSearchVariables(pageURL:String=""):Variables{
var campvars:Variables;
var variables:Variables = new Variables();
variables.URIencode = true;
var docInfo:DocumentInfo = new DocumentInfo(_config, _info, _formatedReferrer, pageURL, _adSense);
_debug.info(("docInfo: " + docInfo.toURLString()), VisualDebugMode.geek);
if (_config.campaignTracking){
campvars = _campaignInfo.toVariables();
};
var browservars:Variables = _browserInfo.toVariables();
variables.join(docInfo.toVariables(), browservars, campvars);
return (variables);
}
public function setCampContentKey(newCampContentKey:String):void{
_config.campaignKey.UCCT = newCampContentKey;
var msg = (("setCampContentKey( " + _config.campaignKey.UCCT) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((msg + " [UCCT]"));
} else {
_debug.info(msg);
};
}
private function _handleCookie():void{
var data0:String;
var data1:String;
var vid:Array;
var data2:String;
if (_config.allowLinker){
};
if (((_buffer.hasUTMA()) && (!(_buffer.utma.isEmpty())))){
if (((!(_buffer.hasUTMB())) || (!(_buffer.hasUTMC())))){
_buffer.updateUTMA(_timeStamp);
_noSessionInformation = true;
};
if (_debug.verbose){
_debug.info(("from cookie " + _buffer.utma.toString()), VisualDebugMode.geek);
};
} else {
_debug.info("create a new utma", VisualDebugMode.advanced);
_buffer.utma.domainHash = _domainHash;
_buffer.utma.sessionId = _getUniqueSessionId();
_buffer.utma.firstTime = _timeStamp;
_buffer.utma.lastTime = _timeStamp;
_buffer.utma.currentTime = _timeStamp;
_buffer.utma.sessionCount = 1;
if (_debug.verbose){
_debug.info(_buffer.utma.toString(), VisualDebugMode.geek);
};
_noSessionInformation = true;
_isNewVisitor = true;
};
if (((_adSense.gaGlobal) && ((_adSense.dh == String(_domainHash))))){
if (_adSense.sid){
_buffer.utma.currentTime = Number(_adSense.sid);
if (_debug.verbose){
data0 = "";
data0 = (data0 + "AdSense sid found\n");
data0 = (data0 + (((("Override currentTime(" + _buffer.utma.currentTime) + ") from AdSense sid(") + Number(_adSense.sid)) + ")"));
_debug.info(data0, VisualDebugMode.geek);
};
};
if (_isNewVisitor){
if (_adSense.sid){
_buffer.utma.lastTime = Number(_adSense.sid);
if (_debug.verbose){
data1 = "";
data1 = (data1 + "AdSense sid found (new visitor)\n");
data1 = (data1 + (((("Override lastTime(" + _buffer.utma.lastTime) + ") from AdSense sid(") + Number(_adSense.sid)) + ")"));
_debug.info(data1, VisualDebugMode.geek);
};
};
if (_adSense.vid){
vid = _adSense.vid.split(".");
_buffer.utma.sessionId = Number(vid[0]);
_buffer.utma.firstTime = Number(vid[1]);
if (_debug.verbose){
data2 = "";
data2 = (data2 + "AdSense vid found (new visitor)\n");
data2 = (data2 + (((("Override sessionId(" + _buffer.utma.sessionId) + ") from AdSense vid(") + Number(vid[0])) + ")\n"));
data2 = (data2 + (((("Override firstTime(" + _buffer.utma.firstTime) + ") from AdSense vid(") + Number(vid[1])) + ")"));
_debug.info(data2, VisualDebugMode.geek);
};
};
if (_debug.verbose){
_debug.info(("AdSense modified : " + _buffer.utma.toString()), VisualDebugMode.geek);
};
};
};
_buffer.utmb.domainHash = _domainHash;
if (isNaN(_buffer.utmb.trackCount)){
_buffer.utmb.trackCount = 0;
};
if (isNaN(_buffer.utmb.token)){
_buffer.utmb.token = _config.tokenCliff;
};
if (isNaN(_buffer.utmb.lastTime)){
_buffer.utmb.lastTime = _buffer.utma.currentTime;
};
_buffer.utmc.domainHash = _domainHash;
if (_debug.verbose){
_debug.info(_buffer.utmb.toString(), VisualDebugMode.advanced);
_debug.info(_buffer.utmc.toString(), VisualDebugMode.advanced);
};
}
public function setLocalServerMode():void{
_config.serverMode = ServerOperationMode.local;
_debug.info("setLocalServerMode()");
}
public function clearIgnoredRef():void{
_debug.info("clearIgnoredRef()");
_config.organic.clearIgnoredReferrals();
}
public function setCampSourceKey(newCampSrcKey:String):void{
_config.campaignKey.UCSR = newCampSrcKey;
var msg = (("setCampSourceKey( " + _config.campaignKey.UCSR) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((msg + " [UCSR]"));
} else {
_debug.info(msg);
};
}
public function getLocalGifPath():String{
_debug.info("getLocalGifPath()");
return (_config.localGIFpath);
}
public function setLocalGifPath(newLocalGifPath:String):void{
_config.localGIFpath = newLocalGifPath;
_debug.info((("setLocalGifPath( " + _config.localGIFpath) + " )"));
}
public function getVersion():String{
_debug.info("getVersion()");
return (_config.version);
}
public function setAllowAnchor(enable:Boolean):void{
_config.allowAnchor = enable;
_debug.info((("setAllowAnchor( " + _config.allowAnchor) + " )"));
}
private function _isNotGoogleSearch():Boolean{
var domainName:String = _config.domainName;
var g0 = (domainName.indexOf("www.google.") < 0);
var g1 = (domainName.indexOf(".google.") < 0);
var g2 = (domainName.indexOf("google.") < 0);
var g4 = (domainName.indexOf("google.org") > -1);
return (((((((((g0) || (g1))) || (g2))) || (!((_config.cookiePath == "/"))))) || (g4)));
}
public function setSampleRate(newRate:Number):void{
if (newRate < 0){
_debug.warning("sample rate can not be negative, ignoring value.");
} else {
_config.sampleRate = newRate;
};
_debug.info((("setSampleRate( " + _config.sampleRate) + " )"));
}
private function _takeSample():Boolean{
if (_debug.verbose){
_debug.info((((("takeSample: (" + (_visitCode() % 10000)) + ") < (") + (_config.sampleRate * 10000)) + ")"), VisualDebugMode.geek);
};
return (((_visitCode() % 10000) < (_config.sampleRate * 10000)));
}
public function setCookiePath(newCookiePath:String):void{
_config.cookiePath = newCookiePath;
_debug.info((("setCookiePath( " + _config.cookiePath) + " )"));
}
public function setAllowHash(enable:Boolean):void{
_config.allowDomainHash = enable;
_debug.info((("setAllowHash( " + _config.allowDomainHash) + " )"));
}
private function _generateUserDataHash():Number{
var hash:String = "";
hash = (hash + _info.appName);
hash = (hash + _info.appVersion);
hash = (hash + _info.language);
hash = (hash + _info.platform);
hash = (hash + _info.userAgent.toString());
hash = (hash + (((_info.screenWidth + "x") + _info.screenHeight) + _info.screenColorDepth));
hash = (hash + _info.referrer);
return (Utils.generateHash(hash));
}
public function setCampNOKey(newCampNOKey:String):void{
_config.campaignKey.UCNO = newCampNOKey;
var msg = (("setCampNOKey( " + _config.campaignKey.UCNO) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((msg + " [UCNO]"));
} else {
_debug.info(msg);
};
}
public function addIgnoredOrganic(newIgnoredOrganicKeyword:String):void{
_debug.info((("addIgnoredOrganic( " + newIgnoredOrganicKeyword) + " )"));
_config.organic.addIgnoredKeyword(newIgnoredOrganicKeyword);
}
public function setLocalRemoteServerMode():void{
_config.serverMode = ServerOperationMode.both;
_debug.info("setLocalRemoteServerMode()");
}
public function cookiePathCopy(newPath:String):void{
_debug.warning((("cookiePathCopy( " + newPath) + " ) not implemented"));
}
public function setDetectTitle(enable:Boolean):void{
_config.detectTitle = enable;
_debug.info((("setDetectTitle( " + _config.detectTitle) + " )"));
}
public function setCampTermKey(newCampTermKey:String):void{
_config.campaignKey.UCTR = newCampTermKey;
var msg = (("setCampTermKey( " + _config.campaignKey.UCTR) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((msg + " [UCTR]"));
} else {
_debug.info(msg);
};
}
public function getServiceMode():ServerOperationMode{
_debug.info("getServiceMode()");
return (_config.serverMode);
}
private function _trackMetrics(pageURL:String=""):void{
var searchVariables:Variables;
var x10vars:Variables;
var generalvars:Variables;
var eventInfo:EventInfo;
if (_takeSample()){
searchVariables = new Variables();
searchVariables.URIencode = true;
if (((_x10Module) && (_x10Module.hasData()))){
eventInfo = new EventInfo(false, _x10Module);
x10vars = eventInfo.toVariables();
};
generalvars = _renderMetricsSearchVariables(pageURL);
searchVariables.join(x10vars, generalvars);
_gifRequest.send(_account, searchVariables);
};
}
public function setCampaignTrack(enable:Boolean):void{
_config.campaignTracking = enable;
_debug.info((("setCampaignTrack( " + _config.campaignTracking) + " )"));
}
public function addIgnoredRef(newIgnoredReferrer:String):void{
_debug.info((("addIgnoredRef( " + newIgnoredReferrer) + " )"));
_config.organic.addIgnoredReferral(newIgnoredReferrer);
}
public function clearOrganic():void{
_debug.info("clearOrganic()");
_config.organic.clearEngines();
}
public function getDetectFlash():Boolean{
_debug.info("getDetectFlash()");
return (_config.detectFlash);
}
public function setCampMediumKey(newCampMedKey:String):void{
_config.campaignKey.UCMD = newCampMedKey;
var msg = (("setCampMediumKey( " + _config.campaignKey.UCMD) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((msg + " [UCMD]"));
} else {
_debug.info(msg);
};
}
private function _getUniqueSessionId():Number{
var sessionID:Number = ((Utils.generate32bitRandom() ^ _generateUserDataHash()) * 2147483647);
_debug.info(("Session ID: " + sessionID), VisualDebugMode.geek);
return (sessionID);
}
private function _getDomainHash():Number{
if (((((!(_config.domainName)) || ((_config.domainName == "")))) || ((_config.domain.mode == DomainNameMode.none)))){
_config.domainName = "";
return (1);
};
_updateDomainName();
if (_config.allowDomainHash){
return (Utils.generateHash(_config.domainName));
};
return (1);
}
public function setSessionTimeout(newTimeout:int):void{
_config.sessionTimeout = newTimeout;
_debug.info((("setSessionTimeout( " + _config.sessionTimeout) + " )"));
}
public function getAccount():String{
_debug.info("getAccount()");
return (_account);
}
public function link(targetUrl:String, useHash:Boolean=false):void{
_debug.warning((("link( " + [targetUrl, useHash].join(", ")) + " ) not implemented"));
}
public function setRemoteServerMode():void{
_config.serverMode = ServerOperationMode.remote;
_debug.info("setRemoteServerMode()");
}
}
}//package com.google.analytics.v4
Section 69
//AnalyticsTracker (com.google.analytics.AnalyticsTracker)
package com.google.analytics {
import flash.events.*;
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
public interface AnalyticsTracker extends GoogleAnalyticsAPI, IEventDispatcher {
function set config(_arg1:Configuration):void;
function isReady():Boolean;
function get mode():String;
function set debug(_arg1:DebugConfiguration):void;
function get account():String;
function set mode(_arg1:String):void;
function get config():Configuration;
function get debug():DebugConfiguration;
function set account(_arg1:String):void;
function get visualDebug():Boolean;
function set visualDebug(_arg1:Boolean):void;
}
}//package com.google.analytics
Section 70
//API (com.google.analytics.API)
package com.google.analytics {
import com.google.analytics.utils.*;
public class API {
public static var version:Version = new Version();
public function API(){
super();
}
version.major = 1;
version.minor = 0;
version.build = 1;
version.revision = "$Rev: 319 $ ".split(" ")[1];
}
}//package com.google.analytics
Section 71
//GATracker (com.google.analytics.GATracker)
package com.google.analytics {
import flash.events.*;
import flash.display.*;
import com.google.analytics.core.*;
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import com.google.analytics.external.*;
import com.google.analytics.utils.*;
import com.google.analytics.events.*;
public class GATracker implements AnalyticsTracker {
private var _adSense:AdSenseGlobals;
private var _env:Environment;
private var _visualDebug:Boolean;
private var _idleTimer:IdleTimer;
private var _debug:DebugConfiguration;
private var _buffer:Buffer;
private var _config:Configuration;
private var _mode:String;
private var _display:DisplayObject;
private var _jsproxy:JavascriptProxy;
private var _dom:HTMLDOM;
private var _eventDispatcher:EventDispatcher;
private var _ready:Boolean;// = false
private var _gifRequest:GIFRequest;
private var _account:String;
private var _tracker:GoogleAnalyticsAPI;
public static var version:Version = API.version;
public static var autobuild:Boolean = true;
public function GATracker(_arg1:DisplayObject, _arg2:String, _arg3:String="AS3", _arg4:Boolean=false, _arg5:Configuration=null, _arg6:DebugConfiguration=null){
_ready = false;
super();
_display = _arg1;
_eventDispatcher = new EventDispatcher(this);
_tracker = new TrackerCache();
this.account = _arg2;
this.mode = _arg3;
this.visualDebug = _arg4;
if (!_arg6){
this.debug = new DebugConfiguration();
};
if (!_arg5){
this.config = new Configuration(_arg6);
};
if (autobuild){
_factory();
};
}
public function link(_arg1:String, _arg2:Boolean=false):void{
_tracker.link(_arg1, _arg2);
}
public function addOrganic(_arg1:String, _arg2:String):void{
_tracker.addOrganic(_arg1, _arg2);
}
public function setAllowLinker(_arg1:Boolean):void{
_tracker.setAllowLinker(_arg1);
}
public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{
return (_tracker.trackEvent(_arg1, _arg2, _arg3, _arg4));
}
public function setCookieTimeout(_arg1:int):void{
_tracker.setCookieTimeout(_arg1);
}
public function trackTrans():void{
_tracker.trackTrans();
}
public function trackPageview(_arg1:String=""):void{
_tracker.trackPageview(_arg1);
}
public function getClientInfo():Boolean{
return (_tracker.getClientInfo());
}
public function setClientInfo(_arg1:Boolean):void{
_tracker.setClientInfo(_arg1);
}
public function get account():String{
return (_account);
}
public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{
_tracker.linkByPost(_arg1, _arg2);
}
public function getDetectTitle():Boolean{
return (_tracker.getDetectTitle());
}
public function dispatchEvent(_arg1:Event):Boolean{
return (_eventDispatcher.dispatchEvent(_arg1));
}
public function get config():Configuration{
return (_config);
}
public function set mode(_arg1:String):void{
_mode = _arg1;
}
public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{
_eventDispatcher.removeEventListener(_arg1, _arg2, _arg3);
}
public function setDetectFlash(_arg1:Boolean):void{
_tracker.setDetectFlash(_arg1);
}
public function resetSession():void{
_tracker.resetSession();
}
public function setCampNameKey(_arg1:String):void{
_tracker.setCampNameKey(_arg1);
}
public function get debug():DebugConfiguration{
return (_debug);
}
public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{
_tracker.addItem(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
private function _bridgeFactory():GoogleAnalyticsAPI{
debug.info(((("GATracker (Bridge) v" + version) + "\naccount: ") + account));
return (new Bridge(account, _debug, _jsproxy));
}
public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{
_eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5);
}
public function clearIgnoredOrganic():void{
_tracker.clearIgnoredOrganic();
}
public function set account(_arg1:String):void{
_account = _arg1;
}
public function setVar(_arg1:String):void{
_tracker.setVar(_arg1);
}
public function build():void{
if (!isReady()){
_factory();
};
}
public function setDomainName(_arg1:String):void{
_tracker.setDomainName(_arg1);
}
public function createEventTracker(_arg1:String):EventTracker{
return (_tracker.createEventTracker(_arg1));
}
public function set config(_arg1:Configuration):void{
_config = _arg1;
}
public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{
return (_tracker.addTrans(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8));
}
public function setCampSourceKey(_arg1:String):void{
_tracker.setCampSourceKey(_arg1);
}
public function setCampContentKey(_arg1:String):void{
_tracker.setCampContentKey(_arg1);
}
public function willTrigger(_arg1:String):Boolean{
return (_eventDispatcher.willTrigger(_arg1));
}
public function setLocalServerMode():void{
_tracker.setLocalServerMode();
}
public function isReady():Boolean{
return (_ready);
}
public function getLocalGifPath():String{
return (_tracker.getLocalGifPath());
}
public function setAllowAnchor(_arg1:Boolean):void{
_tracker.setAllowAnchor(_arg1);
}
public function clearIgnoredRef():void{
_tracker.clearIgnoredRef();
}
public function get mode():String{
return (_mode);
}
public function set debug(_arg1:DebugConfiguration):void{
_debug = _arg1;
}
public function setLocalGifPath(_arg1:String):void{
_tracker.setLocalGifPath(_arg1);
}
public function getVersion():String{
return (_tracker.getVersion());
}
public function setSampleRate(_arg1:Number):void{
_tracker.setSampleRate(_arg1);
}
public function setCookiePath(_arg1:String):void{
_tracker.setCookiePath(_arg1);
}
public function setAllowHash(_arg1:Boolean):void{
_tracker.setAllowHash(_arg1);
}
public function setCampNOKey(_arg1:String):void{
_tracker.setCampNOKey(_arg1);
}
public function addIgnoredOrganic(_arg1:String):void{
_tracker.addIgnoredOrganic(_arg1);
}
public function setLocalRemoteServerMode():void{
_tracker.setLocalRemoteServerMode();
}
public function cookiePathCopy(_arg1:String):void{
_tracker.cookiePathCopy(_arg1);
}
private function _factory():void{
var _local1:GoogleAnalyticsAPI;
var _local2:TrackerCache;
_jsproxy = new JavascriptProxy(debug);
if (visualDebug){
debug.layout = new Layout(debug, _display);
debug.active = visualDebug;
};
_local2 = (_tracker as TrackerCache);
switch (mode){
case TrackerMode.BRIDGE:
_local1 = _bridgeFactory();
break;
case TrackerMode.AS3:
default:
_local1 = _trackerFactory();
};
if (!_local2.isEmpty()){
_local2.tracker = _local1;
_local2.flush();
};
_tracker = _local1;
_ready = true;
dispatchEvent(new AnalyticsEvent(AnalyticsEvent.READY, this));
}
public function setCampTermKey(_arg1:String):void{
_tracker.setCampTermKey(_arg1);
}
private function _trackerFactory():GoogleAnalyticsAPI{
debug.info(((("GATracker (AS3) v" + version) + "\naccount: ") + account));
_adSense = new AdSenseGlobals(debug);
_dom = new HTMLDOM(debug);
_dom.cacheProperties();
_env = new Environment("", "", "", debug, _dom);
_buffer = new Buffer(config, debug, false);
_gifRequest = new GIFRequest(config, debug, _buffer, _env);
_idleTimer = new IdleTimer(config, debug, _display, _buffer);
_env.url = _display.stage.loaderInfo.url;
return (new Tracker(account, config, debug, _env, _buffer, _gifRequest, _adSense));
}
public function setDetectTitle(_arg1:Boolean):void{
_tracker.setDetectTitle(_arg1);
}
public function getServiceMode():ServerOperationMode{
return (_tracker.getServiceMode());
}
public function clearOrganic():void{
_tracker.clearOrganic();
}
public function setCampaignTrack(_arg1:Boolean):void{
_tracker.setCampaignTrack(_arg1);
}
public function addIgnoredRef(_arg1:String):void{
_tracker.addIgnoredRef(_arg1);
}
public function set visualDebug(_arg1:Boolean):void{
_visualDebug = _arg1;
}
public function setCampMediumKey(_arg1:String):void{
_tracker.setCampMediumKey(_arg1);
}
public function setSessionTimeout(_arg1:int):void{
_tracker.setSessionTimeout(_arg1);
}
public function getDetectFlash():Boolean{
return (_tracker.getDetectFlash());
}
public function get visualDebug():Boolean{
return (_visualDebug);
}
public function getAccount():String{
return (_tracker.getAccount());
}
public function hasEventListener(_arg1:String):Boolean{
return (_eventDispatcher.hasEventListener(_arg1));
}
public function setRemoteServerMode():void{
_tracker.setRemoteServerMode();
}
}
var _local1:* = ServerOperationMode;
return (_local1);
}//package com.google.analytics
Section 72
//SpilGamesServices (com.spilgames.api.SpilGamesServices)
package com.spilgames.api {
import flash.events.*;
import flash.display.*;
import flash.net.*;
import flash.system.*;
public class SpilGamesServices extends MovieClip {
private var _connected:Boolean;// = false
private var ERR_LOADCOMP:String;// = "Failed to load Spil Social Component."
private var _loader:Loader;
private var ERR_DOWNLOAD:String;// = "Failed downloading Spil Games Social configurator component."
private var _connecting:Boolean;// = false
private var DEFAULT_CONNECTION_LOCATION:String;// = "http://www8.agame.com/games/flash/services/ServicesConnection.swf"
private var ERR_INITCOMP:String;// = "Failed to communication with a Spil Social Component."
private var ERR_SPILCALL:String;// = "Failed processing a Spil call."
private var ERR_NOPARENT:String;// = "Failed creating Spil Games connector: No parent provided."
private var _showDebug:Boolean;// = false
private var _servicesConnection;// = null
private var _alwaysInFront:Boolean;// = false
public static const INVALID_TYPE:int = -1;
public static const INVALID_ID:int = -1;
private static var _instance:SpilGamesServices = null;
public function SpilGamesServices(){
if (_instance){
throw (new Error("Only a single instance can be created."));
};
_instance = this;
}
private function handleServicesFailed(_arg1:ErrorEvent):void{
_servicesConnection.removeEventListener(Event.COMPLETE, handleServicesReady);
_servicesConnection.removeEventListener(ErrorEvent.ERROR, handleServicesFailed);
_servicesConnection.removeEventListener("serviceError", handleServiceError);
_servicesConnection = null;
if (hasEventListener("servicesFailed")){
dispatchEvent(new ErrorEvent("servicesFailed", false, false, _arg1.text));
};
}
private function handleLoadComplete(_arg1:Event):void{
_loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete);
_loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError);
_servicesConnection = LoaderInfo(_arg1.target).content;
_servicesConnection.addEventListener(Event.COMPLETE, handleServicesReady);
_servicesConnection.addEventListener(ErrorEvent.ERROR, handleServicesFailed);
_servicesConnection.addEventListener("serviceError", handleServiceError);
addChild(_servicesConnection);
}
public function send(_arg1:String, _arg2:String, _arg3:Function, _arg4:Object=null):int{
if (_connected){
return (_servicesConnection.send(_arg1, _arg2, _arg3, _arg4));
};
return (INVALID_ID);
}
public function get connected():Boolean{
return (_connected);
}
public function showErrorMessage(_arg1:String):void{
if (((_servicesConnection) && (_servicesConnection.hasOwnProperty("showErrorMessage")))){
_servicesConnection.showErrorMessage(_arg1);
};
}
public function isSWFReady():Boolean{
return (isReady());
}
public function getSiteID():int{
if (_servicesConnection != null){
return (_servicesConnection.getSiteID());
};
return (INVALID_ID);
}
public function isReady():Boolean{
return (((!((_servicesConnection == null))) && (_servicesConnection.isReady())));
}
private function handleServiceError(_arg1:Event):void{
var _local2 = "";
if ((_arg1 is ErrorEvent)){
_local2 = ErrorEvent(_arg1).text;
} else {
_local2 = _arg1.toString();
};
if (hasEventListener("serviceError")){
dispatchEvent(new ErrorEvent("serviceError", false, false, _local2));
};
}
public function disconnect():void{
if (_connected){
_servicesConnection.removeEventListener();
_servicesConnection.removeEventListener();
_servicesConnection.removeEventListener();
_servicesConnection.disconnect();
_servicesConnection = null;
};
if (_loader){
try {
_loader.close();
} catch(e:Error) {
} finally {
_loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete);
_loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError);
};
};
removeEventListener(Event.ENTER_FRAME, bringToFront);
if (parent){
parent.removeChild(this);
};
}
private function handleServicesReady(_arg1:Event):void{
_loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete);
_loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError);
_connected = true;
_connecting = false;
dispatchEvent(new Event("servicesReady"));
}
public function getChannelID():int{
if (_servicesConnection != null){
return (_servicesConnection.getChannelID());
};
return (INVALID_ID);
}
public function set showDebug(_arg1:Boolean):void{
if (_showDebug != _arg1){
_showDebug = _arg1;
if (_showDebug){
bringToFront();
};
};
}
public function hasValidUserData():Boolean{
return (isGuest());
}
public function isDomainAllowed():Boolean{
return (((!((_servicesConnection == null))) && (_servicesConnection.isDomainValid())));
}
public function isGuest():Boolean{
var _local1:Object;
if (_servicesConnection != null){
return (_servicesConnection.isGuest());
};
trace("WARNING: SpilGamesServices connection not ready yet");
if (root.loaderInfo != null){
_local1 = root.loaderInfo.parameters;
return (((((((!(_local1.username)) || ((_local1.username == "")))) || (!(_local1.hash)))) || ((_local1.hash == ""))));
};
return (false);
}
public function get showDebug():Boolean{
return (_showDebug);
}
private function handleIOError(_arg1:IOErrorEvent):void{
_loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete);
_loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError);
if (hasEventListener(_arg1.type)){
dispatchEvent(_arg1);
};
}
public function getItemType():int{
if (_servicesConnection != null){
return (_servicesConnection.getItemType());
};
return (INVALID_TYPE);
}
public function set alwaysInFront(_arg1:Boolean):void{
if (_alwaysInFront != _arg1){
_alwaysInFront = _arg1;
if (_alwaysInFront){
addEventListener(Event.ENTER_FRAME, bringToFront);
} else {
removeEventListener(Event.ENTER_FRAME, bringToFront);
};
};
}
public function getItemID():int{
if (_servicesConnection != null){
return (_servicesConnection.getItemID());
};
return (INVALID_ID);
}
public function getUserName():String{
if (_servicesConnection != null){
return (_servicesConnection.getUserName());
};
return ("");
}
public function allowDomain(_arg1:String):void{
Security.allowDomain("*");
Security.allowInsecureDomain("*");
}
public function getUserHash():String{
if (_servicesConnection != null){
return (_servicesConnection.getUserHash());
};
return ("");
}
public function connect(_arg1:DisplayObjectContainer):void{
var _local2:String;
var _local3:URLRequest;
if (((!(_connecting)) && (!(_connected)))){
if (!_arg1.stage){
trace("ERROR: The given clip must be present in the display list (added to stage)");
return;
};
_connecting = true;
_arg1.stage.addChild(this);
_local2 = DEFAULT_CONNECTION_LOCATION;
if (((root.loaderInfo.parameters["servicesLoc"]) && ((root.loaderInfo.parameters["servicesLoc"].length > 0)))){
_local2 = root.loaderInfo.parameters["servicesLoc"];
};
allowDomain(_local2);
_loader = new Loader();
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, handleLoadComplete);
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleIOError);
_local3 = new URLRequest(_local2);
_loader.load(_local3);
};
}
public function get alwaysInFront():Boolean{
return (_alwaysInFront);
}
public function bringToFront(_arg1:Event=null):void{
var e = _arg1;
if (parent){
try {
parent.setChildIndex(this, (parent.numChildren - 1));
} catch(e:Error) {
removeEventListener(Event.ENTER_FRAME, bringToFront);
};
};
}
public static function getInstance():SpilGamesServices{
if (!_instance){
_instance = new (SpilGamesServices);
};
return (_instance);
}
}
}//package com.spilgames.api
Section 73
//FadeOut (Effect.FadeOut)
package Effect {
import flash.display.*;
import flash.events.*;
import Player.*;
import GameLogic.*;
import flash.utils.*;
public class FadeOut {
private var timer:Timer;
private var isFadeout:Boolean;
private var isFadein:Boolean;
private var mc:MovieClip;
private var black:MovieClip;
public function FadeOut(p:MovieClip){
super();
mc = p;
var BlackClass:Class = (getDefinitionByName("BlackMC") as Class);
black = new (BlackClass);
mc.addChild(black);
black.alpha = 0;
trace(mc.numChildren);
isFadein = true;
mc.addEventListener(Event.ENTER_FRAME, frameHandle);
}
private function timerHandle(e:TimerEvent):void{
timer.stop();
timer.removeEventListener(TimerEvent.TIMER_COMPLETE, timerHandle);
isFadeout = true;
}
private function clear():void{
trace("clear");
mc.removeChild(black);
black = null;
}
private function frameHandle(e:Event):void{
if (isFadein == true){
black.alpha = (black.alpha + 0.02);
if (black.alpha >= 0.95){
isFadein = false;
timer = new Timer(1500, 1);
timer.addEventListener(TimerEvent.TIMER_COMPLETE, timerHandle);
timer.start();
Game.isReset = true;
};
Man.isRemoveCtrl = true;
};
if (isFadeout == true){
black.alpha = (black.alpha - 0.02);
if (black.alpha <= 0.05){
black.alpha = 0;
isFadeout = false;
clear();
trace("addCtrl");
Man.isAddCtrl = true;
} else {
Man.isRemoveCtrl = true;
};
};
}
}
}//package Effect
Section 74
//ToNextMap (Effect.ToNextMap)
package Effect {
import flash.display.*;
import flash.events.*;
import Player.*;
import GameLogic.*;
import flash.utils.*;
import zlong.breathxue.utils.*;
public class ToNextMap {
public static var timer:Timer;
public static var isFadeout:Boolean;
public static var isFadein:Boolean;
public static var numMap:int;
public static var black:Sprite;
public function ToNextMap(){
super();
}
public static function gotoNextMap(mc:MovieClip):void{
black = Attach.getSprite("BlackMC");
Doc.blackMC.addChild(black);
black.alpha = 0;
mc.addEventListener(Event.ENTER_FRAME, staticFrame);
isFadein = true;
}
public static function timerHandle(e:TimerEvent):void{
timer.stop();
timer.removeEventListener(TimerEvent.TIMER_COMPLETE, timerHandle);
isFadeout = true;
}
public static function staticFrame(e:Event):void{
if (isFadein == true){
black.alpha = (black.alpha + 0.02);
if (black.alpha >= 0.95){
isFadein = false;
timer = new Timer(1500, 1);
timer.addEventListener(TimerEvent.TIMER_COMPLETE, timerHandle);
timer.start();
if (numMap == 1){
Game.gotoMap_1 = true;
} else {
if (numMap == 5){
Game.gotoMap_5 = true;
};
};
};
Man.isRemoveCtrl = true;
};
if (isFadeout == true){
black.alpha = (black.alpha - 0.02);
if (black.alpha <= 0.05){
black.alpha = 0;
isFadeout = false;
clear();
trace("addCtrl");
Man.isAddCtrl = true;
} else {
Man.isRemoveCtrl = true;
};
};
}
public static function clear():void{
trace("clear");
black.parent.removeChild(black);
black = null;
}
}
}//package Effect
Section 75
//Gold (Elements.Bonus.Gold)
package Elements.Bonus {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class Gold extends MovieClip {
public const goldTime:int = 60;
private var gold:MovieClip;
private var timer:Timer;
public var numGold:int;
public var isEat:Boolean;
public var live:Boolean;
public var time:int;
public var initPosY:Number;
public var numMap:int;
public var initPosX:Number;
public function Gold(col:String){
var GoldClass:Class;
super();
switch (col){
case "gold":
GoldClass = (getDefinitionByName("GoldMC") as Class);
break;
case "silver":
GoldClass = (getDefinitionByName("SilverMC") as Class);
break;
case "copper":
GoldClass = (getDefinitionByName("CopperMC") as Class);
break;
};
gold = new (GoldClass);
addChild(gold);
init();
}
public function disappear():void{
gold.gotoAndPlay("disappear");
timer = new Timer(1000);
live = false;
timer.addEventListener(TimerEvent.TIMER, rebulider);
timer.start();
time = 0;
}
public function resetGold():void{
gold.gotoAndPlay("normal");
live = true;
isEat = false;
time = goldTime;
}
private function init():void{
live = true;
isEat = false;
time = goldTime;
}
private function rebulider(e:TimerEvent):void{
time++;
if (time >= goldTime){
time = 0;
timer.stop();
timer.removeEventListener(TimerEvent.TIMER, rebulider);
gold.gotoAndPlay("normal");
live = true;
};
}
}
}//package Elements.Bonus
Section 76
//LoseGold (Elements.Bonus.LoseGold)
package Elements.Bonus {
import flash.display.*;
import flash.events.*;
import GameLogic.*;
import flash.utils.*;
public class LoseGold extends MovieClip {
private var timer:Timer;
private var loseGold:MovieClip;
public function LoseGold(){
super();
var LoseGoldClass:Class = (getDefinitionByName("LoseGoldMC") as Class);
loseGold = new (LoseGoldClass);
addChild(loseGold);
timer = new Timer(800, 1);
timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimer);
timer.start();
Game.playSound("loseCoin");
}
private function onTimer(e:TimerEvent):void{
timer.stop();
timer.removeEventListener(TimerEvent.TIMER_COMPLETE, onTimer);
removeChild(loseGold);
loseGold = null;
}
}
}//package Elements.Bonus
Section 77
//Acaleph (Elements.Acaleph)
package Elements {
import flash.display.*;
import GameLogic.*;
import flash.utils.*;
public class Acaleph extends Enemy {
private var acaleph:MovieClip;
private var child:MovieClip;
public function Acaleph(){
super();
var AcalephClass:Class = (getDefinitionByName("AcalephMC") as Class);
acaleph = new (AcalephClass);
addChild(acaleph);
child = (acaleph["ChildMC"] as MovieClip);
init();
}
public function attackDown():void{
Game.playSound("attack");
child.gotoAndPlay("attackDown");
}
private function init():void{
moveXArea = 0;
moveYArea = 40;
speed = 1;
attackMinX = -20;
attackMaxX = 60;
attackMinY = -60;
attackMaxY = 70;
attackTime = 90;
attackStopTime = 0;
}
public function attackUp():void{
Game.playSound("attack");
child.gotoAndPlay("attackUp");
}
}
}//package Elements
Section 78
//Enemy (Elements.Enemy)
package Elements {
import flash.display.*;
public class Enemy extends MovieClip {
public var posX:Number;
public var posY:Number;
public var speed:Number;
public var moveXArea:Number;
public var moveYArea:Number;
public var attackStopTime:int;
public var numMap:int;
public var attackMaxY:Number;
public var attackMaxX:Number;
public var attackMinX:Number;
public var initPosX:Number;
public var attackTime:int;
public var attackMinY:Number;
public var initPosY:Number;
public function Enemy(){
super();
}
}
}//package Elements
Section 79
//Mermaid (Elements.Mermaid)
package Elements {
import flash.display.*;
import flash.events.*;
import Maps.*;
import GameLogic.*;
import flash.utils.*;
public class Mermaid extends MovieClip {
public var isMoveRight:Boolean;// = false
public var isMoveDown:Boolean;// = false
private var speed;// = 4
private var _mermaid:MovieClip;
private var playMoveSound:Boolean;// = true
public var yPos:Number;// = 370
public var xPos:Number;// = 450
public var numMap:Number;// = 1
public static var mermaid:Mermaid;
public function Mermaid(){
super();
var MermaidClass:Class = (getDefinitionByName("MermaidMC") as Class);
_mermaid = new (MermaidClass);
addChild(_mermaid);
addEventListener(Event.ENTER_FRAME, frameHandler);
}
public function moveDown():void{
if (instance.y < (myGameSetting.gameHeight + 20)){
instance.y = (instance.y + speed);
if (playMoveSound == true){
playMoveSound = false;
Game.playSound("mermaidMove");
};
} else {
isMoveDown = false;
numMap = 17;
swim();
playMoveSound = true;
};
}
public function swim():void{
_mermaid.gotoAndStop("swim");
}
public function moveRight():void{
if (instance.x < (myGameSetting.gameWidth + 20)){
instance.x = (instance.x + speed);
if (playMoveSound == true){
playMoveSound = false;
Game.playSound("mermaidMove");
};
} else {
isMoveRight = false;
if (Map.nowMap == 17){
numMap = 22;
swim();
} else {
if (Map.nowMap == 22){
numMap = 3;
kiss();
};
};
playMoveSound = true;
};
}
public function clear():void{
removeChild(_mermaid);
}
private function frameHandler(e:Event):void{
if (isMoveRight == true){
moveRight();
};
if (isMoveDown == true){
moveDown();
};
}
public function kiss():void{
_mermaid.gotoAndStop("kiss");
}
public static function get instance():Mermaid{
if (mermaid == null){
mermaid = new (Mermaid);
};
return (mermaid);
}
}
}//package Elements
Section 80
//Piranha (Elements.Piranha)
package Elements {
import flash.display.*;
import flash.events.*;
import GameLogic.*;
import flash.utils.*;
public class Piranha extends Enemy {
private var timer:Timer;
public var initMoveArea:int;// = 100
private var piranha:MovieClip;
public function Piranha(){
super();
var PiranhaClass:Class = (getDefinitionByName("PiranhaMC") as Class);
piranha = new (PiranhaClass);
addChild(piranha);
init();
}
private function onTimer(e:TimerEvent):void{
timer.stop();
timer.removeEventListener(TimerEvent.TIMER_COMPLETE, onTimer);
speed = (speed / 5);
}
public function attack():void{
Game.playSound("attack");
speed = (speed * 5);
moveXArea = (moveXArea + (20 * 5));
timer = new Timer(500, 1);
timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimer);
timer.start();
}
public function stopLeft():void{
piranha.gotoAndPlay("left");
}
public function moveRight():void{
piranha.gotoAndPlay("turnRight");
}
private function init():void{
moveXArea = initMoveArea;
moveYArea = 0;
speed = 1;
attackMinX = -100;
attackMaxX = 120;
attackMinY = -15;
attackMaxY = 45;
attackTime = 90;
attackStopTime = 0;
}
public function moveLeft():void{
piranha.gotoAndPlay("turnLeft");
}
public function stopRight():void{
piranha.gotoAndPlay("right");
}
}
}//package Elements
Section 81
//LivePreviewParent (fl.livepreview.LivePreviewParent)
package fl.livepreview {
import flash.display.*;
import flash.utils.*;
import flash.external.*;
public class LivePreviewParent extends MovieClip {
public var myInstance:DisplayObject;
public function LivePreviewParent(){
super();
try {
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
this.myInstance = getChildAt(0);
this.onResize(stage.width, stage.height);
if (ExternalInterface.available){
ExternalInterface.addCallback("onResize", this.onResize);
ExternalInterface.addCallback("onUpdate", this.onUpdate);
};
} catch(e) {
};
}
public function onUpdate(... _args):void{
var name:String;
var value:*;
var updateArray = _args;
var i:int;
while ((i + 1) < updateArray.length) {
try {
name = String(updateArray[i]);
value = updateArray[(i + 1)];
if ((((typeof(value) == "object")) && (value.__treatAsCollectionSpecialSauce__))){
this.updateCollection(value, name);
} else {
this.myInstance[name] = value;
};
} catch(e:Error) {
};
i = (i + 2);
};
}
public function onResize(_arg1:Number, _arg2:Number):void{
var width = _arg1;
var height = _arg2;
var setSizeFn:Function;
try {
setSizeFn = this.myInstance["setSize"];
} catch(e:Error) {
setSizeFn = null;
};
if (setSizeFn != null){
setSizeFn(width, height);
} else {
this.myInstance.width = width;
this.myInstance.height = height;
};
}
private function updateCollection(_arg1:Object, _arg2:String):void{
var _local7:Object;
var _local8:Object;
var _local9:*;
var _local3:Class = Class(getDefinitionByName(_arg1.collectionClass));
var _local4:Class = Class(getDefinitionByName(_arg1.collectionItemClass));
var _local5:Object = new (_local3);
var _local6:int;
while (_local6 < _arg1.collectionArray.length) {
_local7 = new (_local4);
_local8 = _arg1.collectionArray[_local6];
for (_local9 in _local8) {
_local7[_local9] = _local8[_local9];
};
_local5.addItem(_local7);
_local6++;
};
this.myInstance[_arg2] = (_local5 as _local3);
}
}
}//package fl.livepreview
Section 82
//BT_NEWGAME_144 (game_fla.BT_NEWGAME_144)
package game_fla {
import flash.display.*;
public dynamic class BT_NEWGAME_144 extends MovieClip {
public function BT_NEWGAME_144(){
addFrameScript(44, frame45, 89, frame90);
}
function frame90(){
gotoAndPlay("continue");
}
function frame45(){
gotoAndPlay("newGame");
}
}
}//package game_fla
Section 83
//Timeline_234 (game_fla.Timeline_234)
package game_fla {
import flash.display.*;
public dynamic class Timeline_234 extends MovieClip {
public function Timeline_234(){
addFrameScript(599, frame600);
}
function frame600(){
gotoAndPlay(1);
}
}
}//package game_fla
Section 84
//Timeline_273 (game_fla.Timeline_273)
package game_fla {
import flash.display.*;
public dynamic class Timeline_273 extends MovieClip {
public var GoldTextNumMC:MovieClip;
public function Timeline_273(){
addFrameScript(0, frame1, 11, frame12);
}
function frame1(){
stop();
}
function frame12(){
gotoAndStop(1);
}
}
}//package game_fla
Section 85
//Timeline_276 (game_fla.Timeline_276)
package game_fla {
import flash.display.*;
public dynamic class Timeline_276 extends MovieClip {
public function Timeline_276(){
addFrameScript(59, frame60, 102, frame103, 142, frame143);
}
function frame143(){
gotoAndStop("normal");
}
function frame103(){
gotoAndStop("normal");
}
function frame60(){
gotoAndPlay("normal");
}
}
}//package game_fla
Section 86
//Game (GameLogic.Game)
package GameLogic {
import flash.display.*;
import zlong.display.*;
import flash.events.*;
import Sounds.*;
import Player.*;
import Maps.*;
import message.*;
import Elements.*;
import Elements.Bonus.*;
import flash.utils.*;
import olduncle.*;
import Effect.*;
import flash.net.*;
public class Game {
private const timeWaterMusic:int = 20;
private var coins:Number;// = 0
private var basicScore:Number;// = 0
private var acalephArr:Array;
private var minute:int;
private var loseGold:LoseGold;
private var enemyMC:MovieClip;
private var progress:Number;// = 0
private var onewayTriggerArr:Array;
private var myGold:MyGold;
private var _mc:MovieClip;
private var basicHour:Number;// = 0
private var basicSecond:Number;// = 0
private var timer:Timer;
private var man:Man;
private var map:Map;
private var timeMusic:int;// = 0
private var second:int;
private var award2:Boolean;// = false
private var award3:Boolean;// = false
private var award4:Boolean;// = false
private var award5:Boolean;// = false
private var basicProgress:Number;// = 0
private var save:Save;
private var award1:Boolean;// = false
private var basicCoins:Number;// = 0
private var score:Number;// = 0
private var mc:MovieClip;
private var isCheat:Boolean;// = true
private var onewayDoorArr:Array;
private var time:Number;// = 0
private var rollTimer:Timer;
private var basicMinute:Number;// = 0
private var hour:int;
private var piranhaArr:Array;
private var eatArr:Array;
public static const timeGameMusic:int = 40;
public static var goldArr:Array;
public static var mapArr:Array;
public static var gotoMap_1:Boolean = false;
public static var isReset:Boolean = false;
public static var rTime:int;
public static var gotoMap_5:Boolean = false;
public static var nextMusic:String;
public static var doorArr:Array;
public static var playGameMusic:Boolean = false;
public function Game(p:MovieClip){
super();
mc = p;
_mc = new MovieClip();
mc.addChild(_mc);
init();
timer = new Timer(1000);
timer.addEventListener(TimerEvent.TIMER, timeHandle);
timer.start();
mc.addEventListener(Event.ENTER_FRAME, frameHandle);
mc.stage.addEventListener(KeyboardEvent.KEY_DOWN, cheatHandler);
if (Doc.siteLockState == "open"){
new Alert(mc, null);
};
map.playBtn.addEventListener(MouseEvent.MOUSE_OVER, overPlay);
map.playBtn.addEventListener(MouseEvent.MOUSE_OUT, outPlay);
map.playBtn.addEventListener(MouseEvent.CLICK, clickPlay);
map.newGameBtn.addEventListener(MouseEvent.MOUSE_OVER, overNewGame);
map.newGameBtn.addEventListener(MouseEvent.MOUSE_OUT, outNewGame);
map.newGameBtn.addEventListener(MouseEvent.CLICK, clickNewGame);
}
private function elementsRemoveMap(arr:Array, mc:MovieClip):void{
var i:int;
while (i < arr.length) {
if (arr[i].parent != null){
mc.removeChild(arr[i]);
};
i++;
};
}
private function setDisplay():void{
mc.addChild(Mermaid.instance);
mc.setChildIndex(man, (mc.numChildren - 1));
mc.setChildIndex(Hero.instance, (mc.numChildren - 1));
mc.addChild(LeaveTigger.instance);
mc.setChildIndex(myGold, (mc.numChildren - 1));
mc.setChildIndex(save, (mc.numChildren - 1));
}
private function hitOnewayDoor():void{
var i:int;
while (i < onewayDoorArr.length) {
if (man.hitTestObject(onewayDoorArr[i])){
man.resetMan("stop");
};
i++;
};
}
private function rollHandler(e:TimerEvent):void{
if (basicHour < hour){
basicHour++;
if (basicHour < 10){
map.hourTxt.text = ("0" + basicHour.toString());
} else {
map.hourTxt.text = basicHour.toString();
};
} else {
basicHour = hour;
if (basicHour < 10){
map.hourTxt.text = ("0" + basicHour.toString());
} else {
map.hourTxt.text = basicHour.toString();
};
};
if (basicMinute < minute){
basicMinute++;
if (basicMinute < 10){
map.minuteTxt.text = ("0" + basicMinute.toString());
} else {
map.minuteTxt.text = basicMinute.toString();
};
} else {
basicMinute = minute;
if (basicMinute < 10){
map.minuteTxt.text = ("0" + basicMinute.toString());
} else {
map.minuteTxt.text = basicMinute.toString();
};
};
if (basicSecond < second){
basicSecond++;
if (basicSecond < 10){
map.secondTxt.text = ("0" + basicSecond.toString());
} else {
map.secondTxt.text = basicSecond.toString();
};
} else {
basicSecond = second;
if (basicSecond < 10){
map.secondTxt.text = ("0" + basicSecond.toString());
} else {
map.secondTxt.text = basicSecond.toString();
};
};
if (basicProgress < progress){
if (Math.floor((progress * 0.03)) >= 1){
basicProgress = (basicProgress + Math.floor((progress * 0.03)));
} else {
basicProgress++;
};
map.progressTxt.text = (basicProgress.toString() + "%");
} else {
basicProgress = progress;
map.progressTxt.text = (basicProgress.toString() + "%");
};
if (basicCoins < coins){
if (Math.floor((coins * 0.03)) >= 1){
basicCoins = (basicCoins + Math.floor((coins * 0.03)));
} else {
basicCoins++;
};
map.coinsTxt.text = basicCoins.toString();
} else {
basicCoins = coins;
map.coinsTxt.text = basicCoins.toString();
};
if (basicScore < score){
if (Math.floor((score * 0.03)) >= 1){
basicScore = (basicScore + Math.floor((score * 0.03)));
} else {
basicScore++;
};
map.scoreTxt.text = basicScore.toString();
} else {
basicScore = score;
map.scoreTxt.text = basicScore.toString();
};
}
private function hurt(arr:Array):void{
man.godStopTime++;
var i:int;
while (i < arr.length) {
if ((((((Map.isHit == true)) && (HitTest.hitTestShape(man, arr[i])))) && ((man.godStopTime > man.godTime)))){
man.godStopTime = 0;
loseGold = new LoseGold();
loseGold.x = Hero.instance.x;
loseGold.y = Hero.instance.y;
mc.addChild(loseGold);
if (Hero.instance.dir == "left"){
Hero.instance.hurtLeft();
} else {
Hero.instance.hurtRight();
};
GameData.myGold = (GameData.myGold - 3);
if (GameData.myGold < 0){
GameData.myGold = 0;
};
myGold.myGoltText.gotoAndPlay("start");
myGold.goldText.text = GameData.myGold.toString();
};
i++;
};
}
private function init():void{
BindingDisplayManager.Instance.addEventListener(BindingDisplayEvent.BINDING_DISPLAY_DEL_EVENT, BindingDisplayDel);
mapArr = new Array();
map = new Map(_mc, mapArr);
Map.removeMap(_mc, mapArr);
Map.addMap(_mc, mapArr);
doorArr = new Array();
createDoor();
onewayDoorArr = new Array();
onewayTriggerArr = new Array();
createOnewayDoor();
eatArr = new Array();
goldArr = new Array();
acalephArr = new Array();
piranhaArr = new Array();
man = new Man(mc);
mc.addChild(man);
mc.addChild(Hero.instance);
setHeroPos();
addMermaid();
addEnemy();
addGold();
enemyMC = new MovieClip();
mc.addChild(enemyMC);
addElements();
myGold = new MyGold();
myGold.x = myGold.xPos;
myGold.y = myGold.yPos;
save = new Save(mc);
mc.addChild(save);
save.x = 550;
save.y = 403;
save.setButton(false);
save.alpha = 0;
isReset = false;
readData();
playMusic("menu");
}
private function clickNewGame(e:MouseEvent):void{
ToNextMap.numMap = 5;
ToNextMap.gotoNextMap(mc);
}
private function newGold(posX:Number, posY:Number, numGold:int, numMap:int, col:String):void{
var gold:Gold = new Gold(col);
gold.initPosX = (((int((numMap % 4)) * Map.mapWidth) + posX) + 10);
gold.initPosY = ((int((numMap / 4)) * Map.mapHeight) + posY);
gold.x = gold.initPosX;
gold.y = gold.initPosY;
gold.numGold = numGold;
gold.numMap = numMap;
goldArr.push(gold);
}
private function switchTime():void{
second = (time % 60);
minute = int(((time % (60 * 60)) / 60));
hour = int((time / (60 * 60)));
}
private function addPiranha():void{
var i:int;
while (i < mapArr.length) {
switch (i){
case 4:
newPiranha(300, 360, 150, i);
break;
case 5:
newPiranha(275, 180, 125, i);
newPiranha(350, 300, 100, i);
break;
case 6:
newPiranha(300, 30, 150, i);
newPiranha(300, 300, 150, i);
break;
case 8:
newPiranha(225, 120, 175, i);
newPiranha(350, 330, 150, i);
break;
case 9:
newPiranha(175, 210, 125, i);
break;
case 10:
newPiranha(300, 210, 200, i);
break;
case 11:
newPiranha(250, 120, 150, i);
break;
case 13:
newPiranha(200, 120, 150, i);
newPiranha(325, 240, 175, i);
break;
case 14:
newPiranha(375, 180, 125, i);
newPiranha(325, 360, 175, i);
break;
case 15:
newPiranha(375, 120, 75, i);
newPiranha(275, 360, 175, i);
break;
case 16:
newPiranha(250, 180, 150, i);
newPiranha(250, 300, 150, i);
break;
case 17:
newPiranha(225, 330, 175, i);
newPiranha(350, 210, 150, i);
break;
case 18:
newPiranha(175, 150, 225, i);
newPiranha(300, 390, 150, i);
break;
case 19:
newPiranha(200, 150, 150, i);
newPiranha(325, 360, 125, i);
break;
case 20:
newPiranha(250, 210, 200, i);
newPiranha(225, 330, 125, i);
newPiranha(400, 120, 100, i);
break;
case 21:
newPiranha(350, 180, 150, i);
newPiranha(250, 360, 200, i);
break;
case 22:
newPiranha(225, 210, 175, i);
newPiranha(350, 150, 150, i);
break;
case 23:
newPiranha(400, 120, 100, i);
newPiranha(200, 180, 150, i);
break;
default:
break;
};
i++;
};
}
private function piranhaAttack():void{
var i:int;
while (i < piranhaArr.length) {
piranhaArr[i].attackStopTime++;
if ((((((((piranhaArr[i].attackStopTime >= piranhaArr[i].attackTime)) && ((((Hero.instance.x > (piranhaArr[i].x + piranhaArr[i].attackMinX))) && ((Hero.instance.x < (piranhaArr[i].x + piranhaArr[i].attackMaxX))))))) && ((((Hero.instance.y > (piranhaArr[i].y + piranhaArr[i].attackMinY))) && ((Hero.instance.y < (piranhaArr[i].y + piranhaArr[i].attackMaxY))))))) && ((((((Hero.instance.x < piranhaArr[i].x)) && ((piranhaArr[i].speed > 0)))) || ((((Hero.instance.x > piranhaArr[i].x)) && ((piranhaArr[i].speed < 0)))))))){
piranhaArr[i].attack();
piranhaArr[i].attackStopTime = 0;
};
i++;
};
}
private function BindingDisplayDel(event:BindingDisplayEvent):void{
trace(getQualifiedClassName(event.bindingDisplay));
event.bindingDisplay.addEventListener(Event.ADDED_TO_STAGE, event.bindingDisplay.initEvent);
}
private function closeOnewayDoor(id:int):void{
var i:int;
while (i < onewayDoorArr.length) {
if (onewayDoorArr[i].id == id){
onewayDoorArr[i].isOpen = false;
onewayDoorArr[i].closeDoor();
};
i++;
};
}
private function overPlay(e:MouseEvent):void{
_mc.buttonMode = true;
}
private function setHeroPos():void{
man.cooRotation();
Hero.instance.x = man.globalPoint.x;
Hero.instance.y = man.globalPoint.y;
}
private function overNewGame(e:MouseEvent):void{
_mc.buttonMode = true;
}
private function newPiranha(_posX:Number, _posY:Number, _initMoveArea:Number, i:int):void{
var piranha:Piranha = new Piranha();
piranha.posX = _posX;
piranha.posY = _posY;
piranha.initPosX = ((int((i % 4)) * Map.mapWidth) + piranha.posX);
piranha.initPosY = ((int((i / 4)) * Map.mapHeight) + piranha.posY);
piranha.x = piranha.initPosX;
piranha.y = piranha.initPosY;
piranha.numMap = i;
piranha.initMoveArea = _initMoveArea;
piranhaArr.push(piranha);
}
private function createOnewayDoor():void{
var i:int;
var _local2:MovieClip;
var _local3:MovieClip;
var _local4:MovieClip;
var _local5:MovieClip;
var _local6:MovieClip;
var _local7:MovieClip;
var _local8:MovieClip;
var _local9:MovieClip;
var _local10:MovieClip;
var _local11:MovieClip;
i = 0;
while (i < mapArr.length) {
switch (i){
case 1:
_local2 = (mapArr[i]["OnewayDoorMC"] as MovieClip);
_local2.isOpen = true;
_local2.initState();
_local2.id = i;
onewayDoorArr.push(_local2);
_local3 = (mapArr[i]["TriggerMC"] as MovieClip);
_local3.isTrigger = true;
_local3.id = i;
onewayTriggerArr.push(_local3);
_local4 = (mapArr[i]["OnewayDoorMC_1"] as MovieClip);
_local4.isOpen = false;
_local4.initState();
_local4.id = (i + 100);
onewayDoorArr.push(_local4);
_local5 = (mapArr[i]["TriggerMC_1"] as MovieClip);
_local5.isTrigger = false;
_local5.id = (i + 100);
onewayTriggerArr.push(_local5);
break;
case 5:
_local6 = (mapArr[i]["OnewayDoorMC"] as MovieClip);
_local6.isOpen = true;
_local6.initState();
_local6.id = i;
onewayDoorArr.push(_local6);
_local7 = (mapArr[i]["TriggerMC"] as MovieClip);
_local7.isTrigger = true;
_local7.id = i;
onewayTriggerArr.push(_local7);
break;
case 3:
_local8 = (mapArr[i]["OnewayDoorMC"] as MovieClip);
_local8.isOpen = true;
_local8.initState();
_local8.id = (i + 100);
onewayDoorArr.push(_local8);
_local9 = (mapArr[i]["TriggerMC"] as MovieClip);
_local9.isTrigger = true;
_local9.id = (i + 100);
onewayTriggerArr.push(_local9);
break;
case 2:
_local10 = (mapArr[i]["OnewayDoorMC"] as MovieClip);
_local10.isOpen = true;
_local10.initState();
_local10.id = (i + 100);
onewayDoorArr.push(_local10);
_local11 = (mapArr[i]["TriggerMC"] as MovieClip);
_local11.isTrigger = true;
_local11.id = (i + 100);
onewayTriggerArr.push(_local11);
break;
default:
break;
};
i++;
};
}
private function addAcaleph():void{
var i:int;
while (i < mapArr.length) {
switch (i){
case 4:
newAcaleph(450, 105, 75, i);
break;
case 7:
newAcaleph(150, 300, 90, i);
newAcaleph(450, 165, 105, i);
break;
case 9:
newAcaleph(350, 165, 145, i);
break;
case 10:
newAcaleph(150, 270, 120, i);
break;
case 11:
newAcaleph(100, 285, 105, i);
break;
case 12:
newAcaleph(300, 195, 105, i);
newAcaleph(350, 195, 105, i);
newAcaleph(450, 210, 150, i);
newAcaleph(100, 180, 120, i);
break;
case 13:
newAcaleph(200, 165, 135, i);
break;
case 14:
newAcaleph(100, 120, 90, i);
break;
case 15:
newAcaleph(200, 135, 105, i);
break;
case 16:
newAcaleph(50, 195, 165, i);
newAcaleph(350, 240, 120, i);
break;
case 17:
newAcaleph(250, 240, 150, i);
newAcaleph(100, 95, 105, i);
break;
case 18:
newAcaleph(400, 180, 120, i);
newAcaleph(100, 165, 135, i);
break;
case 19:
newAcaleph(400, 225, 105, i);
newAcaleph(100, 240, 150, i);
break;
case 20:
newAcaleph(250, 210, 150, i);
break;
case 21:
newAcaleph(150, 120, 90, i);
newAcaleph(150, 315, 75, i);
newAcaleph(450, 150, 120, i);
break;
case 22:
newAcaleph(100, 210, 180, i);
newAcaleph(300, 165, 105, i);
break;
case 23:
newAcaleph(100, 240, 120, i);
newAcaleph(350, 300, 90, i);
break;
default:
break;
};
i++;
};
}
private function timeHandle(e:TimerEvent):void{
GameData.gameTime++;
if (((((((!((Map.nowMap == 0))) && (!((Map.nowMap == 1))))) && (!((Map.nowMap == 2))))) && (!((Map.nowMap == 3))))){
timeMusic++;
if (timeMusic == rTime){
timeMusic = 0;
SoundManager.instance.musicFadeOut();
};
};
}
private function resetGold():void{
var i:int;
while (i < goldArr.length) {
goldArr[i].resetGold();
i++;
};
}
private function completeSave():void{
var so:SharedObject = SharedObject.getLocal(GameData.localName, "/");
if (so.data["Data"] == null){
so.data["Data"] = new Object();
};
so.data["Data"]["myGold"] = GameData.myGold;
so.data["Data"]["gameTime"] = GameData.gameTime;
so.data["Data"]["mermaidMap"] = 22;
GameData.isNewGame = true;
so.data["Data"]["newGame"] = GameData.isNewGame;
if (so.data["DoorOpen"] == null){
so.data["DoorOpen"] = new Array();
};
var i:int;
while (i < Game.doorArr.length) {
so.data["DoorOpen"][i] = Game.doorArr[i].isOpen;
i++;
};
if (so.data["EatGold"] == null){
so.data["EatGold"] = new Array();
};
var j:int;
while (j < Game.goldArr.length) {
so.data["EatGold"][j] = Game.goldArr[j].isEat;
j++;
};
if (so.data["goldRebulid"] == null){
so.data["goldRebulid"] = new Array();
};
var k:int;
while (k < Game.goldArr.length) {
so.data["goldRebulid"][k] = Game.goldArr[k].time;
k++;
};
so.flush();
}
private function readData():void{
var i:int;
var k:int;
var m:int;
var so:SharedObject = SharedObject.getLocal(GameData.localName, "/");
if (so.data["Data"] == null){
so.data["Data"] = new Object();
so.data["Data"]["myGold"] = GameData.myGold;
so.data["Data"]["gameTime"] = GameData.gameTime;
so.data["Data"]["mermaidMap"] = Mermaid.instance.numMap;
so.data["Data"]["newGame"] = GameData.isNewGame;
};
GameData.myGold = so.data["Data"]["myGold"];
myGold.goldText.text = GameData.myGold.toString();
GameData.gameTime = so.data["Data"]["gameTime"];
Mermaid.instance.numMap = so.data["Data"]["mermaidMap"];
GameData.isNewGame = so.data["Data"]["newGame"];
if (Mermaid.instance.numMap == 3){
Mermaid.instance.kiss();
} else {
Mermaid.instance.swim();
};
if (so.data["DoorOpen"] == null){
so.data["DoorOpen"] = new Array();
i = 0;
while (i < doorArr.length) {
so.data["DoorOpen"][i] = doorArr[i].isOpen;
i++;
};
};
var j:int;
while (j < doorArr.length) {
doorArr[j].isOpen = so.data["DoorOpen"][j];
doorArr[j].initState();
j++;
};
if (so.data["EatGold"] == null){
so.data["EatGold"] = new Array();
k = 0;
while (k < goldArr.length) {
so.data["EatGold"][k] = goldArr[k].isEat;
k++;
};
};
var l:int;
while (l < goldArr.length) {
goldArr[l].isEat = so.data["EatGold"][l];
if (goldArr[l].isEat == true){
eatArr.push(goldArr[l]);
};
l++;
};
if (so.data["goldRebulid"] == null){
so.data["goldRebulid"] = new Array();
m = 0;
while (m < goldArr.length) {
so.data["goldRebulid"][m] = goldArr[m].time;
m++;
};
};
var n:int;
while (n < goldArr.length) {
goldArr[n].time = so.data["goldRebulid"][n];
if (goldArr[n].time < goldArr[n].goldTime){
goldArr[n].disappear();
};
n++;
};
so.flush();
}
private function gotoMap5():void{
SoundManager.instance.musicFadeOut();
nextMusic = "water";
Map.nowMap = 5;
var i:int;
while (i < mapArr.length) {
mapArr[i].x = (((i % 4) - (Map.nowMap % 4)) * Map.mapWidth);
mapArr[i].y = ((int((i / 4)) - int((Map.nowMap / 4))) * Map.mapHeight);
i++;
};
map.hitMC = (mapArr[Map.nowMap]["HitMC"] as MovieClip);
map.rightExit = (mapArr[Map.nowMap]["RightExitMC"] as MovieClip);
map.leftExit = (mapArr[Map.nowMap]["LeftExitMC"] as MovieClip);
map.downExit = (mapArr[Map.nowMap]["DownExitMC"] as MovieClip);
map.upExit = (mapArr[Map.nowMap]["UpExitMC"] as MovieClip);
map.leftRecurrenceExit = (mapArr[Map.nowMap]["LeftRecurrenceMC"] as MovieClip);
map.rightRecurrenceExit = (mapArr[Map.nowMap]["RightRecurrenceMC"] as MovieClip);
Map.addMap(_mc, mapArr);
elementsAddMap(acalephArr, enemyMC);
elementsAddMap(piranhaArr, enemyMC);
mc.setChildIndex(enemyMC, (mc.numChildren - 1));
elementsAddMap(goldArr, mc);
moveFormMap();
man.setMan(300, 50);
setHeroPos();
Mermaid.instance.numMap = 22;
Mermaid.instance.x = (mapArr[Mermaid.instance.numMap].x + Mermaid.instance.xPos);
Mermaid.instance.y = (mapArr[Mermaid.instance.numMap].y + Mermaid.instance.yPos);
save.setButton(true);
save.alpha = 1;
myGold.alpha = 1;
mc.setChildIndex(man, (mc.numChildren - 1));
mc.setChildIndex(Hero.instance, (mc.numChildren - 1));
if (myGold.parent == null){
mc.addChild(myGold);
};
mc.setChildIndex(myGold, (mc.numChildren - 1));
mc.setChildIndex(save, (mc.numChildren - 1));
var m:int;
while (m < onewayTriggerArr.length) {
if ((((onewayTriggerArr[m].id < 6)) || ((onewayTriggerArr[m].id > 100)))){
onewayTriggerArr[m].isTrigger = false;
} else {
onewayTriggerArr[m].isTrigger = true;
};
m++;
};
var n:int;
while (n < onewayDoorArr.length) {
if ((((onewayDoorArr[n].id < 6)) || ((onewayDoorArr[n].id > 100)))){
onewayDoorArr[n].isOpen = false;
onewayDoorArr[n].initState();
} else {
onewayDoorArr[n].isOpen = true;
onewayDoorArr[n].initState();
};
n++;
};
}
private function moveVertical(arr:Array):void{
var i:int;
while (i < arr.length) {
arr[i].y = (arr[i].y + arr[i].speed);
if ((((arr[i].y > (arr[i].moveYArea + arr[i].posY))) || ((arr[i].y < (-(arr[i].moveYArea) + arr[i].posY))))){
arr[i].speed = (arr[i].speed * -1);
};
i++;
};
}
private function addEnemy():void{
enemyMC = new MovieClip();
mc.addChild(enemyMC);
addAcaleph();
addPiranha();
}
private function newAcaleph(_posX:Number, _posY:Number, _initMoveArea:Number, i:int):void{
var acaleph:Acaleph = new Acaleph();
acaleph.posX = _posX;
acaleph.posY = _posY;
acaleph.initPosX = (((int((i % 4)) * Map.mapWidth) + acaleph.posX) + 10);
acaleph.initPosY = ((int((i / 4)) * Map.mapHeight) + acaleph.posY);
acaleph.x = acaleph.initPosX;
acaleph.y = acaleph.initPosY;
acaleph.numMap = i;
acaleph.moveYArea = _initMoveArea;
acalephArr.push(acaleph);
}
private function gotoMap1():void{
Map.nowMap = 1;
var i:int;
while (i < mapArr.length) {
mapArr[i].x = (((i % 4) - (Map.nowMap % 4)) * Map.mapWidth);
mapArr[i].y = ((int((i / 4)) - int((Map.nowMap / 4))) * Map.mapHeight);
i++;
};
map.hitMC = (mapArr[Map.nowMap]["HitMC"] as MovieClip);
map.rightExit = (mapArr[Map.nowMap]["RightExitMC"] as MovieClip);
map.leftExit = (mapArr[Map.nowMap]["LeftExitMC"] as MovieClip);
map.downExit = (mapArr[Map.nowMap]["DownExitMC"] as MovieClip);
map.upExit = (mapArr[Map.nowMap]["UpExitMC"] as MovieClip);
map.leftRecurrenceExit = (mapArr[Map.nowMap]["LeftRecurrenceMC"] as MovieClip);
map.rightRecurrenceExit = (mapArr[Map.nowMap]["RightRecurrenceMC"] as MovieClip);
Map.addMap(_mc, mapArr);
elementsAddMap(acalephArr, enemyMC);
elementsAddMap(piranhaArr, enemyMC);
mc.setChildIndex(enemyMC, (mc.numChildren - 1));
elementsAddMap(goldArr, mc);
moveFormMap();
man.setMan();
setHeroPos();
mc.addChild(Mermaid.instance);
mc.setChildIndex(man, (mc.numChildren - 1));
mc.setChildIndex(Hero.instance, (mc.numChildren - 1));
Mermaid.instance.x = (mapArr[Mermaid.instance.numMap].x + Mermaid.instance.xPos);
Mermaid.instance.y = (mapArr[Mermaid.instance.numMap].y + Mermaid.instance.yPos);
var m:int;
while (m < onewayTriggerArr.length) {
if ((((onewayTriggerArr[m].id < 5)) || ((onewayTriggerArr[m].id > 100)))){
onewayTriggerArr[m].isTrigger = false;
} else {
onewayTriggerArr[m].isTrigger = true;
};
m++;
};
var n:int;
while (n < onewayDoorArr.length) {
if ((((onewayDoorArr[n].id < 5)) || ((onewayDoorArr[n].id > 100)))){
onewayDoorArr[n].isOpen = false;
onewayDoorArr[n].initState();
} else {
onewayDoorArr[n].isOpen = true;
onewayDoorArr[n].initState();
};
n++;
};
}
private function hitLeaveTigger():void{
if ((((Mermaid.instance.numMap == 1)) && (man.hitTestObject(LeaveTigger.instance)))){
Mermaid.instance.isMoveDown = true;
} else {
if ((((Mermaid.instance.numMap == 17)) && (man.hitTestObject(LeaveTigger.instance)))){
Mermaid.instance.isMoveRight = true;
} else {
if ((((Mermaid.instance.numMap == 22)) && (man.hitTestObject(LeaveTigger.instance)))){
Mermaid.instance.isMoveRight = true;
if (award2 == false){
Trace("发送Award2");
award2 = true;
SpilSystem.instance.submitAchievement("award2");
};
};
};
};
}
private function outNewGame(e:MouseEvent):void{
_mc.buttonMode = false;
}
private function resetMap():void{
SoundManager.instance.musicFadeOut();
nextMusic = "menu";
Map.nowMap = 1;
var i:int;
while (i < mapArr.length) {
mapArr[i].x = (((i % 4) - (Map.nowMap % 4)) * Map.mapWidth);
mapArr[i].y = ((int((i / 4)) - int((Map.nowMap / 4))) * Map.mapHeight);
i++;
};
map.hitMC = (mapArr[Map.nowMap]["HitMC"] as MovieClip);
map.rightExit = (mapArr[Map.nowMap]["RightExitMC"] as MovieClip);
map.leftExit = (mapArr[Map.nowMap]["LeftExitMC"] as MovieClip);
map.downExit = (mapArr[Map.nowMap]["DownExitMC"] as MovieClip);
map.upExit = (mapArr[Map.nowMap]["UpExitMC"] as MovieClip);
map.leftRecurrenceExit = (mapArr[Map.nowMap]["LeftRecurrenceMC"] as MovieClip);
map.rightRecurrenceExit = (mapArr[Map.nowMap]["RightRecurrenceMC"] as MovieClip);
Map.addMap(_mc, mapArr);
elementsAddMap(acalephArr, enemyMC);
elementsAddMap(piranhaArr, enemyMC);
mc.setChildIndex(enemyMC, (mc.numChildren - 1));
elementsAddMap(goldArr, mc);
moveFormMap();
man.setMan();
setHeroPos();
setDisplay();
Mermaid.instance.x = (mapArr[Mermaid.instance.numMap].x + Mermaid.instance.xPos);
Mermaid.instance.y = (mapArr[Mermaid.instance.numMap].y + Mermaid.instance.yPos);
save.setButton(false);
save.alpha = 0;
myGold.alpha = 0;
GameData.isNewGame = false;
map.gameContinue();
var m:int;
while (m < onewayTriggerArr.length) {
if ((((onewayTriggerArr[m].id < 5)) || ((onewayTriggerArr[m].id > 100)))){
onewayTriggerArr[m].isTrigger = false;
} else {
onewayTriggerArr[m].isTrigger = true;
};
m++;
};
var n:int;
while (n < onewayDoorArr.length) {
if ((((onewayDoorArr[n].id < 5)) || ((onewayDoorArr[n].id > 100)))){
onewayDoorArr[n].isOpen = false;
onewayDoorArr[n].initState();
} else {
onewayDoorArr[n].isOpen = true;
onewayDoorArr[n].initState();
};
n++;
};
}
private function clearData():void{
GameData.myGold = 0;
myGold.goldText.text = GameData.myGold.toString();
GameData.progress = 0;
GameData.gameTime = 0;
award1 = false;
award2 = false;
award3 = false;
award4 = false;
award5 = false;
}
private function acalephAttack():void{
var i:int;
while (i < acalephArr.length) {
acalephArr[i].attackStopTime++;
if ((((((acalephArr[i].attackStopTime >= acalephArr[i].attackTime)) && ((((Hero.instance.x > (acalephArr[i].x + acalephArr[i].attackMinX))) && ((Hero.instance.x < (acalephArr[i].x + acalephArr[i].attackMaxX))))))) && ((((Hero.instance.y > (acalephArr[i].y + acalephArr[i].attackMinY))) && ((Hero.instance.y < (acalephArr[i].y + acalephArr[i].attackMaxY))))))){
if (Hero.instance.y < acalephArr[i].y){
acalephArr[i].attackUp();
acalephArr[i].attackStopTime = 0;
if (acalephArr[i].speed > 0){
acalephArr[i].speed = (acalephArr[i].speed * -1);
};
} else {
acalephArr[i].attackDown();
acalephArr[i].attackStopTime = 0;
if (acalephArr[i].speed < 0){
acalephArr[i].speed = (acalephArr[i].speed * -1);
};
};
};
i++;
};
}
private function resetGoldDoor():void{
var i:int;
while (i < doorArr.length) {
doorArr[i].isOpen = false;
doorArr[i].initState();
i++;
};
}
private function addGold():void{
var i:int;
while (i < mapArr.length) {
switch (i){
case 4:
newGold(250, 30, 5, i, "silver");
newGold(300, 30, 9, i, "gold");
newGold(250, 60, 3, i, "copper");
newGold(300, 60, 5, i, "silver");
newGold(150, 180, 3, i, "copper");
newGold(400, 240, 3, i, "copper");
newGold(50, 330, 5, i, "silver");
newGold(100, 330, 5, i, "silver");
newGold(500, 330, 5, i, "silver");
break;
case 5:
newGold(100, 30, 5, i, "silver");
newGold(450, 60, 5, i, "silver");
newGold(150, 180, 3, i, "copper");
newGold(100, 210, 3, i, "copper");
newGold(350, 390, 9, i, "gold");
newGold(300, 90, 9, i, "gold");
newGold(450, 390, 5, i, "silver");
break;
case 6:
newGold(50, 90, 5, i, "silver");
newGold(200, 150, 3, i, "copper");
newGold(250, 240, 3, i, "copper");
newGold(250, 330, 3, i, "copper");
newGold(250, 360, 9, i, "gold");
newGold(450, 390, 9, i, "gold");
break;
case 7:
newGold(100, 30, 9, i, "gold");
newGold(150, 30, 9, i, "gold");
newGold(400, 60, 3, i, "copper");
newGold(50, 390, 9, i, "gold");
newGold(400, 300, 5, i, "silver");
break;
case 8:
newGold(500, 90, 5, i, "silver");
newGold(150, 180, 5, i, "silver");
newGold(400, 270, 3, i, "copper");
newGold(450, 270, 3, i, "copper");
newGold(400, 300, 3, i, "copper");
newGold(450, 300, 3, i, "copper");
break;
case 9:
newGold(250, 60, 3, i, "copper");
newGold(500, 150, 3, i, "copper");
newGold(50, 330, 3, i, "copper");
newGold(500, 330, 3, i, "copper");
break;
case 10:
newGold(500, 60, 9, i, "gold");
newGold(50, 150, 9, i, "gold");
newGold(300, 270, 3, i, "copper");
newGold(50, 360, 9, i, "copper");
break;
case 11:
newGold(50, 30, 5, i, "silver");
newGold(500, 120, 5, i, "silver");
newGold(450, 270, 9, i, "gold");
newGold(500, 300, 9, i, "gold");
newGold(50, 390, 5, i, "silver");
break;
case 12:
newGold(50, 30, 5, i, "silver");
newGold(500, 30, 5, i, "silver");
newGold(500, 150, 5, i, "silver");
newGold(500, 180, 5, i, "silver");
newGold(400, 330, 5, i, "silver");
newGold(200, 360, 5, i, "silver");
newGold(450, 390, 9, i, "gold");
break;
case 13:
newGold(200, 150, 3, i, "copper");
newGold(300, 210, 3, i, "copper");
newGold(400, 300, 9, i, "gold");
break;
case 14:
newGold(300, 30, 9, i, "gold");
newGold(300, 60, 9, i, "gold");
newGold(300, 90, 5, i, "silver");
newGold(200, 90, 3, i, "copper");
newGold(50, 360, 5, i, "silver");
break;
case 15:
newGold(50, 30, 5, i, "silver");
newGold(50, 150, 5, i, "silver");
newGold(50, 180, 5, i, "silver");
newGold(50, 210, 5, i, "silver");
newGold(300, 270, 5, i, "silver");
newGold(250, 330, 3, i, "copper");
break;
case 16:
newGold(200, 30, 5, i, "silver");
newGold(450, 330, 3, i, "copper");
break;
case 17:
newGold(450, 30, 9, i, "gold");
newGold(450, 60, 5, i, "silver");
newGold(350, 300, 3, i, "copper");
newGold(50, 360, 5, i, "silver");
newGold(100, 360, 5, i, "silver");
newGold(100, 390, 5, i, "silver");
break;
case 18:
newGold(500, 60, 5, i, "silver");
newGold(250, 210, 5, i, "silver");
newGold(200, 270, 5, i, "silver");
newGold(50, 390, 9, i, "gold");
break;
case 19:
newGold(150, 60, 5, i, "silver");
newGold(450, 90, 3, i, "copper");
newGold(100, 210, 9, i, "gold");
newGold(250, 300, 3, i, "copper");
break;
case 20:
newGold(150, 90, 5, i, "silver");
newGold(500, 210, 9, i, "gold");
newGold(150, 270, 5, i, "silver");
break;
case 21:
newGold(250, 120, 3, i, "copper");
newGold(500, 210, 5, i, "silver");
newGold(300, 330, 5, i, "silver");
newGold(300, 360, 5, i, "silver");
newGold(300, 390, 5, i, "silver");
break;
case 22:
newGold(150, 120, 5, i, "silver");
newGold(250, 120, 5, i, "silver");
newGold(500, 30, 5, i, "silver");
break;
case 23:
newGold(150, 240, 9, i, "gold");
newGold(200, 240, 9, i, "gold");
newGold(250, 240, 9, i, "gold");
newGold(300, 240, 9, i, "gold");
newGold(200, 270, 9, i, "gold");
newGold(250, 270, 9, i, "gold");
break;
default:
break;
};
i++;
};
}
private function outPlay(e:MouseEvent):void{
_mc.buttonMode = false;
}
private function hitTrigger():void{
var j:int;
var i:int;
while (i < onewayTriggerArr.length) {
j = 0;
while (j < onewayDoorArr.length) {
if ((((onewayTriggerArr[i].isTrigger == true)) && (man.hitTestObject(onewayTriggerArr[i])))){
onewayTriggerArr[i].isTrigger = false;
closeOnewayDoor(onewayTriggerArr[i].id);
};
j++;
};
i++;
};
}
private function addMermaid():void{
switch (Mermaid.instance.numMap){
case 1:
LeaveTigger.instance.xPos = 270;
LeaveTigger.instance.yPos = 200;
Mermaid.instance.xPos = 225;
Mermaid.instance.yPos = 370;
break;
case 17:
LeaveTigger.instance.xPos = 420;
LeaveTigger.instance.yPos = 220;
Mermaid.instance.xPos = 500;
Mermaid.instance.yPos = 320;
break;
case 22:
LeaveTigger.instance.xPos = 300;
LeaveTigger.instance.yPos = 330;
Mermaid.instance.xPos = 450;
Mermaid.instance.yPos = 370;
break;
default:
LeaveTigger.instance.xPos = 0;
LeaveTigger.instance.yPos = 0;
break;
};
mc.addChild(Mermaid.instance);
Mermaid.instance.x = (mapArr[Mermaid.instance.numMap].x + Mermaid.instance.xPos);
Mermaid.instance.y = (mapArr[Mermaid.instance.numMap].y + Mermaid.instance.yPos);
Mermaid.instance.swim();
mc.addChild(LeaveTigger.instance);
LeaveTigger.instance.x = (mapArr[Mermaid.instance.numMap].x + LeaveTigger.instance.xPos);
LeaveTigger.instance.y = (mapArr[Mermaid.instance.numMap].y + LeaveTigger.instance.yPos);
}
private function elementMoveFromMap(arr:Array):void{
var i:int;
while (i < arr.length) {
if ((((arr[i].numMap == Map.nowMap)) && ((Map.isHit == false)))){
switch (map.moveDir){
case "left":
arr[i].x = (arr[i].x + Map.mapSpeed);
break;
case "right":
arr[i].x = (arr[i].x - Map.mapSpeed);
break;
case "up":
arr[i].y = (arr[i].y + Map.mapSpeed);
break;
case "down":
arr[i].y = (arr[i].y - Map.mapSpeed);
break;
case "leftRecurrence":
arr[i].x = (arr[i].x + Map.mapSpeed);
break;
case "rightRecurrence":
arr[i].x = (arr[i].x - Map.mapSpeed);
break;
};
} else {
if (Map.isHit == false){
arr[i].x = (mapArr[0].x + arr[i].initPosX);
arr[i].y = (mapArr[0].y + arr[i].initPosY);
};
};
if (Map.isHit == true){
arr[i].x = (mapArr[0].x + arr[i].initPosX);
arr[i].y = (mapArr[0].y + arr[i].initPosY);
};
i++;
};
}
private function removeSomeElements():void{
var i:int;
while (i < acalephArr.length) {
if (((!((acalephArr[i].numMap == Map.nowMap))) && ((acalephArr[i].parent == enemyMC)))){
enemyMC.removeChild(acalephArr[i]);
};
i++;
};
var j:int;
while (j < piranhaArr.length) {
if (((!((piranhaArr[j].numMap == Map.nowMap))) && ((piranhaArr[j].parent == enemyMC)))){
enemyMC.removeChild(piranhaArr[j]);
};
j++;
};
var k:int;
while (k < goldArr.length) {
if (((!((goldArr[k].numMap == Map.nowMap))) && ((goldArr[k].parent == mc)))){
mc.removeChild(goldArr[k]);
};
k++;
};
}
private function calculateProgress():void{
if (goldArr.length > 0){
GameData.progress = eatArr.length;
};
}
private function addElements():void{
elementsAddMap(acalephArr, enemyMC);
elementsAddMap(piranhaArr, enemyMC);
elementsAddMap(goldArr, mc);
}
private function hitMap():void{
var i:int;
while (i < mapArr.length) {
if ((((mapArr[i].x == 0)) && ((mapArr[i].y == 0)))){
if (((!((map.rightExit == null))) && (man.hitTestObject(map.rightExit)))){
Map.isHit = false;
map.isMove = true;
map.moveDir = "right";
Man.isRemoveCtrl = true;
} else {
if (((!((map.leftExit == null))) && (man.hitTestObject(map.leftExit)))){
Map.isHit = false;
map.isMove = true;
map.moveDir = "left";
Man.isRemoveCtrl = true;
} else {
if (((!((map.downExit == null))) && (man.hitTestObject(map.downExit)))){
Map.isHit = false;
map.isMove = true;
map.moveDir = "down";
Man.isRemoveCtrl = true;
if (Map.nowMap == 1){
SoundManager.instance.musicFadeOut();
nextMusic = "water";
};
} else {
if (((!((map.upExit == null))) && (man.hitTestObject(map.upExit)))){
Map.isHit = false;
map.isMove = true;
map.moveDir = "up";
Man.isRemoveCtrl = true;
if (Map.nowMap == 7){
SoundManager.instance.musicFadeOut();
nextMusic = "menu";
};
} else {
if (((!((map.rightRecurrenceExit == null))) && (man.hitTestObject(map.rightRecurrenceExit)))){
Map.isHit = false;
map.isMove = true;
map.moveDir = "rightRecurrence";
Man.isRemoveCtrl = true;
} else {
if (((!((map.leftRecurrenceExit == null))) && (man.hitTestObject(map.leftRecurrenceExit)))){
Map.isHit = false;
map.isMove = true;
map.moveDir = "leftRecurrence";
Man.isRemoveCtrl = true;
};
};
};
};
};
};
if (HitTest.hitTestShape(man, map.hitMC)){
if (HitTest.hitTestShape(man.shape_4, map.hitMC)){
man.resetMan("up");
man.setManPos("up");
};
if (HitTest.hitTestShape(man.shape_5, map.hitMC)){
man.resetMan("right");
man.setManPos("right");
};
if (HitTest.hitTestShape(man.shape_6, map.hitMC)){
man.resetMan("down");
man.setManPos("down");
};
if (HitTest.hitTestShape(man.shape_7, map.hitMC)){
man.resetMan("left");
man.setManPos("left");
};
};
};
i++;
};
}
private function createDoor():void{
var i:int;
var _local2:MovieClip;
var _local3:MovieClip;
var _local4:MovieClip;
var _local5:MovieClip;
var _local6:MovieClip;
var _local7:MovieClip;
var _local8:MovieClip;
var _local9:MovieClip;
var _local10:MovieClip;
var _local11:MovieClip;
var _local12:MovieClip;
var _local13:MovieClip;
var _local14:MovieClip;
var _local15:MovieClip;
var _local16:MovieClip;
var _local17:MovieClip;
var _local18:MovieClip;
var _local19:MovieClip;
var _local20:MovieClip;
var _local21:MovieClip;
var _local22:MovieClip;
var _local23:MovieClip;
var _local24:MovieClip;
var _local25:MovieClip;
var _local26:MovieClip;
var _local27:MovieClip;
var _local28:MovieClip;
var _local29:MovieClip;
var _local30:MovieClip;
var _local31:MovieClip;
var _local32:MovieClip;
i = 0;
while (i < mapArr.length) {
switch (i){
case 4:
_local2 = (mapArr[i]["Door_0MC"] as MovieClip);
_local2.isOpen = false;
_local2.hDoor = false;
_local2.initState();
_local2.openGold = 20;
doorArr.push(_local2);
break;
case 5:
_local3 = (mapArr[i]["Door_0MC"] as MovieClip);
_local3.isOpen = false;
_local3.hDoor = true;
_local3.initState();
_local3.openGold = 10;
doorArr.push(_local3);
_local4 = (mapArr[i]["Door_1MC"] as MovieClip);
_local4.isOpen = false;
_local4.hDoor = false;
_local4.initState();
_local4.openGold = 10;
doorArr.push(_local4);
_local5 = (mapArr[i]["Door_2MC"] as MovieClip);
_local5.isOpen = false;
_local5.hDoor = false;
_local5.initState();
_local5.openGold = 10;
doorArr.push(_local5);
break;
case 6:
_local6 = (mapArr[i]["Door_0MC"] as MovieClip);
_local6.isOpen = false;
_local6.hDoor = false;
_local6.initState();
_local6.openGold = 10;
doorArr.push(_local6);
break;
case 8:
_local7 = (mapArr[i]["Door_0MC"] as MovieClip);
_local7.isOpen = false;
_local7.hDoor = true;
_local7.initState();
_local7.openGold = 20;
doorArr.push(_local7);
_local8 = (mapArr[i]["Door_1MC"] as MovieClip);
_local8.isOpen = false;
_local8.hDoor = false;
_local8.initState();
_local8.openGold = 20;
doorArr.push(_local8);
_local9 = (mapArr[i]["Door_2MC"] as MovieClip);
_local9.isOpen = false;
_local9.hDoor = false;
_local9.initState();
_local9.openGold = 10;
doorArr.push(_local9);
break;
case 10:
_local10 = (mapArr[i]["Door_0MC"] as MovieClip);
_local10.isOpen = false;
_local10.hDoor = true;
_local10.initState();
_local10.openGold = 10;
doorArr.push(_local10);
break;
case 11:
_local11 = (mapArr[i]["Door_0MC"] as MovieClip);
_local11.isOpen = false;
_local11.hDoor = true;
_local11.initState();
_local11.openGold = 10;
doorArr.push(_local11);
_local12 = (mapArr[i]["Door_1MC"] as MovieClip);
_local12.isOpen = false;
_local12.hDoor = true;
_local12.initState();
_local12.openGold = 10;
doorArr.push(_local12);
break;
case 12:
_local13 = (mapArr[i]["Door_0MC"] as MovieClip);
_local13.isOpen = false;
_local13.hDoor = true;
_local13.initState();
_local13.openGold = 10;
doorArr.push(_local13);
_local14 = (mapArr[i]["Door_1MC"] as MovieClip);
_local14.isOpen = false;
_local14.hDoor = true;
_local14.initState();
_local14.openGold = 10;
doorArr.push(_local14);
break;
case 13:
_local15 = (mapArr[i]["Door_0MC"] as MovieClip);
_local15.isOpen = false;
_local15.hDoor = true;
_local15.initState();
_local15.openGold = 20;
doorArr.push(_local15);
_local16 = (mapArr[i]["Door_1MC"] as MovieClip);
_local16.isOpen = false;
_local16.hDoor = true;
_local16.initState();
_local16.openGold = 10;
doorArr.push(_local16);
break;
case 14:
_local17 = (mapArr[i]["Door_0MC"] as MovieClip);
_local17.isOpen = false;
_local17.hDoor = true;
_local17.initState();
_local17.openGold = 20;
doorArr.push(_local17);
break;
case 15:
_local18 = (mapArr[i]["Door_0MC"] as MovieClip);
_local18.isOpen = false;
_local18.hDoor = false;
_local18.initState();
_local18.openGold = 10;
doorArr.push(_local18);
break;
case 17:
_local19 = (mapArr[i]["Door_0MC"] as MovieClip);
_local19.isOpen = false;
_local19.hDoor = true;
_local19.initState();
_local19.openGold = 10;
doorArr.push(_local19);
_local20 = (mapArr[i]["Door_1MC"] as MovieClip);
_local20.isOpen = false;
_local20.hDoor = false;
_local20.initState();
_local20.openGold = 10;
doorArr.push(_local20);
_local21 = (mapArr[i]["Door_2MC"] as MovieClip);
_local21.isOpen = false;
_local21.hDoor = true;
_local21.initState();
_local21.openGold = 10;
doorArr.push(_local21);
break;
case 18:
_local22 = (mapArr[i]["Door_0MC"] as MovieClip);
_local22.isOpen = false;
_local22.hDoor = true;
_local22.initState();
_local22.openGold = 10;
doorArr.push(_local22);
break;
case 20:
_local23 = (mapArr[i]["Door_0MC"] as MovieClip);
_local23.isOpen = false;
_local23.hDoor = true;
_local23.initState();
_local23.openGold = 10;
doorArr.push(_local23);
_local24 = (mapArr[i]["Door_1MC"] as MovieClip);
_local24.isOpen = false;
_local24.hDoor = true;
_local24.initState();
_local24.openGold = 10;
doorArr.push(_local24);
break;
case 21:
_local25 = (mapArr[i]["Door_0MC"] as MovieClip);
_local25.isOpen = false;
_local25.hDoor = true;
_local25.initState();
_local25.openGold = 10;
doorArr.push(_local25);
_local26 = (mapArr[i]["Door_1MC"] as MovieClip);
_local26.isOpen = false;
_local26.hDoor = true;
_local26.initState();
_local26.openGold = 10;
doorArr.push(_local26);
break;
case 22:
_local27 = (mapArr[i]["Door_0MC"] as MovieClip);
_local27.isOpen = false;
_local27.hDoor = false;
_local27.initState();
_local27.openGold = 20;
doorArr.push(_local27);
break;
case 23:
_local28 = (mapArr[i]["Door_0MC"] as MovieClip);
_local28.isOpen = false;
_local28.hDoor = false;
_local28.initState();
_local28.openGold = 10;
doorArr.push(_local28);
_local29 = (mapArr[i]["Door_1MC"] as MovieClip);
_local29.isOpen = false;
_local29.hDoor = false;
_local29.initState();
_local29.openGold = 10;
doorArr.push(_local29);
_local30 = (mapArr[i]["Door_2MC"] as MovieClip);
_local30.isOpen = false;
_local30.hDoor = false;
_local30.initState();
_local30.openGold = 10;
doorArr.push(_local30);
_local31 = (mapArr[i]["Door_3MC"] as MovieClip);
_local31.isOpen = false;
_local31.hDoor = true;
_local31.initState();
_local31.openGold = 10;
doorArr.push(_local31);
_local32 = (mapArr[i]["Door_4MC"] as MovieClip);
_local32.isOpen = false;
_local32.hDoor = true;
_local32.initState();
_local32.openGold = 10;
doorArr.push(_local32);
break;
default:
break;
};
i++;
};
}
private function moveHorizontal(arr:Array):void{
var i:int;
while (i < arr.length) {
if (arr[i].numMap == Map.nowMap){
arr[i].x = (arr[i].x - arr[i].speed);
if ((((arr[i].x > (arr[i].moveXArea + arr[i].posX))) && ((arr[i].speed < 0)))){
arr[i].speed = (arr[i].speed * -1);
arr[i].moveLeft();
};
if ((((arr[i].x < (-(arr[i].moveXArea) + arr[i].posX))) && ((arr[i].speed > 0)))){
arr[i].speed = (arr[i].speed * -1);
arr[i].moveRight();
};
if ((((arr[0].x < (arr[i].posX + 10))) && ((arr[i].x > (arr[i].posX - 10))))){
arr[i].moveXArea = arr[i].initMoveArea;
};
};
i++;
};
}
private function getGold():void{
var i:int;
while (i < goldArr.length) {
if ((((((((Map.isHit == true)) && (!((goldArr[i].alpha == 0))))) && ((goldArr[i].live == true)))) && (man.hitTestObject(goldArr[i])))){
if (goldArr[i].isEat == false){
eatArr.push(goldArr[i]);
};
goldArr[i].isEat = true;
goldArr[i].disappear();
GameData.myGold = (GameData.myGold + goldArr[i].numGold);
myGold.myGoltText.gotoAndPlay("start");
myGold.goldText.text = GameData.myGold.toString();
calculateProgress();
playSound("coin");
};
i++;
};
}
private function elementsAddMap(arr:Array, mc:MovieClip):void{
elementsRemoveMap(arr, mc);
var i:int;
while (i < arr.length) {
if ((Map.nowMap % 4) == 0){
if ((((((((((arr[i].numMap == Map.nowMap)) || ((arr[i].numMap == (Map.nowMap - 4))))) || ((arr[i].numMap == (Map.nowMap + 1))))) || ((arr[i].numMap == (Map.nowMap + 4))))) || ((arr[i].numMap == (Map.nowMap + 3))))){
mc.addChild(arr[i]);
};
} else {
if ((Map.nowMap % 4) == 3){
if ((((((((((arr[i].numMap == Map.nowMap)) || ((arr[i].numMap == (Map.nowMap - 4))))) || ((arr[i].numMap == (Map.nowMap - 1))))) || ((arr[i].numMap == (Map.nowMap + 4))))) || ((arr[i].numMap == (Map.nowMap - 3))))){
mc.addChild(arr[i]);
};
} else {
if ((((((((((arr[i].numMap == Map.nowMap)) || ((arr[i].numMap == (Map.nowMap - 4))))) || ((arr[i].numMap == (Map.nowMap - 1))))) || ((arr[i].numMap == (Map.nowMap + 4))))) || ((arr[i].numMap == (Map.nowMap + 1))))){
mc.addChild(arr[i]);
};
};
};
i++;
};
}
private function clickPlay(e:MouseEvent):void{
ToNextMap.numMap = 1;
ToNextMap.gotoNextMap(mc);
}
private function hitDoor():void{
var i:int;
while (i < doorArr.length) {
if ((((doorArr[i].isOpen == false)) && (man.hitTestObject(doorArr[i])))){
man.resetMan("stop");
if (GameData.myGold >= doorArr[i].openGold){
GameData.myGold = (GameData.myGold - doorArr[i].openGold);
myGold.myGoltText.gotoAndPlay("start");
myGold.goldText.text = GameData.myGold.toString();
doorArr[i].isOpen = true;
doorArr[i].openDoor();
loseGold = new LoseGold();
loseGold.x = Hero.instance.x;
loseGold.y = Hero.instance.y;
mc.addChild(loseGold);
} else {
mc.addChild(Nomoney.instance);
Nomoney.instance.x = Hero.instance.x;
Nomoney.instance.y = Hero.instance.y;
Nomoney.instance.disappear();
};
};
i++;
};
}
private function moveFormMap():void{
elementMoveFromMap(goldArr);
elementMoveFromMap(acalephArr);
elementMoveFromMap(piranhaArr);
}
private function frameHandle(e:Event):void{
var m:int;
var n:int;
var i:int;
var j:int;
if (Map.isHit == true){
hitMap();
};
if (map.isMove == true){
if ((((Map.nowMap == 0)) && ((award1 == false)))){
Trace("发送award1");
award1 = true;
SpilSystem.instance.submitAchievement("award1");
};
if (Map.addSomeMap == true){
Map.addSomeMap = false;
Map.addMap(_mc, mapArr);
addElements();
};
if (GameData.isNewGame == true){
map.gameNew();
} else {
map.gameContinue();
};
switch (map.moveDir){
case "right":
map.moveLeft(mapArr);
man.rightCross();
moveFormMap();
break;
case "left":
map.moveRight(mapArr);
man.leftCross();
moveFormMap();
if (Map.nowMap == 3){
m = 0;
while (m < onewayTriggerArr.length) {
if (onewayTriggerArr[m].id == 5){
onewayTriggerArr[m].isTrigger = true;
};
m++;
};
n = 0;
while (n < onewayDoorArr.length) {
if (onewayDoorArr[n].id == 5){
onewayDoorArr[n].isOpen = true;
onewayDoorArr[n].initState();
};
n++;
};
Mermaid.instance.numMap = 22;
map.progressTxt.text = "";
map.hourTxt.text = "00";
map.minuteTxt.text = "00";
map.secondTxt.text = "00";
map.coinsTxt.text = "";
map.scoreTxt.text = "";
};
break;
case "down":
map.moveUp(mapArr);
man.downCross();
moveFormMap();
if (Map.nowMap == 5){
i = 0;
while (i < onewayTriggerArr.length) {
if (onewayTriggerArr[i].id > 5){
onewayTriggerArr[i].isTrigger = true;
};
i++;
};
j = 0;
while (j < onewayDoorArr.length) {
if (onewayDoorArr[j].id > 5){
onewayDoorArr[j].isOpen = true;
onewayDoorArr[j].initState();
};
j++;
};
};
break;
case "up":
map.moveDown(mapArr);
man.upCross();
moveFormMap();
break;
case "rightRecurrence":
map.moveLeftRecurrence(_mc, mapArr);
man.rightCross();
moveFormMap();
break;
case "leftRecurrence":
map.moveRightRecurrence(_mc, mapArr);
man.leftCross();
moveFormMap();
break;
default:
break;
};
};
if (map.moveFinish == true){
if (Map.nowMap == 1){
Trace("发送googlemainscreen_viewed");
Doc._tracker.trackEvent("Diving dennis", "mainscreen_viewed", "per session", 0);
};
if (myGold.parent == null){
mc.addChild(myGold);
};
if (Map.addSomeMap == false){
Map.addSomeMap = true;
Map.removeSomeMap(_mc, mapArr);
removeSomeElements();
};
setManPosition();
mc.removeChild(enemyMC);
mc.addChild(enemyMC);
setDisplay();
if (((((((!((Map.nowMap == 0))) && (!((Map.nowMap == 1))))) && (!((Map.nowMap == 2))))) && (!((Map.nowMap == 3))))){
save.setButton(true);
save.alpha = 1;
myGold.alpha = 1;
} else {
save.setButton(false);
save.alpha = 0;
myGold.alpha = 0;
if (Map.nowMap == 3){
GameData.score = Math.floor(((1500 * (200 + GameData.myGold)) * Math.sqrt((GameData.progress / GameData.gameTime))));
time = GameData.gameTime;
progress = GameData.progress;
coins = GameData.myGold;
score = GameData.score;
if ((((award3 == false)) && ((progress >= 70)))){
Trace("发送Award3");
award3 = true;
SpilSystem.instance.submitAchievement("award3");
};
if ((((award4 == false)) && ((time <= 3600)))){
Trace("发送Award4");
award4 = true;
SpilSystem.instance.submitAchievement("award4");
};
Trace(coins);
if ((((award5 == false)) && ((coins >= 200)))){
Trace("发送Award5");
award5 = true;
SpilSystem.instance.submitAchievement("award5");
};
Doc._tracker.trackEvent("Diving dennis", "game_completed", "per session", 0);
if (progress >= 70){
Doc._tracker.trackEvent("Diving dennis", ("progress_" + progress), "per session", 0);
};
if (time <= 3600){
Doc._tracker.trackEvent("Diving dennis", ("time_" + time), "per session", 0);
};
if (coins >= 200){
Doc._tracker.trackEvent("Diving dennis", ("coins_" + coins), "per session", 0);
};
SpilSystem.instance.submitScore(score);
switchTime();
rollTimer = new Timer(100);
rollTimer.addEventListener(TimerEvent.TIMER, rollHandler);
rollTimer.start();
Mermaid.instance.kiss();
clearData();
resetGoldDoor();
resetGold();
completeSave();
};
};
if (Map.nowMap == 2){
rollTimer.stop();
rollTimer.removeEventListener(TimerEvent.TIMER, rollHandler);
Mermaid.instance.numMap = 1;
Mermaid.instance.swim();
};
switch (Mermaid.instance.numMap){
case 1:
LeaveTigger.instance.xPos = 270;
LeaveTigger.instance.yPos = 200;
Mermaid.instance.xPos = 225;
Mermaid.instance.yPos = 370;
break;
case 17:
LeaveTigger.instance.xPos = 420;
LeaveTigger.instance.yPos = 220;
Mermaid.instance.xPos = 500;
Mermaid.instance.yPos = 320;
break;
case 22:
LeaveTigger.instance.xPos = 300;
LeaveTigger.instance.yPos = 330;
Mermaid.instance.xPos = 450;
Mermaid.instance.yPos = 370;
break;
default:
LeaveTigger.instance.xPos = 0;
LeaveTigger.instance.yPos = 0;
break;
};
};
setHeroPos();
Nomoney.instance.x = Hero.instance.x;
Nomoney.instance.y = Hero.instance.y;
LeaveTigger.instance.x = (mapArr[Mermaid.instance.numMap].x + LeaveTigger.instance.xPos);
LeaveTigger.instance.y = (mapArr[Mermaid.instance.numMap].y + LeaveTigger.instance.yPos);
if (map.isMove == true){
Mermaid.instance.x = (mapArr[Mermaid.instance.numMap].x + Mermaid.instance.xPos);
Mermaid.instance.y = (mapArr[Mermaid.instance.numMap].y + Mermaid.instance.yPos);
};
hitLeaveTigger();
moveVertical(acalephArr);
moveHorizontal(piranhaArr);
acalephAttack();
piranhaAttack();
hurt(acalephArr);
hurt(piranhaArr);
getGold();
hitDoor();
hitOnewayDoor();
hitTrigger();
if (isReset == true){
isReset = false;
resetMap();
};
if (gotoMap_1 == true){
gotoMap_1 = false;
gotoMap1();
};
if (gotoMap_5 == true){
gotoMap_5 = false;
gotoMap5();
};
if (SoundManager.instance.fadeOutFinish == true){
SoundManager.instance.fadeOutFinish = false;
playMusic(nextMusic);
};
}
private function cheatHandler(e:KeyboardEvent):void{
if (isCheat == true){
trace(222);
switch (e.keyCode){
case 49:
trace(1);
SpilSystem.instance.submitAchievement("award1");
break;
case 50:
SpilSystem.instance.submitAchievement("award2");
break;
case 51:
SpilSystem.instance.submitAchievement("award3");
break;
case 52:
SpilSystem.instance.submitAchievement("award4");
break;
case 53:
SpilSystem.instance.submitAchievement("award5");
break;
default:
break;
};
};
}
private function setManPosition():void{
var j:int;
var i:int;
if (HitTest.hitTestShape(man, map.hitMC)){
if (HitTest.hitTestShape(man.shape_0, map.hitMC)){
man.hit0();
setHeroPos();
} else {
if (HitTest.hitTestShape(man.shape_1, map.hitMC)){
man.hit1();
setHeroPos();
} else {
if (HitTest.hitTestShape(man.shape_2, map.hitMC)){
man.hit2();
setHeroPos();
} else {
if (HitTest.hitTestShape(man.shape_3, map.hitMC)){
man.hit3();
setHeroPos();
};
};
};
};
} else {
map.moveFinish = false;
if (Map.nowMap != 5){
Man.isAddCtrl = true;
} else {
i = 0;
while (i < onewayTriggerArr.length) {
if ((((onewayTriggerArr[i].id == 5)) && ((man.hitTestObject(onewayTriggerArr[i]) == false)))){
Man.isAddCtrl = true;
};
i++;
};
};
j = 0;
while (j < piranhaArr.length) {
if (piranhaArr[j].speed > 0){
piranhaArr[j].stopLeft();
} else {
piranhaArr[j].stopRight();
};
j++;
};
};
}
public static function playMusic(str:String):void{
switch (str){
case "menu":
playGameMusic = false;
SoundManager.instance.playMusic("menuMusic");
nextMusic = "water";
break;
case "game":
playGameMusic = true;
SoundManager.instance.playMusic("gameMusic");
nextMusic = "water";
rTime = timeGameMusic;
break;
case "water":
playGameMusic = true;
SoundManager.instance.playMusic("waterSound");
nextMusic = "game";
rTime = ((Math.random() * 60) + 30);
break;
default:
break;
};
}
public static function playSound(str:String):void{
switch (str){
case "coin":
SoundManager.instance.playSound("coinSound");
break;
case "mermaidMove":
SoundManager.instance.playSound("mermaidSound");
break;
case "closeDoor":
SoundManager.instance.playSound("closeDoorSound");
break;
case "openDoor":
SoundManager.instance.playSound("openDoorSound");
break;
case "loseCoin":
SoundManager.instance.playSound("loseCoinSound");
break;
case "hurt":
SoundManager.instance.playSound("hurtSound");
break;
case "attack":
SoundManager.instance.playSound("attackSound");
break;
case "water":
SoundManager.instance.playSound("waterSound");
break;
case "manMove":
SoundManager.instance.playSound("moveSound");
break;
case "notEnoughMoney":
SoundManager.instance.playSound("notEnoughMoneySound");
break;
case "levelComplete":
playGameMusic = false;
SoundManager.instance.playSound("levelCompleteMusic");
break;
default:
break;
};
}
}
}//package GameLogic
Section 87
//HitTest (GameLogic.HitTest)
package GameLogic {
import flash.display.*;
import flash.geom.*;
public class HitTest {
public function HitTest(){
super();
}
public static function hitTestShape(shape1:DisplayObject, shape2:DisplayObject):Boolean{
var hit:Boolean;
if (shape1.hitTestObject(shape2)){
if ((((shape2.width < 20)) && ((shape2.height < 20)))){
hit = true;
} else {
if (_slot1._hitTest(shape1, shape2)){
hit = true;
};
};
};
return (hit);
}
private static function _hitTest(shape1:DisplayObject, shape2:DisplayObject):Boolean{
var p1x:Number = shape1.getRect(shape1).x;
var p1y:Number = shape1.getRect(shape1).y;
var p2x:Number = shape2.getRect(shape2).x;
var p2y:Number = shape2.getRect(shape2).y;
var p1w:Number = shape1.width;
var p1h:Number = shape1.height;
var p2w:Number = shape2.width;
var p2h:Number = shape2.height;
p1w = ((p1w < 1)) ? 1 : p1w;
p1h = ((p1h < 1)) ? 1 : p1h;
p2w = ((p2w < 1)) ? 1 : p2w;
p2h = ((p2h < 1)) ? 1 : p2h;
var BmpData1:BitmapData = new BitmapData(p1w, p1h, true, 0);
var BmpData2:BitmapData = new BitmapData(p2w, p2h, true, 0);
BmpData1.draw(shape1, new Matrix(1, 0, 0, 1, -(p1x), -(p1y)));
BmpData2.draw(shape2, new Matrix(1, 0, 0, 1, -(p2x), -(p2y)));
var gp1:Point = shape1.localToGlobal(new Point(p1x, p1y));
var gp2:Point = shape2.localToGlobal(new Point(p2x, p2y));
var re:Boolean = BmpData1.hitTest(gp1, 5, BmpData2, gp2, 5);
BmpData1.dispose();
BmpData2.dispose();
return (re);
}
}
}//package GameLogic
Section 88
//Save (GameLogic.Save)
package GameLogic {
import flash.display.*;
import flash.events.*;
import Elements.*;
import flash.utils.*;
import Effect.*;
import flash.net.*;
public class Save extends MovieClip {
private var saveAndQuit:MovieClip;
private var mc:MovieClip;
private var save:MovieClip;
private var saveBtn:SimpleButton;
public function Save(p:MovieClip){
super();
mc = p;
var SaveClass:Class = (getDefinitionByName("SaveMC") as Class);
save = new (SaveClass);
addChild(save);
saveBtn = (save["SaveBtn"] as SimpleButton);
saveBtn.addEventListener(MouseEvent.CLICK, mouseClick);
saveBtn.addEventListener(MouseEvent.MOUSE_OVER, mouseTouch);
var SaveAndQuitClass:Class = (getDefinitionByName("SaveAndQuitMC") as Class);
saveAndQuit = new (SaveAndQuitClass);
addChild(saveAndQuit);
saveAndQuit.x = -100;
saveAndQuit.y = 13;
}
private function mouseClick(e:MouseEvent):void{
if (saveBtn.enabled == true){
GameData.isNewGame = false;
createSaveArea();
backToTile();
};
}
private function createSaveArea():void{
var so:SharedObject = SharedObject.getLocal(GameData.localName, "/");
if (so.data["Data"] == null){
so.data["Data"] = new Object();
};
so.data["Data"]["myGold"] = GameData.myGold;
so.data["Data"]["gameTime"] = GameData.gameTime;
so.data["Data"]["mermaidMap"] = Mermaid.instance.numMap;
so.data["Data"]["newGame"] = GameData.isNewGame;
if (so.data["DoorOpen"] == null){
so.data["DoorOpen"] = new Array();
};
var i:int;
while (i < Game.doorArr.length) {
so.data["DoorOpen"][i] = Game.doorArr[i].isOpen;
i++;
};
if (so.data["EatGold"] == null){
so.data["EatGold"] = new Array();
};
var j:int;
while (j < Game.goldArr.length) {
so.data["EatGold"][j] = Game.goldArr[j].isEat;
j++;
};
if (so.data["goldRebulid"] == null){
so.data["goldRebulid"] = new Array();
};
var k:int;
while (k < Game.goldArr.length) {
so.data["goldRebulid"][k] = Game.goldArr[k].time;
k++;
};
so.flush();
}
public function clear():void{
if (save != null){
removeChild(save);
save = null;
};
}
private function backToTile():void{
new FadeOut(Doc.blackMC);
}
public function setButton(bool:Boolean):void{
if (bool == false){
saveBtn.enabled = false;
} else {
saveBtn.enabled = true;
};
}
private function mouseTouch(e:MouseEvent):void{
}
}
}//package GameLogic
Section 89
//Loading (GameUI.Loading)
package GameUI {
import flash.display.*;
import flash.utils.*;
public class Loading {
private var mc:MovieClip;
public var water:MovieClip;
private var loading:MovieClip;
public function Loading(p:MovieClip){
super();
mc = p;
var LoadingClass:Class = (getDefinitionByName("LoadingMC") as Class);
loading = new (LoadingClass);
mc.addChild(loading);
water = (loading["WaterMC"] as MovieClip);
}
public function waterUpdate(num:Number):void{
water.y = ((myGameSetting.gameHeight - 10) - (num * (myGameSetting.gameHeight - 10)));
}
public function clear():void{
if (loading != null){
mc.removeChild(loading);
loading = null;
};
}
}
}//package GameUI
Section 90
//a10_com_logo_109 (loading_fla.a10_com_logo_109)
package loading_fla {
import flash.display.*;
public dynamic class a10_com_logo_109 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 91
//girlsgogames_100 (loading_fla.girlsgogames_100)
package loading_fla {
import flash.display.*;
public dynamic class girlsgogames_100 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 92
//girlsgogames_102 (loading_fla.girlsgogames_102)
package loading_fla {
import flash.display.*;
public dynamic class girlsgogames_102 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 93
//girlsgogames_103 (loading_fla.girlsgogames_103)
package loading_fla {
import flash.display.*;
public dynamic class girlsgogames_103 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 94
//girlsgogames_104 (loading_fla.girlsgogames_104)
package loading_fla {
import flash.display.*;
public dynamic class girlsgogames_104 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 95
//girlsgogames_105 (loading_fla.girlsgogames_105)
package loading_fla {
import flash.display.*;
public dynamic class girlsgogames_105 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 96
//girlsgogames_94 (loading_fla.girlsgogames_94)
package loading_fla {
import flash.display.*;
public dynamic class girlsgogames_94 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 97
//girlsgogames_95 (loading_fla.girlsgogames_95)
package loading_fla {
import flash.display.*;
public dynamic class girlsgogames_95 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 98
//girlsgogames_96 (loading_fla.girlsgogames_96)
package loading_fla {
import flash.display.*;
public dynamic class girlsgogames_96 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 99
//girlsgogames_97 (loading_fla.girlsgogames_97)
package loading_fla {
import flash.display.*;
public dynamic class girlsgogames_97 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 100
//girlsgogames_98 (loading_fla.girlsgogames_98)
package loading_fla {
import flash.display.*;
public dynamic class girlsgogames_98 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 101
//girlsgogames_99 (loading_fla.girlsgogames_99)
package loading_fla {
import flash.display.*;
public dynamic class girlsgogames_99 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 102
//juegosdechicas_101 (loading_fla.juegosdechicas_101)
package loading_fla {
import flash.display.*;
public dynamic class juegosdechicas_101 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 103
//logo_asoyun_com_80 (loading_fla.logo_asoyun_com_80)
package loading_fla {
import flash.display.*;
public dynamic class logo_asoyun_com_80 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 104
//logo_game_57 (loading_fla.logo_game_57)
package loading_fla {
import flash.display.*;
public dynamic class logo_game_57 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 105
//logo_game_com_my_81 (loading_fla.logo_game_com_my_81)
package loading_fla {
import flash.display.*;
public dynamic class logo_game_com_my_81 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 106
//logo_giocaregratis_it_69 (loading_fla.logo_giocaregratis_it_69)
package loading_fla {
import flash.display.*;
public dynamic class logo_giocaregratis_it_69 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 107
//logo_laro_com_ph_107 (loading_fla.logo_laro_com_ph_107)
package loading_fla {
import flash.display.*;
public dynamic class logo_laro_com_ph_107 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 108
//logo_minigry_pl_79 (loading_fla.logo_minigry_pl_79)
package loading_fla {
import flash.display.*;
public dynamic class logo_minigry_pl_79 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 109
//logo_my_games_co_uk_72 (loading_fla.logo_my_games_co_uk_72)
package loading_fla {
import flash.display.*;
public dynamic class logo_my_games_co_uk_72 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 110
//logo_oyunlar123_com_93 (loading_fla.logo_oyunlar123_com_93)
package loading_fla {
import flash.display.*;
public dynamic class logo_oyunlar123_com_93 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 111
//new_agame_com_54 (loading_fla.new_agame_com_54)
package loading_fla {
import flash.display.*;
public dynamic class new_agame_com_54 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 112
//new_clickjogos_com_67 (loading_fla.new_clickjogos_com_67)
package loading_fla {
import flash.display.*;
public dynamic class new_clickjogos_com_67 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 113
//new_flashgames_ru_73 (loading_fla.new_flashgames_ru_73)
package loading_fla {
import flash.display.*;
public dynamic class new_flashgames_ru_73 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 114
//new_game_co_in_75 (loading_fla.new_game_co_in_75)
package loading_fla {
import flash.display.*;
public dynamic class new_game_co_in_75 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 115
//new_games_co_id_77 (loading_fla.new_games_co_id_77)
package loading_fla {
import flash.display.*;
public dynamic class new_games_co_id_77 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 116
//new_jeu_fr_63 (loading_fla.new_jeu_fr_63)
package loading_fla {
import flash.display.*;
public dynamic class new_jeu_fr_63 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 117
//new_spel_se_70 (loading_fla.new_spel_se_70)
package loading_fla {
import flash.display.*;
public dynamic class new_spel_se_70 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 118
//new_spielen_com_65 (loading_fla.new_spielen_com_65)
package loading_fla {
import flash.display.*;
public dynamic class new_spielen_com_65 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 119
//new_zapjuegos_com_59 (loading_fla.new_zapjuegos_com_59)
package loading_fla {
import flash.display.*;
public dynamic class new_zapjuegos_com_59 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 120
//newagame_co_uk_111 (loading_fla.newagame_co_uk_111)
package loading_fla {
import flash.display.*;
public dynamic class newagame_co_uk_111 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 121
//newspel_nl_61 (loading_fla.newspel_nl_61)
package loading_fla {
import flash.display.*;
public dynamic class newspel_nl_61 extends MovieClip {
public var displayArea_mc:MovieClip;
}
}//package loading_fla
Section 122
//Timeline_3 (loading_fla.Timeline_3)
package loading_fla {
import flash.display.*;
public dynamic class Timeline_3 extends MovieClip {
public function Timeline_3(){
addFrameScript(12, frame13);
}
function frame13(){
gotoAndPlay(1);
}
}
}//package loading_fla
Section 123
//Timeline_42 (loading_fla.Timeline_42)
package loading_fla {
import flash.display.*;
public dynamic class Timeline_42 extends MovieClip {
public function Timeline_42(){
addFrameScript(0, frame1, 11, frame12);
}
function frame12(){
gotoAndPlay(1);
gotoAndStop("right");
}
function frame1(){
stop();
}
}
}//package loading_fla
Section 124
//Door (Maps.Door)
package Maps {
import flash.display.*;
import flash.events.*;
import Player.*;
import GameLogic.*;
import flash.utils.*;
public class Door extends MovieClip {
private var timer:Timer;
public var openGold:int;
public var isOpen:Boolean;// = false
public function Door(){
super();
}
public function initState():void{
if (isOpen == true){
open();
} else {
close();
};
}
public function closeDoor():void{
gotoAndPlay("closing");
}
public function open():void{
gotoAndStop("open");
}
public function openDoor():void{
Game.playSound("openDoor");
gotoAndPlay("opening");
timer = new Timer(1000);
timer.addEventListener(TimerEvent.TIMER, timeHandler);
timer.start();
Man.isRemoveCtrl = true;
}
private function timeHandler(e:TimerEvent):void{
timer.stop();
timer.removeEventListener(TimerEvent.TIMER, timeHandler);
Man.isAddCtrl = true;
}
public function close():void{
gotoAndStop("close");
}
}
}//package Maps
Section 125
//LeaveTigger (Maps.LeaveTigger)
package Maps {
import flash.display.*;
import flash.utils.*;
public class LeaveTigger extends MovieClip {
private var _leaveTigger:MovieClip;
public var yPos:Number;// = 330
public var xPos:Number;// = 300
public static var leaveTigger:LeaveTigger;
public function LeaveTigger(){
super();
var leaveTiggerClass:Class = (getDefinitionByName("LeaveTriggerMC") as Class);
_leaveTigger = new (leaveTiggerClass);
_leaveTigger.alpha = 0;
addChild(_leaveTigger);
}
public function clear():void{
removeChild(_leaveTigger);
}
public static function get instance():LeaveTigger{
if (leaveTigger == null){
leaveTigger = new (LeaveTigger);
};
return (leaveTigger);
}
}
}//package Maps
Section 126
//Map (Maps.Map)
package Maps {
import flash.display.*;
import flash.events.*;
import Sounds.*;
import GameLogic.*;
import flash.utils.*;
import zlong.breathxue.utils.*;
import flash.text.*;
public class Map {
public var progressMC:MovieClip;
public var scoreTxt:TextField;
public var progressTxt:TextField;
public var coinsTxt:TextField;
private var sound:MovieClip;
private var mc:MovieClip;
private var quality:MovieClip;
public var coinsMC:MovieClip;
public var isMove:Boolean;
public var playBtn:MovieClip;
public var timeMC:MovieClip;
public var scoreMC:MovieClip;
public var rightRecurrenceExit:MovieClip;
private var bitmap:Bitmap;
public var minuteTxt:TextField;
private var soundState:int;
public var moveFinish:Boolean;
public var leftExit:MovieClip;
public var newGameBtn:MovieClip;
public var soundBtn:MovieClip;
public var leftRecurrenceExit:MovieClip;
public var upExit:MovieClip;
public var rightExit:MovieClip;
public var secondTxt:TextField;
public var qualityBtn:MovieClip;
public var downExit:MovieClip;
private var qualityState:int;
public var hitMC:MovieClip;
public var hourTxt:TextField;
private var bitmapData:BitmapData;
public var moveDir:String;
public static const mapSpeed:Number = 20;
public static var mapHeight:Number = 450;
public static var addSomeMap:Boolean = true;
public static var isHit:Boolean;
public static var mapWidth:Number = 600;
public static var nowMap:uint;
public static var numMap:uint = 24;
public function Map(p:MovieClip, arr:Array){
var MapClass:Class;
var map:MovieClip;
super();
mc = p;
init();
var i:int;
while (i < numMap) {
MapClass = (getDefinitionByName((("Map_" + i) + "MC")) as Class);
map = new (MapClass);
mc.addChild(map);
map.x = ((i % 4) * mapWidth);
map.y = (int((i / 4)) * mapHeight);
if (i == 0){
playBtn = (map["PlayBtn"] as MovieClip);
};
if (i == 1){
quality = (map["QualityMC"] as MovieClip);
quality.gotoAndStop("high");
qualityState = 0;
qualityBtn = (map["QualityBtn"] as MovieClip);
sound = (map["SoundMC"] as MovieClip);
sound.gotoAndStop("on");
soundState = 0;
soundBtn = (map["SoundBtn"] as MovieClip);
newGameBtn = (map["NewGameBtn"] as MovieClip);
newGameBtn.gotoAndPlay("newGame");
};
if (i == 3){
progressMC = (map["ProgressMC"] as MovieClip);
timeMC = (map["TimeMC"] as MovieClip);
coinsMC = (map["CoinsMC"] as MovieClip);
scoreMC = (map["ScoreMC"] as MovieClip);
progressTxt = (progressMC["txt_Progress"] as TextField);
hourTxt = (timeMC["txt_Hour"] as TextField);
minuteTxt = (timeMC["txt_Minute"] as TextField);
secondTxt = (timeMC["txt_Second"] as TextField);
coinsTxt = (coinsMC["txt_Coins"] as TextField);
scoreTxt = (scoreMC["txt_Score"] as TextField);
};
arr.push(map);
i++;
};
hitMC = (arr[0]["HitMC"] as MovieClip);
createExit(arr);
mc.stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
sound.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
soundBtn.addEventListener(MouseEvent.MOUSE_MOVE, onMouseOver);
quality.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
qualityBtn.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
sound.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
soundBtn.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
quality.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
qualityBtn.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
}
public function moveLeft(arr:Array):void{
var i:int;
if (arr[nowMap].x > -(mapWidth)){
i = 0;
while (i < arr.length) {
arr[i].x = (arr[i].x - mapSpeed);
i++;
};
} else {
nowMap++;
setMap(arr);
isMove = false;
moveFinish = true;
isHit = true;
createExit(arr);
hitMC = (arr[nowMap]["HitMC"] as MovieClip);
};
}
public function moveDown(arr:Array):void{
var i:int;
if (arr[nowMap].y < mapHeight){
i = 0;
while (i < arr.length) {
arr[i].y = (arr[i].y + mapSpeed);
i++;
};
} else {
nowMap = (nowMap - 4);
setMap(arr);
isMove = false;
moveFinish = true;
isHit = true;
createExit(arr);
hitMC = (arr[nowMap]["HitMC"] as MovieClip);
};
}
private function init():void{
isHit = true;
isMove = false;
nowMap = 0;
moveFinish = false;
}
public function gameContinue():void{
newGameBtn.gotoAndPlay("continue");
}
private function setQuality():void{
switch (qualityState){
case 0:
mc.stage.quality = StageQuality.LOW;
quality.gotoAndStop("low");
break;
case 1:
mc.stage.quality = StageQuality.MEDIUM;
quality.gotoAndStop("normal");
break;
case 2:
mc.stage.quality = StageQuality.HIGH;
quality.gotoAndStop("high");
break;
default:
break;
};
}
private function createExit(arr:Array):void{
rightExit = (arr[nowMap]["RightExitMC"] as MovieClip);
leftExit = (arr[nowMap]["LeftExitMC"] as MovieClip);
downExit = (arr[nowMap]["DownExitMC"] as MovieClip);
upExit = (arr[nowMap]["UpExitMC"] as MovieClip);
leftRecurrenceExit = (arr[nowMap]["LeftRecurrenceMC"] as MovieClip);
rightRecurrenceExit = (arr[nowMap]["RightRecurrenceMC"] as MovieClip);
}
public function moveLeftRecurrence(mc:MovieClip, arr:Array):void{
var m:int;
var i:int;
if (bitmap == null){
bitmapData = Tools.cutBmp(mc, myGameSetting.gameWidth, myGameSetting.gameHeight, 0, 0, myGameSetting.gameWidth, myGameSetting.gameHeight);
bitmap = new Bitmap(bitmapData);
mc.addChild(bitmap);
m = 0;
while (m < arr.length) {
arr[m].x = (arr[m].x + (mapWidth * 4));
m++;
};
} else {
if (((!((bitmap == null))) && ((bitmap.x > -(mapWidth))))){
bitmap.x = (bitmap.x - mapSpeed);
i = 0;
while (i < arr.length) {
arr[i].x = (arr[i].x - mapSpeed);
i++;
};
} else {
mc.removeChild(bitmap);
bitmap = null;
nowMap = (nowMap - 3);
setMap(arr);
isMove = false;
moveFinish = true;
isHit = true;
createExit(arr);
hitMC = (arr[nowMap]["HitMC"] as MovieClip);
};
};
}
public function moveRight(arr:Array):void{
var i:int;
if (arr[nowMap].x < mapWidth){
i = 0;
while (i < arr.length) {
arr[i].x = (arr[i].x + mapSpeed);
i++;
};
} else {
nowMap--;
setMap(arr);
isMove = false;
moveFinish = true;
isHit = true;
createExit(arr);
hitMC = (arr[nowMap]["HitMC"] as MovieClip);
};
}
public function moveUp(arr:Array):void{
var i:int;
if (arr[nowMap].y > -(mapHeight)){
i = 0;
while (i < arr.length) {
arr[i].y = (arr[i].y - mapSpeed);
i++;
};
} else {
nowMap = (nowMap + 4);
setMap(arr);
isMove = false;
moveFinish = true;
isHit = true;
createExit(arr);
hitMC = (arr[nowMap]["HitMC"] as MovieClip);
};
}
public function gameNew():void{
newGameBtn.gotoAndPlay("newGame");
}
public function clearMap(mc:MovieClip, arr:Array):void{
mc.removeEventListener(MouseEvent.CLICK, mouseDown);
sound.removeEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
soundBtn.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseOver);
quality.removeEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
qualityBtn.removeEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
sound.removeEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
soundBtn.removeEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
quality.removeEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
qualityBtn.removeEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
var i:int;
while (i < arr.length) {
mc.removeChild(arr[i]);
i++;
};
arr = [];
}
public function moveRightRecurrence(mc:MovieClip, arr:Array):void{
var m:int;
var i:int;
if (bitmap == null){
bitmapData = Tools.cutBmp(mc, myGameSetting.gameWidth, myGameSetting.gameHeight, 0, 0, myGameSetting.gameWidth, myGameSetting.gameHeight);
bitmap = new Bitmap(bitmapData);
mc.addChild(bitmap);
m = 0;
while (m < arr.length) {
arr[m].x = (arr[m].x - (mapWidth * 4));
m++;
};
} else {
if (((!((bitmap == null))) && ((bitmap.x < mapWidth)))){
bitmap.x = (bitmap.x + mapSpeed);
i = 0;
while (i < arr.length) {
arr[i].x = (arr[i].x + mapSpeed);
i++;
};
} else {
mc.removeChild(bitmap);
bitmap = null;
nowMap = (nowMap + 3);
setMap(arr);
isMove = false;
moveFinish = true;
isHit = true;
createExit(arr);
hitMC = (arr[nowMap]["HitMC"] as MovieClip);
};
};
}
private function mouseDown(e:MouseEvent):void{
if (((quality.hitTestPoint(mc.mouseX, mc.mouseY)) || (qualityBtn.hitTestPoint(mc.mouseX, mc.mouseY)))){
qualityState++;
if (qualityState > 2){
qualityState = 0;
};
setQuality();
};
if (((sound.hitTestPoint(mc.mouseX, mc.mouseY)) || (soundBtn.hitTestPoint(mc.mouseX, mc.mouseY)))){
SoundManager.instance.switchMusic();
SoundManager.instance.switchSound();
if (sound.currentLabel == "on"){
sound.gotoAndStop("off");
} else {
Game.playMusic("menu");
sound.gotoAndStop("on");
};
};
}
private function onMouseOut(e:MouseEvent):void{
mc.buttonMode = false;
}
private function onMouseOver(e:MouseEvent):void{
mc.buttonMode = true;
}
public static function removeSomeMap(mc:MovieClip, arr:Array):void{
var i:int;
while (i < arr.length) {
if ((((arr[i].parent == mc)) && (!((i == nowMap))))){
mc.removeChild(arr[i]);
};
i++;
};
}
public static function removeMap(mc:MovieClip, arr:Array):void{
var i:int;
while (i < arr.length) {
if (arr[i].parent != null){
mc.removeChild(arr[i]);
};
i++;
};
}
public static function setMap(arr:Array):void{
var i:int;
while (i < arr.length) {
arr[i].x = (((i % 4) - (nowMap % 4)) * mapWidth);
arr[i].y = ((int((i / 4)) - int((nowMap / 4))) * mapHeight);
i++;
};
}
public static function addMap(mc:MovieClip, arr:Array):void{
removeMap(mc, arr);
var i:int;
while (i < arr.length) {
if ((Map.nowMap % 4) == 0){
if ((((((((((i == Map.nowMap)) || ((i == (Map.nowMap - 4))))) || ((i == (Map.nowMap + 1))))) || ((i == (Map.nowMap + 4))))) || ((i == (Map.nowMap + 3))))){
mc.addChild(arr[i]);
};
} else {
if ((Map.nowMap % 4) == 3){
if ((((((((((i == Map.nowMap)) || ((i == (Map.nowMap - 4))))) || ((i == (Map.nowMap - 1))))) || ((i == (Map.nowMap + 4))))) || ((i == (Map.nowMap - 3))))){
mc.addChild(arr[i]);
};
} else {
if ((((((((((i == Map.nowMap)) || ((i == (Map.nowMap - 4))))) || ((i == (Map.nowMap - 1))))) || ((i == (Map.nowMap + 4))))) || ((i == (Map.nowMap + 1))))){
mc.addChild(arr[i]);
};
};
};
i++;
};
}
}
}//package Maps
Section 127
//OnewayDoor (Maps.OnewayDoor)
package Maps {
import flash.display.*;
import flash.events.*;
import Player.*;
import GameLogic.*;
import flash.utils.*;
public class OnewayDoor extends MovieClip {
private var timer:Timer;
private var time:int;
public var isOpen:Boolean;
public var id:int;
public function OnewayDoor():void{
super();
}
public function initState():void{
if (isOpen == true){
open();
} else {
close();
};
}
public function closeDoor():void{
Game.playSound("closeDoor");
gotoAndPlay("closing");
timer = new Timer(10);
time = 0;
timer.addEventListener(TimerEvent.TIMER, addCtrl);
timer.start();
}
public function open():void{
gotoAndStop("open");
}
private function addCtrl(e:TimerEvent):void{
time++;
Man.isRemoveCtrl = true;
if (time > 80){
time = 0;
timer.stop();
timer.removeEventListener(TimerEvent.TIMER_COMPLETE, addCtrl);
Man.isAddCtrl = true;
};
}
public function close():void{
gotoAndStop("close");
}
public function openDoor():void{
gotoAndPlay("opening");
}
}
}//package Maps
Section 128
//Trigger (Maps.Trigger)
package Maps {
import flash.display.*;
public class Trigger extends MovieClip {
public var id:int;
public var isTrigger:Boolean;
public function Trigger(){
super();
}
}
}//package Maps
Section 129
//Nomoney (message.Nomoney)
package message {
import flash.display.*;
import GameLogic.*;
import flash.utils.*;
public class Nomoney extends MovieClip {
private var _nomoney:MovieClip;
public static var nomoney:Nomoney;
public function Nomoney(){
super();
var NomoneyClass:Class = (getDefinitionByName("NomoneyMC") as Class);
_nomoney = new (NomoneyClass);
addChild(_nomoney);
}
public function disappear():void{
if (_nomoney.currentFrame == _nomoney.totalFrames){
_nomoney.gotoAndPlay("disappear");
Game.playSound("notEnoughMoney");
};
}
public static function get instance():Nomoney{
if (nomoney == null){
nomoney = new (Nomoney);
};
return (nomoney);
}
}
}//package message
Section 130
//Alert (olduncle.Alert)
package olduncle {
import flash.display.*;
import flash.events.*;
import zlong.breathxue.utils.*;
import flash.net.*;
import zlong.country.*;
public class Alert extends MovieClip {
private var _afterFunction:Function;
private var _alert:Sprite;
public function Alert(con:DisplayObjectContainer, af:Function){
super();
_alert = Attach.getSprite("AlertMC");
m15();
con.addChild(_alert);
_afterFunction = af;
_alert.addEventListener(MouseEvent.CLICK, uiMouseClick);
}
private function removeSelf():void{
_alert.removeEventListener(MouseEvent.CLICK, uiMouseClick);
var i:int;
while (i < numChildren) {
if ((getChildAt(i) is BtnBase)){
(getChildAt(i) as BtnBase).removeAll();
};
i++;
};
_alert.parent.removeChild(_alert);
}
private function m15():void{
var num:int = CountryInfo.instance.language;
(_alert.getChildByName("_txt") as MovieClip).gotoAndStop(num);
((_alert.getChildByName("goon") as MovieClip).getChildByName("_txt") as MovieClip).gotoAndStop(num);
((_alert.getChildByName("agame") as MovieClip).getChildByName("_txt") as MovieClip).gotoAndStop(num);
}
private function uiMouseClick(e:MouseEvent):void{
var tempStr:String = e.target.name;
switch (tempStr){
case "goon":
removeSelf();
if (_afterFunction != null){
_afterFunction();
};
break;
case "agame":
navigateToURL(new URLRequest(("http://" + CountryInfo.instance.domain)), "_blank");
break;
default:
break;
};
}
}
}//package olduncle
Section 131
//BtnBase (olduncle.BtnBase)
package olduncle {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
public class BtnBase extends MovieClip {
private var _btnName:String;
private var _isDown:Boolean;
private var _isAddUp:Boolean;
public function BtnBase(){
super();
_isDown = false;
_isAddUp = false;
init();
}
protected function mouseOutHandler(event:MouseEvent):void{
gotoAndStop(1);
transform.colorTransform = new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
}
protected function mouseDownHandler(event:MouseEvent):void{
gotoAndStop(2);
_isDown = true;
transform.colorTransform = new ColorTransform(1, 1, 1, 1, 100, 100, 100, 0);
if (!_isAddUp){
stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
_isAddUp = true;
};
}
public function get btnName():String{
return (_btnName);
}
protected function mouseUpHandler(event:MouseEvent):void{
gotoAndStop(1);
_isDown = false;
transform.colorTransform = new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
}
protected function mouseOverHandler(event:MouseEvent):void{
gotoAndStop(2);
if (_isDown){
transform.colorTransform = new ColorTransform(1, 1, 1, 1, 100, 100, 100, 0);
};
}
public function init():void{
stop();
_btnName = name;
mouseChildren = false;
addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
}
public function removeAll():void{
removeEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
removeEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
stage.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
}
}
}//package olduncle
Section 132
//Hero (Player.Hero)
package Player {
import flash.display.*;
import GameLogic.*;
import flash.utils.*;
public class Hero extends MovieClip {
public var dir:String;
public static var myHero:Hero;
public static var _hero:MovieClip;
public function Hero(){
super();
var HeroClass:Class = (getDefinitionByName("HeroMC") as Class);
_hero = new (HeroClass);
addChild(_hero);
dir = "right";
_hero.gotoAndStop("right");
}
public function turnLeft():void{
_hero.gotoAndPlay("turnLeft");
}
public function hurtLeft():void{
Game.playSound("hurt");
_hero.gotoAndPlay("hurtLeft");
}
public function moveLeft():void{
_hero.gotoAndStop("left");
}
public function moveRight():void{
_hero.gotoAndStop("right");
}
public function hurtRight():void{
Game.playSound("hurt");
_hero.gotoAndPlay("hurtRight");
}
public function turnRight():void{
_hero.gotoAndPlay("turnRight");
}
public static function get instance():Hero{
if (myHero == null){
myHero = new (Hero);
myHero.enabled = false;
};
return (myHero);
}
}
}//package Player
Section 133
//Man (Player.Man)
package Player {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import Maps.*;
import GameLogic.*;
import flash.utils.*;
import flash.ui.*;
public class Man extends MovieClip {
private const speed:Number = 4;
private var posX:Number;// = 260
private var posY:Number;// = 390
private var keyLeft:Boolean;
public var godStopTime:int;// = 130
public var shape_0:MovieClip;
public var shape_2:MovieClip;
private var openMouseCtrl:Boolean;// = true
private var mc:MovieClip;
public var shape_5:MovieClip;
public var shape_6:MovieClip;
public var shape_7:MovieClip;
public var shape_1:MovieClip;
public var shape_3:MovieClip;
private var keyDown:Boolean;
public var shape_4:MovieClip;
private var mouseCtrl:Boolean;// = false
private var maxSpeed:Number;// = 4
private var frontX:Number;
private var frontY:Number;
private var angle:Number;
private var manPoint:Point;
private var keyUp:Boolean;
private var man:MovieClip;
private var targetX:Number;
private var targetY:Number;
public var godTime:int;// = 120
private var playMoveSound:Boolean;// = true
private var speedX:Number;// = 0
private var speedY:Number;// = 0
private var _globalPoint:Point;
private var accX:Number;
private var accY:Number;
private var keyRight:Boolean;
public static var isRemoveCtrl:Boolean;
public static var isAddCtrl:Boolean;
public function Man(p:MovieClip){
accX = maxSpeed;
accY = maxSpeed;
super();
mc = p;
init();
mc.stage.addEventListener(Event.ENTER_FRAME, frameHandle);
mc.stage.addEventListener(KeyboardEvent.KEY_DOWN, downHandle);
mc.stage.addEventListener(KeyboardEvent.KEY_UP, upHandle);
mc.stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandle);
mc.stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandle);
}
private function mouseUpHandle(e:MouseEvent):void{
if ((((((((keyLeft == false)) && ((keyRight == false)))) && ((keyUp == false)))) && ((keyDown == false)))){
mouseCtrl = false;
};
}
public function hit2():void{
Trace(2);
man.x = (man.x + 3);
man.y = (man.y - 3);
}
public function hit3():void{
Trace(3);
man.x = (man.x - 3);
man.y = (man.y - 3);
}
private function mouseMove():void{
speedX = (maxSpeed * Math.cos(angle));
speedY = (maxSpeed * Math.sin(angle));
if ((((targetX <= man.x)) && ((targetY <= man.y)))){
if (Math.abs(speedX) > maxSpeed){
speedX = -(maxSpeed);
};
if (Math.abs(speedY) > maxSpeed){
speedY = -(maxSpeed);
};
if (((((man.x - targetX) < maxSpeed)) && (((man.y - targetY) < maxSpeed)))){
speedX = 0;
speedY = 0;
};
} else {
if ((((targetX <= man.x)) && ((targetY >= man.y)))){
if (Math.abs(speedX) > maxSpeed){
speedX = -(maxSpeed);
};
if (Math.abs(speedY) > maxSpeed){
speedY = maxSpeed;
};
if (((((man.x - targetX) < maxSpeed)) && (((targetY - man.y) < maxSpeed)))){
speedX = 0;
speedY = 0;
};
} else {
if ((((targetX >= man.x)) && ((targetY <= man.y)))){
if (Math.abs(speedX) > maxSpeed){
speedX = maxSpeed;
};
if (Math.abs(speedY) > maxSpeed){
speedY = -(maxSpeed);
};
if (((((targetX - man.x) < maxSpeed)) && (((man.y - targetY) < maxSpeed)))){
speedX = 0;
speedY = 0;
};
} else {
if ((((targetX >= man.x)) && ((targetY >= man.y)))){
if (Math.abs(speedX) > maxSpeed){
speedX = maxSpeed;
};
if (Math.abs(speedY) > maxSpeed){
speedY = maxSpeed;
};
if (((((targetX - man.x) < maxSpeed)) && (((targetY - man.y) < maxSpeed)))){
speedX = 0;
speedY = 0;
};
};
};
};
};
frontX = man.x;
man.x = (man.x + speedX);
frontY = man.y;
man.y = (man.y + speedY);
}
private function removeCtrl():void{
mc.stage.removeEventListener(KeyboardEvent.KEY_DOWN, downHandle);
mc.stage.removeEventListener(KeyboardEvent.KEY_UP, upHandle);
resetKey();
openMouseCtrl = false;
}
private function init():void{
var ManClass:Class = (getDefinitionByName("ManMC") as Class);
man = new (ManClass);
addChild(man);
man.x = posX;
man.y = posY;
man.enabled = false;
shape_0 = (man["Shape_0MC"] as MovieClip);
shape_1 = (man["Shape_1MC"] as MovieClip);
shape_2 = (man["Shape_2MC"] as MovieClip);
shape_3 = (man["Shape_3MC"] as MovieClip);
shape_4 = (man["Shape_4MC"] as MovieClip);
shape_5 = (man["Shape_5MC"] as MovieClip);
shape_6 = (man["Shape_6MC"] as MovieClip);
shape_7 = (man["Shape_7MC"] as MovieClip);
isRemoveCtrl = false;
isAddCtrl = false;
manPoint = new Point();
globalPoint = new Point();
}
public function leftCross():void{
if (man.x < (Map.mapWidth - 90)){
man.x = (man.x + Map.mapSpeed);
};
}
public function setMan(_x:Number=300, _y:Number=170):void{
man.x = _x;
man.y = _y;
}
private function moveDown():void{
accY = Math.abs(accY);
speedY = (speedY + accY);
if (Math.abs(speedY) > maxSpeed){
speedY = maxSpeed;
};
}
public function setManPos(pos:String):void{
switch (pos){
case "up":
man.y = (man.y + 0.5);
break;
case "down":
man.y = (man.y - 0.5);
break;
case "left":
man.x = (man.x + 0.5);
break;
case "right":
man.x = (man.x - 0.5);
break;
};
}
private function getSpeed():void{
if ((((((((((keyLeft == true)) && ((keyUp == true)))) || ((((keyLeft == true)) && ((keyDown == true)))))) || ((((keyRight == true)) && ((keyUp == true)))))) || ((((keyRight == true)) && ((keyDown == true)))))){
maxSpeed = (speed * Math.sin((Math.PI / 4)));
} else {
maxSpeed = speed;
};
}
private function reckonTarget():void{
targetX = mc.mouseX;
targetY = mc.mouseY;
angle = Math.atan2((mc.mouseY - man.y), (mc.mouseX - man.x));
if ((((man.x > mc.mouseX)) && ((Hero.instance.dir == "right")))){
Hero.instance.turnLeft();
Hero.instance.dir = "left";
};
if ((((man.x < mc.mouseX)) && ((Hero.instance.dir == "left")))){
Hero.instance.turnRight();
Hero.instance.dir = "right";
};
}
public function rightCross():void{
if (man.x > 90){
man.x = (man.x - Map.mapSpeed);
};
}
public function hit0():void{
Trace(0);
man.x = (man.x + 3);
man.y = (man.y + 3);
}
public function resetMan(dir:String):void{
switch (dir){
case "left":
man.x = frontX;
break;
case "right":
man.x = frontX;
break;
case "up":
man.y = frontY;
break;
case "down":
man.y = frontY;
break;
case "stop":
man.x = frontX;
man.y = frontY;
break;
};
}
public function cooRotation():void{
manPoint.x = man.x;
manPoint.y = man.y;
globalPoint = mc.localToGlobal(manPoint);
}
public function get globalPoint():Point{
return (_globalPoint);
}
public function resetKey():void{
keyLeft = false;
keyRight = false;
keyUp = false;
keyDown = false;
}
public function downCross():void{
if (man.y > 55){
man.y = (man.y - Map.mapSpeed);
};
}
private function upHandle(e:KeyboardEvent):void{
switch (e.keyCode){
case Keyboard.LEFT:
if (playMoveSound == false){
playMoveSound = true;
};
keyLeft = false;
break;
case Keyboard.RIGHT:
if (playMoveSound == false){
playMoveSound = true;
};
keyRight = false;
break;
case Keyboard.UP:
if (playMoveSound == false){
playMoveSound = true;
};
keyUp = false;
break;
case Keyboard.DOWN:
if (playMoveSound == false){
playMoveSound = true;
};
keyDown = false;
break;
default:
break;
};
}
private function moveRight():void{
accX = Math.abs(accX);
speedX = (speedX + accX);
if (Math.abs(speedX) > maxSpeed){
speedX = maxSpeed;
};
}
private function moveUp():void{
accY = -(Math.abs(accY));
speedY = (speedY + accY);
if (Math.abs(speedY) > maxSpeed){
speedY = -(maxSpeed);
};
}
public function set globalPoint(value:Point):void{
_globalPoint = value;
}
private function addCtrl():void{
mc.stage.addEventListener(KeyboardEvent.KEY_DOWN, downHandle);
mc.stage.addEventListener(KeyboardEvent.KEY_UP, upHandle);
openMouseCtrl = true;
}
private function keyMove():void{
if (keyLeft == true){
moveLeft();
};
if (keyRight == true){
moveRight();
};
if ((((keyLeft == false)) && ((keyRight == false)))){
if (speedX > 0){
accX = -(Math.abs(accX));
speedX = (speedX + accX);
if (speedX < 0){
speedX = 0;
};
} else {
if (speedX < 0){
accX = Math.abs(accX);
speedX = (speedX + accX);
if (speedX > 0){
speedX = 0;
};
};
};
};
frontX = man.x;
man.x = (man.x + speedX);
if (keyUp == true){
moveUp();
};
if (keyDown == true){
moveDown();
};
if ((((keyUp == false)) && ((keyDown == false)))){
if (speedY > 0){
accY = -(Math.abs(accY));
speedY = (speedY + accY);
if (speedY < 0){
speedY = 0;
};
} else {
if (speedY < 0){
accY = Math.abs(accY);
speedY = (speedY + accY);
if (speedY > 0){
speedY = 0;
};
};
};
};
frontY = man.y;
man.y = (man.y + speedY);
}
public function upCross():void{
if (man.y < (Map.mapHeight - 55)){
man.y = (man.y + Map.mapSpeed);
};
}
private function mouseDownHandle(e:MouseEvent):void{
if ((((((((keyLeft == false)) && ((keyRight == false)))) && ((keyUp == false)))) && ((keyDown == false)))){
mouseCtrl = true;
Game.playSound("manMove");
};
}
private function downHandle(e:KeyboardEvent):void{
switch (e.keyCode){
case Keyboard.LEFT:
if (playMoveSound == true){
playMoveSound = false;
Game.playSound("manMove");
};
keyLeft = true;
mouseCtrl = false;
if ((((Hero.instance.dir == "right")) && ((keyRight == false)))){
Hero.instance.turnLeft();
Hero.instance.dir = "left";
};
break;
case Keyboard.RIGHT:
if (playMoveSound == true){
playMoveSound = false;
Game.playSound("manMove");
};
keyRight = true;
mouseCtrl = false;
if ((((Hero.instance.dir == "left")) && ((keyLeft == false)))){
Hero.instance.turnRight();
Hero.instance.dir = "right";
};
break;
case Keyboard.UP:
if (playMoveSound == true){
playMoveSound = false;
Game.playSound("manMove");
};
keyUp = true;
mouseCtrl = false;
break;
case Keyboard.DOWN:
if (playMoveSound == true){
playMoveSound = false;
Game.playSound("manMove");
};
keyDown = true;
mouseCtrl = false;
break;
default:
break;
};
}
private function frameHandle(e:Event):void{
cooRotation();
if ((((mouseCtrl == true)) && ((openMouseCtrl == true)))){
reckonTarget();
mouseMove();
} else {
getSpeed();
keyMove();
};
if (isRemoveCtrl == true){
removeCtrl();
isRemoveCtrl = false;
};
if (isAddCtrl == true){
addCtrl();
isAddCtrl = false;
};
}
public function hit1():void{
Trace(1);
man.x = (man.x - 3);
man.y = (man.y + 3);
}
private function moveLeft():void{
accX = -(Math.abs(accX));
speedX = (speedX + accX);
if (Math.abs(speedX) > maxSpeed){
speedX = -(maxSpeed);
};
}
}
}//package Player
Section 134
//MyGold (Player.MyGold)
package Player {
import flash.display.*;
import flash.utils.*;
import flash.text.*;
public class MyGold extends MovieClip {
public const xPos:Number = 480;
public const yPos:Number = 10;
public var myGoltText:MovieClip;
private var myGold:MovieClip;
public var goldText:TextField;
public function MyGold(){
super();
var MyGoldClass:Class = (getDefinitionByName("MyGoldMC") as Class);
myGold = new (MyGoldClass);
addChild(myGold);
myGoltText = (myGold["GoldTextMC"] as MovieClip);
goldText = (myGoltText["GoldTextNumMC"]["txt_Gold"] as TextField);
goldText.selectable = false;
}
}
}//package Player
Section 135
//Instance (Sounds.Instance)
package Sounds {
import flash.display.*;
import flash.utils.*;
public class Instance {
public function Instance():void{
super();
}
public static function getIns(_name:String, _class:Class){
if (_class == BitmapData){
return ((new getDefinitionByName(_name)(1, 1) as _class));
};
return ((new (getDefinitionByName(_name)) as _class));
}
}
}//package Sounds
Section 136
//SoundManager (Sounds.SoundManager)
package Sounds {
import flash.events.*;
import flash.media.*;
import flash.utils.*;
public class SoundManager {
public const minVolume:Number = 0;
public const maxVolume:Number = 0.5;
private const fadeSpeed:Number = 0.015;
private var sounds:Array;
private var isSoundOn:Boolean;// = true
private var fadeInTimer:Timer;
private var isMusicOn:Boolean;// = true
public var fadeOutFinish:Boolean;// = false
private var musicChannel:SoundChannel;
private var musics:Array;
private var fadeOutTimer:Timer;
private var repeatSounds:Array;
private static var _instance:SoundManager;
public function SoundManager(){
sounds = [];
musics = [];
repeatSounds = [];
super();
}
public function switchSound():void{
isSoundOn = !(isSoundOn);
}
public function set soundStatus(b:Boolean):void{
isSoundOn = b;
}
public function musicFadeIn():void{
volume = minVolume;
fadeInTimer = new Timer(100);
fadeInTimer.addEventListener(TimerEvent.TIMER, fadeInHandler);
fadeInTimer.start();
}
private function fadeInHandler(e:TimerEvent):void{
if (volume < maxVolume){
volume = (volume + fadeSpeed);
} else {
volume = maxVolume;
fadeInTimer.stop();
fadeInTimer.removeEventListener(TimerEvent.TIMER, fadeInHandler);
};
}
public function musicFadeOut():void{
volume = maxVolume;
fadeOutTimer = new Timer(100);
fadeOutTimer.addEventListener(TimerEvent.TIMER, fadeOutHandler);
fadeOutTimer.start();
}
public function playMusic(mName:String, times:int=2147483647):void{
if (!isMusicOn){
return;
};
if (sounds[mName] == null){
musics[mName] = Instance.getIns(mName, Sound);
};
if (musicChannel != null){
musicChannel.stop();
};
musicChannel = musics[mName].play(0, times, new SoundTransform(0));
musicFadeIn();
}
public function stopRepeatSound(sName:String):void{
if (sounds[sName] == null){
return;
};
sounds[(sName + "channel")].stop();
sounds[(sName + "isPlaying")] = false;
}
public function stopMusic(mName:String):void{
if (((!((musics[mName] == null))) && (!((musicChannel == null))))){
musicChannel.stop();
};
}
public function playSound(sName:String):void{
if (!isSoundOn){
return;
};
Instance.getIns(sName, Sound).play(0, 1);
}
public function playRepeatSound(sName:String, times:int):void{
if (!isSoundOn){
return;
};
if (sounds[sName] == null){
sounds[sName] = Instance.getIns(sName, Sound);
};
sounds[(sName + "channel")] = sounds[sName].play(0, times, null);
sounds[(sName + "isPlaying")] = true;
}
public function get volume():Number{
var v:Number;
if (musicChannel != null){
v = musicChannel.soundTransform.volume;
} else {
playMusic("menuMusic");
};
return (v);
}
public function isPlayingSound(sName:String):Boolean{
if (sounds[sName] != null){
return (sounds[(sName + "isPlaying")]);
};
return (false);
}
public function destroy():void{
sounds = null;
musics = null;
repeatSounds = null;
}
public function get soundStatus():Boolean{
return (isSoundOn);
}
public function switchMusic():Boolean{
isMusicOn = !(isMusicOn);
if (!isMusicOn){
if (musicChannel != null){
musicChannel.stop();
musicChannel = null;
};
};
return (isMusicOn);
}
public function isPlayingMusic(sName:String):Boolean{
if (musics[sName] != null){
return (true);
};
return (false);
}
public function set musicStatus(b:Boolean):void{
isMusicOn = b;
}
public function get musicStatus():Boolean{
return (isMusicOn);
}
private function fadeOutHandler(e:TimerEvent):void{
if (volume > minVolume){
volume = (volume - fadeSpeed);
} else {
fadeOutFinish = true;
volume = minVolume;
fadeOutTimer.stop();
fadeOutTimer.removeEventListener(TimerEvent.TIMER, fadeOutHandler);
};
}
public function set volume(v:Number):void{
if (musicChannel != null){
musicChannel.soundTransform = new SoundTransform(v);
};
}
public static function get instance():SoundManager{
if (!_instance){
_instance = new (SoundManager);
};
return (_instance);
}
}
}//package Sounds
Section 137
//Submitter (Spill.Components.Submitter)
package Spill.Components {
import flash.display.*;
public dynamic class Submitter extends MovieClip {
}
}//package Spill.Components
Section 138
//BitmapMc (Tool.BitmapMc)
package Tool {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
public class BitmapMc extends MovieClip {
private var timer:Timer;
private var numFrames:int;
private var curFrame:int;
private var labels:Array;
private var sharedTimer:Timer;
private var frameFuns:Array;
private var className:String;
private var rate:int;
private var bitmap:Bitmap;
private var initStop:Boolean;
private var direction:int;// = 1
private static var shareBitmaps:Array = [];
public function BitmapMc(){
var i:int;
frameFuns = [];
super();
super.stop();
rate = (this.stage) ? (1000 / this.stage.frameRate) : 33;
numFrames = super.totalFrames;
className = getQualifiedClassName(this);
getLabels();
if (shareBitmaps[className] == null){
shareBitmaps[className] = [];
i = 0;
while (i < (numFrames - 1)) {
super.addFrameScript(i, getBitmapData);
i++;
};
if (numFrames > 1){
super.addFrameScript((numFrames - 1), lastFrame);
super.gotoAndPlay(1);
} else {
super.addFrameScript((numFrames - 1), oneFrame);
};
} else {
sharedTimer = new Timer(100);
sharedTimer.addEventListener("timer", sharedOver, false, 0, true);
sharedTimer.start();
};
}
override public function prevFrame():void{
curFrame = (curFrame - 1);
testRange();
if (timer != null){
goFrame(curFrame);
};
}
public function set reverse(t:Boolean):void{
if (t){
direction = -1;
} else {
direction = 1;
};
}
override public function gotoAndPlay(frame:Object, scren:String=null):void{
if ((frame is Number)){
curFrame = (int(frame) - 1);
} else {
if ((frame is String)){
if (labels[frame] == null){
return;
};
curFrame = (labels[frame] - 1);
};
};
testRange();
if (timer != null){
goFrame(curFrame);
timer.start();
} else {
initStop = false;
};
}
override public function stop():void{
if (timer != null){
timer.stop();
} else {
initStop = true;
};
}
private function testRange():int{
if (curFrame < 0){
curFrame = 0;
} else {
if (curFrame > (numFrames - 1)){
curFrame = (numFrames - 1);
};
};
return (curFrame);
}
private function lastFrame():void{
getBitmapData();
super.addFrameScript(0, firstFrame);
}
protected function testRemoved():void{
if (this.stage == null){
gotoAndStop(1);
};
}
override public function get totalFrames():int{
return (numFrames);
}
private function clear():void{
super.gotoAndStop(1);
while (super.numChildren > 0) {
super.removeChildAt(0);
};
}
private function sharedOver(evt:TimerEvent):void{
if (shareBitmaps[className].length >= numFrames){
sharedTimer.stop();
sharedTimer.removeEventListener("timer", sharedOver);
sharedTimer = null;
addBitmap();
if (numFrames > 1){
timerInit();
};
};
}
override public function gotoAndStop(frame:Object, scren:String=null):void{
if ((frame is Number)){
curFrame = (int(frame) - 1);
} else {
if ((frame is String)){
if (labels[frame] == null){
return;
};
curFrame = (labels[frame] - 1);
};
};
testRange();
if (timer != null){
goFrame(curFrame);
timer.stop();
} else {
initStop = true;
};
}
private function goFrame(frame:int):void{
if (shareBitmaps[className] == null){
return;
};
bitmap.bitmapData = shareBitmaps[className][frame][0];
bitmap.x = shareBitmaps[className][frame][1].x;
bitmap.y = shareBitmaps[className][frame][1].y;
if (frameFuns[frame] != null){
var _local2 = frameFuns;
_local2[frame]();
};
}
public function set playRate(rate:int):void{
if (this.rate != rate){
this.rate = rate;
if (timer != null){
timer.delay = rate;
};
};
}
private function firstFrame():void{
super.addFrameScript(0, null);
addBitmap();
timerInit();
}
private function oneFrame():void{
super.addFrameScript(0, null);
getBitmapData();
addBitmap();
}
private function addBitmap():void{
clear();
bitmap = new Bitmap();
this.addChild(bitmap);
goFrame(curFrame);
}
override public function get currentFrame():int{
return ((curFrame + 1));
}
private function getLabels():void{
var tempLabels:Array = this.currentLabels;
labels = [];
var i:int;
while (i < tempLabels.length) {
labels[tempLabels[i].name] = tempLabels[i].frame;
i++;
};
}
private function getBitmapData():void{
var rec:Rectangle = this.getBounds(this);
var matrix:Matrix = new Matrix();
matrix.tx = -(rec.x);
matrix.ty = -(rec.y);
var bitmapData:BitmapData = new BitmapData(rec.width, rec.height, true, 0);
bitmapData.draw(this, matrix, null, null, null, true);
var cur:int = (super.currentFrame - 1);
shareBitmaps[className][cur] = [];
shareBitmaps[className][cur][0] = bitmapData;
shareBitmaps[className][cur][1] = new Point(rec.x, rec.y);
super.addFrameScript(cur, null);
}
override public function addFrameScript(... _args):void{
var i:int;
while (i < (_args.length - 1)) {
if ((((_args[(i + 1)] is Function)) || ((_args[(i + 1)] == null)))){
if ((_args[i] is Number)){
frameFuns[_args[i]] = _args[(i + 1)];
} else {
if ((_args[i] is String)){
if (labels[_args[i]] != null){
frameFuns[(labels[_args[i]] - 1)] = _args[(i + 1)];
};
};
};
};
i = (i + 2);
};
}
override public function nextFrame():void{
curFrame = (curFrame + 1);
testRange();
if (timer != null){
goFrame(curFrame);
};
}
override public function play():void{
if (timer != null){
timer.start();
} else {
initStop = false;
};
}
private function timerInit():void{
timer = new Timer(rate);
timer.addEventListener("timer", motion, false, 0, true);
if (!initStop){
timer.start();
};
}
protected function motion(evt:TimerEvent):void{
curFrame = (curFrame + direction);
if (curFrame >= numFrames){
curFrame = 0;
} else {
if (curFrame < 0){
curFrame = (numFrames - 1);
};
};
goFrame(curFrame);
testRemoved();
}
public static function delAllData():void{
shareBitmaps = [];
}
public static function delShareData(str:String):void{
shareBitmaps[str] = null;
}
}
}//package Tool
Section 139
//TcShow (zlong.breathxue.utils.debug.TcShow)
package zlong.breathxue.utils.debug {
public var TcShow:Boolean = false;
}//package zlong.breathxue.utils.debug
Section 140
//Attach (zlong.breathxue.utils.Attach)
package zlong.breathxue.utils {
import flash.display.*;
import flash.media.*;
import flash.utils.*;
public class Attach {
public static function getDisplayObject(s:String):DisplayObject{
var temp:Class = (getDefinitionByName(s) as Class);
var returnObj:DisplayObject = new (temp);
return (returnObj);
}
public static function getSprite(s:String):Sprite{
var temp:Class = (getDefinitionByName(s) as Class);
var returnObj:Sprite = new (temp);
return (returnObj);
}
public static function getMovieClip(s:String):MovieClip{
var temp:Class = (getDefinitionByName(s) as Class);
var returnObj:MovieClip = new (temp);
return (returnObj);
}
public static function getBitmapData(s:String):BitmapData{
var temp:Class = (getDefinitionByName(s) as Class);
var returnObj:BitmapData = new temp(null, null);
return (returnObj);
}
public static function getSound(s:String):Sound{
var temp:Class = (getDefinitionByName(s) as Class);
var returnObj:Sound = new (temp);
return (returnObj);
}
}
}//package zlong.breathxue.utils
Section 141
//Tools (zlong.breathxue.utils.Tools)
package zlong.breathxue.utils {
import flash.display.*;
import flash.geom.*;
public class Tools {
public static function getNowTimeAndMileSecond_1():String{
var time:Date = new Date();
var h:int = time.getHours();
var m:int = time.getMinutes();
var s:int = time.getSeconds();
var ms:int = time.getMilliseconds();
return (((((((((h < 10)) ? ("0" + h) : h + ":") + ((m < 10)) ? ("0" + m) : m) + ":") + ((s < 10)) ? ("0" + s) : s) + ":") + ((ms < 10)) ? ("00" + ms) : ((ms < 100)) ? ("0" + ms) : ms));
}
public static function cutBmp(_mc:DisplayObject, _bmpDataWidth:int, _bmpDataHeight:int, _cutStartX:int, _cutStartY:int, _cutBmpWidth:int, _cutBmpHeight:int):BitmapData{
var bitmapData:BitmapData;
var rectangle:Rectangle;
var matrix:Matrix = new Matrix();
matrix.tx = -(_cutStartX);
matrix.ty = -(_cutStartY);
rectangle = new Rectangle(0, 0, _cutBmpWidth, _cutBmpHeight);
bitmapData = new BitmapData(_bmpDataWidth, _bmpDataHeight, true, 0);
bitmapData.draw(_mc, matrix, null, null, rectangle, true);
return (bitmapData);
}
}
}//package zlong.breathxue.utils
Section 142
//Countries (zlong.country.Countries)
package zlong.country {
import zlong.country.*;
import zlong.*;
class Countries {
private var _portal:String;
private var _countryGroup:Array;
private var _portalGroup:Array;
private var _countries:Object;
private var _country:String;
localComponent_internal static const VERSION:String = "trunk.201004131406";
function Countries(){
super();
initPortalGroup();
}
private function initPortalGroup():void{
_portalGroup = new Array();
var i:int;
while (i < CountriesData.DATA.children().length()) {
_portalGroup.push(CountriesData.DATA.children()[i].name());
i++;
};
}
private function initCountries():void{
var countryItem:CountryItem;
var name:String;
var domain:String;
var game:String;
var language:int;
_countries = new Object();
_countryGroup = new Array();
var i:int;
while (i < CountriesData.DATA[_portal]["country"].length()) {
name = CountriesData.DATA[_portal]["country"][i].@name;
domain = CountriesData.DATA[_portal]["country"][i].@domain;
game = CountriesData.DATA[_portal]["country"][i].@game;
language = int(CountriesData.DATA[_portal]["country"][i].@language);
countryItem = new CountryItem();
countryItem.name = name;
countryItem.domain = domain;
countryItem.game = game;
countryItem.language = language;
_countries[countryItem.name] = countryItem;
_countryGroup.push(name);
i++;
};
}
function get countryGroup():Array{
if (_countryGroup == null){
throw (new ArgumentError("Please set portal"));
};
return (_countryGroup);
}
function set country(name:String):void{
if (((!((_countryGroup == null))) && (!(inArray(name, _countryGroup))))){
_country = _countryGroup[0];
trace(("Error in the country value,set country with default value : " + _countryGroup[0]));
trace(("Please set country with value : " + _countryGroup.toString()));
} else {
_country = name;
};
}
function set portal(gameType:String):void{
if (!inArray(gameType, _portalGroup)){
throw (new ArgumentError(("Please set portal with value : " + _portalGroup.toString())));
};
_portal = gameType;
initCountries();
if (((!((_country == null))) && (!(inArray(_country, _countryGroup))))){
throw (new ArgumentError(("Please reset country with value : " + _countryGroup.toString())));
};
}
function get current():CountryItem{
if (_portal == null){
throw (new ArgumentError("Please set portal"));
};
if (_country == null){
throw (new ArgumentError("Please set country"));
};
return (_countries[_country]);
}
private function inArray(str:String, arr:Array):Boolean{
var i:int;
while (i < arr.length) {
if (str == arr[i]){
return (true);
};
i++;
};
return (false);
}
}
}//package zlong.country
Section 143
//CountriesData (zlong.country.CountriesData)
package zlong.country {
import zlong.*;
class CountriesData {
localComponent_internal static const VERSION:String = "trunk.201004131406";
static const DATA:XML = <data>
<family>
<!-- new -->
<country name="arg" domain="www.juegos.com.ar" game="game" language="6"/><!-- Argentina -->
<country name="mx" domain="www.juegos.com.mx" game="game" language="6"/><!-- Mexico -->
<country name="ar" domain="www.dailygame.com" game="game" language="1"/><!-- Arabic(English US) 2009.07.14-->
<country name="br" domain="www.ojogos.com.br" game="jogo" language="7"/><!-- Brazillian -->
<country name="cn" domain="www.game.com.cn" game="moregames" language="17"/><!-- Chinese -->
<country name="de" domain="www.jetztspielen.de" game="spiel" language="5"/><!-- German -->
<country name="es" domain="www.juegos.com" game="juego" language="6"/><!-- Spanish -->
<country name="fr" domain="www.jeux.fr" game="jeu" language="4"/><!-- French -->
<country name="id" domain="www.games.co.id" game="permainanme" language="14"/><!-- Indonesian -->
<country name="in" domain="www.game.co.in" game="game" language="2"/><!-- English UK -->
<country name="it" domain="www.gioco.it" game="gioco" language="9"/><!-- Italian -->
<country name="jp" domain="www.egames.jp" game="game" language="16"/><!-- Japanese -->
<country name="nl" domain="www.spelletjes.nl" game="spel" language="3"/><!-- Dutch -->
<country name="pl" domain="www.gry.pl" game="gra" language="11"/><!-- Polish -->
<country name="pt" domain="www.ojogos.pt" game="jogo" language="8"/><!-- Portuguese -->
<country name="ru" domain="www.ourgames.ru" game="igra" language="12"/><!-- Russian -->
<country name="se" domain="www.spela.se" game="spel_" language="10"/><!-- Swedish -->
<country name="en_uk" domain="www.games.co.uk" game="game" language="2"/><!-- English UK -->
<country name="en_us" domain="www.gamesgames.com" game="game" language="1"/><!-- English US -->
<!-- removed -->
<!-- country name="ph" domain="www.laro.com.ph" game="game" language="2"/ --><!-- English UK -->
<!-- country name="tr" domain="www.asoyun.com" game="oyun" language="13"/ --><!-- Turkish -->
<!-- country name="my" domain="www.game.com.my" game="permainan_" language="15"/ --><!-- Malaysian -->
</family>
<tween>
<!-- new -->
<country name="arg" domain="www.juegos.com.ar" game="game" language="6"/><!-- Argentina -->
<country name="mx" domain="www.juegos.com.mx" game="game" language="6"/><!-- Mexico -->
<country name="ar" domain="www.dailygame.com" game="game" language="1"/><!-- Arabic(English US) 2009.07.14 -->
<country name="br" domain="www.clickjogos.com" game="jogo" language="7"/><!-- Brazillian -->
<country name="cn" domain="www.game.com.cn" game="moregames" language="17"/><!-- Chinese -->
<country name="de" domain="www.spielen.com" game="spiel" language="5"/><!-- German -->
<country name="es" domain="www.zapjuegos.com" game="juego" language="6"/><!-- Spanish -->
<country name="fr" domain="www.jeu.fr" game="jeu" language="4"/><!-- French -->
<country name="id" domain="www.games.co.id" game="permainanme" language="14"/><!-- Indonesian -->
<country name="in" domain="www.game.co.in" game="game" language="2"/><!-- English UK -->
<country name="it" domain="www.gioco.it" game="gioco" language="9"/><!-- Italian 2009.08.10 -->
<country name="jp" domain="www.egames.jp" game="game" language="16"/><!-- Japanese -->
<country name="nl" domain="www.spel.nl" game="spel" language="3"/><!-- Dutch -->
<country name="pl" domain="www.agame.com" game="game" language="11"/><!-- Polish 2009.08.10-->
<country name="pt" domain="www.ojogos.pt" game="jogo" language="8"/><!-- Portuguese -->
<country name="ru" domain="www.flashgames.ru" game="igra" language="12"/><!-- Russian -->
<country name="se" domain="www.spel.se" game="spel_" language="10"/><!-- Swedish -->
<country name="en_uk" domain="www.agame.com" game="game" language="2"/><!-- English UK 2009.08.28-->
<country name="en_us" domain="www.agame.com" game="game" language="1"/><!-- English US -->
<!-- removed -->
<!-- country name="ph" domain="www.laro.com.ph" game="game" language="2"/ --><!-- English UK -->
<!-- country name="tr" domain="www.asoyun.com" game="oyun" language="13"/ --><!-- Turkish -->
<!-- country name="my" domain="www.game.com.my" game="permainan_" language="15"/ --><!-- Malaysian -->
</tween>
<girl>
<!-- new -->
<country name="arg" domain="www.juegosdechicas.com.ar" game="game" language="6"/><!-- Argentina -->
<country name="mx" domain="www.juegosdechicas.mx" game="game" language="6"/><!-- Mexico -->
<country name="ar" domain="www.dailygame.com" game="game" language="1"/><!-- Arabic(English US) 2009.07.14-->
<country name="br" domain="www.girlsgogames.com.br" game="jogo" language="7"/><!-- Brazillian -->
<country name="cn" domain="www.game.com.cn" game="moregames" language="17"/><!-- Chinese -->
<country name="de" domain="www.girlsgogames.de" game="spiel" language="5"/><!-- German -->
<country name="es" domain="www.girlsgogames.es" game="juego" language="6"/><!-- Spanish -->
<country name="fr" domain="www.girlsgogames.fr" game="jeu" language="4"/><!-- French -->
<country name="id" domain="www.games.co.id" game="permainanme" language="14"/><!-- Indonesian -->
<country name="in" domain="www.game.co.in" game="game" language="2"/><!-- English UK -->
<country name="it" domain="www.girlsgogames.it" game="gioco" language="9"/><!-- Italian -->
<country name="jp" domain="www.egames.jp" game="game" language="16"/><!-- Japanese -->
<country name="nl" domain="www.girlsgogames.nl" game="spel" language="3"/><!-- Dutch -->
<country name="pl" domain="www.girlsgogames.pl" game="gra" language="11"/><!-- Polish -->
<country name="pt" domain="www.ojogos.pt" game="jogo" language="8"/><!-- Portuguese -->
<country name="ru" domain="www.girlsgogames.ru" game="igra" language="12"/><!-- Russian -->
<country name="se" domain="www.girlsgogames.se" game="spel_" language="10"/><!-- Swedish -->
<country name="en_uk" domain="www.girlsgogames.co.uk" game="game" language="2"/><!-- English UK -->
<country name="en_us" domain="www.girlsgogames.com" game="game" language="1"/><!-- English US -->
<!-- removed -->
<!-- country name="ph" domain="www.laro.com.ph" game="game" language="2"/ --><!-- English UK -->
<!-- country name="tr" domain="www.girlsgogamestr.com" game="oyun" language="13"/ --><!-- Turkish -->
<!-- country name="my" domain="www.game.com.my" game="permainan_" language="15"/ --><!-- Malaysian -->
</girl>
<teen>
<!-- new -->
<!--country name="arg" domain="www.juegosdechicas.com.ar" game="game" language="6"/ --><!-- Argentina -->
<!--country name="mx" domain="www.juegosdechicas.mx" game="game" language="6"/ --><!-- Mexico -->
<!--country name="ar" domain="www.dailygame.com" game="game" language="1"/ --><!-- Arabic(English US) 2009.07.14-->
<!--country name="br" domain="www.a10.com" game="jogo" language="7"/ --><!-- Brazillian -->
<!--country name="cn" domain="www.game.com.cn" game="moregames" language="17"/ --><!-- Chinese -->
<!--country name="de" domain="www.a10.com" game="spiel" language="5"/ --><!-- German -->
<!--country name="es" domain="www.a10.com" game="juego" language="6"/ --><!-- Spanish -->
<!--country name="fr" domain="www.a10.com" game="jeu" language="4"/ --><!-- French -->
<!--country name="id" domain="www.a10.com" game="permainanme" language="14"/ --><!-- Indonesian -->
<!--country name="in" domain="www.a10.com" game="game" language="2"/ --><!-- English UK -->
<!--country name="it" domain="www.a10.com" game="gioco" language="9"/ --><!-- Italian -->
<!--country name="jp" domain="www.a10.com" game="game" language="16"/ --><!-- Japanese -->
<!--country name="nl" domain="www.a10.com" game="spel" language="3"/ --><!-- Dutch -->
<!--country name="pl" domain="www.a10.com" game="gra" language="11"/ --><!-- Polish -->
<!--country name="pt" domain="www.a10.com" game="jogo" language="8"/ --><!-- Portuguese -->
<!--country name="ru" domain="www.a10.com" game="igra" language="12"/ --><!-- Russian -->
<!--country name="se" domain="www.a10.com" game="spel_" language="10"/ --><!-- Swedish -->
<!--country name="en_uk" domain="www.a10.com" game="game" language="2"/ --><!-- English UK -->
<country name="en_us" domain="www.a10.com" game="game" language="1"/><!-- English US -->
<!-- removed -->
<!-- country name="ph" domain="www.a10.com" game="game" language="2"/ --><!-- English UK -->
<!-- country name="tr" domain="www.a10.com" game="oyun" language="13"/ --><!-- Turkish -->
<!-- country name="my" domain="www.a10.com" game="permainan_" language="15"/ --><!-- Malaysian -->
</teen>
<zapapa>
<!-- new -->
<country name="arg" domain="www.zapapa.com" game="game" language="6"/><!-- Argentina -->
<country name="mx" domain="www.zapapa.com" game="game" language="6"/><!-- Mexico -->
<country name="ar" domain="www.zapapa.com" game="game" language="1"/><!-- Arabic(English US) 2009.07.14-->
<country name="br" domain="www.zapapa.com" game="game" language="7"/><!-- Brazillian -->
<country name="cn" domain="www.zapapa.com" game="game" language="17"/><!-- Chinese -->
<country name="de" domain="www.zapapa.com" game="game" language="5"/><!-- German -->
<country name="es" domain="www.zapapa.com" game="game" language="6"/><!-- Spanish -->
<country name="fr" domain="www.zapapa.com" game="game" language="4"/><!-- French -->
<country name="id" domain="www.zapapa.com" game="game" language="14"/><!-- Indonesian -->
<country name="in" domain="www.zapapa.com" game="game" language="2"/><!-- English UK -->
<country name="it" domain="www.zapapa.com" game="game" language="9"/><!-- Italian -->
<country name="jp" domain="www.zapapa.com" game="game" language="16"/><!-- Japanese -->
<country name="nl" domain="www.zapapa.com" game="game" language="3"/><!-- Dutch -->
<country name="pl" domain="www.zapapa.com" game="game" language="11"/><!-- Polish -->
<country name="pt" domain="www.zapapa.com" game="game" language="8"/><!-- Portuguese -->
<country name="ru" domain="www.zapapa.com" game="game" language="12"/><!-- Russian -->
<country name="se" domain="www.zapapa.com" game="game" language="10"/><!-- Swedish -->
<country name="en_uk" domain="www.zapapa.com" game="game" language="2"/><!-- English UK -->
<country name="en_us" domain="www.zapapa.com" game="game" language="1"/><!-- English US -->
</zapapa>
<hyves>
<!-- new -->
<country name="nl" domain="www.zapapa.nl" game="game" language="3"/><!-- Dutch -->
</hyves>
</data>
;
function CountriesData(){
super();
}
}
}//package zlong.country
Section 144
//CountryInfo (zlong.country.CountryInfo)
package zlong.country {
import zlong.domain.*;
import zlong.*;
import zlong.data.*;
public class CountryInfo {
private var countries:Countries;
localComponent_internal static const VERSION:String = "trunk.201004131406";
private static var _instance:CountryInfo;
public function CountryInfo(){
super();
countries = new Countries();
}
public function get moreGameLink():String{
var str:String;
str = ("http://" + domain);
if (countries.current.name != "cn"){
str = (str + "/");
str = (str + ("?utm_medium=brandedgames_" + (DomainInfo.instance.allowed) ? "internal" : "external"));
str = (str + ("&utm_campaign=" + GameInfo.name));
str = (str + ("&utm_source=" + DomainInfo.instance.domainAb));
} else {
str = (str + "/");
str = (str + "moregames");
str = (str + "/");
};
return (str);
}
public function get domain():String{
return (countries.current.domain);
}
public function get countryGroup():Array{
return (countries.countryGroup);
}
public function get thisGameLink():String{
var str:String;
str = ("http://" + domain);
str = (str + ((("/" + countries.current.game) + "/") + GameInfo.html));
if (countries.current.name != "cn"){
str = (str + ("?utm_medium=brandedgames_" + (DomainInfo.instance.allowed) ? "internal" : "external"));
str = (str + ("&utm_campaign=" + GameInfo.name));
str = (str + ("&utm_source=" + DomainInfo.instance.domainAb));
};
return (str);
}
public function set country(country:String):void{
countries.country = country;
}
public function get country():String{
return (countries.current.name);
}
public function get language():int{
return (countries.current.language);
}
public function get sendToFriendLink():String{
var str:String = thisGameLink;
if (countries.current.name != "cn"){
str = (str + "&utm_content=send_to_friend");
};
return (str);
}
public function set portal(portal:String):void{
countries.portal = portal;
}
public static function get instance():CountryInfo{
if (_instance == null){
_instance = new (CountryInfo);
};
return (_instance);
}
}
}//package zlong.country
Section 145
//CountryItem (zlong.country.CountryItem)
package zlong.country {
import zlong.*;
final class CountryItem {
var game:String;
var domain:String;
var name:String;
var language:int;
localComponent_internal static const VERSION:String = "trunk.201004131406";
function CountryItem(){
super();
}
}
}//package zlong.country
Section 146
//CountryCookie (zlong.data.CountryCookie)
package zlong.data {
import flash.net.*;
import zlong.*;
public class CountryCookie {
private static const countryName:String = "savedLang";
localComponent_internal static const VERSION:String = "trunk.201004131406";
private static const name:String = "spilgames_language_v100";
private static var so:SharedObject;
public function CountryCookie():void{
super();
so = SharedObject.getLocal(name, "/");
}
localComponent_internal static function set country(_value:String):void{
so.data[countryName] = _value;
}
localComponent_internal static function get country():String{
return (so.data[countryName]);
}
}
}//package zlong.data
Section 147
//GameInfo (zlong.data.GameInfo)
package zlong.data {
import zlong.*;
public class GameInfo {
localComponent_internal static const VERSION:String = "trunk.201004131406";
localComponent_internal static var width:int = 550;
localComponent_internal static var height:int = 400;
localComponent_internal static var html:String = "Game-Name.html";
localComponent_internal static var portal:String = "family";
localComponent_internal static var cnversion:Boolean = false;
localComponent_internal static var name:String = "game_name";
public function GameInfo(){
super();
}
}
}//package zlong.data
Section 148
//AbstractBindingDisplay (zlong.display.AbstractBindingDisplay)
package zlong.display {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class AbstractBindingDisplay extends MovieClip {
localComponent_internal static const VERSION:String = "trunk.201004131406";
public function AbstractBindingDisplay(){
super();
if (getQualifiedClassName(this) == "zlong::display::AbstractBindingDisplay"){
throw (new ArgumentError("can't be constructed"));
};
}
public function initEvent(e:Event=null):void{
}
public function delEvent(e:Event=null):void{
}
}
}//package zlong.display
Section 149
//BindingDisplayEvent (zlong.display.BindingDisplayEvent)
package zlong.display {
import flash.events.*;
public class BindingDisplayEvent extends Event {
private var _BD:AbstractBindingDisplay;
private var _displayType:String;
public static const BINDING_DISPLAY_REMOVE_TO_STAGE:String = "BINDING_DISPLAY_REMOVE_TO_STAGE";
public static const BINDING_DISPLAY_INIT:String = "BINDING_DISPLAY_INIT";
localComponent_internal static const VERSION:String = "trunk.201004131406";
public static const BINDING_DISPLAY_ADDED_TO_STAGE:String = "BINDING_DISPLAY_ADDED_TO_STAGE";
public static const BINDING_DISPLAY_DEL_EVENT:String = "BINDING_DISPLAY_DEL_EVENT";
public function BindingDisplayEvent(type:String, BD:AbstractBindingDisplay, displayType:String, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
_BD = BD;
_displayType = displayType;
}
public function get bindingDisplay():AbstractBindingDisplay{
return (_BD);
}
public function get displayType():String{
return (_displayType);
}
}
}//package zlong.display
Section 150
//BindingDisplayManager (zlong.display.BindingDisplayManager)
package zlong.display {
import flash.events.*;
public class BindingDisplayManager extends EventDispatcher {
localComponent_internal static const VERSION:String = "trunk.201004131406";
private static var _instance:BindingDisplayManager;
public function BindingDisplayManager():void{
super();
}
public static function get Instance():BindingDisplayManager{
if (_instance == null){
_instance = new (BindingDisplayManager);
};
return (_instance);
}
}
}//package zlong.display
Section 151
//CountriesBox (zlong.display.CountriesBox)
package zlong.display {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import zlong.data.*;
import zlong.country.*;
public class CountriesBox extends AbstractBindingDisplay {
private var mul:int;// = 1
private var pop:Sprite;
private var country_name:MovieClip;
private var baseX:Number;// = 0
private var baseY:Number;// = 0
private var i:uint;
private var flagMc:MovieClip;
private var nameGroup:Array;
private var selectBox:MovieClip;
private var obj:Object;
localComponent_internal static const VERSION:String = "trunk.201004131406";
public function CountriesBox(){
nameGroup = [];
super();
addEventListener(Event.ADDED_TO_STAGE, addToStageHandler);
BindingDisplayManager.Instance.dispatchEvent(new BindingDisplayEvent(BindingDisplayEvent.BINDING_DISPLAY_INIT, this, "CountriesBox"));
}
private function outPoPHandler(e:MouseEvent):void{
var _local2 = e.target;
_local2["gotoAndStop"](1);
}
private function addToStageHandler(e:Event):void{
BindingDisplayManager.Instance.dispatchEvent(new BindingDisplayEvent(BindingDisplayEvent.BINDING_DISPLAY_ADDED_TO_STAGE, this, "CountriesBox"));
initEvent();
}
private function overPoPHandler(e:MouseEvent):void{
var _local2 = e.target;
_local2["gotoAndStop"](2);
}
override public function delEvent(e:Event=null):void{
removeEventListener(MouseEvent.ROLL_OVER, overHandler);
removeEventListener(MouseEvent.ROLL_OUT, outHandler);
removeEventListener(MouseEvent.CLICK, clickHandler);
if (this.hasEventListener(Event.ADDED_TO_STAGE)){
removeEventListener(Event.ADDED_TO_STAGE, addToStageHandler);
};
if (this.hasEventListener(Event.REMOVED_FROM_STAGE)){
removeEventListener(Event.REMOVED_FROM_STAGE, removeFromStageHandler);
};
delPoPEvent();
BindingDisplayManager.Instance.dispatchEvent(new BindingDisplayEvent(BindingDisplayEvent.BINDING_DISPLAY_DEL_EVENT, this, "CountriesBox"));
}
private function setPop():void{
var unitW:Number;
var unitH:Number;
var pop_flag:MovieClip;
var _name:String;
var pop_flag_flag:MovieClip;
var dx:Number = 0;
var dy:Number = 0;
pop = (getChildByName("popList") as Sprite);
selectBox = (getChildByName("selectbox") as MovieClip);
unitW = pop.getChildByName("_blank").width;
unitH = (pop.getChildByName("_blank").height - 1);
baseX = selectBox.x;
nameGroup = CountryInfo.instance.countryGroup;
var len:int = nameGroup.length;
if (mul == 1){
baseY = ((selectBox.y - (Math.round((len / 2)) * unitH)) + unitH);
} else {
baseY = ((selectBox.y + selectBox.height) + unitH);
};
pop.y = baseY;
pop.visible = false;
pop.getChildByName("_blank").visible = false;
i = 0;
while (i < len) {
_name = nameGroup[i];
if (pop.getChildByName(("l_" + _name)) != null){
pop_flag = (pop.getChildByName(("l_" + _name)) as MovieClip);
pop_flag.mouseChildren = false;
pop_flag.buttonMode = true;
pop_flag.stop();
pop_flag_flag = (pop_flag.getChildByName("flag") as MovieClip);
pop_flag_flag.mouseEnable = false;
pop_flag_flag.mouseChildren = false;
pop_flag_flag.gotoAndStop(_name);
obj[("l_" + _name)] = true;
dx = (((i % 2) == 0)) ? 0 : 1;
pop_flag.x = ((unitW * (i % 2)) - dx);
pop_flag.y = ((unitH * Math.floor((i / 2))) - unitH);
};
i++;
};
i = 0;
while (i < pop.numChildren) {
if (pop.getChildAt(i).name.indexOf("l_") != -1){
if (obj[pop.getChildAt(i).name] == undefined){
pop.getChildAt(i).visible = false;
};
};
i++;
};
if ((nameGroup.length % 2) == 0){
pop.getChildByName("_blank").visible = false;
} else {
pop.getChildByName("_blank").visible = true;
pop.getChildByName("_blank").x = (unitW - 1);
pop.getChildByName("_blank").y = (((unitH * Math.floor((nameGroup.length / 2))) - unitH) - dy);
};
}
private function initPoPEvent():void{
pop.addEventListener(MouseEvent.MOUSE_OVER, overPoPHandler);
pop.addEventListener(MouseEvent.MOUSE_OUT, outPoPHandler);
}
private function removeFromStageHandler(e:Event):void{
BindingDisplayManager.Instance.dispatchEvent(new BindingDisplayEvent(BindingDisplayEvent.BINDING_DISPLAY_REMOVE_TO_STAGE, this, "CountriesBox"));
delEvent();
}
private function delPoPEvent():void{
pop.removeEventListener(MouseEvent.MOUSE_OVER, overPoPHandler);
pop.removeEventListener(MouseEvent.MOUSE_OUT, outPoPHandler);
}
private function outHandler(e:MouseEvent):void{
pop.visible = false;
}
private function overHandler(e:MouseEvent):void{
pop.visible = true;
}
private function setLanguage(_cnm:String):void{
CountryInfo.instance.country = _cnm;
CountryCookie.country = _cnm;
Dispatcher.langChanged();
}
private function initPos():void{
var p:Point = new Point();
p = this.localToGlobal(new Point(x, y));
if (p.y > (GameInfo.height / 2)){
mul = 1;
} else {
mul = -1;
};
}
private function initFlagEvent():void{
addEventListener(MouseEvent.ROLL_OVER, overHandler, false, 0, true);
addEventListener(MouseEvent.ROLL_OUT, outHandler, false, 0, true);
addEventListener(MouseEvent.CLICK, clickHandler, false, 0, true);
}
override public function initEvent(e:Event=null):void{
if (this.hasEventListener(Event.ADDED_TO_STAGE)){
removeEventListener(Event.ADDED_TO_STAGE, addToStageHandler);
};
initShow();
addEventListener(Event.REMOVED_FROM_STAGE, removeFromStageHandler);
}
private function initShow():void{
obj = new Object();
initPos();
setFlag();
setPop();
initFlagEvent();
initPoPEvent();
if (GameInfo.cnversion){
this.visible = false;
setLanguage("cn");
};
}
private function setFlag():void{
country_name = (getChildByName("countryName") as MovieClip);
flagMc = (getChildByName("flag") as MovieClip);
flagMc.gotoAndStop(CountryInfo.instance.country);
country_name.gotoAndStop(CountryInfo.instance.country);
}
private function clickHandler(e:MouseEvent):void{
var _flag:MovieClip;
var _name:String = e.target["name"];
if (_name == "_blank"){
return;
};
if (_name.indexOf("l_") != -1){
_flag = (e.target["getChildByName"]("flag") as MovieClip);
flagMc.gotoAndStop(_name.substr(2));
country_name.gotoAndStop(_flag.currentFrame);
setLanguage(_name.substr(2));
pop.visible = false;
};
}
}
}//package zlong.display
Section 152
//Dispatcher (zlong.display.Dispatcher)
package zlong.display {
import flash.events.*;
import zlong.*;
class Dispatcher {
localComponent_internal static const VERSION:String = "trunk.201004131406";
static const LANGUAGE_CHANGED:String = "languageChanged";
static var dispatcher:EventDispatcher = new EventDispatcher();
function Dispatcher(){
super();
}
static function langChanged():void{
dispatcher.dispatchEvent(new Event(LANGUAGE_CHANGED));
}
}
}//package zlong.display
Section 153
//ExtButton (zlong.display.ExtButton)
package zlong.display {
import flash.events.*;
import zlong.navigate.*;
public class ExtButton extends AbstractBindingDisplay {
private var _type:String;// = "moregames"
private var _position:String;// = "button_preloader"
localComponent_internal static const VERSION:String = "trunk.201004131406";
public function ExtButton(){
super();
this.gotoAndStop(1);
this.buttonMode = true;
this.mouseChildren = false;
addEventListener(Event.ADDED_TO_STAGE, addToStageHandler);
BindingDisplayManager.Instance.dispatchEvent(new BindingDisplayEvent(BindingDisplayEvent.BINDING_DISPLAY_INIT, this, "ExtButton"));
}
private function clickHandler(e:MouseEvent):void{
if (_type == "moregames"){
Handler.click_moregames(_position);
} else {
Handler.click_thisgame(_position);
};
}
private function mouseDownHandler(evt:MouseEvent):void{
this.gotoAndStop(3);
}
override public function initEvent(e:Event=null):void{
if (this.hasEventListener(Event.ADDED_TO_STAGE)){
removeEventListener(Event.ADDED_TO_STAGE, addToStageHandler);
};
this.addEventListener(MouseEvent.CLICK, clickHandler);
this.addEventListener(MouseEvent.ROLL_OVER, rollOverHandler);
this.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
this.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
this.addEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
this.addEventListener(Event.REMOVED_FROM_STAGE, removeFromStageHandler);
}
private function mouseUpHandler(evt:MouseEvent):void{
this.gotoAndStop(2);
}
override public function delEvent(e:Event=null):void{
this.removeEventListener(MouseEvent.CLICK, clickHandler);
this.removeEventListener(MouseEvent.ROLL_OVER, rollOverHandler);
this.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
this.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
this.removeEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
if (this.hasEventListener(Event.ADDED_TO_STAGE)){
removeEventListener(Event.ADDED_TO_STAGE, addToStageHandler);
};
if (this.hasEventListener(Event.REMOVED_FROM_STAGE)){
removeEventListener(Event.REMOVED_FROM_STAGE, removeFromStageHandler);
};
BindingDisplayManager.Instance.dispatchEvent(new BindingDisplayEvent(BindingDisplayEvent.BINDING_DISPLAY_DEL_EVENT, this, "ExtButton"));
}
private function rollOverHandler(evt:MouseEvent):void{
this.gotoAndStop(2);
}
public function set type(_str:String):void{
_type = _str;
}
private function addToStageHandler(e:Event):void{
BindingDisplayManager.Instance.dispatchEvent(new BindingDisplayEvent(BindingDisplayEvent.BINDING_DISPLAY_ADDED_TO_STAGE, this, "ExtButton"));
initEvent();
}
public function set position(_str:String):void{
_position = _str;
}
private function removeFromStageHandler(e:Event):void{
BindingDisplayManager.Instance.dispatchEvent(new BindingDisplayEvent(BindingDisplayEvent.BINDING_DISPLAY_REMOVE_TO_STAGE, this, "ExtButton"));
delEvent();
}
private function rollOutHandler(evt:MouseEvent):void{
this.gotoAndStop(1);
}
}
}//package zlong.display
Section 154
//Logo (zlong.display.Logo)
package zlong.display {
import flash.display.*;
import flash.events.*;
import zlong.navigate.*;
import zlong.country.*;
public class Logo extends AbstractBindingDisplay {
private const Max_HEIGHT:int = 50;
private const MAX_WIDTH:int = 200;
private var _hitArea:Sprite;
private var _position:String;// = "logo_preloader"
private var _alignHorizontal:String;// = "Center"
private var _alignVertical:String;// = "Center"
private var _maxWidth:Number;// = 150
private var _maxHeight:Number;// = 40
localComponent_internal static const VERSION:String = "trunk.201004131406";
public function Logo(){
super();
initDis();
addEventListener(Event.ADDED_TO_STAGE, addToStageHandler, false, 0, true);
BindingDisplayManager.Instance.dispatchEvent(new BindingDisplayEvent(BindingDisplayEvent.BINDING_DISPLAY_INIT, this, "Logo"));
}
private function delDis():void{
stop();
}
public function set maxWidth(value:Number):void{
if (value < 0){
value = 0;
} else {
if (value > MAX_WIDTH){
value = MAX_WIDTH;
};
};
_maxWidth = value;
}
private function updateView():void{
var scale1:Number;
var scale2:Number;
var scale:Number;
var temp:Sprite = (this.getChildAt(0) as Sprite);
if (!temp){
return;
};
temp.scaleX = 1;
temp.scaleY = 1;
if ((((temp.height > 0)) && ((temp.width > 0)))){
scale1 = (_maxHeight / temp.height);
scale2 = (_maxWidth / temp.width);
scale = ((scale1 > scale2)) ? scale2 : scale1;
temp.scaleX = scale;
temp.scaleY = scale;
};
if (_alignHorizontal){
switch (_alignHorizontal){
case "Left":
temp.x = 0;
break;
case "Right":
temp.x = (MAX_WIDTH - temp.width);
break;
case "Center":
temp.x = ((MAX_WIDTH - temp.width) / 2);
break;
};
};
if (_alignVertical){
switch (_alignVertical){
case "Up":
temp.y = 0;
break;
case "Down":
temp.y = (Max_HEIGHT - temp.height);
break;
case "Center":
temp.y = ((Max_HEIGHT - temp.height) / 2);
break;
};
};
_hitArea.width = temp.width;
_hitArea.height = temp.height;
_hitArea.x = temp.x;
_hitArea.y = temp.y;
}
private function addToStageHandler(e:Event):void{
BindingDisplayManager.Instance.dispatchEvent(new BindingDisplayEvent(BindingDisplayEvent.BINDING_DISPLAY_ADDED_TO_STAGE, this, "Logo"));
initEvent();
}
public function set alignHorizontal(str:String):void{
_alignHorizontal = str;
}
public function set position(_str:String):void{
_position = _str;
}
private function removeFromStageHandler(e:Event):void{
BindingDisplayManager.Instance.dispatchEvent(new BindingDisplayEvent(BindingDisplayEvent.BINDING_DISPLAY_REMOVE_TO_STAGE, this, "Logo"));
delEvent();
}
public function set maxHeight(value:Number):void{
if (value < 0){
value = 0;
} else {
if (value > Max_HEIGHT){
value = Max_HEIGHT;
};
};
_maxHeight = value;
}
override public function delEvent(e:Event=null):void{
delDis();
if (this.hasEventListener(Event.ADDED_TO_STAGE)){
removeEventListener(Event.ADDED_TO_STAGE, addToStageHandler);
};
if (this.hasEventListener(Event.REMOVED_FROM_STAGE)){
removeEventListener(Event.REMOVED_FROM_STAGE, removeFromStageHandler);
};
this.removeEventListener(MouseEvent.CLICK, clickHandler);
Dispatcher.dispatcher.removeEventListener(Dispatcher.LANGUAGE_CHANGED, langChangeHandler);
BindingDisplayManager.Instance.dispatchEvent(new BindingDisplayEvent(BindingDisplayEvent.BINDING_DISPLAY_DEL_EVENT, this, "Logo"));
}
private function clickHandler(e:MouseEvent):void{
Handler.click_moregames(_position);
}
private function initDis():void{
buttonMode = true;
_hitArea = new Sprite();
this.addChild(_hitArea);
_hitArea.graphics.beginFill(3368601, 0);
_hitArea.graphics.drawRect(0, 0, 10, 10);
_hitArea.graphics.endFill();
this.getChildByName("displayArea_mc").visible = false;
var i:int;
while (i < this.totalFrames) {
this.addFrameScript(i, updateView);
i++;
};
}
override public function initEvent(e:Event=null):void{
gotoAndStop(CountryInfo.instance.domain);
if (this.hasEventListener(Event.ADDED_TO_STAGE)){
removeEventListener(Event.ADDED_TO_STAGE, addToStageHandler);
};
this.addEventListener(Event.REMOVED_FROM_STAGE, removeFromStageHandler);
this.addEventListener(MouseEvent.CLICK, clickHandler);
Dispatcher.dispatcher.addEventListener(Dispatcher.LANGUAGE_CHANGED, langChangeHandler);
updateView();
}
public function set alignVertical(str:String):void{
_alignVertical = str;
}
private function langChangeHandler(e:Event):void{
gotoAndStop(CountryInfo.instance.domain);
}
}
}//package zlong.display
Section 155
//Menu (zlong.display.Menu)
package zlong.display {
import flash.events.*;
import flash.display.*;
import zlong.country.*;
import zlong.*;
import flash.ui.*;
import zlong.navigate.*;
public class Menu {
private var displayObject:InteractiveObject;
private var item:ContextMenuItem;
private var menu:ContextMenu;
localComponent_internal static const VERSION:String = "trunk.201004131406";
public function Menu(doc:InteractiveObject){
super();
displayObject = doc;
init();
initEvent();
}
private function init():void{
menu = new ContextMenu();
menu.hideBuiltInItems();
var defaultItems:ContextMenuBuiltInItems = menu.builtInItems;
defaultItems.print = true;
defaultItems.zoom = true;
defaultItems.quality = true;
item = new ContextMenuItem(("MoreGame: " + CountryInfo.instance.domain));
menu.customItems.push(item);
displayObject.contextMenu = menu;
}
private function changeLang(e:Event):void{
item.caption = CountryInfo.instance.domain;
}
private function clickItemHandler(e:ContextMenuEvent):void{
Handler.click_moregames("Contex_Menu");
}
private function initEvent():void{
item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, clickItemHandler);
Dispatcher.dispatcher.addEventListener(Dispatcher.LANGUAGE_CHANGED, changeLang);
}
}
}//package zlong.display
Section 156
//TranText (zlong.display.TranText)
package zlong.display {
import flash.events.*;
import zlong.country.*;
public class TranText extends AbstractBindingDisplay {
private var isChange:Boolean;// = true
localComponent_internal static const VERSION:String = "trunk.201004131406";
public function TranText(){
super();
addEventListener(Event.ADDED_TO_STAGE, addToStageHandler, false, 0, true);
BindingDisplayManager.Instance.dispatchEvent(new BindingDisplayEvent(BindingDisplayEvent.BINDING_DISPLAY_INIT, this, "TranText"));
}
public function set change(_v:Boolean):void{
isChange = _v;
}
private function addToStageHandler(e:Event):void{
BindingDisplayManager.Instance.dispatchEvent(new BindingDisplayEvent(BindingDisplayEvent.BINDING_DISPLAY_ADDED_TO_STAGE, this, "TranText"));
initEvent();
}
override public function initEvent(e:Event=null):void{
changeLang();
if (this.hasEventListener(Event.ADDED_TO_STAGE)){
removeEventListener(Event.ADDED_TO_STAGE, addToStageHandler);
};
addEventListener(Event.REMOVED_FROM_STAGE, removeFromStageHandler);
Dispatcher.dispatcher.addEventListener(Dispatcher.LANGUAGE_CHANGED, langChangeHandler);
}
private function removeFromStageHandler(e:Event):void{
BindingDisplayManager.Instance.dispatchEvent(new BindingDisplayEvent(BindingDisplayEvent.BINDING_DISPLAY_REMOVE_TO_STAGE, this, "TranText"));
delEvent();
}
private function langChangeHandler(e:Event):void{
if (isChange){
changeLang();
};
}
private function changeLang():void{
gotoAndStop(CountryInfo.instance.language);
}
override public function delEvent(e:Event=null):void{
if (this.hasEventListener(Event.ADDED_TO_STAGE)){
removeEventListener(Event.ADDED_TO_STAGE, addToStageHandler);
};
if (this.hasEventListener(Event.REMOVED_FROM_STAGE)){
removeEventListener(Event.REMOVED_FROM_STAGE, removeFromStageHandler);
};
Dispatcher.dispatcher.removeEventListener(Dispatcher.LANGUAGE_CHANGED, langChangeHandler);
BindingDisplayManager.Instance.dispatchEvent(new BindingDisplayEvent(BindingDisplayEvent.BINDING_DISPLAY_DEL_EVENT, this, "TranText"));
}
}
}//package zlong.display
Section 157
//DomainData (zlong.domain.DomainData)
package zlong.domain {
import zlong.*;
final class DomainData {
localComponent_internal static const VERSION:String = "trunk.201004131406";
static const allowedDomain:Array = ["www8.agame.com", "www.zlonggamestest.com", "gamedev.dev.spilgames.com"];
function DomainData(){
super();
}
}
}//package zlong.domain
Section 158
//DomainInfo (zlong.domain.DomainInfo)
package zlong.domain {
import flash.net.*;
import zlong.*;
public final class DomainInfo {
private var _domain:String;
private var _domainAb:String;
private var _allowed:Boolean;
localComponent_internal static const VERSION:String = "trunk.201004131406";
private static var _instance:DomainInfo;
public function DomainInfo(){
super();
_domain = new LocalConnection().domain;
initAllowed();
initAb();
}
private function initAb():void{
var temp:Array;
var extention:int;
var name:int;
if (_domain != "localhost"){
temp = _domain.split(".");
extention = (temp.length - 1);
name = (temp.length - 2);
_domainAb = ((temp[name] + ".") + temp[extention]);
} else {
_domainAb = "offline_play";
};
}
localComponent_internal function get domainAb():String{
return (_domainAb);
}
private function initAllowed():void{
var i:int;
while (i < DomainData.allowedDomain.length) {
if (_domain == DomainData.allowedDomain[i]){
_allowed = true;
break;
};
i++;
};
}
localComponent_internal function get domain():String{
return (_domain);
}
localComponent_internal function get allowed():Boolean{
return (_allowed);
}
public static function get instance():DomainInfo{
if (_instance == null){
_instance = new (DomainInfo);
};
return (_instance);
}
}
}//package zlong.domain
Section 159
//Handler (zlong.navigate.Handler)
package zlong.navigate {
import flash.events.*;
import flash.net.*;
import zlong.country.*;
import zlong.*;
import flash.external.*;
public class Handler {
localComponent_internal static const VERSION:String = "trunk.201004131406";
public function Handler(){
super();
}
public static function click_copyright(e:Event=null):void{
var request:URLRequest;
if (CountryInfo.instance.country == "cn"){
request = new URLRequest("http://www.game.com.cn");
} else {
request = new URLRequest("http://www.gameportal.net");
};
navigateToURL(request, "_blank");
}
public static function click_gamecn(e:Event=null):void{
var request:URLRequest = new URLRequest("http://www.game.com.cn");
navigateToURL(request, "_blank");
}
public static function click_moregames(_position:String):void{
var request:URLRequest;
if (CountryInfo.instance.country == "cn"){
request = new URLRequest(CountryInfo.instance.moreGameLink);
} else {
request = new URLRequest(((CountryInfo.instance.moreGameLink + "&utm_content=") + _position));
};
navigateToURL(request, "_blank");
}
public static function refurbish(e:Event=null):void{
var e = e;
ExternalInterface.call("location.reload");
navigateToURL(new URLRequest(ExternalInterface.call("window.location.href.toString")), "_top");
//unresolved jump
var _slot1 = myError;
}
public static function click_thisgame(_position:String):void{
var request:URLRequest;
if (CountryInfo.instance.country == "cn"){
request = new URLRequest(CountryInfo.instance.moreGameLink);
} else {
request = new URLRequest(((CountryInfo.instance.thisGameLink + "&utm_content=") + _position));
};
navigateToURL(request, "_blank");
}
}
}//package zlong.navigate
Section 160
//GameSetting (zlong.GameSetting)
package zlong {
import flash.display.*;
import zlong.country.*;
import zlong.data.*;
import zlong.display.*;
public class GameSetting {
public static const PORTAL_TYPE_HYVES:String = "hyves";
public static const PORTAL_TYPE_TEEN:String = "teen";
public static const PORTAL_TYPE_GIRL:String = "girl";
public static const PORTAL_TYPE_FAMILY:String = "family";
localComponent_internal static const VERSION:String = "trunk.201004131406";
public static const PORTAL_TYPE_TWEEN:String = "tween";
public static const PORTAL_TYPE_ZAPAPA:String = "zapapa";
public function GameSetting(displayObject:InteractiveObject, cnversion:Boolean, portal:String, name:String, html:String, width:int, height:int){
super();
GameInfo.cnversion = cnversion;
GameInfo.portal = portal;
GameInfo.name = name;
GameInfo.html = html;
GameInfo.width = width;
GameInfo.height = height;
init();
initMenu(displayObject);
}
private function init():void{
new CountryCookie();
CountryInfo.instance.portal = GameInfo.portal;
if (CountryCookie.country == null){
CountryInfo.instance.country = "en_us";
} else {
CountryInfo.instance.country = String(CountryCookie.country);
};
}
private function initMenu(p:InteractiveObject):void{
new Menu(p);
}
}
}//package zlong
Section 161
//localComponent_internal (zlong.localComponent_internal)
package zlong {
public namespace localComponent_internal = "http://www.zlonggames.com/flash/localComponent/internal";
}//package zlong
Section 162
//AcalephMC (AcalephMC)
package {
import flash.display.*;
public dynamic class AcalephMC extends MovieClip {
public var ChildMC:MovieClip;
}
}//package
Section 163
//AlertMC (AlertMC)
package {
import flash.display.*;
public dynamic class AlertMC extends MovieClip {
public var _txt:TXT_DO_YOU_WANT;
public var goon:Btn_NO;
public var agame:Btn_YES;
}
}//package
Section 164
//andChar (andChar)
package {
import zlong.display.*;
public dynamic class andChar extends TranText {
}
}//package
Section 165
//artistChar (artistChar)
package {
import zlong.display.*;
public dynamic class artistChar extends TranText {
}
}//package
Section 166
//attackSound (attackSound)
package {
import flash.media.*;
public dynamic class attackSound extends Sound {
}
}//package
Section 167
//autoLockChar (autoLockChar)
package {
import zlong.display.*;
public dynamic class autoLockChar extends TranText {
}
}//package
Section 168
//bag (bag)
package {
import Tool.*;
public dynamic class bag extends BitmapMc {
}
}//package
Section 169
//BIAOTI (BIAOTI)
package {
import zlong.display.*;
public dynamic class BIAOTI extends TranText {
}
}//package
Section 170
//BlackMC (BlackMC)
package {
import flash.display.*;
public dynamic class BlackMC extends MovieClip {
}
}//package
Section 171
//Btn_NO (Btn_NO)
package {
import olduncle.*;
public dynamic class Btn_NO extends BtnBase {
}
}//package
Section 172
//Btn_YES (Btn_YES)
package {
import olduncle.*;
public dynamic class Btn_YES extends BtnBase {
}
}//package
Section 173
//closeDoorSound (closeDoorSound)
package {
import flash.media.*;
public dynamic class closeDoorSound extends Sound {
}
}//package
Section 174
//coinChar (coinChar)
package {
import zlong.display.*;
public dynamic class coinChar extends TranText {
}
}//package
Section 175
//coinsChar (coinsChar)
package {
import zlong.display.*;
public dynamic class coinsChar extends TranText {
}
}//package
Section 176
//coinSound (coinSound)
package {
import flash.media.*;
public dynamic class coinSound extends Sound {
}
}//package
Section 177
//composerChar (composerChar)
package {
import zlong.display.*;
public dynamic class composerChar extends TranText {
}
}//package
Section 178
//congratulationsChar (congratulationsChar)
package {
import zlong.display.*;
public dynamic class congratulationsChar extends TranText {
}
}//package
Section 179
//continueChar (continueChar)
package {
import zlong.display.*;
public dynamic class continueChar extends TranText {
}
}//package
Section 180
//controlChar (controlChar)
package {
import zlong.display.*;
public dynamic class controlChar extends TranText {
}
}//package
Section 181
//CopperMC (CopperMC)
package {
import flash.display.*;
public dynamic class CopperMC extends MovieClip {
public function CopperMC(){
addFrameScript(22, frame23, 41, frame42);
}
function frame42(){
stop();
}
function frame23(){
gotoAndPlay("normal");
}
}
}//package
Section 182
//CountriesBox (CountriesBox)
package {
import zlong.display.*;
public dynamic class CountriesBox extends CountriesBox {
}
}//package
Section 183
//creditsChar (creditsChar)
package {
import zlong.display.*;
public dynamic class creditsChar extends TranText {
}
}//package
Section 184
//creditsTileChar (creditsTileChar)
package {
import zlong.display.*;
public dynamic class creditsTileChar extends TranText {
}
}//package
Section 185
//dennissDreamChar (dennissDreamChar)
package {
import zlong.display.*;
public dynamic class dennissDreamChar extends TranText {
}
}//package
Section 186
//designerChar (designerChar)
package {
import zlong.display.*;
public dynamic class designerChar extends TranText {
}
}//package
Section 187
//Doc (Doc)
package {
import flash.events.*;
import flash.display.*;
import com.google.analytics.*;
import flash.text.*;
import zlong.*;
import flash.utils.*;
import flash.external.*;
public class Doc extends MovieClip {
private var _h:int;// = 450
private var rootMC:MovieClip;
private var maskMC:MovieClip;
private var spilDomain;
private var _tf:TextField;
private var loading:Object;
private var _w:int;// = 600
public static var blackMC:MovieClip;
public static var _tracker:AnalyticsTracker;
public static var siteLockState:String;
public function Doc(){
super();
this.addFrameScript(0, script0);
this.addFrameScript(1, script1);
this.addFrameScript(2, script2);
}
public function script0():void{
stop();
_tf = new TextField();
_tf.autoSize = TextFieldAutoSize.LEFT;
_tf.defaultTextFormat = new TextFormat("_sans", 16, 0, true);
_tf.height = 30;
SpilSystem.instance.init(this);
new GameSetting(this, false, "family", "Diving_Dennis", "Diving_Dennis.html", 600, 450);
_tracker = new GATracker(this, "UA-6695967-1", "AS3", false);
initDomain();
addEventListener(Event.ENTER_FRAME, updateText);
}
public function script1():void{
stop();
maskMC = new MovieClip();
maskMC.graphics.beginFill(0xFFFFFF);
maskMC.graphics.drawRect(0, 0, myGameSetting.gameWidth, myGameSetting.gameHeight);
maskMC.graphics.endFill();
addChild(maskMC);
rootMC = new MovieClip();
addChild(rootMC);
rootMC.mask = maskMC;
var LoadingClass:Class = (getDefinitionByName("GameUI.Loading") as Class);
loading = new LoadingClass(rootMC);
}
public function script2():void{
stop();
var _local2 = loading;
_local2["clear"]();
removeEventListener(Event.ENTER_FRAME, updateText);
var gameClass:Class = (getDefinitionByName("GameLogic.Game") as Class);
new gameClass(rootMC);
blackMC = new MovieClip();
addChild(blackMC);
}
private function initDomain():void{
var checkUrl:String;
checkUrl = (ExternalInterface.call("window.location.href.toString") as String);
//unresolved jump
var _slot1 = e;
return;
spilDomain = new SpilDomain();
spilDomain.urlCheck = checkUrl;
spilDomain.loadXML();
}
private function updateText(e:Event=null):void{
var li:LoaderInfo = parent.loaderInfo;
_tf.text = (("Loading: " + Math.floor(((100 * li.bytesLoaded) / li.bytesTotal))) + "%");
_tf.x = ((_w - _tf.width) / 2);
_tf.y = ((_h - _tf.height) / 2);
if (this.currentFrame == 2){
loading.waterUpdate((li.bytesLoaded / li.bytesTotal));
};
if ((((this.framesLoaded > 1)) && ((this.currentFrame == 1)))){
gotoAndStop(2);
} else {
if (li.bytesLoaded >= li.bytesTotal){
if ((((spilDomain == null)) || ((spilDomain.status == 0)))){
trace("加载失败");
siteLockState = "open";
loadOver();
gotoAndStop(3);
} else {
if (spilDomain.status == -1){
trace("现在的进度:", (li.bytesLoaded / li.bytesTotal));
siteLockState = "loading";
return;
};
if (spilDomain.status == 1){
siteLockState = "close";
gotoAndStop(3);
};
};
};
};
}
private function newGame():void{
gotoAndStop(3);
}
private function loadOver():void{
removeEventListener(Event.ENTER_FRAME, updateText);
}
}
}//package
Section 188
//Door (Door)
package {
import Maps.*;
public dynamic class Door extends Door {
public function Door(){
addFrameScript(0, frame1, 62, frame63, 127, frame128);
}
function frame128(){
gotoAndStop("close");
}
function frame63(){
gotoAndStop("open");
}
function frame1(){
stop();
}
}
}//package
Section 189
//Door1 (Door1)
package {
import Maps.*;
public dynamic class Door1 extends Door {
public function Door1(){
addFrameScript(0, frame1, 62, frame63, 127, frame128);
}
function frame128(){
gotoAndStop("close");
}
function frame63(){
gotoAndStop("open");
}
function frame1(){
stop();
}
}
}//package
Section 190
//doorChar (doorChar)
package {
import zlong.display.*;
public dynamic class doorChar extends TranText {
}
}//package
Section 191
//enemyChar (enemyChar)
package {
import zlong.display.*;
public dynamic class enemyChar extends TranText {
}
}//package
Section 192
//fish (fish)
package {
import Tool.*;
public dynamic class fish extends BitmapMc {
}
}//package
Section 193
//GameData (GameData)
package {
public class GameData {
public static var isNewGame:Boolean = true;
public static var myGold:Number = 0;
public static var progress:int = 0;
public static var score:int = 0;
public static var localName:String = "BenthonicMist";
public static var gameTime:int = 0;
public function GameData(){
super();
}
}
}//package
Section 194
//gameMC (gameMC)
package {
import flash.display.*;
public dynamic class gameMC extends MovieClip {
}
}//package
Section 195
//gameMusic (gameMusic)
package {
import flash.media.*;
public dynamic class gameMusic extends Sound {
}
}//package
Section 196
//GoldMC (GoldMC)
package {
import flash.display.*;
public dynamic class GoldMC extends MovieClip {
public function GoldMC(){
addFrameScript(22, frame23, 41, frame42);
}
function frame42(){
stop();
}
function frame23(){
gotoAndPlay("normal");
}
}
}//package
Section 197
//HeroMC (HeroMC)
package {
import flash.display.*;
public dynamic class HeroMC extends MovieClip {
public function HeroMC(){
addFrameScript(0, frame1, 10, frame11, 20, frame21, 29, frame30, 39, frame40, 49, frame50);
}
function frame1(){
stop();
}
function frame50(){
gotoAndStop("right");
}
function frame40(){
gotoAndStop("left");
}
function frame30(){
stop();
}
function frame21(){
gotoAndStop("left");
}
function frame11(){
gotoAndStop("right");
}
}
}//package
Section 198
//HideConsole (HideConsole)
package {
public var HideConsole:Boolean;
HideConsole = false;
}//package
Section 199
//howtoplayChar (howtoplayChar)
package {
import zlong.display.*;
public dynamic class howtoplayChar extends TranText {
}
}//package
Section 200
//hurtSound (hurtSound)
package {
import flash.media.*;
public dynamic class hurtSound extends Sound {
}
}//package
Section 201
//LeaveTriggerMC (LeaveTriggerMC)
package {
import flash.display.*;
public dynamic class LeaveTriggerMC extends MovieClip {
}
}//package
Section 202
//levelCompleteMusic (levelCompleteMusic)
package {
import flash.media.*;
public dynamic class levelCompleteMusic extends Sound {
}
}//package
Section 203
//loading (loading)
package {
import flash.display.*;
public dynamic class loading extends MovieClip {
}
}//package
Section 204
//loadingAndChar (loadingAndChar)
package {
import zlong.display.*;
public dynamic class loadingAndChar extends TranText {
}
}//package
Section 205
//loadingAutoLockChar (loadingAutoLockChar)
package {
import zlong.display.*;
public dynamic class loadingAutoLockChar extends TranText {
}
}//package
Section 206
//LoadingBIAOTI (LoadingBIAOTI)
package {
import zlong.display.*;
public dynamic class LoadingBIAOTI extends TranText {
}
}//package
Section 207
//loadingCoinChar (loadingCoinChar)
package {
import zlong.display.*;
public dynamic class loadingCoinChar extends TranText {
}
}//package
Section 208
//loadingControlChar (loadingControlChar)
package {
import zlong.display.*;
public dynamic class loadingControlChar extends TranText {
}
}//package
Section 209
//loadingDennissDreamChar (loadingDennissDreamChar)
package {
import zlong.display.*;
public dynamic class loadingDennissDreamChar extends TranText {
}
}//package
Section 210
//loadingDoorChar (loadingDoorChar)
package {
import zlong.display.*;
public dynamic class loadingDoorChar extends TranText {
}
}//package
Section 211
//loadingEnemyChar (loadingEnemyChar)
package {
import zlong.display.*;
public dynamic class loadingEnemyChar extends TranText {
}
}//package
Section 212
//loadingHowtoplayChar (loadingHowtoplayChar)
package {
import zlong.display.*;
public dynamic class loadingHowtoplayChar extends TranText {
}
}//package
Section 213
//LoadingMC (LoadingMC)
package {
import flash.display.*;
public dynamic class LoadingMC extends MovieClip {
public var __id1_:MoreGamesLogo;
public var WaterMC:MovieClip;
public function LoadingMC(){
__setProp___id1__LoadingMC__1();
}
function __setProp___id1__LoadingMC__1(){
try {
__id1_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id1_.position = "button_preloader";
__id1_.type = "moregames";
try {
__id1_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package
Section 214
//loadingMoreAdventureAtChar (loadingMoreAdventureAtChar)
package {
import zlong.display.*;
public dynamic class loadingMoreAdventureAtChar extends TranText {
}
}//package
Section 215
//loadingOrChar (loadingOrChar)
package {
import zlong.display.*;
public dynamic class loadingOrChar extends TranText {
}
}//package
Section 216
//Logo (Logo)
package {
import zlong.display.*;
public dynamic class Logo extends Logo {
}
}//package
Section 217
//Logo_loading (Logo_loading)
package {
import zlong.display.*;
public dynamic class Logo_loading extends Logo {
}
}//package
Section 218
//loseCoinSound (loseCoinSound)
package {
import flash.media.*;
public dynamic class loseCoinSound extends Sound {
}
}//package
Section 219
//LoseGoldMC (LoseGoldMC)
package {
import flash.display.*;
public dynamic class LoseGoldMC extends MovieClip {
public function LoseGoldMC(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 220
//ManMC (ManMC)
package {
import flash.display.*;
public dynamic class ManMC extends MovieClip {
public var Shape_0MC:MovieClip;
public var Shape_1MC:MovieClip;
public var Shape_2MC:MovieClip;
public var Shape_3MC:MovieClip;
public var Shape_4MC:MovieClip;
public var Shape_5MC:MovieClip;
public var Shape_6MC:MovieClip;
public var Shape_7MC:MovieClip;
}
}//package
Section 221
//Map_0MC (Map_0MC)
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.geom.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Map_0MC extends MovieClip {
public var __id5_:MoreGamesLogoMenu;
public var RightExitMC:MovieClip;
public var PlayBtn:MovieClip;
public var HitMC:MovieClip;
public function Map_0MC(){
__setProp___id5__Map_0_();
}
function __setProp___id5__Map_0_(){
try {
__id5_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id5_.position = "button_mainscreen_moregames";
__id5_.type = "moregames";
try {
__id5_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package
Section 222
//Map_10MC (Map_10MC)
package {
import flash.display.*;
public dynamic class Map_10MC extends MovieClip {
public var HitMC:MovieClip;
public var UpExitMC:MovieClip;
public var RightExitMC:MovieClip;
public var Door_0MC:Door;
public var LeftExitMC:MovieClip;
public var DownExitMC:MovieClip;
}
}//package
Section 223
//Map_11MC (Map_11MC)
package {
import flash.display.*;
public dynamic class Map_11MC extends MovieClip {
public var RightRecurrenceMC:MovieClip;
public var Door_1MC:Door;
public var HitMC:MovieClip;
public var UpExitMC:MovieClip;
public var Door_0MC:Door;
public var LeftExitMC:MovieClip;
public var DownExitMC:MovieClip;
}
}//package
Section 224
//Map_12MC (Map_12MC)
package {
import flash.display.*;
public dynamic class Map_12MC extends MovieClip {
public var HitMC:MovieClip;
public var LeftRecurrenceMC:MovieClip;
public var UpExitMC:MovieClip;
public var RightExitMC:MovieClip;
public var Door_0MC:Door;
public var DownExitMC:MovieClip;
public var Door_1MC:Door;
}
}//package
Section 225
//Map_13MC (Map_13MC)
package {
import flash.display.*;
public dynamic class Map_13MC extends MovieClip {
public var Door_1MC:Door;
public var HitMC:MovieClip;
public var UpExitMC:MovieClip;
public var RightExitMC:MovieClip;
public var Door_0MC:Door1;
public var LeftExitMC:MovieClip;
public var DownExitMC:MovieClip;
}
}//package
Section 226
//Map_14MC (Map_14MC)
package {
import flash.display.*;
public dynamic class Map_14MC extends MovieClip {
public var HitMC:MovieClip;
public var UpExitMC:MovieClip;
public var RightExitMC:MovieClip;
public var Door_0MC:Door1;
public var LeftExitMC:MovieClip;
public var DownExitMC:MovieClip;
}
}//package
Section 227
//Map_15MC (Map_15MC)
package {
import flash.display.*;
public dynamic class Map_15MC extends MovieClip {
public var RightRecurrenceMC:MovieClip;
public var HitMC:MovieClip;
public var UpExitMC:MovieClip;
public var Door_0MC:Door;
public var LeftExitMC:MovieClip;
public var DownExitMC:MovieClip;
}
}//package
Section 228
//Map_16MC (Map_16MC)
package {
import flash.display.*;
public dynamic class Map_16MC extends MovieClip {
public var RightExitMC:MovieClip;
public var DownExitMC:MovieClip;
public var HitMC:MovieClip;
public var LeftRecurrenceMC:MovieClip;
public var UpExitMC:MovieClip;
}
}//package
Section 229
//Map_17MC (Map_17MC)
package {
import flash.display.*;
public dynamic class Map_17MC extends MovieClip {
public var Door_1MC:Door;
public var HitMC:MovieClip;
public var UpExitMC:MovieClip;
public var RightExitMC:MovieClip;
public var Door_0MC:Door;
public var Door_2MC:Door;
public var LeftExitMC:MovieClip;
public var DownExitMC:MovieClip;
}
}//package
Section 230
//Map_18MC (Map_18MC)
package {
import flash.display.*;
public dynamic class Map_18MC extends MovieClip {
public var HitMC:MovieClip;
public var UpExitMC:MovieClip;
public var RightExitMC:MovieClip;
public var Door_0MC:Door;
public var LeftExitMC:MovieClip;
public var DownExitMC:MovieClip;
}
}//package
Section 231
//Map_19MC (Map_19MC)
package {
import flash.display.*;
public dynamic class Map_19MC extends MovieClip {
public var RightRecurrenceMC:MovieClip;
public var HitMC:MovieClip;
public var LeftExitMC:MovieClip;
public var DownExitMC:MovieClip;
public var UpExitMC:MovieClip;
}
}//package
Section 232
//Map_1MC (Map_1MC)
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.geom.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Map_1MC extends MovieClip {
public var SoundMC:MovieClip;
public var __id3_:MoreGamesLogoMenu;
public var HitMC:MovieClip;
public var OnewayDoorMC:OnewayDoor;
public var RightExitMC:MovieClip;
public var DownExitMC:MovieClip;
public var TriggerMC_1:Trigger;
public var NewGameBtn:MovieClip;
public var SoundBtn:MovieClip;
public var TriggerMC:Trigger;
public var QualityMC:MovieClip;
public var LeftExitMC:MovieClip;
public var QualityBtn:MovieClip;
public var OnewayDoorMC_1:OnewayDoor;
public function Map_1MC(){
__setProp___id3__Map_1_();
}
function __setProp___id3__Map_1_(){
try {
__id3_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id3_.position = "button_level_moregames";
__id3_.type = "moregames";
try {
__id3_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package
Section 233
//Map_20MC (Map_20MC)
package {
import flash.display.*;
public dynamic class Map_20MC extends MovieClip {
public var RightExitMC:MovieClip;
public var Door_0MC:Door;
public var Door_1MC:Door;
public var HitMC:MovieClip;
public var UpExitMC:MovieClip;
}
}//package
Section 234
//Map_21MC (Map_21MC)
package {
import flash.display.*;
public dynamic class Map_21MC extends MovieClip {
public var HitMC:MovieClip;
public var UpExitMC:MovieClip;
public var RightExitMC:MovieClip;
public var Door_0MC:Door;
public var LeftExitMC:MovieClip;
public var Door_1MC:Door;
}
}//package
Section 235
//Map_22MC (Map_22MC)
package {
import flash.display.*;
public dynamic class Map_22MC extends MovieClip {
public var RightExitMC:MovieClip;
public var Door_0MC:Door1;
public var HitMC:MovieClip;
public var LeftExitMC:MovieClip;
public var UpExitMC:MovieClip;
}
}//package
Section 236
//Map_23MC (Map_23MC)
package {
import flash.display.*;
public dynamic class Map_23MC extends MovieClip {
public var Door_4MC:Door;
public var HitMC:MovieClip;
public var UpExitMC:MovieClip;
public var Door_0MC:Door;
public var Door_2MC:Door;
public var Door_3MC:Door;
public var LeftExitMC:MovieClip;
public var Door_1MC:Door;
}
}//package
Section 237
//Map_2MC (Map_2MC)
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.geom.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Map_2MC extends MovieClip {
public var MainMenuBtn:MovieClip;
public var __id2_:MoreGamesLogoComplete;
public var HitMC:MovieClip;
public var OnewayDoorMC:OnewayDoor;
public var TriggerMC:Trigger;
public var RightExitMC:MovieClip;
public var LeftExitMC:MovieClip;
public function Map_2MC(){
__setProp___id2__Map_2_();
}
function __setProp___id2__Map_2_(){
try {
__id2_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id2_.position = "button_gamecomplete_moregames";
__id2_.type = "moregames";
try {
__id2_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package
Section 238
//Map_3MC (Map_3MC)
package {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.geom.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Map_3MC extends MovieClip {
public var CreditsBtn:MovieClip;
public var TimeMC:MovieClip;
public var ProgressMC:MovieClip;
public var ScoreMC:MovieClip;
public var HitMC:MovieClip;
public var __id0_:MoreGamesLogoComplete;
public var TriggerMC:Trigger;
public var OnewayDoorMC:OnewayDoor;
public var CoinsMC:MovieClip;
public var LeftExitMC:MovieClip;
public var DownExitMC:MovieClip;
public function Map_3MC(){
__setProp___id0__Map_3_();
}
function __setProp___id0__Map_3_(){
try {
__id0_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id0_.position = "button_gamecomplete_moregames";
__id0_.type = "moregames";
try {
__id0_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package
Section 239
//Map_4MC (Map_4MC)
package {
import flash.display.*;
public dynamic class Map_4MC extends MovieClip {
public var RightExitMC:MovieClip;
public var Door_0MC:Door1;
public var DownExitMC:MovieClip;
public var HitMC:MovieClip;
public var LeftRecurrenceMC:MovieClip;
}
}//package
Section 240
//Map_5MC (Map_5MC)
package {
import flash.display.*;
public dynamic class Map_5MC extends MovieClip {
public var Door_1MC:Door;
public var HitMC:MovieClip;
public var OnewayDoorMC:OnewayDoor;
public var TriggerMC:Trigger;
public var UpExitMC:MovieClip;
public var RightExitMC:MovieClip;
public var Door_0MC:Door;
public var Door_2MC:Door;
public var LeftExitMC:MovieClip;
public var DownExitMC:MovieClip;
}
}//package
Section 241
//Map_6MC (Map_6MC)
package {
import flash.display.*;
public dynamic class Map_6MC extends MovieClip {
public var RightExitMC:MovieClip;
public var Door_0MC:Door;
public var HitMC:MovieClip;
public var LeftExitMC:MovieClip;
public var DownExitMC:MovieClip;
}
}//package
Section 242
//Map_7MC (Map_7MC)
package {
import flash.display.*;
public dynamic class Map_7MC extends MovieClip {
public var RightRecurrenceMC:MovieClip;
public var HitMC:MovieClip;
public var LeftExitMC:MovieClip;
public var DownExitMC:MovieClip;
public var UpExitMC:MovieClip;
}
}//package
Section 243
//Map_8MC (Map_8MC)
package {
import flash.display.*;
public dynamic class Map_8MC extends MovieClip {
public var HitMC:MovieClip;
public var LeftRecurrenceMC:MovieClip;
public var UpExitMC:MovieClip;
public var RightExitMC:MovieClip;
public var Door_0MC:Door1;
public var DownExitMC:MovieClip;
public var Door_2MC:Door;
public var Door_1MC:Door1;
}
}//package
Section 244
//Map_9MC (Map_9MC)
package {
import flash.display.*;
public dynamic class Map_9MC extends MovieClip {
public var RightExitMC:MovieClip;
public var HitMC:MovieClip;
public var LeftExitMC:MovieClip;
public var DownExitMC:MovieClip;
public var UpExitMC:MovieClip;
}
}//package
Section 245
//menuMusic (menuMusic)
package {
import flash.media.*;
public dynamic class menuMusic extends Sound {
}
}//package
Section 246
//MermaidMC (MermaidMC)
package {
import flash.display.*;
public dynamic class MermaidMC extends MovieClip {
}
}//package
Section 247
//mermaidSound (mermaidSound)
package {
import flash.media.*;
public dynamic class mermaidSound extends Sound {
}
}//package
Section 248
//moreAdventureAtChar (moreAdventureAtChar)
package {
import zlong.display.*;
public dynamic class moreAdventureAtChar extends TranText {
}
}//package
Section 249
//MoreGamesLogo (MoreGamesLogo)
package {
import zlong.display.*;
public dynamic class MoreGamesLogo extends ExtButton {
public var __id0_:Logo_loading;
public function MoreGamesLogo(){
__setProp___id0__MoreGamesLogo_Layer4_1();
}
function __setProp___id0__MoreGamesLogo_Layer4_1(){
try {
__id0_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id0_.alignHorizontal = "Center";
__id0_.alignVertical = "Down";
__id0_.maxHeight = 25;
__id0_.maxWidth = 170;
__id0_.position = "logo_preloader";
try {
__id0_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package
Section 250
//MoreGamesLogoComplete (MoreGamesLogoComplete)
package {
import flash.display.*;
import zlong.display.*;
import flash.events.*;
import flash.media.*;
import flash.geom.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class MoreGamesLogoComplete extends ExtButton {
public var __id1_:Logo;
public function MoreGamesLogoComplete(){
__setProp___id1__MoreGamesLogoComplete_Layer4_0();
}
function __setProp___id1__MoreGamesLogoComplete_Layer4_0(){
try {
__id1_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id1_.alignHorizontal = "Center";
__id1_.alignVertical = "Down";
__id1_.maxHeight = 25;
__id1_.maxWidth = 170;
__id1_.position = "logo_levelcomplete";
try {
__id1_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package
Section 251
//MoreGamesLogoMenu (MoreGamesLogoMenu)
package {
import flash.display.*;
import zlong.display.*;
import flash.events.*;
import flash.media.*;
import flash.geom.*;
import flash.utils.*;
import flash.text.*;
import flash.net.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.system.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class MoreGamesLogoMenu extends ExtButton {
public var __id4_:Logo;
public function MoreGamesLogoMenu(){
__setProp___id4__MoreGamesLogoMenu_Layer4_0();
}
function __setProp___id4__MoreGamesLogoMenu_Layer4_0(){
try {
__id4_["componentInspectorSetting"] = true;
} catch(e:Error) {
};
__id4_.alignHorizontal = "Center";
__id4_.alignVertical = "Down";
__id4_.maxHeight = 25;
__id4_.maxWidth = 170;
__id4_.position = "logo_preloader";
try {
__id4_["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package
Section 252
//moveSound (moveSound)
package {
import flash.media.*;
public dynamic class moveSound extends Sound {
}
}//package
Section 253
//MusicMC (MusicMC)
package {
import flash.display.*;
public dynamic class MusicMC extends MovieClip {
}
}//package
Section 254
//myGameSetting (myGameSetting)
package {
public class myGameSetting {
public static var gameHeight:Number = 450;
public static var gameWidth:Number = 600;
public function myGameSetting(){
super();
}
}
}//package
Section 255
//MyGoldMC (MyGoldMC)
package {
import flash.display.*;
public dynamic class MyGoldMC extends MovieClip {
public var GoldTextMC:MovieClip;
}
}//package
Section 256
//newGameChar (newGameChar)
package {
import zlong.display.*;
public dynamic class newGameChar extends TranText {
}
}//package
Section 257
//NomoneyMC (NomoneyMC)
package {
import flash.display.*;
public dynamic class NomoneyMC extends MovieClip {
public function NomoneyMC(){
addFrameScript(55, frame56);
}
function frame56(){
stop();
}
}
}//package
Section 258
//notEnoughMoneySound (notEnoughMoneySound)
package {
import flash.media.*;
public dynamic class notEnoughMoneySound extends Sound {
}
}//package
Section 259
//OnewayDoor (OnewayDoor)
package {
import Maps.*;
public dynamic class OnewayDoor extends OnewayDoor {
public function OnewayDoor(){
addFrameScript(0, frame1, 62, frame63, 127, frame128);
}
function frame128(){
gotoAndStop("close");
}
function frame63(){
gotoAndStop("open");
}
function frame1(){
stop();
}
}
}//package
Section 260
//openDoorSound (openDoorSound)
package {
import flash.media.*;
public dynamic class openDoorSound extends Sound {
}
}//package
Section 261
//orChar (orChar)
package {
import zlong.display.*;
public dynamic class orChar extends TranText {
}
}//package
Section 262
//PiranhaMC (PiranhaMC)
package {
import flash.display.*;
public dynamic class PiranhaMC extends MovieClip {
public function PiranhaMC(){
addFrameScript(12, frame13, 19, frame20, 33, frame34, 42, frame43);
}
function frame20(){
gotoAndPlay("right");
}
function frame43(){
gotoAndPlay("left");
}
function frame34(){
gotoAndPlay("right");
}
function frame13(){
gotoAndPlay("left");
}
}
}//package
Section 263
//plannerChar (plannerChar)
package {
import zlong.display.*;
public dynamic class plannerChar extends TranText {
}
}//package
Section 264
//programmerChar (programmerChar)
package {
import zlong.display.*;
public dynamic class programmerChar extends TranText {
}
}//package
Section 265
//progressChar (progressChar)
package {
import zlong.display.*;
public dynamic class progressChar extends TranText {
}
}//package
Section 266
//qualityChar (qualityChar)
package {
import zlong.display.*;
public dynamic class qualityChar extends TranText {
}
}//package
Section 267
//SaveAndQuitMC (SaveAndQuitMC)
package {
import flash.display.*;
public dynamic class SaveAndQuitMC extends MovieClip {
}
}//package
Section 268
//saveChar (saveChar)
package {
import zlong.display.*;
public dynamic class saveChar extends TranText {
}
}//package
Section 269
//SaveMC (SaveMC)
package {
import flash.display.*;
public dynamic class SaveMC extends MovieClip {
public var SaveBtn:SimpleButton;
}
}//package
Section 270
//scoreChar (scoreChar)
package {
import zlong.display.*;
public dynamic class scoreChar extends TranText {
}
}//package
Section 271
//shuicao1 (shuicao1)
package {
import Tool.*;
public dynamic class shuicao1 extends BitmapMc {
}
}//package
Section 272
//SilverMC (SilverMC)
package {
import flash.display.*;
public dynamic class SilverMC extends MovieClip {
public function SilverMC(){
addFrameScript(22, frame23, 41, frame42);
}
function frame42(){
stop();
}
function frame23(){
gotoAndPlay("normal");
}
}
}//package
Section 273
//soundChar (soundChar)
package {
import zlong.display.*;
public dynamic class soundChar extends TranText {
}
}//package
Section 274
//SoundMC (SoundMC)
package {
import flash.display.*;
public dynamic class SoundMC extends MovieClip {
}
}//package
Section 275
//SpilDomain (SpilDomain)
package {
import flash.events.*;
import flash.net.*;
public class SpilDomain {
private const URL:String = "http://www8.agame.com/games/sitelock/sites.xml";
private var checkURL:String;
private var request:URLRequest;
private var _status:int;// = -1
private var loader:URLLoader;
private var xml:XML;
public function SpilDomain(){
super();
initialize();
}
private function addEvt(tar:EventDispatcher, type:String, func:Function):void{
tar.addEventListener(type, func);
}
private function onError(e:IOErrorEvent):void{
_status = 0;
loader.close();
del();
}
private function del():void{
delEvt(loader, Event.COMPLETE, onComplete);
delEvt(loader, IOErrorEvent.IO_ERROR, onError);
}
private function checkDomain():int{
var item:*;
if (checkURL == null){
return (0);
};
for each (item in xml.item) {
if (checkURL.indexOf(item) != -1){
return (1);
};
};
return (0);
}
private function initialize():void{
loader = new URLLoader();
request = new URLRequest(URL);
}
public function set urlCheck(url:String):void{
checkURL = url;
}
public function loadXML():void{
loader.load(request);
addEvt(loader, IOErrorEvent.IO_ERROR, onError);
addEvt(loader, Event.COMPLETE, onComplete);
}
public function get status():int{
return (_status);
}
private function delEvt(tar:EventDispatcher, type:String, func:Function):void{
tar.removeEventListener(type, func);
}
private function onComplete(e:Event):void{
xml = XML(loader.data);
_status = checkDomain();
del();
trace("xml loaded");
}
}
}//package
Section 276
//SpilSystem (SpilSystem)
package {
import flash.events.*;
import flash.display.*;
import Spill.Components.*;
public class SpilSystem {
private var _sub:Submitter;
private static var _instance:SpilSystem;
public function SpilSystem(){
_sub = new Submitter();
super();
trace(("sub: " + _sub));
_sub.addEventListener(Event.COMPLETE, SubmiterComponentInitialized);
_sub.addEventListener(IOErrorEvent.IO_ERROR, FailedToLoadSubmitter);
_sub.addEventListener("LoadingFailed", FailedToLoadSubmitter);
}
public function init($container:MovieClip):void{
_sub._O0000Ol01($container, "Diving_Dennis", "Diving_Dennis.html", 0, "normal", "", 0, 0, 1, true);
}
public function submitAchievement($achievement):void{
if (((_sub) && (_sub._O0Olll0lO()))){
_sub._O00OOl1Ol($achievement);
};
}
public function destroy():void{
if (_sub){
_sub.removeEventListener(Event.COMPLETE, SubmiterComponentInitialized);
_sub.removeEventListener("LoadingFailed", FailedToLoadSubmitter);
_sub.removeEventListener(IOErrorEvent.IO_ERROR, FailedToLoadSubmitter);
_sub = null;
};
}
public function submitScore($score):void{
if (((_sub) && (_sub._O0Olll0lO()))){
_sub._O01lOO10O($score);
};
}
private function FailedToLoadSubmitter(e:Event):void{
_sub.removeEventListener(Event.COMPLETE, SubmiterComponentInitialized);
_sub.removeEventListener("LoadingFailed", FailedToLoadSubmitter);
_sub.removeEventListener(IOErrorEvent.IO_ERROR, FailedToLoadSubmitter);
trace(_sub._O0Olll0lO());
_sub = null;
trace("Failed to load submitter");
}
private function SubmiterComponentInitialized(e:Event):void{
_sub.removeEventListener(Event.COMPLETE, SubmiterComponentInitialized);
_sub.removeEventListener(IOErrorEvent.IO_ERROR, FailedToLoadSubmitter);
_sub.removeEventListener("LoadingFailed", FailedToLoadSubmitter);
trace(_sub._O0Olll0lO());
trace("ScoreLoadSubmitComplete");
}
public static function get instance():SpilSystem{
if (_instance == null){
_instance = new (SpilSystem);
};
return (_instance);
}
}
}//package
Section 277
//SpriteMC (SpriteMC)
package {
import flash.display.*;
public dynamic class SpriteMC extends MovieClip {
}
}//package
Section 278
//startChar (startChar)
package {
import zlong.display.*;
public dynamic class startChar extends TranText {
}
}//package
Section 279
//SubmitterProxy (SubmitterProxy)
package {
import flash.events.*;
import flash.display.*;
import com.spilgames.api.*;
import flash.system.*;
public class SubmitterProxy extends MovieClip {
public var m_scoreXMLData:XML;
public var m_achievXMLData:XML;
private var parentObj;
public var m_scoreServerTimeXMLData:XML;
private static var _failed:Boolean = false;
private static var _loading:Boolean = false;
private static var _initialised:Boolean = false;
private static var SpilComp:SpilGamesServices;
public function SubmitterProxy():void{
var cld:*;
super();
Security.allowDomain("*");
parentObj = this.parent;
parentObj.stop();
var i:int = (parentObj.numChildren - 1);
while (i >= 0) {
cld = parentObj.getChildAt(i);
if ((cld is MovieClip)){
cld.visible = false;
} else {
if (cld != null){
parentObj.removeChild(cld);
};
};
i = (i - 1);
};
try {
parentObj["setLoader"] = setLoader;
parentObj["isDomainAllowed"] = isDomainAllowed;
parentObj["hasUserData"] = hasUserData;
parentObj["_O0000Ol01"] = setLoader;
parentObj["_O0Olll0lO"] = isDomainAllowed;
} catch(e:Error) {
trace(e);
};
}
private function SpilConfiguratorFailedToInitialise(_arg1:Event):void{
if (SpilComp){
SpilComp.removeEventListener("servicesReady", SpilConfiguratorReady);
SpilComp.removeEventListener(IOErrorEvent.IO_ERROR, SpilConfiguratorFailedToLoad);
SpilComp.removeEventListener("servicesFailed", SpilConfiguratorFailedToInitialise);
};
_failed = true;
_loading = false;
parentObj.dispatchEvent(new Event("LoadingFailed"));
}
public function SpilCallback(_arg1:int, _arg2:Object):void{
}
private function onLoadDone():void{
parentObj["isSWFReady"] = isSWFReady;
parentObj["setServerSelect"] = setServerSelect;
parentObj["requestScoreServerTime"] = requestScoreServerTime;
parentObj["getScoreServerTime"] = getScoreServerTime;
parentObj["submitScore"] = submitScore;
parentObj["requestHighscoreList"] = requestHighscoreList;
parentObj["requestUserHighscoreList"] = requestUserHighscoreList;
parentObj["submitGrantAward"] = submitGrantAward;
parentObj["requestAwardList"] = requestAwardList;
parentObj["requestAwardInfo"] = requestAwardInfo;
parentObj["destroy"] = destroy;
parentObj["getSpilGamesConnector"] = getSpilGamesConnector;
parentObj["_O0O1l0OO0"] = isSWFReady;
parentObj["_O0lOO010l"] = requestScoreServerTime;
parentObj["_O01Ol1O1O"] = getScoreServerTime;
parentObj["_O01lOO10O"] = submitScore;
parentObj["_O110l10ll"] = requestHighscoreList;
parentObj["_O11lll1OO0"] = requestUserHighscoreList;
parentObj["_O00OOl1Ol"] = submitGrantAward;
parentObj["_O1OlO10OO"] = requestAwardList;
parentObj["_OOlOOOll1"] = requestAwardInfo;
parentObj["_O010ll111"] = destroy;
parentObj["OO00OO1l1l"] = OO00OO1l1l();
}
private function processTimeResults(_arg1:int, _arg2:Object):void{
if (_arg2){
if (_arg2.errorMessage){
} else {
if (_arg2.xml){
m_scoreServerTimeXMLData = _arg2.xml;
};
};
} else {
m_scoreServerTimeXMLData = new XML("<hyscore><time>123456789</time></hyscore>");
};
}
private function isSWFReady():Boolean{
return (((SpilComp) && (SpilComp.isSWFReady())));
}
private function requestAwardList():void{
if (SpilComp){
SpilComp.send("Awards", "getAwardList", processAwardResults, {userName:SpilComp.getUserName(), userHash:SpilComp.getUserHash()});
};
}
public function set O1lll0ll0(_arg1:XML):void{
m_scoreServerTimeXMLData = _arg1;
}
public function OO00OO1l1l():SubmitterProxy{
return (this);
}
private function hasUserData():Boolean{
return (!(SpilComp.hasValidUserData()));
}
public function get O0l00l0O0():XML{
return (m_scoreXMLData);
}
private function destroy():void{
parentObj = null;
m_scoreXMLData = null;
m_achievXMLData = null;
}
private function requestScoreServerTime():void{
if (SpilComp){
SpilComp.send("Score", "checkServerTime", processTimeResults);
};
}
private function requestUserHighscoreList(_arg1:String):void{
if (SpilComp){
SpilComp.send("Score", "getUserRankList", processScoreResults, {targetUserName:_arg1});
};
}
public function get O1OlOO00O():XML{
return (m_achievXMLData);
}
private function submitGrantAward(_arg1:String):void{
if (SpilComp){
SpilComp.send("Awards", "submitAward", processAwardResults, {tag:_arg1, userName:SpilComp.getUserName(), userHash:SpilComp.getUserHash()});
};
}
private function setLoader(_arg1=null, _arg2:String="default", _arg3="", _arg4:int=0, _arg5:String="normal", _arg6:String="", _arg7:int=0, _arg8:int=0, _arg9:int=1, _arg10:Boolean=false, _arg11:int=1):void{
if (!_initialised){
trace("Initialising for the first time");
_initialised = true;
if (_arg1){
SpilComp = SpilGamesServices.getInstance();
SpilComp.addEventListener("servicesReady", SpilConfiguratorReady);
SpilComp.addEventListener(IOErrorEvent.IO_ERROR, SpilConfiguratorFailedToLoad);
SpilComp.addEventListener("servicesFailed", SpilConfiguratorFailedToInitialise);
_loading = true;
SpilComp.connect(_arg1);
} else {
throw (new Error("'container' cannot be null"));
};
} else {
trace("Initialisation called multiple times");
if (!_loading){
trace("Ready with loading");
if (!_failed){
trace("Simulate Submitter complete");
onLoadDone();
parentObj.dispatchEvent(new Event(Event.COMPLETE));
} else {
trace("Simulate Submitter LoadingFailed");
parentObj.dispatchEvent(new Event("LoadingFailed"));
};
} else {
trace("Still loading");
};
};
}
private function requestHighscoreList():void{
if (SpilComp){
SpilComp.send("Score", "getRankingList", processScoreResults, null);
};
}
public function set O0l00l0O0(_arg1:XML):void{
m_scoreXMLData = _arg1;
}
private function setServerSelect(_arg1:int):void{
if (SpilComp){
};
}
private function requestAwardInfo(_arg1:int):void{
if (SpilComp){
SpilComp.send("Awards", "getAward", SpilCallback, {awardID:_arg1});
};
}
public function set O1OlOO00O(_arg1:XML):void{
m_achievXMLData = _arg1;
}
private function processAwardResults(_arg1:int, _arg2:Object):void{
if (_arg2){
m_achievXMLData = _arg2.xml;
} else {
m_achievXMLData = new XML("<hyscor><awardid>147</awardid></hyscor>");
};
}
public function getSpilGamesConnector(){
return (SpilComp);
}
public function get O1lll0ll0():XML{
return (m_scoreServerTimeXMLData);
}
private function processScoreResults(_arg1:int, _arg2:Object):void{
if (_arg2){
m_scoreXMLData = _arg2.xml;
} else {
m_scoreXMLData = <hyscor><resultset>
<group>daily</group>
<result>
<position>1</position>
<timestamp>1271247768</timestamp>
<username>noot</username>
<authenticated>1</authenticated>
<score>2</score>
<gamelevel>0</gamelevel>
<country>NL</country>
</result>
</resultset>
<resultset>
<group>weekly</group>
<result>
<position>1</position>
<timestamp>1271247768</timestamp>
<username>noot</username>
<authenticated>1</authenticated>
<score>2</score>
<gamelevel>0</gamelevel>
<country>NL</country>
</result>
</resultset>
<resultset>
<group>monthly</group>
<result>
<position>1</position>
<timestamp>1271247768</timestamp>
<username>noot</username>
<authenticated>1</authenticated>
<score>2</score>
<gamelevel>0</gamelevel>
<country>NL</country>
</result>
</resultset>
</hyscor>
;
};
}
private function getScoreServerTime():void{
if (SpilComp){
SpilComp.send("Score", "getLatestTimeCheck", processTimeResults);
};
}
private function SpilConfiguratorReady(_arg1:Event):void{
if (SpilComp){
SpilComp.removeEventListener("servicesReady", SpilConfiguratorReady);
SpilComp.removeEventListener(IOErrorEvent.IO_ERROR, SpilConfiguratorFailedToLoad);
SpilComp.removeEventListener("servicesFailed", SpilConfiguratorFailedToInitialise);
};
_loading = false;
onLoadDone();
parentObj.dispatchEvent(new Event(Event.COMPLETE));
}
private function doCommTest():String{
if (SpilComp){
return ("y");
};
return (("FAILED " + SpilComp));
}
private function submitScore(_arg1:int):void{
if (SpilComp){
SpilComp.send("Score", "submitScore", processScoreResults, {score:_arg1, userName:SpilComp.getUserName(), userHash:SpilComp.getUserHash()});
};
}
private function SpilConfiguratorFailedToLoad(_arg1:Event):void{
if (SpilComp){
SpilComp.removeEventListener("servicesReady", SpilConfiguratorReady);
SpilComp.removeEventListener(IOErrorEvent.IO_ERROR, SpilConfiguratorFailedToLoad);
SpilComp.removeEventListener("servicesFailed", SpilConfiguratorFailedToInitialise);
};
trace("SpilConfiguratorFailedToLoad", _arg1.toString());
_failed = true;
_loading = false;
if (parentObj.hasEventListener(IOErrorEvent.IO_ERROR)){
parentObj.dispatchEvent(new IOErrorEvent(IOErrorEvent.IO_ERROR));
};
}
private function onLegacyEvent(_arg1:Event):void{
dispatchEvent(_arg1);
}
private function isDomainAllowed(_arg1:Boolean=false):Boolean{
return (SpilComp.isDomainAllowed());
}
private function setLoader2(_arg1=null, _arg2:String="default", _arg3:int=1, _arg4="", _arg5:int=0, _arg6:String="normal", _arg7:String="", _arg8:int=0, _arg9:int=0, _arg10:int=1, _arg11:Boolean=false, _arg12:int=1):void{
setLoader(_arg1, _arg2, _arg4, _arg5, _arg6, _arg7, _arg8, _arg9, _arg10, _arg11, _arg12);
}
}
}//package
Section 280
//timeChar (timeChar)
package {
import zlong.display.*;
public dynamic class timeChar extends TranText {
}
}//package
Section 281
//titleChar (titleChar)
package {
import zlong.display.*;
public dynamic class titleChar extends TranText {
}
}//package
Section 282
//Trace (Trace)
package {
import flash.utils.*;
import zlong.breathxue.utils.debug.*;
public function Trace(... _args):void{
var TcClass:Class;
var args = _args;
if (!HideConsole){
trace(args);
};
if (TcShow){
TcClass = (getDefinitionByName("zlong.breathxue.utils.debug.TC") as Class);
//unresolved jump
var _slot1 = e;
TcShow = false;
if (TcClass){
var _local3 = TcClass;
_local3["SHOW"](args);
};
};
}
}//package
Section 283
//Trigger (Trigger)
package {
import Maps.*;
public dynamic class Trigger extends Trigger {
}
}//package
Section 284
//turtle (turtle)
package {
import Tool.*;
public dynamic class turtle extends BitmapMc {
}
}//package
Section 285
//TXT_DO_YOU_WANT (TXT_DO_YOU_WANT)
package {
import zlong.display.*;
public dynamic class TXT_DO_YOU_WANT extends TranText {
}
}//package
Section 286
//waterSound (waterSound)
package {
import flash.media.*;
public dynamic class waterSound extends Sound {
}
}//package