home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
404 Jogos
/
CLJG.iso
/
Esportes
/
GHtP.swf
/
scripts
/
__Packages
/
MochiAd.as
< prev
Wrap
Text File
|
2008-09-03
|
19KB
|
640 lines
class MochiAd
{
function MochiAd()
{
}
static function getVersion()
{
return "2.5";
}
static function showPreGameAd(options)
{
var _loc26_ = {clip:_root,ad_timeout:3000,fadeout_time:250,regpt:"o",method:"showPreloaderAd",color:16747008,background:16777161,outline:13994812,no_progress_bar:false,ad_started:function()
{
this.clip.stop();
},ad_finished:function()
{
this.clip.play();
},ad_failed:function()
{
},ad_loaded:function(width, height)
{
},ad_skipped:function()
{
},ad_progress:function(percent)
{
}};
options = MochiAd._parseOptions(options,_loc26_);
if("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def")
{
options.ad_started();
options.ad_finished();
return undefined;
}
var clip = options.clip;
var _loc22_ = 11000;
var _loc25_ = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if(!MochiAd.load(options))
{
options.ad_failed();
options.ad_finished();
return undefined;
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function()
{
options.ad_finished();
};
var _loc14_ = MochiAd._getRes(options);
var _loc4_ = _loc14_[0];
var _loc13_ = _loc14_[1];
mc._x = _loc4_ * 0.5;
mc._y = _loc13_ * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait",3);
chk._x = _loc4_ * -0.5;
chk._y = _loc13_ * -0.5;
var _loc6_ = chk.createEmptyMovieClip("_mochiad_bar",4);
if(options.no_progress_bar)
{
_loc6_._visible = false;
delete options.no_progress_bar;
}
else
{
_loc6_._x = 10;
_loc6_._y = _loc13_ - 20;
}
var _loc21_ = options.color;
delete options.color;
var _loc19_ = options.background;
delete options.background;
var _loc23_ = options.outline;
delete options.outline;
var _loc5_ = _loc6_.createEmptyMovieClip("_outline",1);
_loc5_.beginFill(_loc19_);
_loc5_.moveTo(0,0);
_loc5_.lineTo(_loc4_ - 20,0);
_loc5_.lineTo(_loc4_ - 20,10);
_loc5_.lineTo(0,10);
_loc5_.lineTo(0,0);
_loc5_.endFill();
var _loc3_ = _loc6_.createEmptyMovieClip("_inside",2);
_loc3_.beginFill(_loc21_);
_loc3_.moveTo(0,0);
_loc3_.lineTo(_loc4_ - 20,0);
_loc3_.lineTo(_loc4_ - 20,10);
_loc3_.lineTo(0,10);
_loc3_.lineTo(0,0);
_loc3_.endFill();
_loc3_._xscale = 0;
var _loc7_ = _loc6_.createEmptyMovieClip("_outline",3);
_loc7_.lineStyle(0,_loc23_,100);
_loc7_.moveTo(0,0);
_loc7_.lineTo(_loc4_ - 20,0);
_loc7_.lineTo(_loc4_ - 20,10);
_loc7_.lineTo(0,10);
_loc7_.lineTo(0,0);
chk.ad_msec = _loc22_;
chk.ad_timeout = _loc25_;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function()
{
var _loc2_ = 100 * (1 - (getTimer() - this.fadeout_start) / this.fadeout_time);
if(_loc2_ > 0)
{
this._parent._alpha = _loc2_;
}
else
{
var _loc3_ = this._parent._parent;
MochiAd.unload(_loc3_);
delete this.onEnterFrame;
}
};
mc.lc.regContLC = function(lc_name)
{
mc._containerLCName = lc_name;
};
var sendHostProgress = false;
mc.lc.sendHostLoadProgress = function(lc_name)
{
sendHostProgress = true;
};
mc.lc.adLoaded = options.ad_loaded;
mc.lc.adSkipped = options.ad_skipped;
mc.lc.adjustProgress = function(msec)
{
var _loc2_ = this.mc._mochiad_wait;
_loc2_.server_control = true;
_loc2_.started = getTimer();
_loc2_.ad_msec = msec;
};
mc.lc.rpc = function(callbackID, arg)
{
MochiAd.rpc(clip,callbackID,arg);
};
mc.rpcTestFn = function(s)
{
return s;
};
chk.onEnterFrame = function()
{
var _loc6_ = this._parent._parent;
var _loc11_ = this._parent._mochiad_ctr;
var _loc5_ = getTimer() - this.started;
var _loc3_ = false;
var _loc4_ = _loc6_.getBytesTotal();
var _loc8_ = _loc6_.getBytesLoaded();
var _loc2_ = 100 * _loc8_ / _loc4_;
var _loc10_ = 100 * _loc5_ / chk.ad_msec;
var _loc9_ = this._mochiad_bar._inside;
var _loc13_ = Math.min(100,Math.min(_loc2_ || 0,_loc10_));
_loc13_ = Math.max(this.last_pcnt,_loc13_);
this.last_pcnt = _loc13_;
_loc9_._xscale = _loc13_;
options.ad_progress(_loc13_);
if(sendHostProgress)
{
clip._mochiad.lc.send(clip._mochiad._containerLCName,"notify",{id:"hostLoadPcnt",pcnt:_loc2_});
if(_loc2_ == 100)
{
sendHostProgress = false;
}
}
if(!chk.showing)
{
var _loc7_ = _loc11_.getBytesTotal();
if(_loc7_ > 0 || typeof _loc7_ == "undefined")
{
chk.showing = true;
chk.started = getTimer();
}
else if(_loc5_ > chk.ad_timeout && _loc2_ == 100)
{
options.ad_failed();
_loc3_ = true;
}
}
if(_loc5_ > chk.ad_msec)
{
_loc3_ = true;
}
if(_loc4_ > 0 && _loc8_ >= _loc4_ && _loc3_)
{
if(this.server_control)
{
delete this.onEnterFrame;
}
else
{
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
}
}
};
}
static function showClickAwayAd(options)
{
var _loc9_ = {clip:_root,ad_timeout:2000,fadeout_time:250,regpt:"o",method:"showClickAwayAd",res:"300x250",no_bg:true,ad_started:function()
{
},ad_finished:function()
{
},ad_loaded:function(width, height)
{
},ad_failed:function()
{
},ad_skipped:function()
{
}};
options = MochiAd._parseOptions(options,_loc9_);
var clip = options.clip;
var _loc8_ = options.ad_timeout;
delete options.ad_timeout;
if(!MochiAd.load(options))
{
options.ad_failed();
options.ad_finished();
return undefined;
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function()
{
options.ad_finished();
};
var _loc4_ = MochiAd._getRes(options);
var _loc10_ = _loc4_[0];
var _loc7_ = _loc4_[1];
mc._x = _loc10_ * 0.5;
mc._y = _loc7_ * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait",3);
chk.ad_timeout = _loc8_;
chk.started = getTimer();
chk.showing = false;
mc.lc.adLoaded = options.ad_loaded;
mc.lc.adSkipped = options.ad_skipped;
mc.lc.rpc = function(callbackID, arg)
{
MochiAd.rpc(clip,callbackID,arg);
};
mc.rpcTestFn = function(s)
{
return s;
};
var _loc20_ = false;
mc.lc.regContLC = function(lc_name)
{
mc._containerLCName = lc_name;
};
chk.onEnterFrame = function()
{
var _loc5_ = this._parent._mochiad_ctr;
var _loc4_ = getTimer() - this.started;
var _loc2_ = false;
if(!chk.showing)
{
var _loc3_ = _loc5_.getBytesTotal();
if(_loc3_ > 0 || typeof _loc3_ == "undefined")
{
_loc2_ = true;
chk.showing = true;
chk.started = getTimer();
}
else if(_loc4_ > chk.ad_timeout)
{
options.ad_failed();
_loc2_ = true;
}
}
if(_loc2_)
{
delete this.onEnterFrame;
}
};
}
static function showInterLevelAd(options)
{
var _loc13_ = {clip:_root,ad_timeout:2000,fadeout_time:250,regpt:"o",method:"showTimedAd",ad_started:function()
{
this.clip.stop();
},ad_finished:function()
{
this.clip.play();
},ad_failed:function()
{
},ad_loaded:function(width, height)
{
},ad_skipped:function()
{
}};
options = MochiAd._parseOptions(options,_loc13_);
var clip = options.clip;
var _loc10_ = 11000;
var _loc12_ = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if(!MochiAd.load(options))
{
options.ad_failed();
options.ad_finished();
return undefined;
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function()
{
options.ad_finished();
};
var _loc5_ = MochiAd._getRes(options);
var _loc14_ = _loc5_[0];
var _loc11_ = _loc5_[1];
mc._x = _loc14_ * 0.5;
mc._y = _loc11_ * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait",3);
chk.ad_msec = _loc10_;
chk.ad_timeout = _loc12_;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function()
{
var _loc2_ = 100 * (1 - (getTimer() - this.fadeout_start) / this.fadeout_time);
if(_loc2_ > 0)
{
this._parent._alpha = _loc2_;
}
else
{
var _loc3_ = this._parent._parent;
MochiAd.unload(_loc3_);
delete this.onEnterFrame;
}
};
mc.lc.adLoaded = options.ad_loaded;
mc.lc.adSkipped = options.ad_skipped;
mc.lc.adjustProgress = function(msec)
{
var _loc2_ = this.mc._mochiad_wait;
_loc2_.server_control = true;
_loc2_.started = getTimer();
_loc2_.ad_msec = msec - 250;
};
mc.lc.rpc = function(callbackID, arg)
{
MochiAd.rpc(clip,callbackID,arg);
};
mc.rpcTestFn = function(s)
{
return s;
};
chk.onEnterFrame = function()
{
var _loc5_ = this._parent._mochiad_ctr;
var _loc4_ = getTimer() - this.started;
var _loc2_ = false;
if(!chk.showing)
{
var _loc3_ = _loc5_.getBytesTotal();
if(_loc3_ > 0 || typeof _loc3_ == "undefined")
{
chk.showing = true;
chk.started = getTimer();
}
else if(_loc4_ > chk.ad_timeout)
{
options.ad_failed();
_loc2_ = true;
}
}
if(_loc4_ > chk.ad_msec)
{
_loc2_ = true;
}
if(_loc2_)
{
if(this.server_control)
{
delete this.onEnterFrame;
}
else
{
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
}
}
};
}
static function showPreloaderAd(options)
{
MochiAd.showPreGameAd(options);
}
static function showTimedAd(options)
{
MochiAd.showInterLevelAd(options);
}
static function _allowDomains(server)
{
var _loc1_ = server.split("/")[2].split(":")[0];
if(System.security)
{
if(System.security.allowDomain)
{
System.security.allowDomain("*");
System.security.allowDomain(_loc1_);
}
if(System.security.allowInsecureDomain)
{
System.security.allowInsecureDomain("*");
System.security.allowInsecureDomain(_loc1_);
}
}
return _loc1_;
}
static function load(options)
{
var _loc13_ = {clip:_root,server:"http://x.mochiads.com/srv/1/",method:"load",depth:10333,id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options,_loc13_);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = MochiAd.getVersion();
var _loc9_ = options.clip;
if(!MochiAd._isNetworkAvailable())
{
return null;
}
if(_loc9_._mochiad_loaded)
{
return null;
}
var _loc12_ = options.depth;
delete options.depth;
var _loc6_ = _loc9_.createEmptyMovieClip("_mochiad",_loc12_);
var _loc11_ = MochiAd._getRes(options);
options.res = _loc11_[0] + "x" + _loc11_[1];
options.server += options.id;
delete options.id;
_loc9_._mochiad_loaded = true;
var _loc4_ = _loc6_.createEmptyMovieClip("_mochiad_ctr",1);
for(var _loc7_ in options)
{
_loc4_[_loc7_] = options[_loc7_];
}
var _loc10_ = _loc4_.server;
delete _loc4_.server;
var _loc14_ = MochiAd._allowDomains(_loc10_);
_loc6_.onEnterFrame = function()
{
if(this._mochiad_ctr._url != this._url)
{
this.onEnterFrame = function()
{
if(!this._mochiad_ctr)
{
delete this.onEnterFrame;
MochiAd.unload(this._parent);
}
};
}
};
var _loc5_ = new LocalConnection();
var _loc8_ = ["",Math.floor(new Date().getTime()),random(999999)].join("_");
_loc5_.mc = _loc6_;
_loc5_.name = _loc8_;
_loc5_.hostname = _loc14_;
_loc5_.allowDomain = function(d)
{
return true;
};
_loc5_.allowInsecureDomain = _loc5_.allowDomain;
_loc5_.connect(_loc8_);
_loc6_.lc = _loc5_;
_loc4_.lc = _loc8_;
_loc4_.st = getTimer();
_loc4_.loadMovie(_loc10_ + ".swf","POST");
return _loc6_;
}
static function unload(clip)
{
if(typeof clip == "undefined")
{
clip = _root;
}
if(clip.clip && clip.clip._mochiad)
{
clip = clip.clip;
}
if(!clip._mochiad)
{
return false;
}
if(clip._mochiad._containerLCName != undefined)
{
clip._mochiad.lc.send(clip._mochiad._containerLCName,"notify",{id:"unload"});
}
clip._mochiad.removeMovieClip();
delete clip._mochiad_loaded;
delete clip._mochiad;
return true;
}
static function _isNetworkAvailable()
{
if(System.security)
{
var _loc1_ = System.security;
if(_loc1_.sandboxType == "localWithFile")
{
return false;
}
}
return true;
}
static function _getRes(options)
{
var _loc3_ = options.clip.getBounds();
var _loc2_ = 0;
var _loc1_ = 0;
if(typeof options.res != "undefined")
{
var _loc4_ = options.res.split("x");
_loc2_ = parseFloat(_loc4_[0]);
_loc1_ = parseFloat(_loc4_[1]);
}
else
{
_loc2_ = _loc3_.xMax - _loc3_.xMin;
_loc1_ = _loc3_.yMax - _loc3_.yMin;
}
if(_loc2_ == 0 || _loc1_ == 0)
{
_loc2_ = Stage.width;
_loc1_ = Stage.height;
}
return [_loc2_,_loc1_];
}
static function _parseOptions(options, defaults)
{
var _loc4_ = {};
for(var _loc8_ in defaults)
{
_loc4_[_loc8_] = defaults[_loc8_];
}
if(options)
{
for(_loc8_ in options)
{
_loc4_[_loc8_] = options[_loc8_];
}
}
if(_root.mochiad_options)
{
var _loc5_ = _root.mochiad_options.split("&");
var _loc2_ = 0;
while(_loc2_ < _loc5_.length)
{
var _loc3_ = _loc5_[_loc2_].split("=");
_loc4_[unescape(_loc3_[0])] = unescape(_loc3_[1]);
_loc2_ = _loc2_ + 1;
}
}
if(_loc4_.id == "test")
{
}
return _loc4_;
}
static function rpc(clip, callbackID, arg)
{
switch(arg.id)
{
case "setValue":
MochiAd.setValue(clip,arg.objectName,arg.value);
break;
case "getValue":
var _loc4_ = MochiAd.getValue(clip,arg.objectName);
clip._mochiad.lc.send(clip._mochiad._containerLCName,"rpcResult",callbackID,_loc4_);
break;
case "runMethod":
var _loc3_ = MochiAd.runMethod(clip,arg.method,arg.args);
clip._mochiad.lc.send(clip._mochiad._containerLCName,"rpcResult",callbackID,_loc3_);
}
}
static function setValue(base, objectName, value)
{
var _loc2_ = objectName.split(".");
var _loc1_ = undefined;
_loc1_ = 0;
while(_loc1_ < _loc2_.length - 1)
{
if(base[_loc2_[_loc1_]] == undefined || base[_loc2_[_loc1_]] == null)
{
return undefined;
}
base = base[_loc2_[_loc1_]];
_loc1_ = _loc1_ + 1;
}
base[_loc2_[_loc1_]] = value;
}
static function getValue(base, objectName)
{
var _loc2_ = objectName.split(".");
var _loc1_ = undefined;
_loc1_ = 0;
while(_loc1_ < _loc2_.length - 1)
{
if(base[_loc2_[_loc1_]] == undefined || base[_loc2_[_loc1_]] == null)
{
return undefined;
}
base = base[_loc2_[_loc1_]];
_loc1_ = _loc1_ + 1;
}
return base[_loc2_[_loc1_]];
}
static function runMethod(base, methodName, argsArray)
{
var _loc2_ = methodName.split(".");
var _loc1_ = undefined;
_loc1_ = 0;
while(_loc1_ < _loc2_.length - 1)
{
if(base[_loc2_[_loc1_]] == undefined || base[_loc2_[_loc1_]] == null)
{
return undefined;
}
base = base[_loc2_[_loc1_]];
_loc1_ = _loc1_ + 1;
}
if(typeof base[_loc2_[_loc1_]] == "function")
{
return base[_loc2_[_loc1_]].apply(base,argsArray);
}
return undefined;
}
}