Frame 1
trace("com.qlod.LoaderClass.as loaded");
if (typeof(_global.com) != "object") {
trace("com.qlod.LoaderClass: Defining global com object");
_global.com = new Object();
}
if (typeof(com.qlod) != "object") {
trace("com.qlod.LoaderClass: Defining global com.qlod object");
com.qlod = new Object();
}
o = (com.qlod.LoaderClass = function (piTimeoutMs, piIntervalMs, piMinSteps) {
if (arguments[0] == "NO_INIT") {
return(undefined);
}
this.iIntervalId = -1;
this.iTimeoutIntervalId = -1;
this.iBytesLoaded = 0;
this.iBytesTotal = 1;
this.iTimeoutMs = 0;
this.bTimeoutEnabled = true;
this.iIntervalMs = 0;
this.iStartTimeMs = 0;
this.iMinSteps = 1;
this.iCurrentStep = 1;
this.aQueue = [];
this.setTimeoutMs(piTimeoutMs);
this.setIntervalMs(piIntervalMs);
this.setMinSteps(piMinSteps);
if (DefaultBroadcaster != undefined) {
DefaultBroadcaster.initialize(this);
} else if (ASBroadcaster == undefined) {
trace("ERROR in LoaderClass: ASBroadcaster undefined");
} else {
trace("com.qlod.LoaderClass: using ASBroadcaster");
ASBroadcaster.initialize(this);
}
});
o.DEFAULT_TIMEOUT_MS = 10000;
o.DEFAULT_INTERVAL_MS = 100;
o.DEFAULT_MIN_STEPS = 1;
o = o.prototype;
o.load = function (pLoc, psUrl, poListener) {
return(this.enqueue.apply(this, [true].concat(arguments)));
};
o.observe = function (pLoc, psUrl, poListener) {
return(this.enqueue.apply(this, [false].concat(arguments)));
};
o.clear = function () {
this.aQueue.length = 0;
this.removeCurrent();
};
o.removeCurrent = function () {
if (this.isLoading()) {
var currentLoc = this.targetToLoc();
if (this.checkLocation(currentLoc)) {
currentLoc.unloadMovie();
}
this.endTimeout();
this.endLoading();
}
};
o.remove = function (pId) {
if (this.oCurrentItem.iId == pId) {
this.removeCurrent();
return(true);
}
var i = 0;
while (i < this.aQueue.length) {
if (this.aQueue[i].iId == pId) {
this.aQueue.splice(i, 1);
return(true);
}
i++;
}
return(false);
};
o.getTimeoutMs = function () {
return(this.iTimeoutMs);
};
o.setTimeoutMs = function (piMilliseconds) {
this.iTimeoutMs = this.checkIntGreaterZero(piMilliseconds, this.constructor.DEFAULT_TIMEOUT_MS);
if (this.iTimeoutIntervalId != -1) {
this.startTimeout();
}
return(this.iTimeoutMs);
};
o.disableTimeout = function () {
this.endTimeout();
this.bTimeoutEnabled = 0;
};
o.enableTimeout = function () {
this.bTimeoutEnabled = 1;
this.startTimeout();
};
o.getIntervalMs = function () {
return(this.iIntervalMs);
};
o.setIntervalMs = function (piMilliseconds) {
this.iIntervalMs = this.checkIntGreaterZero(piMilliseconds, this.constructor.DEFAULT_INTERVAL_MS);
if (this.isLoading()) {
clearInterval(this.iIntervalId);
this.iIntervalId = -1;
this.startInterval();
}
return(this.iIntervalMs);
};
o.getMinSteps = function () {
return(this.iMinSteps);
};
o.setMinSteps = function (piMinSteps) {
return((this.iMinSteps = this.checkIntGreaterZero(piMinSteps, this.constructor.DEFAULT_MIN_STEPS)));
};
o.isLoading = function () {
return(this.iIntervalId != -1);
};
o.getBytesLoaded = function () {
var bytesToShow = Math.min(this.iBytesLoaded, Math.floor((this.iBytesTotal * this.iCurrentStep) / this.iMinSteps));
return((isNaN(bytesToShow) ? 0 : (bytesToShow)));
};
o.getBytesTotal = function () {
return(this.iBytesTotal);
};
o.getKBLoaded = function () {
return(this.getBytesLoaded() >> 10);
};
o.getKBTotal = function () {
return(this.getBytesTotal() >> 10);
};
o.getPercent = function () {
return((this.getBytesLoaded() * 100) / this.iBytesTotal);
};
o.getDuration = function () {
return(getTimer() - this.iStartTimeMs);
};
o.getSpeed = function () {
return(Math.floor((this.getBytesLoaded() * 1000) / this.getDuration()));
};
o.getEstimatedTotalTime = function () {
return(Math.floor(this.getBytesTotal() / this.getSpeed()));
};
o.getTarget = function () {
return(this.oCurrentItem.target);
};
o.getTargetObj = function () {
return(((typeof(this.oCurrentItem.target) == "object") ? (this.oCurrentItem.target) : (eval (this.oCurrentItem.target))));
};
o.getUrl = function () {
return(this.oCurrentItem.sUrl);
};
o.broadcastOnQueueStart = function () {
this.broadcastMessage("onQueueStart", this);
};
o.broadcastOnQueueStop = function () {
this.broadcastMessage("onQueueStop", this);
};
o.broadcastOnLoadStart = function () {
this.broadcastMessage("onLoadStart", this);
};
o.broadcastOnLoadComplete = function (pbResult) {
this.broadcastMessage("onLoadComplete", pbResult, this);
};
o.broadcastOnLoadTimeout = function () {
this.broadcastMessage("onLoadTimeout", this);
};
o.broadcastOnLoadProgress = function () {
this.broadcastMessage("onLoadProgress", this);
};
o._load = function () {
this.startTimeout();
this.oCurrentItem.load();
};
o._observe = function () {
this.iBytesTotal = 1;
this.iBytesLoaded = 0;
this.iCurrentStep = 1;
this.iStartTimeMs = getTimer();
this.funcWaitUntil = null;
this.oCurrentItem.addListenerTo(this);
this.broadcastOnLoadStart();
this.broadcastOnLoadProgress();
if (this.oCurrentItem.bDoLoad) {
this._load();
}
};
o.enqueue = function (doLoad, pLoc, psUrl, poListener) {
trace("enqueue " + arguments);
var sUrl = this.checkUrl(psUrl, pLoc);
var target = this.locToTarget(pLoc);
if (target == null) {
if (doLoad) {
trace("Warning: com.qlod.LoaderClass.load: Invalid location parameter: " + pLoc);
} else {
trace("Warning: com.qlod.LoaderClass.load: Invalid location parameter: " + pLoc);
}
}
var additionalArguments = arguments.slice(4);
var id = (++this.iId);
this.aQueue.push(new com.qlod.LoaderItemClass(target, sUrl, doLoad, additionalArguments, id, poListener));
if (!this.isLoading()) {
this.startLoading();
}
return(id);
};
o.checkUrl = function (psUrl, pLoc) {
if (typeof(psUrl) == "string") {
return(psUrl);
}
if (typeof(pLoc._url) == "string") {
return(pLoc._url);
}
return("");
};
o.isQueueEmpty = function () {
return(this.aQueue.length == 0);
};
o.loadNext = function () {
this.oCurrentItem = this.aQueue.shift();
this._observe();
};
o.startLoading = function () {
this.broadcastOnQueueStart();
this.startInterval();
this.loadNext();
};
o.stopLoading = function () {
this.endInterval();
this.endTimeout();
};
o.startTimeout = function () {
if (this.iTimeoutIntervalId != -1) {
clearInterval(this.iTimeoutIntervalId);
}
if (this.bTimeoutEnabled) {
this.iTimeoutIntervalId = setInterval(this, "onTimeout", this.iTimeoutMs);
}
};
o.endTimeout = function () {
if (this.iTimeoutIntervalId != -1) {
clearInterval(this.iTimeoutIntervalId);
this.iTimeoutIntervalId = -1;
}
};
o.onTimeout = function () {
this.endTimeout();
this.broadcastOnLoadTimeout();
this.endLoading(false);
};
o.locToTarget = function (loc) {
if (this.locIsNumber(loc)) {
return("_level" + loc);
}
if (this.locIsPath(loc)) {
return(loc);
}
if (this.locIsLevel(loc)) {
return(loc);
}
if (this.locIsMovieClip(loc)) {
return(targetPath(loc));
}
if (this.locIsLoadableObject(loc)) {
return(loc);
}
if ((loc instanceof String) && (loc.length > 0)) {
return(loc);
}
return(null);
};
o.targetToLoc = function () {
return(this.oCurrentItem.targetToLoc());
};
o.locIsNumber = function (loc) {
return(typeof(loc) == "number");
};
o.locIsPath = function (loc) {
return(((typeof(loc) == "string") && (typeof(eval (loc)) == "movieclip")) && ((eval (loc) != _level0) || (loc == "_level0")));
};
o.locIsLevel = function (loc) {
return((loc.indexOf("_level") == 0) && (!isNaN(loc.substring(6))));
};
o.locIsMovieClip = function (loc) {
return(typeof(loc) == "movieclip");
};
o.locIsLoadableObject = function (loc) {
return((typeof(loc.getBytesTotal) == "function") && (typeof(loc.getBytesLoaded) == "function"));
};
o.startInterval = function () {
if (this.iIntervalId != -1) {
this.endInterval();
}
this.iIntervalId = setInterval(this, "onInterval", this.iIntervalMs);
};
o.endInterval = function () {
if (this.iIntervalId != -1) {
clearInterval(this.iIntervalId);
this.iIntervalId = -1;
}
};
o.onInterval = function () {
var currentLoc = this.targetToLoc();
if (!this.checkLocation(currentLoc)) {
return(undefined);
}
if (!this.checkBytesTotal(currentLoc)) {
return(undefined);
}
if (!this.checkBytesLoaded(currentLoc)) {
return(undefined);
}
this.endTimeout();
this.broadcastOnLoadProgress();
this.checkComplete(currentLoc);
this.iCurrentStep++;
};
o.checkLocation = function (poCurrentLoc) {
if (poCurrentLoc == undefined) {
this.broadcastOnLoadProgress();
return(false);
}
return(true);
};
o.checkBytesTotal = function (poCurrentLoc) {
var iBytesTotal = poCurrentLoc.getBytesTotal();
if (iBytesTotal < 4) {
this.broadcastOnLoadProgress();
return(false);
}
this.iBytesTotal = iBytesTotal;
return(true);
};
o.checkBytesLoaded = function (poCurrentLoc) {
var iBytesLoaded = poCurrentLoc.getBytesLoaded();
if (iBytesLoaded < 1) {
this.broadcastOnLoadProgress();
return(false);
}
this.iBytesLoaded = iBytesLoaded;
return(true);
};
o.checkComplete = function (poCurrentLoc) {
if ((((this.iBytesTotal > 10) && ((this.iBytesTotal - this.iBytesLoaded) < 10)) && (this.iCurrentStep >= this.iMinSteps)) && ((this.funcWaitUntil == null) || (this.funcWaitUntil(poCurrentLoc)))) {
this.endLoading(true);
return(true);
}
return(false);
};
o.waitUntilPropertiesAreInitialized = function (pMc) {
return((((pMc._width != undefined) && (pMc._height != undefined)) && (pMc._visible != undefined)) && (pMc._url != undefined));
};
o.endCurrentLoading = function (pbResult) {
this.broadcastOnLoadComplete(pbResult);
this.oCurrentItem.removeListenerFrom(this);
};
o.endLoading = function (pbResult) {
this.endCurrentLoading(pbResult);
if (this.isQueueEmpty()) {
this.endInterval();
this.broadcastOnQueueStop();
} else {
this.loadNext();
}
};
o.checkIntGreaterZero = function (piValue, piDefaultValue) {
if (((piValue == undefined) || (isNaN(piValue))) || (piValue <= 0)) {
return(piDefaultValue);
}
return(piValue);
};
delete o;
o = (com.qlod.LoaderItemClass = function (target, sUrl, doLoad, aArgs, id, oListener) {
trace("LoaderItemClass " + arguments);
this.target = target;
this.sUrl = sUrl;
this.bDoLoad = doLoad;
this.aArgs = aArgs;
this.iId = id;
this.oListener = oListener;
});
o = o.prototype;
o.load = function () {
var loc = this.target;
trace("_load " + loc);
if (typeof(loc.load) == "function") {
loc.load.apply(loc, [this.sUrl].concat(this.aArgs));
} else if (typeof(loc.loadSound) == "function") {
loc.loadSound.apply(loc, [this.sUrl].concat(this.aArgs));
} else {
this.funcWaitUntil = this.waitUntilPropertiesAreInitialized;
if (this.aArgs[0].toUpperCase() == "POST") {
loadMovie (this.sUrl, loc, "POST");
} else if (this.aArgs[0].toUpperCase() == "GET") {
loadMovie (this.sUrl, loc, "GET");
} else {
loadMovie (this.sUrl, loc);
}
}
};
o.targetToLoc = function () {
return(((typeof(this.target) == "string") ? (eval (this.target)) : (this.target)));
};
o.addListenerTo = function (broadcaster) {
if (this.oListener != undefined) {
broadcaster.addListener(this.oListener);
}
};
o.removeListenerFrom = function (broadcaster) {
if (this.oListener != undefined) {
broadcaster.removeListener(this.oListener);
}
};
delete o;
progress_txt.onLoadStart = function (loaderObj) {
trace(("Loading of " + loaderObj.getTarget()) + " has started");
};
progress_txt.onLoadProgress = function (loaderObj) {
progress_txt = ((((Math.round(loaderObj.getPercent()) + "% ") + Math.round(loaderObj.getKBLoaded() / 1.4)) + " KB / ") + Math.round(loaderObj.getKBTotal() / 1.4)) + " KB";
};
progress_txt.onLoadComplete = function (success, loaderObj) {
trace(("Loading of " + loaderObj.getTarget()) + " is completed");
progress_txt = "";
_root.gotoAndStop(2);
};
myLoader = new com.qlod.LoaderClass();
myLoader.setMinSteps(5);
myLoader.addListener(progress_txt);
myLoader.observe(this);
stop();
Frame 2
stop();
Instance of Symbol 24 MovieClip in Frame 2
//component parameters
onClipEvent (initialize) {
movie = "movie_mc";
scaler = true;
}
Symbol 17 MovieClip Frame 1
stop();
Instance of Symbol 14 MovieClip in Symbol 17 MovieClip Frame 1
onClipEvent (mouseDown) {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
_parent._parent._parent[_parent._parent.movie].play();
_parent.gotoAndStop(2);
}
}
Instance of Symbol 16 MovieClip in Symbol 17 MovieClip Frame 2
onClipEvent (mouseDown) {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
_parent._parent._parent[_parent._parent.movie].stop();
_parent.gotoAndStop(1);
}
}
Instance of Symbol 6 MovieClip "timeline" in Symbol 24 MovieClip Frame 1
onClipEvent (mouseDown) {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
_parent.scroller._x = _parent._xmouse;
}
}
Instance of Symbol 8 MovieClip in Symbol 24 MovieClip Frame 1
onClipEvent (load) {
if ((_parent.scaler == true) or (_parent.scaler == "true")) {
_x = (_parent._parent[_parent.movie]._width - 27);
_parent.timeline._width = _x - 31;
} else {
_x = _x;
_parent.timeline._width = _parent.timeline._width;
}
}
Instance of Symbol 12 MovieClip "scroller" in Symbol 24 MovieClip Frame 1
onClipEvent (mouseDown) {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
startDrag ("", false, 1, 0, _parent.timeline._width - 4, 0);
}
}
onClipEvent (mouseUp) {
stopDrag();
}
onClipEvent (load) {
_parent._parent[_parent.movie].stop();
totalFrames = _parent._parent[_parent.movie]._totalframes;
maxScale = _parent.timeline._width - 5;
spacing = maxScale / totalFrames;
spacingMovie = totalFrames / maxScale;
}
onClipEvent (enterFrame) {
totalFrames = _parent._parent[_parent.movie]._totalframes;
maxScale = _parent.timeline._width - 5;
spacing = maxScale / totalFrames;
spacingMovie = totalFrames / maxScale;
if (move == true) {
frame = Math.round(_x * spacingMovie);
_parent._parent[_parent.movie].gotoAndStop(frame);
} else {
_x = (Math.round((_parent._parent[_parent.movie]._currentframe - 1) * spacing) + 1);
}
if (_parent._parent[_parent.movie]._currentframe == _parent._parent[_parent.movie]._totalframes) {
_parent._parent[_parent.movie].gotoAndStop(1);
_parent.state.gotoAndStop(1);
}
}
onClipEvent (mouseDown) {
if (_parent.timeline.hitTest(_root._xmouse, _root._ymouse)) {
move = true;
_parent.state.gotoAndStop(1);
} else {
move = false;
}
}
onClipEvent (mouseUp) {
move = false;
}
Instance of Symbol 19 MovieClip "rW" in Symbol 24 MovieClip Frame 1
onClipEvent (mouseDown) {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
rw = true;
}
}
onClipEvent (mouseUp) {
rw = false;
}
onClipEvent (enterFrame) {
if (rw == true) {
_parent._parent[_parent.movie].prevFrame();
_parent.state.gotoAndStop(1);
}
}
Instance of Symbol 21 MovieClip "fF" in Symbol 24 MovieClip Frame 1
onClipEvent (mouseDown) {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
ff = true;
}
}
onClipEvent (mouseUp) {
ff = false;
}
onClipEvent (enterFrame) {
if (ff == true) {
_parent._parent[_parent.movie].nextFrame();
_parent.state.gotoAndStop(1);
}
}
Instance of Symbol 23 MovieClip in Symbol 24 MovieClip Frame 1
onClipEvent (mouseDown) {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
_parent._parent[_parent.movie].gotoAndStop(1);
_parent.state.gotoAndStop(1);
}
}