home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Aventura / Frizzle_fraz.swf / scripts / Code / LIB / MOCHIADS / _uw234.as < prev   
Encoding:
Text File  |  2008-09-26  |  24.5 KB  |  787 lines

  1. package Code.LIB.MOCHIADS
  2. {
  3.    import Code.LIB._bm350;
  4.    import flash.display.Loader;
  5.    import flash.display.MovieClip;
  6.    import flash.events.Event;
  7.    import flash.events.IOErrorEvent;
  8.    import flash.events.SecurityErrorEvent;
  9.    import flash.net.LocalConnection;
  10.    import flash.net.URLRequest;
  11.    import flash.net.URLRequestMethod;
  12.    import flash.net.URLVariables;
  13.    import flash.system.Security;
  14.    import flash.utils.getTimer;
  15.    import flash.utils.setTimeout;
  16.    
  17.    public class _uw234
  18.    {
  19.        
  20.       
  21.       public function _uw234()
  22.       {
  23.          super();
  24.       }
  25.       
  26.       public static function _pc321(param1:Object, param2:Object) : Object
  27.       {
  28.          var _loc3_:Object = null;
  29.          var _loc4_:String = null;
  30.          _loc3_ = {};
  31.          for(_loc4_ in param2)
  32.          {
  33.             _loc3_[_loc4_] = param2[_loc4_];
  34.          }
  35.          if(param1)
  36.          {
  37.             for(_loc4_ in param1)
  38.             {
  39.                _loc3_[_loc4_] = param1[_loc4_];
  40.             }
  41.          }
  42.          return _loc3_;
  43.       }
  44.       
  45.       public static function _sl357() : String
  46.       {
  47.          return "2.1";
  48.       }
  49.       
  50.       public static function _qg245(param1:MovieClip) : void
  51.       {
  52.          var f:Function = null;
  53.          var mc:MovieClip = param1;
  54.          f = function(param1:Object):void
  55.          {
  56.             if("onEnterFrame" in mc && Boolean(mc.onEnterFrame))
  57.             {
  58.                mc.onEnterFrame();
  59.             }
  60.             else
  61.             {
  62.                mc.removeEventListener(Event.ENTER_FRAME,f);
  63.             }
  64.          };
  65.          mc.addEventListener(Event.ENTER_FRAME,f);
  66.       }
  67.       
  68.       public static function load(param1:Object) : MovieClip
  69.       {
  70.          var DEFAULTS:Object = null;
  71.          var _nw236:Object = null;
  72.          var depth:Number = NaN;
  73.          var mc:MovieClip = null;
  74.          var wh:Array = null;
  75.          var lv:URLVariables = null;
  76.          var k:String = null;
  77.          var server:String = null;
  78.          var hostname:String = null;
  79.          var lc:LocalConnection = null;
  80.          var name:String = null;
  81.          var loader:Loader = null;
  82.          var f:Function = null;
  83.          var g:Function = null;
  84.          var req:URLRequest = null;
  85.          var v:Object = null;
  86.          var options:Object = param1;
  87.          DEFAULTS = {
  88.             "server":"http://x.mochiads.com/srv/1/",
  89.             "method":"load",
  90.             "depth":10333,
  91.             "id":"_UNKNOWN_"
  92.          };
  93.          options = _uw234._pc321(options,DEFAULTS);
  94.          options.swfv = 9;
  95.          options.mav = _uw234._sl357();
  96.          _nw236 = options._nw236;
  97.          if(!_uw234._pm185())
  98.          {
  99.             return null;
  100.          }
  101.          if(_nw236._mochiad_loaded)
  102.          {
  103.             return null;
  104.          }
  105.          depth = Number(options.depth);
  106.          delete options.depth;
  107.          mc = _ia91(_nw236,"_mochiad",depth);
  108.          wh = _uw234._xy242(options,_nw236);
  109.          options.res = wh[0] + "x" + wh[1];
  110.          options.server += options.id;
  111.          delete options.id;
  112.          _nw236._mochiad_loaded = true;
  113.          if(_bm350.prStage.loaderInfo.loaderURL.indexOf("http") == 0)
  114.          {
  115.             options.as3_swf = _bm350.prStage.loaderInfo.loaderURL;
  116.          }
  117.          lv = new URLVariables();
  118.          for(k in options)
  119.          {
  120.             v = options[k];
  121.             if(!(v is Function))
  122.             {
  123.                lv[k] = v;
  124.             }
  125.          }
  126.          server = String(lv.server);
  127.          delete lv.server;
  128.          hostname = _xr21(server);
  129.          lc = new LocalConnection();
  130.          lc.client = mc;
  131.          name = ["",Math.floor(new Date().getTime()),Math.floor(Math.random() * 999999)].join("_");
  132.          lc.allowDomain("*","localhost");
  133.          lc.allowInsecureDomain("*","localhost");
  134.          lc.connect(name);
  135.          mc.lc = lc;
  136.          lv.lc = name;
  137.          lv.st = getTimer();
  138.          loader = new Loader();
  139.          f = function(param1:Object):void
  140.          {
  141.             mc._mochiad_ctr_failed = true;
  142.          };
  143.          loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,f);
  144.          g = function(param1:Object):void
  145.          {
  146.             _uw234.unload(_nw236);
  147.          };
  148.          loader.contentLoaderInfo.addEventListener(Event.UNLOAD,g);
  149.          req = new URLRequest(server + ".swf");
  150.          req.contentType = "application/x-www-form-urlencoded";
  151.          req.method = URLRequestMethod.POST;
  152.          req.data = lv;
  153.          loader.load(req);
  154.          mc.addChild(loader);
  155.          mc._mochiad_ctr = loader;
  156.          return mc;
  157.       }
  158.       
  159.       public static function _bm77(param1:Object, param2:Object, param3:Object = null) : Boolean
  160.       {
  161.          var _loc4_:MovieClip = null;
  162.          if(!(_loc4_ = _uw234._tr179({
  163.             "_nw236":param1._nw236,
  164.             "id":param1.id
  165.          })))
  166.          {
  167.             return false;
  168.          }
  169.          _loc4_.doSend(["sendHighScore",param1],param2,param3);
  170.          return true;
  171.       }
  172.       
  173.       public static function _wc534(param1:Object, param2:Object, param3:Object = null) : Boolean
  174.       {
  175.          var _loc4_:MovieClip = null;
  176.          if(!(_loc4_ = _uw234._tr179({
  177.             "_nw236":param1._nw236,
  178.             "id":param1.id
  179.          })))
  180.          {
  181.             return false;
  182.          }
  183.          _loc4_.doSend(["fetchHighScores",param1],param2,param3);
  184.          return true;
  185.       }
  186.       
  187.       public static function _ia91(param1:Object, param2:String, param3:Number) : MovieClip
  188.       {
  189.          var _loc4_:MovieClip = null;
  190.          _loc4_ = new MovieClip();
  191.          if(false && Boolean(param3))
  192.          {
  193.             param1.addChildAt(_loc4_,param3);
  194.          }
  195.          else
  196.          {
  197.             param1.addChild(_loc4_);
  198.          }
  199.          param1[param2] = _loc4_;
  200.          _loc4_["_name"] = param2;
  201.          return _loc4_;
  202.       }
  203.       
  204.       public static function _xy242(param1:Object, param2:Object) : Array
  205.       {
  206.          var _loc3_:Object = null;
  207.          var _loc4_:Number = NaN;
  208.          var _loc5_:Number = NaN;
  209.          var _loc6_:Array = null;
  210.          _loc3_ = param2.getBounds(param2.root);
  211.          _loc4_ = 0;
  212.          _loc5_ = 0;
  213.          if(typeof param1.res != "undefined")
  214.          {
  215.             _loc6_ = param1.res.split("x");
  216.             _loc4_ = parseFloat(_loc6_[0]);
  217.             _loc5_ = parseFloat(_loc6_[1]);
  218.          }
  219.          else
  220.          {
  221.             _loc4_ = _loc3_.xMax - _loc3_.xMin;
  222.             _loc5_ = _loc3_.yMax - _loc3_.yMin;
  223.          }
  224.          if(_loc4_ == 0 || _loc5_ == 0)
  225.          {
  226.             _loc4_ = Number(param2.stage.stageWidth);
  227.             _loc5_ = Number(param2.stage.stageHeight);
  228.          }
  229.          return [_loc4_,_loc5_];
  230.       }
  231.       
  232.       public static function _pm185() : Boolean
  233.       {
  234.          return Security.sandboxType != "localWithFile";
  235.       }
  236.       
  237.       public static function _nr105(param1:Object) : void
  238.       {
  239.          _uw234._vy239(param1);
  240.       }
  241.       
  242.       public static function _tr179(param1:Object) : MovieClip
  243.       {
  244.          var DEFAULTS:Object = null;
  245.          var _nw236:Object = null;
  246.          var clipname:String = null;
  247.          var server:String = null;
  248.          var depth:Number = NaN;
  249.          var mc:MovieClip = null;
  250.          var lv:URLVariables = null;
  251.          var k:String = null;
  252.          var lc:LocalConnection = null;
  253.          var name:String = null;
  254.          var req:URLRequest = null;
  255.          var loader:Loader = null;
  256.          var options:Object = param1;
  257.          DEFAULTS = {
  258.             "com_server":"http://x.mochiads.com/com/1/",
  259.             "method":"loadCommunicator",
  260.             "depth":10337,
  261.             "id":"_UNKNOWN_"
  262.          };
  263.          options = _uw234._pc321(options,DEFAULTS);
  264.          options.swfv = 9;
  265.          options.mav = _uw234._sl357();
  266.          _nw236 = options._nw236;
  267.          clipname = "_mochiad_com_" + options.id;
  268.          if(!_uw234._pm185())
  269.          {
  270.             return null;
  271.          }
  272.          if(_nw236[clipname])
  273.          {
  274.             return _nw236[clipname];
  275.          }
  276.          server = String(options.com_server + options.id);
  277.          _uw234._xr21(server);
  278.          delete options.id;
  279.          delete options.com_server;
  280.          depth = Number(options.depth);
  281.          delete options.depth;
  282.          mc = _ia91(_nw236,clipname,depth);
  283.          lv = new URLVariables();
  284.          for(k in options)
  285.          {
  286.             lv[k] = options[k];
  287.          }
  288.          lc = new LocalConnection();
  289.          lc.client = mc;
  290.          name = ["",Math.floor(new Date().getTime()),Math.floor(Math.random() * 999999)].join("_");
  291.          lc.allowDomain("*","localhost");
  292.          lc.allowInsecureDomain("*","localhost");
  293.          lc.connect(name);
  294.          mc.name = name;
  295.          mc.lc = lc;
  296.          lv.lc = name;
  297.          mc._id = 0;
  298.          mc._queue = [];
  299.          mc.rpcResult = function(param1:Object):void
  300.          {
  301.             var _loc3_:Array = null;
  302.             var _loc4_:Array = null;
  303.             var _loc5_:Number = NaN;
  304.             var _loc6_:Object = null;
  305.             var _loc7_:Object = null;
  306.             param1 = parseInt(param1.toString());
  307.             _loc3_ = mc._callbacks[param1];
  308.             if(typeof _loc3_ == "undefined")
  309.             {
  310.                return;
  311.             }
  312.             delete mc._callbacks[param1];
  313.             _loc4_ = [];
  314.             _loc5_ = 2;
  315.             while(_loc5_ < _loc3_.length)
  316.             {
  317.                _loc4_.push(_loc3_[_loc5_]);
  318.                _loc5_++;
  319.             }
  320.             _loc5_ = 1;
  321.             while(_loc5_ < arguments.length)
  322.             {
  323.                _loc4_.push(arguments[_loc5_]);
  324.                _loc5_++;
  325.             }
  326.             _loc6_ = _loc3_[1];
  327.             if((Boolean(_loc7_ = _loc3_[0])) && typeof _loc6_ == "string")
  328.             {
  329.                _loc6_ = _loc7_[_loc6_];
  330.             }
  331.             if(typeof _loc6_ == "function")
  332.             {
  333.                _loc6_.apply(_loc7_,_loc4_);
  334.             }
  335.          };
  336.          mc._didConnect = function(param1:String):void
  337.          {
  338.             var _loc2_:Array = null;
  339.             var _loc3_:Function = null;
  340.             var _loc4_:Number = NaN;
  341.             var _loc5_:Array = null;
  342.             mc._endpoint = param1;
  343.             _loc2_ = mc._queue;
  344.             delete mc._queue;
  345.             _loc3_ = mc.doSend;
  346.             _loc4_ = 0;
  347.             while(_loc4_ < _loc2_.length)
  348.             {
  349.                _loc5_ = _loc2_[_loc4_];
  350.                _loc3_.apply(this,_loc5_);
  351.                _loc4_++;
  352.             }
  353.          };
  354.          mc.doSend = function(param1:Array, param2:Object, param3:Object):void
  355.          {
  356.             var _loc5_:Number = NaN;
  357.             var _loc6_:LocalConnection = null;
  358.             var _loc7_:Array = null;
  359.             var _loc8_:Number = NaN;
  360.             if(mc._endpoint == null)
  361.             {
  362.                _loc7_ = [];
  363.                _loc8_ = 0;
  364.                while(_loc8_ < arguments.length)
  365.                {
  366.                   _loc7_.push(arguments[_loc8_]);
  367.                   _loc8_++;
  368.                }
  369.                mc._queue.push(_loc7_);
  370.                return;
  371.             }
  372.             mc._id += 1;
  373.             _loc5_ = Number(mc._id);
  374.             mc._callbacks[_loc5_] = [param2,param3 || param2];
  375.             (_loc6_ = new LocalConnection()).send(mc._endpoint,"rpc",_loc5_,param1);
  376.          };
  377.          mc._callbacks = {};
  378.          mc._callbacks[0] = [mc,"_didConnect"];
  379.          lv.st = getTimer();
  380.          req = new URLRequest(server + ".swf");
  381.          req.contentType = "application/x-www-form-urlencoded";
  382.          req.method = URLRequestMethod.POST;
  383.          req.data = lv;
  384.          loader = new Loader();
  385.          loader.load(req);
  386.          loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,_vn456);
  387.          loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR,_vn456);
  388.          mc.addChild(loader);
  389.          mc._mochiad_com = loader;
  390.          return mc;
  391.       }
  392.       
  393.       public static function _xr21(param1:String) : String
  394.       {
  395.          var _loc2_:String = null;
  396.          _loc2_ = String(param1.split("/")[2].split(":")[0]);
  397.          Security.allowDomain("*");
  398.          Security.allowDomain(_loc2_);
  399.          Security.allowInsecureDomain("*");
  400.          Security.allowInsecureDomain(_loc2_);
  401.          return _loc2_;
  402.       }
  403.       
  404.       public static function _tm254(param1:Object) : void
  405.       {
  406.          var DEFAULTS:Object = null;
  407.          var _nw236:Object = null;
  408.          var ad_msec:Number = NaN;
  409.          var ad_timeout:Number = NaN;
  410.          var fadeout_time:Number = NaN;
  411.          var mc:MovieClip = null;
  412.          var wh:Array = null;
  413.          var w:Number = NaN;
  414.          var h:Number = NaN;
  415.          var chk:MovieClip = null;
  416.          var bar:MovieClip = null;
  417.          var bar_color:Number = NaN;
  418.          var bar_background:Number = NaN;
  419.          var bar_outline:Number = NaN;
  420.          var backing_mc:MovieClip = null;
  421.          var backing:Object = null;
  422.          var inside_mc:MovieClip = null;
  423.          var inside:Object = null;
  424.          var outline_mc:MovieClip = null;
  425.          var outline:Object = null;
  426.          var complete:Boolean = false;
  427.          var unloaded:Boolean = false;
  428.          var f:Function = null;
  429.          var r:MovieClip = null;
  430.          var options:Object = param1;
  431.          DEFAULTS = {
  432.             "ad_timeout":3000,
  433.             "fadeout_time":250,
  434.             "regpt":"o",
  435.             "method":"showPreloaderAd",
  436.             "color":16747008,
  437.             "background":16777161,
  438.             "outline":13994812,
  439.             "ad_started":function():void
  440.             {
  441.                this._nw236.stop();
  442.             },
  443.             "ad_finished":function():void
  444.             {
  445.                this._nw236.play();
  446.             }
  447.          };
  448.          options = _uw234._pc321(options,DEFAULTS);
  449.          _nw236 = options._nw236;
  450.          ad_msec = 11000;
  451.          ad_timeout = Number(options.ad_timeout);
  452.          delete options.ad_timeout;
  453.          fadeout_time = Number(options.fadeout_time);
  454.          delete options.fadeout_time;
  455.          if(!_uw234.load(options))
  456.          {
  457.             options.ad_finished();
  458.             return;
  459.          }
  460.          options.ad_started();
  461.          mc = _nw236._mochiad;
  462.          mc["onUnload"] = function():void
  463.          {
  464.             var fn:Function = null;
  465.             fn = function():void
  466.             {
  467.                options.ad_finished();
  468.             };
  469.             setTimeout(fn,100);
  470.          };
  471.          wh = _uw234._xy242(options,_nw236);
  472.          w = Number(wh[0]);
  473.          h = Number(wh[1]);
  474.          mc.x = w * 0.5;
  475.          mc.y = h * 0.5;
  476.          chk = _ia91(mc,"_mochiad_wait",3);
  477.          chk.x = w * -0.5;
  478.          chk.y = h * -0.5;
  479.          bar = _ia91(chk,"_mochiad_bar",4);
  480.          bar.x = 10;
  481.          bar.y = h - 20;
  482.          bar_color = Number(options.color);
  483.          delete options.color;
  484.          bar_background = Number(options.background);
  485.          delete options.background;
  486.          bar_outline = Number(options.outline);
  487.          delete options.outline;
  488.          backing_mc = _ia91(bar,"_outline",1);
  489.          backing = backing_mc.graphics;
  490.          backing.beginFill(bar_background);
  491.          backing.moveTo(0,0);
  492.          backing.lineTo(w - 20,0);
  493.          backing.lineTo(w - 20,10);
  494.          backing.lineTo(0,10);
  495.          backing.lineTo(0,0);
  496.          backing.endFill();
  497.          inside_mc = _ia91(bar,"_inside",2);
  498.          inside = inside_mc.graphics;
  499.          inside.beginFill(bar_color);
  500.          inside.moveTo(0,0);
  501.          inside.lineTo(w - 20,0);
  502.          inside.lineTo(w - 20,10);
  503.          inside.lineTo(0,10);
  504.          inside.lineTo(0,0);
  505.          inside.endFill();
  506.          inside_mc.scaleX = 0;
  507.          outline_mc = _ia91(bar,"_outline",3);
  508.          outline = outline_mc.graphics;
  509.          outline.lineStyle(0,bar_outline,100);
  510.          outline.moveTo(0,0);
  511.          outline.lineTo(w - 20,0);
  512.          outline.lineTo(w - 20,10);
  513.          outline.lineTo(0,10);
  514.          outline.lineTo(0,0);
  515.          chk.ad_msec = ad_msec;
  516.          chk.ad_timeout = ad_timeout;
  517.          chk.started = getTimer();
  518.          chk.showing = false;
  519.          chk.last_pcnt = 0;
  520.          chk.fadeout_time = fadeout_time;
  521.          chk.fadeFunction = function():void
  522.          {
  523.             var _loc1_:Number = NaN;
  524.             _loc1_ = 100 * (1 - (getTimer() - this.fadeout_start) / this.fadeout_time);
  525.             if(_loc1_ > 0)
  526.             {
  527.                this.parent.alpha = _loc1_ * 0.01;
  528.             }
  529.             else
  530.             {
  531.                _uw234.unload(_nw236);
  532.                delete this["onEnterFrame"];
  533.             }
  534.          };
  535.          complete = false;
  536.          unloaded = false;
  537.          f = function(param1:Event):void
  538.          {
  539.             complete = true;
  540.             if(unloaded)
  541.             {
  542.                _uw234.unload(_nw236);
  543.             }
  544.          };
  545.          _nw236.loaderInfo.addEventListener(Event.COMPLETE,f);
  546.          if(_nw236.root is MovieClip)
  547.          {
  548.             r = _nw236.root as MovieClip;
  549.             if(r.framesLoaded >= r.totalFrames)
  550.             {
  551.                complete = true;
  552.             }
  553.          }
  554.          mc.unloadAd = function():void
  555.          {
  556.             unloaded = true;
  557.             if(complete)
  558.             {
  559.                _uw234.unload(_nw236);
  560.             }
  561.          };
  562.          mc.adjustProgress = function(param1:Number):void
  563.          {
  564.             var _loc2_:Object = null;
  565.             _loc2_ = mc._mochiad_wait;
  566.             _loc2_.server_control = true;
  567.             _loc2_.started = getTimer();
  568.             _loc2_.ad_msec = param1;
  569.          };
  570.          chk["onEnterFrame"] = function():void
  571.          {
  572.             var _loc1_:Object = null;
  573.             var _loc2_:Object = null;
  574.             var _loc3_:Number = NaN;
  575.             var _loc4_:Boolean = false;
  576.             var _loc5_:Number = NaN;
  577.             var _loc6_:Number = NaN;
  578.             var _loc7_:Number = NaN;
  579.             var _loc8_:Number = NaN;
  580.             var _loc9_:Object = null;
  581.             var _loc10_:Number = NaN;
  582.             var _loc11_:Number = NaN;
  583.             if(!this.parent.parent)
  584.             {
  585.                delete this["onEnterFrame"];
  586.                return;
  587.             }
  588.             _loc1_ = this.parent.parent.root;
  589.             _loc2_ = this.parent._mochiad_ctr;
  590.             _loc3_ = getTimer() - this.started;
  591.             _loc4_ = false;
  592.             _loc5_ = Number(_loc1_.loaderInfo.bytesTotal);
  593.             _loc6_ = Number(_loc1_.loaderInfo.bytesLoaded);
  594.             _loc7_ = 100 * _loc6_ / _loc5_;
  595.             _loc8_ = 100 * _loc3_ / chk.ad_msec;
  596.             _loc9_ = this._mochiad_bar._inside;
  597.             _loc10_ = Math.min(100,Math.min(_loc7_ || 0,_loc8_));
  598.             _loc10_ = Math.max(this.last_pcnt,_loc10_);
  599.             this.last_pcnt = _loc10_;
  600.             _loc9_.scaleX = _loc10_ * 0.01;
  601.             if(!chk.showing)
  602.             {
  603.                if((_loc11_ = Number(_loc2_.loaderInfo.bytesTotal)) > 0 || "number" == "undefined")
  604.                {
  605.                   chk.showing = true;
  606.                   chk.started = getTimer();
  607.                }
  608.                else if(_loc3_ > chk.ad_timeout)
  609.                {
  610.                   _loc4_ = true;
  611.                }
  612.             }
  613.             if(_loc3_ > chk.ad_msec || Boolean(this.parent._mochiad_ctr_failed))
  614.             {
  615.                _loc4_ = true;
  616.             }
  617.             if(complete && _loc4_)
  618.             {
  619.                if(this.server_control)
  620.                {
  621.                   delete this.onEnterFrame;
  622.                }
  623.                else
  624.                {
  625.                   this.fadeout_start = getTimer();
  626.                   this.onEnterFrame = chk.fadeFunction;
  627.                }
  628.             }
  629.          };
  630.          _qg245(chk);
  631.       }
  632.       
  633.       public static function _vw82(param1:Object) : void
  634.       {
  635.          _uw234._tm254(param1);
  636.       }
  637.       
  638.       public static function _vy239(param1:Object) : void
  639.       {
  640.          var DEFAULTS:Object = null;
  641.          var _nw236:Object = null;
  642.          var ad_msec:Number = NaN;
  643.          var ad_timeout:Number = NaN;
  644.          var fadeout_time:Number = NaN;
  645.          var mc:MovieClip = null;
  646.          var wh:Array = null;
  647.          var w:Number = NaN;
  648.          var h:Number = NaN;
  649.          var chk:MovieClip = null;
  650.          var options:Object = param1;
  651.          DEFAULTS = {
  652.             "ad_timeout":2000,
  653.             "fadeout_time":250,
  654.             "regpt":"o",
  655.             "method":"showTimedAd",
  656.             "ad_started":function():void
  657.             {
  658.                this._nw236.stop();
  659.             },
  660.             "ad_finished":function():void
  661.             {
  662.                this._nw236.play();
  663.             }
  664.          };
  665.          options = _uw234._pc321(options,DEFAULTS);
  666.          _nw236 = options._nw236;
  667.          ad_msec = 11000;
  668.          ad_timeout = Number(options.ad_timeout);
  669.          delete options.ad_timeout;
  670.          fadeout_time = Number(options.fadeout_time);
  671.          delete options.fadeout_time;
  672.          if(!_uw234.load(options))
  673.          {
  674.             options.ad_finished();
  675.             return;
  676.          }
  677.          options.ad_started();
  678.          mc = _nw236._mochiad;
  679.          mc["onUnload"] = function():void
  680.          {
  681.             options.ad_finished();
  682.          };
  683.          wh = _uw234._xy242(options,_nw236);
  684.          w = Number(wh[0]);
  685.          h = Number(wh[1]);
  686.          mc.x = w * 0.5;
  687.          mc.y = h * 0.5;
  688.          chk = _ia91(mc,"_mochiad_wait",3);
  689.          chk.ad_msec = ad_msec;
  690.          chk.ad_timeout = ad_timeout;
  691.          chk.started = getTimer();
  692.          chk.showing = false;
  693.          chk.fadeout_time = fadeout_time;
  694.          chk.fadeFunction = function():void
  695.          {
  696.             var _loc1_:Number = NaN;
  697.             _loc1_ = 100 * (1 - (getTimer() - this.fadeout_start) / this.fadeout_time);
  698.             if(_loc1_ > 0)
  699.             {
  700.                this.parent.alpha = _loc1_ * 0.01;
  701.             }
  702.             else
  703.             {
  704.                _uw234.unload(_nw236);
  705.                delete this["onEnterFrame"];
  706.             }
  707.          };
  708.          mc.unloadAd = function():void
  709.          {
  710.             _uw234.unload(_nw236);
  711.          };
  712.          mc.adjustProgress = function(param1:Number):void
  713.          {
  714.             var _loc2_:Object = null;
  715.             _loc2_ = mc._mochiad_wait;
  716.             _loc2_.server_control = true;
  717.             _loc2_.started = getTimer();
  718.             _loc2_.ad_msec = param1 - 250;
  719.          };
  720.          chk["onEnterFrame"] = function():void
  721.          {
  722.             var _loc1_:Object = null;
  723.             var _loc2_:Number = NaN;
  724.             var _loc3_:Boolean = false;
  725.             var _loc4_:Number = NaN;
  726.             _loc1_ = this.parent._mochiad_ctr;
  727.             _loc2_ = getTimer() - this.started;
  728.             _loc3_ = false;
  729.             if(!chk.showing)
  730.             {
  731.                if((_loc4_ = Number(_loc1_.loaderInfo.bytesTotal)) > 0 || "number" == "undefined")
  732.                {
  733.                   chk.showing = true;
  734.                   chk.started = getTimer();
  735.                }
  736.                else if(_loc2_ > chk.ad_timeout)
  737.                {
  738.                   _loc3_ = true;
  739.                }
  740.             }
  741.             if(_loc2_ > chk.ad_msec || Boolean(this.parent._mochiad_ctr_failed))
  742.             {
  743.                _loc3_ = true;
  744.             }
  745.             if(_loc3_)
  746.             {
  747.                if(this.server_control)
  748.                {
  749.                   delete this.onEnterFrame;
  750.                }
  751.                else
  752.                {
  753.                   this.fadeout_start = getTimer();
  754.                   this.onEnterFrame = this.fadeFunction;
  755.                }
  756.             }
  757.          };
  758.          _qg245(chk);
  759.       }
  760.       
  761.       public static function _vn456(param1:Error) : void
  762.       {
  763.          trace(param1.message);
  764.       }
  765.       
  766.       public static function unload(param1:Object) : Boolean
  767.       {
  768.          if(Boolean(param1._nw236) && Boolean(param1._nw236._mochiad))
  769.          {
  770.             param1 = param1._nw236;
  771.          }
  772.          if(!param1._mochiad)
  773.          {
  774.             return false;
  775.          }
  776.          if(param1._mochiad.onUnload)
  777.          {
  778.             param1._mochiad.onUnload();
  779.          }
  780.          param1.removeChild(param1._mochiad);
  781.          delete param1._mochiad_loaded;
  782.          delete param1._mochiad;
  783.          return true;
  784.       }
  785.    }
  786. }
  787.