Section 1
//Strong (fl.transitions.easing.Strong)
package fl.transitions.easing {
public class Strong {
public function Strong(){
super();
}
public static function easeOut(t:Number, b:Number, c:Number, d:Number):Number{
t = ((t / d) - 1);
return (((c * (((((t * t) * t) * t) * t) + 1)) + b));
}
public static function easeIn(t:Number, b:Number, c:Number, d:Number):Number{
t = (t / d);
return (((((((c * t) * t) * t) * t) * t) + b));
}
public static function easeInOut(t:Number, b:Number, c:Number, d:Number):Number{
t = (t / (d / 2));
if (t < 1){
return ((((((((c / 2) * t) * t) * t) * t) * t) + b));
};
t = (t - 2);
return ((((c / 2) * (((((t * t) * t) * t) * t) + 2)) + b));
}
}
}//package fl.transitions.easing
Section 2
//Tween (fl.transitions.Tween)
package fl.transitions {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class Tween extends EventDispatcher {
private var _position:Number;// = NAN
public var prevTime:Number;// = NAN
public var prevPos:Number;// = NAN
public var isPlaying:Boolean;// = false
private var _fps:Number;// = NAN
private var _time:Number;// = NAN
public var begin:Number;// = NAN
private var _finish:Number;// = NAN
public var change:Number;// = NAN
public var looping:Boolean;// = false
private var _intervalID:uint;// = 0
public var func:Function;
private var _timer:Timer;// = null
private var _startTime:Number;// = NAN
public var prop:String;// = ""
private var _duration:Number;// = NAN
public var obj:Object;// = null
public var useSeconds:Boolean;// = false
protected static var _mc:MovieClip = new MovieClip();
public function Tween(obj:Object, prop:String, func:Function, begin:Number, finish:Number, duration:Number, useSeconds:Boolean=false){
func = function (t:Number, b:Number, c:Number, d:Number):Number{
return ((((c * t) / d) + b));
};
super();
if (!arguments.length){
return;
};
this.obj = obj;
this.prop = prop;
this.begin = begin;
this.position = begin;
this.duration = duration;
this.useSeconds = useSeconds;
if ((func is Function)){
this.func = func;
};
this.finish = finish;
this._timer = new Timer(100);
this.start();
}
public function continueTo(finish:Number, duration:Number):void{
this.begin = this.position;
this.finish = finish;
if (!isNaN(duration)){
this.duration = duration;
};
this.start();
}
protected function startEnterFrame():void{
var milliseconds:Number;
if (isNaN(this._fps)){
_mc.addEventListener(Event.ENTER_FRAME, this.onEnterFrame, false, 0, true);
} else {
milliseconds = (1000 / this._fps);
this._timer.delay = milliseconds;
this._timer.addEventListener(TimerEvent.TIMER, this.timerHandler, false, 0, true);
this._timer.start();
};
this.isPlaying = true;
}
public function stop():void{
this.stopEnterFrame();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_STOP, this._time, this._position));
}
private function fixTime():void{
if (this.useSeconds){
this._startTime = (getTimer() - (this._time * 1000));
};
}
public function set FPS(fps:Number):void{
var oldIsPlaying:Boolean = this.isPlaying;
this.stopEnterFrame();
this._fps = fps;
if (oldIsPlaying){
this.startEnterFrame();
};
}
public function get finish():Number{
return ((this.begin + this.change));
}
public function get duration():Number{
return (this._duration);
}
protected function stopEnterFrame():void{
if (isNaN(this._fps)){
_mc.removeEventListener(Event.ENTER_FRAME, this.onEnterFrame);
} else {
this._timer.stop();
};
this.isPlaying = false;
}
public function set time(t:Number):void{
this.prevTime = this._time;
if (t > this.duration){
if (this.looping){
this.rewind((t - this._duration));
this.update();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_LOOP, this._time, this._position));
} else {
if (this.useSeconds){
this._time = this._duration;
this.update();
};
this.stop();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_FINISH, this._time, this._position));
};
} else {
if (t < 0){
this.rewind();
this.update();
} else {
this._time = t;
this.update();
};
};
}
public function getPosition(t:Number=NaN):Number{
if (isNaN(t)){
t = this._time;
};
return (this.func(t, this.begin, this.change, this._duration));
}
public function set finish(value:Number):void{
this.change = (value - this.begin);
}
public function set duration(d:Number):void{
this._duration = ((d)<=0) ? Infinity : d;
}
public function get position():Number{
return (this.getPosition(this._time));
}
public function setPosition(p:Number):void{
this.prevPos = this._position;
if (this.prop.length){
this.obj[this.prop] = (this._position = p);
};
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_CHANGE, this._time, this._position));
}
public function resume():void{
this.fixTime();
this.startEnterFrame();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_RESUME, this._time, this._position));
}
public function fforward():void{
this.time = this._duration;
this.fixTime();
}
protected function onEnterFrame(event:Event):void{
this.nextFrame();
}
public function yoyo():void{
this.continueTo(this.begin, this.time);
}
public function nextFrame():void{
if (this.useSeconds){
this.time = ((getTimer() - this._startTime) / 1000);
} else {
this.time = (this._time + 1);
};
}
protected function timerHandler(timerEvent:TimerEvent):void{
this.nextFrame();
timerEvent.updateAfterEvent();
}
public function get FPS():Number{
return (this._fps);
}
public function rewind(t:Number=0):void{
this._time = t;
this.fixTime();
this.update();
}
public function set position(p:Number):void{
this.setPosition(p);
}
public function get time():Number{
return (this._time);
}
private function update():void{
this.setPosition(this.getPosition(this._time));
}
public function start():void{
this.rewind();
this.startEnterFrame();
this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_START, this._time, this._position));
}
public function prevFrame():void{
if (!this.useSeconds){
this.time = (this._time - 1);
};
}
}
}//package fl.transitions
Section 3
//TweenEvent (fl.transitions.TweenEvent)
package fl.transitions {
import flash.events.*;
public class TweenEvent extends Event {
public var position:Number;// = NAN
public var time:Number;// = NAN
public static const MOTION_START:String = "motionStart";
public static const MOTION_STOP:String = "motionStop";
public static const MOTION_LOOP:String = "motionLoop";
public static const MOTION_CHANGE:String = "motionChange";
public static const MOTION_FINISH:String = "motionFinish";
public static const MOTION_RESUME:String = "motionResume";
public function TweenEvent(type:String, time:Number, position:Number, bubbles:Boolean=false, cancelable:Boolean=false){
super(type, bubbles, cancelable);
this.time = time;
this.position = position;
}
override public function clone():Event{
return (new TweenEvent(this.type, this.time, this.position, this.bubbles, this.cancelable));
}
}
}//package fl.transitions
Section 4
//imageContainer (image.imageContainer)
package image {
import flash.events.*;
import flash.display.*;
import flash.net.*;
import flash.system.*;
public class imageContainer extends MovieClip {
public var imageHeight:Number;
private var mcImage:MovieClip;
public var urlRequest:URLRequest;
public var imageWidth:Number;
public var imageLoader:Loader;
public var imageURL:String;
public var preLoader:Loader;
public function imageContainer(Imagewidth:Number, Imageheight:Number, url:String, path:String){
mcImage = new MovieClip();
super();
preLoader = new Loader();
preLoader.load(new URLRequest(path), null);
preLoader.scaleX = 2;
preLoader.scaleY = 2;
preLoader.x = ((Imagewidth / 2) - (preLoader.width / 2));
preLoader.y = ((Imageheight / 2) - (preLoader.height / 2));
addChild(preLoader);
imageURL = url;
imageWidth = Imagewidth;
imageHeight = Imageheight;
loadThumb(url);
}
public function loadThumb(url:String):void{
var funcComplete:Function;
var url = url;
funcComplete = function (e:Event):void{
removeChild(preLoader);
trace("Successfully Loaded");
imageLoader.content.width = imageWidth;
imageLoader.content.height = imageHeight;
mcImage.addChild(imageLoader.content);
addChild(mcImage);
};
var context:LoaderContext = new LoaderContext();
context.checkPolicyFile = true;
urlRequest = new URLRequest(url);
imageLoader = new Loader();
imageLoader.load(urlRequest, context);
imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, funcComplete);
}
}
}//package image
Section 5
//BitmapAsset (mx.core.BitmapAsset)
package mx.core {
import flash.display.*;
public class BitmapAsset extends FlexBitmap implements IFlexAsset, IFlexDisplayObject {
mx_internal static const VERSION:String = "3.0.0.0";
public function BitmapAsset(bitmapData:BitmapData=null, pixelSnapping:String="auto", smoothing:Boolean=false){
super(bitmapData, pixelSnapping, smoothing);
}
public function get measuredWidth():Number{
if (bitmapData){
return (bitmapData.width);
};
return (0);
}
public function get measuredHeight():Number{
if (bitmapData){
return (bitmapData.height);
};
return (0);
}
public function setActualSize(newWidth:Number, newHeight:Number):void{
width = newWidth;
height = newHeight;
}
public function move(x:Number, y:Number):void{
this.x = x;
this.y = y;
}
}
}//package mx.core
Section 6
//ByteArrayAsset (mx.core.ByteArrayAsset)
package mx.core {
import flash.utils.*;
public class ByteArrayAsset extends ByteArray implements IFlexAsset {
mx_internal static const VERSION:String = "3.0.0.0";
public function ByteArrayAsset(){
super();
}
}
}//package mx.core
Section 7
//EdgeMetrics (mx.core.EdgeMetrics)
package mx.core {
public class EdgeMetrics {
public var top:Number;
public var left:Number;
public var bottom:Number;
public var right:Number;
mx_internal static const VERSION:String = "3.0.0.0";
public static const EMPTY:EdgeMetrics = new EdgeMetrics(0, 0, 0, 0);
;
public function EdgeMetrics(left:Number=0, top:Number=0, right:Number=0, bottom:Number=0){
super();
this.left = left;
this.top = top;
this.right = right;
this.bottom = bottom;
}
public function clone():EdgeMetrics{
return (new EdgeMetrics(left, top, right, bottom));
}
}
}//package mx.core
Section 8
//FlexBitmap (mx.core.FlexBitmap)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexBitmap extends Bitmap {
mx_internal static const VERSION:String = "3.0.0.0";
public function FlexBitmap(bitmapData:BitmapData=null, pixelSnapping:String="auto", smoothing:Boolean=false){
var bitmapData = bitmapData;
var pixelSnapping = pixelSnapping;
var smoothing = smoothing;
super(bitmapData, pixelSnapping, smoothing);
name = NameUtil.createUniqueName(this);
//unresolved jump
var _slot1 = e;
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 9
//FlexMovieClip (mx.core.FlexMovieClip)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexMovieClip extends MovieClip {
mx_internal static const VERSION:String = "3.0.0.0";
public function FlexMovieClip(){
super();
name = NameUtil.createUniqueName(this);
//unresolved jump
var _slot1 = e;
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 10
//FontAsset (mx.core.FontAsset)
package mx.core {
import flash.text.*;
public class FontAsset extends Font implements IFlexAsset {
mx_internal static const VERSION:String = "3.0.0.0";
public function FontAsset(){
super();
}
}
}//package mx.core
Section 11
//IBorder (mx.core.IBorder)
package mx.core {
public interface IBorder {
function get borderMetrics():EdgeMetrics;
}
}//package mx.core
Section 12
//IFlexAsset (mx.core.IFlexAsset)
package mx.core {
public interface IFlexAsset {
}
}//package mx.core
Section 13
//IFlexDisplayObject (mx.core.IFlexDisplayObject)
package mx.core {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.accessibility.*;
public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher {
function get visible():Boolean;
function get rotation():Number;
function localToGlobal(void:Point):Point;
function get name():String;
function set width(flash.display:Number):void;
function get measuredHeight():Number;
function get blendMode():String;
function get scale9Grid():Rectangle;
function set name(flash.display:String):void;
function set scaleX(flash.display:Number):void;
function set scaleY(flash.display:Number):void;
function get measuredWidth():Number;
function get accessibilityProperties():AccessibilityProperties;
function set scrollRect(flash.display:Rectangle):void;
function get cacheAsBitmap():Boolean;
function globalToLocal(void:Point):Point;
function get height():Number;
function set blendMode(flash.display:String):void;
function get parent():DisplayObjectContainer;
function getBounds(String:DisplayObject):Rectangle;
function get opaqueBackground():Object;
function set scale9Grid(flash.display:Rectangle):void;
function setActualSize(_arg1:Number, _arg2:Number):void;
function set alpha(flash.display:Number):void;
function set accessibilityProperties(flash.display:AccessibilityProperties):void;
function get width():Number;
function hitTestPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean;
function set cacheAsBitmap(flash.display:Boolean):void;
function get scaleX():Number;
function get scaleY():Number;
function get scrollRect():Rectangle;
function get mouseX():Number;
function get mouseY():Number;
function set height(flash.display:Number):void;
function set mask(flash.display:DisplayObject):void;
function getRect(String:DisplayObject):Rectangle;
function get alpha():Number;
function set transform(flash.display:Transform):void;
function move(_arg1:Number, _arg2:Number):void;
function get loaderInfo():LoaderInfo;
function get root():DisplayObject;
function hitTestObject(mx.core:IFlexDisplayObject/mx.core:IFlexDisplayObject:stage/get:DisplayObject):Boolean;
function set opaqueBackground(flash.display:Object):void;
function set visible(flash.display:Boolean):void;
function get mask():DisplayObject;
function set x(flash.display:Number):void;
function set y(flash.display:Number):void;
function get transform():Transform;
function set filters(flash.display:Array):void;
function get x():Number;
function get y():Number;
function get filters():Array;
function set rotation(flash.display:Number):void;
function get stage():Stage;
}
}//package mx.core
Section 14
//IRepeaterClient (mx.core.IRepeaterClient)
package mx.core {
public interface IRepeaterClient {
function get instanceIndices():Array;
function set instanceIndices(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void;
function get isDocument():Boolean;
function set repeaters(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void;
function initializeRepeaterArrays(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:IRepeaterClient):void;
function get repeaters():Array;
function set repeaterIndices(E:\dev\3.1.0\frameworks\projects\framework\src;mx\core;IRepeaterClient.as:Array):void;
function get repeaterIndices():Array;
}
}//package mx.core
Section 15
//MovieClipAsset (mx.core.MovieClipAsset)
package mx.core {
public class MovieClipAsset extends FlexMovieClip implements IFlexAsset, IFlexDisplayObject, IBorder {
private var _measuredHeight:Number;
private var _measuredWidth:Number;
mx_internal static const VERSION:String = "3.0.0.0";
public function MovieClipAsset(){
super();
_measuredWidth = width;
_measuredHeight = height;
}
public function get measuredWidth():Number{
return (_measuredWidth);
}
public function get measuredHeight():Number{
return (_measuredHeight);
}
public function setActualSize(newWidth:Number, newHeight:Number):void{
width = newWidth;
height = newHeight;
}
public function move(x:Number, y:Number):void{
this.x = x;
this.y = y;
}
public function get borderMetrics():EdgeMetrics{
if (scale9Grid == null){
return (EdgeMetrics.EMPTY);
};
return (new EdgeMetrics(scale9Grid.left, scale9Grid.top, Math.ceil((measuredWidth - scale9Grid.right)), Math.ceil((measuredHeight - scale9Grid.bottom))));
}
}
}//package mx.core
Section 16
//MovieClipLoaderAsset (mx.core.MovieClipLoaderAsset)
package mx.core {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.system.*;
public class MovieClipLoaderAsset extends MovieClipAsset implements IFlexAsset, IFlexDisplayObject {
protected var initialHeight:Number;// = 0
private var loader:Loader;// = null
private var initialized:Boolean;// = false
protected var initialWidth:Number;// = 0
private var requestedHeight:Number;
private var requestedWidth:Number;
mx_internal static const VERSION:String = "3.0.0.0";
public function MovieClipLoaderAsset(){
super();
var loaderContext:LoaderContext = new LoaderContext();
loaderContext.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain);
if (("allowLoadBytesCodeExecution" in loaderContext)){
loaderContext["allowLoadBytesCodeExecution"] = true;
};
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.loadBytes(movieClipData, loaderContext);
addChild(loader);
}
override public function get width():Number{
if (!initialized){
return (initialWidth);
};
return (super.width);
}
override public function set width(value:Number):void{
if (!initialized){
requestedWidth = value;
} else {
loader.width = value;
};
}
override public function get measuredHeight():Number{
return (initialHeight);
}
private function completeHandler(event:Event):void{
initialized = true;
initialWidth = loader.width;
initialHeight = loader.height;
if (!isNaN(requestedWidth)){
loader.width = requestedWidth;
};
if (!isNaN(requestedHeight)){
loader.height = requestedHeight;
};
dispatchEvent(event);
}
override public function set height(value:Number):void{
if (!initialized){
requestedHeight = value;
} else {
loader.height = value;
};
}
override public function get measuredWidth():Number{
return (initialWidth);
}
override public function get height():Number{
if (!initialized){
return (initialHeight);
};
return (super.height);
}
public function get movieClipData():ByteArray{
return (null);
}
}
}//package mx.core
Section 17
//mx_internal (mx.core.mx_internal)
package mx.core {
public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal";
}//package mx.core
Section 18
//SoundAsset (mx.core.SoundAsset)
package mx.core {
import flash.media.*;
public class SoundAsset extends Sound implements IFlexAsset {
mx_internal static const VERSION:String = "3.0.0.0";
public function SoundAsset(){
super();
}
}
}//package mx.core
Section 19
//NameUtil (mx.utils.NameUtil)
package mx.utils {
import flash.display.*;
import mx.core.*;
import flash.utils.*;
public class NameUtil {
mx_internal static const VERSION:String = "3.0.0.0";
private static var counter:int = 0;
public function NameUtil(){
super();
}
public static function displayObjectToString(displayObject:DisplayObject):String{
var result:String;
var s:String;
var indices:Array;
var o:DisplayObject = displayObject;
while (o != null) {
if (((((o.parent) && (o.stage))) && ((o.parent == o.stage)))){
break;
};
s = o.name;
if ((o is IRepeaterClient)){
indices = IRepeaterClient(o).instanceIndices;
if (indices){
s = (s + (("[" + indices.join("][")) + "]"));
};
};
result = ((result == null)) ? s : ((s + ".") + result);
o = o.parent;
};
return (result);
}
public static function createUniqueName(object:Object):String{
if (!object){
return (null);
};
var name:String = getQualifiedClassName(object);
var index:int = name.indexOf("::");
if (index != -1){
name = name.substr((index + 2));
};
var charCode:int = name.charCodeAt((name.length - 1));
if ((((charCode >= 48)) && ((charCode <= 57)))){
name = (name + "_");
};
return ((name + counter++));
}
}
}//package mx.utils
Section 20
//MessageWindow (MessageWindow)
package {
import flash.events.*;
import flash.display.*;
import flash.filters.*;
import flash.text.*;
import flash.net.*;
import flash.media.*;
public class MessageWindow extends Sprite {
private var myFormat:TextFormat;
private var box1:Sprite;
private var Message:TextField;
private var MyFont:Class;
private var box2:Sprite;
public function MessageWindow(inputtext:String, url:String=""){
Message = new TextField();
box1 = new Sprite();
box2 = new Sprite();
MyFont = MessageWindow_MyFont;
super();
box1.graphics.beginFill(0);
box1.graphics.drawRect(0, 180, 600, 80);
box1.graphics.endFill();
box1.alpha = 0.5;
box1.name = "box1";
box2.graphics.beginFill(15719483);
box2.graphics.drawRoundRect(95, 195, 420, 145, 10, 10);
box2.graphics.endFill();
box2.alpha = 0.8;
box2.name = "box2";
myFormat = new TextFormat("DIN", 15, 0);
Message.name = "text2";
Message.defaultTextFormat = myFormat;
Message.width = 350;
Message.x = 125;
Message.y = 200;
Message.wordWrap = true;
Message.embedFonts = true;
Message.antiAliasType = AntiAliasType.ADVANCED;
Message.htmlText = inputtext;
addChild(box2);
box2.addChild(Message);
trace("add message box");
trace(inputtext);
}
public function JumpTo(jump_page:String, post_string:String="none"):void{
var request:URLRequest = new URLRequest(jump_page);
var uv:URLVariables = new URLVariables();
request.method = "POST";
uv.codes = post_string;
request.data = uv;
navigateToURL(request, "_blank");
trace(("we are going to jump to the page " + jump_page));
}
}
}//package
Section 21
//MessageWindow_MyFont (MessageWindow_MyFont)
package {
import mx.core.*;
public class MessageWindow_MyFont extends FontAsset {
}
}//package
Section 22
//PTWLoader (PTWLoader)
package {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.filters.*;
import flash.text.*;
import fl.transitions.*;
import image.*;
import flash.net.*;
import fl.transitions.easing.*;
import flash.media.*;
public dynamic class PTWLoader extends MovieClip {
private const spacing:Number = 40;
private var layer1:Sprite;
private var layer2:Sprite;
private var lastY:Number;
private var tryagain:Sprite;
private var layer3:Sprite;
private var layer4:Sprite;
private var myMessageWindow:MessageWindow;
private var glow:GlowFilter;
private var Hand:Sprite;
private var authcode:String;
public var spriteArray:Array;
private var blurfilter:BlurFilter;
private var myFont:Font;
private var hand2:Bitmap;
private var text1:TextField;
private var hand1:Bitmap;
private var campaignid:String;
private var reward:String;
private var is_mouse_down:Boolean;// = false
private var instructions:MovieClip;
private var loadingicon:Class;
private var startX:Number;
private var startY:Number;
private var request_url:String;
private var open_hand:Class;
private var frontlayer:Sprite;
private var backlayer:Sprite;
private var myFormat:TextFormat;
private var button_codes:String;// = ""
private var wheel:Wheel;
private var velocity:Number;
private var endX:Number;
private var myFormat2:TextFormat;
private var instructions_swf:Class;
private var closed_hand:Class;
private var is_pull_ready:Boolean;// = false
private var dropShadow:DropShadowFilter;
private var button_url:String;// = ""
private var closedhand:Sprite;
private var PullBar:Sprite;
private var endY:Number;
private var username:String;
private var replied:Boolean;// = false
public function PTWLoader(){
var myTimer:Timer;
var closelayer3:Function;
backlayer = new Sprite();
frontlayer = new Sprite();
PullBar = new Sprite();
Hand = new Sprite();
glow = new GlowFilter(0xFF0000, 1, 5, 5, 2, 1, true);
dropShadow = new DropShadowFilter(6, 45, 0, 0.5, 3, 3, 1);
blurfilter = new BlurFilter(28, 2, 1);
spriteArray = new Array();
loadingicon = PTWLoader_loadingicon;
instructions_swf = PTWLoader_instructions_swf;
open_hand = PTWLoader_open_hand;
closed_hand = PTWLoader_closed_hand;
layer1 = new Sprite();
layer2 = new Sprite();
layer3 = new Sprite();
layer4 = new Sprite();
text1 = new TextField();
myFont = new Font();
myFormat = new TextFormat();
myFormat2 = new TextFormat();
instructions = new instructions_swf();
closedhand = new Sprite();
hand2 = new closed_hand();
hand1 = new open_hand();
tryagain = new Sprite();
myMessageWindow = new MessageWindow("");
super();
closelayer3 = function (event:TimerEvent):void{
if (((getChildByName("layer3")) && ((myTimer.currentCount == 3)))){
removeChild(layer3);
instructions.name = "instructions";
instructions.width = 600;
instructions.height = 550;
addChild(instructions);
instructions.addEventListener(MouseEvent.CLICK, closeInstructions);
};
if (myTimer.currentCount == 3){
myTimer.stop();
};
};
loadParameters();
layer1.name = "layer1";
layer2.name = "layer2";
layer3.name = "layer3";
layer4.name = "layer4";
addChild(layer1);
addChild(layer2);
addChild(layer3);
addChild(layer4);
myFormat.font = myFont.fontName;
myFormat.size = 30;
myFormat.color = 0xFFFFFF;
LoadGame();
stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
tryagain.name = "tryagain";
tryagain.addEventListener(MouseEvent.MOUSE_DOWN, clicktryAgain);
tryagain.addEventListener(MouseEvent.MOUSE_OVER, function (evt:MouseEvent):void{
glowOn(evt, tryagain.name);
});
tryagain.addEventListener(MouseEvent.MOUSE_OUT, function (evt:MouseEvent):void{
glowOff(evt, tryagain.name);
});
var loadfirst:Sprite = new Sprite();
var toploader:Sprite = new loadingicon();
layer3.addChild(loadfirst);
layer3.addChild(toploader);
loadfirst.graphics.beginFill(0xFFFFFF);
loadfirst.graphics.drawRect(0, 0, 600, 550);
loadfirst.graphics.endFill();
toploader.width = 600;
toploader.height = 550;
toploader.x = 100;
toploader.y = 50;
myTimer = new Timer(1000);
myTimer.addEventListener("timer", closelayer3);
myTimer.start();
}
private function glowOn(event:MouseEvent, msg:String):void{
if (layer4.getChildByName(msg)){
layer4.getChildByName(msg).filters = [glow];
};
}
private function LoadGame():void{
trace(("loading new game " + request_url));
var loader:URLLoader = new URLLoader();
loader.load(new URLRequest(request_url));
loader.addEventListener(Event.COMPLETE, loadXML);
}
private function glowOff(event:MouseEvent, msg:String):void{
if (layer4.getChildByName(msg)){
layer4.getChildByName(msg).filters = null;
};
}
private function removeInstructions(event:Event):void{
if (getChildByName("instructions")){
removeChild(instructions);
};
is_pull_ready = true;
}
private function closeInstructions(event:MouseEvent):void{
var myTween:Tween;
if (getChildByName("instructions")){
myTween = new Tween(instructions, "alpha", Strong.easeOut, 1, 0, 2, true);
};
myTween.addEventListener(TweenEvent.MOTION_FINISH, removeInstructions);
}
private function onMouseDown(e:Event):void{
is_mouse_down = true;
startX = mouseX;
startY = mouseY;
lastY = startY;
if (is_pull_ready){
PullBar = new Sprite();
PullBar.name = "PullBar";
addChild(PullBar);
PullBar.graphics.lineStyle(1, 5);
PullBar.graphics.moveTo(startX, startY);
PullBar.filters = [dropShadow];
if (layer4.getChildByName("Hand")){
layer4.removeChild(Hand);
};
if (Hand.getChildByName("open_hand")){
Hand.removeChild(hand1);
};
Hand = new Sprite();
Hand.name = "Hand";
addChild(Hand);
};
}
private function loadXML(event:Event):void{
var data:String;
var item:XML;
var xml:XML = new XML(event.target.data);
var url_array:Array = new Array();
authcode = xml.summary.authcode;
reward = xml.summary.prizestring;
trace(reward);
for each (item in xml..image) {
url_array.push(item.src);
trace(("output-->" + item.src));
};
data = String(url_array);
if (layer2.getChildByName("wheel")){
layer2.removeChild(wheel);
};
wheel = new Wheel();
wheel.name = "wheel";
for each (item in xml..skin) {
wheel.addSkin(item.width, item.height, item.src, item.x, item.y);
};
for each (item in xml..link) {
wheel.addLink(item.width, item.height, item.src, item.url, item.x, item.y, item.glow);
};
wheel.finishSkin();
wheel.target_tile = int(xml.summary.tile);
wheel.addFaces(url_array);
layer2.addChild(wheel);
wheel.filters = [dropShadow];
}
private function sendData(Input:String):void{
var variables:URLVariables = new URLVariables();
variables.stream = Input;
variables.authcode = authcode;
variables.campaignid = campaignid;
variables.username = username;
trace(("sn: " + username));
var request:URLRequest = new URLRequest(request_url);
request.data = variables;
request.method = URLRequestMethod.POST;
sendToURL(request);
trace(((("sendToURL: " + request.url) + "&") + request.data));
}
private function onMouseUp(e:Event):void{
if (getChildByName("PullBar")){
removeChild(PullBar);
};
if (Hand.getChildByName("closed_hand")){
Hand.removeChild(hand2);
Hand.addChild(hand1);
hand1.name = "open_hand";
};
is_mouse_down = false;
endX = mouseX;
endY = mouseY;
if (endY > startY){
velocity = (endY - startY);
} else {
velocity = (startY - endY);
};
velocity = (velocity / 50);
if (velocity > 0){
if (velocity > 1){
trace(((velocity + " ") + is_pull_ready));
if (is_pull_ready){
wheel.stop = false;
wheel.moveForward((velocity * 10));
trace(("spinning velocty" + velocity));
if (layer4.getChildByName("myMessageWindow")){
layer4.removeChild(myMessageWindow);
};
};
is_pull_ready = false;
} else {
trace("you need to pull further");
};
};
}
private function loadParameters():void{
var keyStr:String;
var valueStr:String;
var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters;
for (keyStr in paramObj) {
valueStr = String(paramObj[keyStr]);
};
campaignid = root.loaderInfo.parameters.campaignid;
username = root.loaderInfo.parameters.username;
if (!campaignid){
campaignid = "PNY";
};
if (!username){
username = "tester3";
};
request_url = ((("http://vdc.esportsea.com/spinner/rand.php?client=game&username=" + username) + "&id=") + campaignid);
}
private function clicktryAgain(e:Event):void{
var request:URLRequest;
var uv:URLVariables;
if (button_url == ""){
LoadGame();
if (layer4.getChildByName("tryagain")){
layer4.removeChild(tryagain);
};
if (layer4.getChildByName("myMessageWindow")){
layer4.removeChild(myMessageWindow);
};
is_pull_ready = true;
replied = false;
} else {
request = new URLRequest(button_url);
uv = new URLVariables();
request.method = "POST";
uv.codes = button_codes;
request.data = uv;
trace(("POSTING:" + request.data));
navigateToURL(request, "_blank");
};
}
private function onMouseMove(e:Event):void{
var sendString:String;
var temp_button_image:String;
var r1:RegExp;
var r2:RegExp;
var temp_string:String;
var spinbutton:imageContainer;
if (is_mouse_down){
if (lastY > startY){
velocity = (lastY - startY);
} else {
velocity = (startY - lastY);
};
velocity = (velocity / 50);
lastY = mouseY;
if (getChildByName("PullBar")){
removeChild(PullBar);
};
if (getChildByName("Hand")){
removeChild(Hand);
};
if (is_pull_ready){
PullBar = new Sprite();
PullBar.name = "PullBar";
addChild(PullBar);
};
Hand = new Sprite();
Hand.name = "Hand";
addChild(Hand);
PullBar.graphics.lineStyle((2 + velocity), 400000);
PullBar.graphics.moveTo(startX, startY);
PullBar.graphics.lineTo(startX, mouseY);
PullBar.filters = [dropShadow];
hand2.name = "closed_hand";
Hand.addChild(hand2);
Hand.x = (startX - 10);
Hand.y = (mouseY - 18);
Hand.filters = [dropShadow];
};
if (((((wheel.stop) && (!(is_pull_ready)))) && (!(replied)))){
trace("next game ready");
sendString = (((((((("[sig " + int(startX)) + ":") + int(startY)) + ":") + int(endX)) + ":") + int(endY)) + "]");
sendData(sendString);
replied = true;
if (layer4.getChildByName("myMessageWindow")){
trace("creating new textfield");
myMessageWindow = new MessageWindow("");
myMessageWindow.name = "myMessageWindow";
};
if (!layer4.getChildByName("myMessageWindow")){
temp_button_image = StringUtils.between(reward, "[[", "||");
button_url = StringUtils.between(reward, "||", "]]");
button_codes = StringUtils.between(reward, "codes:", ":endcodes");
r1 = /codes:/ig;
r2 = /:endcodes/ig;
reward = reward.replace(r1, "");
reward = reward.replace(r2, "");
temp_string = StringUtils.afterFirst(reward, "]]");
myMessageWindow = new MessageWindow(temp_string);
myMessageWindow.name = "myMessageWindow";
layer4.addChild(myMessageWindow);
tryagain.name = "tryagain";
tryagain.x = 200;
tryagain.y = 300;
spinbutton = new imageContainer(289, 65, temp_button_image, "spinloader.swf");
spinbutton.name = "spinbutton";
tryagain.addChild(spinbutton);
trace(((((((("button_url length =" + button_url.length) + " ") + button_url) + " button image:") + temp_button_image) + " codes:") + button_codes));
layer4.addChild(tryagain);
trace("adding tryagain");
};
};
}
}
}//package
Section 23
//PTWLoader_closed_hand (PTWLoader_closed_hand)
package {
import mx.core.*;
public class PTWLoader_closed_hand extends BitmapAsset {
}
}//package
Section 24
//PTWLoader_instructions_swf (PTWLoader_instructions_swf)
package {
import mx.core.*;
import flash.utils.*;
public class PTWLoader_instructions_swf extends MovieClipLoaderAsset {
public var dataClass:Class;
private static var bytes:ByteArray = null;
public function PTWLoader_instructions_swf(){
dataClass = PTWLoader_instructions_swf_dataClass;
super();
initialWidth = (12000 / 20);
initialHeight = (11000 / 20);
}
override public function get movieClipData():ByteArray{
if (bytes == null){
bytes = ByteArray(new dataClass());
};
return (bytes);
}
}
}//package
Section 25
//PTWLoader_instructions_swf_dataClass (PTWLoader_instructions_swf_dataClass)
package {
import mx.core.*;
public class PTWLoader_instructions_swf_dataClass extends ByteArrayAsset {
}
}//package
Section 26
//PTWLoader_loadingicon (PTWLoader_loadingicon)
package {
import mx.core.*;
import flash.utils.*;
public class PTWLoader_loadingicon extends MovieClipLoaderAsset {
public var dataClass:Class;
private static var bytes:ByteArray = null;
public function PTWLoader_loadingicon(){
dataClass = PTWLoader_loadingicon_dataClass;
super();
initialWidth = (280 / 20);
initialHeight = (200 / 20);
}
override public function get movieClipData():ByteArray{
if (bytes == null){
bytes = ByteArray(new dataClass());
};
return (bytes);
}
}
}//package
Section 27
//PTWLoader_loadingicon_dataClass (PTWLoader_loadingicon_dataClass)
package {
import mx.core.*;
public class PTWLoader_loadingicon_dataClass extends ByteArrayAsset {
}
}//package
Section 28
//PTWLoader_open_hand (PTWLoader_open_hand)
package {
import mx.core.*;
public class PTWLoader_open_hand extends BitmapAsset {
}
}//package
Section 29
//StringUtils (StringUtils)
package {
public class StringUtils {
public function StringUtils(){
super();
}
private static function _swapCase(p_char:String, ... _args):String{
var lowChar:String = p_char.toLowerCase();
var upChar:String = p_char.toUpperCase();
switch (p_char){
case lowChar:
return (upChar);
case upChar:
return (lowChar);
default:
return (p_char);
};
}
public static function isEmpty(p_string:String):Boolean{
if (p_string == null){
return (true);
};
return (!(p_string.length));
}
public static function remove(p_string:String, p_remove:String, p_caseSensitive:Boolean=true):String{
if (p_string == null){
return ("");
};
var rem:String = escapePattern(p_remove);
var flags:String = (p_caseSensitive) ? "g" : "ig";
return (p_string.replace(new RegExp(rem, flags), ""));
}
public static function countOf(p_string:String, p_char:String, p_caseSensitive:Boolean=true):uint{
if (p_string == null){
return (0);
};
var char:String = escapePattern(p_char);
var flags:String = (p_caseSensitive) ? "g" : "ig";
return (p_string.match(new RegExp(char, flags)).length);
}
public static function between(p_string:String, p_start:String, p_end:String):String{
var endIdx:int;
var str:String = "";
if (p_string == null){
return (str);
};
var startIdx:int = p_string.indexOf(p_start);
if (startIdx != -1){
startIdx = (startIdx + p_start.length);
endIdx = p_string.indexOf(p_end, startIdx);
if (endIdx != -1){
str = p_string.substr(startIdx, (endIdx - startIdx));
};
};
return (str);
}
public static function padRight(p_string:String, p_padChar:String, p_length:uint):String{
var s:String = p_string;
while (s.length < p_length) {
s = (s + p_padChar);
};
return (s);
}
public static function isNumeric(p_string:String):Boolean{
if (p_string == null){
return (false);
};
var regx:RegExp = /^[-+]?\d*\.?\d+(?:[eE][-+]?\d+)?$/;
return (regx.test(p_string));
}
public static function block(p_string:String, p_len:uint, p_delim:String="."):Array{
var subString:String;
var arr:Array = new Array();
if ((((p_string == null)) || (!(contains(p_string, p_delim))))){
return (arr);
};
var chrIndex:uint;
var strLen:uint = p_string.length;
var replPatt:RegExp = new RegExp((("[^" + escapePattern(p_delim)) + "]+$"));
while (chrIndex < strLen) {
subString = p_string.substr(chrIndex, p_len);
if (!contains(subString, p_delim)){
arr.push(truncate(subString, subString.length));
chrIndex = (chrIndex + subString.length);
};
subString = subString.replace(replPatt, "");
arr.push(subString);
chrIndex = (chrIndex + subString.length);
};
return (arr);
}
public static function trim(p_string:String):String{
if (p_string == null){
return ("");
};
return (p_string.replace(/^\s+|\s+$/g, ""));
}
public static function beginsWith(p_string:String, p_begin:String):Boolean{
if (p_string == null){
return (false);
};
return ((p_string.indexOf(p_begin) == 0));
}
public static function stripTags(p_string:String):String{
if (p_string == null){
return ("");
};
return (p_string.replace(/<\/?[^>]+>/igm, ""));
}
public static function afterLast(p_string:String, p_char:String):String{
if (p_string == null){
return ("");
};
var idx:int = p_string.lastIndexOf(p_char);
if (idx == -1){
return ("");
};
idx = (idx + p_char.length);
return (p_string.substr(idx));
}
private static function _minimum(a:uint, b:uint, c:uint):uint{
return (Math.min(a, Math.min(b, Math.min(c, a))));
}
private static function escapePattern(p_pattern:String):String{
return (p_pattern.replace(/(\]|\[|\{|\}|\(|\)|\*|\+|\?|\.|\\)/g, "\\$1"));
}
public static function removeExtraWhitespace(p_string:String):String{
if (p_string == null){
return ("");
};
var str:String = trim(p_string);
return (str.replace(/\s+/g, " "));
}
public static function trimRight(p_string:String):String{
if (p_string == null){
return ("");
};
return (p_string.replace(/\s+$/, ""));
}
public static function endsWith(p_string:String, p_end:String):Boolean{
return ((p_string.lastIndexOf(p_end) == (p_string.length - p_end.length)));
}
public static function contains(p_string:String, p_char:String):Boolean{
if (p_string == null){
return (false);
};
return (!((p_string.indexOf(p_char) == -1)));
}
public static function properCase(p_string:String):String{
if (p_string == null){
return ("");
};
var str:String = p_string.toLowerCase().replace(/\b([^.?;!]+)/, capitalize);
return (str.replace(/\b[i]\b/, "I"));
}
public static function trimLeft(p_string:String):String{
if (p_string == null){
return ("");
};
return (p_string.replace(/^\s+/, ""));
}
public static function similarity(p_source:String, p_target:String):Number{
var ed:uint = editDistance(p_source, p_target);
var maxLen:uint = Math.max(p_source.length, p_target.length);
if (maxLen == 0){
return (100);
};
return (((1 - (ed / maxLen)) * 100));
}
public static function wordCount(p_string:String):uint{
if (p_string == null){
return (0);
};
return (p_string.match(/\b\w+\b/g).length);
}
public static function editDistance(p_source:String, p_target:String):uint{
var i:uint;
var cost:uint;
var j:uint;
var s_i:String;
var t_j:String;
if (p_source == null){
p_source = "";
};
if (p_target == null){
p_target = "";
};
if (p_source == p_target){
return (0);
};
var d:Array = new Array();
var n:uint = p_source.length;
var m:uint = p_target.length;
if (n == 0){
return (m);
};
if (m == 0){
return (n);
};
i = 0;
while (i <= n) {
d[i] = new Array();
i++;
};
i = 0;
while (i <= n) {
d[i][0] = i;
i++;
};
j = 0;
while (j <= m) {
d[0][j] = j;
j++;
};
i = 1;
while (i <= n) {
s_i = p_source.charAt((i - 1));
j = 1;
while (j <= m) {
t_j = p_target.charAt((j - 1));
if (s_i == t_j){
cost = 0;
} else {
cost = 1;
};
d[i][j] = _minimum((d[(i - 1)][j] + 1), (d[i][(j - 1)] + 1), (d[(i - 1)][(j - 1)] + cost));
j++;
};
i++;
};
return (d[n][m]);
}
public static function hasText(p_string:String):Boolean{
var str:String = removeExtraWhitespace(p_string);
return (!(!(str.length)));
}
public static function reverse(p_string:String):String{
if (p_string == null){
return ("");
};
return (p_string.split("").reverse().join(""));
}
public static function swapCase(p_string:String):String{
if (p_string == null){
return ("");
};
return (p_string.replace(/(\w)/, _swapCase));
}
public static function capitalize(p_string:String, ... _args):String{
var str:String = trimLeft(p_string);
trace("capl", _args[0]);
if (_args[0] === true){
return (str.replace(/^.|\b./g, _upperCase));
};
return (str.replace(/(^\w)/, _upperCase));
}
public static function truncate(p_string:String, p_len:uint, p_suffix:String="..."):String{
if (p_string == null){
return ("");
};
p_len = (p_len - p_suffix.length);
var trunc:String = p_string;
if (trunc.length > p_len){
trunc = trunc.substr(0, p_len);
if (/[^\s]/.test(p_string.charAt(p_len))){
trunc = trimRight(trunc.replace(/\w+$|\s+$/, ""));
};
trunc = (trunc + p_suffix);
};
return (trunc);
}
public static function reverseWords(p_string:String):String{
if (p_string == null){
return ("");
};
return (p_string.split(/\s+/).reverse().join(""));
}
public static function beforeFirst(p_string:String, p_char:String):String{
if (p_string == null){
return ("");
};
var idx:int = p_string.indexOf(p_char);
if (idx == -1){
return ("");
};
return (p_string.substr(0, idx));
}
private static function _upperCase(p_char:String, ... _args):String{
trace("cap latter ", p_char);
return (p_char.toUpperCase());
}
public static function afterFirst(p_string:String, p_char:String):String{
if (p_string == null){
return ("");
};
var idx:int = p_string.indexOf(p_char);
if (idx == -1){
return ("");
};
idx = (idx + p_char.length);
return (p_string.substr(idx));
}
public static function beforeLast(p_string:String, p_char:String):String{
if (p_string == null){
return ("");
};
var idx:int = p_string.lastIndexOf(p_char);
if (idx == -1){
return ("");
};
return (p_string.substr(0, idx));
}
public static function padLeft(p_string:String, p_padChar:String, p_length:uint):String{
var s:String = p_string;
while (s.length < p_length) {
s = (p_padChar + s);
};
return (s);
}
public static function quote(p_string:String):String{
var regx:RegExp = /[\\"\r\n]/g;
return ((("\"" + p_string.replace(regx, _quote)) + "\""));
}
private static function _quote(p_string:String, ... _args):String{
switch (p_string){
case "\\":
return ("\\\\");
case "\r":
return ("\\r");
case "\n":
return ("\\n");
case "\"":
return ("\\\"");
default:
return ("");
};
}
}
}//package
Section 30
//Wheel (Wheel)
package {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.filters.*;
import image.*;
import flash.net.*;
import flash.media.*;
public class Wheel extends Sprite {
private const spacing:Number = 90;
private var layer1:Sprite;
private var layer2:Sprite;
public var stop:Boolean;// = false
private var ticker:Number;// = 0
private var glow:GlowFilter;
public var spriteArray:Array;
public var countdownTimer:Timer;
public var target_tile:Number;
private var layer3:Sprite;
private var howFar:Number;
private var soundClass:Class;
private var howmany:Number;
private var win_tile:Number;// = 2
private var time_left:Number;
private var today:Date;
private var first_tile_position:Number;
private var max_velocity:Number;// = 15
public var velocity:Number;// = 15
private var Delay:Number;// = 0
private var currentTime:Number;
private var dropShadow:DropShadowFilter;
private var targetTime:Number;
public function Wheel(){
soundClass = Wheel_soundClass;
dropShadow = new DropShadowFilter(6, 45, 0, 0.5, 3, 3, 1);
glow = new GlowFilter(0xFF0000, 1, 5, 5, 2, 1, true);
spriteArray = new Array();
layer1 = new Sprite();
layer2 = new Sprite();
layer3 = new Sprite();
countdownTimer = new Timer(10);
super();
var wheel_backing:Sprite = new Sprite();
addChild(layer1);
addChild(layer2);
addChild(layer3);
wheel_backing.graphics.beginFill(15719483);
wheel_backing.graphics.drawRect(0, 0, 300, 600);
wheel_backing.graphics.endFill();
layer2.addChild(wheel_backing);
today = new Date();
currentTime = today.time;
countdownTimer.addEventListener(TimerEvent.TIMER, updateTime);
}
private function init():void{
today = new Date();
currentTime = today.time;
}
public function addFaces(array:Array):void{
var tile:imageContainer;
howmany = array.length;
trace(("howmany = " + howmany));
var i:Number = 0;
while (i < howmany) {
tile = new imageContainer(200, 80, array[i], "spinloader.swf");
tile.filters = [dropShadow];
spriteArray.push(tile);
spriteArray[i].y = (spacing * i);
spriteArray[i].x = 55;
layer2.addChild(spriteArray[i]);
i++;
};
}
private function glowOff(event:MouseEvent, msg:String):void{
layer3.getChildByName(msg).filters = null;
}
public function moveForward(Velocity:Number):void{
howFar = int(Velocity);
countdownTimer.start();
first_tile_position = (howFar % howmany);
howFar = (howFar - (((first_tile_position - win_tile) + target_tile) - 1));
trace(((((("first_tile_position: " + first_tile_position) + " target_tile: ") + target_tile) + " howFar: ") + howFar));
}
private function updateTime(event:TimerEvent):void{
var i:Number;
var smallSound:Sound;
if ((((howFar > 0)) || (!(stop)))){
i = 0;
while (i < howmany) {
if (velocity > 1){
spriteArray[i].y = (spriteArray[i].y + velocity);
};
if ((spriteArray[i].y + velocity) >= ((howmany * spacing) - velocity)){
ticker++;
trace(((((((((((("howmany:" + howmany) + " spacing:") + spacing) + " velocity:") + velocity) + " howFar:") + howFar) + " max_velocity:") + max_velocity) + " ticker:") + ticker));
if (((!(stop)) && ((howFar == 0)))){
velocity = (velocity - (max_velocity / (howmany * 2)));
};
if (velocity <= 1){
stop = true;
countdownTimer.removeEventListener(TimerEvent.TIMER, updateTime);
};
spriteArray[i].y = ((spriteArray[i].y - (howmany * spacing)) + velocity);
Delay++;
if (velocity > 6){
if (Delay == 1){
smallSound = (new soundClass() as Sound);
smallSound.play();
};
if (Delay == 3){
Delay = 0;
};
} else {
smallSound = (new soundClass() as Sound);
smallSound.play();
};
if (howFar > 0){
howFar--;
};
};
i++;
};
};
}
public function addLink(width:Number, height:Number, src:String, url:String=null, xpos:Number=0, ypos:Number=0, glow:String="false"):void{
var newimage:imageContainer;
var width = width;
var height = height;
var src = src;
var url = url;
var xpos = xpos;
var ypos = ypos;
var glow = glow;
newimage = new imageContainer(width, height, src, "spinloader.swf");
newimage.name = src;
layer3.addChild(newimage);
newimage.x = xpos;
newimage.y = ypos;
if (glow == "true"){
newimage.addEventListener(MouseEvent.MOUSE_OVER, function (evt:MouseEvent):void{
glowOn(evt, newimage.name);
});
newimage.addEventListener(MouseEvent.MOUSE_OUT, function (evt:MouseEvent):void{
glowOff(evt, newimage.name);
});
};
newimage.addEventListener(MouseEvent.CLICK, function (evt:MouseEvent):void{
boxClick(evt, url);
});
}
public function addSkin(width:Number, height:Number, url:String, xpos:Number=0, ypos:Number=0):void{
var newimage:imageContainer = new imageContainer(width, height, url, "spinloader.swf");
layer3.addChild(newimage);
newimage.x = xpos;
newimage.y = ypos;
}
public function finishSkin():void{
var skinshadow:Wheel_Shade = new Wheel_Shade();
layer2.addChild(skinshadow);
}
private function glowOn(event:MouseEvent, msg:String):void{
layer3.getChildByName(msg).filters = [glow];
}
private function boxClick(event:MouseEvent, msg:String):void{
var url:URLRequest = new URLRequest(msg);
navigateToURL(url, "_blank");
}
}
}//package
Section 31
//Wheel_Shade (Wheel_Shade)
package {
import flash.display.*;
import flash.geom.*;
public class Wheel_Shade extends Sprite {
public function Wheel_Shade(){
super();
var colors:Array = [0, 0];
var alphas:Array = [0, 1];
var ratios:Array = [0, 0xFF];
var matrix:Matrix = new Matrix();
var boxWidth:Number = 100;
var boxHeight:Number = 200;
var boxRotation:Number = (Math.PI / 2);
var tx:Number = 100;
var ty:Number = 300;
matrix.createGradientBox(boxWidth, boxHeight, boxRotation, tx, ty);
graphics.beginGradientFill("linear", colors, alphas, ratios, matrix);
graphics.drawRect(0, 300, 400, 200);
graphics.endFill();
alphas = [1, 0];
tx = 0;
ty = 0;
matrix.createGradientBox(boxWidth, boxHeight, boxRotation, tx, ty);
graphics.beginGradientFill("linear", colors, alphas, ratios, matrix);
graphics.drawRect(0, 0, 400, 200);
graphics.endFill();
}
}
}//package
Section 32
//Wheel_soundClass (Wheel_soundClass)
package {
import mx.core.*;
public class Wheel_soundClass extends SoundAsset {
}
}//package