home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Puzzle / Easter_Eggs.swf / scripts / __Packages / MochiAd.as
Text File  |  2008-09-04  |  18KB  |  585 lines

  1. class MochiAd
  2. {
  3.    function MochiAd()
  4.    {
  5.    }
  6.    static function getVersion()
  7.    {
  8.       return "2.3";
  9.    }
  10.    static function showPreGameAd(options)
  11.    {
  12.       var _loc27_ = {clip:_root,ad_timeout:3000,fadeout_time:250,regpt:"o",method:"showPreloaderAd",color:16747008,background:16777161,outline:13994812,ad_started:function()
  13.       {
  14.          this.clip.stop();
  15.       },ad_finished:function()
  16.       {
  17.          this.clip.play();
  18.       },ad_failed:function()
  19.       {
  20.          trace("[MochAd] Couldn\'t load an ad, make sure that your game\'s local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
  21.       },ad_loaded:function(width, height)
  22.       {
  23.       }};
  24.       options = MochiAd._parseOptions(options,_loc27_);
  25.       if("5cc6f7dfb67f2f08341c831480f7c2a7".length == 0)
  26.       {
  27.          options.ad_started();
  28.          options.ad_finished();
  29.          return undefined;
  30.       }
  31.       var clip = options.clip;
  32.       var _loc23_ = 11000;
  33.       var _loc26_ = options.ad_timeout;
  34.       delete options.ad_timeout;
  35.       var fadeout_time = options.fadeout_time;
  36.       delete options.fadeout_time;
  37.       if(!MochiAd.load(options))
  38.       {
  39.          options.ad_failed();
  40.          options.ad_finished();
  41.          return undefined;
  42.       }
  43.       options.ad_started();
  44.       var mc = clip._mochiad;
  45.       mc.onUnload = function()
  46.       {
  47.          options.ad_finished();
  48.       };
  49.       var _loc14_ = MochiAd._getRes(options);
  50.       var _loc4_ = _loc14_[0];
  51.       var _loc13_ = _loc14_[1];
  52.       mc._x = _loc4_ * 0.5;
  53.       mc._y = _loc13_ * 0.5;
  54.       var chk = mc.createEmptyMovieClip("_mochiad_wait",3);
  55.       chk._x = _loc4_ * -0.5;
  56.       chk._y = _loc13_ * -0.5;
  57.       var _loc7_ = chk.createEmptyMovieClip("_mochiad_bar",4);
  58.       _loc7_._x = 10;
  59.       _loc7_._y = _loc13_ - 20;
  60.       var _loc22_ = options.color;
  61.       delete options.color;
  62.       var _loc19_ = options.background;
  63.       delete options.background;
  64.       var _loc24_ = options.outline;
  65.       delete options.outline;
  66.       var _loc5_ = _loc7_.createEmptyMovieClip("_outline",1);
  67.       _loc5_.beginFill(_loc19_);
  68.       _loc5_.moveTo(0,0);
  69.       _loc5_.lineTo(_loc4_ - 20,0);
  70.       _loc5_.lineTo(_loc4_ - 20,10);
  71.       _loc5_.lineTo(0,10);
  72.       _loc5_.lineTo(0,0);
  73.       _loc5_.endFill();
  74.       var _loc3_ = _loc7_.createEmptyMovieClip("_inside",2);
  75.       _loc3_.beginFill(_loc22_);
  76.       _loc3_.moveTo(0,0);
  77.       _loc3_.lineTo(_loc4_ - 20,0);
  78.       _loc3_.lineTo(_loc4_ - 20,10);
  79.       _loc3_.lineTo(0,10);
  80.       _loc3_.lineTo(0,0);
  81.       _loc3_.endFill();
  82.       _loc3_._xscale = 0;
  83.       var _loc6_ = _loc7_.createEmptyMovieClip("_outline",3);
  84.       _loc6_.lineStyle(0,_loc24_,100);
  85.       _loc6_.moveTo(0,0);
  86.       _loc6_.lineTo(_loc4_ - 20,0);
  87.       _loc6_.lineTo(_loc4_ - 20,10);
  88.       _loc6_.lineTo(0,10);
  89.       _loc6_.lineTo(0,0);
  90.       chk.ad_msec = _loc23_;
  91.       chk.ad_timeout = _loc26_;
  92.       chk.started = getTimer();
  93.       chk.showing = false;
  94.       chk.last_pcnt = 0;
  95.       chk.fadeout_time = fadeout_time;
  96.       chk.fadeFunction = function()
  97.       {
  98.          var _loc2_ = 100 * (1 - (getTimer() - this.fadeout_start) / this.fadeout_time);
  99.          if(_loc2_ > 0)
  100.          {
  101.             this._parent._alpha = _loc2_;
  102.          }
  103.          else
  104.          {
  105.             var _loc3_ = this._parent._parent;
  106.             MochiAd.unload(_loc3_);
  107.             delete this.onEnterFrame;
  108.          }
  109.       };
  110.       mc.lc.adLoaded = options.ad_loaded;
  111.       mc.lc.adjustProgress = function(msec)
  112.       {
  113.          var _loc2_ = this.mc._mochiad_wait;
  114.          _loc2_.server_control = true;
  115.          _loc2_.started = getTimer();
  116.          _loc2_.ad_msec = msec;
  117.       };
  118.       chk.onEnterFrame = function()
  119.       {
  120.          var _loc6_ = this._parent._parent;
  121.          var _loc12_ = this._parent._mochiad_ctr;
  122.          var _loc5_ = getTimer() - this.started;
  123.          var _loc3_ = false;
  124.          var _loc4_ = _loc6_.getBytesTotal();
  125.          var _loc8_ = _loc6_.getBytesLoaded();
  126.          var _loc10_ = 100 * _loc8_ / _loc4_;
  127.          var _loc11_ = 100 * _loc5_ / chk.ad_msec;
  128.          var _loc9_ = this._mochiad_bar._inside;
  129.          var _loc2_ = Math.min(100,Math.min(_loc10_ || 0,_loc11_));
  130.          _loc2_ = Math.max(this.last_pcnt,_loc2_);
  131.          this.last_pcnt = _loc2_;
  132.          _loc9_._xscale = _loc2_;
  133.          if(!chk.showing)
  134.          {
  135.             var _loc7_ = _loc12_.getBytesTotal();
  136.             if(_loc7_ > 0 || typeof _loc7_ == "undefined")
  137.             {
  138.                chk.showing = true;
  139.                chk.started = getTimer();
  140.             }
  141.             else if(_loc5_ > chk.ad_timeout)
  142.             {
  143.                options.ad_failed();
  144.                _loc3_ = true;
  145.             }
  146.          }
  147.          if(_loc5_ > chk.ad_msec)
  148.          {
  149.             _loc3_ = true;
  150.          }
  151.          if(_loc4_ > 0 && _loc8_ >= _loc4_ && _loc3_)
  152.          {
  153.             if(this.server_control)
  154.             {
  155.                delete this.onEnterFrame;
  156.             }
  157.             else
  158.             {
  159.                this.fadeout_start = getTimer();
  160.                this.onEnterFrame = chk.fadeFunction;
  161.             }
  162.          }
  163.       };
  164.    }
  165.    static function showInterLevelAd(options)
  166.    {
  167.       var _loc13_ = {clip:_root,ad_timeout:2000,fadeout_time:250,regpt:"o",method:"showTimedAd",ad_started:function()
  168.       {
  169.          this.clip.stop();
  170.       },ad_finished:function()
  171.       {
  172.          this.clip.play();
  173.       },ad_failed:function()
  174.       {
  175.          trace("[MochAd] Couldn\'t load an ad, make sure that your game\'s local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
  176.       },ad_loaded:function(width, height)
  177.       {
  178.       }};
  179.       options = MochiAd._parseOptions(options,_loc13_);
  180.       var clip = options.clip;
  181.       var _loc10_ = 11000;
  182.       var _loc12_ = options.ad_timeout;
  183.       delete options.ad_timeout;
  184.       var fadeout_time = options.fadeout_time;
  185.       delete options.fadeout_time;
  186.       if(!MochiAd.load(options))
  187.       {
  188.          options.ad_failed();
  189.          options.ad_finished();
  190.          return undefined;
  191.       }
  192.       options.ad_started();
  193.       var mc = clip._mochiad;
  194.       mc.onUnload = function()
  195.       {
  196.          options.ad_finished();
  197.       };
  198.       var _loc5_ = MochiAd._getRes(options);
  199.       var _loc14_ = _loc5_[0];
  200.       var _loc11_ = _loc5_[1];
  201.       mc._x = _loc14_ * 0.5;
  202.       mc._y = _loc11_ * 0.5;
  203.       var chk = mc.createEmptyMovieClip("_mochiad_wait",3);
  204.       chk.ad_msec = _loc10_;
  205.       chk.ad_timeout = _loc12_;
  206.       chk.started = getTimer();
  207.       chk.showing = false;
  208.       chk.fadeout_time = fadeout_time;
  209.       chk.fadeFunction = function()
  210.       {
  211.          var _loc2_ = 100 * (1 - (getTimer() - this.fadeout_start) / this.fadeout_time);
  212.          if(_loc2_ > 0)
  213.          {
  214.             this._parent._alpha = _loc2_;
  215.          }
  216.          else
  217.          {
  218.             var _loc3_ = this._parent._parent;
  219.             MochiAd.unload(_loc3_);
  220.             delete this.onEnterFrame;
  221.          }
  222.       };
  223.       mc.lc.adLoaded = options.ad_loaded;
  224.       mc.lc.adjustProgress = function(msec)
  225.       {
  226.          var _loc2_ = this.mc._mochiad_wait;
  227.          _loc2_.server_control = true;
  228.          _loc2_.started = getTimer();
  229.          _loc2_.ad_msec = msec - 250;
  230.       };
  231.       chk.onEnterFrame = function()
  232.       {
  233.          var _loc5_ = this._parent._mochiad_ctr;
  234.          var _loc4_ = getTimer() - this.started;
  235.          var _loc2_ = false;
  236.          if(!chk.showing)
  237.          {
  238.             var _loc3_ = _loc5_.getBytesTotal();
  239.             if(_loc3_ > 0 || typeof _loc3_ == "undefined")
  240.             {
  241.                chk.showing = true;
  242.                chk.started = getTimer();
  243.             }
  244.             else if(_loc4_ > chk.ad_timeout)
  245.             {
  246.                options.ad_failed();
  247.                _loc2_ = true;
  248.             }
  249.          }
  250.          if(_loc4_ > chk.ad_msec)
  251.          {
  252.             _loc2_ = true;
  253.          }
  254.          if(_loc2_)
  255.          {
  256.             if(this.server_control)
  257.             {
  258.                delete this.onEnterFrame;
  259.             }
  260.             else
  261.             {
  262.                this.fadeout_start = getTimer();
  263.                this.onEnterFrame = this.fadeFunction;
  264.             }
  265.          }
  266.       };
  267.    }
  268.    static function showTimedAd(options)
  269.    {
  270.       trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0");
  271.       MochiAd.showInterLevelAd(options);
  272.    }
  273.    static function showPreloaderAd(options)
  274.    {
  275.       trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0");
  276.       MochiAd.showPreGameAd(options);
  277.    }
  278.    static function _allowDomains(server)
  279.    {
  280.       var _loc1_ = server.split("/")[2].split(":")[0];
  281.       if(System.security)
  282.       {
  283.          if(System.security.allowDomain)
  284.          {
  285.             System.security.allowDomain("*");
  286.             System.security.allowDomain(_loc1_);
  287.          }
  288.          if(System.security.allowInsecureDomain)
  289.          {
  290.             System.security.allowInsecureDomain("*");
  291.             System.security.allowInsecureDomain(_loc1_);
  292.          }
  293.       }
  294.       return _loc1_;
  295.    }
  296.    static function _loadCommunicator(options)
  297.    {
  298.       var _loc26_ = {clip:_root,com_server:"http://x.mochiads.com/com/1/",method:"loadCommunicator",depth:10337,id:"_UNKNOWN_"};
  299.       options = MochiAd._parseOptions(options,_loc26_);
  300.       options.swfv = options.clip.getSWFVersion() || 6;
  301.       options.mav = MochiAd.getVersion();
  302.       var _loc18_ = options.clip;
  303.       var _loc20_ = "_mochiad_com_" + options.id;
  304.       if(!MochiAd._isNetworkAvailable())
  305.       {
  306.          return null;
  307.       }
  308.       if(_loc18_[_loc20_])
  309.       {
  310.          return _loc18_[_loc20_].lc;
  311.       }
  312.       var _loc21_ = options.com_server + options.id;
  313.       MochiAd._allowDomains(_loc21_);
  314.       delete options.id;
  315.       delete options.com_server;
  316.       var _loc25_ = options.depth;
  317.       delete options.depth;
  318.       var _loc17_ = _loc18_.createEmptyMovieClip(_loc20_,_loc25_);
  319.       var _loc11_ = _loc17_.createEmptyMovieClip("_mochiad_com",1);
  320.       for(var _loc15_ in options)
  321.       {
  322.          _loc11_[_loc15_] = options[_loc15_];
  323.       }
  324.       var _loc6_ = new LocalConnection();
  325.       var _loc16_ = ["",Math.floor(new Date().getTime()),random(999999)].join("_");
  326.       _loc6_.mc = _loc17_;
  327.       _loc6_.name = _loc16_;
  328.       _loc6_.allowDomain = function(d)
  329.       {
  330.          return true;
  331.       };
  332.       _loc6_.allowInsecureDomain = _loc6_.allowDomain;
  333.       _loc6_.connect(_loc16_);
  334.       _loc17_.lc = _loc6_;
  335.       _loc11_.lc = _loc16_;
  336.       _loc6_._id = 0;
  337.       _loc6_._queue = [];
  338.       _loc6_.rpcResult = function(cb_arg)
  339.       {
  340.          var _loc8_ = parseInt(cb_arg);
  341.          var _loc4_ = this._callbacks[_loc8_];
  342.          if(!_loc4_)
  343.          {
  344.             return undefined;
  345.          }
  346.          delete this._callbacks[_loc8_];
  347.          var _loc5_ = [];
  348.          var _loc3_ = 2;
  349.          while(_loc3_ < _loc4_.length)
  350.          {
  351.             _loc5_.push(_loc4_[_loc3_]);
  352.             _loc3_ = _loc3_ + 1;
  353.          }
  354.          _loc3_ = 1;
  355.          while(_loc3_ < arguments.length)
  356.          {
  357.             _loc5_.push(arguments[_loc3_]);
  358.             _loc3_ = _loc3_ + 1;
  359.          }
  360.          var _loc6_ = _loc4_[1];
  361.          var _loc7_ = _loc4_[0];
  362.          if(_loc7_ && typeof _loc6_ == "string")
  363.          {
  364.             _loc6_ = _loc7_[_loc6_];
  365.          }
  366.          if(_loc6_)
  367.          {
  368.             _loc6_.apply(_loc7_,_loc5_);
  369.          }
  370.       };
  371.       _loc6_._didConnect = function(endpoint)
  372.       {
  373.          this._endpoint = endpoint;
  374.          var _loc4_ = this._queue;
  375.          delete this._queue;
  376.          var _loc5_ = this.doSend;
  377.          var _loc2_ = 0;
  378.          while(_loc2_ < _loc4_.length)
  379.          {
  380.             var _loc3_ = _loc4_[_loc2_];
  381.             _loc5_.apply(this,_loc3_);
  382.             _loc2_ = _loc2_ + 1;
  383.          }
  384.       };
  385.       _loc6_.doSend = function(args, cbobj, cbfn)
  386.       {
  387.          if(this._endpoint == null)
  388.          {
  389.             var _loc4_ = [];
  390.             var _loc3_ = 0;
  391.             while(_loc3_ < arguments.length)
  392.             {
  393.                _loc4_.push(arguments[_loc3_]);
  394.                _loc3_ = _loc3_ + 1;
  395.             }
  396.             this._queue.push(_loc4_);
  397.             return undefined;
  398.          }
  399.          this._id += 1;
  400.          var _loc5_ = this._id;
  401.          if(cbfn === undefined || cbfn === null)
  402.          {
  403.             cbfn = cbobj;
  404.          }
  405.          this._callbacks[_loc5_] = [cbobj,cbfn];
  406.          var _loc7_ = new LocalConnection();
  407.          var _loc9_ = _loc7_.send(this._endpoint,"rpc",_loc5_,args);
  408.       };
  409.       _loc6_._callbacks = {};
  410.       _loc6_._callbacks[0] = [_loc6_,"_didConnect"];
  411.       _loc11_.st = getTimer();
  412.       _loc11_.loadMovie(_loc21_ + ".swf","POST");
  413.       return _loc6_;
  414.    }
  415.    static function fetchHighScores(options, callbackObj, callbackMethod)
  416.    {
  417.       var _loc1_ = MochiAd._loadCommunicator({id:options.id});
  418.       if(!_loc1_)
  419.       {
  420.          return false;
  421.       }
  422.       var _loc4_ = ["fetchHighScores",options];
  423.       _loc1_.doSend(["fetchHighScores",options],callbackObj,callbackMethod);
  424.       return true;
  425.    }
  426.    static function sendHighScore(options, callbackObj, callbackMethod)
  427.    {
  428.       var _loc1_ = MochiAd._loadCommunicator({id:options.id});
  429.       if(!_loc1_)
  430.       {
  431.          return false;
  432.       }
  433.       var _loc4_ = ["sendHighScore",options];
  434.       _loc1_.doSend(["sendHighScore",options],callbackObj,callbackMethod);
  435.       return true;
  436.    }
  437.    static function load(options)
  438.    {
  439.       var _loc13_ = {clip:_root,server:"http://x.mochiads.com/srv/1/",method:"load",depth:10333,id:"_UNKNOWN_"};
  440.       options = MochiAd._parseOptions(options,_loc13_);
  441.       options.swfv = options.clip.getSWFVersion() || 6;
  442.       options.mav = MochiAd.getVersion();
  443.       var _loc9_ = options.clip;
  444.       if(!MochiAd._isNetworkAvailable())
  445.       {
  446.          return null;
  447.       }
  448.       if(_loc9_._mochiad_loaded)
  449.       {
  450.          return null;
  451.       }
  452.       var _loc12_ = options.depth;
  453.       delete options.depth;
  454.       var _loc6_ = _loc9_.createEmptyMovieClip("_mochiad",_loc12_);
  455.       var _loc11_ = MochiAd._getRes(options);
  456.       options.res = _loc11_[0] + "x" + _loc11_[1];
  457.       options.server += options.id;
  458.       delete options.id;
  459.       _loc9_._mochiad_loaded = true;
  460.       var _loc4_ = _loc6_.createEmptyMovieClip("_mochiad_ctr",1);
  461.       for(var _loc7_ in options)
  462.       {
  463.          _loc4_[_loc7_] = options[_loc7_];
  464.       }
  465.       var _loc10_ = _loc4_.server;
  466.       delete _loc4_.server;
  467.       var _loc14_ = MochiAd._allowDomains(_loc10_);
  468.       _loc6_.onEnterFrame = function()
  469.       {
  470.          if(this._mochiad_ctr._url != this._url)
  471.          {
  472.             this.onEnterFrame = function()
  473.             {
  474.                if(!this._mochiad_ctr)
  475.                {
  476.                   delete this.onEnterFrame;
  477.                   MochiAd.unload(this._parent);
  478.                }
  479.             };
  480.          }
  481.       };
  482.       var _loc5_ = new LocalConnection();
  483.       var _loc8_ = ["",Math.floor(new Date().getTime()),random(999999)].join("_");
  484.       _loc5_.mc = _loc6_;
  485.       _loc5_.name = _loc8_;
  486.       _loc5_.hostname = _loc14_;
  487.       _loc5_.allowDomain = function(d)
  488.       {
  489.          return true;
  490.       };
  491.       _loc5_.allowInsecureDomain = _loc5_.allowDomain;
  492.       _loc5_.connect(_loc8_);
  493.       _loc6_.lc = _loc5_;
  494.       _loc4_.lc = _loc8_;
  495.       _loc4_.st = getTimer();
  496.       _loc4_.loadMovie(_loc10_ + ".swf","POST");
  497.       return _loc6_;
  498.    }
  499.    static function unload(clip)
  500.    {
  501.       if(typeof clip == "undefined")
  502.       {
  503.          clip = _root;
  504.       }
  505.       if(clip.clip && clip.clip._mochiad)
  506.       {
  507.          clip = clip.clip;
  508.       }
  509.       if(!clip._mochiad)
  510.       {
  511.          return false;
  512.       }
  513.       clip._mochiad.removeMovieClip();
  514.       delete clip._mochiad_loaded;
  515.       delete clip._mochiad;
  516.       return true;
  517.    }
  518.    static function _isNetworkAvailable()
  519.    {
  520.       if(System.security)
  521.       {
  522.          var _loc1_ = System.security;
  523.          if(_loc1_.sandboxType == "localWithFile")
  524.          {
  525.             return false;
  526.          }
  527.       }
  528.       return true;
  529.    }
  530.    static function _getRes(options)
  531.    {
  532.       var _loc3_ = options.clip.getBounds();
  533.       var _loc2_ = 0;
  534.       var _loc1_ = 0;
  535.       if(typeof options.res != "undefined")
  536.       {
  537.          var _loc4_ = options.res.split("x");
  538.          _loc2_ = parseFloat(_loc4_[0]);
  539.          _loc1_ = parseFloat(_loc4_[1]);
  540.       }
  541.       else
  542.       {
  543.          _loc2_ = _loc3_.xMax - _loc3_.xMin;
  544.          _loc1_ = _loc3_.yMax - _loc3_.yMin;
  545.       }
  546.       if(_loc2_ == 0 || _loc1_ == 0)
  547.       {
  548.          _loc2_ = Stage.width;
  549.          _loc1_ = Stage.height;
  550.       }
  551.       return [_loc2_,_loc1_];
  552.    }
  553.    static function _parseOptions(options, defaults)
  554.    {
  555.       var _loc4_ = {};
  556.       for(var _loc8_ in defaults)
  557.       {
  558.          _loc4_[_loc8_] = defaults[_loc8_];
  559.       }
  560.       if(options)
  561.       {
  562.          for(_loc8_ in options)
  563.          {
  564.             _loc4_[_loc8_] = options[_loc8_];
  565.          }
  566.       }
  567.       if(_root.mochiad_options)
  568.       {
  569.          var _loc5_ = _root.mochiad_options.split("&");
  570.          var _loc2_ = 0;
  571.          while(_loc2_ < _loc5_.length)
  572.          {
  573.             var _loc3_ = _loc5_[_loc2_].split("=");
  574.             _loc4_[unescape(_loc3_[0])] = unescape(_loc3_[1]);
  575.             _loc2_ = _loc2_ + 1;
  576.          }
  577.       }
  578.       if(_loc4_.id == "test")
  579.       {
  580.          trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
  581.       }
  582.       return _loc4_;
  583.    }
  584. }
  585.