#12002/5/21 23:59:46
onClipEvent (load) {
Movieclip.prototype.isLoaded = function ($percentNumber) { if ($percentNumber == undefined) {var $percentNumber = 1;} else {$percentNumber /= 100;}if (typeof (this) == "movieclip") {if ((this.getBytesLoaded()/this.getBytesTotal()>=$percentNumber) && (this.getBytesTotal()>10)) {return (true);}}};
Movieclip.prototype.getLoaded = function () { if (this.getBytesTotal()<=1) {return (0);} else {return (Math.floor((this.getBytesLoaded()/this.getBytesTotal())*100));}};
Movieclip.prototype.slickMotion = function (property, destinationNumber, speed) { if (speed == undefined) {var speed = 10;}if (!Math.abs(destinationNumber-Math.round(this[property]))) {return (true);} else {this[property] += (destinationNumber-this[property])/speed;updateAfterEvent();}};
Movieclip.prototype.colorMe = function ($r, $g, $b) { if ($r == undefined) {var $r = Math.randomBetween(1, 255);}if ($g == undefined) {var $g = Math.randomBetween(1, 255);}if ($b == undefined) {var $b = Math.randomBetween(1, 255);}var $c = new Color(this);$c.setRGB($r << 16 | $g << 8 | $b);};
Movieclip.prototype.checkHit = function () { if (this.hitTest(_root._xMouse, _root._yMouse, true)) {_level0.checkHitOffsetX = this._x-_root._xMouse;_level0.checkHitOffsetY = this._y-_root._yMouse;return (true);}};
Movieclip.prototype.mouseFollow = function (booleanvalue) { if (booleanvalue == undefined) {var booleanvalue = true;} else if (booleanvalue == false) {return (false);}this._x = _root._xMouse+_level0.checkHitOffsetX;this._y = _root._yMouse+_level0.checkHitOffsetY;updateAfterEvent();};
String.prototype.text2Html = function ($fontSize, $fontColor) { var $textString = this;var $fontFace = "Verdana, Arial, Helvetica, sans-serif";if (($fontSize == undefined)) {var $fontSize = 8;}if ($fontColor == undefined) {var $fontColor = "#000000";}return (""+$textString+"");};
Math.randomBetween = function (a, b) { return (a+Math.floor(Math.random()*(b-a+1)));};
function makeInterface () {
var stageWidth = 500;
var menuButtonWidth = _level0.buttons.menuButton._width;
menuQnty = Math.round(stageWidth/menuButtonWidth);
menuBgPos = new Array();
// duplicate mcs and place them...
for (var i = menuQnty; i>0; --i) {
// Duplicate the menubg
_level0.menuContainer.menu.duplicateMovieClip("menu"+i, i);
// Duplicate the menubuttons
_level0.buttons.menuButton.duplicateMovieClip("menuButton"+i, i);
// Duplicate the boxes
_level0.boxes.box.duplicateMovieClip("box"+i, i);
// Place menubg
_level0.menuContainer["menu"+i]._x = (stageWidth*i)-stageWidth;
_level0.menuContainer["menu"+i]._y = 0;
// Put the x value in the array
menuBgPos[i-1] = _level0.menuContainer["menu"+i]._x;
// Place menuButtons
if (i == menuQnty) {
_level0.buttons["menuButton"+i]._x = stageWidth-_level0.buttons["menuButton"+i]._width;
} else {
_level0.buttons["menuButton"+i]._x = _level0.buttons["menuButton"+(i+1)]._x-_level0.buttons["menuButton"+i]._width;
}
// end if
_level0.buttons["menuButton"+i]._y = 0;
// Place boxes
_level0.boxes["box"+i]._x = _level0.menuContainer["menu"+i]._x;
_level0.boxes["box"+i]._y = (_level0.menuContainer["menu"+i]._height/2)-(_level0.boxes["box"+i]._height/2);
// Make their alpha little less.. to look nice:)
_level0.boxes["box"+i].boxBg._alpha = 60;
// Setup vars
_level0.menuContainer["menu"+i].MenuName = "lier"+i;
_level0.buttons["menuButton"+i].menuName = "lier"+i;
_level0.boxes["box"+i].boxName = "lingli"+i;
}
// Place containers
_level0.menuContainer._x = 0;
_level0.menuContainer._y = 0;
_level0.buttons._x = 0;
_level0.buttons._y = _level0.menuContainer._height;
_level0.boxes._x = 0;
_level0.boxes._y = 0;
// Hide originals
_level0.menuContainer.menu._visible = false;
_level0.buttons.menuButton._visible = false;
_level0.boxes.box._visible = false;
// Declare a random menuChoice to animate right away..just for show!!
_level0.mController.menuChoice = Math.floor(Math.random()*menuQnty)+1;
}
function slideMenu () {
// check if menuChoice is defined
if (_level0.mController.menuChoice == undefined) {
return (undefined);
}
var menuSpeed = 8;
// Different speed for boxes.. let's make it cooler than Barney's!
var boxSpeed = 10;
var destination = -_level0.mController.menuBgPos[menuChoice-1];
_level0.menuContainer.slickMotion("_x", destination, menuSpeed);
// Move the boxes individually.. but check if any box has been reserved by the user
for (var i = menuQnty; i>0; --i) {
// check if a box is "reserved"
if (!(_level0.boxes["box"+i]._y>_level0.menuContainer["menu"+i]._height-_level0.boxes["box"+i]._height) && nowDragging != _level0.boxes["box"+i]) {
// This box is not reserved.. so adjust it's x and y to move
// Calculate related box's perceptual x
var perceptualDestination = _level0.menuContainer._x+_level0.menuContainer["menu"+i]._x;
_level0.boxes["box"+i].slickMotion("_x", perceptualDestination, boxSpeed);
_level0.boxes["box"+i].slickMotion("_y", (_level0.menuContainer["menu"+i]._height/2)-(_level0.boxes["box"+i]._height/2), boxSpeed);
}
}
}
// This function will see if any box mc is being clicked on
function checkBoxHits () {
for (var i = menuQnty; i>0; --i) {
if (_level0.boxes["box"+i].checkHit()) {
// Get the current mc name
nowDragging = _level0.boxes["box"+i];
break;
}
}
}
// This array will contain information on all important keyFrames in the movie
var rootKeyFrames = {fLoadCheck:5, fMenu:10};
}
onClipEvent (enterFrame) {
// Check to see if loaded
if (_level0._currentFrame == rootKeyFrames.fLoadCheck) {
if (_level0.isLoaded()) {
// Send the loaded display mc off stage
_level0.loadedQnty._x = -200;
_level0.loadedQnty._y = -400;
delete (loadedDisplay);
_level0.gotoAndStop(rootKeyFrames.fMenu);
} else {
var loadedDisplay = _level0.getLoaded()+"%";
loadedDisplay = loadedDisplay.text2Html(10);
// Make it follow the mouse
_level0.loadedQnty._x = _root._xMouse;
_level0.loadedQnty._y = _root._yMouse;
}
// End if
} else if (_level0._currentFrame == rootKeyFrames.fMenu) {
if (nowDragging) {
nowDragging.swapDepths(9999);
nowDragging.mouseFollow();
}
// End if
slideMenu();
}
// End if
}
onClipEvent (mouseDown) {
checkBoxHits();
}
onClipEvent (mouseUp) {
if (typeof (nowDragging) != "undefined") {
delete (nowDragging);
}
}