Frame 1
MochiAd.showPreloaderAd({id:"555d1a61f19590c0", res:"550x400"});
Frame 2
function InitializeGame() {
InitializeLevelVariables(level);
txtEffect.text = "";
playGame = true;
if ((level == 1) && (firstGame)) {
firstGame = false;
if (playSound) {
stopAllSounds();
bgMusic.gotoAndStop(3);
} else {
soundToggle.gotoAndStop(2);
}
}
do {
SetGrid();
go = CheckPlays();
} while (go == 0);
UpdateCandyPercentages();
}
function InitializeLevelVariables(a) {
gridInfo = new Object();
gridInfo.pixelWidth = grid._width;
gridInfo.pixelHeight = grid._height - 5;
tempDepth = 1000;
width = levelInfo[a].width;
height = levelInfo[a].height;
squareWidth = gridInfo.pixelWidth / width;
squareHeight = gridInfo.pixelHeight / height;
typesOfBricks = levelInfo[a].typesOfBricks;
scoreIncrement = levelInfo[a].scoreIncrement;
scoreRequired = levelInfo[a].scoreRequired;
candiesCollected = new Array();
candiesOriginally = new Array();
b = 1;
while (b <= totalTypesOfBricks) {
mcName = "mcCandy" + b;
txtName = "txtCandy" + b;
if (b <= typesOfBricks) {
_root[mcName]._visible = true;
_root[txtName]._visible = true;
candiesCollected[b] = 0;
candiesOriginally[b] = 0;
} else {
_root[mcName]._visible = false;
_root[txtName]._visible = false;
}
b++;
}
brickGrid = new Array();
destroyList = new Array();
oneClick = new Array();
x = 0;
while (x < width) {
brickGrid[x] = new Array(height);
destroyList[x] = new Array(height);
oneClick[x] = new Array(height);
x++;
}
x = 0;
while (x < width) {
y = 0;
while (y < height) {
destroyList[x][y] = -1;
oneClick[x][y] = false;
y++;
}
x++;
}
}
function SetGrid() {
j = 0;
while (j < height) {
i = 0;
while (i < width) {
name = (("cell" + i) + "_") + j;
_root.grid.attachMovie("drop", name, tempDepth++);
element = Math.ceil(Math.random() * typesOfBricks) + 1;
brickGrid[i][j] = element;
candiesLeft[element - 1]++;
candiesOriginally[element - 1]++;
_root.grid[name]._width = squareWidth;
_root.grid[name]._height = squareHeight;
_root.grid[name]._x = i * squareWidth;
_root.grid[name]._y = ((height - j) - 1) * squareHeight;
_root.grid[name].name = name;
_root.grid[name].x = i;
_root.grid[name].y = j;
_root.grid[name].dropImg.gotoAndStop(element);
i++;
}
j++;
}
}
function CheckPlays() {
y = 0;
while (y < height) {
x = 0;
while (x < width) {
if (brickGrid[x][y] > 1) {
if ((brickGrid[x + 1][y] > 1) && (brickGrid[x + 1][y] == brickGrid[x][y])) {
return(1);
}
if ((brickGrid[x][y + 1] > 1) && (brickGrid[x][y + 1] == brickGrid[x][y])) {
return(1);
}
}
x++;
}
y++;
}
return(0);
}
function CheckClick(x, y) {
destroyList[x][y] = 1;
CheckNeighbors(x, y);
destroyListActualLength = CheckDestroyListLength();
if (destroyListActualLength > 1) {
if (oneClick[x][y] == false) {
if (playSound) {
selectSound = new Sound();
selectSound.attachSound("bloop");
selectSound.start();
}
temp = AddScore(destroyListActualLength);
txtEffect.text = ((destroyListActualLength + " candies is worth ") + temp) + " points.";
UnHighlightOneClicks();
HighlightOneClicks();
x = 0;
while (x < width) {
y = 0;
while (y < height) {
destroyList[x][y] = -1;
y++;
}
x++;
}
} else {
txtEffect.text = "";
DestroyBlocks();
DropBlocks();
CompressBlocks();
UpdateCandyPercentages();
score = score + AddScore(destroyListActualLength);
UnHighlightOneClicks();
UpdateCandyPercentages();
go = CheckPlays();
if (go != 1) {
x = 0;
while (x < width) {
y = 0;
while (y < height) {
name = (("cell" + x) + "_") + y;
_root.grid[name]._visible = false;
y++;
}
x++;
}
futureScore = score;
b = 1;
while (b <= typesOfBricks) {
percent = Math.floor((candiesCollected[b] / candiesOriginally[b]) * 100);
bonus = GetBonus(percent);
futureScore = futureScore + bonus;
b++;
}
if (futureScore >= scoreRequired) {
DisplayPostPop();
} else {
DisplayPostPopLoss();
}
}
}
} else {
UnHighlightOneClicks();
x = 0;
while (x < width) {
y = 0;
while (y < height) {
destroyList[x][y] = -1;
y++;
}
x++;
}
}
}
function CheckNeighbors(x, y) {
if ((x - 1) >= 0) {
if (brickGrid[x][y] == brickGrid[x - 1][y]) {
AddToDestroyList(x - 1, y);
}
}
if ((y - 1) >= 0) {
if (brickGrid[x][y] == brickGrid[x][y - 1]) {
AddToDestroyList(x, y - 1);
}
}
if ((x + 1) < width) {
if (brickGrid[x][y] == brickGrid[x + 1][y]) {
AddToDestroyList(x + 1, y);
}
}
if ((y + 1) < height) {
if (brickGrid[x][y] == brickGrid[x][y + 1]) {
AddToDestroyList(x, y + 1);
}
}
}
function AddToDestroyList(x, y) {
if (destroyList[x][y] == -1) {
destroyList[x][y] = 1;
CheckNeighbors(x, y);
}
}
function CheckDestroyListLength() {
counter = 0;
x = 0;
while (x < width) {
y = 0;
while (y < height) {
if (destroyList[x][y] == 1) {
counter++;
}
y++;
}
x++;
}
return(counter);
}
function DestroyBlocks() {
if (playSound) {
destroy = new Sound();
destroy.attachSound("destroy");
destroy.start();
}
x = 0;
while (x < width) {
y = 0;
while (y < height) {
if (destroyList[x][y] == 1) {
element = brickGrid[x][y] - 1;
candiesCollected[element]++;
brickGrid[x][y] = 1;
name = (("cell" + x) + "_") + y;
_root.grid[name].dropImg.gotoAndStop(brickGrid[x][y]);
_root.grid[name]._visible = false;
destroyList[x][y] = -1;
}
y++;
}
x++;
}
}
function DropBlocks() {
x = 0;
while (x < width) {
y = 0;
while (y < height) {
if (brickGrid[x][y] == 1) {
BrickFall(x, y);
}
y++;
}
x++;
}
}
function BrickFall(x, y) {
y2 = y;
while (y2 < height) {
if (brickGrid[x][y2] != 1) {
ChangeElement(x, y2, x, y);
break;
}
y2++;
}
}
function ChangeElement(x1, y1, x2, y2) {
brickGrid[x2][y2] = brickGrid[x1][y1];
brickGrid[x1][y1] = 1;
name = (("cell" + x1) + "_") + y1;
_root.grid[name].dropImg.gotoAndStop(brickGrid[x1][y1]);
_root.grid[name]._visible = false;
name = (("cell" + x2) + "_") + y2;
if (brickGrid[x2][y2] > 1) {
_root.grid[name]._visible = true;
}
_root.grid[name].dropImg.gotoAndStop(brickGrid[x2][y2]);
}
function CompressBlocks() {
if (((width / 2) % 2) == 0) {
mid1 = width / 2;
mid2 = mid1 + 1;
} else {
mid1 = Math.ceil(width / 2);
mid2 = mid1;
}
x = mid1;
while (x >= 0) {
if (brickGrid[x][0] == 1) {
LeftCompress(x);
}
x--;
}
x = mid2;
while (x < width) {
if (brickGrid[x][0] == 1) {
RightCompress(x);
}
x++;
}
}
function LeftCompress(x) {
x2 = x;
while (x2 >= 0) {
if (brickGrid[x2][0] > 1) {
Compress(x, x2);
break;
}
x2--;
}
}
function RightCompress(x) {
x2 = x;
while (x2 < width) {
if (brickGrid[x2][0] > 1) {
Compress(x, x2);
break;
}
x2++;
}
}
function Compress(x, x2) {
y = 0;
while (y < height) {
ChangeElement(x2, y, x, y);
y++;
}
}
function AddScore(p) {
addToScore = Math.floor((scoreIncrement * p) * p);
return(addToScore);
}
function DisplayPostPop() {
playGame = false;
attachMovie("postPop", "popup", 10000);
popup._x = 18;
popup._y = 15.5;
popup.txtPreviousScore.text = score;
bonuses = 0;
b = 1;
while (b <= typesOfBricks) {
percent = Math.floor((candiesCollected[b] / candiesOriginally[b]) * 100);
bonus = GetBonus(percent);
bonuses = bonuses + bonus;
score = score + bonus;
b++;
}
popup.txtBonuses.text = bonuses;
popup.txtTotalScore.text = score;
if (playSound) {
wonLevel = new Sound();
wonLevel.attachSound("wonLevel");
wonLevel.start();
}
}
function DisplayPostPopLoss() {
playGame = false;
attachMovie("postPopLoss", "popup", 10000);
popup._x = 75.5;
popup._y = 72.4;
if (playSound) {
lostLevel = new Sound();
lostLevel.attachSound("lostLevel");
lostLevel.start();
}
b = 1;
while (b <= typesOfBricks) {
percent = Math.floor((candiesCollected[b] / candiesOriginally[b]) * 100);
bonus = GetBonus(percent);
score = score + bonus;
b++;
}
popup.txtScore.text = score;
}
function HighlightOneClicks() {
x = 0;
while (x < width) {
y = 0;
while (y < height) {
if (destroyList[x][y] == 1) {
oneClick[x][y] = true;
name = (("cell" + x) + "_") + y;
_root.grid[name]._alpha = 50;
}
y++;
}
x++;
}
}
function UnHighlightOneClicks() {
x = 0;
while (x < width) {
y = 0;
while (y < height) {
oneClick[x][y] = false;
name = (("cell" + x) + "_") + y;
_root.grid[name]._alpha = 100;
y++;
}
x++;
}
}
function GetBonus(percent) {
if (percent >= 90) {
bonus = percent - 88;
return(AddScore(bonus));
}
return(0);
}
function DestroyOneColor(num) {
x = 0;
while (x < width) {
y = 0;
while (y < height) {
if (brickGrid[x][y] == num) {
destroyList[x][y] = 1;
}
y++;
}
x++;
}
destroyListActualLength = CheckDestroyListLength();
txtEffect.text = "";
DestroyBlocks();
DropBlocks();
CompressBlocks();
UpdateCandyPercentages();
score = score + AddScore(destroyListActualLength);
squaresLeft = squaresLeft - destroyListActualLength;
UnHighlightOneClicks();
UpdateCandyPercentages();
go = CheckPlays();
if (go != 1) {
x = 0;
while (x < width) {
y = 0;
while (y < height) {
name = (("cell" + x) + "_") + y;
_root.grid[name]._visible = false;
y++;
}
x++;
}
futureScore = score;
b = 1;
while (b <= typesOfBricks) {
percent = Math.floor((candiesCollected[b] / candiesOriginally[b]) * 100);
bonus = GetBonus(percent);
futureScore = futureScore + bonus;
b++;
}
if (futureScore >= scoreRequired) {
DisplayPostPop();
} else {
DisplayPostPopLoss();
}
}
}
function InitializeCheats() {
cheater = false;
cheatCode = new Array();
scoreCode = new Array();
a = 0;
while (a < 5) {
cheatCode[a] = false;
scoreCode[a] = false;
a++;
}
}
function DisplayMainMenu() {
attachMovie("main menu", "menu", 10000);
menu._x = 0;
menu._y = 0;
if (playSound) {
if (firstGame == false) {
stopAllSounds();
bgMusic.gotoAndStop(2);
}
}
if (playSound == false) {
menu.soundToggle.gotoAndStop(2);
}
}
function DisplayCredits() {
attachMovie("credits", "menu", 10000);
menu._x = 0;
menu._y = 0;
}
function ResetGameVariables() {
level = 1;
score = 0;
playGame = false;
InitializeCheats();
}
function UpdateCandyPercentages() {
b = 1;
while (b <= typesOfBricks) {
txtName = "txtCandy" + b;
percent = Math.floor((candiesCollected[b] / candiesOriginally[b]) * 100);
_root[txtName].text = percent + "%";
b++;
}
}
function DisplayMainMenuCopy() {
attachMovie("main menu", "menu", 10000);
menu._x = 0;
menu._y = 0;
if (playSound == false) {
menu.soundToggle.gotoAndStop(2);
}
}
stop();
ResetGameVariables();
playSound = true;
totalTypesOfBricks = 5;
firstGame = true;
if (playSound) {
bgMusic.gotoAndStop(2);
}
DisplayMainMenu();
onEnterFrame = function () {
if (playGame) {
if (cheater == false) {
if (Key.isDown(67)) {
cheatCode[0] = true;
}
if (Key.isDown(72)) {
cheatCode[1] = true;
}
if (Key.isDown(69)) {
cheatCode[2] = true;
}
if (Key.isDown(65)) {
cheatCode[3] = true;
}
if (Key.isDown(84)) {
cheatCode[4] = true;
}
if ((((cheatCode[0] && (cheatCode[1])) && (cheatCode[2])) && (cheatCode[3])) && (cheatCode[4])) {
cheater = true;
if (playSound) {
cheatSound = new Sound();
cheatSound.attachSound("cheatSnd");
cheatSound.start();
}
}
}
if ((cheater && (typesOfBricks >= 1)) && (Key.isDown(49) || (Key.isDown(97)))) {
DestroyOneColor(2);
} else if ((cheater && (typesOfBricks >= 2)) && (Key.isDown(50) || (Key.isDown(98)))) {
DestroyOneColor(3);
} else if ((cheater && (typesOfBricks >= 3)) && (Key.isDown(51) || (Key.isDown(99)))) {
DestroyOneColor(4);
} else if ((cheater && (typesOfBricks >= 4)) && (Key.isDown(52) || (Key.isDown(100)))) {
DestroyOneColor(5);
} else if ((cheater && (typesOfBricks >= 5)) && (Key.isDown(53) || (Key.isDown(101)))) {
DestroyOneColor(6);
}
if (cheater) {
if (Key.isDown(83)) {
scoreCode[0] = true;
}
if (Key.isDown(67)) {
scoreCode[1] = true;
}
if (Key.isDown(79)) {
scoreCode[2] = true;
}
if (Key.isDown(82)) {
scoreCode[3] = true;
}
if (Key.isDown(69)) {
scoreCode[4] = true;
}
if ((((scoreCode[0] && (scoreCode[1])) && (scoreCode[2])) && (scoreCode[3])) && (scoreCode[4])) {
score = score + AddScore(10);
if (playSound) {
scoreCheatSound = new Sound();
scoreCheatSound.attachSound("cheatScore");
scoreCheatSound.start();
}
b = 0;
while (b < 5) {
scoreCode[b] = false;
b++;
}
}
}
}
};
levelInfo = new Array();
numLevels = 1000;
scoreReqInc = 2000;
lvl = 1;
while (lvl <= numLevels) {
levelInfo[lvl] = new Object();
levelInfo[lvl].width = 13;
levelInfo[lvl].height = 13;
levelInfo[lvl].typesOfBricks = 5;
levelInfo[lvl].scoreIncrement = 5 + Math.floor(lvl / 3);
if (lvl == 1) {
levelInfo[lvl].scoreRequired = scoreReqInc;
} else {
levelInfo[lvl].scoreRequired = levelInfo[lvl - 1].scoreRequired + scoreReqInc;
}
scoreReqInc = scoreReqInc + 750;
lvl++;
}
Instance of Symbol 41 MovieClip "soundToggle" in Frame 2
on (release) {
if (_root.playSound) {
stopAllSounds();
_root.bgMusic.gotoAndStop("stop");
_root.playSound = false;
gotoAndStop (2);
} else {
_root.bgMusic.gotoAndPlay("game");
_root.btnClick = new Sound();
_root.btnClick.attachSound("btnClick");
_root.btnClick.start();
gotoAndStop (1);
_root.playSound = true;
}
}
Symbol 21 MovieClip [dropImg] Frame 1
stop();
Symbol 22 Button [dropBtn]
on (release) {
if (_root.playGame == true) {
if (_root.brickGrid[this.x][this.y] != 1) {
if (playSound) {
dropClickSound = new Sound();
dropClickSound.attachSound("bloop");
dropClickSound.start();
}
_root.CheckClick(this.x, this.y);
}
}
}
Symbol 27 Button [btnCredits]
on (release) {
_root.DisplayCredits();
if (_root.playSound) {
_root.btnClick = new Sound();
_root.btnClick.attachSound("btnClick");
_root.btnClick.start();
}
removeMovieClip(this);
}
Symbol 30 Button [btnPlay]
on (release) {
_root.firstGame = true;
_root.InitializeGame();
if (playSound) {
stopAllSounds();
_root.btnClick = new Sound();
_root.btnClick.attachSound("btnClick");
_root.btnClick.start();
} else {
soundToggle.gotoAndStop(2);
}
removeMovieClip(this);
}
Symbol 41 MovieClip Frame 1
stop();
Symbol 41 MovieClip Frame 2
stop();
Instance of Symbol 41 MovieClip "soundToggle" in Symbol 42 MovieClip [main menu] Frame 1
on (release) {
if (_root.playSound) {
stopAllSounds();
_root.bgMusic.gotoAndStop("stop");
_root.playSound = false;
gotoAndStop (2);
} else {
if (playGame) {
_root.bgMusic.gotoAndPlay("game");
} else {
_root.bgMusic.gotoAndPlay("menu");
}
_root.btnClick = new Sound();
_root.btnClick.attachSound("btnClick");
_root.btnClick.start();
gotoAndStop (1);
_root.playSound = true;
}
}
Symbol 45 Button [btnMainMenu]
on (release) {
_root.DisplayMainMenuCopy();
removeMovieClip(this);
}
Symbol 59 Button [btnTryAgain]
on (release) {
if (playSound) {
btnClick = new Sound();
btnClick.attachSound("btnClick");
btnClick.start();
}
_root.ResetGameVariables();
_root.InitializeGame();
_root.playGame = true;
removeMovieClip(this);
}
Symbol 60 Button [btnMainMenu]
on (release) {
if (playSound) {
btnClick = new Sound();
btnClick.attachSound("btnClick");
btnClick.start();
}
_root.ResetGameVariables();
if (playSound) {
stopAllSounds();
_root.gotoAndStop(1);
} else {
soundToggle.gotoAndStop(2);
}
_root.DisplayMainMenu();
}
Instance of Symbol 73 MovieClip "btnGo" in Symbol 85 MovieClip [postPop] Frame 1
on (release) {
if (playSound) {
btnClick = new Sound();
btnClick.attachSound("btnClick");
btnClick.start();
}
_root.level++;
_root.InitializeGame();
removeMovieClip(_root.popup);
}
Symbol 116 MovieClip [__Packages.MochiAd] Frame 0
class MochiAd
{
function MochiAd () {
}
static function getVersion() {
return("1.5");
}
static function showPreloaderAd(options) {
var _local27 = {clip:_root, ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:16747008, background:16777161, outline:13994812, ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}};
options = _parseOptions(options, _local27);
var clip = options.clip;
var _local23 = 11000;
var _local26 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local14 = _getRes(options);
var _local4 = _local14[0];
var _local13 = _local14[1];
mc._x = _local4 * 0.5;
mc._y = _local13 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk._x = _local4 * -0.5;
chk._y = _local13 * -0.5;
var _local7 = chk.createEmptyMovieClip("_mochiad_bar", 4);
_local7._x = 10;
_local7._y = _local13 - 20;
var _local22 = options.color;
delete options.color;
var _local19 = options.background;
delete options.background;
var _local24 = options.outline;
delete options.outline;
var _local5 = _local7.createEmptyMovieClip("_outline", 1);
_local5.beginFill(_local19);
_local5.moveTo(0, 0);
_local5.lineTo(_local4 - 20, 0);
_local5.lineTo(_local4 - 20, 10);
_local5.lineTo(0, 10);
_local5.lineTo(0, 0);
_local5.endFill();
var _local3 = _local7.createEmptyMovieClip("_inside", 2);
_local3.beginFill(_local22);
_local3.moveTo(0, 0);
_local3.lineTo(_local4 - 20, 0);
_local3.lineTo(_local4 - 20, 10);
_local3.lineTo(0, 10);
_local3.lineTo(0, 0);
_local3.endFill();
_local3._xscale = 0;
var _local6 = _local7.createEmptyMovieClip("_outline", 3);
_local6.lineStyle(0, _local24, 100);
_local6.moveTo(0, 0);
_local6.lineTo(_local4 - 20, 0);
_local6.lineTo(_local4 - 20, 10);
_local6.lineTo(0, 10);
_local6.lineTo(0, 0);
chk.ad_msec = _local23;
chk.ad_timeout = _local26;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.adLoaded = function (width, height) {
};
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec;
};
chk.onEnterFrame = function () {
var _local6 = this._parent._parent;
var _local12 = this._parent._mochiad_ctr;
var _local5 = getTimer() - this.started;
var _local3 = false;
var _local4 = _local6.getBytesTotal();
var _local8 = _local6.getBytesLoaded();
var _local10 = (100 * _local8) / _local4;
var _local11 = (100 * _local5) / chk.ad_msec;
var _local9 = this._mochiad_bar._inside;
var _local2 = Math.min(100, Math.min(_local10 || 0, _local11));
_local2 = Math.max(this.last_pcnt, _local2);
this.last_pcnt = _local2;
_local9._xscale = _local2;
if (!chk.showing) {
var _local7 = _local12.getBytesTotal();
if ((_local7 > 0) || (typeof(_local7) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if (_local5 > chk.ad_timeout) {
_local3 = true;
}
}
if (_local5 > chk.ad_msec) {
_local3 = true;
}
if (((_local4 > 0) && (_local8 >= _local4)) && (_local3)) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
}
}
};
}
static function showTimedAd(options) {
var _local13 = {clip:_root, ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}};
options = _parseOptions(options, _local13);
var clip = options.clip;
var _local10 = 11000;
var _local12 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local5 = _getRes(options);
var _local14 = _local5[0];
var _local11 = _local5[1];
mc._x = _local14 * 0.5;
mc._y = _local11 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk.ad_msec = _local10;
chk.ad_timeout = _local12;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec - 250;
};
chk.onEnterFrame = function () {
var _local5 = this._parent._mochiad_ctr;
var _local4 = getTimer() - this.started;
var _local2 = false;
if (!chk.showing) {
var _local3 = _local5.getBytesTotal();
if ((_local3 > 0) || (typeof(_local3) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if (_local4 > chk.ad_timeout) {
_local2 = true;
}
}
if (_local4 > chk.ad_msec) {
_local2 = true;
}
if (_local2) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
}
}
};
}
static function _allowDomains(server) {
var _local1 = server.split("/")[2].split(":")[0];
if (System.security) {
if (System.security.allowDomain) {
System.security.allowDomain("*");
System.security.allowDomain(_local1);
}
if (System.security.allowInsecureDomain) {
System.security.allowInsecureDomain("*");
System.security.allowInsecureDomain(_local1);
}
}
return(_local1);
}
static function _loadCommunicator(options) {
var _local25 = {clip:_root, com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"};
options = _parseOptions(options, _local25);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = getVersion();
var _local18 = options.clip;
var _local20 = "_mochiad_com_" + options.id;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local18[_local20]) {
return(_local18[_local20].lc);
}
var _local21 = options.com_server + options.id;
_allowDomains(_local21);
delete options.id;
delete options.com_server;
var _local24 = options.depth;
delete options.depth;
var _local17 = _local18.createEmptyMovieClip(_local20, _local24);
var _local11 = _local17.createEmptyMovieClip("_mochiad_com", 1);
for (var _local15 in options) {
_local11[_local15] = options[_local15];
}
var _local6 = new LocalConnection();
var _local16 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local6.mc = _local17;
_local6.name = _local16;
_local6.allowDomain = function (d) {
return(true);
};
_local6.allowInsecureDomain = _local6.allowDomain;
_local6.connect(_local16);
_local17.lc = _local6;
_local11.lc = _local16;
_local6._id = 0;
_local6._queue = [];
_local6.rpcResult = function (cb) {
cb = parseInt(cb);
var _local4 = this._callbacks[cb];
if (!_local4) {
return(undefined);
}
delete this._callbacks[cb];
var _local5 = [];
var _local3 = 2;
while (_local3 < _local4.length) {
_local5.push(_local4[_local3]);
_local3++;
}
_local3 = 1;
while (_local3 < arguments.length) {
_local5.push(arguments[_local3]);
_local3++;
}
var _local6 = _local4[1];
var _local7 = _local4[0];
if (_local7 && (typeof(_local6) == "string")) {
_local6 = _local7[_local6];
}
if (_local6) {
_local6.apply(_local7, _local5);
}
};
_local6._didConnect = function (endpoint) {
this._endpoint = endpoint;
var _local4 = this._queue;
delete this._queue;
var _local5 = this.doSend;
var _local2 = 0;
while (_local2 < _local4.length) {
var _local3 = _local4[_local2];
_local5.apply(this, _local3);
_local2++;
}
};
_local6.doSend = function (args, cbobj, cbfn) {
if (this._endpoint == null) {
var _local4 = [];
var _local3 = 0;
while (_local3 < arguments.length) {
_local4.push(arguments[_local3]);
_local3++;
}
this._queue.push(_local4);
return(undefined);
}
this._id = this._id + 1;
var _local5 = this._id;
if ((cbfn === undefined) || (cbfn === null)) {
cbfn = cbobj;
}
this._callbacks[_local5] = [cbobj, cbfn];
var _local7 = new LocalConnection();
var _local9 = _local7.send(this._endpoint, "rpc", _local5, args);
};
_local6._callbacks = {};
_local6._callbacks[0] = [_local6, "_didConnect"];
_local11.st = getTimer();
_local11.loadMovie(_local21 + ".swf", "POST");
return(_local6);
}
static function fetchHighScores(options, callbackObj, callbackMethod) {
var _local1 = _loadCommunicator({id:options.id});
if (!_local1) {
return(false);
}
var _local4 = ["fetchHighScores", options];
_local1.doSend(["fetchHighScores", options], callbackObj, callbackMethod);
return(true);
}
static function sendHighScore(options, callbackObj, callbackMethod) {
var _local1 = _loadCommunicator({id:options.id});
if (!_local1) {
return(false);
}
var _local4 = ["sendHighScore", options];
_local1.doSend(["sendHighScore", options], callbackObj, callbackMethod);
return(true);
}
static function load(options) {
var _local13 = {clip:_root, server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = _parseOptions(options, _local13);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = getVersion();
var _local7 = options.clip;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local7._mochiad_loaded) {
return(null);
}
var _local12 = options.depth;
delete options.depth;
var _local6 = _local7.createEmptyMovieClip("_mochiad", _local12);
var _local11 = _getRes(options);
options.res = (_local11[0] + "x") + _local11[1];
options.server = options.server + options.id;
delete options.id;
_local7._mochiad_loaded = true;
var _local4 = _local6.createEmptyMovieClip("_mochiad_ctr", 1);
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
if (_local7._url.indexOf("http") != 0) {
options.no_page = true;
}
var _local10 = _local4.server;
delete _local4.server;
var _local14 = _allowDomains(_local10);
_local6.onEnterFrame = function () {
if (this._mochiad_ctr._url != this._url) {
this.onEnterFrame = function () {
if (!this._mochiad_ctr) {
delete this.onEnterFrame;
MochiAd.unload(this._parent);
}
};
}
};
var _local5 = new LocalConnection();
var _local9 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local5.mc = _local6;
_local5.name = _local9;
_local5.hostname = _local14;
_local5.allowDomain = function (d) {
return(true);
};
_local5.allowInsecureDomain = _local5.allowDomain;
_local5.connect(_local9);
_local6.lc = _local5;
_local4.lc = _local9;
_local4.st = getTimer();
_local4.loadMovie(_local10 + ".swf", "POST");
return(_local6);
}
static function unload(clip) {
if (typeof(clip) == "undefined") {
clip = _root;
}
if (clip.clip && (clip.clip._mochiad)) {
clip = clip.clip;
}
if (!clip._mochiad) {
return(false);
}
clip._mochiad.removeMovieClip();
delete clip._mochiad_loaded;
delete clip._mochiad;
return(true);
}
static function _isNetworkAvailable() {
if (System.security) {
var _local1 = System.security;
if (_local1.sandboxType == "localWithFile") {
return(false);
}
}
return(true);
}
static function _getRes(options) {
var _local3 = options.clip.getBounds();
var _local2 = 0;
var _local1 = 0;
if (typeof(options.res) != "undefined") {
var _local4 = options.res.split("x");
_local2 = parseFloat(_local4[0]);
_local1 = parseFloat(_local4[1]);
} else {
_local2 = _local3.xMax - _local3.xMin;
_local1 = _local3.yMax - _local3.yMin;
}
if ((_local2 == 0) || (_local1 == 0)) {
_local2 = Stage.width;
_local1 = Stage.height;
}
return([_local2, _local1]);
}
static function _parseOptions(options, defaults) {
var _local4 = {};
for (var _local8 in defaults) {
_local4[_local8] = defaults[_local8];
}
if (options) {
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
}
if (_root.mochiad_options) {
var _local5 = _root.mochiad_options.split("&");
var _local2 = 0;
while (_local2 < _local5.length) {
var _local3 = _local5[_local2].split("=");
_local4[unescape(_local3[0])] = unescape(_local3[1]);
_local2++;
}
}
return(_local4);
}
}
Symbol 91 MovieClip Frame 1
stop();
Symbol 91 MovieClip Frame 2
stop();
Symbol 91 MovieClip Frame 3
stop();