Section 1
//MD5 (com.adobe.crypto.MD5)
package com.adobe.crypto {
import com.adobe.utils.*;
public class MD5 {
private static function ff(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(f, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function createBlocks(_arg1:String):Array{
var _local2:Array;
var _local3:int;
var _local4:int;
var _local5:int;
_local2 = new Array();
_local3 = (_arg1.length * 8);
_local4 = 0xFF;
_local5 = 0;
while (_local5 < _local3) {
_local2[(_local5 >> 5)] = (_local2[(_local5 >> 5)] | ((_arg1.charCodeAt((_local5 / 8)) & _local4) << (_local5 % 32)));
_local5 = (_local5 + 8);
};
_local2[(_local3 >> 5)] = (_local2[(_local3 >> 5)] | (128 << (_local3 % 32)));
_local2[((((_local3 + 64) >>> 9) << 4) + 14)] = _local3;
return (_local2);
}
private static function ii(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function f(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg2) | (~(_arg1) & _arg3)));
}
private static function g(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg3) | (_arg2 & ~(_arg3))));
}
private static function h(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 ^ _arg2) ^ _arg3));
}
private static function i(_arg1:int, _arg2:int, _arg3:int):int{
return ((_arg2 ^ (_arg1 | ~(_arg3))));
}
private static function transform(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{
var _local9:int;
_local9 = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8);
return ((IntUtil.rol(_local9, _arg7) + _arg3));
}
private static function hh(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
public static function hash(_arg1:String):String{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:Array;
var _local11:int;
var _local12:int;
_local2 = 1732584193;
_local3 = -271733879;
_local4 = -1732584194;
_local5 = 271733878;
_local10 = createBlocks(_arg1);
_local11 = _local10.length;
_local12 = 0;
while (_local12 < _local11) {
_local6 = _local2;
_local7 = _local3;
_local8 = _local4;
_local9 = _local5;
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 7, -680876936);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 1)], 12, -389564586);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 17, 606105819);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 3)], 22, -1044525330);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 7, -176418897);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 5)], 12, 1200080426);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 17, -1473231341);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 7)], 22, -45705983);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 7, 1770035416);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 9)], 12, -1958414417);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 17, -42063);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 11)], 22, -1990404162);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 7, 1804603682);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[(_local12 + 13)], 12, -40341101);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 17, -1502002290);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[(_local12 + 15)], 22, 1236535329);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 5, -165796510);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 6)], 9, -1069501632);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 14, 643717713);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 0)], 20, -373897302);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 5, -701558691);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 10)], 9, 38016083);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 14, -660478335);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 4)], 20, -405537848);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 5, 568446438);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 14)], 9, -1019803690);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 14, -187363961);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 8)], 20, 1163531501);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 5, -1444681467);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[(_local12 + 2)], 9, -51403784);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 14, 1735328473);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[(_local12 + 12)], 20, -1926607734);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 5)], 4, -378558);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 8)], 11, -2022574463);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 11)], 16, 1839030562);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 14)], 23, -35309556);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 1)], 4, -1530992060);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 4)], 11, 1272893353);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 7)], 16, -155497632);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 10)], 23, -1094730640);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 13)], 4, 681279174);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 0)], 11, -358537222);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 3)], 16, -722521979);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 6)], 23, 76029189);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[(_local12 + 9)], 4, -640364487);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[(_local12 + 12)], 11, -421815835);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[(_local12 + 15)], 16, 530742520);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[(_local12 + 2)], 23, -995338651);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 0)], 6, -198630844);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 7)], 10, 1126891415);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 14)], 15, -1416354905);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 5)], 21, -57434055);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 12)], 6, 1700485571);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 3)], 10, -1894986606);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 10)], 15, -1051523);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 1)], 21, -2054922799);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 8)], 6, 1873313359);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 15)], 10, -30611744);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 6)], 15, -1560198380);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 13)], 21, 1309151649);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[(_local12 + 4)], 6, -145523070);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[(_local12 + 11)], 10, -1120210379);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[(_local12 + 2)], 15, 718787259);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[(_local12 + 9)], 21, -343485551);
_local2 = (_local2 + _local6);
_local3 = (_local3 + _local7);
_local4 = (_local4 + _local8);
_local5 = (_local5 + _local9);
_local12 = (_local12 + 16);
};
return ((((IntUtil.toHex(_local2) + IntUtil.toHex(_local3)) + IntUtil.toHex(_local4)) + IntUtil.toHex(_local5)));
}
private static function gg(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
}
}//package com.adobe.crypto
Section 2
//IntUtil (com.adobe.utils.IntUtil)
package com.adobe.utils {
public class IntUtil {
private static var hexChars:String = "0123456789abcdef";
public static function toHex(_arg1:int, _arg2:Boolean=false):String{
var _local3:String;
var _local4:int;
var _local5:int;
_local3 = "";
if (_arg2){
_local4 = 0;
while (_local4 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15))));
_local4++;
};
} else {
_local5 = 0;
while (_local5 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15))));
_local5++;
};
};
return (_local3);
}
public static function ror(_arg1:int, _arg2:int):uint{
var _local3:int;
_local3 = (32 - _arg2);
return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3))));
}
public static function rol(_arg1:int, _arg2:int):int{
return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))));
}
}
}//package com.adobe.utils
Section 3
//Tracker (com.memecounter.Tracker)
package com.memecounter {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.utils.*;
import flash.system.*;
public class Tracker {
private static var ori_dom:String;
private static var lurl:String;
private static var _isReady:Boolean = false;
public static var a:uint = 0;
public static var root:DisplayObject;
public static var c:uint;
public static var d:String = "";
private static var _isInited:Boolean = false;
public static var fpv:String = "";
private static var l:Loader;
private static var tracker:MovieClip;
public static var da:Array = ["distralytics.com", "distralytics.co.uk"];
private static function loadError(_arg1:Event):void{
a++;
lc();
}
public static function init(_arg1:uint, _arg2:DisplayObject):void{
var _local3:uint;
if (!_isInited){
_isInited = true;
c = _arg1;
root = _arg2;
_local3 = 0;
while (_local3 < da.length) {
Security.allowDomain(da[_local3], ((c + ".c.") + da[_local3]), ("*." + da[_local3]));
_local3++;
};
ori_dom = (root.loaderInfo.parameters.hasOwnProperty("ori_dom")) ? root.loaderInfo.parameters.ori_dom : "";
d = ((ori_dom)!="") ? ori_dom : ((root.loaderInfo.loaderURL.split("/")[0].indexOf("http"))==-1) ? "Local" : root.loaderInfo.loaderURL.split("/")[2].split("?")[0];
fpv = Capabilities.version.split(" ")[1].split(",")[0];
lurl = ((((((((("/control/tracking/trackerAS3.swf" + "?c=") + c) + "&r=") + Math.floor((Math.random() * 10000000000))) + "&d=") + d) + "&p=") + fpv) + "&as=3");
l = new Loader();
l.contentLoaderInfo.addEventListener(Event.INIT, loadComplete);
l.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
lc();
};
}
public static function get isReady():Boolean{
return (isReady);
}
public static function kvClick(_arg1:uint):void{
if (_isReady){
trace("CLICKTHROUGH SENT");
tracker.kvClick(_arg1);
};
}
public static function kvCountry():String{
if (_isReady){
return (tracker.kvCountry());
};
return ("");
}
public static function kvEvent(_arg1:uint):void{
if (_isReady){
trace("EVENT SENT");
tracker.kvEvent(_arg1);
};
}
private static function lc():void{
var _local1:String;
_local1 = (((("http://" + c) + ".c.") + da[(a % da.length)]) + lurl);
Security.allowDomain(_local1);
l.load(new URLRequest(_local1));
}
private static function loadComplete(_arg1:Event):void{
tracker = _arg1.target.content;
tracker.init(getDefinitionByName("com.memecounter.Tracker"), root);
_isReady = true;
}
}
}//package com.memecounter
Section 4
//ArrayUtils (com.stampy.arrays.ArrayUtils)
package com.stampy.arrays {
public class ArrayUtils {
public static function arrayContains(_arg1:Array, _arg2):Boolean{
var _local3:uint;
var _local4:int;
_local3 = _arg1.length;
_local4 = 0;
while (_local4 < _local3) {
if (_arg1[_local4] == _arg2){
return (true);
};
_local4++;
};
return (false);
}
public static function randomArray(_arg1:Array):Array{
var _local2:Array;
_local2 = new Array();
while (_arg1.length > 0) {
_local2.push(_arg1.splice(Math.floor((Math.random() * _arg1.length)), 1));
};
return (_local2);
}
}
}//package com.stampy.arrays
Section 5
//DisplayListUtils (com.stampy.arrays.DisplayListUtils)
package com.stampy.arrays {
import flash.display.*;
import com.stampy.type.*;
public class DisplayListUtils {
public static function getDisplayList(_arg1):Array{
var _local2:Array;
var _local3:uint;
var _local4:int;
_local2 = [];
_local3 = _arg1.numChildren;
_local4 = 0;
while (_local4 < _local3) {
_local2.push(_arg1.getChildAt(_local4));
_local4++;
};
return (_local2);
}
public static function getChildrenByType(_arg1, _arg2:Class):Array{
var _local3:Array;
var _local4:int;
var _local5:DisplayObject;
_local3 = [];
if (TypeUtils.canHaveChildren(_arg1)){
_local4 = _arg1.numChildren;
while (_local4--) {
_local5 = _arg1.getChildAt(_local4);
if ((_local5 is _arg2)){
_local3.push(_local5);
};
};
};
return (_local3);
}
}
}//package com.stampy.arrays
Section 6
//Cookie (com.stampy.cookies.Cookie)
package com.stampy.cookies {
import flash.net.*;
import flash.utils.*;
public class Cookie {
public static function addCookieUser(_arg1:String, _arg2:String, _arg3:Object):void{
var _local4:SharedObject;
var _local5:Boolean;
_local4 = getCookie(_arg1);
_local5 = _local4.data.hasOwnProperty("users");
if (_local5){
_local4.data.users[_arg2] = _arg3;
flushCookie(_local4);
} else {
addCookieUserStore(_arg1);
addCookieUser(_arg1, _arg2, _arg3);
};
}
public static function addCookieUserStore(_arg1:String):void{
var _local2:SharedObject;
_local2 = getCookie(_arg1);
_local2.data.users = new Dictionary();
flushCookie(_local2);
}
public static function getCookieUser(_arg1:String, _arg2:String=""):Object{
var _local3:SharedObject;
var _local4:Boolean;
var _local5:Object;
_local3 = getCookie(_arg1);
_local4 = _local3.data.hasOwnProperty("users");
if (_local4){
_local5 = _local3.data.users[_arg2];
} else {
addCookieUserStore(_arg1);
};
return (_local5);
}
public static function addCookieLastUser(_arg1:String, _arg2:String=""):void{
var _local3:SharedObject;
_local3 = getCookie((_arg1 + "Last"));
_local3.data.LastUser = _arg2;
flushCookie(_local3);
}
private static function flushCookie(_arg1:SharedObject):void{
var soCookie = _arg1;
try {
soCookie.flush();
} catch(e:Error) {
trace("Cookie only stored online");
};
}
public static function getCookie(_arg1:String):SharedObject{
var _local2:SharedObject;
_local2 = SharedObject.getLocal(_arg1);
return (_local2);
}
public static function getCookieLastUser(_arg1:String):Object{
var _local2:SharedObject;
var _local3:Boolean;
var _local4:String;
var _local5:Object;
_local2 = getCookie((_arg1 + "Last"));
_local3 = _local2.data.hasOwnProperty("LastUser");
if (_local3){
_local4 = _local2.data.LastUser;
_local5 = getCookieUser(_arg1, _local4);
};
return (_local5);
}
}
}//package com.stampy.cookies
Section 7
//FlashCookie (com.stampy.cookies.FlashCookie)
package com.stampy.cookies {
public class FlashCookie {
private var _strCookieName:String;// = "none"
private var _cookie:Object;
public function FlashCookie(_arg1:String, _arg2:Object, _arg3:String="guestUser"):void{
_strCookieName = "none";
super();
_strCookieName = _arg1;
_cookie = Cookie.getCookieUser(_strCookieName, _arg3);
if (_cookie == null){
Cookie.addCookieUser(_strCookieName, _arg3, _arg2);
};
}
public function getFromCookie(_arg1:String, _arg2:String="guestUser"){
var _local3:String;
_cookie = getCookie(_arg2);
for (_local3 in _cookie) {
if (_local3 == _arg1){
return (_cookie[_local3]);
};
};
return (null);
}
public function updateCookieVar(_arg1:String, _arg2, _arg3:String="guestUser"):void{
var _local4:String;
_cookie = getCookie(_arg3);
for (_local4 in _cookie) {
if (_local4 == _arg1){
_cookie[_local4] = _arg2;
};
};
updateCookie(_cookie, _arg3);
}
public function updateCookie(_arg1:Object, _arg2:String="guestUser"):void{
Cookie.addCookieUser(_strCookieName, _arg2, _arg1);
}
public function get cookieName():String{
return (_strCookieName);
}
public function getCookie(_arg1:String="guestUser"):Object{
_cookie = Cookie.getCookieUser(_strCookieName, _arg1);
return (_cookie);
}
}
}//package com.stampy.cookies
Section 8
//EmailUtils (com.stampy.emails.EmailUtils)
package com.stampy.emails {
public class EmailUtils {
public static function isValid(_arg1:String):Boolean{
var _local2:RegExp;
_local2 = /^[a-z][\w.-]+@\w[\w.-]+\.[\w.-]*[a-z][a-z]$/i;
return (_local2.test(_arg1));
}
}
}//package com.stampy.emails
Section 9
//equalUtils (com.stampy.equality.equalUtils)
package com.stampy.equality {
public class equalUtils {
public static function equalToAny(_arg1, ... _args):Boolean{
var _local3:*;
var _local4:int;
_local3 = _args.length;
_local4 = 0;
while (_local4 < _local3) {
trace(("CHECK:" + _args[_local4]));
if (_args[_local4] == _arg1){
return (true);
};
_local4++;
};
return (false);
}
public static function equalToMany(_arg1, ... _args):Boolean{
var testEquality:Function;
var equalValue = _arg1;
var args = _args;
testEquality = function (_arg1, _arg2:int, _arg3:Array):Boolean{
var _local4:Boolean;
_local4 = (_arg3[_arg2] is Array);
if (_local4){
return (_arg3[_arg2].every(testEquality));
};
return (((_arg3[_arg2] == equalValue)) ? true : false);
};
return (args.every(testEquality));
}
}
}//package com.stampy.equality
Section 10
//SubmitForm (com.stampy.forms.SubmitForm)
package com.stampy.forms {
import flash.events.*;
import flash.net.*;
import flash.utils.*;
import com.stampy.submit.*;
public class SubmitForm extends EventDispatcher {
private var _submitSuccess:Function;
private var _urlScript:String;
private var _submitFail:Function;
private var _urlData:Dictionary;
public static const INVALID:String = "Invalid";
public static const COMPLETE:String = "Complete";
public static const IO_ERROR:String = "IOError";
public function SubmitForm(_arg1:String):void{
_urlData = new Dictionary(true);
super();
trace("------ NEW FORM ---------");
trace(("FORM POST URL:" + _arg1));
_urlScript = _arg1;
}
private function dispatch(_arg1:String):void{
dispatchEvent(new Event(_arg1));
}
public function submit():void{
var _local1:URLVariables;
var _local2:Object;
var _local3:Post;
trace("FORM SUBMIT");
_local1 = new URLVariables();
for (_local2 in _urlData) {
_local1[_local2] = _urlData[_local2];
trace(((("FORM var " + _local2) + " = ") + _local1[_local2]));
};
_local3 = new Post();
_local3.addEventListener(Post.COMPLETE, submit_complete);
_local3.addEventListener(Post.IO_ERROR, submit_fail);
_local3.post_data(_urlScript, _local1);
}
public function addField(_arg1:String, _arg2):void{
_urlData[_arg1] = _arg2;
}
private function submit_fail(_arg1:Event):void{
trace("FORM FAIL");
_arg1.target.removeEventListener(Post.IO_ERROR, submit_fail);
dispatch(IO_ERROR);
delete ??getglobalscope
[this];
}
private function submit_complete(_arg1:Event):void{
trace("FORM COMPLETE");
_arg1.target.removeEventListener(Post.COMPLETE, submit_complete);
dispatch(COMPLETE);
delete ??getglobalscope
[this];
}
public function getVar(_arg1:String){
if (Post.getVar[_arg1] != null){
return (Post.getVar[_arg1]);
};
return (null);
}
}
}//package com.stampy.forms
Section 11
//FrameUtils (com.stampy.frames.FrameUtils)
package com.stampy.frames {
import flash.display.*;
public class FrameUtils {
public static function onEveryFrame(_arg1, _arg2:Function):void{
var _local3:uint;
var _local4:uint;
var _local5:uint;
var _local6:uint;
_local3 = _arg1.framesLoaded;
if ((_arg1 is MovieClip)){
_local4 = 1;
while (_local4 <= _local3) {
onEnterFrame(_local4, _arg1, _arg2);
_local4++;
};
} else {
if ((_arg1 is Array)){
_local5 = _arg1.length;
_local6 = 0;
while (_local6 < _local5) {
onEveryFrame(_arg1[_local6], _arg2);
_local6++;
};
};
};
}
public static function onEnterFrame(_arg1, _arg2, _arg3:Function):void{
var _local4:uint;
var _local5:uint;
var _local6:uint;
var _local7:uint;
if ((_arg2 is MovieClip)){
if ((_arg1 is uint)){
_arg2.addFrameScript((_arg1 - 1), _arg3);
} else {
if ((_arg1 is String)){
_arg2.addFrameScript((frameNumByLabel(_arg1, _arg2) - 1), _arg3);
} else {
if ((_arg1 is Array)){
_local4 = _arg1.length;
_local5 = 0;
while (_local5 < _local4) {
onEnterFrame(_arg1[_local5], _arg2, _arg3);
_local5++;
};
};
};
};
};
if ((_arg2 is Array)){
_local6 = _arg2.length;
_local7 = 0;
while (_local7 < _local6) {
onEnterFrame(_arg1, _arg2[_local7], _arg3);
_local7++;
};
};
}
public static function frameNumByLabel(_arg1:String, _arg2:MovieClip):Number{
var _local3:uint;
var _local4:uint;
_local3 = _arg2.currentLabels.length;
_local4 = 0;
while (_local4 < _local3) {
if (_arg2.currentLabels[_local4].name == _arg1){
return (_arg2.currentLabels[_local4].frame);
};
_local4++;
};
return (1);
}
}
}//package com.stampy.frames
Section 12
//KeyUtils (com.stampy.keys.KeyUtils)
package com.stampy.keys {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.ui.*;
public class KeyUtils extends Proxy {
private static var keysTime:Array;
private static var lastTime;
private static var thisTime;
private static var keysDown:Object;
private static var timeCapture:Number = 300;
private static var keysCombo:Array;
private static var stage:Stage;
public function KeyUtils(_arg1:Stage){
construct(_arg1);
}
private function keyPressed(_arg1:KeyboardEvent):void{
var _local2:*;
var _local3:*;
var _local4:uint;
var _local5:*;
var _local6:*;
keysDown[_arg1.keyCode] = true;
_local2 = getTimer();
lastTime = _local2;
_local3 = _arg1.keyCode;
_local4 = keysTime.length;
if (_local4 == 0){
keysTime.push(_local2);
keysCombo.push(_local3);
} else {
_local5 = ((keysTime[(_local4 - 1)]) || (keysTime[0]));
_local6 = (_local2 - _local5);
if (_local6 > timeCapture){
keysTime = new Array();
keysCombo = new Array();
keysTime.push(_local2);
keysCombo.push(_local3);
} else {
keysTime.push(_local2);
keysCombo.push(_local3);
};
};
}
public function isCombo(_arg1:Array):Boolean{
var _local2:*;
var _local3:*;
var _local4:int;
_local2 = _arg1.length;
_local3 = keysCombo.length;
if (_local2 > _local3){
return (false);
};
_local4 = 0;
while (_local4 < _local2) {
return (isinArray(_arg1, keysCombo));
_local4++;
};
return (false);
}
private function construct(_arg1:Stage, _arg2:Number=300):void{
timeCapture = _arg2;
KeyUtils.stage = _arg1;
keysDown = new Object();
keysTime = new Array();
keysCombo = new Array();
_arg1.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
_arg1.addEventListener(KeyboardEvent.KEY_UP, keyReleased);
_arg1.addEventListener(Event.ENTER_FRAME, noKeys);
}
private function keyReleased(_arg1:KeyboardEvent):void{
delete keysDown[_arg1.keyCode];
}
private function isinArray(_arg1:Array, _arg2:Array):Boolean{
var _local3:String;
var _local4:String;
_local3 = _arg1.toString();
_local4 = _arg2.toString();
return (contains(_local4, _local3));
}
override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(_arg1){
return (((_arg1 in Keyboard)) ? Keyboard[_arg1] : -1);
}
public function isDown(_arg1:uint):Boolean{
return (Boolean((_arg1 in keysDown)));
}
private function noKeys(_arg1:Event):void{
var _local2:*;
thisTime = getTimer();
_local2 = (thisTime - lastTime);
if (_local2 > timeCapture){
keysTime = new Array();
keysCombo = new Array();
};
}
public function set_timeCapture(_arg1:Number):void{
timeCapture = _arg1;
}
public function deconstruct():void{
stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
stage.removeEventListener(KeyboardEvent.KEY_UP, keyReleased);
keysDown = new Object();
keysTime = new Array();
keysCombo = new Array();
KeyUtils.stage = null;
}
private function contains(_arg1:String, _arg2:String):Boolean{
if (_arg1 == null){
return (false);
};
return (!((_arg1.indexOf(_arg2) == -1)));
}
}
}//package com.stampy.keys
Section 13
//Point3D (com.stampy.points.Point3D)
package com.stampy.points {
public class Point3D {
private var _x:Number;
private var _y:Number;
private var _z:Number;
public function Point3D(_arg1:Number, _arg2:Number, _arg3:Number){
_x = _arg1;
_y = _arg2;
_z = _arg3;
}
public function set z(_arg1:Number):void{
_z = _arg1;
}
public function get y():Number{
return (_y);
}
public function get z():Number{
return (_z);
}
public function set x(_arg1:Number):void{
_x = _arg1;
}
public function get x():Number{
return (_x);
}
public function set y(_arg1:Number):void{
_y = _arg1;
}
}
}//package com.stampy.points
Section 14
//PointDistance (com.stampy.points.PointDistance)
package com.stampy.points {
import flash.geom.*;
public class PointDistance {
public static function betweenPoints(_arg1:Point, _arg2:Point):Number{
var _local3:*;
var _local4:*;
var _local5:Number;
_local4 = (_arg2.x - _arg1.x);
_local5 = (_arg2.y - _arg1.y);
_local3 = Math.sqrt(((_local4 * _local4) + (_local5 * _local5)));
return (_local3);
}
public static function betweenPoints3D(_arg1:Point3D, _arg2:Point3D):Number{
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:Number;
_local4 = (_arg2.x - _arg1.x);
_local5 = (_arg2.y - _arg1.y);
_local6 = (_arg2.z - _arg1.z);
_local3 = Math.sqrt((((_local4 * _local4) + (_local5 * _local5)) + (_local6 * _local6)));
return (_local3);
}
}
}//package com.stampy.points
Section 15
//Random (com.stampy.random.Random)
package com.stampy.random {
import com.stampy.arrays.*;
public class Random {
public static function boolean():Boolean{
return (((range(1, 2))==1) ? true : false);
}
public static function range(_arg1:Number, _arg2:Number):Number{
return ((Math.floor((Math.random() * ((_arg2 - _arg1) + 1))) + _arg1));
}
public static function rangeWithExceptions(_arg1:Number, _arg2, _arg3:Array):Number{
var _local4:Number;
_local4 = 0;
do {
_local4 = range(_arg1, _arg2);
} while (ArrayUtils.arrayContains(_arg3, _local4));
return (_local4);
}
}
}//package com.stampy.random
Section 16
//Scoreboard (com.stampy.scores.Scoreboard)
package com.stampy.scores {
import flash.events.*;
import console.parsers.*;
public class Scoreboard {
private var _scriptURL:String;
private var _fetchSuccess:Function;
private var _xmlDoc:XML;
private var _fetchFail:Function;
public function Scoreboard(_arg1:String){
_scriptURL = _arg1;
}
private function fetch_fail(_arg1:Event):void{
_arg1.target.removeEventListener(ParseXML.XML_FAILED, fetch_fail);
if (_fetchFail != null){
_fetchFail();
//unresolved jump
};
}
public function getScoreNodes(_arg1:String):Array{
var _local2:Array;
var _local3:uint;
var _local4:int;
var _local5:*;
var _local6:uint;
var _local7:Array;
var _local8:int;
_local2 = new Array();
_local3 = _xmlDoc[_arg1].entry.length();
_local4 = 1;
while (_local4 <= _local3) {
_local5 = _xmlDoc[_arg1].entry[(_local4 - 1)];
_local6 = _local5.attributes().length();
_local7 = new Array();
_local8 = 0;
while (_local8 < _local6) {
_local7.push(_local5.attributes()[_local8]);
_local8++;
};
_local2.push(_local7);
_local4++;
};
return (_local2);
}
public function getScores(_arg1:String):Array{
var _local2:Array;
var _local3:uint;
var _local4:int;
var _local5:*;
var _local6:Object;
_local2 = new Array();
_local3 = _xmlDoc[_arg1].entry.length();
_local4 = 1;
while (_local4 <= _local3) {
_local5 = _xmlDoc[_arg1].entry[(_local4 - 1)];
_local6 = {player:_local5.attributes()[0], score:_local5.attributes()[1]};
_local2.push(_local6);
_local4++;
};
return (_local2);
}
public function fetch(_arg1:Function=null, _arg2:Function=null):void{
var _local3:ParseXML;
_fetchSuccess = _arg1;
_fetchFail = _arg2;
_local3 = new ParseXML();
_local3.addEventListener(ParseXML.XML_LOADED, fetch_success);
_local3.addEventListener(ParseXML.XML_FAILED, fetch_fail);
_local3.parseURL(_scriptURL, true);
}
private function fetch_success(_arg1:Event):void{
_arg1.target.removeEventListener(ParseXML.XML_LOADED, fetch_success);
_xmlDoc = _arg1.target._xmlDoc;
if (_fetchSuccess != null){
_fetchSuccess();
//unresolved jump
};
}
}
}//package com.stampy.scores
Section 17
//StringUtils (com.stampy.strings.StringUtils)
package com.stampy.strings {
public class StringUtils {
private static function _swapCase(_arg1:String, ... _args):String{
var _local3:String;
var _local4:String;
_local3 = _arg1.toLowerCase();
_local4 = _arg1.toUpperCase();
switch (_arg1){
case _local3:
return (_local4);
case _local4:
return (_local3);
default:
return (_arg1);
};
}
public static function isEmpty(_arg1:String):Boolean{
if (_arg1 == null){
return (true);
};
return (!(_arg1.length));
}
public static function remove(_arg1:String, _arg2:String, _arg3:Boolean=true):String{
var _local4:String;
var _local5:String;
if (_arg1 == null){
return ("");
};
_local4 = escapePattern(_arg2);
_local5 = (_arg3) ? "g" : "ig";
return (_arg1.replace(new RegExp(_local4, _local5), ""));
}
public static function countOf(_arg1:String, _arg2:String, _arg3:Boolean=true):uint{
var _local4:String;
var _local5:String;
if (_arg1 == null){
return (0);
};
_local4 = escapePattern(_arg2);
_local5 = (_arg3) ? "g" : "ig";
return (_arg1.match(new RegExp(_local4, _local5)).length);
}
public static function between(_arg1:String, _arg2:String, _arg3:String):String{
var _local4:String;
var _local5:int;
var _local6:int;
_local4 = "";
if (_arg1 == null){
return (_local4);
};
_local5 = _arg1.indexOf(_arg2);
if (_local5 != -1){
_local5 = (_local5 + _arg2.length);
_local6 = _arg1.indexOf(_arg3, _local5);
if (_local6 != -1){
_local4 = _arg1.substr(_local5, (_local6 - _local5));
};
};
return (_local4);
}
public static function padRight(_arg1:String, _arg2:String, _arg3:uint):String{
var _local4:String;
_local4 = _arg1;
while (_local4.length < _arg3) {
_local4 = (_local4 + _arg2);
};
return (_local4);
}
public static function isNumeric(_arg1:String):Boolean{
var _local2:RegExp;
if (_arg1 == null){
return (false);
};
_local2 = /^[-+]?\d*\.?\d+(?:[eE][-+]?\d+)?$/;
return (_local2.test(_arg1));
}
public static function block(_arg1:String, _arg2:uint, _arg3:String="."):Array{
var _local4:Array;
var _local5:uint;
var _local6:uint;
var _local7:RegExp;
var _local8:String;
_local4 = new Array();
if ((((_arg1 == null)) || (!(contains(_arg1, _arg3))))){
return (_local4);
};
_local5 = 0;
_local6 = _arg1.length;
_local7 = new RegExp((("[^" + escapePattern(_arg3)) + "]+$"));
while (_local5 < _local6) {
_local8 = _arg1.substr(_local5, _arg2);
if (!contains(_local8, _arg3)){
_local4.push(truncate(_local8, _local8.length));
_local5 = (_local5 + _local8.length);
};
_local8 = _local8.replace(_local7, "");
_local4.push(_local8);
_local5 = (_local5 + _local8.length);
};
return (_local4);
}
public static function trim(_arg1:String):String{
if (_arg1 == null){
return ("");
};
return (_arg1.replace(/^\s+|\s+$/g, ""));
}
public static function beginsWith(_arg1:String, _arg2:String):Boolean{
if (_arg1 == null){
return (false);
};
return ((_arg1.indexOf(_arg2) == 0));
}
public static function stripTags(_arg1:String):String{
if (_arg1 == null){
return ("");
};
return (_arg1.replace(/<\/?[^>]+>/igm, ""));
}
public static function afterLast(_arg1:String, _arg2:String):String{
var _local3:int;
if (_arg1 == null){
return ("");
};
_local3 = _arg1.lastIndexOf(_arg2);
if (_local3 == -1){
return ("");
};
_local3 = (_local3 + _arg2.length);
return (_arg1.substr(_local3));
}
private static function _minimum(_arg1:uint, _arg2:uint, _arg3:uint):uint{
return (Math.min(_arg1, Math.min(_arg2, Math.min(_arg3, _arg1))));
}
private static function escapePattern(_arg1:String):String{
return (_arg1.replace(/(\]|\[|\{|\}|\(|\)|\*|\+|\?|\.|\\)/g, "\\$1"));
}
public static function removeExtraWhitespace(_arg1:String):String{
var _local2:String;
if (_arg1 == null){
return ("");
};
_local2 = trim(_arg1);
return (_local2.replace(/\s+/g, " "));
}
public static function trimRight(_arg1:String):String{
if (_arg1 == null){
return ("");
};
return (_arg1.replace(/\s+$/, ""));
}
public static function endsWith(_arg1:String, _arg2:String):Boolean{
return ((_arg1.lastIndexOf(_arg2) == (_arg1.length - _arg2.length)));
}
public static function contains(_arg1:String, _arg2:String):Boolean{
if (_arg1 == null){
return (false);
};
return (!((_arg1.indexOf(_arg2) == -1)));
}
public static function properCase(_arg1:String):String{
var _local2:String;
if (_arg1 == null){
return ("");
};
_local2 = _arg1.toLowerCase().replace(/\b([^.?;!]+)/, capitalize);
return (_local2.replace(/\b[i]\b/, "I"));
}
public static function trimLeft(_arg1:String):String{
if (_arg1 == null){
return ("");
};
return (_arg1.replace(/^\s+/, ""));
}
public static function similarity(_arg1:String, _arg2:String):Number{
var _local3:uint;
var _local4:uint;
_local3 = editDistance(_arg1, _arg2);
_local4 = Math.max(_arg1.length, _arg2.length);
if (_local4 == 0){
return (100);
};
return (((1 - (_local3 / _local4)) * 100));
}
public static function wordCount(_arg1:String):uint{
if (_arg1 == null){
return (0);
};
return (_arg1.match(/\b\w+\b/g).length);
}
public static function editDistance(_arg1:String, _arg2:String):uint{
var _local3:uint;
var _local4:Array;
var _local5:uint;
var _local6:uint;
var _local7:uint;
var _local8:uint;
var _local9:String;
var _local10:String;
if (_arg1 == null){
_arg1 = "";
};
if (_arg2 == null){
_arg2 = "";
};
if (_arg1 == _arg2){
return (0);
};
_local4 = new Array();
_local6 = _arg1.length;
_local7 = _arg2.length;
if (_local6 == 0){
return (_local7);
};
if (_local7 == 0){
return (_local6);
};
_local3 = 0;
while (_local3 <= _local6) {
_local4[_local3] = new Array();
_local3++;
};
_local3 = 0;
while (_local3 <= _local6) {
_local4[_local3][0] = _local3;
_local3++;
};
_local8 = 0;
while (_local8 <= _local7) {
_local4[0][_local8] = _local8;
_local8++;
};
_local3 = 1;
while (_local3 <= _local6) {
_local9 = _arg1.charAt((_local3 - 1));
_local8 = 1;
while (_local8 <= _local7) {
_local10 = _arg2.charAt((_local8 - 1));
if (_local9 == _local10){
_local5 = 0;
} else {
_local5 = 1;
};
_local4[_local3][_local8] = _minimum((_local4[(_local3 - 1)][_local8] + 1), (_local4[_local3][(_local8 - 1)] + 1), (_local4[(_local3 - 1)][(_local8 - 1)] + _local5));
_local8++;
};
_local3++;
};
return (_local4[_local6][_local7]);
}
public static function hasText(_arg1:String):Boolean{
var _local2:String;
_local2 = removeExtraWhitespace(_arg1);
return (!(!(_local2.length)));
}
public static function reverse(_arg1:String):String{
if (_arg1 == null){
return ("");
};
return (_arg1.split("").reverse().join(""));
}
public static function swapCase(_arg1:String):String{
if (_arg1 == null){
return ("");
};
return (_arg1.replace(/(\w)/, _swapCase));
}
public static function capitalize(_arg1:String, ... _args):String{
var _local3:String;
_local3 = trimLeft(_arg1);
trace("capl", _args[0]);
if (_args[0] === true){
return (_local3.replace(/^.|\b./g, _upperCase));
};
return (_local3.replace(/(^\w)/, _upperCase));
}
public static function truncate(_arg1:String, _arg2:uint, _arg3:String="..."):String{
var _local4:String;
if (_arg1 == null){
return ("");
};
_arg2 = (_arg2 - _arg3.length);
_local4 = _arg1;
if (_local4.length > _arg2){
_local4 = _local4.substr(0, _arg2);
if (/[^\s]/.test(_arg1.charAt(_arg2))){
_local4 = trimRight(_local4.replace(/\w+$|\s+$/, ""));
};
_local4 = (_local4 + _arg3);
};
return (_local4);
}
public static function reverseWords(_arg1:String):String{
if (_arg1 == null){
return ("");
};
return (_arg1.split(/\s+/).reverse().join(""));
}
public static function beforeFirst(_arg1:String, _arg2:String):String{
var _local3:int;
if (_arg1 == null){
return ("");
};
_local3 = _arg1.indexOf(_arg2);
if (_local3 == -1){
return ("");
};
return (_arg1.substr(0, _local3));
}
private static function _upperCase(_arg1:String, ... _args):String{
trace("cap latter ", _arg1);
return (_arg1.toUpperCase());
}
public static function afterFirst(_arg1:String, _arg2:String):String{
var _local3:int;
if (_arg1 == null){
return ("");
};
_local3 = _arg1.indexOf(_arg2);
if (_local3 == -1){
return ("");
};
_local3 = (_local3 + _arg2.length);
return (_arg1.substr(_local3));
}
public static function beforeLast(_arg1:String, _arg2:String):String{
var _local3:int;
if (_arg1 == null){
return ("");
};
_local3 = _arg1.lastIndexOf(_arg2);
if (_local3 == -1){
return ("");
};
return (_arg1.substr(0, _local3));
}
public static function padLeft(_arg1:String, _arg2:String, _arg3:uint):String{
var _local4:String;
_local4 = _arg1;
while (_local4.length < _arg3) {
_local4 = (_arg2 + _local4);
};
return (_local4);
}
public static function quote(_arg1:String):String{
var _local2:RegExp;
_local2 = /[\\"\r\n]/g;
return ((("\"" + _arg1.replace(_local2, _quote)) + "\""));
}
private static function _quote(_arg1:String, ... _args):String{
switch (_arg1){
case "\\":
return ("\\\\");
case "\r":
return ("\\r");
case "\n":
return ("\\n");
case "\"":
return ("\\\"");
default:
return ("");
};
}
}
}//package com.stampy.strings
Section 18
//Post (com.stampy.submit.Post)
package com.stampy.submit {
import flash.events.*;
import flash.net.*;
public class Post extends EventDispatcher {
private var urlLoad:URLLoader;
public static const COMPLETE:String = "compelte";
public static const IO_ERROR:String = "io_error";
private static var _loadedVars:URLVariables;
public function post_data(_arg1:String, _arg2:URLVariables):void{
var _local3:URLRequest;
var _local4:URLLoader;
_local3 = new URLRequest(_arg1);
_local3.data = _arg2;
_local3.method = URLRequestMethod.POST;
_local4 = new URLLoader();
_local4.addEventListener(Event.COMPLETE, post_complete);
_local4.addEventListener(IOErrorEvent.IO_ERROR, post_fail);
_local4.load(_local3);
}
private function post_fail(_arg1:IOErrorEvent):void{
_arg1.target.removeEventListener(IOErrorEvent.IO_ERROR, post_fail);
dispatchEvent(new Event(Post.IO_ERROR));
}
private function post_complete(_arg1:Event):void{
_arg1.target.removeEventListener(Event.COMPLETE, post_complete);
_loadedVars = new URLVariables(_arg1.target.data);
dispatchEvent(new Event(Post.COMPLETE));
}
public static function getVar(_arg1:String){
if (_loadedVars[_arg1]){
return (_loadedVars[_arg1]);
};
return (null);
}
}
}//package com.stampy.submit
Section 19
//TypeUtils (com.stampy.type.TypeUtils)
package com.stampy.type {
public class TypeUtils {
public static function isSprite(_arg1):Boolean{
return (((_arg1.constructor)=="[class Sprite]") ? true : false);
}
public static function isArray(_arg1):Boolean{
return (((_arg1.constructor)=="[class Array]") ? true : false);
}
public static function isMovieClip(_arg1):Boolean{
return (((_arg1.constructor)=="[class MovieClip]") ? true : false);
}
public static function canHaveChildren(_arg1):Boolean{
var _local2:String;
_local2 = _arg1.constructor;
return ((((!((_local2 == null))) && ((((_local2 == "[class MovieClip]")) || ((_local2 == "[class Sprite]")))))) ? true : false);
}
}
}//package com.stampy.type
Section 20
//Validate (com.stampy.validation.Validate)
package com.stampy.validation {
import com.stampy.strings.*;
import com.stampy.emails.*;
public class Validate {
public static function string(_arg1:String):Boolean{
return (StringUtils.hasText(_arg1));
}
public static function postCodeUK(_arg1:String):Boolean{
var _local2:RegExp;
_local2 = /^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([A-Za-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z])))) {0,1}[0-9][A-Za-z]{2})$/i;
return (_local2.test(_arg1));
}
public static function email(_arg1:String):Boolean{
return (EmailUtils.isValid(_arg1));
}
}
}//package com.stampy.validation
Section 21
//CountryList (console.lists.CountryList)
package console.lists {
import fl.controls.*;
public class CountryList {
private static var _arrCountries:Array = ["United Kingdom", "Afghanistan", "Åland Islands", "Albania", "Algeria", "American Samoa", "Andorra", "Angola", "Anguilla", "Antarctica", "Antigua and Barbuda", "Argentina", "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia", "Bosnia and Herzegovina", "Botswana", "Bouvet Island", "Brazil", "British Indian Ocean territory", "Brunei Darussalam", "Bulgaria", "Burkina Faso", "Burundi", "Cambodia", "Cameroon", "Canada", "Cape Verde", "Cayman Islands", "Central African Republic", "Chad", "Chile", "China", "Christmas Island", "Cocos (Keeling) Islands", "Colombia", "Comoros", "Congo", "Congo, Democratic Republic", "Cook Islands", "Costa Rica", "Côte d'Ivoire (Ivory Coast)", "Croatia (Hrvatska)", "Cuba", "Cyprus", "Czech Republic", "Denmark", "Djibouti", "Dominica", "Dominican Republic", "East Timor", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea", "Estonia", "Ethiopia", "Falkland Islands", "Faroe Islands", "Fiji", "Finland", "France", "French Guiana", "French Polynesia", "French Southern Territories", "Gabon", "Gambia", "Georgia", "Germany", "Ghana", "Gibraltar", "Greece", "Greenland", "Grenada", "Guadeloupe", "Guam", "Guatemala", "Guinea", "Guinea-Bissau", "Guyana", "Haiti", "Heard and McDonald Islands", "Honduras", "Hong Kong", "Hungary", "Iceland", "India", "Indonesia", "Iran", "Iraq", "Ireland", "Israel", "Italy", "Jamaica", "Japan", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Korea (north)", "Korea (south)", "Kuwait", "Kyrgyzstan", "Lao People's Democratic Republic", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libyan Arab Jamahiriya", "Liechtenstein", "Lithuania", "Luxembourg", "Macao", "Macedonia, Former Yugoslav Republic Of", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands", "Martinique", "Mauritania", "Mauritius", "Mayotte", "Mexico", "Micronesia", "Moldova", "Monaco", "Mongolia", "Montserrat", "Morocco", "Mozambique", "Myanmar", "Namibia", "Nauru", "Nepal", "Netherlands", "Netherlands Antilles", "New Caledonia", "New Zealand", "Nicaragua", "Niger", "Nigeria", "Niue", "Norfolk Island", "Northern Mariana Islands", "Norway", "Oman", "Pakistan", "Palau", "Palestinian Territories", "Panama", "Papua New Guinea", "Paraguay", "Peru", "Philippines", "Pitcairn", "Poland", "Portugal", "Puerto Rico", "Qatar", "Réunion", "Romania", "Russian Federation", "Rwanda", "Saint Helena", "Saint Kitts and Nevis", "Saint Lucia", "Saint Pierre and Miquelon", "Saint Vincent and the Grenadines", "Samoa", "San Marino", "Sao Tome and Principe", "Saudi Arabia", "Senegal", "Serbia and Montenegro", "Seychelles", "Sierra Leone", "Singapore", "Slovakia", "Slovenia", "Solomon Islands", "Somalia", "South Africa", "South Georgia and the South Sandwich Islands", "Spain", "Sri Lanka", "Sudan", "Suriname", "Svalbard and Jan Mayen Islands", "Swaziland", "Sweden", "Switzerland", "Syria", "Taiwan", "Tajikistan", "Tanzania", "Thailand", "Togo", "Tokelau", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey", "Turkmenistan", "Turks and Caicos Islands", "Tuvalu", "Uganda", "Ukraine", "United Arab Emirates", "United States of America", "Uruguay", "Uzbekistan", "Vanuatu", "Vatican City", "Venezuela", "Vietnam", "Virgin Islands (British)", "Virgin Islands (US)", "Wallis and Futuna Islands", "Western Sahara", "Yemen", "Zaire", "Zambia", "Zimbabwe"];
public static function populateCombo(_arg1:ComboBox):void{
var _local2:*;
_local2 = 0;
while (_local2 < _arrCountries.length) {
_arg1.addItem({label:_arrCountries[_local2], data:_arrCountries[_local2]});
_local2++;
};
}
}
}//package console.lists
Section 22
//Cache (console.loaders.Cache)
package console.loaders {
public class Cache {
public function returnAntiCacheURL(_arg1:String):String{
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = ("rand=" + Math.ceil((Math.random() * 1000000)));
_local3 = "?";
_local4 = 0;
while (_local4 < _arg1.length) {
if (_arg1.charAt(_local4) == "?"){
_local3 = "&";
break;
};
_local4++;
};
_arg1 = (_arg1 + (_local3 + _local2));
return (_arg1);
}
}
}//package console.loaders
Section 23
//SendReceiveData (console.loaders.SendReceiveData)
package console.loaders {
import flash.events.*;
import flash.net.*;
public class SendReceiveData extends EventDispatcher {
public var _loader:URLLoader;
public var _errorMessage:String;
public static const DATA_LOADED:String = "Data Loaded";
public static const DATA_ERROR:String = "Data Error";
public function onError(_arg1:IOErrorEvent){
trace(("ERROR = " + _arg1.text));
trace("POSSIBLE PROBLEMS - crossdomain.xml missing");
_errorMessage = _arg1.text;
dispatchEvent(new Event(SendReceiveData.DATA_ERROR));
}
public function sendData(_arg1:String, _arg2:URLVariables):void{
var _local3:URLRequest;
_local3 = new URLRequest(_arg1);
_local3.data = _arg2;
_local3.method = URLRequestMethod.POST;
_loader = new URLLoader();
_loader.addEventListener(Event.COMPLETE, onComplete);
_loader.addEventListener(IOErrorEvent.IO_ERROR, onError);
_loader.load(_local3);
}
public function onComplete(_arg1:Event){
dispatchEvent(new Event(SendReceiveData.DATA_LOADED));
}
}
}//package console.loaders
Section 24
//URLPreload (console.loaders.URLPreload)
package console.loaders {
import flash.events.*;
import flash.net.*;
public class URLPreload extends EventDispatcher {
public var _progressBytesTotal:uint;
public var _progress:uint;
private var _URL:String;
public var _progressBytesPerc:uint;
public var _urlLoader:URLLoader;// = null
public var _progressBytesLoaded:uint;
private var _retry:uint;// = 0
private var _antiCache:Boolean;
public static const LOAD_COMPLETE:String = "Complete";
public static const LOAD_PROGRESS:String = "Load Progress";
public static const LOAD_ERROR:String = "Error";
public function URLPreload(_arg1:String, _arg2:Boolean){
_retry = 0;
_urlLoader = null;
super();
_URL = _arg1;
_antiCache = _arg2;
setupPreload(_URL, _antiCache);
}
private function onProgress(_arg1:ProgressEvent):void{
_progressBytesLoaded = _arg1.target.bytesLoaded;
_progressBytesTotal = _arg1.target.bytesTotal;
_progressBytesPerc = ((_arg1.target.bytesLoaded / _arg1.target.bytesTotal) * 100);
dispatchEvent(new Event(URLPreload.LOAD_PROGRESS));
}
public function setupPreload(_arg1:String, _arg2:Boolean){
var _local3:URLRequest;
var _local4:*;
if (_arg2){
_local4 = new Cache();
_arg1 = _local4.returnAntiCacheURL(_arg1);
trace(("URL: " + _arg1));
};
_local3 = new URLRequest(_arg1);
_local3.method = URLRequestMethod.POST;
_urlLoader = new URLLoader();
_urlLoader.load(_local3);
_urlLoader.addEventListener(Event.COMPLETE, onComplete);
_urlLoader.addEventListener(ProgressEvent.PROGRESS, onProgress);
_urlLoader.addEventListener(IOErrorEvent.IO_ERROR, onError);
}
private function onError(_arg1:IOErrorEvent):void{
if (_retry > 10){
dispatchEvent(new Event(URLPreload.LOAD_ERROR));
} else {
_retry++;
setupPreload(_URL, _antiCache);
};
}
private function onComplete(_arg1:Event):void{
dispatchEvent(new Event(URLPreload.LOAD_COMPLETE));
}
}
}//package console.loaders
Section 25
//OpenURL (console.loadurl.OpenURL)
package console.loadurl {
import flash.net.*;
import flash.external.*;
public class OpenURL {
public static function loadURL(_arg1:String, _arg2:String="_blank"):void{
var WINDOW_OPEN_FUNCTION:String;
var url = _arg1;
var window = _arg2;
WINDOW_OPEN_FUNCTION = "window.open";
if (ExternalInterface.available){
try {
ExternalInterface.call(WINDOW_OPEN_FUNCTION, url, window);
trace("EXTERNAL INTERFACE TO URL");
} catch(e:Error) {
navigateToURL(new URLRequest(url), window);
trace("NAVIGATE TO URL");
};
} else {
navigateToURL(new URLRequest(url), window);
trace("EXTERNAL INTERFACE NOT AVAILABLE");
};
}
}
}//package console.loadurl
Section 26
//ConvertDegrees (console.math.ConvertDegrees)
package console.math {
public class ConvertDegrees {
public function convertToDegree(_arg1:Number){
var _local2:*;
_local2 = ((_arg1 * 180) / Math.PI);
return (_local2);
}
public function convertToRadian(_arg1:Number){
var _local2:*;
_local2 = ((_arg1 * Math.PI) / 180);
return (_local2);
}
}
}//package console.math
Section 27
//ParseXML (console.parsers.ParseXML)
package console.parsers {
import flash.events.*;
import flash.net.*;
import console.loaders.*;
public class ParseXML extends EventDispatcher {
public var _progressBytesPerc:uint;// = 0
public var _progressBytesTotal:uint;// = 0
public var _xmlDoc:XML;
public var _tag:String;// = null
private var _urlLoader:URLLoader;
public var _progressBytesLoaded:uint;// = 0
public var _loaded:Boolean;// = false
public var _preloader:URLPreload;
public static const XML_FAILED:String = "XMLFailed";
public static const XML_PROGRESS:String = "XMLProgress";
public static const XML_LOADED:String = "XMLLoaded";
public function ParseXML(){
_tag = null;
_progressBytesLoaded = 0;
_progressBytesTotal = 0;
_progressBytesPerc = 0;
_loaded = false;
super();
}
public function checkProgress(_arg1:Event):void{
_progressBytesLoaded = _arg1.target._progressBytesLoaded;
_progressBytesTotal = _arg1.target._progressBytesTotal;
_progressBytesPerc = _arg1.target._progressBytesPerc;
dispatchEvent(new Event(ParseXML.XML_PROGRESS));
}
public function parseURL(_arg1:String, _arg2:Boolean):void{
_preloader = new URLPreload(_arg1, _arg2);
_preloader.addEventListener(URLPreload.LOAD_PROGRESS, checkProgress);
_preloader.addEventListener(URLPreload.LOAD_COMPLETE, completeLoad);
}
public function completeLoad(_arg1:Event):void{
_xmlDoc = new XML(_arg1.target._urlLoader.data);
dispatchEvent(new Event(ParseXML.XML_LOADED));
}
}
}//package console.parsers
Section 28
//GamePreloader (console.preloader.GamePreloader)
package console.preloader {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class GamePreloader extends MovieClip {
private var _bytesTotal:Number;// = 0
private var _bytesLoaded:Number;// = 0
private var _preloadList:Dictionary;
private var _percentLoaded:Number;// = 0
public static const COMPLETE:String = "Complete";
public static const PROGRESS:String = "Progress";
public function GamePreloader():void{
_bytesTotal = 0;
_bytesLoaded = 0;
_percentLoaded = 0;
super();
_preloadList = new Dictionary(true);
this.addEventListener(Event.ADDED_TO_STAGE, onStage);
}
private function init():void{
stage.addEventListener(Event.ENTER_FRAME, handleFrame);
}
private function handleFrame(_arg1:Event):void{
_bytesTotal = stage.loaderInfo.bytesTotal;
_bytesLoaded = stage.loaderInfo.bytesLoaded;
_percentLoaded = Math.floor((_bytesLoaded * (100 / _bytesTotal)));
dispatch(PROGRESS);
if (_percentLoaded >= 99){
stage.removeEventListener(Event.ENTER_FRAME, handleFrame);
dispatch(COMPLETE);
this.parent.removeChild(this);
};
}
public function get bytesLoaded():Number{
return (_bytesLoaded);
}
private function onStage(_arg1:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onStage);
init();
}
public function get bytesTotal():Number{
return (_bytesTotal);
}
private function dispatch(_arg1:String):void{
dispatchEvent(new Event(_arg1));
}
public function get percentLoaded():Number{
return (_percentLoaded);
}
}
}//package console.preloader
Section 29
//Token (console.security.Token)
package console.security {
import flash.events.*;
import flash.net.*;
import com.adobe.crypto.*;
import console.loaders.*;
public class Token {
public static const TOKEN_GENERATED:String = "Token Generated";
private static var _success:Function;
private static var _strAction:String = "request_token";
private static var _strOriginalToken:String;
private static var _requestToken:SendReceiveData;
private static var _strUrl:String;
private static var _isDebugging:Boolean = true;
private static var _retry:uint = 0;
private static var _loadedVars:URLVariables;
private static var _loadToken:URLLoader;
private static var _strFinalToken:String;
private static function loadError(_arg1:Error):void{
if (_retry == 0){
_retry++;
request(_strUrl, _success, _isDebugging);
trace("Token Fail First Attempt");
} else {
trace("Token Fail Second Attempt: Aborted");
};
}
public static function get encypted():String{
return (_strFinalToken);
}
private static function debug(_arg1):void{
if (_isDebugging){
trace(_arg1);
};
}
public static function request(_arg1:String, _arg2:Function, _arg3:Boolean=true){
var _local4:URLVariables;
_strUrl = _arg1;
_isDebugging = _arg3;
debug(("DEBUG: Token.request | strURL = " + _arg1));
_success = _arg2;
_local4 = new URLVariables();
_local4.action = _strAction;
_requestToken = new SendReceiveData();
_requestToken.sendData(_arg1, _local4);
_requestToken.addEventListener(SendReceiveData.DATA_LOADED, load);
_requestToken.addEventListener(SendReceiveData.DATA_ERROR, loadError);
}
private static function load(_arg1:Event):void{
_loadToken = URLLoader(_arg1.target._loader);
_loadedVars = new URLVariables(_loadToken.data);
_strOriginalToken = _loadedVars.token;
debug(("DEBUG: Token.load | original token = " + _strOriginalToken));
_strFinalToken = encrypt(_strOriginalToken);
_success();
}
public static function getVar(_arg1:String){
if (_loadedVars[_arg1]){
return (_loadedVars[_arg1]);
};
return (null);
}
public static function get original():String{
return (_strOriginalToken);
}
public static function secret(_arg1, _arg2:Boolean=true):String{
var _local3:String;
var _local4:String;
var _local5:String;
_isDebugging = _arg2;
if (((!((_arg1 == null))) && (!((_strOriginalToken == null))))){
_local3 = _arg1.toString();
_local4 = (_strOriginalToken + _local3);
_local5 = MD5.hash(_local4);
debug(("DEBUG: Token.secret | encrypted secret = " + _local5));
return (_local5);
};
trace("Error: Token.secret");
return ("");
}
private static function encrypt(_arg1:String):String{
var _local2:String;
var _local3:String;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:String;
_local2 = _arg1.substr(28, 8);
_local3 = MD5.hash(_local2);
_local4 = Math.ceil((Math.random() * 1000000));
_local5 = Math.ceil((Math.random() * 1000000));
_local6 = Math.ceil((Math.random() * 1000000));
_local7 = (((MD5.hash(_local4) + MD5.hash(_local5)) + _local3) + MD5.hash(_local6));
debug(("DEBUG: Token.encrypt | encrypted token = " + _local7));
return (_local7);
}
}
}//package console.security
Section 30
//SoundObject (console.sounds.SoundObject)
package console.sounds {
import flash.events.*;
import gs.*;
import flash.utils.*;
import flash.media.*;
public class SoundObject {
private var _isMute:Boolean;// = false
private var _sndSound;
private var _linkage:String;
private var _channel:SoundChannel;
private var _intMaxVolume:Number;// = 1
private var _isPlaying:Boolean;// = false
private var _intVolume:Number;// = 1
private var _intLastPosition:Number;// = 0
private var _isLooping:Boolean;// = false
private var _intLoopCount:uint;// = 0
private var _intPrevVolume:Number;// = 1
public function SoundObject(_arg1:String):void{
var _local2:Class;
_intVolume = 1;
_isMute = false;
_intPrevVolume = 1;
_intLastPosition = 0;
_isLooping = false;
_intLoopCount = 0;
_isPlaying = false;
_intMaxVolume = 1;
super();
_linkage = _arg1;
_local2 = (getDefinitionByName(_arg1) as Class);
_sndSound = new (_local2);
_channel = new SoundChannel();
}
public function set volume(_arg1:Number):void{
if (!_isMute){
_intVolume = _arg1;
modifyVolume(_intVolume);
};
}
public function stop(_arg1:Event=null):void{
var evt = _arg1;
try {
_channel.removeEventListener(Event.SOUND_COMPLETE, stop);
_isPlaying = false;
_intLastPosition = _channel.position;
_channel.stop();
} catch(evt:Error) {
trace("SoundObject stop: Error");
};
}
public function muteOff(_arg1:Number):void{
if (_isMute){
volume = _intPrevVolume;
_isMute = false;
};
}
public function muteOn(_arg1:Number=0):void{
if (!_isMute){
_intPrevVolume = volume;
volume = 0;
_isMute = true;
};
}
public function get mute():Boolean{
return (_isMute);
}
public function get volume():Number{
return (_intVolume);
}
public function get linkage():String{
return (_linkage);
}
private function modifyVolume(_arg1:Number):void{
var intValue:Number;
var mod1:SoundTransform;
var value = _arg1;
intValue = (value * _intMaxVolume);
try {
mod1 = new SoundTransform();
mod1.volume = intValue;
_channel.soundTransform = mod1;
} catch(evt:Error) {
trace("SoundObject.modifyVolume() Error");
};
}
public function get isPlaying():Boolean{
return (_isPlaying);
}
public function set maxVolume(_arg1:Number):void{
if ((((_arg1 >= 0)) && ((_arg1 <= 1)))){
_intMaxVolume = _arg1;
volume = _intVolume;
};
}
public function resume():void{
if (!_isPlaying){
play(_isLooping, _intLoopCount, _intLastPosition);
};
}
public function play(_arg1:Boolean, _arg2:uint, _arg3:uint):void{
var intRepeatCount:*;
var isLooping = _arg1;
var intLoopCount = _arg2;
var intStartTime = _arg3;
_isLooping = isLooping;
_intLoopCount = intLoopCount;
_isPlaying = true;
intRepeatCount = (isLooping) ? intLoopCount : 0;
try {
_channel = _sndSound.play(intStartTime, intRepeatCount);
modifyVolume(volume);
_channel.addEventListener(Event.SOUND_COMPLETE, stop);
} catch(evt:Error) {
};
}
public function fade(_arg1:Number, _arg2:Number):void{
if (!_isMute){
TweenLite.to(this, _arg2, {volume:_arg1});
};
}
}
}//package console.sounds
Section 31
//SoundUtils (console.sounds.SoundUtils)
package console.sounds {
import gs.*;
import flash.utils.*;
import flash.media.*;
public class SoundUtils {
private static var _dictMusic:Dictionary = new Dictionary();
private static var _dictSFX:Dictionary = new Dictionary();
private static var _maxMusicVolume = 1;
private static var _sfxChannelVolume:Number = 1;
private static var _maxSFXVolume = 1;
private static var _musicMute:Boolean = false;
private static var _rememberValue:Boolean = true;
private static var _musicChannelVolume:Number = 1;
private static var _globalMute:Boolean = false;
private static var _sfxMute:Boolean = false;
public static function addMusic(_arg1:String, _arg2:Number=1):void{
var _local3:SoundObject;
_local3 = new SoundObject(_arg1);
_local3.volume = _arg2;
_dictMusic[_arg1] = _local3;
}
public static function fadeAll(_arg1:Number, _arg2:Number):void{
fadeSFXChannel(_arg1, _arg2);
fadeMusicChannel(_arg1, _arg2);
}
public static function fadeMusic(_arg1:String, _arg2:Number, _arg3:Number):void{
if ((_dictMusic[_arg1] is SoundObject)){
_dictMusic[_arg1].fade(_arg2, _arg3);
};
}
public static function fadeSFXStop(_arg1:String, _arg2:Number, _arg3:Number):void{
if ((_dictSFX[_arg1] is SoundObject)){
_dictSFX[_arg1].fade(_arg2, _arg3);
TweenLite.to(_arg1, _arg3, {onComplete:stopSFX, onCompleteParams:[_arg1]});
};
}
public static function muteMusic(_arg1:String, _arg2:Number=0):void{
var _local3:*;
if ((_dictMusic[_arg1] is SoundObject)){
_local3 = _dictMusic[_arg1];
if (_local3.mute){
_local3.muteOff(_arg2);
} else {
_local3.muteOn(_arg2);
};
};
}
public static function isMusicPlaying(_arg1:String):Boolean{
return (_dictMusic[_arg1].isPlaying);
}
public static function resumeSFX(_arg1:String):void{
if ((_dictSFX[_arg1] is SoundObject)){
_dictSFX[_arg1].resume();
};
}
public static function setMaxVolumeMusicChannel(_arg1:Number):void{
var _local2:SoundObject;
if (_rememberValue){
_musicChannelVolume = _arg1;
};
_maxMusicVolume = _arg1;
for each (_local2 in _dictMusic) {
_local2.maxVolume = _arg1;
};
}
public static function muteGlobal():void{
if (!_globalMute){
try {
_globalMute = true;
SoundMixer.soundTransform = new SoundTransform(0);
} catch(evt:Error) {
trace("SoundUtils.muteGlobal() Error 1");
};
} else {
_globalMute = false;
try {
SoundMixer.soundTransform = new SoundTransform(1);
} catch(evt:Error) {
trace("SoundUtils.muteGlobal() Error 2");
};
};
}
public static function isMusicChannelMute():Boolean{
return (_musicMute);
}
public static function stopSFX(_arg1:String):void{
if ((_dictSFX[_arg1] is SoundObject)){
_dictSFX[_arg1].stop();
};
}
public static function addSFX(_arg1:String, _arg2:Number=1):void{
var _local3:SoundObject;
_local3 = new SoundObject(_arg1);
_local3.volume = _arg2;
_dictSFX[_arg1] = _local3;
}
public static function get isGlobalMute():Boolean{
return (_globalMute);
}
public static function setMaxVolumeMusic(_arg1:String, _arg2:Number):void{
if ((_dictMusic[_arg1] is SoundObject)){
_dictMusic[_arg1].maxVolume = _arg2;
};
}
public static function fadeMusicStop(_arg1:String, _arg2:Number, _arg3:Number):void{
if ((_dictMusic[_arg1] is SoundObject)){
_dictMusic[_arg1].fade(_arg2, _arg3);
TweenLite.to(_arg1, _arg3, {onComplete:stopMusic, onCompleteParams:[_arg1]});
};
}
public static function muteSFX(_arg1:String, _arg2:Number=0):void{
var _local3:*;
if ((_dictSFX[_arg1] is SoundObject)){
_local3 = _dictSFX[_arg1];
if (_local3.mute){
_local3.muteOff(_arg2);
} else {
_local3.muteOn(_arg2);
};
};
}
public static function getMaxVolumeMusicChannel():Number{
return (_maxMusicVolume);
}
public static function playSFX(_arg1:String, _arg2:Boolean=false, _arg3:uint=999999, _arg4:uint=0):void{
if ((_dictSFX[_arg1] is SoundObject)){
_dictSFX[_arg1].play(_arg2, _arg3, _arg4);
};
}
public static function isSFXPlaying(_arg1:String):Boolean{
return (_dictSFX[_arg1].isPlaying);
}
public static function setMaxVolumeSFX(_arg1:String, _arg2:Number):void{
if ((_dictSFX[_arg1] is SoundObject)){
_dictSFX[_arg1].maxVolume = _arg2;
};
}
public static function muteSFXChannel(_arg1:Number=0):void{
var _local2:SoundObject;
var _local3:SoundObject;
if (!_sfxMute){
_sfxMute = true;
for each (_local2 in _dictSFX) {
_local2.muteOn(_arg1);
};
} else {
_sfxMute = false;
for each (_local3 in _dictSFX) {
_local3.muteOff(_arg1);
};
};
}
public static function fadeMusicChannel(_arg1:Number, _arg2:Number):void{
var _local3:SoundObject;
for each (_local3 in _dictMusic) {
_local3.fade(_arg1, _arg2);
};
}
public static function stopMusicChannel():void{
var _local1:SoundObject;
for each (_local1 in _dictMusic) {
_local1.stop();
};
}
public static function isSFXChannelMuted():Boolean{
return (_sfxMute);
}
public static function getMaxVolumeSFXChannel():Number{
return (_maxSFXVolume);
}
public static function muteAll(_arg1:Number=0):void{
muteSFXChannel(_arg1);
muteMusicChannel(_arg1);
}
public static function setVolumeSFX(_arg1:String, _arg2:Number):void{
if ((_dictSFX[_arg1] is SoundObject)){
_dictSFX[_arg1].volume = _arg2;
};
}
public static function resumeSFXChannel():void{
var _local1:SoundObject;
for each (_local1 in _dictSFX) {
_local1.resume();
};
}
public static function getVolumeMusicChannel():Number{
return (_musicChannelVolume);
}
public static function TrackChannelLastVolume(_arg1:Boolean):void{
_rememberValue = _arg1;
}
public static function playMusic(_arg1:String, _arg2:Boolean=false, _arg3:uint=999999, _arg4:uint=0):void{
if ((_dictMusic[_arg1] is SoundObject)){
_dictMusic[_arg1].play(_arg2, _arg3, _arg4);
};
}
public static function stopMusic(_arg1:String):void{
if ((_dictMusic[_arg1] is SoundObject)){
_dictMusic[_arg1].stop();
};
}
public static function getVolumeSFX(_arg1:String):Number{
return (_dictSFX[_arg1].volume);
}
public static function fadeMusicChannelStop(_arg1:Number, _arg2:Number):void{
var _local3:SoundObject;
for each (_local3 in _dictMusic) {
_local3.fade(_arg1, _arg2);
TweenLite.to(_local3, _arg2, {onComplete:stopMusic, onCompleteParams:[_local3.linkage]});
};
}
public static function fadeMusicPlay(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:uint=999999, _arg6:uint=0):void{
if ((_dictMusic[_arg1] is SoundObject)){
setVolumeMusic(_arg1, 0);
playMusic(_arg1, _arg4, _arg5, _arg6);
fadeMusic(_arg1, _arg2, _arg3);
};
}
public static function muteMusicChannel(_arg1:Number=0):void{
var _local2:SoundObject;
var _local3:SoundObject;
if (!_musicMute){
_musicMute = true;
for each (_local2 in _dictMusic) {
_local2.muteOn(_arg1);
};
} else {
_musicMute = false;
for each (_local3 in _dictMusic) {
_local3.muteOff(_arg1);
};
};
}
public static function fadeSFXChannel(_arg1:Number, _arg2:Number):void{
var _local3:SoundObject;
for each (_local3 in _dictSFX) {
_local3.fade(_arg1, _arg2);
};
}
public static function stopSFXChannel():void{
var _local1:SoundObject;
for each (_local1 in _dictSFX) {
_local1.stop();
};
}
public static function fadeSFX(_arg1:String, _arg2:Number, _arg3:Number):void{
if ((_dictSFX[_arg1] is SoundObject)){
_dictSFX[_arg1].fade(_arg2, _arg3);
};
}
public static function resumeMusicChannel():void{
var _local1:SoundObject;
for each (_local1 in _dictMusic) {
_local1.resume();
};
}
public static function setVolumeMusic(_arg1:String, _arg2:Number):void{
if ((_dictMusic[_arg1] is SoundObject)){
_dictMusic[_arg1].volume = _arg2;
};
}
public static function setVolumeMusicChannel(_arg1:Number):void{
var _local2:SoundObject;
for each (_local2 in _dictMusic) {
_local2.volume = _arg1;
};
}
public static function setMaxVolumeSFXChannel(_arg1:Number):void{
var _local2:SoundObject;
if (_rememberValue){
_sfxChannelVolume = _arg1;
};
_maxSFXVolume = _arg1;
for each (_local2 in _dictSFX) {
_local2.maxVolume = _arg1;
};
}
public static function getVolumeMusic(_arg1:String):Number{
return (_dictMusic[_arg1].volume);
}
public static function resumeMusic(_arg1:String):void{
if ((_dictMusic[_arg1] is SoundObject)){
_dictMusic[_arg1].resume();
};
}
public static function setVolumeSFXChannel(_arg1:Number):void{
var _local2:SoundObject;
for each (_local2 in _dictSFX) {
_local2.volume = _arg1;
};
}
public static function fadeSFXChannelStop(_arg1:Number, _arg2:Number):void{
var _local3:SoundObject;
for each (_local3 in _dictSFX) {
_local3.fade(_arg1, _arg2);
TweenLite.to(_local3, _arg2, {onComplete:stopSFX, onCompleteParams:[_local3.linkage]});
};
}
public static function getVolumeSFXChannel():Number{
return (_sfxChannelVolume);
}
}
}//package console.sounds
Section 32
//StringUtils (console.strings.StringUtils)
package console.strings {
public class StringUtils {
private static function _swapCase(_arg1:String, ... _args):String{
var _local3:String;
var _local4:String;
_local3 = _arg1.toLowerCase();
_local4 = _arg1.toUpperCase();
switch (_arg1){
case _local3:
return (_local4);
case _local4:
return (_local3);
default:
return (_arg1);
};
}
public static function isEmpty(_arg1:String):Boolean{
if (_arg1 == null){
return (true);
};
return (!(_arg1.length));
}
public static function remove(_arg1:String, _arg2:String, _arg3:Boolean=true):String{
var _local4:String;
var _local5:String;
if (_arg1 == null){
return ("");
};
_local4 = escapePattern(_arg2);
_local5 = (_arg3) ? "g" : "ig";
return (_arg1.replace(new RegExp(_local4, _local5), ""));
}
public static function countOf(_arg1:String, _arg2:String, _arg3:Boolean=true):uint{
var _local4:String;
var _local5:String;
if (_arg1 == null){
return (0);
};
_local4 = escapePattern(_arg2);
_local5 = (_arg3) ? "g" : "ig";
return (_arg1.match(new RegExp(_local4, _local5)).length);
}
public static function between(_arg1:String, _arg2:String, _arg3:String):String{
var _local4:String;
var _local5:int;
var _local6:int;
_local4 = "";
if (_arg1 == null){
return (_local4);
};
_local5 = _arg1.indexOf(_arg2);
if (_local5 != -1){
_local5 = (_local5 + _arg2.length);
_local6 = _arg1.indexOf(_arg3, _local5);
if (_local6 != -1){
_local4 = _arg1.substr(_local5, (_local6 - _local5));
};
};
return (_local4);
}
public static function padRight(_arg1:String, _arg2:String, _arg3:uint):String{
var _local4:String;
_local4 = _arg1;
while (_local4.length < _arg3) {
_local4 = (_local4 + _arg2);
};
return (_local4);
}
public static function isNumeric(_arg1:String):Boolean{
var _local2:RegExp;
if (_arg1 == null){
return (false);
};
_local2 = /^[-+]?\d*\.?\d+(?:[eE][-+]?\d+)?$/;
return (_local2.test(_arg1));
}
public static function block(_arg1:String, _arg2:uint, _arg3:String="."):Array{
var _local4:Array;
var _local5:uint;
var _local6:uint;
var _local7:RegExp;
var _local8:String;
_local4 = new Array();
if ((((_arg1 == null)) || (!(contains(_arg1, _arg3))))){
return (_local4);
};
_local5 = 0;
_local6 = _arg1.length;
_local7 = new RegExp((("[^" + escapePattern(_arg3)) + "]+$"));
while (_local5 < _local6) {
_local8 = _arg1.substr(_local5, _arg2);
if (!contains(_local8, _arg3)){
_local4.push(truncate(_local8, _local8.length));
_local5 = (_local5 + _local8.length);
};
_local8 = _local8.replace(_local7, "");
_local4.push(_local8);
_local5 = (_local5 + _local8.length);
};
return (_local4);
}
public static function trim(_arg1:String):String{
if (_arg1 == null){
return ("");
};
return (_arg1.replace(/^\s+|\s+$/g, ""));
}
public static function beginsWith(_arg1:String, _arg2:String):Boolean{
if (_arg1 == null){
return (false);
};
return ((_arg1.indexOf(_arg2) == 0));
}
public static function stripTags(_arg1:String):String{
if (_arg1 == null){
return ("");
};
return (_arg1.replace(/<\/?[^>]+>/igm, ""));
}
public static function afterLast(_arg1:String, _arg2:String):String{
var _local3:int;
if (_arg1 == null){
return ("");
};
_local3 = _arg1.lastIndexOf(_arg2);
if (_local3 == -1){
return ("");
};
_local3 = (_local3 + _arg2.length);
return (_arg1.substr(_local3));
}
private static function _minimum(_arg1:uint, _arg2:uint, _arg3:uint):uint{
return (Math.min(_arg1, Math.min(_arg2, Math.min(_arg3, _arg1))));
}
private static function escapePattern(_arg1:String):String{
return (_arg1.replace(/(\]|\[|\{|\}|\(|\)|\*|\+|\?|\.|\\)/g, "\\$1"));
}
public static function removeExtraWhitespace(_arg1:String):String{
var _local2:String;
if (_arg1 == null){
return ("");
};
_local2 = trim(_arg1);
return (_local2.replace(/\s+/g, " "));
}
public static function trimRight(_arg1:String):String{
if (_arg1 == null){
return ("");
};
return (_arg1.replace(/\s+$/, ""));
}
public static function endsWith(_arg1:String, _arg2:String):Boolean{
return ((_arg1.lastIndexOf(_arg2) == (_arg1.length - _arg2.length)));
}
public static function contains(_arg1:String, _arg2:String):Boolean{
if (_arg1 == null){
return (false);
};
return (!((_arg1.indexOf(_arg2) == -1)));
}
public static function properCase(_arg1:String):String{
var _local2:String;
if (_arg1 == null){
return ("");
};
_local2 = _arg1.toLowerCase().replace(/\b([^.?;!]+)/, capitalize);
return (_local2.replace(/\b[i]\b/, "I"));
}
public static function trimLeft(_arg1:String):String{
if (_arg1 == null){
return ("");
};
return (_arg1.replace(/^\s+/, ""));
}
public static function similarity(_arg1:String, _arg2:String):Number{
var _local3:uint;
var _local4:uint;
_local3 = editDistance(_arg1, _arg2);
_local4 = Math.max(_arg1.length, _arg2.length);
if (_local4 == 0){
return (100);
};
return (((1 - (_local3 / _local4)) * 100));
}
public static function wordCount(_arg1:String):uint{
if (_arg1 == null){
return (0);
};
return (_arg1.match(/\b\w+\b/g).length);
}
public static function editDistance(_arg1:String, _arg2:String):uint{
var _local3:uint;
var _local4:Array;
var _local5:uint;
var _local6:uint;
var _local7:uint;
var _local8:uint;
var _local9:String;
var _local10:String;
if (_arg1 == null){
_arg1 = "";
};
if (_arg2 == null){
_arg2 = "";
};
if (_arg1 == _arg2){
return (0);
};
_local4 = new Array();
_local6 = _arg1.length;
_local7 = _arg2.length;
if (_local6 == 0){
return (_local7);
};
if (_local7 == 0){
return (_local6);
};
_local3 = 0;
while (_local3 <= _local6) {
_local4[_local3] = new Array();
_local3++;
};
_local3 = 0;
while (_local3 <= _local6) {
_local4[_local3][0] = _local3;
_local3++;
};
_local8 = 0;
while (_local8 <= _local7) {
_local4[0][_local8] = _local8;
_local8++;
};
_local3 = 1;
while (_local3 <= _local6) {
_local9 = _arg1.charAt((_local3 - 1));
_local8 = 1;
while (_local8 <= _local7) {
_local10 = _arg2.charAt((_local8 - 1));
if (_local9 == _local10){
_local5 = 0;
} else {
_local5 = 1;
};
_local4[_local3][_local8] = _minimum((_local4[(_local3 - 1)][_local8] + 1), (_local4[_local3][(_local8 - 1)] + 1), (_local4[(_local3 - 1)][(_local8 - 1)] + _local5));
_local8++;
};
_local3++;
};
return (_local4[_local6][_local7]);
}
public static function hasText(_arg1:String):Boolean{
var _local2:String;
_local2 = removeExtraWhitespace(_arg1);
return (!(!(_local2.length)));
}
public static function reverse(_arg1:String):String{
if (_arg1 == null){
return ("");
};
return (_arg1.split("").reverse().join(""));
}
public static function swapCase(_arg1:String):String{
if (_arg1 == null){
return ("");
};
return (_arg1.replace(/(\w)/, _swapCase));
}
public static function capitalize(_arg1:String, ... _args):String{
var _local3:String;
_local3 = trimLeft(_arg1);
trace("capl", _args[0]);
if (_args[0] === true){
return (_local3.replace(/^.|\b./g, _upperCase));
};
return (_local3.replace(/(^\w)/, _upperCase));
}
public static function truncate(_arg1:String, _arg2:uint, _arg3:String="..."):String{
var _local4:String;
if (_arg1 == null){
return ("");
};
_arg2 = (_arg2 - _arg3.length);
_local4 = _arg1;
if (_local4.length > _arg2){
_local4 = _local4.substr(0, _arg2);
if (/[^\s]/.test(_arg1.charAt(_arg2))){
_local4 = trimRight(_local4.replace(/\w+$|\s+$/, ""));
};
_local4 = (_local4 + _arg3);
};
return (_local4);
}
public static function reverseWords(_arg1:String):String{
if (_arg1 == null){
return ("");
};
return (_arg1.split(/\s+/).reverse().join(""));
}
public static function beforeFirst(_arg1:String, _arg2:String):String{
var _local3:int;
if (_arg1 == null){
return ("");
};
_local3 = _arg1.indexOf(_arg2);
if (_local3 == -1){
return ("");
};
return (_arg1.substr(0, _local3));
}
private static function _upperCase(_arg1:String, ... _args):String{
trace("cap latter ", _arg1);
return (_arg1.toUpperCase());
}
public static function afterFirst(_arg1:String, _arg2:String):String{
var _local3:int;
if (_arg1 == null){
return ("");
};
_local3 = _arg1.indexOf(_arg2);
if (_local3 == -1){
return ("");
};
_local3 = (_local3 + _arg2.length);
return (_arg1.substr(_local3));
}
public static function beforeLast(_arg1:String, _arg2:String):String{
var _local3:int;
if (_arg1 == null){
return ("");
};
_local3 = _arg1.lastIndexOf(_arg2);
if (_local3 == -1){
return ("");
};
return (_arg1.substr(0, _local3));
}
public static function padLeft(_arg1:String, _arg2:String, _arg3:uint):String{
var _local4:String;
_local4 = _arg1;
while (_local4.length < _arg3) {
_local4 = (_arg2 + _local4);
};
return (_local4);
}
public static function quote(_arg1:String):String{
var _local2:RegExp;
_local2 = /[\\"\r\n]/g;
return ((("\"" + _arg1.replace(_local2, _quote)) + "\""));
}
private static function _quote(_arg1:String, ... _args):String{
switch (_arg1){
case "\\":
return ("\\\\");
case "\r":
return ("\\r");
case "\n":
return ("\\n");
case "\"":
return ("\\\"");
default:
return ("");
};
}
}
}//package console.strings
Section 33
//Clock (console.time.Clock)
package console.time {
public class Clock {
private static var _intMilliSeconds:int = 0;
private static var _strMilliSeconds:String;
private static var _strMinutes:String;
private static var _intMinutes:int = 0;
private static var _intDays:int = 0;
private static var _strDays:String;
private static var _strHundSeconds:String;
private static var _intHundSeconds:int = 0;
private static var _strSeconds:String;
private static var _intSeconds:int = 0;
private static var _strHours:String;
private static var _intHours:int = 0;
public static function get intMilliSeconds():int{
return (_intMilliSeconds);
}
public static function formatTimeMSM(_arg1:int=0):String{
time = _arg1;
return (((((strMinutes + ":") + strSeconds) + ":") + strMilliSeconds));
}
public static function formatTimeMSH(_arg1:int=0):String{
time = _arg1;
return (((((strMinutes + ":") + strSeconds) + ":") + strHundSeconds));
}
public static function formatTimeMS(_arg1:int=0):String{
time = _arg1;
return (((strMinutes + ":") + strSeconds));
}
public static function get intSeconds():int{
return (_intSeconds);
}
public static function formatTimeHMS(_arg1:int=0):String{
time = _arg1;
return (((((strHours + ":") + strMinutes) + ":") + strSeconds));
}
public static function get strSeconds():String{
_strSeconds = intSeconds.toString();
if ((intSeconds < 10)){
_strSeconds = ("0" + intSeconds.toString());
//unresolved jump
};
return (_strSeconds);
}
public static function get strMilliSeconds():String{
_strMilliSeconds = intMilliSeconds.toString();
if ((intMilliSeconds < 100)){
_strMilliSeconds = ("0" + intMilliSeconds.toString());
//unresolved jump
};
if ((intMilliSeconds < 10)){
_strMilliSeconds = ("00" + intMilliSeconds.toString());
//unresolved jump
};
return (_strMilliSeconds);
}
public static function get intHundSeconds():int{
return (_intHundSeconds);
}
public static function get intHours():int{
return (_intHours);
}
public static function get strHundSeconds():String{
_strHundSeconds = intHundSeconds.toString();
if ((intHundSeconds < 10)){
_strHundSeconds = ("0" + intHundSeconds.toString());
//unresolved jump
};
if ((intHundSeconds > 99)){
_strHundSeconds = "99";
//unresolved jump
};
return (_strHundSeconds);
}
public static function get intDays():int{
return (_intDays);
}
public static function get strMinutes():String{
_strMinutes = intMinutes.toString();
if ((intMinutes < 10)){
_strMinutes = ("0" + intMinutes.toString());
//unresolved jump
};
return (_strMinutes);
}
public static function get intMinutes():int{
return (_intMinutes);
}
public static function set time(_arg1):void{
_intHours = Math.floor((((_arg1 / 1000) / 60) / 60));
_intMinutes = (Math.floor(((_arg1 / 1000) / 60)) - (intHours * 60));
_intSeconds = ((Math.floor((_arg1 / 1000)) - (intMinutes * 60)) - (intHours * 3600));
_intMilliSeconds = Math.ceil((((_arg1 / 1000) - Math.floor((_arg1 / 1000))) * 1000));
_intHundSeconds = Math.ceil((intMilliSeconds / 10));
_intDays = Math.floor((_intHours / 24));
}
public static function get strHours():String{
_strHours = intHours.toString();
if ((intHours < 10)){
_strHours = ("0" + intHours.toString());
//unresolved jump
};
return (_strHours);
}
}
}//package console.time
Section 34
//MochiBot (console.trackers.MochiBot)
package console.trackers {
import flash.display.*;
import flash.net.*;
import flash.system.*;
public dynamic class MochiBot extends Sprite {
public static function track(_arg1:Sprite, _arg2:String):MochiBot{
var _local3:MochiBot;
var _local4:String;
var _local5:URLVariables;
var _local6:String;
var _local7:URLRequest;
var _local8:Loader;
trace("RUN MOCHIBOT TRACKING");
if (Security.sandboxType == "localWithFile"){
return (null);
};
_local3 = new (MochiBot);
_arg1.addChild(_local3);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
_local4 = "http://core.mochibot.com/my/core.swf";
_local5 = new URLVariables();
_local5["sb"] = Security.sandboxType;
_local5["v"] = Capabilities.version;
_local5["swfid"] = _arg2;
_local5["mv"] = "8";
_local5["fv"] = "9";
_local6 = _local3.root.loaderInfo.loaderURL;
if (_local6.indexOf("http") == 0){
_local5["url"] = _local6;
} else {
_local5["url"] = "local";
};
_local7 = new URLRequest(_local4);
_local7.contentType = "application/x-www-form-urlencoded";
_local7.method = URLRequestMethod.POST;
_local7.data = _local5;
_local8 = new Loader();
_local3.addChild(_local8);
_local8.load(_local7);
return (_local3);
}
}
}//package console.trackers
Section 35
//LanguageFilter (console.verification.LanguageFilter)
package console.verification {
import console.strings.*;
public class LanguageFilter {
private static const _arrAbuse:Array = new Array("bastard", "bitch", "bollock", "bollox", "cunt", "cock", "dick", "fisting", "fuck", "niger", "penis", "phedo", "piss", "pussy", "prick", "shit", "slag", "slut", "twat", "wog", "wank", "whore");
public static function containsSwearing(_arg1:String):Boolean{
var _local2:uint;
var _local3:int;
_local2 = _arrAbuse.length;
_local3 = 0;
while (_local3 < _local2) {
if (StringUtils.contains(_arg1.toLowerCase(), _arrAbuse[_local3])){
return (true);
};
_local3++;
};
return (false);
}
}
}//package console.verification
Section 36
//BaseScrollPane (fl.containers.BaseScrollPane)
package fl.containers {
import fl.core.*;
import fl.controls.*;
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import fl.events.*;
public class BaseScrollPane extends UIComponent {
protected var defaultLineScrollSize:Number;// = 4
protected var _maxHorizontalScrollPosition:Number;// = 0
protected var vScrollBar:Boolean;
protected var disabledOverlay:Shape;
protected var hScrollBar:Boolean;
protected var availableWidth:Number;
protected var _verticalPageScrollSize:Number;// = 0
protected var vOffset:Number;// = 0
protected var _verticalScrollBar:ScrollBar;
protected var useFixedHorizontalScrolling:Boolean;// = false
protected var contentWidth:Number;// = 0
protected var contentHeight:Number;// = 0
protected var _horizontalPageScrollSize:Number;// = 0
protected var background:DisplayObject;
protected var _useBitmpScrolling:Boolean;// = false
protected var contentPadding:Number;// = 0
protected var availableHeight:Number;
protected var _horizontalScrollBar:ScrollBar;
protected var contentScrollRect:Rectangle;
protected var _horizontalScrollPolicy:String;
protected var _verticalScrollPolicy:String;
protected static const SCROLL_BAR_STYLES:Object = {upArrowDisabledSkin:"upArrowDisabledSkin", upArrowDownSkin:"upArrowDownSkin", upArrowOverSkin:"upArrowOverSkin", upArrowUpSkin:"upArrowUpSkin", downArrowDisabledSkin:"downArrowDisabledSkin", downArrowDownSkin:"downArrowDownSkin", downArrowOverSkin:"downArrowOverSkin", downArrowUpSkin:"downArrowUpSkin", thumbDisabledSkin:"thumbDisabledSkin", thumbDownSkin:"thumbDownSkin", thumbOverSkin:"thumbOverSkin", thumbUpSkin:"thumbUpSkin", thumbIcon:"thumbIcon", trackDisabledSkin:"trackDisabledSkin", trackDownSkin:"trackDownSkin", trackOverSkin:"trackOverSkin", trackUpSkin:"trackUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"};
private static var defaultStyles:Object = {repeatDelay:500, repeatInterval:35, skin:"ScrollPane_upSkin", contentPadding:0, disabledAlpha:0.5};
public function BaseScrollPane(){
contentWidth = 0;
contentHeight = 0;
contentPadding = 0;
vOffset = 0;
_maxHorizontalScrollPosition = 0;
_horizontalPageScrollSize = 0;
_verticalPageScrollSize = 0;
defaultLineScrollSize = 4;
useFixedHorizontalScrolling = false;
_useBitmpScrolling = false;
super();
}
protected function handleWheel(_arg1:MouseEvent):void{
if (((((!(enabled)) || (!(_verticalScrollBar.visible)))) || ((contentHeight <= availableHeight)))){
return;
};
_verticalScrollBar.scrollPosition = (_verticalScrollBar.scrollPosition - (_arg1.delta * verticalLineScrollSize));
setVerticalScrollPosition(_verticalScrollBar.scrollPosition);
dispatchEvent(new ScrollEvent(ScrollBarDirection.VERTICAL, _arg1.delta, horizontalScrollPosition));
}
public function get verticalScrollPosition():Number{
return (_verticalScrollBar.scrollPosition);
}
protected function drawDisabledOverlay():void{
if (enabled){
if (contains(disabledOverlay)){
removeChild(disabledOverlay);
};
} else {
disabledOverlay.x = (disabledOverlay.y = contentPadding);
disabledOverlay.width = availableWidth;
disabledOverlay.height = availableHeight;
disabledOverlay.alpha = (getStyleValue("disabledAlpha") as Number);
addChild(disabledOverlay);
};
}
public function set verticalScrollPosition(_arg1:Number):void{
drawNow();
_verticalScrollBar.scrollPosition = _arg1;
setVerticalScrollPosition(_verticalScrollBar.scrollPosition, false);
}
protected function setContentSize(_arg1:Number, _arg2:Number):void{
if ((((((contentWidth == _arg1)) || (useFixedHorizontalScrolling))) && ((contentHeight == _arg2)))){
return;
};
contentWidth = _arg1;
contentHeight = _arg2;
invalidate(InvalidationType.SIZE);
}
public function get horizontalScrollPosition():Number{
return (_horizontalScrollBar.scrollPosition);
}
public function get horizontalScrollBar():ScrollBar{
return (_horizontalScrollBar);
}
override public function set enabled(_arg1:Boolean):void{
if (enabled == _arg1){
return;
};
_verticalScrollBar.enabled = _arg1;
_horizontalScrollBar.enabled = _arg1;
super.enabled = _arg1;
}
public function get verticalLineScrollSize():Number{
return (_verticalScrollBar.lineScrollSize);
}
public function get horizontalScrollPolicy():String{
return (_horizontalScrollPolicy);
}
protected function calculateAvailableSize():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local1 = ScrollBar.WIDTH;
_local2 = (contentPadding = Number(getStyleValue("contentPadding")));
_local3 = ((height - (2 * _local2)) - vOffset);
vScrollBar = (((_verticalScrollPolicy == ScrollPolicy.ON)) || ((((_verticalScrollPolicy == ScrollPolicy.AUTO)) && ((contentHeight > _local3)))));
_local4 = ((width - (vScrollBar) ? _local1 : 0) - (2 * _local2));
_local5 = (useFixedHorizontalScrolling) ? _maxHorizontalScrollPosition : (contentWidth - _local4);
hScrollBar = (((_horizontalScrollPolicy == ScrollPolicy.ON)) || ((((_horizontalScrollPolicy == ScrollPolicy.AUTO)) && ((_local5 > 0)))));
if (hScrollBar){
_local3 = (_local3 - _local1);
};
if (((((((hScrollBar) && (!(vScrollBar)))) && ((_verticalScrollPolicy == ScrollPolicy.AUTO)))) && ((contentHeight > _local3)))){
vScrollBar = true;
_local4 = (_local4 - _local1);
};
availableHeight = (_local3 + vOffset);
availableWidth = _local4;
}
public function get maxVerticalScrollPosition():Number{
drawNow();
return (Math.max(0, (contentHeight - availableHeight)));
}
public function set horizontalScrollPosition(_arg1:Number):void{
drawNow();
_horizontalScrollBar.scrollPosition = _arg1;
setHorizontalScrollPosition(_horizontalScrollBar.scrollPosition, false);
}
public function get horizontalLineScrollSize():Number{
return (_horizontalScrollBar.lineScrollSize);
}
public function set verticalPageScrollSize(_arg1:Number):void{
_verticalPageScrollSize = _arg1;
invalidate(InvalidationType.SIZE);
}
public function get verticalScrollPolicy():String{
return (_verticalScrollPolicy);
}
protected function setHorizontalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
}
public function get useBitmapScrolling():Boolean{
return (_useBitmpScrolling);
}
protected function handleScroll(_arg1:ScrollEvent):void{
if (_arg1.target == _verticalScrollBar){
setVerticalScrollPosition(_arg1.position);
} else {
setHorizontalScrollPosition(_arg1.position);
};
}
public function set verticalLineScrollSize(_arg1:Number):void{
_verticalScrollBar.lineScrollSize = _arg1;
}
public function get verticalScrollBar():ScrollBar{
return (_verticalScrollBar);
}
protected function setVerticalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
}
public function set horizontalPageScrollSize(_arg1:Number):void{
_horizontalPageScrollSize = _arg1;
invalidate(InvalidationType.SIZE);
}
override protected function draw():void{
if (isInvalid(InvalidationType.STYLES)){
setStyles();
drawBackground();
if (contentPadding != getStyleValue("contentPadding")){
invalidate(InvalidationType.SIZE, false);
};
};
if (isInvalid(InvalidationType.SIZE, InvalidationType.STATE)){
drawLayout();
};
updateChildren();
super.draw();
}
public function set horizontalScrollPolicy(_arg1:String):void{
_horizontalScrollPolicy = _arg1;
invalidate(InvalidationType.SIZE);
}
override protected function configUI():void{
var _local1:Graphics;
super.configUI();
contentScrollRect = new Rectangle(0, 0, 85, 85);
_verticalScrollBar = new ScrollBar();
_verticalScrollBar.addEventListener(ScrollEvent.SCROLL, handleScroll, false, 0, true);
_verticalScrollBar.visible = false;
_verticalScrollBar.lineScrollSize = defaultLineScrollSize;
addChild(_verticalScrollBar);
copyStylesToChild(_verticalScrollBar, SCROLL_BAR_STYLES);
_horizontalScrollBar = new ScrollBar();
_horizontalScrollBar.direction = ScrollBarDirection.HORIZONTAL;
_horizontalScrollBar.addEventListener(ScrollEvent.SCROLL, handleScroll, false, 0, true);
_horizontalScrollBar.visible = false;
_horizontalScrollBar.lineScrollSize = defaultLineScrollSize;
addChild(_horizontalScrollBar);
copyStylesToChild(_horizontalScrollBar, SCROLL_BAR_STYLES);
disabledOverlay = new Shape();
_local1 = disabledOverlay.graphics;
_local1.beginFill(0xFFFFFF);
_local1.drawRect(0, 0, width, height);
_local1.endFill();
addEventListener(MouseEvent.MOUSE_WHEEL, handleWheel, false, 0, true);
}
protected function calculateContentWidth():void{
}
public function get verticalPageScrollSize():Number{
if (isNaN(availableHeight)){
drawNow();
};
return (((((_verticalPageScrollSize == 0)) && (!(isNaN(availableHeight))))) ? availableHeight : _verticalPageScrollSize);
}
protected function drawLayout():void{
calculateAvailableSize();
calculateContentWidth();
background.width = width;
background.height = height;
if (vScrollBar){
_verticalScrollBar.visible = true;
_verticalScrollBar.x = ((width - ScrollBar.WIDTH) - contentPadding);
_verticalScrollBar.y = contentPadding;
_verticalScrollBar.height = availableHeight;
} else {
_verticalScrollBar.visible = false;
};
_verticalScrollBar.setScrollProperties(availableHeight, 0, (contentHeight - availableHeight), verticalPageScrollSize);
setVerticalScrollPosition(_verticalScrollBar.scrollPosition, false);
if (hScrollBar){
_horizontalScrollBar.visible = true;
_horizontalScrollBar.x = contentPadding;
_horizontalScrollBar.y = ((height - ScrollBar.WIDTH) - contentPadding);
_horizontalScrollBar.width = availableWidth;
} else {
_horizontalScrollBar.visible = false;
};
_horizontalScrollBar.setScrollProperties(availableWidth, 0, (useFixedHorizontalScrolling) ? _maxHorizontalScrollPosition : (contentWidth - availableWidth), horizontalPageScrollSize);
setHorizontalScrollPosition(_horizontalScrollBar.scrollPosition, false);
drawDisabledOverlay();
}
protected function drawBackground():void{
var _local1:DisplayObject;
_local1 = background;
background = getDisplayObjectInstance(getStyleValue("skin"));
background.width = width;
background.height = height;
addChildAt(background, 0);
if (((!((_local1 == null))) && (!((_local1 == background))))){
removeChild(_local1);
};
}
public function set horizontalLineScrollSize(_arg1:Number):void{
_horizontalScrollBar.lineScrollSize = _arg1;
}
public function get horizontalPageScrollSize():Number{
if (isNaN(availableWidth)){
drawNow();
};
return (((((_horizontalPageScrollSize == 0)) && (!(isNaN(availableWidth))))) ? availableWidth : _horizontalPageScrollSize);
}
public function get maxHorizontalScrollPosition():Number{
drawNow();
return (Math.max(0, (contentWidth - availableWidth)));
}
protected function setStyles():void{
copyStylesToChild(_verticalScrollBar, SCROLL_BAR_STYLES);
copyStylesToChild(_horizontalScrollBar, SCROLL_BAR_STYLES);
}
protected function updateChildren():void{
_verticalScrollBar.enabled = (_horizontalScrollBar.enabled = enabled);
_verticalScrollBar.drawNow();
_horizontalScrollBar.drawNow();
}
public function set verticalScrollPolicy(_arg1:String):void{
_verticalScrollPolicy = _arg1;
invalidate(InvalidationType.SIZE);
}
public function set useBitmapScrolling(_arg1:Boolean):void{
_useBitmpScrolling = _arg1;
invalidate(InvalidationType.STATE);
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, ScrollBar.getStyleDefinition()));
}
}
}//package fl.containers
Section 37
//CellRenderer (fl.controls.listClasses.CellRenderer)
package fl.controls.listClasses {
import fl.controls.*;
import flash.events.*;
public class CellRenderer extends LabelButton implements ICellRenderer {
protected var _data:Object;
protected var _listData:ListData;
private static var defaultStyles:Object = {upSkin:"CellRenderer_upSkin", downSkin:"CellRenderer_downSkin", overSkin:"CellRenderer_overSkin", disabledSkin:"CellRenderer_disabledSkin", selectedDisabledSkin:"CellRenderer_selectedDisabledSkin", selectedUpSkin:"CellRenderer_selectedUpSkin", selectedDownSkin:"CellRenderer_selectedDownSkin", selectedOverSkin:"CellRenderer_selectedOverSkin", textFormat:null, disabledTextFormat:null, embedFonts:null, textPadding:5};
public function CellRenderer():void{
toggle = true;
focusEnabled = false;
}
override protected function toggleSelected(_arg1:MouseEvent):void{
}
override public function get selected():Boolean{
return (super.selected);
}
public function set listData(_arg1:ListData):void{
_listData = _arg1;
label = _listData.label;
setStyle("icon", _listData.icon);
}
override public function set selected(_arg1:Boolean):void{
super.selected = _arg1;
}
public function set data(_arg1:Object):void{
_data = _arg1;
}
public function get listData():ListData{
return (_listData);
}
override public function setSize(_arg1:Number, _arg2:Number):void{
super.setSize(_arg1, _arg2);
}
override protected function drawLayout():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
_local1 = Number(getStyleValue("textPadding"));
_local2 = 0;
if (icon != null){
icon.x = _local1;
icon.y = Math.round(((height - icon.height) >> 1));
_local2 = (icon.width + _local1);
};
if (label.length > 0){
textField.visible = true;
_local3 = Math.max(0, ((width - _local2) - (_local1 * 2)));
textField.width = _local3;
textField.height = (textField.textHeight + 4);
textField.x = (_local2 + _local1);
textField.y = Math.round(((height - textField.height) >> 1));
} else {
textField.visible = false;
};
background.width = width;
background.height = height;
}
public function get data():Object{
return (_data);
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls.listClasses
Section 38
//ICellRenderer (fl.controls.listClasses.ICellRenderer)
package fl.controls.listClasses {
public interface ICellRenderer {
function setSize(_arg1:Number, _arg2:Number):void;
function get listData():ListData;
function get data():Object;
function setMouseState(_arg1:String):void;
function set x(_arg1:Number):void;
function set y(_arg1:Number):void;
function set data(_arg1:Object):void;
function set selected(_arg1:Boolean):void;
function set listData(_arg1:ListData):void;
function get selected():Boolean;
}
}//package fl.controls.listClasses
Section 39
//ListData (fl.controls.listClasses.ListData)
package fl.controls.listClasses {
import fl.core.*;
public class ListData {
protected var _index:uint;
protected var _owner:UIComponent;
protected var _label:String;
protected var _icon:Object;// = null
protected var _row:uint;
protected var _column:uint;
public function ListData(_arg1:String, _arg2:Object, _arg3:UIComponent, _arg4:uint, _arg5:uint, _arg6:uint=0){
_icon = null;
super();
_label = _arg1;
_icon = _arg2;
_owner = _arg3;
_index = _arg4;
_row = _arg5;
_column = _arg6;
}
public function get owner():UIComponent{
return (_owner);
}
public function get label():String{
return (_label);
}
public function get row():uint{
return (_row);
}
public function get index():uint{
return (_index);
}
public function get icon():Object{
return (_icon);
}
public function get column():uint{
return (_column);
}
}
}//package fl.controls.listClasses
Section 40
//BaseButton (fl.controls.BaseButton)
package fl.controls {
import fl.core.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import fl.events.*;
public class BaseButton extends UIComponent {
protected var _selected:Boolean;// = false
private var unlockedMouseState:String;
protected var pressTimer:Timer;
protected var mouseState:String;
protected var background:DisplayObject;
private var _mouseStateLocked:Boolean;// = false
protected var _autoRepeat:Boolean;// = false
private static var defaultStyles:Object = {upSkin:"Button_upSkin", downSkin:"Button_downSkin", overSkin:"Button_overSkin", disabledSkin:"Button_disabledSkin", selectedDisabledSkin:"Button_selectedDisabledSkin", selectedUpSkin:"Button_selectedUpSkin", selectedDownSkin:"Button_selectedDownSkin", selectedOverSkin:"Button_selectedOverSkin", focusRectSkin:null, focusRectPadding:null, repeatDelay:500, repeatInterval:35};
public function BaseButton(){
_selected = false;
_autoRepeat = false;
_mouseStateLocked = false;
super();
buttonMode = true;
mouseChildren = false;
useHandCursor = false;
setupMouseEvents();
setMouseState("up");
pressTimer = new Timer(1, 0);
pressTimer.addEventListener(TimerEvent.TIMER, buttonDown, false, 0, true);
}
protected function endPress():void{
pressTimer.reset();
}
public function set mouseStateLocked(_arg1:Boolean):void{
_mouseStateLocked = _arg1;
if (_arg1 == false){
setMouseState(unlockedMouseState);
} else {
unlockedMouseState = mouseState;
};
}
public function get autoRepeat():Boolean{
return (_autoRepeat);
}
public function set autoRepeat(_arg1:Boolean):void{
_autoRepeat = _arg1;
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
mouseEnabled = _arg1;
}
public function get selected():Boolean{
return (_selected);
}
protected function mouseEventHandler(_arg1:MouseEvent):void{
if (_arg1.type == MouseEvent.MOUSE_DOWN){
setMouseState("down");
startPress();
} else {
if ((((_arg1.type == MouseEvent.ROLL_OVER)) || ((_arg1.type == MouseEvent.MOUSE_UP)))){
setMouseState("over");
endPress();
} else {
if (_arg1.type == MouseEvent.ROLL_OUT){
setMouseState("up");
endPress();
};
};
};
}
public function setMouseState(_arg1:String):void{
if (_mouseStateLocked){
unlockedMouseState = _arg1;
return;
};
if (mouseState == _arg1){
return;
};
mouseState = _arg1;
invalidate(InvalidationType.STATE);
}
protected function startPress():void{
if (_autoRepeat){
pressTimer.delay = Number(getStyleValue("repeatDelay"));
pressTimer.start();
};
dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true));
}
protected function buttonDown(_arg1:TimerEvent):void{
if (!_autoRepeat){
endPress();
return;
};
if (pressTimer.currentCount == 1){
pressTimer.delay = Number(getStyleValue("repeatInterval"));
};
dispatchEvent(new ComponentEvent(ComponentEvent.BUTTON_DOWN, true));
}
public function set selected(_arg1:Boolean):void{
if (_selected == _arg1){
return;
};
_selected = _arg1;
invalidate(InvalidationType.STATE);
}
override public function get enabled():Boolean{
return (super.enabled);
}
override protected function draw():void{
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
drawBackground();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
drawLayout();
};
super.draw();
}
protected function setupMouseEvents():void{
addEventListener(MouseEvent.ROLL_OVER, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.MOUSE_DOWN, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.MOUSE_UP, mouseEventHandler, false, 0, true);
addEventListener(MouseEvent.ROLL_OUT, mouseEventHandler, false, 0, true);
}
protected function drawLayout():void{
background.width = width;
background.height = height;
}
protected function drawBackground():void{
var _local1:String;
var _local2:DisplayObject;
_local1 = (enabled) ? mouseState : "disabled";
if (selected){
_local1 = (("selected" + _local1.substr(0, 1).toUpperCase()) + _local1.substr(1));
};
_local1 = (_local1 + "Skin");
_local2 = background;
background = getDisplayObjectInstance(getStyleValue(_local1));
addChildAt(background, 0);
if (((!((_local2 == null))) && (!((_local2 == background))))){
removeChild(_local2);
};
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 41
//Button (fl.controls.Button)
package fl.controls {
import fl.core.*;
import flash.display.*;
import fl.managers.*;
public class Button extends LabelButton implements IFocusManagerComponent {
protected var emphasizedBorder:DisplayObject;
protected var _emphasized:Boolean;// = false
private static var defaultStyles:Object = {emphasizedSkin:"Button_emphasizedSkin", emphasizedPadding:2};
public static var createAccessibilityImplementation:Function;
public function Button(){
_emphasized = false;
super();
}
override public function drawFocus(_arg1:Boolean):void{
var _local2:Number;
var _local3:*;
super.drawFocus(_arg1);
if (_arg1){
_local2 = Number(getStyleValue("emphasizedPadding"));
if ((((_local2 < 0)) || (!(_emphasized)))){
_local2 = 0;
};
_local3 = getStyleValue("focusRectPadding");
_local3 = ((_local3)==null) ? 2 : _local3;
_local3 = (_local3 + _local2);
uiFocusRect.x = -(_local3);
uiFocusRect.y = -(_local3);
uiFocusRect.width = (width + (_local3 * 2));
uiFocusRect.height = (height + (_local3 * 2));
};
}
public function set emphasized(_arg1:Boolean):void{
_emphasized = _arg1;
invalidate(InvalidationType.STYLES);
}
override protected function draw():void{
if (((isInvalid(InvalidationType.STYLES)) || (isInvalid(InvalidationType.SIZE)))){
drawEmphasized();
};
super.draw();
if (emphasizedBorder != null){
setChildIndex(emphasizedBorder, (numChildren - 1));
};
}
public function get emphasized():Boolean{
return (_emphasized);
}
override protected function initializeAccessibility():void{
if (Button.createAccessibilityImplementation != null){
Button.createAccessibilityImplementation(this);
};
}
protected function drawEmphasized():void{
var _local1:Object;
var _local2:Number;
if (emphasizedBorder != null){
removeChild(emphasizedBorder);
};
emphasizedBorder = null;
if (!_emphasized){
return;
};
_local1 = getStyleValue("emphasizedSkin");
if (_local1 != null){
emphasizedBorder = getDisplayObjectInstance(_local1);
};
if (emphasizedBorder != null){
addChildAt(emphasizedBorder, 0);
_local2 = Number(getStyleValue("emphasizedPadding"));
emphasizedBorder.x = (emphasizedBorder.y = -(_local2));
emphasizedBorder.width = (width + (_local2 * 2));
emphasizedBorder.height = (height + (_local2 * 2));
};
}
public static function getStyleDefinition():Object{
return (UIComponent.mergeStyles(LabelButton.getStyleDefinition(), defaultStyles));
}
}
}//package fl.controls
Section 42
//ButtonLabelPlacement (fl.controls.ButtonLabelPlacement)
package fl.controls {
public class ButtonLabelPlacement {
public static const TOP:String = "top";
public static const LEFT:String = "left";
public static const BOTTOM:String = "bottom";
public static const RIGHT:String = "right";
}
}//package fl.controls
Section 43
//ComboBox (fl.controls.ComboBox)
package fl.controls {
import fl.controls.listClasses.*;
import fl.core.*;
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import fl.data.*;
import fl.managers.*;
import fl.events.*;
import flash.text.*;
import flash.ui.*;
public class ComboBox extends UIComponent implements IFocusManagerComponent {
protected var _dropdownWidth:Number;
protected var highlightedCell:int;// = -1
protected var _prompt:String;
protected var isOpen:Boolean;// = false
protected var list:List;
protected var _rowCount:uint;// = 5
protected var currentIndex:int;
protected var isKeyDown:Boolean;// = false
protected var _labels:Array;
protected var background:BaseButton;
protected var inputField:TextInput;
protected var listOverIndex:uint;
protected var editableValue:String;
protected var _editable:Boolean;// = false
private var collectionItemImport:SimpleCollectionItem;
protected static const BACKGROUND_STYLES:Object = {overSkin:"overSkin", downSkin:"downSkin", upSkin:"upSkin", disabledSkin:"disabledSkin", repeatInterval:"repeatInterval"};
protected static const LIST_STYLES:Object = {upSkin:"comboListUpSkin", overSkin:"comboListOverSkin", downSkin:"comobListDownSkin", disabledSkin:"comboListDisabledSkin", downArrowDisabledSkin:"downArrowDisabledSkin", downArrowDownSkin:"downArrowDownSkin", downArrowOverSkin:"downArrowOverSkin", downArrowUpSkin:"downArrowUpSkin", upArrowDisabledSkin:"upArrowDisabledSkin", upArrowDownSkin:"upArrowDownSkin", upArrowOverSkin:"upArrowOverSkin", upArrowUpSkin:"upArrowUpSkin", thumbDisabledSkin:"thumbDisabledSkin", thumbDownSkin:"thumbDownSkin", thumbOverSkin:"thumbOverSkin", thumbUpSkin:"thumbUpSkin", thumbIcon:"thumbIcon", trackDisabledSkin:"trackDisabledSkin", trackDownSkin:"trackDownSkin", trackOverSkin:"trackOverSkin", trackUpSkin:"trackUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval", textFormat:"textFormat", disabledAlpha:"disabledAlpha", skin:"listSkin"};
private static var defaultStyles:Object = {upSkin:"ComboBox_upSkin", downSkin:"ComboBox_downSkin", overSkin:"ComboBox_overSkin", disabledSkin:"ComboBox_disabledSkin", focusRectSkin:null, focusRectPadding:null, textFormat:null, disabledTextFormat:null, textPadding:3, buttonWidth:24, disabledAlpha:null, listSkin:null};
public static var createAccessibilityImplementation:Function;
public function ComboBox(){
_rowCount = 5;
_editable = false;
isOpen = false;
highlightedCell = -1;
isKeyDown = false;
super();
}
protected function drawList():void{
list.rowCount = Math.max(0, Math.min(_rowCount, list.dataProvider.length));
}
public function set imeMode(_arg1:String):void{
inputField.imeMode = _arg1;
}
public function get dropdown():List{
return (list);
}
public function get dropdownWidth():Number{
return (list.width);
}
public function sortItemsOn(_arg1:String, _arg2:Object=null){
return (list.sortItemsOn(_arg1, _arg2));
}
protected function onEnter(_arg1:ComponentEvent):void{
_arg1.stopPropagation();
}
public function removeItemAt(_arg1:uint):void{
list.removeItemAt(_arg1);
invalidate(InvalidationType.DATA);
}
public function open():void{
currentIndex = selectedIndex;
if (((isOpen) || ((length == 0)))){
return;
};
dispatchEvent(new Event(Event.OPEN));
isOpen = true;
addEventListener(Event.ENTER_FRAME, addCloseListener, false, 0, true);
positionList();
list.scrollToSelected();
stage.addChild(list);
}
public function get selectedItem():Object{
return (list.selectedItem);
}
public function set text(_arg1:String):void{
if (!editable){
return;
};
inputField.text = _arg1;
}
public function get labelField():String{
return (list.labelField);
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
var _local2:int;
var _local3:uint;
var _local4:Number;
var _local5:int;
isKeyDown = true;
if (_arg1.ctrlKey){
switch (_arg1.keyCode){
case Keyboard.UP:
if (highlightedCell > -1){
selectedIndex = highlightedCell;
dispatchEvent(new Event(Event.CHANGE));
};
close();
break;
case Keyboard.DOWN:
open();
break;
};
return;
};
_arg1.stopPropagation();
_local2 = Math.max(((calculateAvailableHeight() / list.rowHeight) << 0), 1);
_local3 = selectedIndex;
_local4 = ((highlightedCell)==-1) ? selectedIndex : highlightedCell;
_local5 = -1;
switch (_arg1.keyCode){
case Keyboard.SPACE:
if (isOpen){
close();
} else {
open();
};
return;
case Keyboard.ESCAPE:
if (isOpen){
if (highlightedCell > -1){
selectedIndex = selectedIndex;
};
close();
};
return;
case Keyboard.UP:
_local5 = Math.max(0, (_local4 - 1));
break;
case Keyboard.DOWN:
_local5 = Math.min((length - 1), (_local4 + 1));
break;
case Keyboard.PAGE_UP:
_local5 = Math.max((_local4 - _local2), 0);
break;
case Keyboard.PAGE_DOWN:
_local5 = Math.min((_local4 + _local2), (length - 1));
break;
case Keyboard.HOME:
_local5 = 0;
break;
case Keyboard.END:
_local5 = (length - 1);
break;
case Keyboard.ENTER:
if (((_editable) && ((highlightedCell == -1)))){
editableValue = inputField.text;
selectedIndex = -1;
} else {
if (((isOpen) && ((highlightedCell > -1)))){
editableValue = null;
selectedIndex = highlightedCell;
dispatchEvent(new Event(Event.CHANGE));
};
};
dispatchEvent(new ComponentEvent(ComponentEvent.ENTER));
close();
return;
default:
if (editable){
break;
};
_local5 = list.getNextIndexAtLetter(String.fromCharCode(_arg1.keyCode), _local4);
break;
};
if (_local5 > -1){
if (isOpen){
highlightCell(_local5);
inputField.text = list.itemToLabel(getItemAt(_local5));
} else {
highlightCell();
selectedIndex = _local5;
dispatchEvent(new Event(Event.CHANGE));
};
};
}
public function set dropdownWidth(_arg1:Number):void{
_dropdownWidth = _arg1;
invalidate(InvalidationType.SIZE);
}
public function get editable():Boolean{
return (_editable);
}
override protected function focusInHandler(_arg1:FocusEvent):void{
super.focusInHandler(_arg1);
if (editable){
stage.focus = inputField.textField;
};
}
protected function onStageClick(_arg1:MouseEvent):void{
if (!isOpen){
return;
};
if (((!(contains((_arg1.target as DisplayObject)))) && (!(list.contains((_arg1.target as DisplayObject)))))){
if (highlightedCell != -1){
selectedIndex = highlightedCell;
dispatchEvent(new Event(Event.CHANGE));
};
close();
};
}
protected function handleDataChange(_arg1:DataChangeEvent):void{
invalidate(InvalidationType.DATA);
}
override protected function keyUpHandler(_arg1:KeyboardEvent):void{
isKeyDown = false;
}
protected function onListItemUp(_arg1:MouseEvent):void{
var _local2:*;
stage.removeEventListener(MouseEvent.MOUSE_UP, onListItemUp);
if (((!((_arg1.target is ICellRenderer))) || (!(list.contains((_arg1.target as DisplayObject)))))){
return;
};
editableValue = null;
_local2 = selectedIndex;
selectedIndex = _arg1.target.listData.index;
if (_local2 != selectedIndex){
dispatchEvent(new Event(Event.CHANGE));
};
close();
}
public function removeAll():void{
list.removeAll();
inputField.text = "";
invalidate(InvalidationType.DATA);
}
public function set selectedItem(_arg1:Object):void{
list.selectedItem = _arg1;
invalidate(InvalidationType.SELECTED);
}
protected function highlightCell(_arg1:int=-1):void{
var _local2:ICellRenderer;
if (highlightedCell > -1){
_local2 = list.itemToCellRenderer(getItemAt(highlightedCell));
if (_local2 != null){
_local2.setMouseState("up");
};
};
if (_arg1 == -1){
return;
};
list.scrollToIndex(_arg1);
list.drawNow();
_local2 = list.itemToCellRenderer(getItemAt(_arg1));
if (_local2 != null){
_local2.setMouseState("over");
highlightedCell = _arg1;
};
}
public function itemToLabel(_arg1:Object):String{
if (_arg1 == null){
return ("");
};
return (list.itemToLabel(_arg1));
}
public function addItemAt(_arg1:Object, _arg2:uint):void{
list.addItemAt(_arg1, _arg2);
invalidate(InvalidationType.DATA);
}
public function replaceItemAt(_arg1:Object, _arg2:uint):Object{
return (list.replaceItemAt(_arg1, _arg2));
}
protected function showPrompt():void{
inputField.text = _prompt;
}
public function set rowCount(_arg1:uint):void{
_rowCount = _arg1;
invalidate(InvalidationType.SIZE);
}
public function get restrict():String{
return (inputField.restrict);
}
protected function setEmbedFonts():void{
var _local1:Object;
_local1 = getStyleValue("embedFonts");
if (_local1 != null){
inputField.textField.embedFonts = _local1;
};
}
public function sortItems(... _args){
return (list.sortItems.apply(list, _args));
}
public function set labelField(_arg1:String):void{
list.labelField = _arg1;
invalidate(InvalidationType.DATA);
}
public function set editable(_arg1:Boolean):void{
_editable = _arg1;
drawTextField();
}
public function set prompt(_arg1:String):void{
if (_arg1 == ""){
_prompt = null;
} else {
_prompt = _arg1;
};
invalidate(InvalidationType.STATE);
}
public function get length():int{
return (list.length);
}
protected function drawTextField():void{
inputField.setStyle("upSkin", "");
inputField.setStyle("disabledSkin", "");
inputField.enabled = enabled;
inputField.editable = _editable;
inputField.textField.selectable = ((enabled) && (_editable));
inputField.mouseEnabled = (inputField.mouseChildren = ((enabled) && (_editable)));
inputField.focusEnabled = false;
if (_editable){
inputField.addEventListener(FocusEvent.FOCUS_IN, onInputFieldFocus, false, 0, true);
inputField.addEventListener(FocusEvent.FOCUS_OUT, onInputFieldFocusOut, false, 0, true);
} else {
inputField.removeEventListener(FocusEvent.FOCUS_IN, onInputFieldFocus);
inputField.removeEventListener(FocusEvent.FOCUS_OUT, onInputFieldFocusOut);
};
}
protected function onInputFieldFocusOut(_arg1:FocusEvent):void{
inputField.removeEventListener(ComponentEvent.ENTER, onEnter);
selectedIndex = selectedIndex;
}
protected function passEvent(_arg1:Event):void{
dispatchEvent(_arg1);
}
public function get imeMode():String{
return (inputField.imeMode);
}
public function get labelFunction():Function{
return (list.labelFunction);
}
protected function calculateAvailableHeight():Number{
var _local1:Number;
_local1 = Number(getStyleValue("contentPadding"));
return ((list.height - (_local1 * 2)));
}
public function get selectedIndex():int{
return (list.selectedIndex);
}
override protected function focusOutHandler(_arg1:FocusEvent):void{
isKeyDown = false;
if (isOpen){
if (((!(_arg1.relatedObject)) || (!(list.contains(_arg1.relatedObject))))){
if (((!((highlightedCell == -1))) && (!((highlightedCell == selectedIndex))))){
selectedIndex = highlightedCell;
dispatchEvent(new Event(Event.CHANGE));
};
close();
};
};
super.focusOutHandler(_arg1);
}
public function get selectedLabel():String{
if (editableValue != null){
return (editableValue);
};
if (selectedIndex == -1){
return (null);
};
return (itemToLabel(selectedItem));
}
public function get text():String{
return (inputField.text);
}
protected function onListChange(_arg1:Event):void{
editableValue = null;
dispatchEvent(_arg1);
invalidate(InvalidationType.SELECTED);
if (isKeyDown){
return;
};
close();
}
protected function onToggleListVisibility(_arg1:MouseEvent):void{
_arg1.stopPropagation();
dispatchEvent(_arg1);
if (isOpen){
close();
} else {
open();
stage.addEventListener(MouseEvent.MOUSE_UP, onListItemUp, false, 0, true);
};
}
override protected function draw():void{
var _local1:*;
_local1 = selectedIndex;
if ((((_local1 == -1)) && (((((!((prompt == null))) || (editable))) || ((length == 0)))))){
_local1 = Math.max(-1, Math.min(_local1, (length - 1)));
} else {
editableValue = null;
_local1 = Math.max(0, Math.min(_local1, (length - 1)));
};
if (list.selectedIndex != _local1){
list.selectedIndex = _local1;
invalidate(InvalidationType.SELECTED, false);
};
if (isInvalid(InvalidationType.STYLES)){
setStyles();
setEmbedFonts();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE, InvalidationType.DATA, InvalidationType.STATE)){
drawTextFormat();
drawLayout();
invalidate(InvalidationType.DATA);
};
if (isInvalid(InvalidationType.DATA)){
drawList();
invalidate(InvalidationType.SELECTED, true);
};
if (isInvalid(InvalidationType.SELECTED)){
if ((((_local1 == -1)) && (!((editableValue == null))))){
inputField.text = editableValue;
} else {
if (_local1 > -1){
if (length > 0){
inputField.horizontalScrollPosition = 0;
inputField.text = itemToLabel(list.selectedItem);
};
} else {
if ((((_local1 == -1)) && (!((_prompt == null))))){
showPrompt();
} else {
inputField.text = "";
};
};
};
if (((((editable) && ((selectedIndex > -1)))) && ((stage.focus == inputField.textField)))){
inputField.setSelection(0, inputField.length);
};
};
drawTextField();
super.draw();
}
public function addItem(_arg1:Object):void{
list.addItem(_arg1);
invalidate(InvalidationType.DATA);
}
public function get rowCount():uint{
return (_rowCount);
}
override protected function configUI():void{
super.configUI();
background = new BaseButton();
background.focusEnabled = false;
copyStylesToChild(background, BACKGROUND_STYLES);
background.addEventListener(MouseEvent.MOUSE_DOWN, onToggleListVisibility, false, 0, true);
addChild(background);
inputField = new TextInput();
inputField.focusTarget = (this as IFocusManagerComponent);
inputField.focusEnabled = false;
inputField.addEventListener(Event.CHANGE, onTextInput, false, 0, true);
addChild(inputField);
list = new List();
list.focusEnabled = false;
copyStylesToChild(list, LIST_STYLES);
list.addEventListener(Event.CHANGE, onListChange, false, 0, true);
list.addEventListener(ListEvent.ITEM_CLICK, onListChange, false, 0, true);
list.addEventListener(ListEvent.ITEM_ROLL_OUT, passEvent, false, 0, true);
list.addEventListener(ListEvent.ITEM_ROLL_OVER, passEvent, false, 0, true);
list.verticalScrollBar.addEventListener(Event.SCROLL, passEvent, false, 0, true);
}
protected function positionList():void{
var _local1:Point;
_local1 = localToGlobal(new Point(0, 0));
list.x = _local1.x;
if (((_local1.y + height) + list.height) > stage.stageHeight){
list.y = (_local1.y - list.height);
} else {
list.y = (_local1.y + height);
};
}
public function get value():String{
var _local1:Object;
if (editableValue != null){
return (editableValue);
};
_local1 = selectedItem;
if (((!(_editable)) && (!((_local1.data == null))))){
return (_local1.data);
};
return (itemToLabel(_local1));
}
public function get prompt():String{
return (_prompt);
}
public function set dataProvider(_arg1:DataProvider):void{
_arg1.addEventListener(DataChangeEvent.DATA_CHANGE, handleDataChange, false, 0, true);
list.dataProvider = _arg1;
invalidate(InvalidationType.DATA);
}
public function set restrict(_arg1:String):void{
if (((componentInspectorSetting) && ((_arg1 == "")))){
_arg1 = null;
};
if (!_editable){
return;
};
inputField.restrict = _arg1;
}
protected function onTextInput(_arg1:Event):void{
_arg1.stopPropagation();
if (!_editable){
return;
};
editableValue = inputField.text;
selectedIndex = -1;
dispatchEvent(new Event(Event.CHANGE));
}
protected function onInputFieldFocus(_arg1:FocusEvent):void{
inputField.addEventListener(ComponentEvent.ENTER, onEnter, false, 0, true);
close();
}
public function getItemAt(_arg1:uint):Object{
return (list.getItemAt(_arg1));
}
override protected function initializeAccessibility():void{
if (ComboBox.createAccessibilityImplementation != null){
ComboBox.createAccessibilityImplementation(this);
};
}
protected function drawLayout():void{
var _local1:Number;
var _local2:Number;
_local1 = (getStyleValue("buttonWidth") as Number);
_local2 = (getStyleValue("textPadding") as Number);
background.setSize(width, height);
inputField.x = (inputField.y = _local2);
inputField.setSize(((width - _local1) - _local2), (height - _local2));
list.width = (isNaN(_dropdownWidth)) ? width : _dropdownWidth;
background.enabled = enabled;
background.drawNow();
}
public function removeItem(_arg1:Object):Object{
return (list.removeItem(_arg1));
}
private function addCloseListener(_arg1:Event){
removeEventListener(Event.ENTER_FRAME, addCloseListener);
if (!isOpen){
return;
};
stage.addEventListener(MouseEvent.MOUSE_DOWN, onStageClick, false, 0, true);
}
public function get dataProvider():DataProvider{
return (list.dataProvider);
}
public function get textField():TextInput{
return (inputField);
}
protected function setStyles():void{
copyStylesToChild(background, BACKGROUND_STYLES);
copyStylesToChild(list, LIST_STYLES);
}
public function set labelFunction(_arg1:Function):void{
list.labelFunction = _arg1;
invalidate(InvalidationType.DATA);
}
protected function drawTextFormat():void{
var _local1:TextFormat;
_local1 = (getStyleValue((_enabled) ? "textFormat" : "disabledTextFormat") as TextFormat);
if (_local1 == null){
_local1 = new TextFormat();
};
inputField.textField.defaultTextFormat = _local1;
inputField.textField.setTextFormat(_local1);
setEmbedFonts();
}
public function set selectedIndex(_arg1:int):void{
list.selectedIndex = _arg1;
highlightCell();
invalidate(InvalidationType.SELECTED);
}
public function close():void{
highlightCell();
highlightedCell = -1;
if (!isOpen){
return;
};
dispatchEvent(new Event(Event.CLOSE));
stage.removeEventListener(MouseEvent.MOUSE_DOWN, onStageClick);
isOpen = false;
stage.removeChild(list);
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, List.getStyleDefinition()));
}
}
}//package fl.controls
Section 44
//LabelButton (fl.controls.LabelButton)
package fl.controls {
import fl.core.*;
import flash.display.*;
import flash.events.*;
import fl.managers.*;
import fl.events.*;
import flash.text.*;
import flash.ui.*;
public class LabelButton extends BaseButton implements IFocusManagerComponent {
protected var _labelPlacement:String;// = "right"
protected var _toggle:Boolean;// = false
protected var icon:DisplayObject;
protected var oldMouseState:String;
protected var mode:String;// = "center"
public var textField:TextField;
protected var _label:String;// = "Label"
private static var defaultStyles:Object = {icon:null, upIcon:null, downIcon:null, overIcon:null, disabledIcon:null, selectedDisabledIcon:null, selectedUpIcon:null, selectedDownIcon:null, selectedOverIcon:null, textFormat:null, disabledTextFormat:null, textPadding:5, embedFonts:false};
public static var createAccessibilityImplementation:Function;
public function LabelButton(){
_labelPlacement = ButtonLabelPlacement.RIGHT;
_toggle = false;
_label = "Label";
mode = "center";
super();
}
protected function toggleSelected(_arg1:MouseEvent):void{
selected = !(selected);
dispatchEvent(new Event(Event.CHANGE, true));
}
public function get labelPlacement():String{
return (_labelPlacement);
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
if (!enabled){
return;
};
if (_arg1.keyCode == Keyboard.SPACE){
if (oldMouseState == null){
oldMouseState = mouseState;
};
setMouseState("down");
startPress();
};
}
protected function setEmbedFont(){
var _local1:Object;
_local1 = getStyleValue("embedFonts");
if (_local1 != null){
textField.embedFonts = _local1;
};
}
override protected function keyUpHandler(_arg1:KeyboardEvent):void{
if (!enabled){
return;
};
if (_arg1.keyCode == Keyboard.SPACE){
setMouseState(oldMouseState);
oldMouseState = null;
endPress();
dispatchEvent(new MouseEvent(MouseEvent.CLICK));
};
}
override public function get selected():Boolean{
return ((_toggle) ? _selected : false);
}
public function set labelPlacement(_arg1:String):void{
_labelPlacement = _arg1;
invalidate(InvalidationType.SIZE);
}
public function set toggle(_arg1:Boolean):void{
if (((!(_arg1)) && (super.selected))){
selected = false;
};
_toggle = _arg1;
if (_toggle){
addEventListener(MouseEvent.CLICK, toggleSelected, false, 0, true);
} else {
removeEventListener(MouseEvent.CLICK, toggleSelected);
};
invalidate(InvalidationType.STATE);
}
public function get label():String{
return (_label);
}
override public function set selected(_arg1:Boolean):void{
_selected = _arg1;
if (_toggle){
invalidate(InvalidationType.STATE);
};
}
override protected function draw():void{
if (textField.text != _label){
label = _label;
};
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
drawBackground();
drawIcon();
drawTextFormat();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
drawLayout();
};
if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){
if (((isFocused) && (focusManager.showFocusIndicator))){
drawFocus(true);
};
};
validate();
}
public function get toggle():Boolean{
return (_toggle);
}
override protected function configUI():void{
super.configUI();
textField = new TextField();
textField.type = TextFieldType.DYNAMIC;
textField.selectable = false;
addChild(textField);
}
override protected function drawLayout():void{
var _local1:Number;
var _local2:String;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local1 = Number(getStyleValue("textPadding"));
_local2 = ((((icon == null)) && ((mode == "center")))) ? ButtonLabelPlacement.TOP : _labelPlacement;
textField.height = (textField.textHeight + 4);
_local3 = (textField.textWidth + 4);
_local4 = (textField.textHeight + 4);
_local5 = ((icon)==null) ? 0 : (icon.width + _local1);
_local6 = ((icon)==null) ? 0 : (icon.height + _local1);
textField.visible = (label.length > 0);
if (icon != null){
icon.x = Math.round(((width - icon.width) / 2));
icon.y = Math.round(((height - icon.height) / 2));
};
if (textField.visible == false){
textField.width = 0;
textField.height = 0;
} else {
if ((((_local2 == ButtonLabelPlacement.BOTTOM)) || ((_local2 == ButtonLabelPlacement.TOP)))){
_local7 = Math.max(0, Math.min(_local3, (width - (2 * _local1))));
if ((height - 2) > _local4){
_local8 = _local4;
} else {
_local8 = (height - 2);
};
_local3 = _local7;
textField.width = _local3;
_local4 = _local8;
textField.height = _local4;
textField.x = Math.round(((width - _local3) / 2));
textField.y = Math.round(((((height - textField.height) - _local6) / 2) + ((_local2)==ButtonLabelPlacement.BOTTOM) ? _local6 : 0));
if (icon != null){
icon.y = Math.round(((_local2)==ButtonLabelPlacement.BOTTOM) ? (textField.y - _local6) : ((textField.y + textField.height) + _local1));
};
} else {
_local7 = Math.max(0, Math.min(_local3, ((width - _local5) - (2 * _local1))));
_local3 = _local7;
textField.width = _local3;
textField.x = Math.round(((((width - _local3) - _local5) / 2) + ((_local2)!=ButtonLabelPlacement.LEFT) ? _local5 : 0));
textField.y = Math.round(((height - textField.height) / 2));
if (icon != null){
icon.x = Math.round(((_local2)!=ButtonLabelPlacement.LEFT) ? (textField.x - _local5) : ((textField.x + _local3) + _local1));
};
};
};
super.drawLayout();
}
override protected function initializeAccessibility():void{
if (LabelButton.createAccessibilityImplementation != null){
LabelButton.createAccessibilityImplementation(this);
};
}
protected function drawIcon():void{
var _local1:DisplayObject;
var _local2:String;
var _local3:Object;
_local1 = icon;
_local2 = (enabled) ? mouseState : "disabled";
if (selected){
_local2 = (("selected" + _local2.substr(0, 1).toUpperCase()) + _local2.substr(1));
};
_local2 = (_local2 + "Icon");
_local3 = getStyleValue(_local2);
if (_local3 == null){
_local3 = getStyleValue("icon");
};
if (_local3 != null){
icon = getDisplayObjectInstance(_local3);
};
if (icon != null){
addChildAt(icon, 1);
};
if (((!((_local1 == null))) && (!((_local1 == icon))))){
removeChild(_local1);
};
}
public function set label(_arg1:String):void{
_label = _arg1;
if (textField.text != _label){
textField.text = _label;
dispatchEvent(new ComponentEvent(ComponentEvent.LABEL_CHANGE));
};
invalidate(InvalidationType.SIZE);
invalidate(InvalidationType.STYLES);
}
protected function drawTextFormat():void{
var _local1:Object;
var _local2:TextFormat;
var _local3:TextFormat;
_local1 = UIComponent.getStyleDefinition();
_local2 = (enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat);
textField.setTextFormat(_local2);
_local3 = (getStyleValue((enabled) ? "textFormat" : "disabledTextFormat") as TextFormat);
if (_local3 != null){
textField.setTextFormat(_local3);
} else {
_local3 = _local2;
};
textField.defaultTextFormat = _local3;
setEmbedFont();
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, BaseButton.getStyleDefinition()));
}
}
}//package fl.controls
Section 45
//List (fl.controls.List)
package fl.controls {
import fl.controls.listClasses.*;
import fl.core.*;
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
import fl.managers.*;
import flash.ui.*;
public class List extends SelectableList implements IFocusManagerComponent {
protected var _labelField:String;// = "label"
protected var _rowHeight:Number;// = 20
protected var _cellRenderer:Object;
protected var _iconField:String;// = "icon"
protected var _labelFunction:Function;
protected var _iconFunction:Function;
private static var defaultStyles:Object = {focusRectSkin:null, focusRectPadding:null};
public static var createAccessibilityImplementation:Function;
public function List(){
_rowHeight = 20;
_labelField = "label";
_iconField = "icon";
super();
}
public function get iconField():String{
return (_iconField);
}
protected function doKeySelection(_arg1:int, _arg2:Boolean, _arg3:Boolean):void{
var _local4:Boolean;
var _local5:int;
var _local6:Array;
var _local7:int;
var _local8:int;
_local4 = false;
if (_arg2){
_local6 = [];
_local7 = lastCaretIndex;
_local8 = _arg1;
if (_local7 == -1){
_local7 = ((caretIndex)!=-1) ? caretIndex : _arg1;
};
if (_local7 > _local8){
_local8 = _local7;
_local7 = _arg1;
};
_local5 = _local7;
while (_local5 <= _local8) {
_local6.push(_local5);
_local5++;
};
selectedIndices = _local6;
caretIndex = _arg1;
_local4 = true;
} else {
selectedIndex = _arg1;
caretIndex = (lastCaretIndex = _arg1);
_local4 = true;
};
if (_local4){
dispatchEvent(new Event(Event.CHANGE));
};
invalidate(InvalidationType.DATA);
}
override protected function drawList():void{
var _local1:Rectangle;
var _local2:uint;
var _local3:uint;
var _local4:uint;
var _local5:Object;
var _local6:ICellRenderer;
var _local7:Dictionary;
var _local8:Dictionary;
var _local9:Boolean;
var _local10:String;
var _local11:Object;
var _local12:Sprite;
var _local13:String;
listHolder.x = (listHolder.y = contentPadding);
_local1 = listHolder.scrollRect;
_local1.x = _horizontalScrollPosition;
_local1.y = (Math.floor(_verticalScrollPosition) % rowHeight);
listHolder.scrollRect = _local1;
listHolder.cacheAsBitmap = useBitmapScrolling;
_local2 = Math.floor((_verticalScrollPosition / rowHeight));
_local3 = Math.min(length, ((_local2 + rowCount) + 1));
_local7 = (renderedItems = new Dictionary(true));
_local4 = _local2;
while (_local4 < _local3) {
_local7[_dataProvider.getItemAt(_local4)] = true;
_local4++;
};
_local8 = new Dictionary(true);
while (activeCellRenderers.length > 0) {
_local6 = (activeCellRenderers.pop() as ICellRenderer);
_local5 = _local6.data;
if ((((_local7[_local5] == null)) || ((invalidItems[_local5] == true)))){
availableCellRenderers.push(_local6);
} else {
_local8[_local5] = _local6;
invalidItems[_local5] = true;
};
list.removeChild((_local6 as DisplayObject));
};
invalidItems = new Dictionary(true);
_local4 = _local2;
while (_local4 < _local3) {
_local9 = false;
_local5 = _dataProvider.getItemAt(_local4);
if (_local8[_local5] != null){
_local9 = true;
_local6 = _local8[_local5];
delete _local8[_local5];
} else {
if (availableCellRenderers.length > 0){
_local6 = (availableCellRenderers.pop() as ICellRenderer);
} else {
_local6 = (getDisplayObjectInstance(getStyleValue("cellRenderer")) as ICellRenderer);
_local12 = (_local6 as Sprite);
if (_local12 != null){
_local12.addEventListener(MouseEvent.CLICK, handleCellRendererClick, false, 0, true);
_local12.addEventListener(MouseEvent.ROLL_OVER, handleCellRendererMouseEvent, false, 0, true);
_local12.addEventListener(MouseEvent.ROLL_OUT, handleCellRendererMouseEvent, false, 0, true);
_local12.addEventListener(Event.CHANGE, handleCellRendererChange, false, 0, true);
_local12.doubleClickEnabled = true;
_local12.addEventListener(MouseEvent.DOUBLE_CLICK, handleCellRendererDoubleClick, false, 0, true);
if (_local12["setStyle"] != null){
for (_local13 in rendererStyles) {
var _local16 = _local12;
_local16["setStyle"](_local13, rendererStyles[_local13]);
};
};
};
};
};
list.addChild((_local6 as Sprite));
activeCellRenderers.push(_local6);
_local6.y = (rowHeight * (_local4 - _local2));
_local6.setSize((availableWidth + _maxHorizontalScrollPosition), rowHeight);
_local10 = itemToLabel(_local5);
_local11 = null;
if (_iconFunction != null){
_local11 = _iconFunction(_local5);
} else {
if (_iconField != null){
_local11 = _local5[_iconField];
};
};
if (!_local9){
_local6.data = _local5;
};
_local6.listData = new ListData(_local10, _local11, this, _local4, _local4, 0);
_local6.selected = !((_selectedIndices.indexOf(_local4) == -1));
if ((_local6 is UIComponent)){
(_local6 as UIComponent).drawNow();
};
_local4++;
};
}
public function get iconFunction():Function{
return (_iconFunction);
}
public function set iconField(_arg1:String):void{
if (_arg1 == _iconField){
return;
};
_iconField = _arg1;
invalidate(InvalidationType.DATA);
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
var _local2:int;
if (!selectable){
return;
};
switch (_arg1.keyCode){
case Keyboard.UP:
case Keyboard.DOWN:
case Keyboard.END:
case Keyboard.HOME:
case Keyboard.PAGE_UP:
case Keyboard.PAGE_DOWN:
moveSelectionVertically(_arg1.keyCode, ((_arg1.shiftKey) && (_allowMultipleSelection)), ((_arg1.ctrlKey) && (_allowMultipleSelection)));
break;
case Keyboard.LEFT:
case Keyboard.RIGHT:
moveSelectionHorizontally(_arg1.keyCode, ((_arg1.shiftKey) && (_allowMultipleSelection)), ((_arg1.ctrlKey) && (_allowMultipleSelection)));
break;
case Keyboard.SPACE:
if (caretIndex == -1){
caretIndex = 0;
};
doKeySelection(caretIndex, _arg1.shiftKey, _arg1.ctrlKey);
scrollToSelected();
break;
default:
_local2 = getNextIndexAtLetter(String.fromCharCode(_arg1.keyCode), selectedIndex);
if (_local2 > -1){
selectedIndex = _local2;
scrollToSelected();
};
break;
};
_arg1.stopPropagation();
}
override public function itemToLabel(_arg1:Object):String{
if (_labelFunction != null){
return (String(_labelFunction(_arg1)));
};
return (((_arg1[_labelField])!=null) ? String(_arg1[_labelField]) : "");
}
public function get labelField():String{
return (_labelField);
}
override protected function moveSelectionVertically(_arg1:uint, _arg2:Boolean, _arg3:Boolean):void{
var _local4:int;
var _local5:int;
var _local6:int;
_local4 = Math.max(Math.floor((calculateAvailableHeight() / rowHeight)), 1);
_local5 = -1;
_local6 = 0;
switch (_arg1){
case Keyboard.UP:
if (caretIndex > 0){
_local5 = (caretIndex - 1);
};
break;
case Keyboard.DOWN:
if (caretIndex < (length - 1)){
_local5 = (caretIndex + 1);
};
break;
case Keyboard.PAGE_UP:
if (caretIndex > 0){
_local5 = Math.max((caretIndex - _local4), 0);
};
break;
case Keyboard.PAGE_DOWN:
if (caretIndex < (length - 1)){
_local5 = Math.min((caretIndex + _local4), (length - 1));
};
break;
case Keyboard.HOME:
if (caretIndex > 0){
_local5 = 0;
};
break;
case Keyboard.END:
if (caretIndex < (length - 1)){
_local5 = (length - 1);
};
break;
};
if (_local5 >= 0){
doKeySelection(_local5, _arg2, _arg3);
scrollToSelected();
};
}
public function set labelField(_arg1:String):void{
if (_arg1 == _labelField){
return;
};
_labelField = _arg1;
invalidate(InvalidationType.DATA);
}
public function set rowCount(_arg1:uint):void{
var _local2:Number;
var _local3:Number;
_local2 = Number(getStyleValue("contentPadding"));
_local3 = ((((_horizontalScrollPolicy == ScrollPolicy.ON)) || ((((_horizontalScrollPolicy == ScrollPolicy.AUTO)) && ((_maxHorizontalScrollPosition > 0)))))) ? 15 : 0;
height = (((rowHeight * _arg1) + (2 * _local2)) + _local3);
}
override protected function setHorizontalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
list.x = -(_arg1);
super.setHorizontalScrollPosition(_arg1, true);
}
public function set iconFunction(_arg1:Function):void{
if (_iconFunction == _arg1){
return;
};
_iconFunction = _arg1;
invalidate(InvalidationType.DATA);
}
public function get labelFunction():Function{
return (_labelFunction);
}
override protected function moveSelectionHorizontally(_arg1:uint, _arg2:Boolean, _arg3:Boolean):void{
}
override protected function setVerticalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
invalidate(InvalidationType.SCROLL);
super.setVerticalScrollPosition(_arg1, true);
}
protected function calculateAvailableHeight():Number{
var _local1:Number;
_local1 = Number(getStyleValue("contentPadding"));
return (((height - (_local1 * 2)) - ((((_horizontalScrollPolicy == ScrollPolicy.ON)) || ((((_horizontalScrollPolicy == ScrollPolicy.AUTO)) && ((_maxHorizontalScrollPosition > 0)))))) ? 15 : 0));
}
override protected function draw():void{
var _local1:Boolean;
_local1 = !((contentHeight == (rowHeight * length)));
contentHeight = (rowHeight * length);
if (isInvalid(InvalidationType.STYLES)){
setStyles();
drawBackground();
if (contentPadding != getStyleValue("contentPadding")){
invalidate(InvalidationType.SIZE, false);
};
if (_cellRenderer != getStyleValue("cellRenderer")){
_invalidateList();
_cellRenderer = getStyleValue("cellRenderer");
};
};
if (((isInvalid(InvalidationType.SIZE, InvalidationType.STATE)) || (_local1))){
drawLayout();
};
if (isInvalid(InvalidationType.RENDERER_STYLES)){
updateRendererStyles();
};
if (isInvalid(InvalidationType.STYLES, InvalidationType.SIZE, InvalidationType.DATA, InvalidationType.SCROLL, InvalidationType.SELECTED)){
drawList();
};
updateChildren();
validate();
}
override protected function configUI():void{
useFixedHorizontalScrolling = true;
_horizontalScrollPolicy = ScrollPolicy.AUTO;
_verticalScrollPolicy = ScrollPolicy.AUTO;
super.configUI();
}
override public function get rowCount():uint{
return (Math.ceil((calculateAvailableHeight() / rowHeight)));
}
override protected function initializeAccessibility():void{
if (List.createAccessibilityImplementation != null){
List.createAccessibilityImplementation(this);
};
}
override public function scrollToIndex(_arg1:int):void{
var _local2:uint;
var _local3:uint;
drawNow();
_local2 = (Math.floor(((_verticalScrollPosition + availableHeight) / rowHeight)) - 1);
_local3 = Math.ceil((_verticalScrollPosition / rowHeight));
if (_arg1 < _local3){
verticalScrollPosition = (_arg1 * rowHeight);
} else {
if (_arg1 > _local2){
verticalScrollPosition = (((_arg1 + 1) * rowHeight) - availableHeight);
};
};
}
public function get rowHeight():Number{
return (_rowHeight);
}
public function set labelFunction(_arg1:Function):void{
if (_labelFunction == _arg1){
return;
};
_labelFunction = _arg1;
invalidate(InvalidationType.DATA);
}
public function set rowHeight(_arg1:Number):void{
_rowHeight = _arg1;
invalidate(InvalidationType.SIZE);
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, SelectableList.getStyleDefinition()));
}
}
}//package fl.controls
Section 46
//RadioButton (fl.controls.RadioButton)
package fl.controls {
import flash.display.*;
import flash.events.*;
import fl.managers.*;
import flash.ui.*;
public class RadioButton extends LabelButton implements IFocusManagerGroup {
protected var _value:Object;
protected var defaultGroupName:String;// = "RadioButtonGroup"
protected var _group:RadioButtonGroup;
private static var defaultStyles:Object = {icon:null, upIcon:"RadioButton_upIcon", downIcon:"RadioButton_downIcon", overIcon:"RadioButton_overIcon", disabledIcon:"RadioButton_disabledIcon", selectedDisabledIcon:"RadioButton_selectedDisabledIcon", selectedUpIcon:"RadioButton_selectedUpIcon", selectedDownIcon:"RadioButton_selectedDownIcon", selectedOverIcon:"RadioButton_selectedOverIcon", focusRectSkin:null, focusRectPadding:null, textFormat:null, disabledTextFormat:null, embedFonts:null, textPadding:5};
public static var createAccessibilityImplementation:Function;
public function RadioButton(){
defaultGroupName = "RadioButtonGroup";
super();
mode = "border";
groupName = defaultGroupName;
}
override public function drawFocus(_arg1:Boolean):void{
var _local2:Number;
super.drawFocus(_arg1);
if (_arg1){
_local2 = Number(getStyleValue("focusRectPadding"));
uiFocusRect.x = (background.x - _local2);
uiFocusRect.y = (background.y - _local2);
uiFocusRect.width = (background.width + (_local2 * 2));
uiFocusRect.height = (background.height + (_local2 * 2));
};
}
private function setThis():void{
var _local1:RadioButtonGroup;
_local1 = _group;
if (_local1 != null){
if (_local1.selection != this){
_local1.selection = this;
};
} else {
super.selected = true;
};
}
override public function get autoRepeat():Boolean{
return (false);
}
override public function set autoRepeat(_arg1:Boolean):void{
}
protected function handleClick(_arg1:MouseEvent):void{
if (_group == null){
return;
};
_group.dispatchEvent(new MouseEvent(MouseEvent.CLICK, true));
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
switch (_arg1.keyCode){
case Keyboard.DOWN:
setNext(!(_arg1.ctrlKey));
_arg1.stopPropagation();
break;
case Keyboard.UP:
setPrev(!(_arg1.ctrlKey));
_arg1.stopPropagation();
break;
case Keyboard.LEFT:
setPrev(!(_arg1.ctrlKey));
_arg1.stopPropagation();
break;
case Keyboard.RIGHT:
setNext(!(_arg1.ctrlKey));
_arg1.stopPropagation();
break;
case Keyboard.SPACE:
setThis();
_toggle = false;
default:
super.keyDownHandler(_arg1);
break;
};
}
private function setNext(_arg1:Boolean=true):void{
var _local2:RadioButtonGroup;
var _local3:IFocusManager;
var _local4:int;
var _local5:Number;
var _local6:int;
var _local7:*;
_local2 = _group;
if (_local2 == null){
return;
};
_local3 = focusManager;
if (_local3){
_local3.showFocusIndicator = true;
};
_local4 = _local2.getRadioButtonIndex(this);
_local5 = _local2.numRadioButtons;
_local6 = _local4;
if (_local4 != -1){
do {
_local6++;
_local6 = ((_local6)>(_local2.numRadioButtons - 1)) ? 0 : _local6;
_local7 = _local2.getRadioButtonAt(_local6);
if (((_local7) && (_local7.enabled))){
if (_arg1){
_local2.selection = _local7;
};
_local7.setFocus();
return;
};
if (((_arg1) && (!((_local2.getRadioButtonAt(_local6) == _local2.selection))))){
_local2.selection = this;
};
this.drawFocus(true);
} while (_local6 != _local4);
};
}
public function get group():RadioButtonGroup{
return (_group);
}
override protected function keyUpHandler(_arg1:KeyboardEvent):void{
super.keyUpHandler(_arg1);
if ((((_arg1.keyCode == Keyboard.SPACE)) && (!(_toggle)))){
_toggle = true;
};
}
override public function get selected():Boolean{
return (super.selected);
}
override public function set toggle(_arg1:Boolean):void{
throw (new Error("Warning: You cannot change a RadioButtons toggle."));
}
public function set value(_arg1:Object):void{
_value = _arg1;
}
public function set group(_arg1:RadioButtonGroup):void{
groupName = _arg1.name;
}
override public function set selected(_arg1:Boolean):void{
if ((((_arg1 == false)) || (selected))){
return;
};
if (_group != null){
_group.selection = this;
} else {
super.selected = _arg1;
};
}
override protected function draw():void{
super.draw();
}
override public function get toggle():Boolean{
return (true);
}
override protected function configUI():void{
var _local1:Shape;
var _local2:Graphics;
super.configUI();
super.toggle = true;
_local1 = new Shape();
_local2 = _local1.graphics;
_local2.beginFill(0, 0);
_local2.drawRect(0, 0, 100, 100);
_local2.endFill();
background = (_local1 as DisplayObject);
addChildAt(background, 0);
addEventListener(MouseEvent.CLICK, handleClick, false, 0, true);
}
public function set groupName(_arg1:String):void{
if (_group != null){
_group.removeRadioButton(this);
_group.removeEventListener(Event.CHANGE, handleChange);
};
_group = ((_arg1)==null) ? null : RadioButtonGroup.getGroup(_arg1);
if (_group != null){
_group.addRadioButton(this);
_group.addEventListener(Event.CHANGE, handleChange, false, 0, true);
};
}
public function get value():Object{
return (_value);
}
override protected function drawLayout():void{
var _local1:Number;
super.drawLayout();
_local1 = Number(getStyleValue("textPadding"));
switch (_labelPlacement){
case ButtonLabelPlacement.RIGHT:
icon.x = _local1;
textField.x = (icon.x + (icon.width + _local1));
background.width = ((textField.x + textField.width) + _local1);
background.height = (Math.max(textField.height, icon.height) + (_local1 * 2));
break;
case ButtonLabelPlacement.LEFT:
icon.x = ((width - icon.width) - _local1);
textField.x = (((width - icon.width) - (_local1 * 2)) - textField.width);
background.width = ((textField.width + icon.width) + (_local1 * 3));
background.height = (Math.max(textField.height, icon.height) + (_local1 * 2));
break;
case ButtonLabelPlacement.TOP:
case ButtonLabelPlacement.BOTTOM:
background.width = (Math.max(textField.width, icon.width) + (_local1 * 2));
background.height = ((textField.height + icon.height) + (_local1 * 3));
break;
};
background.x = Math.min((icon.x - _local1), (textField.x - _local1));
background.y = Math.min((icon.y - _local1), (textField.y - _local1));
}
override protected function drawBackground():void{
}
override protected function initializeAccessibility():void{
if (RadioButton.createAccessibilityImplementation != null){
RadioButton.createAccessibilityImplementation(this);
};
}
public function get groupName():String{
return (((_group)==null) ? null : _group.name);
}
private function setPrev(_arg1:Boolean=true):void{
var _local2:RadioButtonGroup;
var _local3:IFocusManager;
var _local4:int;
var _local5:int;
var _local6:*;
_local2 = _group;
if (_local2 == null){
return;
};
_local3 = focusManager;
if (_local3){
_local3.showFocusIndicator = true;
};
_local4 = _local2.getRadioButtonIndex(this);
_local5 = _local4;
if (_local4 != -1){
do {
--_local5;
_local5 = ((_local5)==-1) ? (_local2.numRadioButtons - 1) : _local5;
_local6 = _local2.getRadioButtonAt(_local5);
if (((_local6) && (_local6.enabled))){
if (_arg1){
_local2.selection = _local6;
};
_local6.setFocus();
return;
};
if (((_arg1) && (!((_local2.getRadioButtonAt(_local5) == _local2.selection))))){
_local2.selection = this;
};
this.drawFocus(true);
} while (_local5 != _local4);
};
}
protected function handleChange(_arg1:Event):void{
super.selected = (_group.selection == this);
dispatchEvent(new Event(Event.CHANGE, true));
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 47
//RadioButtonGroup (fl.controls.RadioButtonGroup)
package fl.controls {
import flash.events.*;
public class RadioButtonGroup extends EventDispatcher {
protected var _selection:RadioButton;
protected var radioButtons:Array;
protected var _name:String;
private static var groups:Object;
private static var groupCount:uint = 0;
public function RadioButtonGroup(_arg1:String){
_name = _arg1;
radioButtons = [];
registerGroup(this);
}
public function getRadioButtonIndex(_arg1:RadioButton):int{
var _local2:int;
var _local3:RadioButton;
_local2 = 0;
while (_local2 < radioButtons.length) {
_local3 = (radioButtons[_local2] as RadioButton);
if (_local3 == _arg1){
return (_local2);
};
_local2++;
};
return (-1);
}
public function get numRadioButtons():int{
return (radioButtons.length);
}
public function get name():String{
return (_name);
}
public function get selection():RadioButton{
return (_selection);
}
public function set selection(_arg1:RadioButton):void{
if ((((((_selection == _arg1)) || ((_arg1 == null)))) || ((getRadioButtonIndex(_arg1) == -1)))){
return;
};
_selection = _arg1;
dispatchEvent(new Event(Event.CHANGE, true));
}
public function set selectedData(_arg1:Object):void{
var _local2:int;
var _local3:RadioButton;
_local2 = 0;
while (_local2 < radioButtons.length) {
_local3 = (radioButtons[_local2] as RadioButton);
if (_local3.value == _arg1){
selection = _local3;
return;
};
_local2++;
};
}
public function removeRadioButton(_arg1:RadioButton):void{
var _local2:int;
_local2 = getRadioButtonIndex(_arg1);
if (_local2 != -1){
radioButtons.splice(_local2, 1);
};
if (_selection == _arg1){
_selection = null;
};
}
public function addRadioButton(_arg1:RadioButton):void{
if (_arg1.groupName != name){
_arg1.groupName = name;
return;
};
radioButtons.push(_arg1);
if (_arg1.selected){
selection = _arg1;
};
}
public function getRadioButtonAt(_arg1:int):RadioButton{
return (RadioButton(radioButtons[_arg1]));
}
public function get selectedData():Object{
var _local1:RadioButton;
_local1 = _selection;
return (((_local1)==null) ? null : _local1.value);
}
public static function getGroup(_arg1:String):RadioButtonGroup{
var _local2:RadioButtonGroup;
if (groups == null){
groups = {};
};
_local2 = (groups[_arg1] as RadioButtonGroup);
if (_local2 == null){
_local2 = new RadioButtonGroup(_arg1);
if ((++groupCount % 20) == 0){
cleanUpGroups();
};
};
return (_local2);
}
private static function registerGroup(_arg1:RadioButtonGroup):void{
if (groups == null){
groups = {};
};
groups[_arg1.name] = _arg1;
}
private static function cleanUpGroups():void{
var _local1:String;
var _local2:RadioButtonGroup;
for (_local1 in groups) {
_local2 = (groups[_local1] as RadioButtonGroup);
if (_local2.radioButtons.length == 0){
delete groups[_local1];
};
};
}
}
}//package fl.controls
Section 48
//ScrollBar (fl.controls.ScrollBar)
package fl.controls {
import fl.core.*;
import flash.events.*;
import fl.events.*;
public class ScrollBar extends UIComponent {
private var _direction:String;// = "vertical"
protected var inDrag:Boolean;// = false
protected var upArrow:BaseButton;
private var _pageScrollSize:Number;// = 0
protected var downArrow:BaseButton;
private var _pageSize:Number;// = 10
private var thumbScrollOffset:Number;
private var _maxScrollPosition:Number;// = 0
private var _scrollPosition:Number;// = 0
protected var track:BaseButton;
private var _minScrollPosition:Number;// = 0
private var _lineScrollSize:Number;// = 1
protected var thumb:LabelButton;
protected static const THUMB_STYLES:Object = {disabledSkin:"thumbDisabledSkin", downSkin:"thumbDownSkin", overSkin:"thumbOverSkin", upSkin:"thumbUpSkin", icon:"thumbIcon", textPadding:0};
public static const WIDTH:Number = 15;
protected static const DOWN_ARROW_STYLES:Object = {disabledSkin:"downArrowDisabledSkin", downSkin:"downArrowDownSkin", overSkin:"downArrowOverSkin", upSkin:"downArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"};
protected static const UP_ARROW_STYLES:Object = {disabledSkin:"upArrowDisabledSkin", downSkin:"upArrowDownSkin", overSkin:"upArrowOverSkin", upSkin:"upArrowUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"};
protected static const TRACK_STYLES:Object = {disabledSkin:"trackDisabledSkin", downSkin:"trackDownSkin", overSkin:"trackOverSkin", upSkin:"trackUpSkin", repeatDelay:"repeatDelay", repeatInterval:"repeatInterval"};
private static var defaultStyles:Object = {downArrowDisabledSkin:"ScrollArrowDown_disabledSkin", downArrowDownSkin:"ScrollArrowDown_downSkin", downArrowOverSkin:"ScrollArrowDown_overSkin", downArrowUpSkin:"ScrollArrowDown_upSkin", thumbDisabledSkin:"ScrollThumb_upSkin", thumbDownSkin:"ScrollThumb_downSkin", thumbOverSkin:"ScrollThumb_overSkin", thumbUpSkin:"ScrollThumb_upSkin", trackDisabledSkin:"ScrollTrack_skin", trackDownSkin:"ScrollTrack_skin", trackOverSkin:"ScrollTrack_skin", trackUpSkin:"ScrollTrack_skin", upArrowDisabledSkin:"ScrollArrowUp_disabledSkin", upArrowDownSkin:"ScrollArrowUp_downSkin", upArrowOverSkin:"ScrollArrowUp_overSkin", upArrowUpSkin:"ScrollArrowUp_upSkin", thumbIcon:"ScrollBar_thumbIcon", repeatDelay:500, repeatInterval:35};
public function ScrollBar(){
_pageSize = 10;
_pageScrollSize = 0;
_lineScrollSize = 1;
_minScrollPosition = 0;
_maxScrollPosition = 0;
_scrollPosition = 0;
_direction = ScrollBarDirection.VERTICAL;
inDrag = false;
super();
setStyles();
focusEnabled = false;
}
public function get minScrollPosition():Number{
return (_minScrollPosition);
}
public function set minScrollPosition(_arg1:Number):void{
setScrollProperties(_pageSize, _arg1, _maxScrollPosition);
}
public function setScrollPosition(_arg1:Number, _arg2:Boolean=true):void{
var _local3:Number;
_local3 = scrollPosition;
_scrollPosition = Math.max(_minScrollPosition, Math.min(_maxScrollPosition, _arg1));
if (_local3 == _scrollPosition){
return;
};
if (_arg2){
dispatchEvent(new ScrollEvent(_direction, (scrollPosition - _local3), scrollPosition));
};
updateThumb();
}
public function set scrollPosition(_arg1:Number):void{
setScrollPosition(_arg1, true);
}
public function get pageScrollSize():Number{
return (((_pageScrollSize)==0) ? _pageSize : _pageScrollSize);
}
public function set pageSize(_arg1:Number):void{
if (_arg1 > 0){
_pageSize = _arg1;
};
}
public function setScrollProperties(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=0):void{
this.pageSize = _arg1;
_minScrollPosition = _arg2;
_maxScrollPosition = _arg3;
if (_arg4 >= 0){
_pageScrollSize = _arg4;
};
enabled = (_maxScrollPosition > _minScrollPosition);
setScrollPosition(_scrollPosition, false);
updateThumb();
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
downArrow.enabled = (track.enabled = (thumb.enabled = (upArrow.enabled = ((enabled) && ((_maxScrollPosition > _minScrollPosition))))));
updateThumb();
}
protected function updateThumb():void{
var _local1:Number;
_local1 = ((_maxScrollPosition - _minScrollPosition) + _pageSize);
if ((((((track.height <= 12)) || ((_maxScrollPosition <= _minScrollPosition)))) || ((((_local1 == 0)) || (isNaN(_local1)))))){
thumb.height = 12;
thumb.visible = false;
} else {
thumb.height = Math.max(13, ((_pageSize / _local1) * track.height));
thumb.y = (track.y + ((track.height - thumb.height) * ((_scrollPosition - _minScrollPosition) / (_maxScrollPosition - _minScrollPosition))));
thumb.visible = enabled;
};
}
protected function thumbPressHandler(_arg1:MouseEvent):void{
inDrag = true;
thumbScrollOffset = (mouseY - thumb.y);
thumb.mouseStateLocked = true;
mouseChildren = false;
stage.addEventListener(MouseEvent.MOUSE_MOVE, handleThumbDrag, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler, false, 0, true);
}
protected function thumbReleaseHandler(_arg1:MouseEvent):void{
inDrag = false;
mouseChildren = true;
thumb.mouseStateLocked = false;
stage.removeEventListener(MouseEvent.MOUSE_MOVE, handleThumbDrag);
stage.removeEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler);
}
public function set pageScrollSize(_arg1:Number):void{
if (_arg1 >= 0){
_pageScrollSize = _arg1;
};
}
protected function handleThumbDrag(_arg1:MouseEvent):void{
var _local2:Number;
_local2 = Math.max(0, Math.min((track.height - thumb.height), ((mouseY - track.y) - thumbScrollOffset)));
setScrollPosition((((_local2 / (track.height - thumb.height)) * (_maxScrollPosition - _minScrollPosition)) + _minScrollPosition));
}
public function set direction(_arg1:String):void{
var _local2:Boolean;
if (_direction == _arg1){
return;
};
_direction = _arg1;
if (isLivePreview){
return;
};
setScaleY(1);
_local2 = (_direction == ScrollBarDirection.HORIZONTAL);
if (((_local2) && (componentInspectorSetting))){
if (rotation == 90){
return;
};
setScaleX(-1);
rotation = -90;
};
if (!componentInspectorSetting){
if (((_local2) && ((rotation == 0)))){
rotation = -90;
setScaleX(-1);
} else {
if (((!(_local2)) && ((rotation == -90)))){
rotation = 0;
setScaleX(1);
};
};
};
invalidate(InvalidationType.SIZE);
}
public function set lineScrollSize(_arg1:Number):void{
if (_arg1 > 0){
_lineScrollSize = _arg1;
};
}
override public function get height():Number{
return (((_direction)==ScrollBarDirection.HORIZONTAL) ? super.width : super.height);
}
protected function scrollPressHandler(_arg1:ComponentEvent):void{
var _local2:Number;
var _local3:Number;
_arg1.stopImmediatePropagation();
if (_arg1.currentTarget == upArrow){
setScrollPosition((_scrollPosition - _lineScrollSize));
} else {
if (_arg1.currentTarget == downArrow){
setScrollPosition((_scrollPosition + _lineScrollSize));
} else {
_local2 = (((track.mouseY / track.height) * (_maxScrollPosition - _minScrollPosition)) + _minScrollPosition);
_local3 = ((pageScrollSize)==0) ? pageSize : pageScrollSize;
if (_scrollPosition < _local2){
setScrollPosition(Math.min(_local2, (_scrollPosition + _local3)));
} else {
if (_scrollPosition > _local2){
setScrollPosition(Math.max(_local2, (_scrollPosition - _local3)));
};
};
};
};
}
public function get pageSize():Number{
return (_pageSize);
}
public function set maxScrollPosition(_arg1:Number):void{
setScrollProperties(_pageSize, _minScrollPosition, _arg1);
}
public function get scrollPosition():Number{
return (_scrollPosition);
}
override public function get enabled():Boolean{
return (super.enabled);
}
override protected function draw():void{
var _local1:Number;
if (isInvalid(InvalidationType.SIZE)){
_local1 = super.height;
downArrow.move(0, Math.max(upArrow.height, (_local1 - downArrow.height)));
track.setSize(WIDTH, Math.max(0, (_local1 - (downArrow.height + upArrow.height))));
updateThumb();
};
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
setStyles();
};
downArrow.drawNow();
upArrow.drawNow();
track.drawNow();
thumb.drawNow();
validate();
}
override protected function configUI():void{
super.configUI();
track = new BaseButton();
track.move(0, 14);
track.useHandCursor = false;
track.autoRepeat = true;
track.focusEnabled = false;
addChild(track);
thumb = new LabelButton();
thumb.label = "";
thumb.setSize(WIDTH, 15);
thumb.move(0, 15);
thumb.focusEnabled = false;
addChild(thumb);
downArrow = new BaseButton();
downArrow.setSize(WIDTH, 14);
downArrow.autoRepeat = true;
downArrow.focusEnabled = false;
addChild(downArrow);
upArrow = new BaseButton();
upArrow.setSize(WIDTH, 14);
upArrow.move(0, 0);
upArrow.autoRepeat = true;
upArrow.focusEnabled = false;
addChild(upArrow);
upArrow.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true);
downArrow.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true);
track.addEventListener(ComponentEvent.BUTTON_DOWN, scrollPressHandler, false, 0, true);
thumb.addEventListener(MouseEvent.MOUSE_DOWN, thumbPressHandler, false, 0, true);
enabled = false;
}
public function get direction():String{
return (_direction);
}
public function get lineScrollSize():Number{
return (_lineScrollSize);
}
override public function setSize(_arg1:Number, _arg2:Number):void{
if (_direction == ScrollBarDirection.HORIZONTAL){
super.setSize(_arg2, _arg1);
} else {
super.setSize(_arg1, _arg2);
};
}
public function get maxScrollPosition():Number{
return (_maxScrollPosition);
}
override public function get width():Number{
return (((_direction)==ScrollBarDirection.HORIZONTAL) ? super.height : super.width);
}
protected function setStyles():void{
copyStylesToChild(downArrow, DOWN_ARROW_STYLES);
copyStylesToChild(thumb, THUMB_STYLES);
copyStylesToChild(track, TRACK_STYLES);
copyStylesToChild(upArrow, UP_ARROW_STYLES);
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 49
//ScrollBarDirection (fl.controls.ScrollBarDirection)
package fl.controls {
public class ScrollBarDirection {
public static const HORIZONTAL:String = "horizontal";
public static const VERTICAL:String = "vertical";
}
}//package fl.controls
Section 50
//ScrollPolicy (fl.controls.ScrollPolicy)
package fl.controls {
public class ScrollPolicy {
public static const OFF:String = "off";
public static const ON:String = "on";
public static const AUTO:String = "auto";
}
}//package fl.controls
Section 51
//SelectableList (fl.controls.SelectableList)
package fl.controls {
import fl.controls.listClasses.*;
import fl.core.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import fl.data.*;
import fl.managers.*;
import fl.events.*;
import fl.containers.*;
import flash.ui.*;
public class SelectableList extends BaseScrollPane implements IFocusManagerComponent {
protected var invalidItems:Dictionary;
protected var renderedItems:Dictionary;
protected var listHolder:Sprite;
protected var _allowMultipleSelection:Boolean;// = false
protected var lastCaretIndex:int;// = -1
protected var _selectedIndices:Array;
protected var availableCellRenderers:Array;
protected var list:Sprite;
protected var caretIndex:int;// = -1
protected var updatedRendererStyles:Object;
protected var preChangeItems:Array;
protected var activeCellRenderers:Array;
protected var rendererStyles:Object;
protected var _verticalScrollPosition:Number;
protected var _dataProvider:DataProvider;
protected var _horizontalScrollPosition:Number;
private var collectionItemImport:SimpleCollectionItem;
protected var _selectable:Boolean;// = true
private static var defaultStyles:Object = {skin:"List_skin", cellRenderer:CellRenderer, contentPadding:null, disabledAlpha:null};
public static var createAccessibilityImplementation:Function;
public function SelectableList(){
_allowMultipleSelection = false;
_selectable = true;
caretIndex = -1;
lastCaretIndex = -1;
super();
activeCellRenderers = [];
availableCellRenderers = [];
invalidItems = new Dictionary(true);
renderedItems = new Dictionary(true);
_selectedIndices = [];
if (dataProvider == null){
dataProvider = new DataProvider();
};
verticalScrollPolicy = ScrollPolicy.AUTO;
rendererStyles = {};
updatedRendererStyles = {};
}
protected function drawList():void{
}
public function set allowMultipleSelection(_arg1:Boolean):void{
if (_arg1 == _allowMultipleSelection){
return;
};
_allowMultipleSelection = _arg1;
if (((!(_arg1)) && ((_selectedIndices.length > 1)))){
_selectedIndices = [_selectedIndices.pop()];
invalidate(InvalidationType.DATA);
};
}
public function sortItemsOn(_arg1:String, _arg2:Object=null){
return (_dataProvider.sortOn(_arg1, _arg2));
}
public function removeItemAt(_arg1:uint):Object{
return (_dataProvider.removeItemAt(_arg1));
}
public function get selectedItem():Object{
return (((_selectedIndices.length)==0) ? null : _dataProvider.getItemAt(selectedIndex));
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
if (!selectable){
return;
};
switch (_arg1.keyCode){
case Keyboard.UP:
case Keyboard.DOWN:
case Keyboard.END:
case Keyboard.HOME:
case Keyboard.PAGE_UP:
case Keyboard.PAGE_DOWN:
moveSelectionVertically(_arg1.keyCode, ((_arg1.shiftKey) && (_allowMultipleSelection)), ((_arg1.ctrlKey) && (_allowMultipleSelection)));
_arg1.stopPropagation();
break;
case Keyboard.LEFT:
case Keyboard.RIGHT:
moveSelectionHorizontally(_arg1.keyCode, ((_arg1.shiftKey) && (_allowMultipleSelection)), ((_arg1.ctrlKey) && (_allowMultipleSelection)));
_arg1.stopPropagation();
break;
};
}
public function get selectable():Boolean{
return (_selectable);
}
public function itemToCellRenderer(_arg1:Object):ICellRenderer{
var _local2:*;
var _local3:ICellRenderer;
if (_arg1 != null){
for (_local2 in activeCellRenderers) {
_local3 = (activeCellRenderers[_local2] as ICellRenderer);
if (_local3.data == _arg1){
return (_local3);
};
};
};
return (null);
}
public function getNextIndexAtLetter(_arg1:String, _arg2:int=-1):int{
var _local3:int;
var _local4:Number;
var _local5:Number;
var _local6:Object;
var _local7:String;
if (length == 0){
return (-1);
};
_arg1 = _arg1.toUpperCase();
_local3 = (length - 1);
_local4 = 0;
while (_local4 < _local3) {
_local5 = ((_arg2 + 1) + _local4);
if (_local5 > (length - 1)){
_local5 = (_local5 - length);
};
_local6 = getItemAt(_local5);
if (_local6 == null){
break;
};
_local7 = itemToLabel(_local6);
if (_local7 == null){
} else {
if (_local7.charAt(0).toUpperCase() == _arg1){
return (_local5);
};
};
_local4++;
};
return (-1);
}
public function invalidateList():void{
_invalidateList();
invalidate(InvalidationType.DATA);
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
list.mouseChildren = _enabled;
}
public function get selectedIndices():Array{
return (_selectedIndices.concat());
}
public function set selectable(_arg1:Boolean):void{
if (_arg1 == _selectable){
return;
};
if (!_arg1){
selectedIndices = [];
};
_selectable = _arg1;
}
public function itemToLabel(_arg1:Object):String{
return (_arg1["label"]);
}
public function addItemAt(_arg1:Object, _arg2:uint):void{
_dataProvider.addItemAt(_arg1, _arg2);
invalidateList();
}
public function replaceItemAt(_arg1:Object, _arg2:uint):Object{
return (_dataProvider.replaceItemAt(_arg1, _arg2));
}
protected function handleDataChange(_arg1:DataChangeEvent):void{
var _local2:int;
var _local3:int;
var _local4:String;
var _local5:uint;
_local2 = _arg1.startIndex;
_local3 = _arg1.endIndex;
_local4 = _arg1.changeType;
if (_local4 == DataChangeType.INVALIDATE_ALL){
clearSelection();
invalidateList();
} else {
if (_local4 == DataChangeType.INVALIDATE){
_local5 = 0;
while (_local5 < _arg1.items.length) {
invalidateItem(_arg1.items[_local5]);
_local5++;
};
} else {
if (_local4 == DataChangeType.ADD){
_local5 = 0;
while (_local5 < _selectedIndices.length) {
if (_selectedIndices[_local5] >= _local2){
_selectedIndices[_local5] = (_selectedIndices[_local5] + (_local2 - _local3));
};
_local5++;
};
} else {
if (_local4 == DataChangeType.REMOVE){
_local5 = 0;
while (_local5 < _selectedIndices.length) {
if (_selectedIndices[_local5] >= _local2){
if (_selectedIndices[_local5] <= _local3){
delete _selectedIndices[_local5];
} else {
_selectedIndices[_local5] = (_selectedIndices[_local5] - ((_local2 - _local3) + 1));
};
};
_local5++;
};
} else {
if (_local4 == DataChangeType.REMOVE_ALL){
clearSelection();
} else {
if (_local4 == DataChangeType.REPLACE){
} else {
selectedItems = preChangeItems;
preChangeItems = null;
};
};
};
};
};
};
invalidate(InvalidationType.DATA);
}
protected function _invalidateList():void{
availableCellRenderers = [];
while (activeCellRenderers.length > 0) {
list.removeChild((activeCellRenderers.pop() as DisplayObject));
};
}
protected function updateRendererStyles():void{
var _local1:Array;
var _local2:uint;
var _local3:uint;
var _local4:String;
_local1 = availableCellRenderers.concat(activeCellRenderers);
_local2 = _local1.length;
_local3 = 0;
while (_local3 < _local2) {
if (_local1[_local3].setStyle == null){
} else {
for (_local4 in updatedRendererStyles) {
_local1[_local3].setStyle(_local4, updatedRendererStyles[_local4]);
};
_local1[_local3].drawNow();
};
_local3++;
};
updatedRendererStyles = {};
}
public function set selectedItem(_arg1:Object):void{
var _local2:int;
_local2 = _dataProvider.getItemIndex(_arg1);
selectedIndex = _local2;
}
public function sortItems(... _args){
return (_dataProvider.sort.apply(_dataProvider, _args));
}
public function removeAll():void{
_dataProvider.removeAll();
}
protected function handleCellRendererChange(_arg1:Event):void{
var _local2:ICellRenderer;
var _local3:uint;
_local2 = (_arg1.currentTarget as ICellRenderer);
_local3 = _local2.listData.index;
_dataProvider.invalidateItemAt(_local3);
}
protected function moveSelectionVertically(_arg1:uint, _arg2:Boolean, _arg3:Boolean):void{
}
override protected function setHorizontalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
var _local3:Number;
if (_arg1 == _horizontalScrollPosition){
return;
};
_local3 = (_arg1 - _horizontalScrollPosition);
_horizontalScrollPosition = _arg1;
if (_arg2){
dispatchEvent(new ScrollEvent(ScrollBarDirection.HORIZONTAL, _local3, _arg1));
};
}
public function scrollToSelected():void{
scrollToIndex(selectedIndex);
}
public function invalidateItem(_arg1:Object):void{
if (renderedItems[_arg1] == null){
return;
};
invalidItems[_arg1] = true;
invalidate(InvalidationType.DATA);
}
protected function handleCellRendererClick(_arg1:MouseEvent):void{
var _local2:ICellRenderer;
var _local3:uint;
var _local4:int;
var _local5:int;
var _local6:uint;
if (!_enabled){
return;
};
_local2 = (_arg1.currentTarget as ICellRenderer);
_local3 = _local2.listData.index;
if (((!(dispatchEvent(new ListEvent(ListEvent.ITEM_CLICK, false, true, _local2.listData.column, _local2.listData.row, _local3, _local2.data)))) || (!(_selectable)))){
return;
};
_local4 = selectedIndices.indexOf(_local3);
if (!_allowMultipleSelection){
if (_local4 != -1){
return;
};
_local2.selected = true;
_selectedIndices = [_local3];
lastCaretIndex = (caretIndex = _local3);
} else {
if (_arg1.shiftKey){
_local6 = ((_selectedIndices.length)>0) ? _selectedIndices[0] : _local3;
_selectedIndices = [];
if (_local6 > _local3){
_local5 = _local6;
while (_local5 >= _local3) {
_selectedIndices.push(_local5);
_local5--;
};
} else {
_local5 = _local6;
while (_local5 <= _local3) {
_selectedIndices.push(_local5);
_local5++;
};
};
caretIndex = _local3;
} else {
if (_arg1.ctrlKey){
if (_local4 != -1){
_local2.selected = false;
_selectedIndices.splice(_local4, 1);
} else {
_local2.selected = true;
_selectedIndices.push(_local3);
};
caretIndex = _local3;
} else {
_selectedIndices = [_local3];
lastCaretIndex = (caretIndex = _local3);
};
};
};
dispatchEvent(new Event(Event.CHANGE));
invalidate(InvalidationType.DATA);
}
public function get length():uint{
return (_dataProvider.length);
}
public function get allowMultipleSelection():Boolean{
return (_allowMultipleSelection);
}
protected function onPreChange(_arg1:DataChangeEvent):void{
switch (_arg1.changeType){
case DataChangeType.REMOVE:
case DataChangeType.ADD:
case DataChangeType.INVALIDATE:
case DataChangeType.REMOVE_ALL:
case DataChangeType.REPLACE:
case DataChangeType.INVALIDATE_ALL:
break;
default:
preChangeItems = selectedItems;
break;
};
}
public function getRendererStyle(_arg1:String, _arg2:int=-1):Object{
return (rendererStyles[_arg1]);
}
override protected function setVerticalScrollPosition(_arg1:Number, _arg2:Boolean=false):void{
var _local3:Number;
if (_arg1 == _verticalScrollPosition){
return;
};
_local3 = (_arg1 - _verticalScrollPosition);
_verticalScrollPosition = _arg1;
if (_arg2){
dispatchEvent(new ScrollEvent(ScrollBarDirection.VERTICAL, _local3, _arg1));
};
}
protected function moveSelectionHorizontally(_arg1:uint, _arg2:Boolean, _arg3:Boolean):void{
}
public function set selectedIndices(_arg1:Array):void{
if (!_selectable){
return;
};
_selectedIndices = ((_arg1)==null) ? [] : _arg1.concat();
invalidate(InvalidationType.SELECTED);
}
public function get selectedIndex():int{
return (((_selectedIndices.length)==0) ? -1 : _selectedIndices[(_selectedIndices.length - 1)]);
}
override protected function draw():void{
super.draw();
}
override protected function configUI():void{
super.configUI();
listHolder = new Sprite();
addChild(listHolder);
listHolder.scrollRect = contentScrollRect;
list = new Sprite();
listHolder.addChild(list);
}
public function addItem(_arg1:Object):void{
_dataProvider.addItem(_arg1);
invalidateList();
}
protected function handleCellRendererMouseEvent(_arg1:MouseEvent):void{
var _local2:ICellRenderer;
var _local3:String;
_local2 = (_arg1.target as ICellRenderer);
_local3 = ((_arg1.type)==MouseEvent.ROLL_OVER) ? ListEvent.ITEM_ROLL_OVER : ListEvent.ITEM_ROLL_OUT;
dispatchEvent(new ListEvent(_local3, false, false, _local2.listData.column, _local2.listData.row, _local2.listData.index, _local2.data));
}
public function clearRendererStyle(_arg1:String, _arg2:int=-1):void{
delete rendererStyles[_arg1];
updatedRendererStyles[_arg1] = null;
invalidate(InvalidationType.RENDERER_STYLES);
}
protected function handleCellRendererDoubleClick(_arg1:MouseEvent):void{
var _local2:ICellRenderer;
var _local3:uint;
if (!_enabled){
return;
};
_local2 = (_arg1.currentTarget as ICellRenderer);
_local3 = _local2.listData.index;
dispatchEvent(new ListEvent(ListEvent.ITEM_DOUBLE_CLICK, false, true, _local2.listData.column, _local2.listData.row, _local3, _local2.data));
}
public function get rowCount():uint{
return (0);
}
public function isItemSelected(_arg1:Object):Boolean{
return ((selectedItems.indexOf(_arg1) > -1));
}
public function set dataProvider(_arg1:DataProvider):void{
if (_dataProvider != null){
_dataProvider.removeEventListener(DataChangeEvent.DATA_CHANGE, handleDataChange);
_dataProvider.removeEventListener(DataChangeEvent.PRE_DATA_CHANGE, onPreChange);
};
_dataProvider = _arg1;
_dataProvider.addEventListener(DataChangeEvent.DATA_CHANGE, handleDataChange, false, 0, true);
_dataProvider.addEventListener(DataChangeEvent.PRE_DATA_CHANGE, onPreChange, false, 0, true);
clearSelection();
invalidateList();
}
override protected function drawLayout():void{
super.drawLayout();
contentScrollRect = listHolder.scrollRect;
contentScrollRect.width = availableWidth;
contentScrollRect.height = availableHeight;
listHolder.scrollRect = contentScrollRect;
}
public function getItemAt(_arg1:uint):Object{
return (_dataProvider.getItemAt(_arg1));
}
override protected function initializeAccessibility():void{
if (SelectableList.createAccessibilityImplementation != null){
SelectableList.createAccessibilityImplementation(this);
};
}
public function scrollToIndex(_arg1:int):void{
}
public function removeItem(_arg1:Object):Object{
return (_dataProvider.removeItem(_arg1));
}
public function get dataProvider():DataProvider{
return (_dataProvider);
}
public function set maxHorizontalScrollPosition(_arg1:Number):void{
_maxHorizontalScrollPosition = _arg1;
invalidate(InvalidationType.SIZE);
}
public function setRendererStyle(_arg1:String, _arg2:Object, _arg3:uint=0):void{
if (rendererStyles[_arg1] == _arg2){
return;
};
updatedRendererStyles[_arg1] = _arg2;
rendererStyles[_arg1] = _arg2;
invalidate(InvalidationType.RENDERER_STYLES);
}
public function invalidateItemAt(_arg1:uint):void{
var _local2:Object;
_local2 = _dataProvider.getItemAt(_arg1);
if (_local2 != null){
invalidateItem(_local2);
};
}
public function set selectedItems(_arg1:Array):void{
var _local2:Array;
var _local3:uint;
var _local4:int;
if (_arg1 == null){
selectedIndices = null;
return;
};
_local2 = [];
_local3 = 0;
while (_local3 < _arg1.length) {
_local4 = _dataProvider.getItemIndex(_arg1[_local3]);
if (_local4 != -1){
_local2.push(_local4);
};
_local3++;
};
selectedIndices = _local2;
}
public function clearSelection():void{
selectedIndex = -1;
}
override public function get maxHorizontalScrollPosition():Number{
return (_maxHorizontalScrollPosition);
}
public function get selectedItems():Array{
var _local1:Array;
var _local2:uint;
_local1 = [];
_local2 = 0;
while (_local2 < _selectedIndices.length) {
_local1.push(_dataProvider.getItemAt(_selectedIndices[_local2]));
_local2++;
};
return (_local1);
}
public function set selectedIndex(_arg1:int):void{
selectedIndices = ((_arg1)==-1) ? null : [_arg1];
}
public static function getStyleDefinition():Object{
return (mergeStyles(defaultStyles, BaseScrollPane.getStyleDefinition()));
}
}
}//package fl.controls
Section 52
//Slider (fl.controls.Slider)
package fl.controls {
import fl.core.*;
import flash.display.*;
import flash.events.*;
import fl.managers.*;
import fl.events.*;
import flash.ui.*;
public class Slider extends UIComponent implements IFocusManagerComponent {
protected var _direction:String;
protected var _liveDragging:Boolean;// = false
protected var _value:Number;// = 0
protected var _snapInterval:Number;// = 0
protected var _minimum:Number;// = 0
protected var _maximum:Number;// = 10
protected var track:BaseButton;
protected var _tickInterval:Number;// = 0
protected var tickContainer:Sprite;
protected var thumb:BaseButton;
protected static const TICK_STYLES:Object = {upSkin:"tickSkin"};
protected static const TRACK_STYLES:Object = {upSkin:"sliderTrackSkin", overSkin:"sliderTrackSkin", downSkin:"sliderTrackSkin", disabledSkin:"sliderTrackDisabledSkin"};
protected static const THUMB_STYLES:Object = {upSkin:"thumbUpSkin", overSkin:"thumbOverSkin", downSkin:"thumbDownSkin", disabledSkin:"thumbDisabledSkin"};
protected static var defaultStyles:Object = {thumbUpSkin:"SliderThumb_upSkin", thumbOverSkin:"SliderThumb_overSkin", thumbDownSkin:"SliderThumb_downSkin", thumbDisabledSkin:"SliderThumb_disabledSkin", sliderTrackSkin:"SliderTrack_skin", sliderTrackDisabledSkin:"SliderTrack_disabledSkin", tickSkin:"SliderTick_skin", focusRectSkin:null, focusRectPadding:null};
public function Slider(){
_direction = SliderDirection.HORIZONTAL;
_minimum = 0;
_maximum = 10;
_value = 0;
_tickInterval = 0;
_snapInterval = 0;
_liveDragging = false;
super();
setStyles();
}
public function get minimum():Number{
return (_minimum);
}
public function set minimum(_arg1:Number):void{
_minimum = _arg1;
this.value = Math.max(_arg1, this.value);
invalidate(InvalidationType.DATA);
}
public function get maximum():Number{
return (_maximum);
}
protected function positionThumb():void{
thumb.x = ((((_direction)==SliderDirection.VERTICAL) ? ((maximum - minimum) - value) : (value - minimum) / (maximum - minimum)) * _width);
}
protected function clearTicks():void{
if (((!(tickContainer)) || (!(tickContainer.parent)))){
return;
};
removeChild(tickContainer);
}
protected function onTrackClick(_arg1:MouseEvent):void{
calculateValue(track.mouseX, InteractionInputType.MOUSE, SliderEventClickTarget.TRACK);
if (!liveDragging){
dispatchEvent(new SliderEvent(SliderEvent.CHANGE, value, SliderEventClickTarget.TRACK, InteractionInputType.MOUSE));
};
}
public function set maximum(_arg1:Number):void{
_maximum = _arg1;
this.value = Math.min(_arg1, this.value);
invalidate(InvalidationType.DATA);
}
public function get liveDragging():Boolean{
return (_liveDragging);
}
protected function doDrag(_arg1:MouseEvent):void{
var _local2:Number;
var _local3:Number;
_local2 = (_width / snapInterval);
_local3 = track.mouseX;
calculateValue(_local3, InteractionInputType.MOUSE, SliderEventClickTarget.THUMB);
dispatchEvent(new SliderEvent(SliderEvent.THUMB_DRAG, value, SliderEventClickTarget.THUMB, InteractionInputType.MOUSE));
}
override protected function keyDownHandler(_arg1:KeyboardEvent):void{
var _local2:uint;
var _local3:Number;
var _local4:Boolean;
if (!enabled){
return;
};
_local2 = ((snapInterval)>0) ? snapInterval : 1;
_local4 = (direction == SliderDirection.HORIZONTAL);
if ((((((_arg1.keyCode == Keyboard.DOWN)) && (!(_local4)))) || ((((_arg1.keyCode == Keyboard.LEFT)) && (_local4))))){
_local3 = (value - _local2);
} else {
if ((((((_arg1.keyCode == Keyboard.UP)) && (!(_local4)))) || ((((_arg1.keyCode == Keyboard.RIGHT)) && (_local4))))){
_local3 = (value + _local2);
} else {
if ((((((_arg1.keyCode == Keyboard.PAGE_DOWN)) && (!(_local4)))) || ((((_arg1.keyCode == Keyboard.HOME)) && (_local4))))){
_local3 = minimum;
} else {
if ((((((_arg1.keyCode == Keyboard.PAGE_UP)) && (!(_local4)))) || ((((_arg1.keyCode == Keyboard.END)) && (_local4))))){
_local3 = maximum;
};
};
};
};
if (!isNaN(_local3)){
_arg1.stopPropagation();
doSetValue(_local3, InteractionInputType.KEYBOARD, null, _arg1.keyCode);
};
}
override public function set enabled(_arg1:Boolean):void{
if (enabled == _arg1){
return;
};
super.enabled = _arg1;
track.enabled = (thumb.enabled = _arg1);
}
protected function thumbPressHandler(_arg1:MouseEvent):void{
stage.addEventListener(MouseEvent.MOUSE_MOVE, doDrag, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler, false, 0, true);
dispatchEvent(new SliderEvent(SliderEvent.THUMB_PRESS, value, InteractionInputType.MOUSE, SliderEventClickTarget.THUMB));
}
public function get snapInterval():Number{
return (_snapInterval);
}
protected function thumbReleaseHandler(_arg1:MouseEvent):void{
stage.removeEventListener(MouseEvent.MOUSE_MOVE, doDrag);
stage.removeEventListener(MouseEvent.MOUSE_UP, thumbReleaseHandler);
dispatchEvent(new SliderEvent(SliderEvent.THUMB_RELEASE, value, InteractionInputType.MOUSE, SliderEventClickTarget.THUMB));
dispatchEvent(new SliderEvent(SliderEvent.CHANGE, value, SliderEventClickTarget.THUMB, InteractionInputType.MOUSE));
}
public function set liveDragging(_arg1:Boolean):void{
_liveDragging = _arg1;
}
public function set value(_arg1:Number):void{
doSetValue(_arg1);
}
public function set direction(_arg1:String):void{
var _local2:Boolean;
_direction = _arg1;
_local2 = (_direction == SliderDirection.VERTICAL);
if (isLivePreview){
if (_local2){
setScaleY(-1);
y = track.height;
} else {
setScaleY(1);
y = 0;
};
positionThumb();
return;
};
if (((_local2) && (componentInspectorSetting))){
if ((rotation % 90) == 0){
setScaleY(-1);
};
};
if (!componentInspectorSetting){
rotation = (_local2) ? 90 : 0;
};
}
public function set tickInterval(_arg1:Number):void{
_tickInterval = _arg1;
invalidate(InvalidationType.SIZE);
}
override public function get enabled():Boolean{
return (super.enabled);
}
override protected function draw():void{
if (isInvalid(InvalidationType.STYLES)){
setStyles();
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
track.setSize(_width, track.height);
track.drawNow();
thumb.drawNow();
};
if (tickInterval > 0){
drawTicks();
} else {
clearTicks();
};
positionThumb();
super.draw();
}
override protected function configUI():void{
super.configUI();
thumb = new BaseButton();
thumb.setSize(13, 13);
thumb.autoRepeat = false;
addChild(thumb);
thumb.addEventListener(MouseEvent.MOUSE_DOWN, thumbPressHandler, false, 0, true);
track = new BaseButton();
track.move(0, 0);
track.setSize(80, 4);
track.autoRepeat = false;
track.useHandCursor = false;
track.addEventListener(MouseEvent.CLICK, onTrackClick, false, 0, true);
addChildAt(track, 0);
}
public function set snapInterval(_arg1:Number):void{
_snapInterval = _arg1;
}
public function get value():Number{
return (_value);
}
public function get direction():String{
return (_direction);
}
public function get tickInterval():Number{
return (_tickInterval);
}
override public function setSize(_arg1:Number, _arg2:Number):void{
if ((((_direction == SliderDirection.VERTICAL)) && (!(isLivePreview)))){
super.setSize(_arg2, _arg1);
} else {
super.setSize(_arg1, _arg2);
};
invalidate(InvalidationType.SIZE);
}
protected function drawTicks():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:uint;
var _local5:DisplayObject;
clearTicks();
tickContainer = new Sprite();
_local1 = ((maximum)<1) ? (tickInterval / 100) : tickInterval;
_local2 = ((maximum - minimum) / _local1);
_local3 = (_width / _local2);
_local4 = 0;
while (_local4 <= _local2) {
_local5 = getDisplayObjectInstance(getStyleValue("tickSkin"));
_local5.x = (_local3 * _local4);
_local5.y = ((track.y - _local5.height) - 2);
tickContainer.addChild(_local5);
_local4++;
};
addChild(tickContainer);
}
protected function calculateValue(_arg1:Number, _arg2:String, _arg3:String, _arg4:int=undefined):void{
var _local5:Number;
_local5 = ((_arg1 / _width) * (maximum - minimum));
if (_direction == SliderDirection.VERTICAL){
_local5 = (maximum - _local5);
} else {
_local5 = (minimum + _local5);
};
doSetValue(_local5, _arg2, _arg3, _arg4);
}
protected function getPrecision(_arg1:Number):Number{
var _local2:String;
_local2 = _arg1.toString();
if (_local2.indexOf(".") == -1){
return (0);
};
return (_local2.split(".").pop().length);
}
protected function doSetValue(_arg1:Number, _arg2:String=null, _arg3:String=null, _arg4:int=undefined):void{
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
_local5 = _value;
if (((!((_snapInterval == 0))) && (!((_snapInterval == 1))))){
_local6 = Math.pow(10, getPrecision(snapInterval));
_local7 = (_snapInterval * _local6);
_local8 = Math.round((_arg1 * _local6));
_local9 = (Math.round((_local8 / _local7)) * _local7);
_arg1 = (_local9 / _local6);
_value = Math.max(minimum, Math.min(maximum, _arg1));
} else {
_value = Math.max(minimum, Math.min(maximum, Math.round(_arg1)));
};
if (((!((_local5 == _value))) && (((((liveDragging) && (!((_arg3 == null))))) || ((_arg2 == InteractionInputType.KEYBOARD)))))){
dispatchEvent(new SliderEvent(SliderEvent.CHANGE, value, _arg3, _arg2, _arg4));
};
positionThumb();
}
protected function setStyles():void{
copyStylesToChild(thumb, THUMB_STYLES);
copyStylesToChild(track, TRACK_STYLES);
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 53
//SliderDirection (fl.controls.SliderDirection)
package fl.controls {
public class SliderDirection {
public static var HORIZONTAL:String = "horizontal";
public static var VERTICAL:String = "vertical";
}
}//package fl.controls
Section 54
//TextInput (fl.controls.TextInput)
package fl.controls {
import fl.core.*;
import flash.display.*;
import flash.events.*;
import fl.managers.*;
import fl.events.*;
import flash.text.*;
import flash.ui.*;
public class TextInput extends UIComponent implements IFocusManagerComponent {
protected var _html:Boolean;// = false
protected var _savedHTML:String;
protected var background:DisplayObject;
protected var _editable:Boolean;// = true
public var textField:TextField;
private static var defaultStyles:Object = {upSkin:"TextInput_upSkin", disabledSkin:"TextInput_disabledSkin", focusRectSkin:null, focusRectPadding:null, textFormat:null, disabledTextFormat:null, textPadding:0, embedFonts:false};
public static var createAccessibilityImplementation:Function;
public function TextInput(){
_editable = true;
_html = false;
super();
}
override public function drawFocus(_arg1:Boolean):void{
if (focusTarget != null){
focusTarget.drawFocus(_arg1);
return;
};
super.drawFocus(_arg1);
}
public function set imeMode(_arg1:String):void{
_imeMode = _arg1;
}
override protected function isOurFocus(_arg1:DisplayObject):Boolean{
return ((((_arg1 == textField)) || (super.isOurFocus(_arg1))));
}
protected function handleKeyDown(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == Keyboard.ENTER){
dispatchEvent(new ComponentEvent(ComponentEvent.ENTER, true));
};
}
public function set text(_arg1:String):void{
textField.text = _arg1;
_html = false;
invalidate(InvalidationType.DATA);
invalidate(InvalidationType.STYLES);
}
protected function updateTextFieldType():void{
textField.type = (((enabled) && (editable))) ? TextFieldType.INPUT : TextFieldType.DYNAMIC;
textField.selectable = enabled;
}
public function get selectionEndIndex():int{
return (textField.selectionEndIndex);
}
public function get editable():Boolean{
return (_editable);
}
override protected function focusInHandler(_arg1:FocusEvent):void{
var _local2:IFocusManager;
if (_arg1.target == this){
stage.focus = textField;
};
_local2 = focusManager;
if (((editable) && (_local2))){
_local2.showFocusIndicator = true;
if (((textField.selectable) && ((textField.selectionBeginIndex == textField.selectionBeginIndex)))){
setSelection(0, textField.length);
};
};
super.focusInHandler(_arg1);
if (editable){
setIMEMode(true);
};
}
public function get selectionBeginIndex():int{
return (textField.selectionBeginIndex);
}
public function set alwaysShowSelection(_arg1:Boolean):void{
textField.alwaysShowSelection = _arg1;
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
updateTextFieldType();
}
protected function setEmbedFont(){
var _local1:Object;
_local1 = getStyleValue("embedFonts");
if (_local1 != null){
textField.embedFonts = _local1;
};
}
public function get horizontalScrollPosition():int{
return (textField.scrollH);
}
public function set condenseWhite(_arg1:Boolean):void{
textField.condenseWhite = _arg1;
}
public function set displayAsPassword(_arg1:Boolean):void{
textField.displayAsPassword = _arg1;
}
public function set horizontalScrollPosition(_arg1:int):void{
textField.scrollH = _arg1;
}
public function get restrict():String{
return (textField.restrict);
}
public function get textWidth():Number{
return (textField.textWidth);
}
public function get textHeight():Number{
return (textField.textHeight);
}
public function set editable(_arg1:Boolean):void{
_editable = _arg1;
updateTextFieldType();
}
public function get maxChars():int{
return (textField.maxChars);
}
public function get length():int{
return (textField.length);
}
public function getLineMetrics(_arg1:int):TextLineMetrics{
return (textField.getLineMetrics(_arg1));
}
public function get imeMode():String{
return (_imeMode);
}
override protected function focusOutHandler(_arg1:FocusEvent):void{
super.focusOutHandler(_arg1);
if (editable){
setIMEMode(false);
};
}
public function set htmlText(_arg1:String):void{
if (_arg1 == ""){
text = "";
return;
};
_html = true;
_savedHTML = _arg1;
textField.htmlText = _arg1;
invalidate(InvalidationType.DATA);
invalidate(InvalidationType.STYLES);
}
public function get text():String{
return (textField.text);
}
override public function get enabled():Boolean{
return (super.enabled);
}
public function get condenseWhite():Boolean{
return (textField.condenseWhite);
}
public function get alwaysShowSelection():Boolean{
return (textField.alwaysShowSelection);
}
override protected function draw():void{
var _local1:Object;
if (isInvalid(InvalidationType.STYLES, InvalidationType.STATE)){
drawTextFormat();
drawBackground();
_local1 = getStyleValue("embedFonts");
if (_local1 != null){
textField.embedFonts = _local1;
};
invalidate(InvalidationType.SIZE, false);
};
if (isInvalid(InvalidationType.SIZE)){
drawLayout();
};
super.draw();
}
protected function handleTextInput(_arg1:TextEvent):void{
_arg1.stopPropagation();
dispatchEvent(new TextEvent(TextEvent.TEXT_INPUT, true, false, _arg1.text));
}
override protected function configUI():void{
super.configUI();
tabChildren = true;
textField = new TextField();
addChild(textField);
updateTextFieldType();
textField.addEventListener(TextEvent.TEXT_INPUT, handleTextInput, false, 0, true);
textField.addEventListener(Event.CHANGE, handleChange, false, 0, true);
textField.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown, false, 0, true);
}
public function setSelection(_arg1:int, _arg2:int):void{
textField.setSelection(_arg1, _arg2);
}
public function get displayAsPassword():Boolean{
return (textField.displayAsPassword);
}
public function appendText(_arg1:String):void{
textField.appendText(_arg1);
}
public function set restrict(_arg1:String):void{
if (((componentInspectorSetting) && ((_arg1 == "")))){
_arg1 = null;
};
textField.restrict = _arg1;
}
public function get htmlText():String{
return (textField.htmlText);
}
protected function drawBackground():void{
var _local1:DisplayObject;
var _local2:String;
_local1 = background;
_local2 = (enabled) ? "upSkin" : "disabledSkin";
background = getDisplayObjectInstance(getStyleValue(_local2));
if (background == null){
return;
};
addChildAt(background, 0);
if (((((!((_local1 == null))) && (!((_local1 == background))))) && (contains(_local1)))){
removeChild(_local1);
};
}
override public function setFocus():void{
stage.focus = textField;
}
protected function drawLayout():void{
var _local1:Number;
_local1 = Number(getStyleValue("textPadding"));
if (background != null){
background.width = width;
background.height = height;
};
textField.width = (width - (2 * _local1));
textField.height = (height - (2 * _local1));
textField.x = (textField.y = _local1);
}
public function set maxChars(_arg1:int):void{
textField.maxChars = _arg1;
}
public function get maxHorizontalScrollPosition():int{
return (textField.maxScrollH);
}
protected function drawTextFormat():void{
var _local1:Object;
var _local2:TextFormat;
var _local3:TextFormat;
_local1 = UIComponent.getStyleDefinition();
_local2 = (enabled) ? (_local1.defaultTextFormat as TextFormat) : (_local1.defaultDisabledTextFormat as TextFormat);
textField.setTextFormat(_local2);
_local3 = (getStyleValue((enabled) ? "textFormat" : "disabledTextFormat") as TextFormat);
if (_local3 != null){
textField.setTextFormat(_local3);
} else {
_local3 = _local2;
};
textField.defaultTextFormat = _local3;
setEmbedFont();
if (_html){
textField.htmlText = _savedHTML;
};
}
protected function handleChange(_arg1:Event):void{
_arg1.stopPropagation();
dispatchEvent(new Event(Event.CHANGE, true));
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
}
}//package fl.controls
Section 55
//ComponentShim (fl.core.ComponentShim)
package fl.core {
import flash.display.*;
public dynamic class ComponentShim extends MovieClip {
}
}//package fl.core
Section 56
//InvalidationType (fl.core.InvalidationType)
package fl.core {
public class InvalidationType {
public static const SIZE:String = "size";
public static const ALL:String = "all";
public static const DATA:String = "data";
public static const SCROLL:String = "scroll";
public static const STATE:String = "state";
public static const STYLES:String = "styles";
public static const SELECTED:String = "selected";
public static const RENDERER_STYLES:String = "rendererStyles";
}
}//package fl.core
Section 57
//UIComponent (fl.core.UIComponent)
package fl.core {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import fl.managers.*;
import fl.events.*;
import flash.text.*;
import flash.system.*;
public class UIComponent extends Sprite {
protected var _enabled:Boolean;// = true
private var _mouseFocusEnabled:Boolean;// = true
protected var startHeight:Number;
protected var _height:Number;
protected var _oldIMEMode:String;// = null
protected var startWidth:Number;
public var focusTarget:IFocusManagerComponent;
protected var errorCaught:Boolean;// = false
protected var uiFocusRect:DisplayObject;
protected var _width:Number;
public var version:String;// = "3.0.0.15"
protected var isFocused:Boolean;// = false
protected var callLaterMethods:Dictionary;
private var _focusEnabled:Boolean;// = true
private var tempText:TextField;
protected var invalidateFlag:Boolean;// = false
protected var _inspector:Boolean;// = false
protected var sharedStyles:Object;
protected var invalidHash:Object;
protected var isLivePreview:Boolean;// = false
protected var _imeMode:String;// = null
protected var instanceStyles:Object;
protected var _x:Number;
protected var _y:Number;
public static var inCallLaterPhase:Boolean = false;
private static var defaultStyles:Object = {focusRectSkin:"focusRectSkin", focusRectPadding:2, textFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), disabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultTextFormat:new TextFormat("_sans", 11, 0, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0), defaultDisabledTextFormat:new TextFormat("_sans", 11, 0x999999, false, false, false, "", "", TextFormatAlign.LEFT, 0, 0, 0, 0)};
public static var createAccessibilityImplementation:Function;
private static var focusManagers:Dictionary = new Dictionary(false);
public function UIComponent(){
version = "3.0.0.15";
isLivePreview = false;
invalidateFlag = false;
_enabled = true;
isFocused = false;
_focusEnabled = true;
_mouseFocusEnabled = true;
_imeMode = null;
_oldIMEMode = null;
errorCaught = false;
_inspector = false;
super();
instanceStyles = {};
sharedStyles = {};
invalidHash = {};
callLaterMethods = new Dictionary();
StyleManager.registerInstance(this);
configUI();
invalidate(InvalidationType.ALL);
tabEnabled = (this is IFocusManagerComponent);
focusRect = false;
if (tabEnabled){
addEventListener(FocusEvent.FOCUS_IN, focusInHandler);
addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler);
addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
};
initializeFocusManager();
addEventListener(Event.ENTER_FRAME, hookAccessibility, false, 0, true);
}
public function drawFocus(_arg1:Boolean):void{
var _local2:Number;
isFocused = _arg1;
if (((!((uiFocusRect == null))) && (contains(uiFocusRect)))){
removeChild(uiFocusRect);
uiFocusRect = null;
};
if (_arg1){
uiFocusRect = (getDisplayObjectInstance(getStyleValue("focusRectSkin")) as Sprite);
if (uiFocusRect == null){
return;
};
_local2 = Number(getStyleValue("focusRectPadding"));
uiFocusRect.x = -(_local2);
uiFocusRect.y = -(_local2);
uiFocusRect.width = (width + (_local2 * 2));
uiFocusRect.height = (height + (_local2 * 2));
addChildAt(uiFocusRect, 0);
};
}
private function callLaterDispatcher(_arg1:Event):void{
var _local2:Dictionary;
var _local3:Object;
if (_arg1.type == Event.ADDED_TO_STAGE){
removeEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher);
stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true);
stage.invalidate();
return;
};
_arg1.target.removeEventListener(Event.RENDER, callLaterDispatcher);
if (stage == null){
addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true);
return;
};
inCallLaterPhase = true;
_local2 = callLaterMethods;
for (_local3 in _local2) {
_local3();
delete _local2[_local3];
};
inCallLaterPhase = false;
}
private function addedHandler(_arg1:Event):void{
removeEventListener("addedToStage", addedHandler);
initializeFocusManager();
}
protected function getStyleValue(_arg1:String):Object{
return (((instanceStyles[_arg1])==null) ? sharedStyles[_arg1] : instanceStyles[_arg1]);
}
protected function isOurFocus(_arg1:DisplayObject):Boolean{
return ((_arg1 == this));
}
override public function get scaleX():Number{
return ((width / startWidth));
}
override public function get scaleY():Number{
return ((height / startHeight));
}
override public function set height(_arg1:Number):void{
if (_height == _arg1){
return;
};
setSize(width, _arg1);
}
protected function keyDownHandler(_arg1:KeyboardEvent):void{
}
protected function focusInHandler(_arg1:FocusEvent):void{
var _local2:IFocusManager;
if (isOurFocus((_arg1.target as DisplayObject))){
_local2 = focusManager;
if (((_local2) && (_local2.showFocusIndicator))){
drawFocus(true);
isFocused = true;
};
};
}
public function setStyle(_arg1:String, _arg2:Object):void{
if ((((instanceStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
instanceStyles[_arg1] = _arg2;
invalidate(InvalidationType.STYLES);
}
override public function get visible():Boolean{
return (super.visible);
}
public function get componentInspectorSetting():Boolean{
return (_inspector);
}
override public function get x():Number{
return ((isNaN(_x)) ? super.x : _x);
}
override public function get y():Number{
return ((isNaN(_y)) ? super.y : _y);
}
protected function setIMEMode(_arg1:Boolean){
var enabled = _arg1;
if (_imeMode != null){
if (enabled){
IME.enabled = true;
_oldIMEMode = IME.conversionMode;
try {
if (((!(errorCaught)) && (!((IME.conversionMode == IMEConversionMode.UNKNOWN))))){
IME.conversionMode = _imeMode;
};
errorCaught = false;
} catch(e:Error) {
errorCaught = true;
throw (new Error(("IME mode not supported: " + _imeMode)));
};
} else {
if (((!((IME.conversionMode == IMEConversionMode.UNKNOWN))) && (!((_oldIMEMode == IMEConversionMode.UNKNOWN))))){
IME.conversionMode = _oldIMEMode;
};
IME.enabled = false;
};
};
}
public function set enabled(_arg1:Boolean):void{
if (_arg1 == _enabled){
return;
};
_enabled = _arg1;
invalidate(InvalidationType.STATE);
}
public function setSharedStyle(_arg1:String, _arg2:Object):void{
if ((((sharedStyles[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
sharedStyles[_arg1] = _arg2;
if (instanceStyles[_arg1] == null){
invalidate(InvalidationType.STYLES);
};
}
protected function keyUpHandler(_arg1:KeyboardEvent):void{
}
public function set focusEnabled(_arg1:Boolean):void{
_focusEnabled = _arg1;
}
override public function set scaleX(_arg1:Number):void{
setSize((startWidth * _arg1), height);
}
public function get mouseFocusEnabled():Boolean{
return (_mouseFocusEnabled);
}
override public function set scaleY(_arg1:Number):void{
setSize(width, (startHeight * _arg1));
}
protected function getDisplayObjectInstance(_arg1:Object):DisplayObject{
var classDef:Object;
var skin = _arg1;
classDef = null;
if ((skin is Class)){
return ((new (skin) as DisplayObject));
};
if ((skin is DisplayObject)){
(skin as DisplayObject).x = 0;
(skin as DisplayObject).y = 0;
return ((skin as DisplayObject));
};
try {
classDef = getDefinitionByName(skin.toString());
} catch(e:Error) {
try {
classDef = (loaderInfo.applicationDomain.getDefinition(skin.toString()) as Object);
} catch(e:Error) {
};
};
if (classDef == null){
return (null);
};
return ((new (classDef) as DisplayObject));
}
protected function copyStylesToChild(_arg1:UIComponent, _arg2:Object):void{
var _local3:String;
for (_local3 in _arg2) {
_arg1.setStyle(_local3, getStyleValue(_arg2[_local3]));
};
}
protected function beforeComponentParameters():void{
}
protected function callLater(_arg1:Function):void{
if (inCallLaterPhase){
return;
};
callLaterMethods[_arg1] = true;
if (stage != null){
stage.addEventListener(Event.RENDER, callLaterDispatcher, false, 0, true);
stage.invalidate();
} else {
addEventListener(Event.ADDED_TO_STAGE, callLaterDispatcher, false, 0, true);
};
}
protected function createFocusManager():void{
if (focusManagers[stage] == null){
focusManagers[stage] = new FocusManager(stage);
};
}
override public function set visible(_arg1:Boolean):void{
var _local2:String;
if (super.visible == _arg1){
return;
};
super.visible = _arg1;
_local2 = (_arg1) ? ComponentEvent.SHOW : ComponentEvent.HIDE;
dispatchEvent(new ComponentEvent(_local2, true));
}
protected function hookAccessibility(_arg1:Event):void{
removeEventListener(Event.ENTER_FRAME, hookAccessibility);
initializeAccessibility();
}
public function set componentInspectorSetting(_arg1:Boolean):void{
_inspector = _arg1;
if (_inspector){
beforeComponentParameters();
} else {
afterComponentParameters();
};
}
override public function set x(_arg1:Number):void{
move(_arg1, _y);
}
public function drawNow():void{
draw();
}
override public function set y(_arg1:Number):void{
move(_x, _arg1);
}
protected function checkLivePreview():Boolean{
var className:String;
if (parent == null){
return (false);
};
try {
className = getQualifiedClassName(parent);
} catch(e:Error) {
};
return ((className == "fl.livepreview::LivePreviewParent"));
}
protected function focusOutHandler(_arg1:FocusEvent):void{
if (isOurFocus((_arg1.target as DisplayObject))){
drawFocus(false);
isFocused = false;
};
}
public function set mouseFocusEnabled(_arg1:Boolean):void{
_mouseFocusEnabled = _arg1;
}
public function getFocus():InteractiveObject{
if (stage){
return (stage.focus);
};
return (null);
}
protected function validate():void{
invalidHash = {};
}
override public function get height():Number{
return (_height);
}
public function invalidate(_arg1:String="all", _arg2:Boolean=true):void{
invalidHash[_arg1] = true;
if (_arg2){
this.callLater(draw);
};
}
public function get enabled():Boolean{
return (_enabled);
}
protected function getScaleX():Number{
return (super.scaleX);
}
protected function getScaleY():Number{
return (super.scaleY);
}
public function get focusEnabled():Boolean{
return (_focusEnabled);
}
protected function afterComponentParameters():void{
}
protected function draw():void{
if (isInvalid(InvalidationType.SIZE, InvalidationType.STYLES)){
if (((isFocused) && (focusManager.showFocusIndicator))){
drawFocus(true);
};
};
validate();
}
protected function configUI():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
isLivePreview = checkLivePreview();
_local1 = rotation;
rotation = 0;
_local2 = super.width;
_local3 = super.height;
var _local4 = 1;
super.scaleY = _local4;
super.scaleX = _local4;
setSize(_local2, _local3);
move(super.x, super.y);
rotation = _local1;
startWidth = _local2;
startHeight = _local3;
if (numChildren > 0){
removeChildAt(0);
};
}
protected function setScaleX(_arg1:Number):void{
super.scaleX = _arg1;
}
protected function setScaleY(_arg1:Number):void{
super.scaleY = _arg1;
}
private function initializeFocusManager():void{
if (stage == null){
addEventListener(Event.ADDED_TO_STAGE, addedHandler, false, 0, true);
} else {
createFocusManager();
};
}
public function set focusManager(_arg1:IFocusManager):void{
UIComponent.focusManagers[this] = _arg1;
}
public function clearStyle(_arg1:String):void{
setStyle(_arg1, null);
}
protected function isInvalid(_arg1:String, ... _args):Boolean{
if (((invalidHash[_arg1]) || (invalidHash[InvalidationType.ALL]))){
return (true);
};
while (_args.length > 0) {
if (invalidHash[_args.pop()]){
return (true);
};
};
return (false);
}
public function setSize(_arg1:Number, _arg2:Number):void{
_width = _arg1;
_height = _arg2;
invalidate(InvalidationType.SIZE);
dispatchEvent(new ComponentEvent(ComponentEvent.RESIZE, false));
}
override public function set width(_arg1:Number):void{
if (_width == _arg1){
return;
};
setSize(_arg1, height);
}
public function setFocus():void{
if (stage){
stage.focus = this;
};
}
protected function initializeAccessibility():void{
if (UIComponent.createAccessibilityImplementation != null){
UIComponent.createAccessibilityImplementation(this);
};
}
public function get focusManager():IFocusManager{
var _local1:DisplayObject;
_local1 = this;
while (_local1) {
if (UIComponent.focusManagers[_local1] != null){
return (IFocusManager(UIComponent.focusManagers[_local1]));
};
_local1 = _local1.parent;
};
return (null);
}
override public function get width():Number{
return (_width);
}
public function move(_arg1:Number, _arg2:Number):void{
_x = _arg1;
_y = _arg2;
super.x = Math.round(_arg1);
super.y = Math.round(_arg2);
dispatchEvent(new ComponentEvent(ComponentEvent.MOVE));
}
public function validateNow():void{
invalidate(InvalidationType.ALL, false);
draw();
}
public function getStyle(_arg1:String):Object{
return (instanceStyles[_arg1]);
}
public static function getStyleDefinition():Object{
return (defaultStyles);
}
public static function mergeStyles(... _args):Object{
var _local2:Object;
var _local3:uint;
var _local4:uint;
var _local5:Object;
var _local6:String;
_local2 = {};
_local3 = _args.length;
_local4 = 0;
while (_local4 < _local3) {
_local5 = _args[_local4];
for (_local6 in _local5) {
if (_local2[_local6] != null){
} else {
_local2[_local6] = _args[_local4][_local6];
};
};
_local4++;
};
return (_local2);
}
}
}//package fl.core
Section 58
//DataProvider (fl.data.DataProvider)
package fl.data {
import flash.events.*;
import fl.events.*;
public class DataProvider extends EventDispatcher {
protected var data:Array;
public function DataProvider(_arg1:Object=null){
if (_arg1 == null){
data = [];
} else {
data = getDataFromObject(_arg1);
};
}
protected function dispatchPreChangeEvent(_arg1:String, _arg2:Array, _arg3:int, _arg4:int):void{
dispatchEvent(new DataChangeEvent(DataChangeEvent.PRE_DATA_CHANGE, _arg1, _arg2, _arg3, _arg4));
}
public function invalidateItemAt(_arg1:int):void{
checkIndex(_arg1, (data.length - 1));
dispatchChangeEvent(DataChangeType.INVALIDATE, [data[_arg1]], _arg1, _arg1);
}
public function getItemIndex(_arg1:Object):int{
return (data.indexOf(_arg1));
}
protected function getDataFromObject(_arg1:Object):Array{
var _local2:Array;
var _local3:Array;
var _local4:uint;
var _local5:Object;
var _local6:XML;
var _local7:XMLList;
var _local8:XML;
var _local9:XMLList;
var _local10:XML;
var _local11:XMLList;
var _local12:XML;
if ((_arg1 is Array)){
_local3 = (_arg1 as Array);
if (_local3.length > 0){
if ((((_local3[0] is String)) || ((_local3[0] is Number)))){
_local2 = [];
_local4 = 0;
while (_local4 < _local3.length) {
_local5 = {label:String(_local3[_local4]), data:_local3[_local4]};
_local2.push(_local5);
_local4++;
};
return (_local2);
};
};
return (_arg1.concat());
} else {
if ((_arg1 is DataProvider)){
return (_arg1.toArray());
};
if ((_arg1 is XML)){
_local6 = (_arg1 as XML);
_local2 = [];
_local7 = _local6.*;
for each (_local8 in _local7) {
_arg1 = {};
_local9 = _local8.attributes();
for each (_local10 in _local9) {
_arg1[_local10.localName()] = _local10.toString();
};
_local11 = _local8.*;
for each (_local12 in _local11) {
if (_local12.hasSimpleContent()){
_arg1[_local12.localName()] = _local12.toString();
};
};
_local2.push(_arg1);
};
return (_local2);
//unresolved jump
};
};
throw (new ((!NULL! + !NULL!) + " to Array or DataProvider.").TypeError(!NULL!));
}
public function removeItemAt(_arg1:uint):Object{
var _local2:Array;
checkIndex(_arg1, (data.length - 1));
dispatchPreChangeEvent(DataChangeType.REMOVE, data.slice(_arg1, (_arg1 + 1)), _arg1, _arg1);
_local2 = data.splice(_arg1, 1);
dispatchChangeEvent(DataChangeType.REMOVE, _local2, _arg1, _arg1);
return (_local2[0]);
}
public function addItem(_arg1:Object):void{
dispatchPreChangeEvent(DataChangeType.ADD, [_arg1], (data.length - 1), (data.length - 1));
data.push(_arg1);
dispatchChangeEvent(DataChangeType.ADD, [_arg1], (data.length - 1), (data.length - 1));
}
public function sortOn(_arg1:Object, _arg2:Object=null){
var _local3:Array;
dispatchPreChangeEvent(DataChangeType.SORT, data.concat(), 0, (data.length - 1));
_local3 = data.sortOn(_arg1, _arg2);
dispatchChangeEvent(DataChangeType.SORT, data.concat(), 0, (data.length - 1));
return (_local3);
}
public function sort(... _args){
var _local2:Array;
dispatchPreChangeEvent(DataChangeType.SORT, data.concat(), 0, (data.length - 1));
_local2 = data.sort.apply(data, _args);
dispatchChangeEvent(DataChangeType.SORT, data.concat(), 0, (data.length - 1));
return (_local2);
}
public function addItems(_arg1:Object):void{
addItemsAt(_arg1, data.length);
}
public function concat(_arg1:Object):void{
addItems(_arg1);
}
public function clone():DataProvider{
return (new DataProvider(data));
}
public function toArray():Array{
return (data.concat());
}
public function get length():uint{
return (data.length);
}
public function addItemAt(_arg1:Object, _arg2:uint):void{
checkIndex(_arg2, data.length);
dispatchPreChangeEvent(DataChangeType.ADD, [_arg1], _arg2, _arg2);
data.splice(_arg2, 0, _arg1);
dispatchChangeEvent(DataChangeType.ADD, [_arg1], _arg2, _arg2);
}
public function getItemAt(_arg1:uint):Object{
checkIndex(_arg1, (data.length - 1));
return (data[_arg1]);
}
override public function toString():String{
return ((("DataProvider [" + data.join(" , ")) + "]"));
}
public function invalidateItem(_arg1:Object):void{
var _local2:uint;
_local2 = getItemIndex(_arg1);
if (_local2 == -1){
return;
};
invalidateItemAt(_local2);
}
protected function dispatchChangeEvent(_arg1:String, _arg2:Array, _arg3:int, _arg4:int):void{
dispatchEvent(new DataChangeEvent(DataChangeEvent.DATA_CHANGE, _arg1, _arg2, _arg3, _arg4));
}
protected function checkIndex(_arg1:int, _arg2:int):void{
if ((((_arg1 > _arg2)) || ((_arg1 < 0)))){
throw (new RangeError((((("DataProvider index (" + _arg1) + ") is not in acceptable range (0 - ") + _arg2) + ")")));
};
}
public function addItemsAt(_arg1:Object, _arg2:uint):void{
var _local3:Array;
checkIndex(_arg2, data.length);
_local3 = getDataFromObject(_arg1);
dispatchPreChangeEvent(DataChangeType.ADD, _local3, _arg2, ((_arg2 + _local3.length) - 1));
data.splice.apply(data, [_arg2, 0].concat(_local3));
dispatchChangeEvent(DataChangeType.ADD, _local3, _arg2, ((_arg2 + _local3.length) - 1));
}
public function replaceItem(_arg1:Object, _arg2:Object):Object{
var _local3:int;
_local3 = getItemIndex(_arg2);
if (_local3 != -1){
return (replaceItemAt(_arg1, _local3));
};
return (null);
}
public function removeItem(_arg1:Object):Object{
var _local2:int;
_local2 = getItemIndex(_arg1);
if (_local2 != -1){
return (removeItemAt(_local2));
};
return (null);
}
public function merge(_arg1:Object):void{
var _local2:Array;
var _local3:uint;
var _local4:uint;
var _local5:uint;
var _local6:Object;
_local2 = getDataFromObject(_arg1);
_local3 = _local2.length;
_local4 = data.length;
dispatchPreChangeEvent(DataChangeType.ADD, data.slice(_local4, data.length), _local4, (this.data.length - 1));
_local5 = 0;
while (_local5 < _local3) {
_local6 = _local2[_local5];
if (getItemIndex(_local6) == -1){
data.push(_local6);
};
_local5++;
};
if (data.length > _local4){
dispatchChangeEvent(DataChangeType.ADD, data.slice(_local4, data.length), _local4, (this.data.length - 1));
} else {
dispatchChangeEvent(DataChangeType.ADD, [], -1, -1);
};
}
public function replaceItemAt(_arg1:Object, _arg2:uint):Object{
var _local3:Array;
checkIndex(_arg2, (data.length - 1));
_local3 = [data[_arg2]];
dispatchPreChangeEvent(DataChangeType.REPLACE, _local3, _arg2, _arg2);
data[_arg2] = _arg1;
dispatchChangeEvent(DataChangeType.REPLACE, _local3, _arg2, _arg2);
return (_local3[0]);
}
public function invalidate():void{
dispatchEvent(new DataChangeEvent(DataChangeEvent.DATA_CHANGE, DataChangeType.INVALIDATE_ALL, data.concat(), 0, data.length));
}
public function removeAll():void{
var _local1:Array;
_local1 = data.concat();
dispatchPreChangeEvent(DataChangeType.REMOVE_ALL, _local1, 0, _local1.length);
data = [];
dispatchChangeEvent(DataChangeType.REMOVE_ALL, _local1, 0, _local1.length);
}
}
}//package fl.data
Section 59
//SimpleCollectionItem (fl.data.SimpleCollectionItem)
package fl.data {
public dynamic class SimpleCollectionItem {
public var label:String;
public var data:String;
public function toString():String{
return ((((("[SimpleCollectionItem: " + label) + ",") + data) + "]"));
}
}
}//package fl.data
Section 60
//ComponentEvent (fl.events.ComponentEvent)
package fl.events {
import flash.events.*;
public class ComponentEvent extends Event {
public static const HIDE:String = "hide";
public static const BUTTON_DOWN:String = "buttonDown";
public static const MOVE:String = "move";
public static const RESIZE:String = "resize";
public static const ENTER:String = "enter";
public static const LABEL_CHANGE:String = "labelChange";
public static const SHOW:String = "show";
public function ComponentEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
override public function toString():String{
return (formatToString("ComponentEvent", "type", "bubbles", "cancelable"));
}
override public function clone():Event{
return (new ComponentEvent(type, bubbles, cancelable));
}
}
}//package fl.events
Section 61
//DataChangeEvent (fl.events.DataChangeEvent)
package fl.events {
import flash.events.*;
public class DataChangeEvent extends Event {
protected var _items:Array;
protected var _endIndex:uint;
protected var _changeType:String;
protected var _startIndex:uint;
public static const PRE_DATA_CHANGE:String = "preDataChange";
public static const DATA_CHANGE:String = "dataChange";
public function DataChangeEvent(_arg1:String, _arg2:String, _arg3:Array, _arg4:int=-1, _arg5:int=-1):void{
super(_arg1);
_changeType = _arg2;
_startIndex = _arg4;
_items = _arg3;
_endIndex = ((_arg5)==-1) ? _startIndex : _arg5;
}
public function get changeType():String{
return (_changeType);
}
public function get startIndex():uint{
return (_startIndex);
}
public function get items():Array{
return (_items);
}
override public function clone():Event{
return (new DataChangeEvent(type, _changeType, _items, _startIndex, _endIndex));
}
override public function toString():String{
return (formatToString("DataChangeEvent", "type", "changeType", "startIndex", "endIndex", "bubbles", "cancelable"));
}
public function get endIndex():uint{
return (_endIndex);
}
}
}//package fl.events
Section 62
//DataChangeType (fl.events.DataChangeType)
package fl.events {
public class DataChangeType {
public static const ADD:String = "add";
public static const REMOVE:String = "remove";
public static const REMOVE_ALL:String = "removeAll";
public static const CHANGE:String = "change";
public static const REPLACE:String = "replace";
public static const INVALIDATE:String = "invalidate";
public static const INVALIDATE_ALL:String = "invalidateAll";
public static const SORT:String = "sort";
}
}//package fl.events
Section 63
//InteractionInputType (fl.events.InteractionInputType)
package fl.events {
public class InteractionInputType {
public static const MOUSE:String = "mouse";
public static const KEYBOARD:String = "keyboard";
}
}//package fl.events
Section 64
//ListEvent (fl.events.ListEvent)
package fl.events {
import flash.events.*;
public class ListEvent extends Event {
protected var _index:int;
protected var _item:Object;
protected var _columnIndex:int;
protected var _rowIndex:int;
public static const ITEM_DOUBLE_CLICK:String = "itemDoubleClick";
public static const ITEM_ROLL_OUT:String = "itemRollOut";
public static const ITEM_ROLL_OVER:String = "itemRollOver";
public static const ITEM_CLICK:String = "itemClick";
public function ListEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:int=-1, _arg5:int=-1, _arg6:int=-1, _arg7:Object=null){
super(_arg1, _arg2, _arg3);
_rowIndex = _arg5;
_columnIndex = _arg4;
_index = _arg6;
_item = _arg7;
}
public function get rowIndex():Object{
return (_rowIndex);
}
public function get index():int{
return (_index);
}
public function get item():Object{
return (_item);
}
public function get columnIndex():int{
return (_columnIndex);
}
override public function clone():Event{
return (new ListEvent(type, bubbles, cancelable, _columnIndex, _rowIndex));
}
override public function toString():String{
return (formatToString("ListEvent", "type", "bubbles", "cancelable", "columnIndex", "rowIndex", "index", "item"));
}
}
}//package fl.events
Section 65
//ScrollEvent (fl.events.ScrollEvent)
package fl.events {
import flash.events.*;
public class ScrollEvent extends Event {
private var _position:Number;
private var _direction:String;
private var _delta:Number;
public static const SCROLL:String = "scroll";
public function ScrollEvent(_arg1:String, _arg2:Number, _arg3:Number){
super(ScrollEvent.SCROLL, false, false);
_direction = _arg1;
_delta = _arg2;
_position = _arg3;
}
override public function clone():Event{
return (new ScrollEvent(_direction, _delta, _position));
}
public function get position():Number{
return (_position);
}
override public function toString():String{
return (formatToString("ScrollEvent", "type", "bubbles", "cancelable", "direction", "delta", "position"));
}
public function get delta():Number{
return (_delta);
}
public function get direction():String{
return (_direction);
}
}
}//package fl.events
Section 66
//SliderEvent (fl.events.SliderEvent)
package fl.events {
import flash.events.*;
public class SliderEvent extends Event {
protected var _triggerEvent:String;
protected var _keyCode:Number;
protected var _value:Number;
protected var _clickTarget:String;
public static const CHANGE:String = "change";
public static const THUMB_PRESS:String = "thumbPress";
public static const THUMB_DRAG:String = "thumbDrag";
public static const THUMB_RELEASE:String = "thumbRelease";
public function SliderEvent(_arg1:String, _arg2:Number, _arg3:String, _arg4:String, _arg5:int=0){
_value = _arg2;
_keyCode = _arg5;
_triggerEvent = _arg4;
_clickTarget = _arg3;
super(_arg1);
}
public function get clickTarget():String{
return (_clickTarget);
}
override public function clone():Event{
return (new SliderEvent(type, _value, _clickTarget, _triggerEvent, _keyCode));
}
override public function toString():String{
return (formatToString("SliderEvent", "type", "value", "bubbles", "cancelable", "keyCode", "triggerEvent", "clickTarget"));
}
public function get triggerEvent():String{
return (_triggerEvent);
}
public function get value():Number{
return (_value);
}
public function get keyCode():Number{
return (_keyCode);
}
}
}//package fl.events
Section 67
//SliderEventClickTarget (fl.events.SliderEventClickTarget)
package fl.events {
public class SliderEventClickTarget {
public static const TRACK:String = "track";
public static const THUMB:String = "thumb";
}
}//package fl.events
Section 68
//FocusManager (fl.managers.FocusManager)
package fl.managers {
import fl.core.*;
import fl.controls.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
import flash.ui.*;
public class FocusManager implements IFocusManager {
private var focusableObjects:Dictionary;
private var _showFocusIndicator:Boolean;// = true
private var defButton:Button;
private var focusableCandidates:Array;
private var _form:DisplayObjectContainer;
private var _defaultButtonEnabled:Boolean;// = true
private var activated:Boolean;// = false
private var _defaultButton:Button;
private var calculateCandidates:Boolean;// = true
private var lastFocus:InteractiveObject;
private var lastAction:String;
public function FocusManager(_arg1:DisplayObjectContainer){
activated = false;
calculateCandidates = true;
_showFocusIndicator = true;
_defaultButtonEnabled = true;
super();
focusableObjects = new Dictionary(true);
if (_arg1 != null){
_form = _arg1;
addFocusables(DisplayObject(_arg1));
_arg1.addEventListener(Event.ADDED, addedHandler);
_arg1.addEventListener(Event.REMOVED, removedHandler);
activate();
};
}
public function get showFocusIndicator():Boolean{
return (_showFocusIndicator);
}
private function getIndexOfNextObject(_arg1:int, _arg2:Boolean, _arg3:Boolean, _arg4:String):int{
var _local5:int;
var _local6:int;
var _local7:DisplayObject;
var _local8:IFocusManagerGroup;
var _local9:int;
var _local10:DisplayObject;
var _local11:IFocusManagerGroup;
_local5 = focusableCandidates.length;
_local6 = _arg1;
while (true) {
if (_arg2){
_arg1--;
} else {
_arg1++;
};
if (_arg3){
if (((_arg2) && ((_arg1 < 0)))){
break;
};
if (((!(_arg2)) && ((_arg1 == _local5)))){
break;
};
} else {
_arg1 = ((_arg1 + _local5) % _local5);
if (_local6 == _arg1){
break;
};
};
if (isValidFocusCandidate(focusableCandidates[_arg1], _arg4)){
_local7 = DisplayObject(findFocusManagerComponent(focusableCandidates[_arg1]));
if ((_local7 is IFocusManagerGroup)){
_local8 = IFocusManagerGroup(_local7);
_local9 = 0;
while (_local9 < focusableCandidates.length) {
_local10 = focusableCandidates[_local9];
if ((_local10 is IFocusManagerGroup)){
_local11 = IFocusManagerGroup(_local10);
if ((((_local11.groupName == _local8.groupName)) && (_local11.selected))){
_arg1 = _local9;
break;
};
};
_local9++;
};
};
return (_arg1);
};
};
return (_arg1);
}
public function set form(_arg1:DisplayObjectContainer):void{
_form = _arg1;
}
private function addFocusables(_arg1:DisplayObject, _arg2:Boolean=false):void{
var focusable:IFocusManagerComponent;
var io:InteractiveObject;
var doc:DisplayObjectContainer;
var i:int;
var child:DisplayObject;
var o = _arg1;
var skipTopLevel = _arg2;
if (!skipTopLevel){
if ((o is IFocusManagerComponent)){
focusable = IFocusManagerComponent(o);
if (focusable.focusEnabled){
if (((focusable.tabEnabled) && (isTabVisible(o)))){
focusableObjects[o] = true;
calculateCandidates = true;
};
o.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
o.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
};
} else {
if ((o is InteractiveObject)){
io = (o as InteractiveObject);
if (((((io) && (io.tabEnabled))) && ((findFocusManagerComponent(io) == io)))){
focusableObjects[io] = true;
calculateCandidates = true;
};
io.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
io.addEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
};
};
};
if ((o is DisplayObjectContainer)){
doc = DisplayObjectContainer(o);
o.addEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler);
if ((((((doc is Stage)) || ((doc.parent is Stage)))) || (doc.tabChildren))){
i = 0;
while (i < doc.numChildren) {
try {
child = doc.getChildAt(i);
if (child != null){
addFocusables(doc.getChildAt(i));
};
} catch(error:SecurityError) {
};
i = (i + 1);
};
};
};
}
private function getChildIndex(_arg1:DisplayObjectContainer, _arg2:DisplayObject):int{
return (_arg1.getChildIndex(_arg2));
}
private function mouseFocusChangeHandler(_arg1:FocusEvent):void{
if ((_arg1.relatedObject is TextField)){
return;
};
_arg1.preventDefault();
}
private function focusOutHandler(_arg1:FocusEvent):void{
var _local2:InteractiveObject;
_local2 = (_arg1.target as InteractiveObject);
}
private function isValidFocusCandidate(_arg1:DisplayObject, _arg2:String):Boolean{
var _local3:IFocusManagerGroup;
if (!isEnabledAndVisible(_arg1)){
return (false);
};
if ((_arg1 is IFocusManagerGroup)){
_local3 = IFocusManagerGroup(_arg1);
if (_arg2 == _local3.groupName){
return (false);
};
};
return (true);
}
public function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject{
var _local2:InteractiveObject;
_local2 = _arg1;
while (_arg1) {
if ((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))){
return (_arg1);
};
_arg1 = _arg1.parent;
};
return (_local2);
}
private function sortFocusableObjectsTabIndex():void{
var _local1:Object;
var _local2:InteractiveObject;
focusableCandidates = [];
for (_local1 in focusableObjects) {
_local2 = InteractiveObject(_local1);
if (((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))){
focusableCandidates.push(_local2);
};
};
focusableCandidates.sort(sortByTabIndex);
}
private function removeFocusables(_arg1:DisplayObject):void{
var _local2:Object;
var _local3:DisplayObject;
if ((_arg1 is DisplayObjectContainer)){
_arg1.removeEventListener(Event.TAB_CHILDREN_CHANGE, tabChildrenChangeHandler);
_arg1.removeEventListener(Event.TAB_INDEX_CHANGE, tabIndexChangeHandler);
for (_local2 in focusableObjects) {
_local3 = DisplayObject(_local2);
if (DisplayObjectContainer(_arg1).contains(_local3)){
if (_local3 == lastFocus){
lastFocus = null;
};
_local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
delete focusableObjects[_local2];
calculateCandidates = true;
};
};
};
}
private function addedHandler(_arg1:Event):void{
var _local2:DisplayObject;
_local2 = DisplayObject(_arg1.target);
if (_local2.stage){
addFocusables(DisplayObject(_arg1.target));
};
}
private function getTopLevelFocusTarget(_arg1:InteractiveObject):InteractiveObject{
while (_arg1 != InteractiveObject(form)) {
if ((((((((_arg1 is IFocusManagerComponent)) && (IFocusManagerComponent(_arg1).focusEnabled))) && (IFocusManagerComponent(_arg1).mouseFocusEnabled))) && (UIComponent(_arg1).enabled))){
return (_arg1);
};
_arg1 = _arg1.parent;
if (_arg1 == null){
break;
};
};
return (null);
}
private function tabChildrenChangeHandler(_arg1:Event):void{
var _local2:DisplayObjectContainer;
if (_arg1.target != _arg1.currentTarget){
return;
};
calculateCandidates = true;
_local2 = DisplayObjectContainer(_arg1.target);
if (_local2.tabChildren){
addFocusables(_local2, true);
} else {
removeFocusables(_local2);
};
}
public function sendDefaultButtonEvent():void{
defButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
}
public function getFocus():InteractiveObject{
var _local1:InteractiveObject;
_local1 = form.stage.focus;
return (findFocusManagerComponent(_local1));
}
private function isEnabledAndVisible(_arg1:DisplayObject):Boolean{
var _local2:DisplayObjectContainer;
var _local3:TextField;
var _local4:SimpleButton;
_local2 = DisplayObject(form).parent;
while (_arg1 != _local2) {
if ((_arg1 is UIComponent)){
if (!UIComponent(_arg1).enabled){
return (false);
};
} else {
if ((_arg1 is TextField)){
_local3 = TextField(_arg1);
if ((((_local3.type == TextFieldType.DYNAMIC)) || (!(_local3.selectable)))){
return (false);
};
} else {
if ((_arg1 is SimpleButton)){
_local4 = SimpleButton(_arg1);
if (!_local4.enabled){
return (false);
};
};
};
};
if (!_arg1.visible){
return (false);
};
_arg1 = _arg1.parent;
};
return (true);
}
public function set defaultButton(_arg1:Button):void{
var _local2:Button;
_local2 = (_arg1) ? Button(_arg1) : null;
if (_local2 != _defaultButton){
if (_defaultButton){
_defaultButton.emphasized = false;
};
if (defButton){
defButton.emphasized = false;
};
_defaultButton = _local2;
defButton = _local2;
if (_local2){
_local2.emphasized = true;
};
};
}
private function deactivateHandler(_arg1:Event):void{
var _local2:InteractiveObject;
_local2 = InteractiveObject(_arg1.target);
}
public function setFocus(_arg1:InteractiveObject):void{
if ((_arg1 is IFocusManagerComponent)){
IFocusManagerComponent(_arg1).setFocus();
} else {
form.stage.focus = _arg1;
};
}
private function setFocusToNextObject(_arg1:FocusEvent):void{
var _local2:InteractiveObject;
if (!hasFocusableObjects()){
return;
};
_local2 = getNextFocusManagerComponent(_arg1.shiftKey);
if (_local2){
setFocus(_local2);
};
}
private function hasFocusableObjects():Boolean{
var _local1:Object;
for (_local1 in focusableObjects) {
return (true);
};
return (false);
}
private function tabIndexChangeHandler(_arg1:Event):void{
calculateCandidates = true;
}
private function sortFocusableObjects():void{
var _local1:Object;
var _local2:InteractiveObject;
focusableCandidates = [];
for (_local1 in focusableObjects) {
_local2 = InteractiveObject(_local1);
if (((((_local2.tabIndex) && (!(isNaN(Number(_local2.tabIndex)))))) && ((_local2.tabIndex > 0)))){
sortFocusableObjectsTabIndex();
return;
};
focusableCandidates.push(_local2);
};
focusableCandidates.sort(sortByDepth);
}
private function keyFocusChangeHandler(_arg1:FocusEvent):void{
showFocusIndicator = true;
if ((((((_arg1.keyCode == Keyboard.TAB)) || ((_arg1.keyCode == 0)))) && (!(_arg1.isDefaultPrevented())))){
setFocusToNextObject(_arg1);
_arg1.preventDefault();
};
}
private function getIndexOfFocusedObject(_arg1:DisplayObject):int{
var _local2:int;
var _local3:int;
_local2 = focusableCandidates.length;
_local3 = 0;
_local3 = 0;
while (_local3 < _local2) {
if (focusableCandidates[_local3] == _arg1){
return (_local3);
};
_local3++;
};
return (-1);
}
public function hideFocus():void{
}
private function removedHandler(_arg1:Event):void{
var _local2:int;
var _local3:DisplayObject;
var _local4:InteractiveObject;
_local3 = DisplayObject(_arg1.target);
if ((((_local3 is IFocusManagerComponent)) && ((focusableObjects[_local3] == true)))){
if (_local3 == lastFocus){
IFocusManagerComponent(lastFocus).drawFocus(false);
lastFocus = null;
};
_local3.removeEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
delete focusableObjects[_local3];
calculateCandidates = true;
} else {
if ((((_local3 is InteractiveObject)) && ((focusableObjects[_local3] == true)))){
_local4 = (_local3 as InteractiveObject);
if (_local4){
if (_local4 == lastFocus){
lastFocus = null;
};
delete focusableObjects[_local4];
calculateCandidates = true;
};
_local3.addEventListener(Event.TAB_ENABLED_CHANGE, tabEnabledChangeHandler);
};
};
removeFocusables(_local3);
}
private function sortByDepth(_arg1:InteractiveObject, _arg2:InteractiveObject):Number{
var _local3:String;
var _local4:String;
var _local5:int;
var _local6:String;
var _local7:String;
var _local8:String;
var _local9:DisplayObject;
var _local10:DisplayObject;
_local3 = "";
_local4 = "";
_local8 = "0000";
_local9 = DisplayObject(_arg1);
_local10 = DisplayObject(_arg2);
while (((!((_local9 == DisplayObject(form)))) && (_local9.parent))) {
_local5 = getChildIndex(_local9.parent, _local9);
_local6 = _local5.toString(16);
if (_local6.length < 4){
_local7 = (_local8.substring(0, (4 - _local6.length)) + _local6);
};
_local3 = (_local7 + _local3);
_local9 = _local9.parent;
};
while (((!((_local10 == DisplayObject(form)))) && (_local10.parent))) {
_local5 = getChildIndex(_local10.parent, _local10);
_local6 = _local5.toString(16);
if (_local6.length < 4){
_local7 = (_local8.substring(0, (4 - _local6.length)) + _local6);
};
_local4 = (_local7 + _local4);
_local10 = _local10.parent;
};
return (((_local3 > _local4)) ? 1 : ((_local3 < _local4)) ? -1 : 0);
}
public function get defaultButton():Button{
return (_defaultButton);
}
private function activateHandler(_arg1:Event):void{
var _local2:InteractiveObject;
_local2 = InteractiveObject(_arg1.target);
if (lastFocus){
if ((lastFocus is IFocusManagerComponent)){
IFocusManagerComponent(lastFocus).setFocus();
} else {
form.stage.focus = lastFocus;
};
};
lastAction = "ACTIVATE";
}
public function showFocus():void{
}
public function set defaultButtonEnabled(_arg1:Boolean):void{
_defaultButtonEnabled = _arg1;
}
public function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject{
var _local2:DisplayObject;
var _local3:String;
var _local4:int;
var _local5:Boolean;
var _local6:int;
var _local7:int;
var _local8:IFocusManagerGroup;
if (!hasFocusableObjects()){
return (null);
};
if (calculateCandidates){
sortFocusableObjects();
calculateCandidates = false;
};
_local2 = form.stage.focus;
_local2 = DisplayObject(findFocusManagerComponent(InteractiveObject(_local2)));
_local3 = "";
if ((_local2 is IFocusManagerGroup)){
_local8 = IFocusManagerGroup(_local2);
_local3 = _local8.groupName;
};
_local4 = getIndexOfFocusedObject(_local2);
_local5 = false;
_local6 = _local4;
if (_local4 == -1){
if (_arg1){
_local4 = focusableCandidates.length;
};
_local5 = true;
};
_local7 = getIndexOfNextObject(_local4, _arg1, _local5, _local3);
return (findFocusManagerComponent(focusableCandidates[_local7]));
}
private function mouseDownHandler(_arg1:MouseEvent):void{
var _local2:InteractiveObject;
if (_arg1.isDefaultPrevented()){
return;
};
_local2 = getTopLevelFocusTarget(InteractiveObject(_arg1.target));
if (!_local2){
return;
};
showFocusIndicator = false;
if (((((!((_local2 == lastFocus))) || ((lastAction == "ACTIVATE")))) && (!((_local2 is TextField))))){
setFocus(_local2);
};
lastAction = "MOUSEDOWN";
}
private function isTabVisible(_arg1:DisplayObject):Boolean{
var _local2:DisplayObjectContainer;
_local2 = _arg1.parent;
while (((((_local2) && (!((_local2 is Stage))))) && (!(((_local2.parent) && ((_local2.parent is Stage))))))) {
if (!_local2.tabChildren){
return (false);
};
_local2 = _local2.parent;
};
return (true);
}
public function get nextTabIndex():int{
return (0);
}
private function keyDownHandler(_arg1:KeyboardEvent):void{
if (_arg1.keyCode == Keyboard.TAB){
lastAction = "KEY";
if (calculateCandidates){
sortFocusableObjects();
calculateCandidates = false;
};
};
if (((((((defaultButtonEnabled) && ((_arg1.keyCode == Keyboard.ENTER)))) && (defaultButton))) && (defButton.enabled))){
sendDefaultButtonEvent();
};
}
private function focusInHandler(_arg1:FocusEvent):void{
var _local2:InteractiveObject;
var _local3:Button;
_local2 = InteractiveObject(_arg1.target);
if (form.contains(_local2)){
lastFocus = findFocusManagerComponent(InteractiveObject(_local2));
if ((lastFocus is Button)){
_local3 = Button(lastFocus);
if (defButton){
defButton.emphasized = false;
defButton = _local3;
_local3.emphasized = true;
};
} else {
if (((defButton) && (!((defButton == _defaultButton))))){
defButton.emphasized = false;
defButton = _defaultButton;
_defaultButton.emphasized = true;
};
};
};
}
private function tabEnabledChangeHandler(_arg1:Event):void{
var _local2:InteractiveObject;
var _local3:Boolean;
calculateCandidates = true;
_local2 = InteractiveObject(_arg1.target);
_local3 = (focusableObjects[_local2] == true);
if (_local2.tabEnabled){
if (((!(_local3)) && (isTabVisible(_local2)))){
if (!(_local2 is IFocusManagerComponent)){
_local2.focusRect = false;
};
focusableObjects[_local2] = true;
};
} else {
if (_local3){
delete focusableObjects[_local2];
};
};
}
public function set showFocusIndicator(_arg1:Boolean):void{
_showFocusIndicator = _arg1;
}
public function get form():DisplayObjectContainer{
return (_form);
}
private function sortByTabIndex(_arg1:InteractiveObject, _arg2:InteractiveObject):int{
return (((_arg1.tabIndex > _arg2.tabIndex)) ? 1 : ((_arg1.tabIndex < _arg2.tabIndex)) ? -1 : sortByDepth(_arg1, _arg2));
}
public function activate():void{
if (activated){
return;
};
form.stage.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler, false, 0, true);
form.stage.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler, false, 0, true);
form.addEventListener(FocusEvent.FOCUS_IN, focusInHandler, true);
form.addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true);
form.stage.addEventListener(Event.ACTIVATE, activateHandler, false, 0, true);
form.stage.addEventListener(Event.DEACTIVATE, deactivateHandler, false, 0, true);
form.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
form.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);
activated = true;
if (lastFocus){
setFocus(lastFocus);
};
}
public function deactivate():void{
form.stage.removeEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler);
form.stage.removeEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler);
form.removeEventListener(FocusEvent.FOCUS_IN, focusInHandler, true);
form.removeEventListener(FocusEvent.FOCUS_OUT, focusOutHandler, true);
form.stage.removeEventListener(Event.ACTIVATE, activateHandler);
form.stage.removeEventListener(Event.DEACTIVATE, deactivateHandler);
form.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
form.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler, true);
activated = false;
}
public function get defaultButtonEnabled():Boolean{
return (_defaultButtonEnabled);
}
}
}//package fl.managers
Section 69
//IFocusManager (fl.managers.IFocusManager)
package fl.managers {
import fl.controls.*;
import flash.display.*;
public interface IFocusManager {
function getFocus():InteractiveObject;
function deactivate():void;
function set defaultButton(_arg1:Button):void;
function set showFocusIndicator(_arg1:Boolean):void;
function get defaultButtonEnabled():Boolean;
function get nextTabIndex():int;
function get defaultButton():Button;
function get showFocusIndicator():Boolean;
function setFocus(_arg1:InteractiveObject):void;
function activate():void;
function showFocus():void;
function set defaultButtonEnabled(_arg1:Boolean):void;
function hideFocus():void;
function findFocusManagerComponent(_arg1:InteractiveObject):InteractiveObject;
function getNextFocusManagerComponent(_arg1:Boolean=false):InteractiveObject;
}
}//package fl.managers
Section 70
//IFocusManagerComponent (fl.managers.IFocusManagerComponent)
package fl.managers {
public interface IFocusManagerComponent {
function set focusEnabled(_arg1:Boolean):void;
function drawFocus(_arg1:Boolean):void;
function setFocus():void;
function get focusEnabled():Boolean;
function get tabEnabled():Boolean;
function get tabIndex():int;
function get mouseFocusEnabled():Boolean;
}
}//package fl.managers
Section 71
//IFocusManagerGroup (fl.managers.IFocusManagerGroup)
package fl.managers {
public interface IFocusManagerGroup {
function set groupName(_arg1:String):void;
function set selected(_arg1:Boolean):void;
function get groupName():String;
function get selected():Boolean;
}
}//package fl.managers
Section 72
//StyleManager (fl.managers.StyleManager)
package fl.managers {
import fl.core.*;
import flash.utils.*;
import flash.text.*;
public class StyleManager {
private var globalStyles:Object;
private var classToDefaultStylesDict:Dictionary;
private var styleToClassesHash:Object;
private var classToStylesDict:Dictionary;
private var classToInstancesDict:Dictionary;
private static var _instance:StyleManager;
public function StyleManager(){
styleToClassesHash = {};
classToInstancesDict = new Dictionary(true);
classToStylesDict = new Dictionary(true);
classToDefaultStylesDict = new Dictionary(true);
globalStyles = UIComponent.getStyleDefinition();
}
public static function clearComponentStyle(_arg1:Object, _arg2:String):void{
var _local3:Class;
var _local4:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance().classToStylesDict[_local3];
if (((!((_local4 == null))) && (!((_local4[_arg2] == null))))){
delete _local4[_arg2];
invalidateComponentStyle(_local3, _arg2);
};
}
private static function getClassDef(_arg1:Object):Class{
var component = _arg1;
if ((component is Class)){
return ((component as Class));
};
try {
return ((getDefinitionByName(getQualifiedClassName(component)) as Class));
} catch(e:Error) {
if ((component is UIComponent)){
try {
return ((component.loaderInfo.applicationDomain.getDefinition(getQualifiedClassName(component)) as Class));
} catch(e:Error) {
};
};
};
return (null);
}
public static function clearStyle(_arg1:String):void{
setStyle(_arg1, null);
}
public static function setComponentStyle(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Class;
var _local5:Object;
_local4 = getClassDef(_arg1);
_local5 = getInstance().classToStylesDict[_local4];
if (_local5 == null){
_local5 = (getInstance().classToStylesDict[_local4] = {});
};
if (_local5 == _arg3){
return;
};
_local5[_arg2] = _arg3;
invalidateComponentStyle(_local4, _arg2);
}
private static function setSharedStyles(_arg1:UIComponent):void{
var _local2:StyleManager;
var _local3:Class;
var _local4:Object;
var _local5:String;
_local2 = getInstance();
_local3 = getClassDef(_arg1);
_local4 = _local2.classToDefaultStylesDict[_local3];
for (_local5 in _local4) {
_arg1.setSharedStyle(_local5, getSharedStyle(_arg1, _local5));
};
}
public static function getComponentStyle(_arg1:Object, _arg2:String):Object{
var _local3:Class;
var _local4:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance().classToStylesDict[_local3];
return (((_local4)==null) ? null : _local4[_arg2]);
}
private static function getInstance(){
if (_instance == null){
_instance = new (StyleManager);
};
return (_instance);
}
private static function invalidateComponentStyle(_arg1:Class, _arg2:String):void{
var _local3:Dictionary;
var _local4:Object;
var _local5:UIComponent;
_local3 = getInstance().classToInstancesDict[_arg1];
if (_local3 == null){
return;
};
for (_local4 in _local3) {
_local5 = (_local4 as UIComponent);
if (_local5 == null){
} else {
_local5.setSharedStyle(_arg2, getSharedStyle(_local5, _arg2));
};
};
}
private static function invalidateStyle(_arg1:String):void{
var _local2:Dictionary;
var _local3:Object;
_local2 = getInstance().styleToClassesHash[_arg1];
if (_local2 == null){
return;
};
for (_local3 in _local2) {
invalidateComponentStyle(Class(_local3), _arg1);
};
}
public static function registerInstance(_arg1:UIComponent):void{
var inst:StyleManager;
var classDef:Class;
var target:Class;
var defaultStyles:Object;
var styleToClasses:Object;
var n:String;
var instance = _arg1;
inst = getInstance();
classDef = getClassDef(instance);
if (classDef == null){
return;
};
if (inst.classToInstancesDict[classDef] == null){
inst.classToInstancesDict[classDef] = new Dictionary(true);
target = classDef;
while (defaultStyles == null) {
if (target["getStyleDefinition"] != null){
defaultStyles = target["getStyleDefinition"]();
break;
};
try {
target = (instance.loaderInfo.applicationDomain.getDefinition(getQualifiedSuperclassName(target)) as Class);
} catch(err:Error) {
try {
target = (getDefinitionByName(getQualifiedSuperclassName(target)) as Class);
} catch(e:Error) {
defaultStyles = UIComponent.getStyleDefinition();
break;
};
};
};
styleToClasses = inst.styleToClassesHash;
for (n in defaultStyles) {
if (styleToClasses[n] == null){
styleToClasses[n] = new Dictionary(true);
};
styleToClasses[n][classDef] = true;
};
inst.classToDefaultStylesDict[classDef] = defaultStyles;
inst.classToStylesDict[classDef] = {};
};
inst.classToInstancesDict[classDef][instance] = true;
setSharedStyles(instance);
}
public static function getStyle(_arg1:String):Object{
return (getInstance().globalStyles[_arg1]);
}
private static function getSharedStyle(_arg1:UIComponent, _arg2:String):Object{
var _local3:Class;
var _local4:StyleManager;
var _local5:Object;
_local3 = getClassDef(_arg1);
_local4 = getInstance();
_local5 = _local4.classToStylesDict[_local3][_arg2];
if (_local5 != null){
return (_local5);
};
_local5 = _local4.globalStyles[_arg2];
if (_local5 != null){
return (_local5);
};
return (_local4.classToDefaultStylesDict[_local3][_arg2]);
}
public static function setStyle(_arg1:String, _arg2:Object):void{
var _local3:Object;
_local3 = getInstance().globalStyles;
if ((((_local3[_arg1] === _arg2)) && (!((_arg2 is TextFormat))))){
return;
};
_local3[_arg1] = _arg2;
invalidateStyle(_arg1);
}
}
}//package fl.managers
Section 73
//Cubic (gs.easing.Cubic)
package gs.easing {
public class Cubic {
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((_arg1 * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 < 1){
return ((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 / 2) * (((_arg1 * _arg1) * _arg1) + 2)) + _arg2));
}
}
}//package gs.easing
Section 74
//Elastic (gs.easing.Elastic)
package gs.easing {
public class Elastic {
private static const _2PI:Number = 6.28318530717959;
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
if (!_arg6){
_arg6 = (_arg4 * 0.3);
};
if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){
_arg5 = _arg3;
_local7 = (_arg6 / 4);
} else {
_local7 = ((_arg6 / _2PI) * Math.asin((_arg3 / _arg5)));
};
--_arg1;
return ((-(((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * _2PI) / _arg6)))) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / (_arg4 / 2));
if (_arg1 == 2){
return ((_arg2 + _arg3));
};
if (!_arg6){
_arg6 = (_arg4 * (0.3 * 1.5));
};
if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){
_arg5 = _arg3;
_local7 = (_arg6 / 4);
} else {
_local7 = ((_arg6 / _2PI) * Math.asin((_arg3 / _arg5)));
};
if (_arg1 < 1){
--_arg1;
return (((-0.5 * ((_arg5 * Math.pow(2, (10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * _2PI) / _arg6)))) + _arg2));
};
--_arg1;
return ((((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * _2PI) / _arg6))) * 0.5) + _arg3) + _arg2));
}
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0):Number{
var _local7:Number;
if (_arg1 == 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 == 1){
return ((_arg2 + _arg3));
};
if (!_arg6){
_arg6 = (_arg4 * 0.3);
};
if (((!(_arg5)) || ((_arg5 < Math.abs(_arg3))))){
_arg5 = _arg3;
_local7 = (_arg6 / 4);
} else {
_local7 = ((_arg6 / _2PI) * Math.asin((_arg3 / _arg5)));
};
return (((((_arg5 * Math.pow(2, (-10 * _arg1))) * Math.sin(((((_arg1 * _arg4) - _local7) * _2PI) / _arg6))) + _arg3) + _arg2));
}
}
}//package gs.easing
Section 75
//TweenEvent (gs.events.TweenEvent)
package gs.events {
import flash.events.*;
public class TweenEvent extends Event {
public var info:Object;
public static const UPDATE:String = "update";
public static const START:String = "start";
public static const version:Number = 0.9;
public static const COMPLETE:String = "complete";
public function TweenEvent(_arg1:String, _arg2:Object=null, _arg3:Boolean=false, _arg4:Boolean=false){
super(_arg1, _arg3, _arg4);
this.info = _arg2;
}
override public function clone():Event{
return (new TweenEvent(this.type, this.info, this.bubbles, this.cancelable));
}
}
}//package gs.events
Section 76
//OverwriteManager (gs.OverwriteManager)
package gs {
import flash.utils.*;
import flash.errors.*;
public class OverwriteManager {
public static const ALL:int = 1;
public static const NONE:int = 0;
public static const AUTO:int = 2;
public static const CONCURRENT:int = 3;
public static const version:Number = 0.96;
public static var mode:int;
public static var enabled:Boolean;
public static function killVars(_arg1:Object, _arg2:Object, _arg3:Array, _arg4:Array, _arg5:Array):void{
var _local6:int;
var _local7:String;
_local6 = (_arg4.length - 1);
while (_local6 > -1) {
if (_arg1[_arg4[_local6].name] != undefined){
_arg4.splice(_local6, 1);
};
_local6--;
};
_local6 = (_arg3.length - 1);
while (_local6 > -1) {
if (_arg1[_arg3[_local6].name] != undefined){
_arg3.splice(_local6, 1);
};
_local6--;
};
_local6 = (_arg5.length - 1);
while (_local6 > -1) {
if (_arg1[_arg5[_local6].name] != undefined){
_arg5.splice(_local6, 1);
};
_local6--;
};
for (_local7 in _arg1) {
delete _arg2[_local7];
};
}
public static function manageOverwrites(_arg1:TweenLite, _arg2:Dictionary):void{
var _local3:Object;
var _local4:int;
var _local5:Object;
var _local6:Number;
var _local7:Array;
var _local8:int;
var _local9:Object;
var _local10:String;
_local3 = _arg1.vars;
_local4 = ((_local3.overwrite)==undefined) ? mode : int(_local3.overwrite);
if (_local4 < 2){
return;
};
_local6 = _arg1.startTime;
_local7 = [];
for each (_local5 in _arg2) {
if (((!((_local5 == _arg1))) && ((_local5.startTime <= _local6)))){
_local7[_local7.length] = _local5;
};
};
if (_local7.length == 0){
return;
};
if (_local4 == AUTO){
if (_local3.isTV == true){
_local3 = _local3.exposedProps;
};
_local9 = {};
for (_local10 in _local3) {
if ((((((((((((((((((((((((((((((((((((((_local10 == "ease")) || ((_local10 == "delay")))) || ((_local10 == "overwrite")))) || ((_local10 == "onComplete")))) || ((_local10 == "onCompleteParams")))) || ((_local10 == "runBackwards")))) || ((_local10 == "persist")))) || ((_local10 == "onUpdate")))) || ((_local10 == "onUpdateParams")))) || ((_local10 == "timeScale")))) || ((_local10 == "onStart")))) || ((_local10 == "onStartParams")))) || ((_local10 == "renderOnStart")))) || ((_local10 == "proxiedEase")))) || ((_local10 == "easeParams")))) || ((_local10 == "onCompleteAll")))) || ((_local10 == "onCompleteAllParams")))) || ((_local10 == "yoyo")))) || ((_local10 == "loop")))){
} else {
_local9[_local10] = 1;
};
};
_local8 = (_local7.length - 1);
while (_local8 > -1) {
_local7[_local8].killVars(_local9);
_local8--;
};
} else {
_local8 = (_local7.length - 1);
while (_local8 > -1) {
_arg2[_local7[_local8]] = null;
delete _arg2[_local7[_local8]];
_local8--;
};
};
}
public static function init(_arg1:int=2):int{
if (TweenLite.version < 8.14){
trace("TweenLite warning: Your TweenLite class needs to be updated to work with OverwriteManager (or you may need to clear your ASO files). Please download and install the latest version from http://www.tweenlite.com.");
};
TweenLite.overwriteManager = OverwriteManager;
mode = _arg1;
enabled = true;
return (mode);
}
}
}//package gs
Section 77
//TweenFilterLite (gs.TweenFilterLite)
package gs {
import flash.filters.*;
public class TweenFilterLite extends TweenLite {
protected var _endMatrix:Array;
protected var _hf:Boolean;// = false
protected var _clrsa:Array;
protected var _filters:Array;
protected var _originalEase:Function;
protected var _matrix:Array;
protected var _cmf:ColorMatrixFilter;
public static var removeTween:Function = TweenLite.removeTween;
public static var defaultEase:Function = TweenLite.defaultEase;
private static var _idMatrix:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
private static var _lumB:Number = 0.072169;
public static var version:Number = 8.16;
public static var delayedCall:Function = TweenLite.delayedCall;
public static var killTweensOf:Function = TweenLite.killTweensOf;
private static var _lumG:Number = 0.71516;
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
private static var _lumR:Number = 0.212671;
public function TweenFilterLite(_arg1:Object, _arg2:Number, _arg3:Object){
_hf = false;
_filters = [];
super(_arg1, _arg2, _arg3);
_originalEase = this.vars.ease;
if (TweenLite.version < 8.15){
trace("TweenFilterLite error! Please update your TweenLite class or try deleting your ASO files. TweenFilterLite requires a more recent version. Download updates at http://www.TweenLite.com.");
};
if (_arg3.type != undefined){
trace((("TweenFilterLite error: " + _arg1) + " is using deprecated syntax. Please update to the new syntax. See http://www.TweenFilterLite.com for details."));
};
}
override public function render(_arg1:uint):void{
var _local2:Number;
var _local3:Number;
var _local4:Object;
var _local5:int;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:int;
var _local10:Array;
_local2 = (((_arg1 - this.startTime) / 1000) * _timeScale);
if (_local2 >= this.duration){
_local2 = this.duration;
_local3 = ((((_originalEase == this.vars.ease)) || ((this.duration == 0.001)))) ? 1 : 0;
} else {
_local3 = this.vars.ease(_local2, 0, 1, this.duration);
};
_local5 = (this.tweens.length - 1);
while (_local5 > -1) {
_local4 = this.tweens[_local5];
_local4.o[_local4.p] = (_local4.s + (_local3 * _local4.c));
_local5--;
};
if (_hf){
_local5 = (_clrsa.length - 1);
while (_local5 > -1) {
_local4 = _clrsa[_local5];
_local6 = (_local4.sr + (_local3 * _local4.cr));
_local7 = (_local4.sg + (_local3 * _local4.cg));
_local8 = (_local4.sb + (_local3 * _local4.cb));
_local4.f[_local4.p] = (((_local6 << 16) | (_local7 << 8)) | _local8);
_local5--;
};
if (_cmf != null){
ColorMatrixFilter(_cmf).matrix = _matrix;
};
_local10 = this.target.filters;
_local5 = 0;
while (_local5 < _filters.length) {
_local9 = (_local10.length - 1);
while (_local9 > -1) {
if ((_local10[_local9] is _filters[_local5].type)){
_local10.splice(_local9, 1, _filters[_local5].filter);
break;
};
_local9--;
};
_local5++;
};
this.target.filters = _local10;
};
if (_hst){
_local5 = (_subTweens.length - 1);
while (_local5 > -1) {
_subTweens[_local5].proxy(_subTweens[_local5]);
_local5--;
};
};
if (_hasUpdate){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (_local2 == this.duration){
complete(true);
};
}
public function get timeScale():Number{
return (_timeScale);
}
public function set timeScale(_arg1:Number):void{
if (((_initted) && ((_curTime > (this.initTime + (this.delay * 1000)))))){
this.initTime = ((_curTime - (((_curTime - (this.initTime + (this.delay * 1000))) * _timeScale) * (1 / _arg1))) - (this.delay * 1000));
if (this.startTime != 99999999999){
this.startTime = (this.initTime + (this.delay * 1000));
};
};
_timeScale = _arg1;
}
override public function killVars(_arg1:Object):void{
if (TweenLite.overwriteManager.enabled){
TweenLite.overwriteManager.killVars(_arg1, this.vars, this.tweens, _subTweens, _filters);
};
}
override public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{
var _local3:int;
var _local4:Object;
var _local5:Object;
var _local6:Object;
if (((((!(_arg1)) && (!((this.delay == 0))))) && (TweenLite.overwriteManager.enabled))){
TweenLite.overwriteManager.manageOverwrites(this, _all[this.target]);
};
_clrsa = [];
_filters = [];
_matrix = _idMatrix.slice();
_arg2 = (_arg2 + " blurFilter glowFilter colorMatrixFilter dropShadowFilter bevelFilter ");
if (_isDisplayObject){
if (this.vars.blurFilter != null){
_local4 = this.vars.blurFilter;
addFilter("blurFilter", _local4, BlurFilter, ["blurX", "blurY", "quality"], new BlurFilter(0, 0, ((_local4.quality) || (2))));
};
if (this.vars.glowFilter != null){
_local4 = this.vars.glowFilter;
addFilter("glowFilter", _local4, GlowFilter, ["alpha", "blurX", "blurY", "color", "quality", "strength", "inner", "knockout"], new GlowFilter(0xFFFFFF, 0, 0, 0, ((_local4.strength) || (1)), ((_local4.quality) || (2)), _local4.inner, _local4.knockout));
};
if (this.vars.colorMatrixFilter != null){
_local4 = this.vars.colorMatrixFilter;
_local5 = addFilter("colorMatrixFilter", _local4, ColorMatrixFilter, [], new ColorMatrixFilter(_matrix));
_cmf = _local5.filter;
_matrix = ColorMatrixFilter(_cmf).matrix;
if (((!((_local4.matrix == null))) && ((_local4.matrix is Array)))){
_endMatrix = _local4.matrix;
} else {
if (_local4.relative == true){
_endMatrix = _matrix.slice();
} else {
_endMatrix = _idMatrix.slice();
};
_endMatrix = setBrightness(_endMatrix, _local4.brightness);
_endMatrix = setContrast(_endMatrix, _local4.contrast);
_endMatrix = setHue(_endMatrix, _local4.hue);
_endMatrix = setSaturation(_endMatrix, _local4.saturation);
_endMatrix = setThreshold(_endMatrix, _local4.threshold);
if (!isNaN(_local4.colorize)){
_endMatrix = colorize(_endMatrix, _local4.colorize, _local4.amount);
} else {
if (!isNaN(_local4.color)){
_endMatrix = colorize(_endMatrix, _local4.color, _local4.amount);
};
};
};
_local3 = 0;
while (_local3 < _endMatrix.length) {
if (((!((_matrix[_local3] == _endMatrix[_local3]))) && (!((_matrix[_local3] == undefined))))){
this.tweens[this.tweens.length] = {o:_matrix, p:_local3.toString(), s:_matrix[_local3], c:(_endMatrix[_local3] - _matrix[_local3]), name:"colorMatrixFilter"};
};
_local3++;
};
};
if (this.vars.dropShadowFilter != null){
_local4 = this.vars.dropShadowFilter;
addFilter("dropShadowFilter", _local4, DropShadowFilter, ["alpha", "angle", "blurX", "blurY", "color", "distance", "quality", "strength", "inner", "knockout", "hideObject"], new DropShadowFilter(0, 45, 0, 0, 0, 0, 1, ((_local4.quality) || (2)), _local4.inner, _local4.knockout, _local4.hideObject));
};
if (this.vars.bevelFilter != null){
_local4 = this.vars.bevelFilter;
addFilter("bevelFilter", _local4, BevelFilter, ["angle", "blurX", "blurY", "distance", "highlightAlpha", "highlightColor", "quality", "shadowAlpha", "shadowColor", "strength"], new BevelFilter(0, 0, 0xFFFFFF, 0.5, 0, 0.5, 2, 2, 0, ((_local4.quality) || (2))));
};
if (this.vars.runBackwards == true){
_local3 = (_clrsa.length - 1);
while (_local3 > -1) {
_local6 = _clrsa[_local3];
_clrsa[_local3].sr = (_local6.sr + _local6.cr);
_local6.cr = (_local6.cr * -1);
_local6.sg = (_local6.sg + _local6.cg);
_local6.cg = (_local6.cg * -1);
_local6.sb = (_local6.sb + _local6.cb);
_local6.cb = (_local6.cb * -1);
_local6.f[_local6.p] = (((_local6.sr << 16) | (_local6.sg << 8)) | _local6.sb);
_local3--;
};
};
super.initTweenVals(true, _arg2);
} else {
super.initTweenVals(_arg1, _arg2);
};
}
private function addFilter(_arg1:String, _arg2:Object, _arg3:Class, _arg4:Array, _arg5:BitmapFilter):Object{
var _local6:Object;
var _local7:Array;
var _local8:int;
var _local9:String;
var _local10:Number;
var _local11:Object;
var _local12:Object;
_local6 = {type:_arg3, name:_arg1};
_local7 = this.target.filters;
_local8 = 0;
while (_local8 < _local7.length) {
if ((_local7[_local8] is _arg3)){
_local6.filter = _local7[_local8];
break;
};
_local8++;
};
if (_local6.filter == undefined){
_local6.filter = _arg5;
_local7[_local7.length] = _local6.filter;
this.target.filters = _local7;
};
_local8 = 0;
while (_local8 < _arg4.length) {
_local9 = _arg4[_local8];
if (_arg2[_local9] != undefined){
if ((((((_local9 == "color")) || ((_local9 == "highlightColor")))) || ((_local9 == "shadowColor")))){
_local11 = HEXtoRGB(_local6.filter[_local9]);
_local12 = HEXtoRGB(_arg2[_local9]);
_clrsa[_clrsa.length] = {f:_local6.filter, p:_local9, sr:_local11.rb, cr:(_local12.rb - _local11.rb), sg:_local11.gb, cg:(_local12.gb - _local11.gb), sb:_local11.bb, cb:(_local12.bb - _local11.bb)};
} else {
if ((((((((_local9 == "quality")) || ((_local9 == "inner")))) || ((_local9 == "knockout")))) || ((_local9 == "hideObject")))){
_local6.filter[_local9] = _arg2[_local9];
} else {
if (typeof(_arg2[_local9]) == "number"){
_local10 = (_arg2[_local9] - _local6.filter[_local9]);
} else {
_local10 = Number(_arg2[_local9]);
};
this.tweens[this.tweens.length] = {o:_local6.filter, p:_local9, s:_local6.filter[_local9], c:_local10, name:_arg1};
};
};
};
_local8++;
};
_filters[_filters.length] = _local6;
_hf = true;
return (_local6);
}
public static function setContrast(_arg1:Array, _arg2:Number):Array{
var _local3:Array;
if (isNaN(_arg2)){
return (_arg1);
};
_arg2 = (_arg2 + 0.01);
_local3 = [_arg2, 0, 0, 0, (128 * (1 - _arg2)), 0, _arg2, 0, 0, (128 * (1 - _arg2)), 0, 0, _arg2, 0, (128 * (1 - _arg2)), 0, 0, 0, 1, 0];
return (applyMatrix(_local3, _arg1));
}
public static function colorize(_arg1:Array, _arg2:Number, _arg3:Number=1):Array{
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Array;
if (isNaN(_arg2)){
return (_arg1);
};
if (isNaN(_arg3)){
_arg3 = 1;
};
_local4 = (((_arg2 >> 16) & 0xFF) / 0xFF);
_local5 = (((_arg2 >> 8) & 0xFF) / 0xFF);
_local6 = ((_arg2 & 0xFF) / 0xFF);
_local7 = (1 - _arg3);
_local8 = [(_local7 + ((_arg3 * _local4) * _lumR)), ((_arg3 * _local4) * _lumG), ((_arg3 * _local4) * _lumB), 0, 0, ((_arg3 * _local5) * _lumR), (_local7 + ((_arg3 * _local5) * _lumG)), ((_arg3 * _local5) * _lumB), 0, 0, ((_arg3 * _local6) * _lumR), ((_arg3 * _local6) * _lumG), (_local7 + ((_arg3 * _local6) * _lumB)), 0, 0, 0, 0, 0, 1, 0];
return (applyMatrix(_local8, _arg1));
}
public static function setBrightness(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
_arg2 = ((_arg2 * 100) - 100);
return (applyMatrix([1, 0, 0, 0, _arg2, 0, 1, 0, 0, _arg2, 0, 0, 1, 0, _arg2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1], _arg1));
}
public static function setSaturation(_arg1:Array, _arg2:Number):Array{
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Array;
if (isNaN(_arg2)){
return (_arg1);
};
_local3 = (1 - _arg2);
_local4 = (_local3 * _lumR);
_local5 = (_local3 * _lumG);
_local6 = (_local3 * _lumB);
_local7 = [(_local4 + _arg2), _local5, _local6, 0, 0, _local4, (_local5 + _arg2), _local6, 0, 0, _local4, _local5, (_local6 + _arg2), 0, 0, 0, 0, 0, 1, 0];
return (applyMatrix(_local7, _arg1));
}
public static function applyMatrix(_arg1:Array, _arg2:Array):Array{
var _local3:Array;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){
return (_arg2);
};
_local3 = [];
_local4 = 0;
_local5 = 0;
_local6 = 0;
while (_local6 < 4) {
_local7 = 0;
while (_local7 < 5) {
if (_local7 == 4){
_local5 = _arg1[(_local4 + 4)];
} else {
_local5 = 0;
};
_local3[(_local4 + _local7)] = (((((_arg1[_local4] * _arg2[_local7]) + (_arg1[(_local4 + 1)] * _arg2[(_local7 + 5)])) + (_arg1[(_local4 + 2)] * _arg2[(_local7 + 10)])) + (_arg1[(_local4 + 3)] * _arg2[(_local7 + 15)])) + _local5);
_local7++;
};
_local4 = (_local4 + 5);
_local6++;
};
return (_local3);
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenFilterLite{
_arg3.runBackwards = true;
return (new TweenFilterLite(_arg1, _arg2, _arg3));
}
public static function HEXtoRGB(_arg1:Number):Object{
return ({rb:(_arg1 >> 16), gb:((_arg1 >> 8) & 0xFF), bb:(_arg1 & 0xFF)});
}
public static function setThreshold(_arg1:Array, _arg2:Number):Array{
var _local3:Array;
if (isNaN(_arg2)){
return (_arg1);
};
_local3 = [(_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), 0, 0, 0, 1, 0];
return (applyMatrix(_local3, _arg1));
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenFilterLite{
return (new TweenFilterLite(_arg1, _arg2, _arg3));
}
public static function setHue(_arg1:Array, _arg2:Number):Array{
var _local3:Number;
var _local4:Number;
var _local5:Array;
if (isNaN(_arg2)){
return (_arg1);
};
_arg2 = (_arg2 * (Math.PI / 180));
_local3 = Math.cos(_arg2);
_local4 = Math.sin(_arg2);
_local5 = [((_lumR + (_local3 * (1 - _lumR))) + (_local4 * -(_lumR))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * -(_lumG))), ((_lumB + (_local3 * -(_lumB))) + (_local4 * (1 - _lumB))), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * 0.143)), ((_lumG + (_local3 * (1 - _lumG))) + (_local4 * 0.14)), ((_lumB + (_local3 * -(_lumB))) + (_local4 * -0.283)), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * -((1 - _lumR)))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * _lumG)), ((_lumB + (_local3 * (1 - _lumB))) + (_local4 * _lumB)), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1];
return (applyMatrix(_local5, _arg1));
}
}
}//package gs
Section 78
//TweenLite (gs.TweenLite)
package gs {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
public class TweenLite {
public var delay:Number;
protected var _hasUpdate:Boolean;
protected var _subTweens:Array;
protected var _initted:Boolean;
public var startTime:int;
public var target:Object;
public var duration:Number;
protected var _hst:Boolean;
protected var _isDisplayObject:Boolean;
protected var _active:Boolean;
public var vars:Object;
public var tweens:Array;
public var initTime:int;
protected var _timeScale:Number;
private static var _timer:Timer = new Timer(2000);
private static var _classInitted:Boolean;
public static var defaultEase:Function = TweenLite.easeOut;
public static var version:Number = 8.15;
protected static var _all:Dictionary = new Dictionary();
private static var _sprite:Sprite = new Sprite();
protected static var _curTime:uint;
public static var overwriteManager:Object;
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
private static var _listening:Boolean;
public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){
var _local4:int;
var _local5:*;
super();
if (_arg1 == null){
return;
};
if (!_classInitted){
_curTime = getTimer();
_sprite.addEventListener(Event.ENTER_FRAME, executeAll);
if (overwriteManager == null){
overwriteManager = {mode:1, enabled:false};
};
_classInitted = true;
};
this.vars = _arg3;
this.duration = ((_arg2) || (0.001));
this.delay = ((_arg3.delay) || (0));
_timeScale = ((_arg3.timeScale) || (1));
_active = (((_arg2 == 0)) && ((this.delay == 0)));
this.target = _arg1;
_isDisplayObject = (_arg1 is DisplayObject);
if (!(this.vars.ease is Function)){
this.vars.ease = defaultEase;
};
if (this.vars.easeParams != null){
this.vars.proxiedEase = this.vars.ease;
this.vars.ease = easeProxy;
};
if (!isNaN(Number(this.vars.autoAlpha))){
this.vars.alpha = Number(this.vars.autoAlpha);
this.vars.visible = (this.vars.alpha > 0);
};
this.tweens = [];
_subTweens = [];
_hst = (_initted = false);
this.initTime = _curTime;
this.startTime = (this.initTime + (this.delay * 1000));
_local4 = ((((_arg3.overwrite == undefined)) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite);
if ((((_all[_arg1] == undefined)) || (((!((_arg1 == null))) && ((_local4 == 1)))))){
delete _all[_arg1];
_all[_arg1] = new Dictionary(true);
} else {
if ((((_local4 > 1)) && ((this.delay == 0)))){
overwriteManager.manageOverwrites(this, _all[_arg1]);
};
};
_all[_arg1][this] = this;
if ((((((this.vars.runBackwards == true)) && (!((this.vars.renderOnStart == true))))) || (_active))){
initTweenVals();
if (_active){
render((this.startTime + 1));
} else {
render(this.startTime);
};
_local5 = this.vars.visible;
if (this.vars.isTV == true){
_local5 = this.vars.exposedProps.visible;
};
if (((((!((_local5 == null))) && ((this.vars.runBackwards == true)))) && (_isDisplayObject))){
this.target.visible = Boolean(_local5);
};
};
if (((!(_listening)) && (!(_active)))){
_timer.addEventListener("timer", killGarbage);
_timer.start();
_listening = true;
};
}
protected function addSubTween(_arg1:String, _arg2:Function, _arg3:Object, _arg4:Object, _arg5:Object=null):void{
var _local6:Object;
var _local7:String;
_local6 = {name:_arg1, proxy:_arg2, target:_arg3, info:_arg5};
_subTweens[_subTweens.length] = _local6;
for (_local7 in _arg4) {
if (typeof(_arg4[_local7]) == "number"){
this.tweens[this.tweens.length] = {o:_arg3, p:_local7, s:_arg3[_local7], c:(_arg4[_local7] - _arg3[_local7]), sub:_local6, name:_arg1};
} else {
this.tweens[this.tweens.length] = {o:_arg3, p:_local7, s:_arg3[_local7], c:Number(_arg4[_local7]), sub:_local6, name:_arg1};
};
};
_hst = true;
}
public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{
var _local3:String;
var _local4:int;
var _local5:Object;
var _local6:Array;
var _local7:ColorTransform;
var _local8:ColorTransform;
var _local9:Object;
_local5 = this.vars;
if (_local5.isTV == true){
_local5 = _local5.exposedProps;
};
if (((((!(_arg1)) && (!((this.delay == 0))))) && (overwriteManager.enabled))){
overwriteManager.manageOverwrites(this, _all[this.target]);
};
if ((this.target is Array)){
_local6 = ((this.vars.endArray) || ([]));
_local4 = 0;
while (_local4 < _local6.length) {
if (((!((this.target[_local4] == _local6[_local4]))) && (!((this.target[_local4] == undefined))))){
this.tweens[this.tweens.length] = {o:this.target, p:_local4.toString(), s:this.target[_local4], c:(_local6[_local4] - this.target[_local4]), name:_local4.toString()};
};
_local4++;
};
} else {
if (((((!((typeof(_local5.tint) == "undefined"))) || ((this.vars.removeTint == true)))) && (_isDisplayObject))){
_local7 = this.target.transform.colorTransform;
_local8 = new ColorTransform();
if (_local5.alpha != undefined){
_local8.alphaMultiplier = _local5.alpha;
delete _local5.alpha;
} else {
_local8.alphaMultiplier = this.target.alpha;
};
if (((!((this.vars.removeTint == true))) && (((((!((_local5.tint == null))) && (!((_local5.tint == ""))))) || ((_local5.tint == 0)))))){
_local8.color = _local5.tint;
};
addSubTween("tint", tintProxy, {progress:0}, {progress:1}, {target:this.target, color:_local7, endColor:_local8});
};
if (((!((_local5.frame == null))) && (_isDisplayObject))){
addSubTween("frame", frameProxy, {frame:this.target.currentFrame}, {frame:_local5.frame}, {target:this.target});
};
if (((!(isNaN(this.vars.volume))) && (this.target.hasOwnProperty("soundTransform")))){
addSubTween("volume", volumeProxy, this.target.soundTransform, {volume:this.vars.volume}, {target:this.target});
};
for (_local3 in _local5) {
if ((((((((((((((((((((((((((((((((((((((_local3 == "ease")) || ((_local3 == "delay")))) || ((_local3 == "overwrite")))) || ((_local3 == "onComplete")))) || ((_local3 == "onCompleteParams")))) || ((_local3 == "runBackwards")))) || ((_local3 == "visible")))) || ((_local3 == "autoOverwrite")))) || ((_local3 == "persist")))) || ((_local3 == "onUpdate")))) || ((_local3 == "onUpdateParams")))) || ((_local3 == "autoAlpha")))) || ((_local3 == "timeScale")))) || ((_local3 == "onStart")))) || ((_local3 == "onStartParams")))) || ((_local3 == "renderOnStart")))) || ((_local3 == "proxiedEase")))) || ((_local3 == "easeParams")))) || (((_arg1) && (!((_arg2.indexOf(((" " + _local3) + " ")) == -1))))))){
} else {
if (((!(((_isDisplayObject) && ((((((_local3 == "tint")) || ((_local3 == "removeTint")))) || ((_local3 == "frame"))))))) && (!((((_local3 == "volume")) && (this.target.hasOwnProperty("soundTransform"))))))){
if (typeof(_local5[_local3]) == "number"){
this.tweens[this.tweens.length] = {o:this.target, p:_local3, s:this.target[_local3], c:(_local5[_local3] - this.target[_local3]), name:_local3};
} else {
this.tweens[this.tweens.length] = {o:this.target, p:_local3, s:this.target[_local3], c:Number(_local5[_local3]), name:_local3};
};
};
};
};
};
if (this.vars.runBackwards == true){
_local4 = (this.tweens.length - 1);
while (_local4 > -1) {
_local9 = this.tweens[_local4];
this.tweens[_local4].s = (_local9.s + _local9.c);
_local9.c = (_local9.c * -1);
_local4--;
};
};
if ((((_local5.visible == true)) && (_isDisplayObject))){
this.target.visible = true;
};
if (this.vars.onUpdate != null){
_hasUpdate = true;
};
_initted = true;
}
public function get active():Boolean{
if (_active){
return (true);
};
if (_curTime >= this.startTime){
_active = true;
if (!_initted){
initTweenVals();
} else {
if (((!((this.vars.visible == undefined))) && (_isDisplayObject))){
this.target.visible = true;
};
};
if (this.vars.onStart != null){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
if (this.duration == 0.001){
this.startTime = (this.startTime - 1);
};
return (true);
//unresolved jump
};
return (false);
}
public function render(_arg1:uint):void{
var _local2:Number;
var _local3:Number;
var _local4:Object;
var _local5:int;
_local2 = ((_arg1 - this.startTime) / 1000);
if (_local2 >= this.duration){
_local2 = this.duration;
_local3 = 1;
} else {
_local3 = this.vars.ease(_local2, 0, 1, this.duration);
};
_local5 = (this.tweens.length - 1);
while (_local5 > -1) {
_local4 = this.tweens[_local5];
_local4.o[_local4.p] = (_local4.s + (_local3 * _local4.c));
_local5--;
};
if (_hst){
_local5 = (_subTweens.length - 1);
while (_local5 > -1) {
_subTweens[_local5].proxy(_subTweens[_local5]);
_local5--;
};
};
if (_hasUpdate){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (_local2 == this.duration){
complete(true);
};
}
protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams)));
}
public function killVars(_arg1:Object):void{
if (overwriteManager.enabled){
overwriteManager.killVars(_arg1, this.vars, this.tweens, _subTweens, []);
};
}
public function complete(_arg1:Boolean=false):void{
if (!_arg1){
if (!_initted){
initTweenVals();
};
this.startTime = (_curTime - ((this.duration * 1000) / _timeScale));
render(_curTime);
return;
};
if (((!((this.vars.visible == undefined))) && (_isDisplayObject))){
if (((!(isNaN(this.vars.autoAlpha))) && ((this.target.alpha == 0)))){
this.target.visible = false;
} else {
if (this.vars.runBackwards != true){
this.target.visible = this.vars.visible;
};
};
};
if (this.vars.persist != true){
removeTween(this);
};
if (this.vars.onComplete != null){
this.vars.onComplete.apply(null, this.vars.onCompleteParams);
};
}
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2));
}
public static function frameProxy(_arg1:Object):void{
_arg1.info.target.gotoAndStop(Math.round(_arg1.target.frame));
}
public static function removeTween(_arg1:TweenLite=null):void{
if (((!((_arg1 == null))) && (!((_all[_arg1.target] == undefined))))){
_all[_arg1.target][_arg1] = null;
delete _all[_arg1.target][_arg1];
};
}
public static function killTweensOf(_arg1:Object=null, _arg2:Boolean=false):void{
var _local3:Object;
var _local4:*;
if (((!((_arg1 == null))) && (!((_all[_arg1] == undefined))))){
if (_arg2){
_local3 = _all[_arg1];
for (_local4 in _local3) {
_local3[_local4].complete(false);
};
};
delete _all[_arg1];
};
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null):TweenLite{
return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, overwrite:0}));
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
_arg3.runBackwards = true;
return (new TweenLite(_arg1, _arg2, _arg3));
}
public static function executeAll(_arg1:Event=null):void{
var _local2:uint;
var _local3:Dictionary;
var _local4:Object;
var _local5:Object;
_local2 = (_curTime = getTimer());
if (_listening){
_local3 = _all;
for each (_local4 in _local3) {
for (_local5 in _local4) {
if (((!((_local4[_local5] == undefined))) && (_local4[_local5].active))){
_local4[_local5].render(_local2);
};
};
};
};
}
public static function volumeProxy(_arg1:Object):void{
_arg1.info.target.soundTransform = _arg1.target;
}
public static function killGarbage(_arg1:TimerEvent):void{
var _local2:uint;
var _local3:Boolean;
var _local4:Object;
var _local5:Object;
var _local6:Object;
_local2 = 0;
for (_local4 in _all) {
_local3 = false;
for (_local5 in _all[_local4]) {
_local3 = true;
break;
};
if (!_local3){
delete _all[_local4];
} else {
_local2++;
};
};
if (_local2 == 0){
_timer.removeEventListener("timer", killGarbage);
_timer.stop();
_listening = false;
};
}
public static function tintProxy(_arg1:Object):void{
var _local2:Number;
var _local3:Number;
var _local4:Object;
var _local5:Object;
_local2 = _arg1.target.progress;
_local3 = (1 - _local2);
_local4 = _arg1.info.color;
_local5 = _arg1.info.endColor;
_arg1.info.target.transform.colorTransform = new ColorTransform(((_local4.redMultiplier * _local3) + (_local5.redMultiplier * _local2)), ((_local4.greenMultiplier * _local3) + (_local5.greenMultiplier * _local2)), ((_local4.blueMultiplier * _local3) + (_local5.blueMultiplier * _local2)), ((_local4.alphaMultiplier * _local3) + (_local5.alphaMultiplier * _local2)), ((_local4.redOffset * _local3) + (_local5.redOffset * _local2)), ((_local4.greenOffset * _local3) + (_local5.greenOffset * _local2)), ((_local4.blueOffset * _local3) + (_local5.blueOffset * _local2)), ((_local4.alphaOffset * _local3) + (_local5.alphaOffset * _local2)));
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
return (new TweenLite(_arg1, _arg2, _arg3));
}
}
}//package gs
Section 79
//TweenMax (gs.TweenMax)
package gs {
import flash.events.*;
import flash.utils.*;
import gs.events.*;
public class TweenMax extends TweenFilterLite implements IEventDispatcher {
protected var _isProcessingComplete:Boolean;
protected var _dispatcher:EventDispatcher;
protected var _callbacks:Object;
protected var _pauseTime:int;
protected static const _RAD2DEG:Number = 57.2957795130823;
public static var removeTween:Function = TweenLite.removeTween;
private static var _overwriteMode:int = (OverwriteManager.enabled) ? OverwriteManager.mode : OverwriteManager.init();
;
public static var defaultEase:Function = TweenLite.defaultEase;
public static var killTweensOf:Function = TweenLite.killTweensOf;
public static var version:Number = 2.19;
public static var killDelayedCallsTo:Function = TweenLite.killDelayedCallsTo;
public function TweenMax(_arg1:Object, _arg2:Number, _arg3:Object){
super(_arg1, _arg2, _arg3);
_pauseTime = -1;
if (((((!((this.vars.onCompleteListener == null))) || (!((this.vars.onUpdateListener == null))))) || (!((this.vars.onStartListener == null))))){
initDispatcher();
if ((((_arg2 == 0)) && ((this.delay == 0)))){
onUpdateDispatcher();
onCompleteDispatcher();
};
};
if ((((this.vars.yoyo == true)) || ((this.vars.loop == true)))){
this.vars.persist = true;
};
if (TweenFilterLite.version < 8.16){
trace("TweenMax error! Please update your TweenFilterLite class or try deleting your ASO files. TweenMax requires a more recent version. Download updates at http://www.TweenMax.com.");
};
}
override public function get active():Boolean{
if (_active){
return (true);
};
if (_pauseTime != -1){
return (false);
};
if (_curTime >= this.startTime){
_active = true;
if (!_initted){
initTweenVals();
} else {
if (((!((this.vars.visible == undefined))) && (_isDisplayObject))){
this.target.visible = true;
};
};
if (this.vars.onStart != null){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
if (this.duration == 0.001){
this.startTime = (this.startTime - 1);
};
return (true);
//unresolved jump
};
return (false);
}
public function get paused():Boolean{
if (_pauseTime != -1){
return (true);
};
return (false);
}
public function resume():void{
var _local1:Boolean;
var _local2:Number;
if (_pauseTime != -1){
_local1 = (_pauseTime > (this.initTime + (this.delay * 1000)));
_local2 = (_curTime - _pauseTime);
this.initTime = (this.initTime + _local2);
this.startTime = (this.initTime + (this.delay * 1000));
_pauseTime = -1;
if (((!(_local1)) && ((_curTime >= this.startTime)))){
_local1 = this.active;
} else {
_active = _local1;
};
};
}
protected function adjustStartValues():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Object;
var _local5:int;
_local1 = this.progress;
if (_local1 != 0){
_local2 = (1 / (1 - this.vars.ease((_local1 * this.duration), 0, 1, this.duration)));
_local5 = (this.tweens.length - 1);
while (_local5 > -1) {
_local4 = this.tweens[_local5];
_local3 = (_local4.s + _local4.c);
_local4.c = ((_local3 - _local4.o[_local4.p]) * _local2);
_local4.s = (_local3 - _local4.c);
_local5--;
};
};
}
override public function complete(_arg1:Boolean=false):void{
if (!_isProcessingComplete){
_isProcessingComplete = true;
if ((((this.vars.yoyo == true)) || ((this.vars.loop == true)))){
if (this.vars.yoyo == true){
reverse(false);
};
this.startTime = _curTime;
this.initTime = (this.startTime - (this.delay * 1000));
render(_curTime);
} else {
if (this.vars.persist == true){
pause();
};
};
super.complete(_arg1);
_isProcessingComplete = false;
};
}
public function invalidate(_arg1:Boolean=true):void{
var _local2:Number;
if (_initted){
_local2 = this.progress;
if (((!(_arg1)) && (!((_local2 == 0))))){
this.progress = 0;
};
this.tweens = [];
_subTweens = [];
initTweenVals();
if (_local2 != 0){
if (_arg1){
adjustStartValues();
} else {
this.progress = _local2;
};
};
};
}
public function willTrigger(_arg1:String):Boolean{
if (_dispatcher == null){
return (false);
};
return (_dispatcher.willTrigger(_arg1));
}
public function get progress():Number{
var _local1:Number;
_local1 = (((((((_curTime - this.initTime) / 1000) - this.delay) / this.duration) * _timeScale)) || (0));
if (_local1 > 1){
return (1);
};
return (_local1);
}
public function dispatchEvent(_arg1:Event):Boolean{
if (_dispatcher == null){
return (false);
};
return (_dispatcher.dispatchEvent(_arg1));
}
override public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{
var _local3:String;
var _local4:int;
var _local5:Object;
var _local6:Object;
var _local7:Array;
var _local8:Function;
_arg2 = (_arg2 + " hexColors bezier bezierThrough orientToBezier quaternions onCompleteAll onCompleteAllParams yoyo loop onCompleteListener onUpdateListener onStartListener ");
if (((((!(_arg1)) && (!((this.delay == 0))))) && (TweenLite.overwriteManager.enabled))){
TweenLite.overwriteManager.manageOverwrites(this, _all[this.target]);
};
_local8 = bezierProxy;
if (this.vars.orientToBezier == true){
this.vars.orientToBezier = [["x", "y", "rotation", 0]];
_local8 = bezierProxy2;
} else {
if ((this.vars.orientToBezier is Array)){
_local8 = bezierProxy2;
};
};
if (((!((this.vars.bezier == undefined))) && ((this.vars.bezier is Array)))){
_local6 = {};
_local7 = this.vars.bezier;
_local4 = 0;
while (_local4 < _local7.length) {
for (_local3 in _local7[_local4]) {
if (_local6[_local3] == undefined){
_local6[_local3] = [this.target[_local3]];
};
if (typeof(_local7[_local4][_local3]) == "number"){
_local6[_local3].push(_local7[_local4][_local3]);
} else {
_local6[_local3].push((this.target[_local3] + Number(_local7[_local4][_local3])));
};
};
_local4++;
};
for (_local3 in _local6) {
if (typeof(this.vars[_local3]) == "number"){
_local6[_local3].push(this.vars[_local3]);
} else {
_local6[_local3].push((this.target[_local3] + Number(this.vars[_local3])));
};
delete this.vars[_local3];
};
addSubTween("bezier", _local8, {t:0}, {t:1}, {props:parseBeziers(_local6, false), target:this.target, orientToBezier:this.vars.orientToBezier});
};
if (((!((this.vars.bezierThrough == undefined))) && ((this.vars.bezierThrough is Array)))){
_local6 = {};
_local7 = this.vars.bezierThrough;
_local4 = 0;
while (_local4 < _local7.length) {
for (_local3 in _local7[_local4]) {
if (_local6[_local3] == undefined){
_local6[_local3] = [this.target[_local3]];
};
if (typeof(_local7[_local4][_local3]) == "number"){
_local6[_local3].push(_local7[_local4][_local3]);
} else {
_local6[_local3].push((this.target[_local3] + Number(_local7[_local4][_local3])));
};
};
_local4++;
};
for (_local3 in _local6) {
if (typeof(this.vars[_local3]) == "number"){
_local6[_local3].push(this.vars[_local3]);
} else {
_local6[_local3].push((this.target[_local3] + Number(this.vars[_local3])));
};
delete this.vars[_local3];
};
addSubTween("bezierThrough", _local8, {t:0}, {t:1}, {props:parseBeziers(_local6, true), target:this.target, orientToBezier:this.vars.orientToBezier});
};
if (((!((this.vars.hexColors == undefined))) && ((typeof(this.vars.hexColors) == "object")))){
for (_local3 in this.vars.hexColors) {
addSubTween("hexColors", hexColorsProxy, {r:(this.target[_local3] >> 16), g:((this.target[_local3] >> 8) & 0xFF), b:(this.target[_local3] & 0xFF)}, {r:(this.vars.hexColors[_local3] >> 16), g:((this.vars.hexColors[_local3] >> 8) & 0xFF), b:(this.vars.hexColors[_local3] & 0xFF)}, {prop:_local3, target:this.target});
};
};
super.initTweenVals(true, _arg2);
}
protected function onStartDispatcher(... _args):void{
if (_callbacks.onStart != null){
_callbacks.onStart.apply(null, this.vars.onStartParams);
};
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.START));
}
public function setDestination(_arg1:String, _arg2, _arg3:Boolean=true):void{
var _local4:Number;
var _local5:Object;
var _local6:int;
var _local7:Object;
var _local8:Array;
var _local9:Array;
_local4 = this.progress;
if (((!((this.vars[_arg1] == undefined))) && (_initted))){
if (((!(_arg3)) && (!((_local4 == 0))))){
_local6 = (this.tweens.length - 1);
while (_local6 > -1) {
if (this.tweens[_local6].name == _arg1){
this.tweens[_local6].o[this.tweens[_local6].p] = this.tweens[_local6].s;
};
_local6--;
};
};
_local5 = {};
_local5[_arg1] = 1;
killVars(_local5);
};
this.vars[_arg1] = _arg2;
if (_initted){
_local7 = this.vars;
_local8 = this.tweens;
_local9 = _subTweens;
this.vars = {};
this.tweens = [];
_subTweens = [];
this.vars[_arg1] = _arg2;
initTweenVals();
if (((_arg3) && (!((_local4 == 0))))){
this.vars.ease = _local7.ease;
adjustStartValues();
};
this.vars = _local7;
this.tweens = _local8.concat(this.tweens);
_subTweens = _local9.concat(_subTweens);
};
}
public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{
if (_dispatcher == null){
initDispatcher();
};
_dispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5);
}
public function restart():void{
this.progress = 0;
resume();
}
protected function initDispatcher():void{
var _local1:Object;
var _local2:String;
if (_dispatcher == null){
_dispatcher = new EventDispatcher(this);
_callbacks = {onStart:this.vars.onStart, onUpdate:this.vars.onUpdate, onComplete:this.vars.onComplete};
_local1 = {};
for (_local2 in this.vars) {
_local1[_local2] = this.vars[_local2];
};
this.vars = _local1;
this.vars.onStart = onStartDispatcher;
this.vars.onUpdate = onUpdateDispatcher;
this.vars.onComplete = onCompleteDispatcher;
if ((this.vars.onStartListener is Function)){
_dispatcher.addEventListener(TweenEvent.START, this.vars.onStartListener, false, 0, true);
};
if ((this.vars.onUpdateListener is Function)){
_dispatcher.addEventListener(TweenEvent.UPDATE, this.vars.onUpdateListener, false, 0, true);
};
if ((this.vars.onCompleteListener is Function)){
_dispatcher.addEventListener(TweenEvent.COMPLETE, this.vars.onCompleteListener, false, 0, true);
};
};
}
public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{
if (_dispatcher != null){
_dispatcher.removeEventListener(_arg1, _arg2, _arg3);
};
}
public function killProperties(_arg1:Array):void{
var _local2:Object;
var _local3:int;
_local2 = {};
_local3 = (_arg1.length - 1);
while (_local3 > -1) {
if (this.vars[_arg1[_local3]] != null){
_local2[_arg1[_local3]] = 1;
};
_local3--;
};
killVars(_local2);
}
public function set progress(_arg1:Number):void{
var _local2:Number;
var _local3:Boolean;
var _local4:*;
_local2 = (_curTime - ((this.duration * _arg1) * 1000));
this.initTime = (_local2 - (this.delay * 1000));
this.startTime = _local2;
_local3 = this.active;
render(_curTime);
if (_pauseTime != -1){
this.startTime = 99999999999;
};
_local4 = this.vars.visible;
if (this.vars.isTV == true){
_local4 = this.vars.exposedProps.visible;
};
if (((((!((_local4 == null))) && (_isDisplayObject))) && ((_arg1 < 1)))){
this.target.visible = Boolean(_local4);
};
}
public function reverse(_arg1:Boolean=true):void{
this.vars.ease = ((this.vars.ease)==_originalEase) ? reverseEase : _originalEase;
if (((_arg1) && ((_curTime > (this.initTime + (this.delay * 1000)))))){
this.initTime = ((_curTime - ((((1 - this.progress) * this.duration) * 1000) / _timeScale)) - (this.delay * 1000));
if (_pauseTime == -1){
this.startTime = (this.initTime + (this.delay * 1000));
};
};
resume();
}
public function set paused(_arg1:Boolean):void{
if (_arg1){
this.pause();
} else {
this.resume();
};
}
protected function onUpdateDispatcher(... _args):void{
if (_callbacks.onUpdate != null){
_callbacks.onUpdate.apply(null, this.vars.onUpdateParams);
};
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.UPDATE));
}
public function hasEventListener(_arg1:String):Boolean{
if (_dispatcher == null){
return (false);
};
return (_dispatcher.hasEventListener(_arg1));
}
public function pause():void{
if (_pauseTime == -1){
_pauseTime = _curTime;
this.startTime = 99999999999;
_active = false;
};
}
public function reverseEase(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (_originalEase((_arg4 - _arg1), _arg2, _arg3, _arg4));
}
protected function onCompleteDispatcher(... _args):void{
if (_callbacks.onComplete != null){
_callbacks.onComplete.apply(null, this.vars.onCompleteParams);
};
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.COMPLETE));
}
public static function sequence(_arg1:Object, _arg2:Array):Array{
var _local3:uint;
_local3 = 0;
while (_local3 < _arg2.length) {
_arg2[_local3].target = _arg1;
_local3++;
};
return (multiSequence(_arg2));
}
public static function hexColorsProxy(_arg1:Object):void{
_arg1.info.target[_arg1.info.prop] = uint((((_arg1.target.r << 16) | (_arg1.target.g << 8)) | _arg1.target.b));
}
public static function parseBeziers(_arg1:Object, _arg2:Boolean=false):Object{
var _local3:int;
var _local4:Array;
var _local5:Object;
var _local6:String;
var _local7:Object;
_local7 = {};
if (_arg2){
for (_local6 in _arg1) {
_local4 = _arg1[_local6];
_local5 = [];
_local7[_local6] = _local5;
if (_local4.length > 2){
_local5[_local5.length] = {s:_local4[0], cp:(_local4[1] - ((_local4[2] - _local4[0]) / 4)), e:_local4[1]};
_local3 = 1;
while (_local3 < (_local4.length - 1)) {
_local5[_local5.length] = {s:_local4[_local3], cp:(_local4[_local3] + (_local4[_local3] - _local5[(_local3 - 1)].cp)), e:_local4[(_local3 + 1)]};
_local3++;
};
} else {
_local5[_local5.length] = {s:_local4[0], cp:((_local4[0] + _local4[1]) / 2), e:_local4[1]};
};
};
} else {
for (_local6 in _arg1) {
_local4 = _arg1[_local6];
_local5 = [];
_local7[_local6] = _local5;
if (_local4.length > 3){
_local5[_local5.length] = {s:_local4[0], cp:_local4[1], e:((_local4[1] + _local4[2]) / 2)};
_local3 = 2;
while (_local3 < (_local4.length - 2)) {
_local5.push({s:_local5[(_local3 - 2)].e, cp:_local4[_local3], e:((_local4[_local3] + _local4[(_local3 + 1)]) / 2)});
_local3++;
};
_local5[_local5.length] = {s:_local5[(_local5.length - 1)].e, cp:_local4[(_local4.length - 2)], e:_local4[(_local4.length - 1)]};
} else {
if (_local4.length == 3){
_local5[_local5.length] = {s:_local4[0], cp:_local4[1], e:_local4[2]};
} else {
if (_local4.length == 2){
_local5[_local5.length] = {s:_local4[0], cp:((_local4[0] + _local4[1]) / 2), e:_local4[1]};
};
};
};
};
};
return (_local7);
}
public static function bezierProxy2(_arg1:Object):void{
var _local2:Object;
var _local3:Object;
var _local4:Array;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Array;
var _local9:Number;
var _local10:uint;
bezierProxy(_arg1);
_local2 = {};
_local3 = _arg1.info.target;
_arg1.info.target = _local2;
_arg1.target.t = (_arg1.target.t + 0.01);
bezierProxy(_arg1);
_local4 = _arg1.info.orientToBezier;
_local10 = 0;
while (_local10 < _local4.length) {
_local8 = _local4[_local10];
_local9 = ((_local8[3]) || (0));
_local6 = (_local2[_local8[0]] - _local3[_local8[0]]);
_local7 = (_local2[_local8[1]] - _local3[_local8[1]]);
_local3[_local8[2]] = ((Math.atan2(_local7, _local6) * _RAD2DEG) + _local9);
_local10++;
};
_arg1.info.target = _local3;
_arg1.target.t = (_arg1.target.t - 0.01);
}
public static function pauseAll(_arg1:Boolean=true, _arg2:Boolean=false):void{
changePause(true, _arg1, _arg2);
}
public static function getTweensOf(_arg1:Object):Array{
var _local2:Dictionary;
var _local3:Array;
var _local4:Object;
_local2 = _all[_arg1];
_local3 = [];
if (_local2 != null){
for (_local4 in _local2) {
if (_local2[_local4].tweens != undefined){
_local3[_local3.length] = _local2[_local4];
};
};
};
return (_local3);
}
public static function multiSequence(_arg1:Array):Array{
var _local2:Dictionary;
var _local3:Array;
var _local4:int;
var _local5:Number;
var _local6:Object;
var _local7:Object;
var _local8:Number;
var _local9:Number;
var _local10:uint;
var _local11:Object;
var _local12:String;
_local2 = new Dictionary();
_local3 = [];
_local4 = TweenLite.overwriteManager.mode;
_local5 = 0;
_local10 = 0;
while (_local10 < _arg1.length) {
_local6 = _arg1[_local10];
_local9 = ((_local6.time) || (0));
_local11 = {};
for (_local12 in _local6) {
_local11[_local12] = _local6[_local12];
};
delete _local11.time;
_local8 = ((_local11.delay) || (0));
_local11.delay = (_local5 + _local8);
_local7 = _local11.target;
delete _local11.target;
if (_local4 == 1){
if (_local2[_local7] == undefined){
_local2[_local7] = _local11;
} else {
_local11.overwrite = 2;
};
};
_local3[_local3.length] = new TweenMax(_local7, _local9, _local11);
_local5 = (_local5 + (_local9 + _local8));
_local10++;
};
return (_local3);
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null):TweenMax{
return (new TweenMax(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, overwrite:0}));
}
public static function isTweening(_arg1:Object):Boolean{
var _local2:Array;
var _local3:int;
_local2 = getTweensOf(_arg1);
_local3 = (_local2.length - 1);
while (_local3 > -1) {
if (_local2[_local3].active){
return (true);
};
_local3--;
};
return (false);
}
public static function killAll(_arg1:Boolean=false, _arg2:Boolean=true, _arg3:Boolean=true):void{
var _local4:Array;
var _local5:int;
_local4 = getAllTweens();
_local5 = (_local4.length - 1);
while (_local5 > -1) {
if (((((_local4[_local5].target is Function) == _arg3)) || (!(((_local4[_local5].target is Function) == _arg2))))){
if (_arg1){
_local4[_local5].complete();
} else {
TweenLite.removeTween(_local4[_local5]);
};
};
_local5--;
};
}
public static function changePause(_arg1:Boolean, _arg2:Boolean=true, _arg3:Boolean=false):void{
var _local4:Array;
var _local5:int;
_local4 = getAllTweens();
_local5 = (_local4.length - 1);
while (_local5 > -1) {
if ((((_local4[_local5] is TweenMax)) && (((((_local4[_local5].target is Function) == _arg3)) || (!(((_local4[_local5].target is Function) == _arg2))))))){
_local4[_local5].paused = _arg1;
};
_local5--;
};
}
public static function bezierProxy(_arg1:Object):void{
var _local2:Number;
var _local3:Object;
var _local4:Object;
var _local5:int;
var _local6:String;
var _local7:Object;
var _local8:Number;
var _local9:uint;
_local2 = _arg1.target.t;
_local3 = _arg1.info.props;
_local4 = _arg1.info.target;
if (_local2 == 1){
for (_local6 in _local3) {
_local5 = (_local3[_local6].length - 1);
_local4[_local6] = _local3[_local6][_local5].e;
};
} else {
for (_local6 in _local3) {
_local9 = _local3[_local6].length;
if (_local2 < 0){
_local5 = 0;
} else {
if (_local2 >= 1){
_local5 = (_local9 - 1);
} else {
_local5 = int((_local9 * _local2));
};
};
_local8 = ((_local2 - (_local5 * (1 / _local9))) * _local9);
_local7 = _local3[_local6][_local5];
_local4[_local6] = (_local7.s + (_local8 * (((2 * (1 - _local8)) * (_local7.cp - _local7.s)) + (_local8 * (_local7.e - _local7.s)))));
};
};
}
public static function callbackProxy(_arg1:Array, _arg2:Array=null):void{
var _local3:uint;
_local3 = 0;
while (_local3 < _arg1.length) {
if (_arg1[_local3] != undefined){
_arg1[_local3].apply(null, _arg2[_local3]);
};
_local3++;
};
}
public static function allFrom(_arg1:Array, _arg2:Number, _arg3:Object):Array{
_arg3.runBackwards = true;
return (allTo(_arg1, _arg2, _arg3));
}
public static function killAllDelayedCalls(_arg1:Boolean=false):void{
killAll(_arg1, false, true);
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{
_arg3.runBackwards = true;
return (new TweenMax(_arg1, _arg2, _arg3));
}
public static function killAllTweens(_arg1:Boolean=false):void{
killAll(_arg1, true, false);
}
public static function getAllTweens():Array{
var _local1:Dictionary;
var _local2:Array;
var _local3:Object;
var _local4:Object;
_local1 = _all;
_local2 = [];
for (_local3 in _local1) {
for (_local4 in _local1[_local3]) {
if (_local1[_local3][_local4] != undefined){
_local2[_local2.length] = _local1[_local3][_local4];
};
};
};
return (_local2);
}
public static function resumeAll(_arg1:Boolean=true, _arg2:Boolean=false):void{
changePause(false, _arg1, _arg2);
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{
return (new TweenMax(_arg1, _arg2, _arg3));
}
public static function allTo(_arg1:Array, _arg2:Number, _arg3:Object):Array{
var _local4:int;
var _local5:Object;
var _local6:String;
var _local7:Number;
var _local8:Object;
var _local9:Array;
var _local10:Number;
if (_arg1.length == 0){
return ([]);
};
_local9 = [];
_local10 = ((_arg3.delayIncrement) || (0));
delete _arg3.delayIncrement;
if (_arg3.onCompleteAll == undefined){
_local8 = _arg3;
} else {
_local8 = {};
for (_local6 in _arg3) {
_local8[_local6] = _arg3[_local6];
};
_local8.onCompleteParams = [[_arg3.onComplete, _arg3.onCompleteAll], [_arg3.onCompleteParams, _arg3.onCompleteAllParams]];
_local8.onComplete = TweenMax.callbackProxy;
delete _arg3.onCompleteAll;
};
delete _arg3.onCompleteAllParams;
if (_local10 == 0){
_local4 = 0;
while (_local4 < (_arg1.length - 1)) {
_local5 = {};
for (_local6 in _arg3) {
_local5[_local6] = _arg3[_local6];
};
_local9[_local9.length] = new TweenMax(_arg1[_local4], _arg2, _local5);
_local4++;
};
} else {
_local7 = ((_arg3.delay) || (0));
_local4 = 0;
while (_local4 < (_arg1.length - 1)) {
_local5 = {};
for (_local6 in _arg3) {
_local5[_local6] = _arg3[_local6];
};
_local5.delay = (_local7 + (_local4 * _local10));
_local9[_local9.length] = new TweenMax(_arg1[_local4], _arg2, _local5);
_local4++;
};
_local8.delay = (_local7 + ((_arg1.length - 1) * _local10));
};
_local9[_local9.length] = new TweenMax(_arg1[(_arg1.length - 1)], _arg2, _local8);
if ((_arg3.onCompleteAllListener is Function)){
_local9[(_local9.length - 1)].addEventListener(TweenEvent.COMPLETE, _arg3.onCompleteAllListener);
};
return (_local9);
}
}
}//package gs
Section 80
//AirStrike_mc_126 (sunbedinvaders_fla.AirStrike_mc_126)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class AirStrike_mc_126 extends MovieClip {
public var shadows:MovieClip;
public var strike:MovieClip;
}
}//package sunbedinvaders_fla
Section 81
//ARROW_LEFT_mc_44 (sunbedinvaders_fla.ARROW_LEFT_mc_44)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class ARROW_LEFT_mc_44 extends MovieClip {
public var CountryPrev:SimpleButton;
}
}//package sunbedinvaders_fla
Section 82
//ARROW_RIGHT_mc_45 (sunbedinvaders_fla.ARROW_RIGHT_mc_45)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class ARROW_RIGHT_mc_45 extends MovieClip {
public var CountryNext:SimpleButton;
}
}//package sunbedinvaders_fla
Section 83
//B_BALLOONS_MC_130 (sunbedinvaders_fla.B_BALLOONS_MC_130)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class B_BALLOONS_MC_130 extends MovieClip {
public function B_BALLOONS_MC_130(){
addFrameScript(101, frame102);
}
function frame102(){
stop();
}
}
}//package sunbedinvaders_fla
Section 84
//BallFlip_mc_119 (sunbedinvaders_fla.BallFlip_mc_119)
package sunbedinvaders_fla {
import flash.display.*;
import com.stampy.random.*;
import console.sounds.*;
public dynamic class BallFlip_mc_119 extends MovieClip {
public var rand:uint;
public var ball:MovieClip;
public function BallFlip_mc_119(){
addFrameScript(11, frame12, 24, frame25);
}
function frame12(){
rand = Random.range(2, 4);
if (!SoundUtils.isSFXPlaying(("SFX" + rand))){
if (this.parent != null){
try {
SoundUtils.playSFX(("SFX" + rand));
} catch(e:Error) {
trace(("Sound Error SFX" + rand));
};
};
};
}
function frame25(){
gotoAndPlay(1);
}
}
}//package sunbedinvaders_fla
Section 85
//balloon_fall_BLUE_134 (sunbedinvaders_fla.balloon_fall_BLUE_134)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class balloon_fall_BLUE_134 extends MovieClip {
public function balloon_fall_BLUE_134(){
addFrameScript(20, frame21);
}
function frame21(){
stop();
}
}
}//package sunbedinvaders_fla
Section 86
//balloon_fall_GREEN_136 (sunbedinvaders_fla.balloon_fall_GREEN_136)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class balloon_fall_GREEN_136 extends MovieClip {
public function balloon_fall_GREEN_136(){
addFrameScript(20, frame21);
}
function frame21(){
stop();
}
}
}//package sunbedinvaders_fla
Section 87
//balloon_fall_ORANGE_138 (sunbedinvaders_fla.balloon_fall_ORANGE_138)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class balloon_fall_ORANGE_138 extends MovieClip {
public function balloon_fall_ORANGE_138(){
addFrameScript(20, frame21);
}
function frame21(){
stop();
}
}
}//package sunbedinvaders_fla
Section 88
//balloon_fall_RED_131 (sunbedinvaders_fla.balloon_fall_RED_131)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class balloon_fall_RED_131 extends MovieClip {
public function balloon_fall_RED_131(){
addFrameScript(20, frame21);
}
function frame21(){
stop();
}
}
}//package sunbedinvaders_fla
Section 89
//balloon_fall_YELLOW_140 (sunbedinvaders_fla.balloon_fall_YELLOW_140)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class balloon_fall_YELLOW_140 extends MovieClip {
public function balloon_fall_YELLOW_140(){
addFrameScript(20, frame21);
}
function frame21(){
stop();
}
}
}//package sunbedinvaders_fla
Section 90
//balloon_puddle1_143 (sunbedinvaders_fla.balloon_puddle1_143)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class balloon_puddle1_143 extends MovieClip {
public function balloon_puddle1_143(){
addFrameScript(60, frame61);
}
function frame61(){
stop();
}
}
}//package sunbedinvaders_fla
Section 91
//balloon_puddle2_145 (sunbedinvaders_fla.balloon_puddle2_145)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class balloon_puddle2_145 extends MovieClip {
public function balloon_puddle2_145(){
addFrameScript(60, frame61);
}
function frame61(){
stop();
}
}
}//package sunbedinvaders_fla
Section 92
//balloon_puddle3_147 (sunbedinvaders_fla.balloon_puddle3_147)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class balloon_puddle3_147 extends MovieClip {
public function balloon_puddle3_147(){
addFrameScript(60, frame61);
}
function frame61(){
stop();
}
}
}//package sunbedinvaders_fla
Section 93
//balloon_shadow_mc_128 (sunbedinvaders_fla.balloon_shadow_mc_128)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class balloon_shadow_mc_128 extends MovieClip {
public function balloon_shadow_mc_128(){
addFrameScript(60, frame61);
}
function frame61(){
stop();
}
}
}//package sunbedinvaders_fla
Section 94
//beachball_roll_121 (sunbedinvaders_fla.beachball_roll_121)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class beachball_roll_121 extends MovieClip {
public function beachball_roll_121(){
addFrameScript(50, frame51);
}
function frame51(){
this.gotoAndPlay(1);
}
}
}//package sunbedinvaders_fla
Section 95
//button_out_mc_316 (sunbedinvaders_fla.button_out_mc_316)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class button_out_mc_316 extends MovieClip {
public function button_out_mc_316(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 96
//CHARACTER_mc_294 (sunbedinvaders_fla.CHARACTER_mc_294)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class CHARACTER_mc_294 extends MovieClip {
public function CHARACTER_mc_294(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 97
//CHARACTERMAIN_293 (sunbedinvaders_fla.CHARACTERMAIN_293)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class CHARACTERMAIN_293 extends MovieClip {
public var CharacterMain:SimpleButton;
}
}//package sunbedinvaders_fla
Section 98
//CompetitionForm1_mc_164 (sunbedinvaders_fla.CompetitionForm1_mc_164)
package sunbedinvaders_fla {
import fl.controls.*;
import flash.display.*;
import fl.data.*;
public dynamic class CompetitionForm1_mc_164 extends MovieClip {
public var j1;
public var error1:MovieClip;
public var error3:MovieClip;
public var error4:MovieClip;
public var error5:MovieClip;
public var error6:MovieClip;
public var error2:MovieClip;
public var collObj1:DataProvider;
public var error7:MovieClip;
public var field1:MovieClip;
public var field5:MovieClip;
public var field2:MovieClip;
public var field7:MovieClip;
public var field3:MovieClip;
public var field9:MovieClip;
public var field4:MovieClip;
public var collProp1:Object;
public var field8:ComboBox;
public var itemObj1:SimpleCollectionItem;
public var collProps1:Array;
public var errorMessage:MovieClip;
public var i1:int;
public function CompetitionForm1_mc_164(){
addFrameScript(0, frame1);
__setProp_field8_CompetitionForm1_mc_Layer3_1();
}
function frame1(){
field8.tabIndex = 107;
field7.tabIndex = 106;
field5.tabIndex = 105;
field4.tabIndex = 104;
field3.tabIndex = 103;
field9.tabIndex = 102;
field2.tabIndex = 101;
field1.tabIndex = 100;
}
function __setProp_field8_CompetitionForm1_mc_Layer3_1(){
try {
field8["componentInspectorSetting"] = true;
} catch(e:Error) {
};
collObj1 = new DataProvider();
collProps1 = [];
i1 = 0;
while (i1 < collProps1.length) {
itemObj1 = new SimpleCollectionItem();
collProp1 = collProps1[i1];
for (j1 in collProp1) {
itemObj1[j1] = collProp1[j1];
};
collObj1.addItem(itemObj1);
i1++;
};
field8.dataProvider = collObj1;
field8.editable = false;
field8.enabled = true;
field8.prompt = "";
field8.restrict = "";
field8.rowCount = 5;
field8.visible = true;
try {
field8["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package sunbedinvaders_fla
Section 99
//CompetitionForm2_mc_216 (sunbedinvaders_fla.CompetitionForm2_mc_216)
package sunbedinvaders_fla {
import fl.controls.*;
import flash.display.*;
import fl.data.*;
import flash.accessibility.*;
public dynamic class CompetitionForm2_mc_216 extends MovieClip {
public var j2;
public var error1:MovieClip;
public var error3:MovieClip;
public var error4:MovieClip;
public var collObj2:DataProvider;
public var error2:MovieClip;
public var field5:TickBox;
public var field3:ComboBox;
public var field4:TickBox;
public var field1A:RadioButton;
public var field1B:RadioButton;
public var collProp2:Object;
public var field2A:RadioButton;
public var field2B:RadioButton;
public var itemObj2:SimpleCollectionItem;
public var collProps2:Array;
public var errorMessage:MovieClip;
public var i2:int;
public function CompetitionForm2_mc_216(){
addFrameScript(0, frame1);
__setProp_field1A_CompetitionForm2_mc_Layer1_1();
__setProp_field3_CompetitionForm2_mc_Layer1_1();
__setProp_field2B_CompetitionForm2_mc_Layer1_1();
__setProp_field2A_CompetitionForm2_mc_Layer1_1();
__setProp_field1B_CompetitionForm2_mc_Layer1_1();
}
function __setProp_field2B_CompetitionForm2_mc_Layer1_1(){
try {
field2B["componentInspectorSetting"] = true;
} catch(e:Error) {
};
field2B.enabled = true;
field2B.groupName = "RadioButtonGroup";
field2B.label = "";
field2B.labelPlacement = "left";
field2B.selected = false;
field2B.value = "";
field2B.visible = true;
try {
field2B["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function __setProp_field1A_CompetitionForm2_mc_Layer1_1(){
try {
field1A["componentInspectorSetting"] = true;
} catch(e:Error) {
};
field1A.enabled = true;
field1A.groupName = "RadioButtonGroup2";
field1A.label = "";
field1A.labelPlacement = "left";
field1A.selected = false;
field1A.value = "";
field1A.visible = true;
try {
field1A["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function frame1(){
field5.tabIndex = 7;
field4.tabIndex = 7;
field5.accessibilityProperties = new AccessibilityProperties();
field5.accessibilityProperties.name = "Recieve Emails";
field5.accessibilityProperties.forceSimple = true;
field4.accessibilityProperties = new AccessibilityProperties();
field4.accessibilityProperties.name = "Recieve Emails";
field4.accessibilityProperties.forceSimple = true;
}
function __setProp_field3_CompetitionForm2_mc_Layer1_1(){
try {
field3["componentInspectorSetting"] = true;
} catch(e:Error) {
};
collObj2 = new DataProvider();
collProps2 = [{label:"Select", data:"empty"}, {label:"under 18", data:"under18"}, {label:"18-27", data:"18-27"}, {label:"28-49", data:"28-49"}, {label:"50-65", data:"50-65"}, {label:"66+", data:"66+"}];
i2 = 0;
while (i2 < collProps2.length) {
itemObj2 = new SimpleCollectionItem();
collProp2 = collProps2[i2];
for (j2 in collProp2) {
itemObj2[j2] = collProp2[j2];
};
collObj2.addItem(itemObj2);
i2++;
};
field3.dataProvider = collObj2;
field3.editable = false;
field3.enabled = true;
field3.prompt = "";
field3.restrict = "";
field3.rowCount = 5;
field3.visible = true;
try {
field3["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function __setProp_field2A_CompetitionForm2_mc_Layer1_1(){
try {
field2A["componentInspectorSetting"] = true;
} catch(e:Error) {
};
field2A.enabled = true;
field2A.groupName = "RadioButtonGroup";
field2A.label = "";
field2A.labelPlacement = "left";
field2A.selected = false;
field2A.value = "";
field2A.visible = true;
try {
field2A["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function __setProp_field1B_CompetitionForm2_mc_Layer1_1(){
try {
field1B["componentInspectorSetting"] = true;
} catch(e:Error) {
};
field1B.enabled = true;
field1B.groupName = "RadioButtonGroup2";
field1B.label = "";
field1B.labelPlacement = "left";
field1B.selected = false;
field1B.value = "";
field1B.visible = true;
try {
field1B["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
}
}//package sunbedinvaders_fla
Section 100
//CONTINUE_MC_155 (sunbedinvaders_fla.CONTINUE_MC_155)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class CONTINUE_MC_155 extends MovieClip {
public var CompetitionContinue1:SimpleButton;
}
}//package sunbedinvaders_fla
Section 101
//CONTINUE2_MC_161 (sunbedinvaders_fla.CONTINUE2_MC_161)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class CONTINUE2_MC_161 extends MovieClip {
public var CompetitionContinue2:SimpleButton;
}
}//package sunbedinvaders_fla
Section 102
//COUNTRY_PLAY_mc_14 (sunbedinvaders_fla.COUNTRY_PLAY_mc_14)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class COUNTRY_PLAY_mc_14 extends MovieClip {
public var CountryPlay:SimpleButton;
}
}//package sunbedinvaders_fla
Section 103
//COUNTRYMAIN_MC_16 (sunbedinvaders_fla.COUNTRYMAIN_MC_16)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class COUNTRYMAIN_MC_16 extends MovieClip {
public var CountryMain:SimpleButton;
}
}//package sunbedinvaders_fla
Section 104
//CountrySelection_mc_17 (sunbedinvaders_fla.CountrySelection_mc_17)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class CountrySelection_mc_17 extends MovieClip {
public var country:MovieClip;
}
}//package sunbedinvaders_fla
Section 105
//EnemyAnim1_mc_78 (sunbedinvaders_fla.EnemyAnim1_mc_78)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class EnemyAnim1_mc_78 extends MovieClip {
public var pool:MovieClip;
public var body:MovieClip;
public function EnemyAnim1_mc_78(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 106
//EnemyAnim2_mc_84 (sunbedinvaders_fla.EnemyAnim2_mc_84)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class EnemyAnim2_mc_84 extends MovieClip {
public var pool:MovieClip;
public var body:MovieClip;
public function EnemyAnim2_mc_84(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 107
//EnemyAnim3_mc_88 (sunbedinvaders_fla.EnemyAnim3_mc_88)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class EnemyAnim3_mc_88 extends MovieClip {
public var pool:MovieClip;
public var body:MovieClip;
public function EnemyAnim3_mc_88(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 108
//EnemyAnim4_mc_92 (sunbedinvaders_fla.EnemyAnim4_mc_92)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class EnemyAnim4_mc_92 extends MovieClip {
public var pool:MovieClip;
public var body:MovieClip;
public function EnemyAnim4_mc_92(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 109
//EnemyAnim5_mc_96 (sunbedinvaders_fla.EnemyAnim5_mc_96)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class EnemyAnim5_mc_96 extends MovieClip {
public var pool:MovieClip;
public var body:MovieClip;
public function EnemyAnim5_mc_96(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 110
//EnemyAnim6_mc_100 (sunbedinvaders_fla.EnemyAnim6_mc_100)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class EnemyAnim6_mc_100 extends MovieClip {
public var pool:MovieClip;
public var body:MovieClip;
public function EnemyAnim6_mc_100(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 111
//EnemyAnim7_mc_104 (sunbedinvaders_fla.EnemyAnim7_mc_104)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class EnemyAnim7_mc_104 extends MovieClip {
public var pool:MovieClip;
public var body:MovieClip;
public function EnemyAnim7_mc_104(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 112
//EnemyAnim8_mc_108 (sunbedinvaders_fla.EnemyAnim8_mc_108)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class EnemyAnim8_mc_108 extends MovieClip {
public var pool:MovieClip;
public var body:MovieClip;
public function EnemyAnim8_mc_108(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 113
//error_mc_203 (sunbedinvaders_fla.error_mc_203)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class error_mc_203 extends MovieClip {
public function error_mc_203(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 114
//error_message_mc_205 (sunbedinvaders_fla.error_message_mc_205)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class error_message_mc_205 extends MovieClip {
public function error_message_mc_205(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 115
//Flag_mc_18 (sunbedinvaders_fla.Flag_mc_18)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class Flag_mc_18 extends MovieClip {
public function Flag_mc_18(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
stop();
}
function frame2(){
stop();
}
}
}//package sunbedinvaders_fla
Section 116
//FormField_mc_165 (sunbedinvaders_fla.FormField_mc_165)
package sunbedinvaders_fla {
import flash.display.*;
import flash.text.*;
public dynamic class FormField_mc_165 extends MovieClip {
public var input:TextField;
}
}//package sunbedinvaders_fla
Section 117
//FormField2_mc_166 (sunbedinvaders_fla.FormField2_mc_166)
package sunbedinvaders_fla {
import flash.display.*;
import flash.text.*;
public dynamic class FormField2_mc_166 extends MovieClip {
public var input:TextField;
}
}//package sunbedinvaders_fla
Section 118
//FRIEND_MAIN_269 (sunbedinvaders_fla.FRIEND_MAIN_269)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class FRIEND_MAIN_269 extends MovieClip {
public var FriendMain:SimpleButton;
}
}//package sunbedinvaders_fla
Section 119
//FRIENDCOMPETITION_MC_264 (sunbedinvaders_fla.FRIENDCOMPETITION_MC_264)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class FRIENDCOMPETITION_MC_264 extends MovieClip {
public var FriendCompetition:SimpleButton;
}
}//package sunbedinvaders_fla
Section 120
//FriendForm_mc_270 (sunbedinvaders_fla.FriendForm_mc_270)
package sunbedinvaders_fla {
import flash.display.*;
import flash.accessibility.*;
public dynamic class FriendForm_mc_270 extends MovieClip {
public var error1:MovieClip;
public var error3:MovieClip;
public var error4:MovieClip;
public var error5:MovieClip;
public var error6:MovieClip;
public var error2:MovieClip;
public var field1:MovieClip;
public var field5:MovieClip;
public var field6:MovieClip;
public var field2:MovieClip;
public var field7:TickBox;
public var field3:MovieClip;
public var field4:MovieClip;
public var errorMessage:MovieClip;
public function FriendForm_mc_270(){
addFrameScript(0, frame1);
}
function frame1(){
field7.accessibilityProperties = new AccessibilityProperties();
field7.accessibilityProperties.silent = true;
}
}
}//package sunbedinvaders_fla
Section 121
//FRIENDSUBMIT_MC_263 (sunbedinvaders_fla.FRIENDSUBMIT_MC_263)
package sunbedinvaders_fla {
import flash.display.*;
import flash.accessibility.*;
public dynamic class FRIENDSUBMIT_MC_263 extends MovieClip {
public var FriendSubmit:SimpleButton;
public function FRIENDSUBMIT_MC_263(){
addFrameScript(0, frame1);
}
function frame1(){
FriendSubmit.accessibilityProperties = new AccessibilityProperties();
FriendSubmit.accessibilityProperties.silent = true;
}
}
}//package sunbedinvaders_fla
Section 122
//GameEngine_SpriteDump_2 (sunbedinvaders_fla.GameEngine_SpriteDump_2)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class GameEngine_SpriteDump_2 extends MovieClip {
public function GameEngine_SpriteDump_2(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 123
//HOWMAIN_MC_242 (sunbedinvaders_fla.HOWMAIN_MC_242)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class HOWMAIN_MC_242 extends MovieClip {
public var HowMain:SimpleButton;
}
}//package sunbedinvaders_fla
Section 124
//HOWTO_PLAY_mc_241 (sunbedinvaders_fla.HOWTO_PLAY_mc_241)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class HOWTO_PLAY_mc_241 extends MovieClip {
public var HowPlay:SimpleButton;
}
}//package sunbedinvaders_fla
Section 125
//legs_forward_66 (sunbedinvaders_fla.legs_forward_66)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class legs_forward_66 extends MovieClip {
public function legs_forward_66(){
addFrameScript(0, frame1, 16, frame17);
}
function frame1(){
stop();
}
function frame17(){
gotoAndStop(2);
}
}
}//package sunbedinvaders_fla
Section 126
//legs_forward_girl_71 (sunbedinvaders_fla.legs_forward_girl_71)
package sunbedinvaders_fla {
import flash.display.*;
import com.stampy.random.*;
import console.sounds.*;
public dynamic class legs_forward_girl_71 extends MovieClip {
public var rand:uint;
public function legs_forward_girl_71(){
addFrameScript(0, frame1, 16, frame17);
}
function frame1(){
stop();
}
function frame17(){
rand = Random.range(15, 17);
if (!SoundUtils.isSFXPlaying(("SFX" + rand))){
try {
SoundUtils.playSFX(("SFX" + rand));
} catch(e:Error) {
trace(("Sound Error SFX" + rand));
};
};
gotoAndStop(2);
}
}
}//package sunbedinvaders_fla
Section 127
//LifeBed_10 (sunbedinvaders_fla.LifeBed_10)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class LifeBed_10 extends MovieClip {
public function LifeBed_10(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 128
//MAINCOMPETITION_MC_250 (sunbedinvaders_fla.MAINCOMPETITION_MC_250)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class MAINCOMPETITION_MC_250 extends MovieClip {
public var MainCompetition:SimpleButton;
}
}//package sunbedinvaders_fla
Section 129
//MAINFRIEND_MC_248 (sunbedinvaders_fla.MAINFRIEND_MC_248)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class MAINFRIEND_MC_248 extends MovieClip {
public var MainFriend:SimpleButton;
}
}//package sunbedinvaders_fla
Section 130
//MAINSCORES_MC_251 (sunbedinvaders_fla.MAINSCORES_MC_251)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class MAINSCORES_MC_251 extends MovieClip {
public var MainScores:SimpleButton;
}
}//package sunbedinvaders_fla
Section 131
//MAINVISIT_252 (sunbedinvaders_fla.MAINVISIT_252)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class MAINVISIT_252 extends MovieClip {
public var MainVisit:SimpleButton;
}
}//package sunbedinvaders_fla
Section 132
//player_girl_stand_74 (sunbedinvaders_fla.player_girl_stand_74)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class player_girl_stand_74 extends MovieClip {
public var torso:MovieClip;
public var hose:MovieClip;
}
}//package sunbedinvaders_fla
Section 133
//player_girl_walk_70 (sunbedinvaders_fla.player_girl_walk_70)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class player_girl_walk_70 extends MovieClip {
public var torso:MovieClip;
public var hose:MovieClip;
public var forward:MovieClip;
public function player_girl_walk_70(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 134
//player_guy_stand_73 (sunbedinvaders_fla.player_guy_stand_73)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class player_guy_stand_73 extends MovieClip {
public var torso:MovieClip;
public var hose:MovieClip;
}
}//package sunbedinvaders_fla
Section 135
//player_guy_walk_65 (sunbedinvaders_fla.player_guy_walk_65)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class player_guy_walk_65 extends MovieClip {
public var torso:MovieClip;
public var hose:MovieClip;
public var forward:MovieClip;
public function player_guy_walk_65(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 136
//Player_mccopy_62 (sunbedinvaders_fla.Player_mccopy_62)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class Player_mccopy_62 extends MovieClip {
public var player1:MovieClip;
public var player2:MovieClip;
public var mask1:MovieClip;
public var mask2:MovieClip;
public function Player_mccopy_62(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 137
//PLAYGAME_MC_249 (sunbedinvaders_fla.PLAYGAME_MC_249)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class PLAYGAME_MC_249 extends MovieClip {
public var MainPlay:SimpleButton;
}
}//package sunbedinvaders_fla
Section 138
//runner_girl1_93 (sunbedinvaders_fla.runner_girl1_93)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class runner_girl1_93 extends MovieClip {
public function runner_girl1_93(){
addFrameScript(0, frame1, 17, frame18);
}
function frame18(){
gotoAndPlay(2);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 139
//runner_girl2_97 (sunbedinvaders_fla.runner_girl2_97)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class runner_girl2_97 extends MovieClip {
public function runner_girl2_97(){
addFrameScript(0, frame1, 17, frame18);
}
function frame18(){
gotoAndPlay(2);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 140
//runner_girl3_101 (sunbedinvaders_fla.runner_girl3_101)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class runner_girl3_101 extends MovieClip {
public function runner_girl3_101(){
addFrameScript(0, frame1, 13, frame14);
}
function frame14(){
gotoAndPlay(2);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 141
//runner_girl4_105 (sunbedinvaders_fla.runner_girl4_105)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class runner_girl4_105 extends MovieClip {
public function runner_girl4_105(){
addFrameScript(0, frame1, 17, frame18);
}
function frame18(){
gotoAndPlay(2);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 142
//runner_guy1_89 (sunbedinvaders_fla.runner_guy1_89)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class runner_guy1_89 extends MovieClip {
public function runner_guy1_89(){
addFrameScript(0, frame1, 17, frame18);
}
function frame18(){
gotoAndPlay(2);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 143
//runner_guy2_109 (sunbedinvaders_fla.runner_guy2_109)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class runner_guy2_109 extends MovieClip {
public function runner_guy2_109(){
addFrameScript(0, frame1, 13, frame14);
}
function frame14(){
gotoAndPlay(2);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 144
//runner_guy3_85 (sunbedinvaders_fla.runner_guy3_85)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class runner_guy3_85 extends MovieClip {
public function runner_guy3_85(){
addFrameScript(0, frame1, 17, frame18);
}
function frame18(){
gotoAndPlay(2);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 145
//runner_guy4_79 (sunbedinvaders_fla.runner_guy4_79)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class runner_guy4_79 extends MovieClip {
public function runner_guy4_79(){
addFrameScript(0, frame1, 17, frame18);
}
function frame18(){
gotoAndPlay(2);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 146
//ScoreBoard_mc_258 (sunbedinvaders_fla.ScoreBoard_mc_258)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class ScoreBoard_mc_258 extends MovieClip {
public var scoreElement3:MovieClip;
public var scoreElement5:MovieClip;
public var scoreElement7:MovieClip;
public var scoreElement4:MovieClip;
public var scoreElement8:MovieClip;
public var scoreElement9:MovieClip;
public var scoreElement2:MovieClip;
public var scoreElement6:MovieClip;
public var scoreElement1:MovieClip;
public var scoreElement10:MovieClip;
}
}//package sunbedinvaders_fla
Section 147
//scoreBox_mc_259 (sunbedinvaders_fla.scoreBox_mc_259)
package sunbedinvaders_fla {
import flash.display.*;
import flash.text.*;
public dynamic class scoreBox_mc_259 extends MovieClip {
public var playerName:TextField;
public var playerScore:TextField;
public var flag:MovieClip;
public var num:TextField;
}
}//package sunbedinvaders_fla
Section 148
//SCORES_COMPETITION_MC_255 (sunbedinvaders_fla.SCORES_COMPETITION_MC_255)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class SCORES_COMPETITION_MC_255 extends MovieClip {
public var ScoresCompetition:SimpleButton;
}
}//package sunbedinvaders_fla
Section 149
//SCORES_MAIN_256 (sunbedinvaders_fla.SCORES_MAIN_256)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class SCORES_MAIN_256 extends MovieClip {
public var ScoresMain:SimpleButton;
}
}//package sunbedinvaders_fla
Section 150
//SEASONS_LOGO_46 (sunbedinvaders_fla.SEASONS_LOGO_46)
package sunbedinvaders_fla {
import flash.display.*;
import flash.accessibility.*;
public dynamic class SEASONS_LOGO_46 extends MovieClip {
public var SeasonsVisit:SimpleButton;
public function SEASONS_LOGO_46(){
addFrameScript(0, frame1);
}
function frame1(){
SeasonsVisit.accessibilityProperties = new AccessibilityProperties();
SeasonsVisit.accessibilityProperties.silent = true;
}
}
}//package sunbedinvaders_fla
Section 151
//SHARE_BTN1_238 (sunbedinvaders_fla.SHARE_BTN1_238)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class SHARE_BTN1_238 extends MovieClip {
public var thanks1Share:SimpleButton;
}
}//package sunbedinvaders_fla
Section 152
//Share_delicious_mc_279 (sunbedinvaders_fla.Share_delicious_mc_279)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class Share_delicious_mc_279 extends MovieClip {
public var share_delicious:SimpleButton;
}
}//package sunbedinvaders_fla
Section 153
//Share_Dig_mc_278 (sunbedinvaders_fla.Share_Dig_mc_278)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class Share_Dig_mc_278 extends MovieClip {
public var share_digg:SimpleButton;
}
}//package sunbedinvaders_fla
Section 154
//Share_facebook_mc_277 (sunbedinvaders_fla.Share_facebook_mc_277)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class Share_facebook_mc_277 extends MovieClip {
public var share_facebook:SimpleButton;
}
}//package sunbedinvaders_fla
Section 155
//Share_Google_mc_276 (sunbedinvaders_fla.Share_Google_mc_276)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class Share_Google_mc_276 extends MovieClip {
public var share_google:SimpleButton;
}
}//package sunbedinvaders_fla
Section 156
//Share_Redit_mc_275 (sunbedinvaders_fla.Share_Redit_mc_275)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class Share_Redit_mc_275 extends MovieClip {
public var share_redit:SimpleButton;
}
}//package sunbedinvaders_fla
Section 157
//Share_Stumble_mc_274 (sunbedinvaders_fla.Share_Stumble_mc_274)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class Share_Stumble_mc_274 extends MovieClip {
public var share_stumble:SimpleButton;
}
}//package sunbedinvaders_fla
Section 158
//Share_Twitter_mc_273 (sunbedinvaders_fla.Share_Twitter_mc_273)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class Share_Twitter_mc_273 extends MovieClip {
public var share_twitter:SimpleButton;
}
}//package sunbedinvaders_fla
Section 159
//Share_Yahoo_mc_272 (sunbedinvaders_fla.Share_Yahoo_mc_272)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class Share_Yahoo_mc_272 extends MovieClip {
public var share_yahoo:SimpleButton;
}
}//package sunbedinvaders_fla
Section 160
//SoundButton_299 (sunbedinvaders_fla.SoundButton_299)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class SoundButton_299 extends MovieClip {
public var SoundBTN:MovieClip;
public var SoundMenu:MovieClip;
public function SoundButton_299(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 161
//SoundMenu_300 (sunbedinvaders_fla.SoundMenu_300)
package sunbedinvaders_fla {
import fl.controls.*;
import flash.display.*;
import flash.utils.*;
public dynamic class SoundMenu_300 extends MovieClip {
public var sliderSFX:Slider;
public var soundButton:MovieClip;
public var sliderVolume:Slider;
public var __setPropDict:Dictionary;
public var sliderMusic:Slider;
public function SoundMenu_300(){
__setPropDict = new Dictionary(true);
super();
addFrameScript(0, frame1, 1, frame2);
}
function __setProp_sliderSFX_SoundMenu_SoundControls_1(){
try {
sliderSFX["componentInspectorSetting"] = true;
} catch(e:Error) {
};
sliderSFX.direction = "vertical";
sliderSFX.enabled = true;
sliderSFX.liveDragging = true;
sliderSFX.maximum = 1;
sliderSFX.minimum = 0;
sliderSFX.snapInterval = 0.1;
sliderSFX.tickInterval = 0;
sliderSFX.value = 1;
sliderSFX.visible = true;
try {
sliderSFX["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function frame1(){
if ((((__setPropDict[sliderMusic] == undefined)) || (!((int(__setPropDict[sliderMusic]) == 1))))){
__setPropDict[sliderMusic] = currentFrame;
__setProp_sliderMusic_SoundMenu_SoundControls_1();
};
if ((((__setPropDict[sliderSFX] == undefined)) || (!((int(__setPropDict[sliderSFX]) == 1))))){
__setPropDict[sliderSFX] = currentFrame;
__setProp_sliderSFX_SoundMenu_SoundControls_1();
};
if ((((__setPropDict[sliderVolume] == undefined)) || (!((int(__setPropDict[sliderVolume]) == 1))))){
__setPropDict[sliderVolume] = currentFrame;
__setProp_sliderVolume_SoundMenu_SoundControls_1();
};
sliderVolume.visible = false;
stop();
}
function __setProp_sliderMusic_SoundMenu_SoundControls_1(){
try {
sliderMusic["componentInspectorSetting"] = true;
} catch(e:Error) {
};
sliderMusic.direction = "vertical";
sliderMusic.enabled = true;
sliderMusic.liveDragging = true;
sliderMusic.maximum = 1;
sliderMusic.minimum = 0;
sliderMusic.snapInterval = 0.1;
sliderMusic.tickInterval = 0;
sliderMusic.value = 1;
sliderMusic.visible = true;
try {
sliderMusic["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function __setProp_sliderVolume_SoundMenu_SoundControls_1(){
try {
sliderVolume["componentInspectorSetting"] = true;
} catch(e:Error) {
};
sliderVolume.direction = "horizontal";
sliderVolume.enabled = true;
sliderVolume.liveDragging = true;
sliderVolume.maximum = 1;
sliderVolume.minimum = 0;
sliderVolume.snapInterval = 0.1;
sliderVolume.tickInterval = 0;
sliderVolume.value = 1;
sliderVolume.visible = true;
try {
sliderVolume["componentInspectorSetting"] = false;
} catch(e:Error) {
};
}
function frame2(){
sliderVolume.visible = true;
}
}
}//package sunbedinvaders_fla
Section 162
//soundText_301 (sunbedinvaders_fla.soundText_301)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class soundText_301 extends MovieClip {
public var soundButton:SimpleButton;
public function soundText_301(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 163
//SplashMain_245 (sunbedinvaders_fla.SplashMain_245)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class SplashMain_245 extends MovieClip {
public function SplashMain_245(){
addFrameScript(17, frame18);
}
function frame18(){
stop();
}
}
}//package sunbedinvaders_fla
Section 164
//SplashMenu_mc_12 (sunbedinvaders_fla.SplashMenu_mc_12)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class SplashMenu_mc_12 extends MovieClip {
public function SplashMenu_mc_12(){
addFrameScript(9, frame10);
}
function frame10(){
stop();
}
}
}//package sunbedinvaders_fla
Section 165
//SpriteDump_mc_1 (sunbedinvaders_fla.SpriteDump_mc_1)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class SpriteDump_mc_1 extends MovieClip {
public function SpriteDump_mc_1(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package sunbedinvaders_fla
Section 166
//SUBMIT_COMPETITION_MC_289 (sunbedinvaders_fla.SUBMIT_COMPETITION_MC_289)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class SUBMIT_COMPETITION_MC_289 extends MovieClip {
public var SubmitCompetition:SimpleButton;
}
}//package sunbedinvaders_fla
Section 167
//SUBMIT_MAIN_290 (sunbedinvaders_fla.SUBMIT_MAIN_290)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class SUBMIT_MAIN_290 extends MovieClip {
public var SubmitMain:SimpleButton;
}
}//package sunbedinvaders_fla
Section 168
//SUBMIT2_MC_213 (sunbedinvaders_fla.SUBMIT2_MC_213)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class SUBMIT2_MC_213 extends MovieClip {
public var CompetitionSubmit2:SimpleButton;
}
}//package sunbedinvaders_fla
Section 169
//SubmitForm_mc_287 (sunbedinvaders_fla.SubmitForm_mc_287)
package sunbedinvaders_fla {
import flash.display.*;
import flash.accessibility.*;
public dynamic class SubmitForm_mc_287 extends MovieClip {
public var error1:MovieClip;
public var error3:MovieClip;
public var error2:MovieClip;
public var field1:MovieClip;
public var field2:MovieClip;
public var field3:MovieClip;
public var field4:TickBox;
public var errorMessage:MovieClip;
public function SubmitForm_mc_287(){
addFrameScript(0, frame1);
}
function frame1(){
field4.accessibilityProperties = new AccessibilityProperties();
field4.accessibilityProperties.silent = true;
}
}
}//package sunbedinvaders_fla
Section 170
//SUBMITSUBMIT_MC_288 (sunbedinvaders_fla.SUBMITSUBMIT_MC_288)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class SUBMITSUBMIT_MC_288 extends MovieClip {
public var SubmitSubmit:SimpleButton;
}
}//package sunbedinvaders_fla
Section 171
//TEXTBOX_TIME_285 (sunbedinvaders_fla.TEXTBOX_TIME_285)
package sunbedinvaders_fla {
import flash.display.*;
import flash.text.*;
public dynamic class TEXTBOX_TIME_285 extends MovieClip {
public var time:TextField;
}
}//package sunbedinvaders_fla
Section 172
//WaterJet_58 (sunbedinvaders_fla.WaterJet_58)
package sunbedinvaders_fla {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.net.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import flash.media.*;
import flash.external.*;
import flash.system.*;
import flash.errors.*;
import flash.ui.*;
import flash.accessibility.*;
import adobe.utils.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class WaterJet_58 extends MovieClip {
public var WaterJet:MovieClip;
public var masking:MovieClip;
public var splash:MovieClip;
public function WaterJet_58(){
addFrameScript(0, frame1);
}
function frame1(){
masking.cacheAsBitmap = true;
masking.smoothing = true;
WaterJet.cacheAsBitmap = true;
WaterJet.smoothing = true;
WaterJet.mask = masking;
}
}
}//package sunbedinvaders_fla
Section 173
//WINMAIN_157 (sunbedinvaders_fla.WINMAIN_157)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class WINMAIN_157 extends MovieClip {
public var CompetitionMain:SimpleButton;
}
}//package sunbedinvaders_fla
Section 174
//VISIT_SEASONS_BTN1_237 (sunbedinvaders_fla.VISIT_SEASONS_BTN1_237)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class VISIT_SEASONS_BTN1_237 extends MovieClip {
public var thanks1Visit:SimpleButton;
}
}//package sunbedinvaders_fla
Section 175
//VISIT_SEASONS_BTN2_232 (sunbedinvaders_fla.VISIT_SEASONS_BTN2_232)
package sunbedinvaders_fla {
import flash.display.*;
public dynamic class VISIT_SEASONS_BTN2_232 extends MovieClip {
public var thanks1Share:SimpleButton;
}
}//package sunbedinvaders_fla
Section 176
//AirStrike (AirStrike)
package {
import flash.display.*;
import flash.events.*;
import gs.*;
import com.stampy.frames.*;
public class AirStrike extends MovieClip {
private var _puddle:Puddles;
private var _ground;
public var strike:MovieClip;
public static const COMPLETE:String = "Complete";
public function AirStrike(_arg1){
_ground = _arg1;
_puddle = new Puddles();
_puddle.x = 282.9;
_puddle.y = 244.7;
_ground.addChild(_puddle);
FrameUtils.onEnterFrame(101, this.strike.strike, onComplete);
}
private function destroy():void{
if (this.parent != null){
this.parent.removeChild(this);
};
if (_puddle.parent != null){
_puddle.parent.removeChild(_puddle);
};
}
private function onComplete():void{
dispatchEvent(new Event(COMPLETE));
kill();
}
public function kill():void{
TweenLite.to(this, 1, {alpha:0, onComplete:destroy});
TweenLite.to(_puddle, 1, {alpha:0});
}
}
}//package
Section 177
//BeachBall (BeachBall)
package {
import flash.display.*;
import flash.events.*;
import gs.*;
import flash.geom.*;
import com.stampy.points.*;
import com.stampy.random.*;
public class BeachBall extends MovieClip {
private var _direction:String;
private var _active:Boolean;// = true
public var character;
private var _speed:Number;// = 80
private var _distance:uint;// = 550
private var _currentPoint:Point;
private var _offSet:uint;// = 50
private var _horizonPoint:Point;
private var _hit:Boolean;// = false
public var ball:MovieClip;
public static const COMPLETE:String = "Complete";
public function BeachBall(){
_speed = 80;
_horizonPoint = new Point(225, 80);
_currentPoint = new Point(0, 0);
_offSet = 50;
_distance = 550;
_hit = false;
_active = true;
character = {height:0};
super();
addFrameScript(0, frame1);
_direction = ((Random.range(1, 2))==1) ? "left" : "right";
this.y = Random.range(300, 180);
this.x = ((_direction)=="left") ? -(_offSet) : (_distance + _offSet);
if (_direction == "left"){
this.gotoAndStop(1);
} else {
this.gotoAndStop(2);
};
move();
}
public function get active():Boolean{
return (_active);
}
public function set active(_arg1:Boolean):void{
_active = _arg1;
}
public function set hit(_arg1:Boolean):void{
var _local2:*;
var _local3:*;
if (_arg1){
_local2 = PointDistance.betweenPoints(new Point(this.x, this.y), new Point(this.x, -100));
_local3 = (_local2 / 200);
TweenLite.to(this, _local3, {y:-100, onComplete:removethis});
this.ball.gotoAndStop(1);
};
_hit = _arg1;
}
private function removethis():void{
dispatchEvent(new Event(COMPLETE));
if (this.parent != null){
this.parent.removeChild(this);
};
}
function frame1(){
stop();
}
public function kill():void{
this.ball.stop();
TweenLite.killTweensOf(this);
if (this.parent != null){
this.parent.removeChild(this);
};
}
override public function get x():Number{
return (super.x);
}
override public function get y():Number{
var _local1:Number;
_local1 = PointDistance.betweenPoints(_horizonPoint, _currentPoint);
this.scaleX = (0.7 + (_local1 / 1000));
this.scaleY = (0.7 + (_local1 / 1000));
return (super.y);
}
public function get hit():Boolean{
return (_hit);
}
private function move():void{
var _local1:*;
var _local2:*;
_local1 = (_distance / _speed);
_local2 = ((_direction)=="left") ? (_distance + _offSet) : -(_offSet);
TweenLite.to(this, _local1, {x:_local2, onComplete:removethis});
}
override public function set y(_arg1:Number):void{
_currentPoint.y = _arg1;
super.y = _arg1;
}
override public function set x(_arg1:Number):void{
_currentPoint.x = _arg1;
super.x = _arg1;
}
}
}//package
Section 178
//BonusSelect (BonusSelect)
package {
import flash.display.*;
import flash.events.*;
import gs.*;
import com.stampy.random.*;
import console.sounds.*;
public class BonusSelect extends MovieClip {
private const TIME_LIFE:Number = 2;
private const TIME_SPEED:Number = 8;
private const TIME_FREEZE:Number = 8;
private const TIME_ETERNAL:Number = 8;
private const TIME_DOUBLE:Number = 8;
private const TIME_BOMB:Number = 3;
private var _allowedLife:Boolean;// = true
private var _enabled:Boolean;// = false
private var _end:Number;// = 0.1
private var _notAllowed:Array;
private var _dead:Boolean;// = false
public var bonus:uint;// = 0
private var _onStage:Boolean;// = false
public var masking:MovieClip;
private var _allowedBombs:Boolean;// = true
private var _beginSpeed:Number;// = 0.005
private var _rate:Number;// = 0.005
public static const COMPLETE:String = "Complete";
public static const BONUS:String = "Bonus";
public function BonusSelect(){
_beginSpeed = 0.005;
_rate = 0.005;
_end = 0.1;
bonus = 0;
_allowedBombs = true;
_allowedLife = true;
_enabled = false;
_onStage = false;
_dead = false;
super();
addFrameScript(0, frame1, 7, frame8);
addEventListener(Event.ADDED_TO_STAGE, onStage);
}
private function beginSelection():void{
var value:*;
var rate:*;
if (((_enabled) && (_onStage))){
if ((_beginSpeed + _rate) < _end){
try {
SoundUtils.playSFX("SFX5");
} catch(e:Error) {
trace("Sound Error SFX5");
};
_notAllowed = [];
if (!_allowedLife){
_notAllowed.push(6);
};
if (!_allowedBombs){
_notAllowed.push(7);
};
value = Random.rangeWithExceptions(2, 7, _notAllowed);
this.gotoAndStop(value);
rate = _beginSpeed;
TweenLite.to({}, (_beginSpeed = (_beginSpeed + _rate)), {onComplete:beginSelection});
} else {
try {
SoundUtils.playSFX("SFX10");
} catch(e:Error) {
trace("Sound Error SFX10");
};
endSelection();
};
};
}
private function removeMe():void{
if (this.parent != null){
this.parent.removeChild(this);
};
}
public function get maskingHeight():Number{
return (this.masking.scaleY);
}
private function complete():void{
TweenLite.to(this, 0.3, {y:-100, onComplete:removeThis});
}
private function onStage(_arg1:Event):void{
_onStage = true;
TweenLite.from(this, 0.3, {y:-100});
TweenLite.to(this, 0.3, {y:0});
removeEventListener(Event.ADDED_TO_STAGE, onStage);
beginSelection();
}
private function removeThis():void{
if (!_dead){
_dead = true;
TweenLite.to({}, 3, {onComplete:removeMe});
dispatchEvent(new Event(COMPLETE));
};
}
public function set begin(_arg1:Boolean):void{
_enabled = _arg1;
if (_enabled){
beginSelection();
};
}
function frame1(){
stop();
}
public function set allowedLife(_arg1:Boolean):void{
_allowedLife = _arg1;
}
function frame8(){
gotoAndStop(2);
}
public function set allowedBombs(_arg1:Boolean):void{
_allowedBombs = _arg1;
}
public function set maskingHeight(_arg1){
this.masking.scaleY = _arg1;
}
private function timeupSound():void{
switch (bonus){
case 5:
case 4:
case 3:
case 2:
if (!SoundUtils.isSFXPlaying("SFX9")){
try {
SoundUtils.playSFX("SFX9");
} catch(e:Error) {
trace("Sound Error SFX9");
};
};
break;
};
}
private function endSelection():void{
bonus = this.currentFrame;
switch (this.currentFrame){
case 2:
TweenLite.to(this, TIME_SPEED, {maskingHeight:0, onComplete:complete});
TweenLite.to({}, 7, {onComplete:timeupSound});
TweenLite.to({}, 8, {onComplete:removeThis});
break;
case 3:
if (!SoundUtils.isSFXPlaying("SFX8")){
try {
SoundUtils.playSFX("SFX8");
} catch(e:Error) {
trace("Sound Error SFX8");
};
};
TweenLite.to(this, TIME_FREEZE, {maskingHeight:0, onComplete:complete});
TweenLite.to({}, 7, {onComplete:timeupSound});
TweenLite.to({}, 8, {onComplete:removeThis});
break;
case 4:
if (!SoundUtils.isSFXPlaying("SFX6")){
try {
SoundUtils.playSFX("SFX6");
} catch(e:Error) {
trace("Sound Error SFX6");
};
};
TweenLite.to(this, TIME_DOUBLE, {maskingHeight:0, onComplete:complete});
TweenLite.to({}, 7, {onComplete:timeupSound});
TweenLite.to({}, 8, {onComplete:removeThis});
break;
case 5:
TweenLite.to(this, TIME_ETERNAL, {maskingHeight:0, onComplete:complete});
TweenLite.to({}, 7, {onComplete:timeupSound});
TweenLite.to({}, 8, {onComplete:removeThis});
break;
case 6:
if (!SoundUtils.isSFXPlaying("SFX7")){
try {
SoundUtils.playSFX("SFX7");
} catch(e:Error) {
trace("Sound Error SFX7");
};
};
TweenLite.to(this, TIME_LIFE, {onComplete:complete});
break;
case 7:
if (!SoundUtils.isSFXPlaying("SFX1")){
try {
SoundUtils.playSFX("SFX11");
} catch(e:Error) {
trace("Sound Error SFX6");
};
};
TweenLite.to(this, TIME_BOMB, {onComplete:complete});
break;
};
dispatchEvent(new Event(BONUS));
}
}
}//package
Section 179
//Bush1 (Bush1)
package {
import flash.display.*;
public dynamic class Bush1 extends MovieClip {
}
}//package
Section 180
//Bush2 (Bush2)
package {
import flash.display.*;
public dynamic class Bush2 extends MovieClip {
}
}//package
Section 181
//Bush3 (Bush3)
package {
import flash.display.*;
public dynamic class Bush3 extends MovieClip {
}
}//package
Section 182
//CellRenderer_disabledSkin (CellRenderer_disabledSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_disabledSkin extends MovieClip {
}
}//package
Section 183
//CellRenderer_downSkin (CellRenderer_downSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_downSkin extends MovieClip {
}
}//package
Section 184
//CellRenderer_overSkin (CellRenderer_overSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_overSkin extends MovieClip {
}
}//package
Section 185
//CellRenderer_selectedDisabledSkin (CellRenderer_selectedDisabledSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_selectedDisabledSkin extends MovieClip {
}
}//package
Section 186
//CellRenderer_selectedDownSkin (CellRenderer_selectedDownSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_selectedDownSkin extends MovieClip {
}
}//package
Section 187
//CellRenderer_selectedOverSkin (CellRenderer_selectedOverSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_selectedOverSkin extends MovieClip {
}
}//package
Section 188
//CellRenderer_selectedUpSkin (CellRenderer_selectedUpSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_selectedUpSkin extends MovieClip {
}
}//package
Section 189
//CellRenderer_upSkin (CellRenderer_upSkin)
package {
import flash.display.*;
public dynamic class CellRenderer_upSkin extends MovieClip {
}
}//package
Section 190
//CharacterMenu (CharacterMenu)
package {
import flash.display.*;
public dynamic class CharacterMenu extends MovieClip {
public var male:MovieClip;
public var female:MovieClip;
public var CharacterFemale:SimpleButton;
public var CharacterMale:SimpleButton;
public function CharacterMenu(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 191
//ComboBox_disabledSkin (ComboBox_disabledSkin)
package {
import flash.display.*;
public dynamic class ComboBox_disabledSkin extends MovieClip {
}
}//package
Section 192
//ComboBox_downSkin (ComboBox_downSkin)
package {
import flash.display.*;
public dynamic class ComboBox_downSkin extends MovieClip {
}
}//package
Section 193
//ComboBox_overSkin (ComboBox_overSkin)
package {
import flash.display.*;
public dynamic class ComboBox_overSkin extends MovieClip {
}
}//package
Section 194
//ComboBox_upSkin (ComboBox_upSkin)
package {
import flash.display.*;
public dynamic class ComboBox_upSkin extends MovieClip {
}
}//package
Section 195
//CompetitionMenu (CompetitionMenu)
package {
import flash.display.*;
import flash.accessibility.*;
public dynamic class CompetitionMenu extends MovieClip {
public var MovieClip665:MovieClip;
public var MovieClip664:MovieClip;
public var CompetitionTerms:SimpleButton;
public var form:MovieClip;
public var CompetitionPrivacy:SimpleButton;
public var MovieClip666:MovieClip;
public function CompetitionMenu(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
MovieClip665.tabIndex = 5;
MovieClip666.accessibilityProperties = new AccessibilityProperties();
MovieClip666.accessibilityProperties.silent = true;
stop();
}
function frame2(){
form.tabIndex = 1;
CompetitionPrivacy.tabIndex = 2;
CompetitionTerms.tabIndex = 3;
MovieClip664.tabIndex = 4;
}
}
}//package
Section 196
//CountryMenu (CountryMenu)
package {
import flash.display.*;
public dynamic class CountryMenu extends MovieClip {
public var flag:MovieClip;
}
}//package
Section 197
//Debug (Debug)
package {
public class Debug {
private static var _active:Boolean = true;
public static function set active(_arg1:Boolean):void{
_active = _arg1;
}
public static function note(... _args){
if (_active){
trace(_args);
};
}
}
}//package
Section 198
//DeckChairs (DeckChairs)
package {
import flash.display.*;
public dynamic class DeckChairs extends MovieClip {
public var flag0:MovieClip;
public var flag1:MovieClip;
public var flag4:MovieClip;
public var flag5:MovieClip;
public var flag3:MovieClip;
public var flag2:MovieClip;
}
}//package
Section 199
//Enemy (Enemy)
package {
import flash.display.*;
import flash.events.*;
import gs.*;
import flash.geom.*;
import com.stampy.points.*;
import com.stampy.frames.*;
import com.stampy.random.*;
import console.sounds.*;
import gs.easing.*;
public class Enemy extends MovieClip {
private var _stunTime:Number;// = 5
private var _active:Boolean;// = false
private var _intDelayMax:Number;// = 2
private var _tweenOn:Boolean;// = false
private var _reverseSpeed:Number;// = 0
private var _healthBar:HealthBar;
private var _splashing:Boolean;// = false
private var _stunOverRide:Boolean;// = false
private var _endPoint:Point;
private var _hit:Boolean;// = false
private var _intSpeed:uint;// = 0
private var _speedLevel:Number;// = 0
private var _wasteHeight:Number;// = 0
public var character:MovieClip;
private var _intDelayMin:Number;// = 0
private var _intLane:uint;
private var _dead:Boolean;// = false
private var _stunned:Boolean;// = false
private var _moving:Boolean;// = true
private var _currentPoint:Point;
private var _health:Number;// = 100
private var _hitEffect:Number;// = 0
private var _forward:Boolean;// = true
private var _doubleStun:Boolean;// = false
private var _intCharacter:uint;// = 0
public var _tweenObj:Object;
private var _startPoint:Point;
private var _laneObject:Object;
public static const AT_DECKCHAIR:String = "DeckChair";
public static const BACK_IN_POOL:String = "BackInPool";
public function Enemy(_arg1:Object, _arg2:Number){
_intSpeed = 0;
_wasteHeight = 0;
_active = false;
_hit = false;
_health = 100;
_hitEffect = 0;
_dead = false;
_intCharacter = 0;
_tweenOn = false;
_stunned = false;
_stunTime = 5;
_reverseSpeed = 0;
_stunOverRide = false;
_intDelayMin = 0;
_intDelayMax = 2;
_forward = true;
_moving = true;
_doubleStun = false;
_speedLevel = 0;
_splashing = false;
_tweenObj = {};
super();
addFrameScript(0, frame1);
chooseCharacter();
_speedLevel = _arg2;
_intLane = _arg1.id;
_laneObject = _arg1;
_startPoint = _arg1.start;
_endPoint = _arg1.end;
_currentPoint = new Point(0, 0);
this.x = _startPoint.x;
this.y = (_startPoint.y - 70);
this.scaleX = _laneObject.startScale;
this.scaleY = _laneObject.startScale;
this.addEventListener(Event.ADDED_TO_STAGE, onStage);
}
private function moveToSunbed():void{
if (_moving){
if (((!(_stunned)) && (!(_stunOverRide)))){
_moving = false;
this.addEventListener(Event.ENTER_FRAME, move);
forwardAnimation();
} else {
if (this.character != null){
this.character.stop();
};
};
};
}
private function playEmergeSound():void{
var _local1:uint;
_local1 = Random.range(25, 27);
if (!SoundUtils.isSFXPlaying(("SFX" + _local1))){
if (this.parent != null){
SoundUtils.playSFX(("SFX" + _local1));
};
};
}
private function forwardAnimation():void{
if (((!(_forward)) && (!(_doubleStun)))){
_forward = true;
try {
this.character.body.play();
} catch(e:Error) {
};
};
}
override public function get scaleX():Number{
return (super.scaleX);
}
override public function get scaleY():Number{
return (super.scaleY);
}
private function checkPosition():void{
if (this.y < (_startPoint.y - 10)){
this.character.pool.gotoAndPlay(9);
} else {
if (this.parent != null){
TweenLite.to({}, 0.05, {onComplete:pause});
};
};
}
private function onStage(_arg1:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onStage);
}
private function beginSplash():void{
var _local1:Number;
var _local2:Number;
_local1 = PointDistance.betweenPoints(_startPoint, _currentPoint);
_local2 = (_local1 / 200);
FrameUtils.onEnterFrame(8, this.character.pool, pause);
FrameUtils.onEnterFrame(23, this.character.pool, kill);
FrameUtils.onEnterFrame(14, this.character.pool, playSplashSound);
TweenLite.to(this, _local2, {y:(_startPoint.y - 70), x:_startPoint.x});
}
override public function get x():Number{
return (super.x);
}
override public function get y():Number{
return (super.y);
}
function frame1(){
stop();
}
public function bonusDoubleOFF():void{
switch (_intCharacter){
case 1:
_hitEffect = 2.4;
break;
case 2:
_hitEffect = 2.8;
break;
case 3:
_hitEffect = 1.8;
break;
case 4:
_hitEffect = 3;
break;
case 5:
_hitEffect = 2.1;
break;
case 6:
_hitEffect = 4.2;
break;
case 7:
_hitEffect = 3.4;
break;
case 8:
_hitEffect = 3.8;
break;
};
}
private function controlX(_arg1:Number, _arg2:Boolean=false){
if (((((((((!(_dead)) && (_active))) && (!(_stunned)))) && (!(_doubleStun)))) || (_arg2))){
this.x = _arg1;
};
}
override public function set scaleX(_arg1:Number):void{
if (((((!(_stunned)) || (_stunOverRide))) && (!(_doubleStun)))){
super.scaleX = _arg1;
};
}
override public function set scaleY(_arg1:Number):void{
if (((((!(_stunned)) || (_stunOverRide))) && (!(_doubleStun)))){
super.scaleY = _arg1;
};
}
private function frameScript():void{
bobBelowWater();
}
private function controlY(_arg1:Number, _arg2:Boolean=false){
if (((((((((!(_dead)) && (_active))) && (!(_stunned)))) && (!(_doubleStun)))) || (_arg2))){
this.y = _arg1;
};
if (_doubleStun){
if (this.character != null){
if (this.character.body != null){
this.character.body.stop();
};
};
};
}
public function bonusDoubleON():void{
switch (_intCharacter){
case 1:
_hitEffect = 4.8;
break;
case 2:
_hitEffect = 5.6;
break;
case 3:
_hitEffect = 3.5;
break;
case 4:
_hitEffect = 6;
break;
case 5:
_hitEffect = 4.2;
break;
case 6:
_hitEffect = 8.4;
break;
case 7:
_hitEffect = 6.8;
break;
case 8:
_hitEffect = 7.6;
break;
};
}
private function reverseAnimation():void{
_forward = false;
backFrame();
}
private function backFrame(_arg1:Event=null):void{
var _local2:*;
var _local3:uint;
_local2 = this.character.body.currentFrame;
_local3 = 0;
switch (_intCharacter){
case 1:
case 2:
case 3:
case 4:
case 5:
case 7:
_local3 = 17;
break;
case 6:
case 8:
_local3 = 13;
break;
};
if (_local2 > 2){
this.character.body.gotoAndStop((_local2 - 1));
} else {
this.character.body.gotoAndStop(_local3);
};
}
private function chooseCharacter():void{
_intCharacter = Random.range(1, 8);
FrameUtils.onEnterFrame(_intCharacter, this, frameScript);
this.gotoAndStop(_intCharacter);
switch (_intCharacter){
case 1:
_hitEffect = 2;
_intSpeed = 200;
_reverseSpeed = 250;
break;
case 2:
_hitEffect = 2.4;
_intSpeed = 140;
_reverseSpeed = 190;
break;
case 3:
_hitEffect = 1.4;
_intSpeed = 400;
_reverseSpeed = 450;
break;
case 4:
_hitEffect = 2.6;
_intSpeed = 170;
_reverseSpeed = 220;
break;
case 5:
_hitEffect = 1.7;
_intSpeed = 300;
_reverseSpeed = 350;
break;
case 6:
_hitEffect = 3.8;
_intSpeed = 100;
_reverseSpeed = 150;
break;
case 7:
_hitEffect = 3;
_intSpeed = 200;
_reverseSpeed = 250;
break;
case 8:
_hitEffect = 3.4;
_intSpeed = 80;
_reverseSpeed = 130;
break;
};
}
private function step1():void{
if (!_doubleStun){
TweenLite.to(this, 1, {y:(this.y + 18)});
TweenLite.to(this.character, 0.2, {y:40, onComplete:step2});
} else {
if (this.character != null){
if (this.character.body != null){
this.character.body.stop();
};
};
TweenLite.to({}, 0.5, {onComplete:step1});
};
}
private function step2():void{
if (!_doubleStun){
TweenLite.to(this, 1, {y:(this.y + 18)});
TweenLite.to(this.character, 0.2, {y:30, onComplete:step3});
} else {
if (this.character != null){
if (this.character.body != null){
this.character.body.stop();
};
};
TweenLite.to({}, 0.5, {onComplete:step2});
};
}
private function step3():void{
if (!_doubleStun){
TweenLite.to(this, 1, {y:(this.y + 18)});
TweenLite.to(this.character, 0.2, {y:20, onComplete:step4});
} else {
if (this.character != null){
if (this.character.body != null){
this.character.body.stop();
};
};
TweenLite.to({}, 0.5, {onComplete:step3});
};
}
private function step4():void{
if (!_doubleStun){
TweenLite.to(this, 1, {y:(this.y + 18)});
TweenLite.to(this.character, 0.2, {y:10, onComplete:step5});
} else {
if (this.character != null){
if (this.character.body != null){
this.character.body.stop();
};
};
TweenLite.to({}, 0.5, {onComplete:step4});
};
}
private function reverse():void{
var _local1:Number;
var _local2:Number;
_local1 = (this.x - ((_currentPoint.x - _startPoint.x) / _reverseSpeed));
_local2 = (this.y - ((_currentPoint.y - _startPoint.y) / _reverseSpeed));
if (_local2 >= _startPoint.y){
controlX(_local1, true);
controlY(_local2, true);
};
}
override public function set x(_arg1:Number):void{
_currentPoint.x = _arg1;
super.x = _arg1;
}
override public function set y(_arg1:Number):void{
var _local2:Number;
_currentPoint.y = _arg1;
super.y = _arg1;
_local2 = PointDistance.betweenPoints(_startPoint, _currentPoint);
this.scaleX = (0.7 + (_local2 / 1000));
this.scaleY = (0.7 + (_local2 / 1000));
}
private function step5():void{
if (!_doubleStun){
switch (_intCharacter){
case 1:
TweenLite.to(this, 0.9, {y:_startPoint.y});
break;
case 2:
TweenLite.to(this, 0.7, {y:_startPoint.y});
break;
case 3:
TweenLite.to(this, 1.1, {y:_startPoint.y});
break;
case 4:
TweenLite.to(this, 0.8, {y:_startPoint.y});
break;
case 5:
TweenLite.to(this, 0.8, {y:_startPoint.y});
break;
case 6:
TweenLite.to(this, 0.6, {y:_startPoint.y});
break;
case 7:
TweenLite.to(this, 0.9, {y:_startPoint.y});
break;
case 8:
TweenLite.to(this, 0.5, {y:_startPoint.y});
break;
};
init();
TweenLite.to(this.character, 0.2, {y:0});
} else {
if (this.character != null){
if (this.character.body != null){
this.character.body.stop();
};
};
TweenLite.to({}, 0.5, {onComplete:step5});
};
}
private function backToPool():void{
FrameUtils.onEnterFrame(2, this.character, beginSplash);
this.character.gotoAndStop(2);
dispatchEvent(new Event(BACK_IN_POOL));
_healthBar.kill();
_active = false;
_dead = true;
TweenLite.killTweensOf(this);
}
public function get active():Boolean{
return (_active);
}
private function init():void{
displayHealth();
_active = true;
moveToSunbed();
}
private function playSplashSound():void{
if (!_splashing){
_splashing = true;
if (this.parent != null){
try {
SoundUtils.playSFX("SFX18");
} catch(e:Error) {
trace("Sound Error SFX18");
};
};
};
}
public function set hit(_arg1:Boolean):void{
var _local2:Number;
if (_active){
_hit = _arg1;
if (_arg1){
_health = (_health - _hitEffect);
};
_healthBar.level = _health;
if (((_arg1) && ((_health > 0)))){
_local2 = (Random.range(20, 70) / 10);
_stunned = true;
TweenLite.to({}, _local2, {onComplete:hitComplete});
if (this.character != null){
reverseAnimation();
_stunOverRide = true;
reverse();
};
} else {
if (((!(_arg1)) && ((_health > 0)))){
SoundUtils.stopSFX("SFX29");
moveToSunbed();
};
};
if (_health < 1){
backToPool();
};
};
}
private function bobBelowWater():void{
if (this.character != null){
_wasteHeight = this.character.y;
this.character.y = 156;
TweenLite.to(this.character, 3, {delay:0.5, y:_wasteHeight, onComplete:emergeFromWater, ease:Elastic.easeInOut});
};
}
public function get person():uint{
return (this.currentFrame);
}
public function kill():void{
TweenLite.killTweensOf(this);
if (this.parent != null){
this.parent.removeChild(this);
};
_active = false;
}
private function displayHealth():void{
_healthBar = new HealthBar();
_healthBar.x = 0;
if (_intCharacter == 1){
_healthBar.y = -145;
} else {
if (_intCharacter == 2){
_healthBar.y = -145;
} else {
if (_intCharacter == 3){
_healthBar.y = -140;
} else {
if (_intCharacter == 4){
_healthBar.y = -143;
} else {
if (_intCharacter == 5){
_healthBar.y = -125;
} else {
if (_intCharacter == 6){
_healthBar.y = -98;
} else {
if (_intCharacter == 7){
_healthBar.y = -125;
} else {
if (_intCharacter == 8){
_healthBar.y = -102;
};
};
};
};
};
};
};
};
_healthBar.scaleX = _laneObject.startScale;
_healthBar.scaleY = _laneObject.startScale;
this.character.addChild(_healthBar);
}
private function move(_arg1:Event):void{
var _local2:*;
if (this.y < _endPoint.y){
_local2 = (_intSpeed * _speedLevel);
controlX((this.x + ((_endPoint.x - _startPoint.x) / _local2)));
controlY((this.y + ((_endPoint.y - _startPoint.y) / _local2)));
} else {
atDestination();
};
}
private function atDestination():void{
if (_active){
dispatchEvent(new Event(AT_DECKCHAIR));
this.removeEventListener(Event.ENTER_FRAME, move);
if (this.character != null){
this.character.body.stop();
};
TweenLite.killTweensOf(this);
_active = false;
kill();
};
}
private function emergeFromWater():void{
var _local1:Number;
if (!_doubleStun){
_local1 = Random.range(_intDelayMin, _intDelayMax);
TweenLite.to(this, 1, {delay:_local1, y:(this.y + 5)});
TweenLite.to({}, _local1, {onComplete:playEmergeSound});
TweenLite.to({}, 0, {delay:_local1, onComplete:this.character.body.gotoAndPlay, onCompleteParams:[2]});
TweenLite.to(this.character, 0.2, {delay:_local1, y:55, onComplete:step1});
} else {
if (this.character != null){
if (this.character.body != null){
this.character.body.stop();
};
};
TweenLite.to({}, 0.5, {onComplete:emergeFromWater});
};
}
private function hitComplete():void{
_stunned = false;
forwardAnimation();
}
public function get lane():uint{
return (_intLane);
}
public function bonusFreezeON():void{
if (!_doubleStun){
_doubleStun = true;
if (this.character != null){
if (this.character.body != null){
this.character.body.stop();
};
};
};
}
public function bonusFreezeOFF():void{
if (_doubleStun){
_doubleStun = false;
if (this.character != null){
if (this.character.body != null){
this.character.body.play();
};
};
};
}
private function pause():void{
this.character.pool.stop();
checkPosition();
}
}
}//package
Section 200
//EnemyHeard (EnemyHeard)
package {
import flash.display.*;
import flash.events.*;
import gs.*;
import flash.geom.*;
import flash.utils.*;
import com.stampy.random.*;
import com.stampy.arrays.*;
public class EnemyHeard extends Sprite {
private var _lanes:Array;
private var _speedLevel:Number;// = 2
private var _active:Boolean;// = true
private var _currentBalls:uint;// = 0
private var _speed:uint;// = 2
private var _setDeckChair:Function;
private var _currentWave:uint;// = 0
private var _bonusAllowed:Boolean;// = true
private var _freeLanes:Array;
private var _balls:uint;// = 1
private var _speedLevelMax:Number;// = 0.01
private var _intLanes:uint;// = 6
private var _freeze:Boolean;// = false
private var _getDeckChair:Function;
private var _startTime:Number;
private var _countryCode:uint;
private var _enemies:uint;// = 0
public function EnemyHeard(_arg1:Function, _arg2:uint, _arg3:Function){
_lanes = [{id:0, active:false, start:new Point(147, 119), end:new Point(100, 385), endScale:1, startScale:0.7}, {id:1, active:false, start:new Point(198, 119), end:new Point(178, 385), endScale:1, startScale:0.7}, {id:2, active:false, start:new Point(249, 119), end:new Point(0xFF, 385), endScale:1, startScale:0.7}, {id:3, active:false, start:new Point(299, 119), end:new Point(329, 385), endScale:1, startScale:0.7}, {id:4, active:false, start:new Point(351, 119), end:new Point(404, 385), endScale:1, startScale:0.7}, {id:5, active:false, start:new Point(402, 119), end:new Point(472, 385), endScale:1, startScale:0.7}];
_freeLanes = [];
_currentWave = 0;
_speed = 2;
_active = true;
_enemies = 0;
_intLanes = 6;
_balls = 1;
_bonusAllowed = true;
_speedLevel = 2;
_speedLevelMax = 0.01;
_currentBalls = 0;
_freeze = false;
super();
_setDeckChair = _arg1;
_getDeckChair = _arg3;
_countryCode = _arg2;
_speedLevel = 2;
TweenLite.to(this, 1000, {speedLevel:_speedLevelMax});
}
public function init():void{
_startTime = getTimer();
this.addEventListener(Event.ENTER_FRAME, update);
bonusball();
}
private function bonusBallComplete(_arg1:Event):void{
_currentBalls = 0;
}
public function set freeze(_arg1:Boolean):void{
_freeze = _arg1;
}
public function bonusON():void{
_bonusAllowed = true;
bonusball();
}
private function getFreeLanes():void{
var _local1:uint;
var _local2:int;
_local1 = _lanes.length;
_freeLanes = new Array();
_local2 = 0;
while (_local2 < _local1) {
if (_lanes[_local2].active == false){
_freeLanes.push(_lanes[_local2]);
};
_local2++;
};
}
public function getRules():Object{
var _local1:Number;
_local1 = (getTimer() - _startTime);
if (_local1 > 80000){
return ({max:6});
};
if (_local1 > 60000){
return ({max:5});
};
if (_local1 > 40000){
return ({max:4});
};
if (_local1 > 20000){
return ({max:3});
};
return ({max:2});
}
public function kill():void{
_active = false;
if (this.parent != null){
this.parent.removeChild(this);
};
}
public function get speedLevel():Number{
return (_speedLevel);
}
private function atDeckChair(_arg1:Event):void{
var _local2:uint;
var _local3:*;
if (_active){
_local2 = _arg1.target.lane;
_arg1.target.removeEventListener(Enemy.AT_DECKCHAIR, atDeckChair);
_local3 = 1;
do {
_local3 = Random.range(1, 20);
} while (_local3 == _getDeckChair(_local2));
_setDeckChair(_local2, _local3);
_lanes[_local2].active = false;
_enemies--;
};
}
private function bonusball():void{
var _local1:BeachBall;
if (((_active) && (_bonusAllowed))){
if ((((_balls > 1)) && ((_currentBalls < 1)))){
_local1 = new BeachBall();
_local1.addEventListener(BeachBall.COMPLETE, bonusBallComplete, false, 0, true);
addChild(_local1);
_currentBalls++;
};
TweenLite.to(this, (6 + Random.range(0, 12)), {onComplete:bonusball});
_balls++;
};
}
private function update(_arg1:Event):void{
var _local2:Object;
var _local3:uint;
var _local4:int;
var _local5:Object;
var _local6:Enemy;
_local2 = getRules();
if (_enemies < _local2.max){
_local3 = (_local2.max - _enemies);
if ((_local3 + _enemies) > _intLanes){
_local3 = (_intLanes - _enemies);
};
_local4 = 0;
while (_local4 < _local3) {
getFreeLanes();
_local5 = _freeLanes[Random.range(0, (_freeLanes.length - 1))];
_lanes[_local5.id].active = true;
_local6 = new Enemy(_local5, _speedLevel);
_local6.addEventListener(Enemy.AT_DECKCHAIR, atDeckChair);
_local6.addEventListener(Enemy.BACK_IN_POOL, backAtPool);
addChild(_local6);
_enemies++;
_local4++;
};
};
}
public function gameOver():void{
var _local1:Array;
var _local2:uint;
var _local3:int;
_active = false;
this.removeEventListener(Event.ENTER_FRAME, init);
_local1 = DisplayListUtils.getDisplayList(this);
_local2 = _local1.length;
_local3 = 0;
while (_local3 < _local2) {
if ((((_local1[_local3] is Enemy)) || ((_local1[_local3] is BeachBall)))){
_local1[_local3].kill();
};
_local3++;
};
kill();
}
public function bonusOFF():void{
_bonusAllowed = false;
_balls = 1;
}
private function backAtPool(_arg1:Event):void{
_arg1.target.removeEventListener(Enemy.BACK_IN_POOL, backAtPool);
_lanes[_arg1.target.lane].active = false;
_enemies--;
}
public function set speedLevel(_arg1:Number){
_speedLevel = _arg1;
}
}
}//package
Section 201
//Engine (Engine)
package {
import flash.display.*;
import flash.events.*;
import gs.*;
import flash.geom.*;
import com.stampy.points.*;
import flash.utils.*;
import console.sounds.*;
import gs.easing.*;
import console.time.*;
import com.stampy.equality.*;
import com.stampy.arrays.*;
import com.stampy.keys.*;
public class Engine extends Sprite {
private const ACTION:String = "/data.php";
private const DOMAIN:String = "http://sunbedinvaders.viral-game.co.uk";
private const ACTION_CLIENT:String = "/data.php?action=track_link_client";
private var _player:Player;
private var _countryAttacking:uint;// = 1
private var _lives:uint;// = 3
private var _layers:Object;
private var _lifeMeter:Life;
private var _timeBox:TimeBox;
private var _arrPlayerLanes:Array;
private var _bonusEternal:Boolean;// = false
private var _playDuration:Timer;
private var _background:GameBackground;
private var _keys:KeyUtils;
private var _countryDefending:uint;// = 1
private var _allowedLife:Boolean;// = true
private var _bonus:BonusSelect;
private var _waterTank:WaterTank;
private var _enemyHeard:EnemyHeard;
private var _allowedBombs:Boolean;// = true
private var _bonusCode:uint;// = 0
private var _bombCounter:uint;// = 0
private var _howToPlay:HowMenu;
private var _bomb:AirStrike;
private var _playTime:Number;
private var _pop:Popup;
private var _bonusDisplayed:Boolean;// = false
private var _sex:uint;// = 1
private var _freeze:Boolean;// = false
private var _finalTime:Number;
private var _deckChairs:DeckChairs;
public static const GAMEOVER_MAIN:String = "GameOverMain";
public static const GAMEOVER:String = "GameOver";
public function Engine(_arg1:uint, _arg2:uint){
_arrPlayerLanes = [{left:0, right:90}, {left:94, right:170}, {left:171, right:270}, {left:287, right:364}, {left:367, right:442}, {left:446, right:550}];
_countryDefending = 1;
_countryAttacking = 1;
_lives = 3;
_sex = 1;
_bonusDisplayed = false;
_bonusCode = 0;
_bonusEternal = false;
_bombCounter = 0;
_allowedLife = true;
_allowedBombs = true;
_freeze = false;
super();
_sex = _arg1;
_countryDefending = _arg2;
_countryAttacking = _arg2;
this.addEventListener(Event.ADDED_TO_STAGE, onStage);
}
private function handleOut(_arg1:MouseEvent):void{
switch (_arg1.target.name){
case "HowPlay":
case "HowMain":
TweenLite.to(_arg1.target.parent, 1, {scaleX:1, scaleY:1, ease:Elastic.easeOut});
break;
};
}
private function buildBackground():void{
_background = new GameBackground();
this.addChild(_background);
}
private function updateWaterLevel(_arg1:Event):void{
if (!_bonusEternal){
_waterTank.waterLevel = _arg1.target.waterLevel;
};
}
private function onStage(_arg1:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onStage);
init();
}
private function handleClick(_arg1:MouseEvent):void{
var evt = _arg1;
switch (evt.target.name){
case "HowPlay":
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
run();
if (_howToPlay.hasEventListener(MouseEvent.CLICK)){
_howToPlay.removeEventListener(MouseEvent.CLICK, handleClick);
};
if (_howToPlay.hasEventListener(MouseEvent.MOUSE_OVER)){
_howToPlay.removeEventListener(MouseEvent.MOUSE_OVER, handleOver);
};
if (_howToPlay.hasEventListener(MouseEvent.MOUSE_OUT)){
_howToPlay.removeEventListener(MouseEvent.MOUSE_OUT, handleOut);
};
TweenLite.to(_howToPlay, 0.5, {autoAlpha:0, onComplete:this.removeChild, onCompleteParams:[_howToPlay]});
break;
case "HowMain":
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
if (_howToPlay.hasEventListener(MouseEvent.CLICK)){
_howToPlay.removeEventListener(MouseEvent.CLICK, handleClick);
};
if (_howToPlay.hasEventListener(MouseEvent.MOUSE_OVER)){
_howToPlay.removeEventListener(MouseEvent.MOUSE_OVER, handleOver);
};
if (_howToPlay.hasEventListener(MouseEvent.MOUSE_OUT)){
_howToPlay.removeEventListener(MouseEvent.MOUSE_OUT, handleOut);
};
gameOverMain();
break;
case "input":
if (equalUtils.equalToAny(evt.target.text, "YOUR NAME", "YOUR EMAIL")){
evt.target.text = "";
};
break;
};
}
private function newBonus(_arg1:Event):void{
var _local2:Array;
var _local3:uint;
var _local4:*;
var _local5:int;
var _local6:int;
_bonus.removeEventListener(BonusSelect.BONUS, newBonus);
_bonusCode = _bonus.bonus;
_local4 = new Popup();
_local4.x = 275;
_local4.y = 0xFF;
_local4.gotoAndStop(_bonusCode);
_layers.popups.addChild(_local4);
TweenLite.from(_local4, 0.5, {scaleX:0.1, scaleY:0.1});
TweenLite.to(_local4, 0.5, {scaleX:1, scaleY:1, ease:Elastic.easeOut, onComplete:removePopup, onCompleteParams:[_local4]});
switch (_bonusCode){
case 2:
_player.bonusSpeedON();
break;
case 3:
_local2 = DisplayListUtils.getDisplayList(_enemyHeard);
_local3 = _local2.length;
_freeze = true;
_local5 = 0;
while (_local5 < _local3) {
if ((_local2[_local5] is Enemy)){
_local2[_local5].bonusFreezeON();
};
_local5++;
};
break;
case 4:
_local2 = DisplayListUtils.getDisplayList(_enemyHeard);
_local3 = _local2.length;
_local6 = 0;
while (_local6 < _local3) {
if ((_local2[_local6] is Enemy)){
_local2[_local6].bonusDoubleON();
};
_local6++;
};
_player.bonusDoubleON();
break;
case 5:
_bonusEternal = true;
_player.bonusEternalON();
break;
case 6:
if (_lives < 3){
_lives++;
};
updateLife();
break;
case 7:
_bomb = new AirStrike(_layers.ground);
_layers.bomb.addChild(_bomb);
bombDamage();
break;
};
}
private function updateWaterFill(_arg1:Event):void{
TweenLite.to(_waterTank, 2, {waterLevel:100});
}
private function showPlayDuration(_arg1:TimerEvent):void{
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local2 = (getTimer() - _playTime);
Clock.time = _local2;
_local3 = Clock.intMinutes;
_local4 = Clock.intSeconds;
_local5 = Clock.intHundSeconds;
_timeBox.m.text = ((_local3)<10) ? ("0" + _local3.toString()) : _local3.toString();
_timeBox.s.text = ((_local4)<10) ? ("0" + _local4.toString()) : _local4.toString();
_timeBox.ms.text = ((_local5)<10) ? ("0" + _local5.toString()) : _local5.toString();
}
private function removePopup(_arg1):void{
if (_arg1.parent != null){
TweenLite.to(_arg1, 0.5, {delay:1, scaleX:0.1, scaleY:0.1, onComplete:removePopupComplete, onCompleteParams:[_arg1]});
};
}
private function buildScenary():void{
var _local1:ScenaryContainer;
var _local2:Array;
var _local3:uint;
var _local4:int;
var _local5:int;
var _local6:*;
var _local7:*;
_local1 = new ScenaryContainer();
_local2 = DisplayListUtils.getDisplayList(_local1);
_local3 = _local2.length;
_local4 = 0;
while (_local4 < _local3) {
_local6 = _local2[_local4];
_enemyHeard.addChild(_local6);
_local4++;
};
_deckChairs = new DeckChairs();
_deckChairs.x = 34;
_deckChairs.y = 358;
_layers.deckChairs.addChild(_deckChairs);
_local5 = 0;
while (_local5 < 6) {
_local7 = (_countryDefending - 1);
_deckChairs[("flag" + _local5)].gotoAndStop((_countryDefending + (4 * _local7)));
_local5++;
};
}
private function run():void{
buildTimer();
buildLifeMeter();
buildWaterTank();
SoundUtils.fadeMusicStop("SFX22", 0, 1);
SoundUtils.fadeMusicPlay("SFX23", 1, 1, true);
SoundUtils.playSFX("SFX24", true);
SoundUtils.fadeSFX("SFX24", 1, 3);
SoundUtils.setVolumeSFX("SFX25", 0.6);
SoundUtils.setVolumeSFX("SFX26", 0.6);
SoundUtils.setVolumeSFX("SFX27", 0.6);
SoundUtils.setVolumeSFX("SFX2", 1);
SoundUtils.setVolumeSFX("SFX3", 1);
SoundUtils.setVolumeSFX("SFX4", 1);
collisionDetection();
trackPlayDuration();
_enemyHeard.init();
_player.init();
}
private function collisionUpdate(_arg1:Event):void{
collisionCheck();
checkDepth();
}
private function buildEnemyHeard():void{
_enemyHeard = new EnemyHeard(setDeckChair, _countryAttacking, getDeckChair);
_layers.enemy.addChild(_enemyHeard);
}
private function bombDamage():void{
var _local1:uint;
var _local2:int;
var _local3:*;
_local1 = _enemyHeard.numChildren;
_local2 = 0;
while (_local2 < _local1) {
_local3 = _enemyHeard.getChildAt(_local2);
if ((_local3 is Enemy)){
_local3.hit = true;
};
_local2++;
};
_bombCounter++;
if (_bombCounter < 25){
TweenLite.to({}, 0.01, {onComplete:bombDamage});
} else {
_bombCounter = 0;
};
}
private function checkDepth():void{
var _local1:Array;
var _local2:Array;
var _local3:uint;
var _local4:int;
var _local5:*;
_local1 = DisplayListUtils.getDisplayList(_enemyHeard);
_local2 = _local1.sortOn("y", Array.DESCENDING);
_local3 = _local2.length;
_local4 = (_local3 - 1);
while (_local4 >= 0) {
_local5 = _local2[_local4];
_enemyHeard.setChildIndex(_local5, (_enemyHeard.numChildren - 1));
_local4--;
};
}
private function gameOverMain():void{
dispatchEvent(new Event(GAMEOVER_MAIN));
}
public function get time():String{
return (Clock.formatTimeMSH(_finalTime));
}
private function noBonus(_arg1:Event):void{
var _local2:Array;
var _local3:uint;
var _local4:int;
var _local5:int;
switch (_bonusCode){
case 2:
_player.bonusSpeedOFF();
break;
case 3:
_local2 = DisplayListUtils.getDisplayList(_enemyHeard);
_local3 = _local2.length;
_freeze = false;
_enemyHeard.freeze = true;
_local4 = 0;
while (_local4 < _local3) {
if ((_local2[_local4] is Enemy)){
_local2[_local4].bonusFreezeOFF();
};
_local4++;
};
break;
case 4:
_local2 = DisplayListUtils.getDisplayList(_enemyHeard);
_local3 = _local2.length;
_enemyHeard.freeze = false;
_local5 = 0;
while (_local5 < _local3) {
if ((_local2[_local5] is Enemy)){
_local2[_local5].bonusDoubleOFF();
};
_local5++;
};
_player.bonusDoubleOFF();
break;
case 5:
_player.bonusEternalOFF();
_bonusEternal = false;
break;
case 7:
break;
};
_bonusCode = 0;
if (((!((_bonus == null))) && (!((_bonus.parent == null))))){
_bonus.removeEventListener(BonusSelect.COMPLETE, noBonus);
};
_bonusDisplayed = false;
_enemyHeard.bonusON();
}
private function getDeckChair(_arg1:uint):uint{
if (_deckChairs != null){
return (_deckChairs[("flag" + _arg1)].currentFrame);
};
return (0);
}
private function buildPlayer():void{
_player = new Player();
_player.sex = _sex;
_player.y = (_player.y - 20);
_player.addEventListener(Player.WATER_LEVEL, updateWaterLevel, false, 0, true);
_player.addEventListener(Player.WATER_FILL, updateWaterFill, false, 0, true);
_layers.player.addChild(_player);
}
private function collisionCheck():void{
var waterPoint:Point;
var arrEnemies:Array;
var intEnemies:uint;
var i:int;
var enemy:*;
var currentLane:uint;
var division:Number;
var position:Number;
var dist:*;
waterPoint = _player.water.localToGlobal(new Point(_player.water.splash.x, _player.water.splash.y));
arrEnemies = DisplayListUtils.getDisplayList(_enemyHeard);
intEnemies = arrEnemies.length;
i = 0;
while (i < intEnemies) {
enemy = arrEnemies[i];
currentLane = playerCurrentLane();
if ((enemy is BeachBall)){
division = 5;
position = enemy.y;
if (enemy.ball != null){
position = (position + enemy.ball.ball.y);
};
if ((((waterPoint.y < position)) && ((((waterPoint.x > (enemy.x - 30))) && ((waterPoint.x < (enemy.x + 30))))))){
if (((enemy.active) && (_keys.isDown(32)))){
try {
SoundUtils.playSFX("SFX1");
} catch(e:Error) {
trace("Sound Error SFX1");
};
_player.hit = true;
_player.enemy = enemy;
_player.waterPoint = waterPoint;
dist = PointDistance.betweenPoints(new Point(enemy.x, position), new Point(_player.x, _player.y));
_player.handleKeys();
enemy.hit = true;
showBonus();
};
} else {
_player.hit = false;
enemy.hit = false;
};
} else {
if ((enemy is Enemy)){
division = 5;
if (enemy.character != null){
position = (enemy.y - ((enemy.character.height * enemy.scaleX) / division));
if (enemy.lane == currentLane){
if (waterPoint.y < position){
if (((enemy.active) && (_keys.isDown(32)))){
_player.hit = true;
_player.enemy = enemy;
_player.waterPoint = waterPoint;
dist = PointDistance.betweenPoints(new Point(enemy.x, position), new Point(_player.x, _player.y));
_player.handleKeys();
enemy.hit = true;
};
} else {
_player.hit = false;
enemy.hit = false;
};
} else {
enemy.hit = false;
};
};
};
};
i = (i + 1);
};
}
private function init():void{
setFocus();
buildBackground();
buildLayers();
buildEnemyHeard();
buildPlayer();
buildScenary();
buildHowTo();
}
private function handleOver(_arg1:MouseEvent):void{
var rand:uint;
var evt = _arg1;
switch (evt.target.name){
case "HowPlay":
case "HowMain":
rand = 14;
try {
SoundUtils.playSFX(("SFX" + rand));
} catch(e:Error) {
trace(("Sound Error SFX" + rand));
};
TweenLite.to(evt.target.parent, 1, {scaleX:1.2, scaleY:1.2, ease:Elastic.easeOut});
break;
};
}
public function buildLifeMeter():void{
_lifeMeter = new Life();
addChild(_lifeMeter);
}
private function showBonus():void{
if (!_bonusDisplayed){
if (_lives >= 3){
_allowedLife = false;
} else {
if (_lives < 3){
_allowedLife = true;
};
};
_enemyHeard.bonusOFF();
_bonusDisplayed = true;
_bonus = new BonusSelect();
_bonus.allowedBombs = _allowedBombs;
_bonus.allowedLife = _allowedLife;
_bonus.begin = true;
_bonus.addEventListener(BonusSelect.BONUS, newBonus);
_bonus.addEventListener(BonusSelect.COMPLETE, noBonus);
addChild(_bonus);
};
}
public function buildHowTo():void{
_howToPlay = new HowMenu();
_howToPlay.addEventListener(MouseEvent.CLICK, handleClick);
_howToPlay.addEventListener(MouseEvent.MOUSE_OVER, handleOver);
_howToPlay.addEventListener(MouseEvent.MOUSE_OUT, handleOut);
addChild(_howToPlay);
if (_sex == 1){
_howToPlay.gotoAndStop(2);
} else {
_howToPlay.gotoAndStop(1);
};
trace(("SEX:" + _sex));
}
private function buildLayers():void{
_layers = {};
_layers.ground = new Sprite();
_layers.enemy = new Sprite();
_layers.bomb = new Sprite();
_layers.deckChairs = new Sprite();
_layers.player = new Sprite();
_layers.waterTank = new Sprite();
_layers.popups = new Sprite();
addChild(_layers.ground);
addChild(_layers.enemy);
addChild(_layers.bomb);
addChild(_layers.deckChairs);
addChild(_layers.player);
addChild(_layers.waterTank);
addChild(_layers.popups);
}
private function setDeckChair(_arg1:uint, _arg2:uint):void{
var flag:*;
var pop:*;
var intChair = _arg1;
var strCountryNum = _arg2;
if (_deckChairs != null){
if (_deckChairs[("flag" + intChair)].currentFrame != strCountryNum){
try {
SoundUtils.playSFX("SFX19");
} catch(e:Error) {
trace("Sound Error SFX19");
};
_lives--;
if (_lives > 0){
pop = new Popup();
pop.x = 275;
pop.y = 0xFF;
pop.gotoAndStop(8);
_layers.popups.addChild(pop);
TweenLite.from(pop, 0.5, {scaleX:0.1, scaleY:0.1});
TweenLite.to(pop, 0.5, {scaleX:1, scaleY:1, ease:Elastic.easeOut, onComplete:removePopup, onCompleteParams:[pop]});
};
updateLife();
if (_lives == 0){
gameOver();
};
flag = (strCountryNum - 1);
_deckChairs[("flag" + intChair)].gotoAndStop((strCountryNum + (4 * flag)));
};
};
}
public function get intTime():uint{
return (_finalTime);
}
private function playerCurrentLane():uint{
var _local1:*;
var _local2:int;
_local1 = _arrPlayerLanes.length;
_local2 = 0;
while (_local2 < _local1) {
if ((((_player.x > _arrPlayerLanes[_local2].left)) && ((_player.x < _arrPlayerLanes[_local2].right)))){
return (_local2);
};
_local2++;
};
return (999);
}
public function updateLife():void{
var _local1:int;
_local1 = 1;
while (_local1 <= 3) {
if (_local1 <= _lives){
_lifeMeter[("life" + _local1)].gotoAndStop(1);
} else {
_lifeMeter[("life" + _local1)].gotoAndStop(2);
};
_local1++;
};
}
private function collisionDetection():void{
_keys = new KeyUtils(stage);
this.addEventListener(Event.ENTER_FRAME, collisionUpdate);
}
private function buildTimer():void{
_timeBox = new TimeBox();
this.addChild(_timeBox);
}
private function setFocus():void{
stage.focus = stage;
}
private function trackPlayDuration():void{
_playTime = getTimer();
_playDuration = new Timer(1);
_playDuration.addEventListener(TimerEvent.TIMER, showPlayDuration);
_playDuration.start();
}
private function buildWaterTank():void{
_waterTank = new WaterTank();
_layers.waterTank.addChild(_waterTank);
}
private function removePopupComplete(_arg1):void{
if (_arg1.parent != null){
_arg1.parent.removeChild(_arg1);
};
}
private function gameOver():void{
var _local1:*;
_enemyHeard.gameOver();
_player.gameOver();
_finalTime = (getTimer() - _playTime);
_playDuration.stop();
_playDuration.removeEventListener(TimerEvent.TIMER, showPlayDuration);
Clock.time = _finalTime;
_local1 = Clock.intMinutes;
switch (_local1){
case 1:
TrackEvents.fireEvent("time1");
break;
case 2:
TrackEvents.fireEvent("time2");
break;
case 3:
TrackEvents.fireEvent("time3");
break;
case 4:
TrackEvents.fireEvent("time4");
break;
case 5:
TrackEvents.fireEvent("time5");
break;
case 6:
TrackEvents.fireEvent("time6");
break;
case 7:
TrackEvents.fireEvent("time7");
break;
};
if (_local1 >= 8){
TrackEvents.fireEvent("time8");
};
SoundUtils.stopSFXChannel();
SoundUtils.fadeMusicStop("SFX23", 0, 1);
SoundUtils.fadeMusicPlay("SFX22", 1, 1, true);
SoundUtils.setVolumeSFX("SFX25", 0);
SoundUtils.setVolumeSFX("SFX26", 0);
SoundUtils.setVolumeSFX("SFX27", 0);
SoundUtils.setVolumeSFX("SFX2", 0);
SoundUtils.setVolumeSFX("SFX3", 0);
SoundUtils.setVolumeSFX("SFX4", 0);
dispatchEvent(new Event(GAMEOVER));
}
}
}//package
Section 202
//focusRectSkin (focusRectSkin)
package {
import flash.display.*;
public dynamic class focusRectSkin extends MovieClip {
}
}//package
Section 203
//FriendMenu (FriendMenu)
package {
import flash.display.*;
import flash.accessibility.*;
public dynamic class FriendMenu extends MovieClip {
public var win:MovieClip;
public var submit:MovieClip;
public var main:MovieClip;
public var form:MovieClip;
public var FriendPrivacy:SimpleButton;
public var MovieClip669:MovieClip;
public var MovieClip668:MovieClip;
public function FriendMenu(){
addFrameScript(0, frame1);
}
function frame1(){
submit.accessibilityProperties = new AccessibilityProperties();
submit.accessibilityProperties.forceSimple = true;
win.accessibilityProperties = new AccessibilityProperties();
win.accessibilityProperties.forceSimple = true;
MovieClip669.accessibilityProperties = new AccessibilityProperties();
MovieClip669.accessibilityProperties.silent = true;
main.accessibilityProperties = new AccessibilityProperties();
main.accessibilityProperties.forceSimple = true;
MovieClip668.accessibilityProperties = new AccessibilityProperties();
MovieClip668.accessibilityProperties.silent = true;
stop();
}
}
}//package
Section 204
//GameBackground (GameBackground)
package {
import flash.display.*;
public dynamic class GameBackground extends MovieClip {
}
}//package
Section 205
//HealthBar (HealthBar)
package {
import flash.display.*;
public class HealthBar extends MovieClip {
public var levelMask:MovieClip;
private var _intHealth:Number;// = 100
public function HealthBar(){
_intHealth = 100;
super();
}
public function set level(_arg1:Number):void{
_intHealth = _arg1;
this.levelMask.scaleX = (_intHealth / 100);
}
public function kill():void{
this.parent.removeChild(this);
}
public function get level():Number{
return (_intHealth);
}
}
}//package
Section 206
//HowMenu (HowMenu)
package {
import flash.display.*;
public dynamic class HowMenu extends MovieClip {
public function HowMenu(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 207
//KokoBtn (KokoBtn)
package {
import flash.display.*;
import flash.events.*;
public class KokoBtn extends MovieClip {
public var koko:SimpleButton;
public function KokoBtn(){
this.addEventListener(Event.ADDED_TO_STAGE, onStage);
}
private function onStage(_arg1:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE, onStage);
this.addEventListener(Event.ENTER_FRAME, enterFrame);
}
private function enterFrame(_arg1:Event):void{
var _local2:uint;
_local2 = this.parent.numChildren;
this.parent.setChildIndex(this, (_local2 - 1));
}
}
}//package
Section 208
//Life (Life)
package {
import flash.display.*;
public dynamic class Life extends MovieClip {
public var life1:MovieClip;
public var life3:MovieClip;
public var life2:MovieClip;
}
}//package
Section 209
//List_skin (List_skin)
package {
import flash.display.*;
public dynamic class List_skin extends MovieClip {
}
}//package
Section 210
//Main (Main)
package {
import flash.display.*;
import flash.events.*;
import gs.*;
import console.trackers.*;
import flash.text.*;
import com.stampy.scores.*;
import com.stampy.cookies.*;
import com.stampy.frames.*;
import com.stampy.random.*;
import console.sounds.*;
import gs.easing.*;
import com.stampy.validation.*;
import console.security.*;
import console.loadurl.*;
import console.time.*;
import console.verification.*;
import com.stampy.strings.*;
import console.lists.*;
import com.stampy.equality.*;
import com.memecounter.*;
import com.stampy.forms.*;
import console.preloader.*;
import flash.system.*;
public class Main extends MovieClip {
private const SUBMIT:String = "_menuSubmit";
private const ACTION_TERMS:String = "/data.php?action=goto_client_terms";
private const SCORES:String = "_menuScores";
private const ACTION_SHARE_GOOGLE:String = "/data.php?action=goto_share_google";
private const ACTION_KOKO:String = "/data.php?action=goto_koko_link_1";
private const ACTION:String = "/data.php";
private const HOW:String = "_menuHow";
private const ACTION_SUBMIT:String = "scores_submit";
private const ACTION_SCORES:String = "/data.php?action=scores_daily_xml";
private const ACTION_SHARE_DIGG:String = "/data.php?action=goto_share_digg";
private const ACTION_PRIVACY:String = "/data.php?action=goto_client_privacy";
private const ACTION_SHARE_REDIT:String = "/data.php?action=goto_share_reddit";
private const ACTION_SHARE_FACEBOOK:String = "/data.php?action=goto_share_facebook";
private const ACTION_TOKEN:String = "/data.php?action=request_token";
private const LAST_NAME:String = "player_last_name";
private const POSTCODE:String = "player_postcode";
private const FRIEND:String = "_menuFriend";
private const DOMAIN:String = "http://sunbedinvaders.viral-game.co.uk";
private const ACTION_FRIEND:String = "send_invite";
private const FIRST_NAME:String = "player_first_name";
private const ADDRESS1:String = "player_address1";
private const AGE:String = "player_age";
private const ADDRESS2:String = "player_address2";
private const TOWEL:String = "_menuCountry";
private const CHARACTER:String = "_menuCharacter";
private const ACTION_SHARE_YAHOO:String = "/data.php?action=goto_share_yahoo";
private const ACTION_SHARE_STUMBLE:String = "/data.php?action=goto_share_stumbleupon";
private const HOMEOWNER:String = "player_homeowner";
private const ACTION_COMPETITION:String = "competition_submit";
private const MARRIED:String = "player_married";
private const CITY:String = "player_city";
private const COUNTRY:String = "player_country";
private const EMAIL:String = "player_email";
private const ACTION_SHARE_DELICIOUS:String = "/data.php?action=goto_share_delicious";
private const ACTION_SHARE_TWITTER:String = "/data.php?action=goto_share_twitter";
private const COMPETITION:String = "_menuCompetition";
private const CROSSDOMAIN_A:String = "http://sunbedinvaders.viral-game.co.uk/crossdomain.xml";
private const CROSSDOMAIN_B:String = "http://www.viral-game.co.uk/crossdomain.xml";
private const MAIN:String = "_menuMain";
private const GAME:String = "_menuGame";
private const ACTION_CLIENT:String = "/data.php?action=goto_client_link_1";
private var _country:String;
private var _lastGameTime:String;
private var _menuFriend:FriendMenu;
private var _preloadDisplay:PreloadDisplay;
private var _menuCharacter:CharacterMenu;
private var _menuCompetition:CompetitionMenu;
private var _cookieName:String;// = "SEASONS7"
private var _koko:KokoBtn;
private var _maxSFXVolume;// = 1
private var _preloader:GamePreloader;
private var _scoreSubmitting:Boolean;// = false
private var _valid:Object;
private var _token:String;
private var _menuMain:MainMenu;
private var _soundControl:SoundControl;
private var _menuHow:HowMenu;
private var _scores:Scoreboard;
private var _menuGame:Engine;
private var _debug:Boolean;// = true
private var _lastGameInt:uint;
private var _menuCountry:CountryMenu;
private var _competitionCountry:String;// = ""
private var _cookie:FlashCookie;
private var _sex:uint;// = 1
private var _maxMusicVolume;// = 1
private var _competitionData:Object;
private var _cookieData:Object;
private var _selectedNation:int;// = 1
private var _mainBackground:MainBackground;
private var _menuSubmit:SubmitMenu;
private var _menuScores:ScoresMenu;
private static const TRACKING_MEME:uint = 651;
private static const TRACKING_MOCHI:String = "f076ccb0";
public function Main(){
_cookieName = "SEASONS7";
_cookieData = {COUNTRY:1, PLAYER_NAME:null, PLAYER_EMAIL:null, PLAYER_FIRST:null, PLAYER_LAST:null, PLAYER_ADDRESS1:null, PLAYER_ADDRESS2:null, PLAYER_CITY:null, PLAYER_POSTCODE:null, PLAYER_COUNTRY:null, PLAYER_HOMEOWNER:null, PLAYER_MARRIED:null, PLAYER_AGE:null};
_debug = true;
_competitionData = {};
_valid = {};
_selectedNation = 1;
_sex = 1;
_scoreSubmitting = false;
_competitionCountry = "";
_maxMusicVolume = 1;
_maxSFXVolume = 1;
super();
addFrameScript(0, frame1);
Debug.active = _debug;
showBackground();
tracking();
security();
crossDomain();
preload();
mouse();
cookie();
FrameUtils.onEnterFrame(3, this, init);
addEventListener(FocusEvent.FOCUS_IN, focusIN);
}
private function focusIN(_arg1:Event):void{
if ((_arg1.target is TextField)){
if (equalUtils.equalToAny(_arg1.target.text, "Your name", "Name", "Your email", "Email address", "Friend's email", "First name", "Last name", "Surname", "Address 1", "Address 2", "City", "Postcode", "Email address")){
_arg1.target.text = "";
};
};
}
private function gameOver(_arg1:Event):void{
_arg1.target.removeEventListener(Engine.GAMEOVER, gameOver);
_arg1.target.removeEventListener(Engine.GAMEOVER_MAIN, showMenuCharacter);
_lastGameTime = this[GAME].time;
_lastGameInt = this[GAME].intTime;
hideMenu(GAME);
showMenu(SUBMIT);
}
private function preload():void{
_preloadDisplay = new PreloadDisplay();
addChild(_preloadDisplay);
_preloader = new GamePreloader();
_preloader.addEventListener(GamePreloader.PROGRESS, handlePreloadProgress);
_preloader.addEventListener(GamePreloader.COMPLETE, handlePreloadComplete);
_preloadDisplay.bar.scaleX = 0;
addChild(_preloader);
}
private function removeMenu(_arg1:String):void{
if ((this[_arg1] is MainMenu)){
if (_soundControl.parent != null){
_soundControl.removeEventListener(SoundControl.MUTE, soundMute);
_soundControl.removeEventListener(SoundControl.UNMUTE, soundUnmute);
_soundControl.removeEventListener(SoundControl.VOLUME_CHANGE, soundVolume);
_soundControl.parent.removeChild(_soundControl);
};
};
if (this[_arg1] != null){
this.removeChild(this[_arg1]);
};
}
private function showBackground():void{
_mainBackground = new MainBackground();
this.addChildAt(_mainBackground, 0);
}
private function handlePreloadProgress(_arg1:Event):void{
if (_preloadDisplay != null){
TweenLite.to(_preloadDisplay.bar, 0.5, {scaleX:(_preloader.percentLoaded / 100)});
};
if (_preloader.percentLoaded >= 99){
_preloader.removeEventListener(GamePreloader.PROGRESS, handlePreloadProgress);
};
}
private function hideBackground():void{
if (_mainBackground != null){
TweenLite.to(_mainBackground, 0.5, {alpha:0, onComplete:this.removeChild, onCompleteParams:[_mainBackground]});
};
}
private function submitFriendComplete():void{
TweenLite.to({}, 0.4, {onComplete:hideMenu, onCompleteParams:[FRIEND]});
TweenLite.to({}, 1, {onComplete:showMenu, onCompleteParams:[FRIEND]});
}
private function soundUnmute(_arg1:Event):void{
if (SoundUtils.isGlobalMute){
SoundUtils.muteGlobal();
};
}
private function submitCompetition1():void{
var _local1:Array;
var _local2:Boolean;
var _local3:int;
_competitionData[FIRST_NAME] = ((this[COMPETITION].form.field1.input.text)!="First name") ? this[COMPETITION].form.field1.input.text : "";
_competitionData[LAST_NAME] = ((this[COMPETITION].form.field2.input.text)!="Surname") ? this[COMPETITION].form.field2.input.text : "";
_competitionData[ADDRESS1] = ((this[COMPETITION].form.field3.input.text)!="Address 1") ? this[COMPETITION].form.field3.input.text : "";
_competitionData[ADDRESS2] = ((this[COMPETITION].form.field4.input.text)!="Address 2") ? this[COMPETITION].form.field4.input.text : "";
_competitionData[CITY] = ((this[COMPETITION].form.field5.input.text)!="City") ? this[COMPETITION].form.field5.input.text : "";
_competitionData[COUNTRY] = ((this[COMPETITION].form.field8.selectedItem.data)!="empty") ? this[COMPETITION].form.field8.selectedItem.data : "";
_competitionData[POSTCODE] = ((this[COMPETITION].form.field7.input.text)!="Postcode") ? this[COMPETITION].form.field7.input.text : "";
_competitionData[EMAIL] = ((this[COMPETITION].form.field9.input.text)!="Email address") ? this[COMPETITION].form.field9.input.text : "";
_local1 = new Array();
_local1.push(Validate.string(_competitionData[FIRST_NAME]));
_local1.push(Validate.string(_competitionData[LAST_NAME]));
_local1.push(Validate.string(_competitionData[ADDRESS1]));
_local1.push(Validate.string(_competitionData[CITY]));
_local1.push(Validate.string(_competitionData[POSTCODE]));
_local1.push(Validate.string(_competitionData[COUNTRY]));
_local1.push(Validate.email(_competitionData[EMAIL]));
if (equalUtils.equalToMany(true, _local1)){
_competitionCountry = this[COMPETITION].form.field8.selectedItem.data;
_cookie.updateCookieVar("PLAYER_FIRST", _competitionData[FIRST_NAME]);
_cookie.updateCookieVar("PLAYER_LAST", _competitionData[LAST_NAME]);
_cookie.updateCookieVar("PLAYER_ADDRESS1", _competitionData[ADDRESS1]);
_cookie.updateCookieVar("PLAYER_ADDRESS2", _competitionData[ADDRESS2]);
_cookie.updateCookieVar("PLAYER_CITY", _competitionData[CITY]);
_cookie.updateCookieVar("PLAYER_POSTCODE", _competitionData[POSTCODE]);
_cookie.updateCookieVar("PLAYER_COUNTRY", this[COMPETITION].form.field8.selectedItem.data);
_cookie.updateCookieVar("PLAYER_EMAIL", _competitionData[EMAIL]);
this[COMPETITION].gotoAndStop(3);
} else {
_local2 = false;
_local3 = 0;
while (_local3 < _local1.length) {
if (_local1[_local3]){
this[COMPETITION].form[("error" + (_local3 + 1))].gotoAndStop(1);
} else {
this[COMPETITION].form[("error" + (_local3 + 1))].gotoAndStop(2);
};
if (!_local1[_local3]){
_local2 = true;
};
_local3++;
};
if (_local2){
this[COMPETITION].form["errorMessage"].gotoAndStop(2);
} else {
this[COMPETITION].form["errorMessage"].gotoAndStop(1);
};
};
}
private function cookie():void{
_cookie = new FlashCookie(_cookieName, _cookieData);
}
private function mouse():void{
this.addEventListener(MouseEvent.CLICK, mouseHandler);
this.addEventListener(MouseEvent.MOUSE_OVER, mouseHandler2);
this.addEventListener(MouseEvent.MOUSE_OUT, mouseHandler2);
}
private function submitScoreComplete():void{
_scoreSubmitting = false;
hideMenu(SUBMIT);
showMenu(SCORES);
}
private function tracking():void{
try {
MochiBot.track(this, TRACKING_MOCHI);
} catch(e:Error) {
trace("CANT CONNECT TO MOCHI");
};
try {
Tracker.init(TRACKING_MEME, root);
} catch(e:Error) {
trace("CANT CONNECT TO MEME");
};
}
private function submitCompetition2():void{
var _local1:Boolean;
var _local2:Boolean;
var _local3:Boolean;
var _local4:Boolean;
var _local5:Boolean;
var _local6:SubmitForm;
_competitionData[HOMEOWNER] = (this[COMPETITION].form.field2A.selected) ? true : false;
_competitionData[MARRIED] = (this[COMPETITION].form.field1A.selected) ? true : false;
_competitionData[AGE] = this[COMPETITION].form.field3.selectedItem.data;
_local1 = (((!(this[COMPETITION].form.field2A.selected)) && (!(this[COMPETITION].form.field2B.selected)))) ? false : true;
_local2 = (((!(this[COMPETITION].form.field1A.selected)) && (!(this[COMPETITION].form.field1B.selected)))) ? false : true;
_local3 = ((_competitionData[AGE])!="empty") ? true : false;
_local4 = ((this[COMPETITION].form.field4.currentLabel)=="checked") ? true : false;
_local5 = ((this[COMPETITION].form.field5.currentLabel)=="checked") ? true : false;
if (((((((_local3) && (_local1))) && (_local2))) && (_local4))){
_cookie.updateCookieVar("PLAYER_HOMEOWNER", _competitionData[HOMEOWNER]);
_cookie.updateCookieVar("PLAYER_MARRIED", _competitionData[MARRIED]);
_cookie.updateCookieVar("PLAYER_AGE", _competitionData[AGE]);
_local6 = new SubmitForm((DOMAIN + ACTION));
_local6.addField("action", ACTION_COMPETITION);
_local6.addField(FIRST_NAME, _competitionData[FIRST_NAME]);
_local6.addField(LAST_NAME, _competitionData[LAST_NAME]);
_local6.addField(ADDRESS1, _competitionData[ADDRESS1]);
_local6.addField(ADDRESS2, _competitionData[ADDRESS2]);
_local6.addField(CITY, _competitionData[CITY]);
_local6.addField(COUNTRY, _competitionData[COUNTRY]);
_local6.addField(POSTCODE, _competitionData[POSTCODE]);
_local6.addField(HOMEOWNER, new uint(_competitionData[HOMEOWNER]));
_local6.addField(MARRIED, new uint(_competitionData[MARRIED]));
_local6.addField(AGE, _competitionData[AGE]);
_local6.addField(EMAIL, _competitionData[EMAIL]);
_local6.addField("player_optin", new uint(_local5));
_local6.submit();
sumbitCompetitionComplete();
} else {
this[COMPETITION].form.errorMessage.gotoAndStop(2);
if (!_local3){
this[COMPETITION].form.error1.gotoAndStop(2);
} else {
this[COMPETITION].form.error1.gotoAndStop(1);
};
if (!_local1){
this[COMPETITION].form.error2.gotoAndStop(2);
} else {
this[COMPETITION].form.error2.gotoAndStop(1);
};
if (!_local2){
this[COMPETITION].form.error3.gotoAndStop(2);
} else {
this[COMPETITION].form.error3.gotoAndStop(1);
};
if (!_local4){
this[COMPETITION].form.error4.gotoAndStop(2);
} else {
this[COMPETITION].form.error4.gotoAndStop(1);
};
};
}
private function showMenuCharacter(_arg1:Event):void{
this[GAME].removeEventListener(Engine.GAMEOVER_MAIN, showMenuCharacter);
this[GAME].removeEventListener(Engine.GAMEOVER, gameOver);
hideMenu(GAME);
showMenu(MAIN);
}
private function clearScores():void{
var _local1:int;
_local1 = 1;
while (_local1 <= 10) {
this[SCORES].scoreboard[("scoreElement" + _local1)].num.text = _local1.toString();
this[SCORES].scoreboard[("scoreElement" + _local1)].playerName.text = "";
this[SCORES].scoreboard[("scoreElement" + _local1)].playerScore.text = "";
this[SCORES].scoreboard[("scoreElement" + _local1)].flag.gotoAndStop(131);
_local1++;
};
}
private function clearFriendForm():void{
if (this[FRIEND]){
this[FRIEND].form.field3.input.text = "";
};
}
function frame1(){
stop();
}
private function countryPrev():void{
var _local1:*;
if (_selectedNation > 1){
_selectedNation--;
} else {
_selectedNation = 27;
};
_local1 = (_selectedNation - 1);
_cookie.updateCookieVar("COUNTRY", _selectedNation);
trace(("SELECTED NATION:" + _selectedNation));
this[TOWEL].flag.country.gotoAndStop((_selectedNation + (4 * _local1)));
}
private function submitFriend():void{
var _local1:int;
var _local2:String;
var _local3:String;
var _local4:String;
var _local5:String;
var _local6:String;
var _local7:String;
var _local8:Boolean;
var _local9:Boolean;
var _local10:Boolean;
var _local11:Boolean;
var _local12:Boolean;
var _local13:Boolean;
var _local14:Boolean;
var _local15:Boolean;
var _local16:Boolean;
var _local17:Boolean;
var _local18:Boolean;
var _local19:Boolean;
var _local20:Array;
var _local21:int;
var _local22:SubmitForm;
var _local23:int;
_local1 = 1;
while (_local1 < 7) {
this[FRIEND].form[("error" + _local1)].gotoAndStop(1);
_local1++;
};
this[FRIEND].form["errorMessage"].gotoAndStop(1);
_local2 = this[FRIEND].form.field1.input.text;
_local3 = this[FRIEND].form.field2.input.text;
_local4 = this[FRIEND].form.field3.input.text;
_local5 = this[FRIEND].form.field4.input.text;
_local6 = this[FRIEND].form.field5.input.text;
_local7 = this[FRIEND].form.field6.input.text;
_local8 = ((this[FRIEND].form.field7.currentLabel)=="checked") ? true : false;
_local9 = ((_local2)!="Your name") ? Validate.string(_local2) : false;
_local10 = ((_local3)!="Your email") ? Validate.email(_local3) : false;
_local11 = ((!((_local4 == "Friend's email"))) && (Validate.string(_local4)));
_local12 = ((!((_local5 == "Friend's email"))) && (Validate.string(_local5)));
_local13 = ((!((_local6 == "Friend's email"))) && (Validate.string(_local6)));
_local14 = ((!((_local7 == "Friend's email"))) && (Validate.string(_local7)));
_local15 = (_local11) ? Validate.email(_local4) : true;
_local16 = (_local12) ? Validate.email(_local5) : true;
_local17 = (_local13) ? Validate.email(_local6) : true;
_local18 = (_local14) ? Validate.email(_local7) : true;
_local19 = ((((((_local11) || (_local12))) || (_local13))) || (_local14));
if (((((((((((((_local9) && (_local10))) && (_local15))) && (_local16))) && (_local17))) && (_local18))) && (_local19))){
_local20 = [];
_local21 = 3;
while (_local21 <= 6) {
if (this[FRIEND].form[("field" + _local21)].input.text != "Friend's email"){
_local20.push(this[FRIEND].form[("field" + _local21)].input.text);
};
_local21++;
};
_cookie.updateCookieVar("PLAYER_NAME", _local2);
_cookie.updateCookieVar("PLAYER_EMAIL", _local3);
_local22 = new SubmitForm((DOMAIN + ACTION));
_local22.addField("action", ACTION_FRIEND);
_local22.addField("player_first_name", _local2);
_local22.addField("player_email", _local3);
_local22.addField("friend_email_array", _local20.toString());
_local22.addField("player_optin", new uint(_local8));
_local22.submit();
TweenLite.to({}, 0.5, {onComplete:submitFriendComplete});
this[FRIEND].gotoAndStop(2);
} else {
if (!_local9){
this[FRIEND].form["error1"].gotoAndStop(2);
this[FRIEND].form["errorMessage"].gotoAndStop(2);
};
if (!_local10){
this[FRIEND].form["error2"].gotoAndStop(2);
this[FRIEND].form["errorMessage"].gotoAndStop(2);
};
if (!_local15){
this[FRIEND].form["error3"].gotoAndStop(2);
this[FRIEND].form["errorMessage"].gotoAndStop(2);
};
if (!_local16){
this[FRIEND].form["error4"].gotoAndStop(2);
this[FRIEND].form["errorMessage"].gotoAndStop(2);
};
if (!_local17){
this[FRIEND].form["error5"].gotoAndStop(2);
this[FRIEND].form["errorMessage"].gotoAndStop(2);
};
if (!_local18){
this[FRIEND].form["error6"].gotoAndStop(2);
this[FRIEND].form["errorMessage"].gotoAndStop(2);
};
if (!_local19){
_local23 = 3;
while (_local23 < 7) {
this[FRIEND].form[("error" + _local23)].gotoAndStop(2);
this[FRIEND].form["errorMessage"].gotoAndStop(2);
_local23++;
};
};
};
}
private function countrySet(_arg1:int):void{
}
private function mouseHandler(_arg1:MouseEvent):void{
var rand2:uint;
var rand1:uint;
var par:*;
var evt = _arg1;
switch (evt.target.name){
case "MainPlay":
TrackEvents.fireEvent("main play");
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
hideMenu(MAIN);
showMenu(CHARACTER);
break;
case "MainScores":
TrackEvents.fireEvent("main highscores");
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
hideMenu(MAIN);
showMenu(SCORES);
break;
case "MainFriend":
TrackEvents.fireEvent("main share");
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
hideMenu(MAIN);
showMenu(FRIEND);
break;
case "MainCompetition":
TrackEvents.fireEvent("main competition");
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
hideMenu(MAIN);
showMenu(COMPETITION);
break;
case "MainVisit":
TrackEvents.fireEvent("main visit seasons");
OpenURL.loadURL((DOMAIN + ACTION_CLIENT));
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
break;
case "CharacterPlay":
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
hideMenu(CHARACTER);
showMenu(TOWEL);
break;
case "CharacterMain":
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
hideMenu(CHARACTER);
showMenu(MAIN);
break;
case "CharacterMale":
TrackEvents.fireEvent("character male");
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
_sex = 1;
hideMenu(CHARACTER);
showMenu(TOWEL);
break;
case "CharacterFemale":
TrackEvents.fireEvent("character female");
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
_sex = 2;
hideMenu(CHARACTER);
showMenu(TOWEL);
break;
case "CountryPrev":
rand2 = Random.range(30, 31);
try {
SoundUtils.playSFX(("SFX" + rand2));
} catch(e:Error) {
trace(("Sound Error SFX" + rand2));
};
countryPrev();
break;
case "CountryNext":
rand1 = Random.range(30, 31);
try {
SoundUtils.playSFX(("SFX" + rand1));
} catch(e:Error) {
trace(("Sound Error SFX" + rand1));
};
countryNext();
break;
case "CountryPlay":
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
hideMenu(TOWEL);
showMenu(GAME);
break;
case "CountryMain":
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
hideMenu(TOWEL);
showMenu(MAIN);
break;
case "ScoresMain":
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
hideMenu(SCORES);
showMenu(MAIN);
break;
case "ScoresCompetition":
TrackEvents.fireEvent("highscores competition");
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
hideMenu(SCORES);
showMenu(COMPETITION);
break;
case "SubmitSubmit":
if (!_scoreSubmitting){
_scoreSubmitting = true;
TrackEvents.fireEvent("game over submit");
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
submitScore();
};
break;
case "SubmitCompetition":
TrackEvents.fireEvent("game over competition");
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
hideMenu(SUBMIT);
showMenu(COMPETITION);
break;
case "SubmitMain":
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
hideMenu(SUBMIT);
showMenu(MAIN);
break;
case "SubmitPrivacy":
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
OpenURL.loadURL((DOMAIN + ACTION_PRIVACY));
break;
case "FriendSubmit":
TrackEvents.fireEvent("share friend");
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
submitFriend();
break;
case "FriendMain":
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
hideMenu(FRIEND);
showMenu(MAIN);
break;
case "FriendMore":
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
this[FRIEND].gotoAndStop(1);
FrameUtils.onEnterFrame(1, this[FRIEND], clearFriendForm);
break;
case "FriendCompetition":
TrackEvents.fireEvent("share competition");
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
hideMenu(FRIEND);
showMenu(COMPETITION);
break;
case "FriendPrivacy":
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
OpenURL.loadURL((DOMAIN + ACTION_PRIVACY));
break;
case "CompetitionMain":
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
hideMenu(COMPETITION);
showMenu(MAIN);
break;
case "CompetitionBack2":
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
this[COMPETITION].gotoAndStop(1);
break;
case "CompetitionContinue1":
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
FrameUtils.onEnterFrame(2, this[COMPETITION], competitionPage1);
this[COMPETITION].gotoAndStop(2);
break;
case "CompetitionPlay":
TrackEvents.fireEvent("competition play");
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
hideMenu(COMPETITION);
showMenu(CHARACTER);
break;
case "CompetitionContinue2":
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
submitCompetition1();
break;
case "CompetitionSubmit2":
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
submitCompetition2();
break;
case "CompetitionTerms":
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
OpenURL.loadURL((DOMAIN + ACTION_TERMS));
break;
case "CompetitionPrivacy":
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
OpenURL.loadURL((DOMAIN + ACTION_PRIVACY));
break;
case "input":
if (equalUtils.equalToAny(evt.target.text, "Your name", "Name", "Your email", "Email address", "Friend's email", "First name", "Last name", "Surname", "Address 1", "Address 2", "City", "Postcode", "Email address")){
evt.target.text = "";
};
break;
case "SeasonsVisit":
par = evt.target.parent.parent;
if ((par is MainMenu)){
TrackEvents.fireEvent("main seasons logo");
} else {
if ((par is CompetitionMenu)){
TrackEvents.fireEvent("competition seasons logo");
} else {
if ((par is FriendMenu)){
TrackEvents.fireEvent("share seasons logo");
} else {
if ((par is ScoresMenu)){
TrackEvents.fireEvent("highscores seasons logo");
} else {
if ((par is CharacterMenu)){
TrackEvents.fireEvent("character seasons logo");
} else {
if ((par is CountryMenu)){
TrackEvents.fireEvent("towel seasons logo");
} else {
if ((par is HowMenu)){
TrackEvents.fireEvent("how seasons logo");
} else {
if ((par is SubmitMenu)){
TrackEvents.fireEvent("game over seasons logo");
};
};
};
};
};
};
};
};
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
OpenURL.loadURL((DOMAIN + ACTION_CLIENT));
break;
case "share_delicious":
TrackEvents.fireEvent("share delicious");
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
OpenURL.loadURL((DOMAIN + ACTION_SHARE_DELICIOUS));
break;
case "share_digg":
TrackEvents.fireEvent("share digg");
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
OpenURL.loadURL((DOMAIN + ACTION_SHARE_DIGG));
break;
case "share_facebook":
TrackEvents.fireEvent("share facebook");
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
OpenURL.loadURL((DOMAIN + ACTION_SHARE_FACEBOOK));
break;
case "share_google":
TrackEvents.fireEvent("share google");
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
OpenURL.loadURL((DOMAIN + ACTION_SHARE_GOOGLE));
break;
case "share_redit":
TrackEvents.fireEvent("share reddit");
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
OpenURL.loadURL((DOMAIN + ACTION_SHARE_REDIT));
break;
case "share_stumble":
TrackEvents.fireEvent("share stumbleupon");
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
OpenURL.loadURL((DOMAIN + ACTION_SHARE_STUMBLE));
break;
case "share_twitter":
TrackEvents.fireEvent("share twitter");
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
OpenURL.loadURL((DOMAIN + ACTION_SHARE_TWITTER));
break;
case "share_yahoo":
TrackEvents.fireEvent("share yahoo");
try {
SoundUtils.playSFX("SFX12");
} catch(e:Error) {
trace("Sound Error SFX12");
};
OpenURL.loadURL((DOMAIN + ACTION_SHARE_YAHOO));
break;
case "koko":
TrackEvents.fireEvent("koko logo");
OpenURL.loadURL((DOMAIN + ACTION_KOKO));
break;
case "thanks1Visit":
TrackEvents.fireEvent("competition thankyou visit");
OpenURL.loadURL((DOMAIN + ACTION_CLIENT));
break;
case "thanks1Share":
hideMenu(COMPETITION);
showMenu(FRIEND);
break;
};
}
private function submitFriendFail(_arg1:Event):void{
}
private function getScores():void{
clearScores();
_scores = new Scoreboard((DOMAIN + ACTION_SCORES));
_scores.fetch(showScores);
}
private function kokoButton():void{
_koko = new KokoBtn();
addChild(_koko);
}
private function crossDomain():void{
Security.allowDomain("*");
try {
Security.loadPolicyFile(CROSSDOMAIN_A);
} catch(e:Error) {
trace(("Error Loading CrossDomain:" + CROSSDOMAIN_A));
};
try {
Security.loadPolicyFile(CROSSDOMAIN_B);
} catch(e:Error) {
trace(("Error Loading CrossDomain:" + CROSSDOMAIN_B));
};
}
private function soundVolume(_arg1:Event):void{
SoundUtils.setMaxVolumeMusicChannel(_arg1.target.musicVolume);
SoundUtils.setMaxVolumeSFXChannel(_arg1.target.sfxVolume);
_maxMusicVolume = _arg1.target.musicVolume;
_maxSFXVolume = _arg1.target.sfxVolume;
}
private function init():void{
stop();
sounds();
showMenu(MAIN);
kokoButton();
}
private function sounds():void{
var _local1:int;
_local1 = 1;
while (_local1 <= 33) {
if (((((!((_local1 == 21))) && (!((_local1 == 22))))) && (!((_local1 == 23))))){
SoundUtils.addSFX(("SFX" + _local1), 1);
};
_local1++;
};
SoundUtils.setMaxVolumeSFX("SFX5", 0.5);
SoundUtils.setMaxVolumeSFX("SFX8", 0.4);
SoundUtils.setMaxVolumeSFX("SFX15", 0.5);
SoundUtils.setMaxVolumeSFX("SFX16", 0.5);
SoundUtils.setMaxVolumeSFX("SFX17", 0.5);
SoundUtils.setMaxVolumeSFX("SFX18", 0.7);
SoundUtils.setMaxVolumeSFX("SFX20", 0.2);
SoundUtils.setMaxVolumeSFX("SFX25", 0.6);
SoundUtils.setMaxVolumeSFX("SFX26", 0.6);
SoundUtils.setMaxVolumeSFX("SFX27", 0.6);
SoundUtils.setMaxVolumeSFX("SFX28", 0.3);
SoundUtils.setMaxVolumeSFX("SFX29", 0.3);
SoundUtils.setMaxVolumeSFX("SFX30", 0.6);
SoundUtils.setMaxVolumeSFX("SFX31", 0.6);
SoundUtils.setMaxVolumeSFX("SFX33", 0.1);
SoundUtils.addMusic("SFX22");
SoundUtils.addMusic("SFX23");
SoundUtils.fadeMusicPlay("SFX22", 1, 2, true);
}
private function competitionPage1():void{
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
var _local7:*;
var _local8:*;
_local1 = _cookie.getFromCookie("PLAYER_FIRST");
_local2 = _cookie.getFromCookie("PLAYER_LAST");
_local3 = _cookie.getFromCookie("PLAYER_ADDRESS1");
_local4 = _cookie.getFromCookie("PLAYER_ADDRESS2");
_local5 = _cookie.getFromCookie("PLAYER_CITY");
_local6 = _cookie.getFromCookie("PLAYER_POSTCODE");
_local7 = _cookie.getFromCookie("PLAYER_COUNTRY");
_local8 = _cookie.getFromCookie("PLAYER_EMAIL");
CountryList.populateCombo(this[COMPETITION].form.field8);
this[COMPETITION].form.field1.input.text = ((_local1)==null) ? "First name" : _local1;
this[COMPETITION].form.field2.input.text = ((_local2)==null) ? "Surname" : _local2;
this[COMPETITION].form.field3.input.text = ((_local3)==null) ? "Address 1" : _local3;
this[COMPETITION].form.field4.input.text = ((_local4)==null) ? "Address 2" : _local4;
this[COMPETITION].form.field5.input.text = ((_local5)==null) ? "City" : _local5;
this[COMPETITION].form.field7.input.text = ((_local6)==null) ? "Postcode" : _local6;
this[COMPETITION].form.field8.selectedIndex = ((_local7)==null) ? 0 : _local7;
this[COMPETITION].form.field9.input.text = ((_local8)==null) ? "Email address" : _local8;
}
private function security():void{
try {
Token.request((DOMAIN + ACTION_TOKEN), secure, _debug);
} catch(e:Error) {
trace("Token Request Error");
};
}
private function handlePreloadComplete(_arg1:Event):void{
_preloader.removeEventListener(GamePreloader.COMPLETE, handlePreloadComplete);
if (_preloadDisplay != null){
_preloadDisplay.parent.removeChild(_preloadDisplay);
};
this.gotoAndPlay(2);
_mainBackground.gotoAndPlay(2);
}
private function submitScore():void{
var _local1:String;
var _local2:String;
var _local3:String;
var _local4:Boolean;
var _local5:Boolean;
var _local6:Boolean;
var _local7:Boolean;
var _local8:Boolean;
var _local9:String;
var _local10:SubmitForm;
this[SUBMIT].form.error1.gotoAndStop(1);
this[SUBMIT].form.error2.gotoAndStop(1);
this[SUBMIT].form.error3.gotoAndStop(1);
this[SUBMIT].form.errorMessage.gotoAndStop(1);
_local1 = this[SUBMIT].form.field1.input.text;
_local2 = this[SUBMIT].form.field2.input.text;
_local3 = this[SUBMIT].form.field3.input.text;
_local4 = ((this[SUBMIT].form.field4.currentLabel == "checked")) ? true : false;
_local5 = Validate.string(_local1);
_local6 = Validate.string(_local2);
_local7 = Validate.email(_local3);
_local8 = false;
_local9 = Token.secret(_lastGameInt);
if (_local5){
_local8 = LanguageFilter.containsSwearing(_local1);
};
if (_local6){
if (!_local8){
_local8 = LanguageFilter.containsSwearing(_local2);
};
};
trace(_local8);
if (((((_local7) && (_local5))) && (_local6))){
_cookie.updateCookieVar("PLAYER_FIRST", _local1);
_cookie.updateCookieVar("PLAYER_LAST", _local2);
_cookie.updateCookieVar("PLAYER_EMAIL", _local3);
_local10 = new SubmitForm((DOMAIN + ACTION));
_local10.addField("action", ACTION_SUBMIT);
_local10.addField("token", _token);
_local10.addField("player_first_name", _local1);
_local10.addField("player_last_name", _local2);
_local10.addField("player_email", _local3);
_local10.addField("player_optin", new uint(_local4));
_local10.addField("swear_flag", new uint(_local8));
_local10.addField("player_score", _lastGameInt);
_local10.addField("player_towel", _selectedNation);
_local10.addField("secure_player_score", _local9);
_local10.submit();
TweenLite.to({}, 0.5, {onComplete:submitScoreComplete});
} else {
_scoreSubmitting = false;
if (!_local5){
this[SUBMIT].form.error1.gotoAndStop(2);
};
if (!_local6){
this[SUBMIT].form.error2.gotoAndStop(2);
};
if (!_local7){
this[SUBMIT].form.error3.gotoAndStop(2);
};
this[SUBMIT].form.errorMessage.gotoAndStop(2);
};
}
private function secure():void{
_token = Token.encypted;
_country = Token.getVar("country_code");
Debug.note(_country);
}
private function enableMenu(_arg1:String):void{
this[_arg1].mouseEnabled = true;
this[_arg1].mouseChildren = true;
}
private function showScores():void{
var _local1:Array;
var _local2:uint;
var _local3:int;
var _local4:String;
var _local5:String;
var _local6:uint;
_local1 = _scores.getScoreNodes("daily_scores_level1");
_local2 = _local1.length;
_local3 = 1;
while (_local3 <= _local2) {
_local4 = Clock.formatTimeMSH(_local1[(_local3 - 1)][1]);
_local5 = StringUtils.properCase(_local1[(_local3 - 1)][0]);
_local6 = _local1[(_local3 - 1)][2];
this[SCORES].scoreboard[("scoreElement" + _local3)].playerName.text = StringUtils.trimLeft(_local5);
this[SCORES].scoreboard[("scoreElement" + _local3)].playerScore.text = _local4;
this[SCORES].scoreboard[("scoreElement" + _local3)].flag.gotoAndStop((_local6 + (4 * _local6)));
Debug.note(_local4, _local5, _local6);
_local3++;
};
}
private function submitScoreFail(_arg1:Event):void{
_arg1.target.removeEventListener(SubmitForm.IO_ERROR, submitScoreFail);
}
private function addMenu(_arg1:String):void{
if (this[_arg1].parent == null){
this[_arg1].mouseEnabled = false;
this[_arg1].mouseChildren = false;
this.addChild(this[_arg1]);
TweenLite.from(this[_arg1], 1, {alpha:0});
TweenLite.to(this[_arg1], 0.5, {alpha:1, onComplete:enableMenu, onCompleteParams:[_arg1]});
};
}
private function countryNext():void{
var _local1:*;
if (_selectedNation < 27){
_selectedNation++;
} else {
_selectedNation = 1;
};
_local1 = (_selectedNation - 1);
_cookie.updateCookieVar("COUNTRY", _selectedNation);
trace(("SELECTED NATION:" + _selectedNation));
this[TOWEL].flag.country.gotoAndStop((_selectedNation + (4 * _local1)));
}
private function soundMute(_arg1:Event):void{
if (!SoundUtils.isGlobalMute){
SoundUtils.muteGlobal();
};
}
private function hideMenu(_arg1:String):void{
if (this[_arg1] != null){
this[_arg1].mouseEnabled = false;
this[_arg1].mouseChildren = false;
TweenLite.to(this[_arg1], 0.5, {autoAlpha:0, onComplete:removeMenu, onCompleteParams:[_arg1]});
};
}
private function sumbitCompetitionComplete():void{
if (_competitionCountry == "United Kingdom"){
this[COMPETITION].gotoAndStop(4);
} else {
this[COMPETITION].gotoAndStop(5);
};
}
private function mouseHandler2(_arg1:MouseEvent):void{
var rand:uint;
var rand2:uint;
var evt = _arg1;
if (evt.type == "mouseOver"){
switch (evt.target.name){
case "MainPlay":
case "MainScores":
case "MainFriend":
case "MainCompetition":
case "MainVisit":
case "CharacterPlay":
case "CharacterMain":
case "CountryPrev":
case "CountryNext":
case "CountryPlay":
case "CountryMain":
case "ScoresMain":
case "ScoresCompetition":
case "SubmitMain":
case "SubmitSubmit":
case "SubmitCompetition":
case "FriendSubmit":
case "FriendMain":
case "FriendMore":
case "FriendCompetition":
case "CompetitionMain":
case "CompetitionBack2":
case "CompetitionContinue1":
case "CompetitionPlay":
case "CompetitionContinue2":
case "CompetitionSubmit2":
case "share_delicious":
case "share_digg":
case "share_facebook":
case "share_google":
case "share_redit":
case "share_stumble":
case "share_twitter":
case "share_yahoo":
case "thanks1Share":
case "thanks1Visit":
rand = 14;
try {
SoundUtils.playSFX(("SFX" + rand));
} catch(e:Error) {
trace(("Sound Error SFX" + rand));
};
TweenLite.to(evt.target.parent, 1, {scaleX:1.2, scaleY:1.2, ease:Elastic.easeOut});
break;
case "SeasonsVisit":
case "FriendPrivacy":
case "SubmitPrivacy":
case "CompetitionTerms":
case "CompetitionPrivacy":
rand2 = 14;
try {
SoundUtils.playSFX(("SFX" + rand2));
} catch(e:Error) {
trace(("Sound Error SFX" + rand2));
};
break;
case "CharacterMale":
this[CHARACTER].male.gotoAndStop(2);
this[CHARACTER].female.gotoAndStop(1);
break;
case "CharacterFemale":
this[CHARACTER].male.gotoAndStop(1);
this[CHARACTER].female.gotoAndStop(2);
break;
};
} else {
if (evt.type == "mouseOut"){
switch (evt.target.name){
case "MainPlay":
case "MainScores":
case "MainFriend":
case "MainCompetition":
case "MainVisit":
case "CharacterPlay":
case "CharacterMain":
case "CountryPrev":
case "CountryNext":
case "CountryPlay":
case "CountryMain":
case "ScoresMain":
case "ScoresCompetition":
case "SubmitMain":
case "SubmitSubmit":
case "SubmitCompetition":
case "FriendSubmit":
case "FriendMain":
case "FriendMore":
case "FriendCompetition":
case "CompetitionMain":
case "CompetitionBack2":
case "CompetitionContinue1":
case "CompetitionPlay":
case "CompetitionContinue2":
case "CompetitionSubmit2":
case "SubmitCompetition":
case "share_delicious":
case "share_digg":
case "share_facebook":
case "share_google":
case "share_redit":
case "share_stumble":
case "share_twitter":
case "share_yahoo":
case "thanks1Share":
case "thanks1Visit":
TweenLite.to(evt.target.parent, 1, {scaleX:1, scaleY:1, ease:Elastic.easeOut});
break;
case "SubmitCompetition":
case "SeasonsVisit":
case "SubmitPrivacy":
case "FriendPrivacy":
case "CompetitionTerms":
case "CompetitionPrivacy":
break;
case "CharacterMale":
this[CHARACTER].male.gotoAndStop(1);
this[CHARACTER].female.gotoAndStop(1);
break;
case "CharacterFemale":
this[CHARACTER].male.gotoAndStop(1);
this[CHARACTER].female.gotoAndStop(1);
break;
};
};
};
}
private function showMenu(_arg1:String):void{
var player_name:*;
var player_email:*;
var player_first:*;
var player_last:*;
var nation:*;
var strMenu = _arg1;
player_name = _cookie.getFromCookie("PLAYER_NAME");
player_email = _cookie.getFromCookie("PLAYER_EMAIL");
player_first = _cookie.getFromCookie("PLAYER_FIRST");
player_last = _cookie.getFromCookie("PLAYER_LAST");
trace(("MENU:" + strMenu));
switch (strMenu){
case MAIN:
try {
SoundUtils.playSFX("SFX20");
} catch(e:Error) {
trace("Sound Error SFX20");
};
this[strMenu] = new MainMenu();
_soundControl = new SoundControl(1);
_soundControl.musicVolume = SoundUtils.getMaxVolumeMusicChannel();
_soundControl.sfxVolume = SoundUtils.getMaxVolumeSFXChannel();
_soundControl.addEventListener(SoundControl.MUTE, soundMute);
_soundControl.addEventListener(SoundControl.UNMUTE, soundUnmute);
_soundControl.addEventListener(SoundControl.VOLUME_CHANGE, soundVolume);
_soundControl.x = -25.2;
_soundControl.y = 368;
this[strMenu].addChild(_soundControl);
break;
case SCORES:
try {
SoundUtils.playSFX("SFX20");
} catch(e:Error) {
trace("Sound Error SFX20");
};
this[strMenu] = new ScoresMenu();
getScores();
break;
case FRIEND:
try {
SoundUtils.playSFX("SFX20");
} catch(e:Error) {
trace("Sound Error SFX20");
};
this[strMenu] = new FriendMenu();
this[strMenu].form.field1.input.text = ((player_name)==null) ? "Your name" : player_name;
this[strMenu].form.field2.input.text = ((player_email)==null) ? "Your email" : player_email;
this[strMenu].form.field3.input.text = "Friend's email";
this[strMenu].form.field4.input.text = "Friend's email";
this[strMenu].form.field5.input.text = "Friend's email";
this[strMenu].form.field6.input.text = "Friend's email";
break;
case COMPETITION:
try {
SoundUtils.playSFX("SFX20");
} catch(e:Error) {
trace("Sound Error SFX20");
};
this[strMenu] = new CompetitionMenu();
break;
case SUBMIT:
try {
SoundUtils.playSFX("SFX20");
} catch(e:Error) {
trace("Sound Error SFX20");
};
this[strMenu] = new SubmitMenu();
this[strMenu].time.time.text = _lastGameTime;
this[strMenu].form.field1.input.text = ((player_first)==null) ? "First name" : player_first;
this[strMenu].form.field2.input.text = ((player_last)==null) ? "Last name" : player_last;
this[strMenu].form.field3.input.text = ((player_email)==null) ? "Email address" : player_email;
break;
case HOW:
try {
SoundUtils.playSFX("SFX20");
} catch(e:Error) {
trace("Sound Error SFX20");
};
this[strMenu] = new HowMenu();
break;
case CHARACTER:
try {
SoundUtils.playSFX("SFX20");
} catch(e:Error) {
trace("Sound Error SFX20");
};
this[strMenu] = new CharacterMenu();
_sex = 1;
countrySet(1);
break;
case GAME:
try {
SoundUtils.playSFX("SFX20");
} catch(e:Error) {
trace("Sound Error SFX20");
};
_cookie.updateCookieVar("COUNTRY", _selectedNation);
this[strMenu] = new Engine(_sex, _selectedNation);
this[strMenu].addEventListener(Engine.GAMEOVER, gameOver);
this[strMenu].addEventListener(Engine.GAMEOVER_MAIN, showMenuCharacter);
break;
case TOWEL:
try {
SoundUtils.playSFX("SFX20");
} catch(e:Error) {
trace("Sound Error SFX20");
};
this[strMenu] = new CountryMenu();
nation = _cookie.getFromCookie("COUNTRY");
trace(("SET TOWEL:" + nation));
_selectedNation = nation;
this[strMenu].flag.country.gotoAndStop((nation + (4 * nation)));
break;
};
addMenu(strMenu);
}
}
}//package
Section 211
//MainBackground (MainBackground)
package {
import flash.display.*;
public dynamic class MainBackground extends MovieClip {
public function MainBackground(){
addFrameScript(0, frame1, 10, frame11);
}
function frame1(){
stop();
}
function frame11(){
stop();
}
}
}//package
Section 212
//MainMenu (MainMenu)
package {
import flash.display.*;
public dynamic class MainMenu extends MovieClip {
}
}//package
Section 213
//Palm (Palm)
package {
import flash.display.*;
public dynamic class Palm extends MovieClip {
}
}//package
Section 214
//Parasol1 (Parasol1)
package {
import flash.display.*;
public dynamic class Parasol1 extends MovieClip {
}
}//package
Section 215
//Parasol2 (Parasol2)
package {
import flash.display.*;
public dynamic class Parasol2 extends MovieClip {
}
}//package
Section 216
//Player (Player)
package {
import flash.display.*;
import flash.events.*;
import gs.*;
import flash.geom.*;
import com.stampy.points.*;
import console.math.*;
import com.stampy.frames.*;
import com.stampy.random.*;
import console.sounds.*;
import com.stampy.keys.*;
public class Player extends MovieClip {
private const SPEED:uint = 12;
private const MAX_WATER:Number = 80;
private const VANISHING_POINT:Point;
private const SPECIAL_SPEED:uint = 12;
private const PIVOT_POINT:Point;
private const MIN_LEVEL:Number = 10;
private const WATER_LENGTH:Number = 0;
private const START_POINT:Point;
private const LEFT_POINT:Point;
private const SPEED_FIRE:uint = 6;
private const RIGHT_POINT:Point;
private const PIVOT_POINT2:Point;
private const PIVOT_POINT3:Point;
private const SPEED_BONUS:uint = 24;
private var _spraySound:String;// = "SFX28"
private var _waterSpeedHit:Number;// = 1
private var _waterBadZone:Boolean;// = false
private var _active:Boolean;// = true
private var _waterSpend:Number;// = 0.18
private var _waterColliding:Boolean;// = false
private var _waterLevel:Number;// = 100
private var _waterPoint:Point;
private var _waterLowSound:Boolean;// = false
private var _lastHitLength:Number;
private var _waterPressure:Number;// = 0
private var _enemy;
private var _movingRight:Boolean;// = false
private var _bonusEternal:Boolean;// = false
private var _lastHoseAngle:Number;// = 0
private var _keys:KeyUtils;
private var _moveLeft:Boolean;// = false
private var _specialSpeed:Boolean;// = false
private var _converDegrees:ConvertDegrees;
private var _fire:Boolean;// = false
public var water:MovieClip;
private var _allowedToFire:Boolean;// = true
private var _playerID:uint;// = 1
public var character:MovieClip;
private var _waterP:Point;
private var _moveRight:Boolean;// = false
private var _bonusSpeed:Boolean;// = false
private var _waterSpeedOn:Number;// = 20
private var _beenReleased:Boolean;// = false
private var _stepping:Boolean;// = false
private var _lastTorsoOffset:Number;// = 0
private var _stopFiringSound:Boolean;// = false
private var _waterRefil:Number;// = 1.6
private var _localVanishingPoint:Point;
private var _predictedPos:Number;// = 0
private var _waterSpeedOff:Number;// = 20
private var _lastTorsoAngle:Number;// = 0
public static const WATER_FILL:String = "WaterFill";
public static const WATER_LEVEL:String = "WaterLevel";
public function Player(){
START_POINT = new Point(251, 550);
PIVOT_POINT = new Point(271, 550);
PIVOT_POINT2 = new Point(195, 550);
PIVOT_POINT3 = new Point(345, 550);
LEFT_POINT = new Point(50, 500);
RIGHT_POINT = new Point(498, 500);
VANISHING_POINT = new Point(275, -490);
_converDegrees = new ConvertDegrees();
_localVanishingPoint = new Point(0, 0);
_waterPoint = new Point(0, 0);
_moveLeft = false;
_moveRight = false;
_predictedPos = 0;
_fire = false;
_waterPressure = 0;
_waterSpeedOn = 20;
_waterSpeedOff = 20;
_waterSpeedHit = 1;
_waterColliding = false;
_waterLevel = 100;
_waterSpend = 0.18;
_waterRefil = 1.6;
_active = true;
_waterBadZone = false;
_allowedToFire = true;
_beenReleased = false;
_playerID = 1;
_movingRight = false;
_lastHoseAngle = 0;
_lastTorsoAngle = 0;
_lastTorsoOffset = 0;
_bonusSpeed = false;
_bonusEternal = false;
_specialSpeed = false;
_stepping = false;
_stopFiringSound = false;
_spraySound = "SFX28";
_waterLowSound = false;
super();
addFrameScript(0, frame1);
this.x = START_POINT.x;
this.y = START_POINT.y;
setWaterLength(WATER_LENGTH);
}
private function gotoPreviousFrame():void{
this.character[("player" + _playerID)].forward.visible = true;
if (this.character[("player" + _playerID)].forward.currentFrame > 1){
this.character[("player" + _playerID)].forward.prevFrame();
} else {
this.character[("player" + _playerID)].forward.gotoAndStop(16);
};
stepSound();
}
private function gotoNextFrame():void{
var _local1:uint;
_local1 = Random.range(15, 17);
this.character[("player" + _playerID)].forward.visible = true;
this.character[("player" + _playerID)].forward.nextFrame();
stepSound();
}
private function moveTo():void{
if (_active){
if ((((_predictedPos > LEFT_POINT.x)) && ((_predictedPos < RIGHT_POINT.x)))){
if (_predictedPos > PIVOT_POINT.x){
if (this.currentFrame != 2){
this.gotoAndStop(2);
};
if (this.character.currentFrame != 1){
this.character.gotoAndStop(1);
};
if (_moveRight){
this.character[("player" + _playerID)].gotoAndStop(2);
FrameUtils.onEnterFrame(2, character[("player" + _playerID)], gotoPreviousFrame);
} else {
if (_moveLeft){
this.character[("player" + _playerID)].gotoAndStop(2);
FrameUtils.onEnterFrame(2, character[("player" + _playerID)], gotoNextFrame);
};
};
} else {
if (this.currentFrame != 1){
this.gotoAndStop(1);
};
if (this.character.currentFrame != 1){
this.character.gotoAndStop(1);
};
if (_moveRight){
this.character[("player" + _playerID)].gotoAndStop(2);
FrameUtils.onEnterFrame(2, character[("player" + _playerID)], gotoNextFrame);
} else {
if (_moveLeft){
this.character[("player" + _playerID)].gotoAndStop(2);
FrameUtils.onEnterFrame(2, character[("player" + _playerID)], gotoPreviousFrame);
};
};
};
rotateWater();
};
};
}
private function playerMove():void{
var _local1:*;
if (_active){
_moveLeft = _keys.isDown(37);
_moveRight = _keys.isDown(39);
_fire = _keys.isDown(32);
_local1 = 0;
if (!_bonusSpeed){
if (!_specialSpeed){
_local1 = (_fire) ? SPEED_FIRE : SPEED;
} else {
_local1 = SPECIAL_SPEED;
};
} else {
_local1 = SPEED_BONUS;
};
if (((_moveLeft) && (_moveRight))){
} else {
if (_moveLeft){
_movingRight = false;
_predictedPos = (this.x - _local1);
moveTo();
} else {
if (_moveRight){
_movingRight = true;
_predictedPos = (this.x + _local1);
moveTo();
} else {
this.character.gotoAndStop(2);
FrameUtils.onEnterFrame(2, this.character, setStandingRotation);
};
};
};
};
}
private function stopStepping():void{
_stepping = false;
}
private function updateWaterLength(){
if (_active){
setWaterLength(_waterPressure);
};
}
public function handleKeys(_arg1:Event=null):void{
focus();
playerMove();
setWaterCannon();
}
private function setStandingRotation():void{
if (((((!((_lastHoseAngle == 0))) && (!((_lastTorsoAngle == 0))))) && (!((_lastTorsoOffset == 0))))){
this.character[("player" + _playerID)].hose.rotation = _lastHoseAngle;
this.character[("player" + _playerID)].torso.rotation = _lastTorsoAngle;
this.character[("player" + _playerID)].torso.x = _lastTorsoOffset;
};
}
private function rotateWater():void{
var _local1:Number;
if (((((!((this.water == null))) && (!((this.character[("player" + _playerID)].hose == null))))) && (!((this.character[("player" + _playerID)].torso == null))))){
this.x = _predictedPos;
_waterPoint = new Point(this.x, this.y);
_local1 = PointDistance.betweenPoints(_waterPoint, PIVOT_POINT);
this.water.rotation = ((this.currentFrame)==1) ? (_local1 / 15) : -((_local1 / 15));
if (this.x < PIVOT_POINT.x){
this.water.x = (this.character[("player" + _playerID)].torso.rotation / 0.8);
} else {
this.water.x = -((this.character[("player" + _playerID)].torso.rotation / 0.8));
};
if (_playerID == 1){
this.character[("player" + _playerID)].hose.rotation = (_local1 / 15);
this.character[("player" + _playerID)].torso.rotation = (_local1 / 15);
this.character[("player" + _playerID)].torso.x = (-20.1 + (this.character[("player" + _playerID)].torso.rotation / 1.4));
} else {
if (_playerID == 2){
this.character[("player" + _playerID)].hose.rotation = (_local1 / 15);
this.character[("player" + _playerID)].torso.rotation = (_local1 / 15);
this.character[("player" + _playerID)].torso.x = (-17.1 + (this.character[("player" + _playerID)].torso.rotation / 1.4));
};
};
_lastHoseAngle = this.character[("player" + _playerID)].hose.rotation;
_lastTorsoAngle = this.character[("player" + _playerID)].torso.rotation;
_lastTorsoOffset = this.character[("player" + _playerID)].torso.x;
};
}
function frame1(){
stop();
}
public function bonusDoubleOFF():void{
_specialSpeed = false;
}
public function get waterLevel():Number{
return (_waterLevel);
}
public function bonusDoubleON():void{
_specialSpeed = true;
}
public function set sex(_arg1:int):void{
_playerID = _arg1;
if ((_playerID == 1)){
this.character["mask2"].x = 1000;
} else {
this.character["mask1"].x = 1000;
};
}
private function buildKeyListener():void{
_keys = new KeyUtils(stage);
this.addEventListener(Event.ENTER_FRAME, handleKeys);
}
public function bonusSpeedOFF():void{
_bonusSpeed = false;
}
public function fireCannon():void{
var position:Number;
if (!SoundUtils.isSFXPlaying("SFX28")){
try {
SoundUtils.playSFX("SFX28", true);
} catch(e:Error) {
trace("Sound Error SFX28");
};
};
_stopFiringSound = true;
if ((_waterLevel - _waterSpend) > 0){
if (((_allowedToFire) && (!(_beenReleased)))){
_waterBadZone = (((_waterLevel - _waterSpend))<MIN_LEVEL) ? true : false;
if (!_waterBadZone){
_beenReleased = false;
_allowedToFire = true;
};
if (!_bonusEternal){
_waterLevel = (_waterLevel - _waterSpend);
};
if ((((_waterPressure < 100)) && (!(_waterColliding)))){
_waterPressure = (_waterPressure + _waterSpeedOn);
_lastHitLength = _waterPressure;
} else {
if ((((_waterPressure > 0)) && (_waterColliding))){
if ((_enemy is Enemy)){
position = ((_enemy.y - (_enemy.character.height * _enemy.scaleX)) - 10);
if (_waterP.y < position){
_waterPressure = 0;
};
} else {
if ((_enemy is BeachBall)){
position = _enemy.y;
if (_waterP.y < position){
_waterPressure = 0;
};
};
};
};
};
} else {
_waterPressure = 0;
};
} else {
_beenReleased = true;
_allowedToFire = false;
_waterPressure = 0;
_lastHitLength = 0;
_waterLevel = 0;
};
if (_waterLevel < 10){
if (!_waterLowSound){
_waterLowSound = true;
if (!SoundUtils.isSFXPlaying("SFX32")){
try {
SoundUtils.playSFX("SFX32");
} catch(e:Error) {
trace("Sound Error SFX32");
};
};
};
} else {
_waterLowSound = false;
};
dispatchEvent(new Event(WATER_LEVEL));
}
private function refil():void{
if ((_waterLevel + _waterRefil) < 100){
_waterBadZone = (((_waterLevel + _waterRefil))>=MIN_LEVEL) ? false : true;
if (!_waterBadZone){
_beenReleased = false;
_allowedToFire = true;
};
_waterLevel = (_waterLevel + _waterRefil);
} else {
_waterLevel = 100;
_waterBadZone = false;
};
if ((_waterPressure - _waterSpeedOff) > 0.01){
_waterPressure = (_waterPressure - _waterSpeedOff);
} else {
_waterPressure = 0.01;
};
dispatchEvent(new Event(WATER_LEVEL));
}
public function set enemy(_arg1):void{
_enemy = _arg1;
if ((_enemy is BeachBall)){
this.water.splash.visible = true;
};
}
public function setWaterLength(_arg1:Number):void{
var _local2:Number;
var _local3:Number;
if (_arg1 < MAX_WATER){
_local2 = PointDistance.betweenPoints(new Point(this.water.splash.x, this.water.splash.y), VANISHING_POINT);
_local3 = (_local2 / 500);
TweenLite.to(this.water.masking, 0, {scaleY:(_arg1 / 100)});
TweenLite.to(this.water.splash, 0, {y:-(this.water.masking.height), scaleX:_local3, scaleY:_local3});
if (this.water.masking.scaleY < 0.06){
this.water.splash.visible = false;
} else {
this.water.splash.visible = true;
};
};
}
public function set hit(_arg1:Boolean):void{
_waterColliding = _arg1;
_spraySound = (_waterColliding) ? "SFX29" : "SFX28";
}
private function focus():void{
if (stage){
stage.focus = stage;
};
}
public function init():void{
buildKeyListener();
}
private function setWaterCannon():void{
if (_active){
_fire = _keys.isDown(32);
if (((!(_fire)) && (_waterBadZone))){
_beenReleased = true;
_allowedToFire = false;
};
if (((_fire) && ((_waterLevel > 0)))){
fireCannon();
} else {
refil();
SoundUtils.stopSFX("SFX28");
SoundUtils.stopSFX("SFX29");
if (((!(SoundUtils.isSFXPlaying("SFX33"))) && (_stopFiringSound))){
_stopFiringSound = false;
try {
SoundUtils.playSFX("SFX33");
} catch(e:Error) {
trace("Sound Error SFX33");
};
};
};
this.water.splash.alpha = (_waterColliding) ? 1 : 0;
updateWaterLength();
};
}
public function bonusEternalON():void{
_bonusEternal = true;
dispatchEvent(new Event(WATER_FILL));
_waterLevel = 100;
_specialSpeed = true;
}
public function bonusSpeedON():void{
_bonusSpeed = true;
}
public function set waterPoint(_arg1:Point):void{
_waterP = _arg1;
}
private function stepSound():void{
var rand:uint;
if (!_stepping){
_stepping = true;
rand = Random.range(15, 17);
if (!SoundUtils.isSFXPlaying(("SFX" + rand))){
try {
SoundUtils.playSFX(("SFX" + rand));
} catch(e:Error) {
trace(("Sound Error SFX" + rand));
};
};
TweenLite.to({}, (Random.range(1, 4) / 10), {onComplete:stopStepping});
};
}
public function bonusEternalOFF():void{
_bonusEternal = false;
_waterSpend = 0.18;
_specialSpeed = false;
}
public function gameOver():void{
this.removeEventListener(Event.ENTER_FRAME, handleKeys);
_waterLevel = 0;
this.water.splash.visible = false;
setWaterLength(0);
_active = false;
}
}
}//package
Section 217
//Popup (Popup)
package {
import flash.display.*;
public dynamic class Popup extends MovieClip {
public function Popup(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 218
//PreloadDisplay (PreloadDisplay)
package {
import flash.display.*;
public dynamic class PreloadDisplay extends MovieClip {
public var bar:MovieClip;
}
}//package
Section 219
//Puddles (Puddles)
package {
import flash.display.*;
public dynamic class Puddles extends MovieClip {
}
}//package
Section 220
//RadioButton_disabledIcon (RadioButton_disabledIcon)
package {
import flash.display.*;
public dynamic class RadioButton_disabledIcon extends MovieClip {
}
}//package
Section 221
//RadioButton_downIcon (RadioButton_downIcon)
package {
import flash.display.*;
public dynamic class RadioButton_downIcon extends MovieClip {
}
}//package
Section 222
//RadioButton_overIcon (RadioButton_overIcon)
package {
import flash.display.*;
public dynamic class RadioButton_overIcon extends MovieClip {
}
}//package
Section 223
//RadioButton_selectedDisabledIcon (RadioButton_selectedDisabledIcon)
package {
import flash.display.*;
public dynamic class RadioButton_selectedDisabledIcon extends MovieClip {
}
}//package
Section 224
//RadioButton_selectedDownIcon (RadioButton_selectedDownIcon)
package {
import flash.display.*;
public dynamic class RadioButton_selectedDownIcon extends MovieClip {
}
}//package
Section 225
//RadioButton_selectedOverIcon (RadioButton_selectedOverIcon)
package {
import flash.display.*;
public dynamic class RadioButton_selectedOverIcon extends MovieClip {
}
}//package
Section 226
//RadioButton_selectedUpIcon (RadioButton_selectedUpIcon)
package {
import flash.display.*;
public dynamic class RadioButton_selectedUpIcon extends MovieClip {
}
}//package
Section 227
//RadioButton_upIcon (RadioButton_upIcon)
package {
import flash.display.*;
public dynamic class RadioButton_upIcon extends MovieClip {
}
}//package
Section 228
//ScenaryContainer (ScenaryContainer)
package {
import flash.display.*;
public dynamic class ScenaryContainer extends MovieClip {
}
}//package
Section 229
//ScoresMenu (ScoresMenu)
package {
import flash.display.*;
public dynamic class ScoresMenu extends MovieClip {
public var scoreboard:MovieClip;
}
}//package
Section 230
//ScrollArrowDown_disabledSkin (ScrollArrowDown_disabledSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_disabledSkin extends MovieClip {
}
}//package
Section 231
//ScrollArrowDown_downSkin (ScrollArrowDown_downSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_downSkin extends MovieClip {
}
}//package
Section 232
//ScrollArrowDown_overSkin (ScrollArrowDown_overSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_overSkin extends MovieClip {
}
}//package
Section 233
//ScrollArrowDown_upSkin (ScrollArrowDown_upSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowDown_upSkin extends MovieClip {
}
}//package
Section 234
//ScrollArrowUp_disabledSkin (ScrollArrowUp_disabledSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_disabledSkin extends MovieClip {
}
}//package
Section 235
//ScrollArrowUp_downSkin (ScrollArrowUp_downSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_downSkin extends MovieClip {
}
}//package
Section 236
//ScrollArrowUp_overSkin (ScrollArrowUp_overSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_overSkin extends MovieClip {
}
}//package
Section 237
//ScrollArrowUp_upSkin (ScrollArrowUp_upSkin)
package {
import flash.display.*;
public dynamic class ScrollArrowUp_upSkin extends MovieClip {
}
}//package
Section 238
//ScrollBar_thumbIcon (ScrollBar_thumbIcon)
package {
import flash.display.*;
public dynamic class ScrollBar_thumbIcon extends MovieClip {
}
}//package
Section 239
//ScrollThumb_downSkin (ScrollThumb_downSkin)
package {
import flash.display.*;
public dynamic class ScrollThumb_downSkin extends MovieClip {
}
}//package
Section 240
//ScrollThumb_overSkin (ScrollThumb_overSkin)
package {
import flash.display.*;
public dynamic class ScrollThumb_overSkin extends MovieClip {
}
}//package
Section 241
//ScrollThumb_upSkin (ScrollThumb_upSkin)
package {
import flash.display.*;
public dynamic class ScrollThumb_upSkin extends MovieClip {
}
}//package
Section 242
//ScrollTrack_skin (ScrollTrack_skin)
package {
import flash.display.*;
public dynamic class ScrollTrack_skin extends MovieClip {
}
}//package
Section 243
//SFX1 (SFX1)
package {
import flash.media.*;
public dynamic class SFX1 extends Sound {
}
}//package
Section 244
//SFX10 (SFX10)
package {
import flash.media.*;
public dynamic class SFX10 extends Sound {
}
}//package
Section 245
//SFX11 (SFX11)
package {
import flash.media.*;
public dynamic class SFX11 extends Sound {
}
}//package
Section 246
//SFX12 (SFX12)
package {
import flash.media.*;
public dynamic class SFX12 extends Sound {
}
}//package
Section 247
//SFX13 (SFX13)
package {
import flash.media.*;
public dynamic class SFX13 extends Sound {
}
}//package
Section 248
//SFX14 (SFX14)
package {
import flash.media.*;
public dynamic class SFX14 extends Sound {
}
}//package
Section 249
//SFX15 (SFX15)
package {
import flash.media.*;
public dynamic class SFX15 extends Sound {
}
}//package
Section 250
//SFX16 (SFX16)
package {
import flash.media.*;
public dynamic class SFX16 extends Sound {
}
}//package
Section 251
//SFX17 (SFX17)
package {
import flash.media.*;
public dynamic class SFX17 extends Sound {
}
}//package
Section 252
//SFX18 (SFX18)
package {
import flash.media.*;
public dynamic class SFX18 extends Sound {
}
}//package
Section 253
//SFX19 (SFX19)
package {
import flash.media.*;
public dynamic class SFX19 extends Sound {
}
}//package
Section 254
//SFX2 (SFX2)
package {
import flash.media.*;
public dynamic class SFX2 extends Sound {
}
}//package
Section 255
//SFX20 (SFX20)
package {
import flash.media.*;
public dynamic class SFX20 extends Sound {
}
}//package
Section 256
//SFX22 (SFX22)
package {
import flash.media.*;
public dynamic class SFX22 extends Sound {
}
}//package
Section 257
//SFX23 (SFX23)
package {
import flash.media.*;
public dynamic class SFX23 extends Sound {
}
}//package
Section 258
//SFX24 (SFX24)
package {
import flash.media.*;
public dynamic class SFX24 extends Sound {
}
}//package
Section 259
//SFX25 (SFX25)
package {
import flash.media.*;
public dynamic class SFX25 extends Sound {
}
}//package
Section 260
//SFX26 (SFX26)
package {
import flash.media.*;
public dynamic class SFX26 extends Sound {
}
}//package
Section 261
//SFX27 (SFX27)
package {
import flash.media.*;
public dynamic class SFX27 extends Sound {
}
}//package
Section 262
//SFX28 (SFX28)
package {
import flash.media.*;
public dynamic class SFX28 extends Sound {
}
}//package
Section 263
//SFX29 (SFX29)
package {
import flash.media.*;
public dynamic class SFX29 extends Sound {
}
}//package
Section 264
//SFX3 (SFX3)
package {
import flash.media.*;
public dynamic class SFX3 extends Sound {
}
}//package
Section 265
//SFX30 (SFX30)
package {
import flash.media.*;
public dynamic class SFX30 extends Sound {
}
}//package
Section 266
//SFX31 (SFX31)
package {
import flash.media.*;
public dynamic class SFX31 extends Sound {
}
}//package
Section 267
//SFX32 (SFX32)
package {
import flash.media.*;
public dynamic class SFX32 extends Sound {
}
}//package
Section 268
//SFX33 (SFX33)
package {
import flash.media.*;
public dynamic class SFX33 extends Sound {
}
}//package
Section 269
//SFX4 (SFX4)
package {
import flash.media.*;
public dynamic class SFX4 extends Sound {
}
}//package
Section 270
//SFX5 (SFX5)
package {
import flash.media.*;
public dynamic class SFX5 extends Sound {
}
}//package
Section 271
//SFX6 (SFX6)
package {
import flash.media.*;
public dynamic class SFX6 extends Sound {
}
}//package
Section 272
//SFX7 (SFX7)
package {
import flash.media.*;
public dynamic class SFX7 extends Sound {
}
}//package
Section 273
//SFX8 (SFX8)
package {
import flash.media.*;
public dynamic class SFX8 extends Sound {
}
}//package
Section 274
//SFX9 (SFX9)
package {
import flash.media.*;
public dynamic class SFX9 extends Sound {
}
}//package
Section 275
//SliderThumb_disabledSkin (SliderThumb_disabledSkin)
package {
import flash.display.*;
public dynamic class SliderThumb_disabledSkin extends MovieClip {
}
}//package
Section 276
//SliderThumb_downSkin (SliderThumb_downSkin)
package {
import flash.display.*;
public dynamic class SliderThumb_downSkin extends MovieClip {
}
}//package
Section 277
//SliderThumb_overSkin (SliderThumb_overSkin)
package {
import flash.display.*;
public dynamic class SliderThumb_overSkin extends MovieClip {
}
}//package
Section 278
//SliderThumb_upSkin (SliderThumb_upSkin)
package {
import flash.display.*;
public dynamic class SliderThumb_upSkin extends MovieClip {
}
}//package
Section 279
//SliderTick_skin (SliderTick_skin)
package {
import flash.display.*;
public dynamic class SliderTick_skin extends MovieClip {
}
}//package
Section 280
//SliderTrack_disabledSkin (SliderTrack_disabledSkin)
package {
import flash.display.*;
public dynamic class SliderTrack_disabledSkin extends MovieClip {
}
}//package
Section 281
//SliderTrack_skin (SliderTrack_skin)
package {
import flash.display.*;
public dynamic class SliderTrack_skin extends MovieClip {
}
}//package
Section 282
//SoundControl (SoundControl)
package {
import flash.display.*;
import flash.events.*;
import gs.*;
import console.sounds.*;
import gs.easing.*;
public class SoundControl extends MovieClip {
public var SoundButton:MovieClip;
private var _lastSFXVolume:Number;// = 1
private var _isMenuVisible:Boolean;// = false
private var _style:uint;// = 1
public var hitZone:MovieClip;
private var _lastMusicVolume:Number;// = 1
public static const VOLUME_CHANGE:String = "Change";
public static const MUTE:String = "Mute";
public static const UNMUTE:String = "Unmute";
public function SoundControl(_arg1:uint){
_isMenuVisible = false;
_style = 1;
_lastSFXVolume = 1;
_lastMusicVolume = 1;
super();
style(_arg1);
this.SoundButton.SoundMenu.visible = false;
this.SoundButton.buttonMode = true;
this.hitZone.addEventListener(MouseEvent.MOUSE_OVER, mouseClose);
this.SoundButton.addEventListener(MouseEvent.CLICK, mouseHandler);
this.addEventListener(MouseEvent.MOUSE_OVER, mouseHandler);
}
public function set sfxVolume(_arg1:Number):void{
if (_style == 1){
SoundButton.SoundMenu.sliderSFX.value = _arg1;
dispatch(VOLUME_CHANGE);
};
}
public function get volume():Number{
return (SoundButton.SoundMenu.sliderVolume.value);
}
public function set volume(_arg1:Number):void{
if (_style == 2){
SoundButton.SoundMenu.sliderVolume.value = _arg1;
dispatch(VOLUME_CHANGE);
};
}
public function set musicVolume(_arg1:Number):void{
if (_style == 1){
trace(("MUSIC VOLUME SET:" + _arg1));
SoundButton.SoundMenu.sliderMusic.value = _arg1;
dispatch(VOLUME_CHANGE);
};
}
private function volumeChange(_arg1:Event):void{
dispatch(VOLUME_CHANGE);
}
private function mouseClose(_arg1:MouseEvent):void{
_isMenuVisible = false;
TweenLite.to(this.SoundButton.SoundMenu, 0.3, {scaleX:0, scaleY:0, autoAlpha:0});
}
public function get musicVolume():Number{
return (SoundButton.SoundMenu.sliderMusic.value);
}
private function dispatch(_arg1:String):void{
dispatchEvent(new Event(_arg1));
}
private function style(_arg1:uint):void{
_style = _arg1;
this.SoundButton.SoundMenu.gotoAndStop(_style);
this.hitZone.gotoAndStop(_style);
if (_style == 1){
this.SoundButton.SoundMenu.sliderMusic.addEventListener(Event.CHANGE, volumeChange);
this.SoundButton.SoundMenu.sliderSFX.addEventListener(Event.CHANGE, volumeChange);
} else {
if (_style == 2){
this.SoundButton.SoundMenu.sliderVolume.addEventListener(Event.CHANGE, volumeChange);
};
};
}
private function mouseHandler(_arg1:MouseEvent):void{
var _local2:String;
_local2 = _arg1.type;
if ((((((_arg1.target.name == "SoundBTN")) || ((_arg1.target.name == "soundButton")))) && ((_local2 == "click")))){
if (SoundButton.currentFrame == 1){
dispatch(MUTE);
SoundUtils.TrackChannelLastVolume(false);
TweenLite.to({}, 0.5, {onComplete:SoundUtils.TrackChannelLastVolume, onCompleteParams:[true]});
if (_style == 1){
TweenLite.to(SoundButton.SoundMenu.sliderMusic, 0.3, {value:0, onComplete:dispatch, onCompleteParams:[VOLUME_CHANGE]});
};
if (_style == 1){
TweenLite.to(SoundButton.SoundMenu.sliderSFX, 0.3, {value:0, onComplete:dispatch, onCompleteParams:[VOLUME_CHANGE]});
};
if (_style == 1){
SoundButton.SoundMenu.sliderSFX.enabled = false;
};
if (_style == 1){
SoundButton.SoundMenu.sliderMusic.enabled = false;
};
if (_style == 2){
TweenLite.to(SoundButton.SoundMenu.sliderVolume, 0.3, {value:0, onComplete:dispatch, onCompleteParams:[VOLUME_CHANGE]});
};
if (_style == 2){
SoundButton.SoundMenu.sliderVolume.enabled = false;
};
SoundButton.gotoAndStop(2);
SoundButton.SoundMenu.soundButton.gotoAndStop(2);
} else {
if (SoundButton.currentFrame == 2){
dispatch(UNMUTE);
SoundUtils.TrackChannelLastVolume(false);
TweenLite.to({}, 0.5, {onComplete:SoundUtils.TrackChannelLastVolume, onCompleteParams:[true]});
trace(("TARGET:" + SoundUtils.getVolumeMusicChannel()));
if (_style == 1){
TweenLite.to(SoundButton.SoundMenu.sliderMusic, 0.3, {value:SoundUtils.getVolumeMusicChannel(), onComplete:dispatch, onCompleteParams:[VOLUME_CHANGE]});
};
if (_style == 1){
TweenLite.to(SoundButton.SoundMenu.sliderSFX, 0.3, {value:SoundUtils.getVolumeSFXChannel(), onComplete:dispatch, onCompleteParams:[VOLUME_CHANGE]});
};
if (_style == 1){
SoundButton.SoundMenu.sliderSFX.enabled = true;
};
if (_style == 1){
SoundButton.SoundMenu.sliderMusic.enabled = true;
};
if (_style == 2){
TweenLite.to(SoundButton.SoundMenu.sliderVolume, 0.3, {value:1, onComplete:dispatch, onCompleteParams:[VOLUME_CHANGE]});
};
if (_style == 2){
SoundButton.SoundMenu.sliderVolume.enabled = true;
};
SoundButton.gotoAndStop(1);
SoundButton.SoundMenu.soundButton.gotoAndStop(1);
};
};
} else {
if ((((((_arg1.target.name == "SoundBTN")) && ((_local2 == "mouseOver")))) && (!(_isMenuVisible)))){
_isMenuVisible = true;
TweenLite.from(this.SoundButton.SoundMenu, 0.4, {scaleX:0, scaleY:0});
TweenLite.to(this.SoundButton.SoundMenu, 0.4, {scaleX:1, scaleY:1, autoAlpha:1, ease:Cubic.easeOut});
};
};
}
public function get sfxVolume():Number{
return (SoundButton.SoundMenu.sliderSFX.value);
}
}
}//package
Section 283
//SubmitMenu (SubmitMenu)
package {
import flash.display.*;
public dynamic class SubmitMenu extends MovieClip {
public var SubmitPrivacy:SimpleButton;
public var time:MovieClip;
public var form:MovieClip;
public function SubmitMenu(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 284
//Table1 (Table1)
package {
import flash.display.*;
public dynamic class Table1 extends MovieClip {
}
}//package
Section 285
//Table2 (Table2)
package {
import flash.display.*;
public dynamic class Table2 extends MovieClip {
}
}//package
Section 286
//TextInput_disabledSkin (TextInput_disabledSkin)
package {
import flash.display.*;
public dynamic class TextInput_disabledSkin extends MovieClip {
}
}//package
Section 287
//TextInput_upSkin (TextInput_upSkin)
package {
import flash.display.*;
public dynamic class TextInput_upSkin extends MovieClip {
}
}//package
Section 288
//TickBox (TickBox)
package {
import flash.display.*;
import flash.events.*;
public class TickBox extends MovieClip {
public var check:SimpleButton;
private var _ticked:Boolean;// = false
public function TickBox(){
_ticked = false;
super();
addFrameScript(0, frame1, 9, frame10);
stop();
check.addEventListener(MouseEvent.CLICK, change);
}
public function set selected(_arg1:Boolean):void{
_ticked = _arg1;
if (_ticked){
this.gotoAndStop("checked");
} else {
this.gotoAndStop("unchecked");
};
}
function frame10(){
stop();
}
function frame1(){
stop();
}
public function change(_arg1:Event=null):void{
if (_ticked){
selected = false;
} else {
selected = true;
};
}
public function get selected():Boolean{
return (_ticked);
}
}
}//package
Section 289
//TimeBox (TimeBox)
package {
import flash.display.*;
import flash.text.*;
public dynamic class TimeBox extends MovieClip {
public var m:TextField;
public var s:TextField;
public var ms:TextField;
}
}//package
Section 290
//Towels (Towels)
package {
import flash.display.*;
public dynamic class Towels extends MovieClip {
}
}//package
Section 291
//TrackEvents (TrackEvents)
package {
import com.memecounter.*;
public class TrackEvents {
public static function fireEvent(_arg1:String):void{
switch (_arg1){
case "main seasons logo":
Tracker.kvClick(1093);
trace(("click 1093: " + _arg1));
break;
case "main visit seasons":
Tracker.kvClick(1097);
trace(("click 1097: " + _arg1));
break;
case "main play":
Tracker.kvEvent(2953);
trace(("click 2953: " + _arg1));
break;
case "main competition":
Tracker.kvEvent(2954);
trace(("click 2954: " + _arg1));
break;
case "main share":
Tracker.kvEvent(2955);
trace(("click 2955: " + _arg1));
break;
case "main highscores":
Tracker.kvEvent(2956);
trace(("click 2956: " + _arg1));
break;
case "highscores seasons logo":
Tracker.kvClick(1094);
trace(("click 1094: " + _arg1));
break;
case "highscores competition":
Tracker.kvEvent(2959);
trace(("click 2959: " + _arg1));
break;
case "share friend":
Tracker.kvEvent(2986);
trace(("click 2986: " + _arg1));
break;
case "share seasons logo":
Tracker.kvClick(1095);
trace(("click 1095: " + _arg1));
break;
case "share competition":
Tracker.kvEvent(2960);
trace(("click 2960: " + _arg1));
break;
case "share facebook":
Tracker.kvEvent(2961);
trace(("click 2961: " + _arg1));
break;
case "share twitter":
Tracker.kvEvent(2962);
trace(("click 2962: " + _arg1));
break;
case "share digg":
Tracker.kvEvent(2963);
trace(("click 2963: " + _arg1));
break;
case "share google":
Tracker.kvEvent(2964);
trace(("click 2964: " + _arg1));
break;
case "share reddit":
Tracker.kvEvent(2965);
trace(("click 2965: " + _arg1));
break;
case "share stumbleupon":
Tracker.kvEvent(2966);
trace(("click 2966: " + _arg1));
break;
case "share delicious":
Tracker.kvEvent(2967);
trace(("click 2967: " + _arg1));
break;
case "share yahoo":
Tracker.kvEvent(2968);
trace(("click 2968: " + _arg1));
break;
case "competition seasons logo":
Tracker.kvClick(1096);
trace(("click 1096: " + _arg1));
break;
case "competition play":
Tracker.kvEvent(2987);
trace(("click 2987: " + _arg1));
break;
case "competition thankyou visit":
Tracker.kvEvent(1103);
trace(("click 1103: " + _arg1));
break;
case "character seasons logo":
Tracker.kvClick(1098);
trace(("click 1098: " + _arg1));
break;
case "character male":
Tracker.kvEvent(2972);
trace(("click 2972: " + _arg1));
break;
case "character female":
Tracker.kvEvent(2973);
trace(("click 2973: " + _arg1));
break;
case "towel seasons logo":
Tracker.kvClick(1099);
trace(("click 1099: " + _arg1));
break;
case "how seasons logo":
Tracker.kvClick(1100);
trace(("click 1100: " + _arg1));
break;
case "game over seasons logo":
Tracker.kvClick(1102);
trace(("click 1102: " + _arg1));
break;
case "game over competition":
Tracker.kvEvent(2984);
trace(("click 2984: " + _arg1));
break;
case "game over submit":
Tracker.kvEvent(2985);
trace(("click 2985: " + _arg1));
break;
case "koko logo":
Tracker.kvClick(1101);
trace(("click 1101: " + _arg1));
break;
case "time1":
Tracker.kvEvent(2976);
trace(("click 2976: " + _arg1));
break;
case "time2":
Tracker.kvEvent(2977);
trace(("click 2977: " + _arg1));
break;
case "time3":
Tracker.kvEvent(2978);
trace(("click 2978: " + _arg1));
break;
case "time4":
Tracker.kvEvent(2979);
trace(("click 2979: " + _arg1));
break;
case "time5":
Tracker.kvEvent(2980);
trace(("click 2980: " + _arg1));
break;
case "time6":
Tracker.kvEvent(2981);
trace(("click 2981: " + _arg1));
break;
case "time7":
Tracker.kvEvent(2982);
trace(("click 2982: " + _arg1));
break;
case "time8":
Tracker.kvEvent(2983);
trace(("click 2983: " + _arg1));
break;
};
}
}
}//package
Section 292
//Umbrella (Umbrella)
package {
import flash.display.*;
public dynamic class Umbrella extends MovieClip {
}
}//package
Section 293
//WaterTank (WaterTank)
package {
import flash.display.*;
import gs.*;
public class WaterTank extends MovieClip {
private var _waterLevel:Number;// = 1
public var top:MovieClip;
public var level:MovieClip;
public function WaterTank(){
_waterLevel = 1;
super();
updatewaterLevel();
}
private function updatewaterLevel():void{
if (_waterLevel > 0.01){
this.level.scaleY = _waterLevel;
} else {
this.level.scaleY = 0;
};
if (this.level.scaleY > 0.1){
this.top.y = (this.level.y - this.level.height);
this.top.scaleX = (0.5 + this.level.scaleY);
this.top.scaleY = (0.5 + this.level.scaleY);
TweenMax.to(this.level, 0.1, {colorMatrixFilter:{colorize:15478820, amount:0, brightness:1}});
TweenMax.to(this.top, 0.1, {colorMatrixFilter:{colorize:15478820, amount:0, brightness:1}});
} else {
this.top.y = (this.level.y - this.level.height);
this.top.scaleX = 1;
this.top.scaleY = 1;
TweenMax.to(this.level, 0.1, {colorMatrixFilter:{colorize:15478820, amount:1, brightness:2}});
TweenMax.to(this.top, 0.1, {colorMatrixFilter:{colorize:15478820, amount:1, brightness:2}});
};
}
public function set waterLevel(_arg1:Number):void{
_waterLevel = (_arg1 / 100);
updatewaterLevel();
}
public function get waterLevel():Number{
return ((_waterLevel * 100));
}
}
}//package