[Tools][Expand/Collapse All]Note that automatic extraction of ActionScript 3 is still pretty much unsupported by swfchan. AS1/AS2 works okay most of the time.Instance of Symbol 11 MovieClip [Enabler] in Frame 1 (144 B)
//component parameters
onClipEvent (construct) {
asVersion = "as2";
componentVersion = "1.6.26";
isSkinnable = false;
traceActions = true;
}
Instance of Symbol 6 MovieClip [Polite Load] in Frame 2 (219 B)
//component parameters
onClipEvent (construct) {
asVersion = "as2";
callFunctionName = "";
isSkinnable = false;
jumpToFrame = "";
loadMovieName = "";
movieTargetName = "";
stopTimeline = true;
frameDelay = "";
}
Frame 3 (60 B)
stop();
_holder.loadMovie("ob_gadgetAd_300x250_2_ch.swf");
Symbol 6 MovieClip [Polite Load] Frame 1 (113 B)
#initclip 12
Object.registerClass("Polite Load", com.doubleclick.studio.enhanced.StudioEnhanced);
#endinitclip
Symbol 11 MovieClip [Enabler] Frame 1 (104 B)
#initclip 13
Object.registerClass("Enabler", com.doubleclick.studio.HtmlEnablerWrapper);
#endinitclip
Symbol 1 MovieClip [__Packages.com.doubleclick.studio.AbstractComponent] Frame 0 (2.34 KiB) ●
class com.doubleclick.studio.AbstractComponent extends MovieClip
{
var rootReference, _width, _height;
function AbstractComponent () {
var _local1 = this;
super();
if (_local1._name == undefined) {
} else {
_local1.timeAtConstruct = getTimer();
_local1.enablerIntervalTimer = setInterval(_local1, "checkEnablerState", TIMER_INTERVAL);
_local1.setRootReference(_local1._parent._root);
}
}
function getEnabler() {
return(rootReference.Enabler);
}
function setRootReference(rootRef) {
rootReference = rootRef;
}
function getRootReference() {
return(rootReference);
}
function dependsOnPageLoad() {
return(false);
}
function checkEnablerState() {
var _local1 = this;
if (((typeof(_local1.getEnabler()) != "undefined") && (_local1.getEnabler().isInitialized())) && (!_local1.timerCleared)) {
clearInterval(_local1.enablerIntervalTimer);
_local1.timerCleared = true;
_local1.preInit();
if (!_local1.dependsOnPageLoad()) {
_local1.init();
} else {
_local1.checkForPageLoad();
}
} else {
var _local2 = getTimer();
if (((_local2 - _local1.timeAtConstruct) > ENABLER_CHECK_TIMEOUT) && (!_local1.timerCleared)) {
clearInterval(_local1.enablerIntervalTimer);
_local1.timerCleared = true;
if (typeof(_local1.rootReference.EnablerWarningTriggered) == "undefined") {
if (_global.isLivePreview != true) {
trace(com.doubleclick.studio.localization.TraceLocalizer.getMessage("abstractComponent.traceMessages.noEnablerWarning"));
}
_local1.rootReference.EnablerWarningTriggered = true;
_local1.noEnablerFound();
}
}
}
}
function logCustomEvent(type, event, isCumulative) {
getEnabler().logCustomEvent(type, event, isCumulative);
}
function checkForPageLoad() {
var _local1 = this;
if (!_local1.getEnabler().pageHasLoaded()) {
_local1.getEnabler().addEventListener("onPageLoaded", mx.utils.Delegate.create(_local1, _local1.pageHasLoaded));
} else {
_local1.pageHasLoaded();
}
}
function pageHasLoaded() {
init();
}
function init() {
}
function preInit() {
}
function noEnablerFound() {
}
function setSize(nW, nH) {
_width = nW;
_height = nH;
}
static var TIMER_INTERVAL = 80;
static var ENABLER_CHECK_TIMEOUT = 1000;
var timerCleared = false;
}
Symbol 2 MovieClip [__Packages.com.doubleclick.studio.StudioComponent] Frame 0 (50 B)
interface com.doubleclick.studio.StudioComponent{}
Symbol 3 MovieClip [__Packages.com.doubleclick.studio.PageLoadDependable] Frame 0 (53 B)
interface com.doubleclick.studio.PageLoadDependable{}
Symbol 4 MovieClip [__Packages.com.doubleclick.studio.enhanced.StudioEnhanced] Frame 0 (2.31 KiB) ●
class com.doubleclick.studio.enhanced.StudioEnhanced extends com.doubleclick.studio.AbstractComponent
{
var getEnabler, callFunctionName, _parent, jumpToFrame, loadMovieName, movieTargetName;
function StudioEnhanced () {
var _local1 = this;
super();
_local1._visible = false;
if (_local1.stopTimeline && ((_local1.getEnabler() == undefined) || (!_local1.getEnabler().pageHasLoaded()))) {
_local1._parent.stop();
}
}
function dependsOnPageLoad() {
return(true);
}
function preInit() {
getEnabler().log({INFO:com.doubleclick.studio.localization.TraceLocalizer.getMessage("enhanced.traceMessages.pageLoadSimulate")});
}
function init() {
var _local1 = this;
_local1.getEnabler().log({INFO:com.doubleclick.studio.localization.TraceLocalizer.getMessage("enhanced.traceMessages.pageLoaded")});
if (_local1.frameDelay) {
_local1.startFrameMonitor();
} else {
_local1.checkJumpFunction();
}
}
function checkJumpFunction() {
if (callFunctionName.length > 0) {
var callFunction = _parent[callFunctionName];
if (callFunction == null) {
callFunction = eval (callFunctionName + "");
}
if (callFunction) {
callFunction.apply();
} else {
getEnabler().log({INFO:com.doubleclick.studio.localization.TraceLocalizer.getMessage("expanding.traceMessages.functionNotFoundError") + callFunctionName});
}
} else if (jumpToFrame) {
_parent.gotoAndPlay(jumpToFrame);
} else if (loadMovieName.length > 0) {
if (movieTargetName.indexOf("_level") != 0) {
var movieTarget = eval (movieTargetName + "");
if (!movieTarget) {
movieTarget = _parent[movieTargetName + ""];
}
movieTarget.loadMovie(loadMovieName);
} else {
getEnabler().log({INFO:com.doubleclick.studio.localization.TraceLocalizer.getMessage("enhanced.traceMessages.levelLoadError")});
}
} else {
_parent.play();
}
}
function startFrameMonitor() {
var _local1 = this;
_local1.onEnterFrame = mx.utils.Delegate.create(_local1, _local1.frameMonitor);
}
function frameMonitor() {
var _local1 = this;
if (_local1._parent._currentframe == _local1.frameDelay) {
_local1.checkJumpFunction();
delete _local1.onEnterFrame;
}
}
var isSkinnable = false;
var asVersion = "as2";
static var componentVersion = "1.6.26";
}
Symbol 7 MovieClip [__Packages.com.doubleclick.studio.localization.TraceLocalizer] Frame 0 (1.13 KiB) ●
class com.doubleclick.studio.localization.TraceLocalizer
{
static var localData, cachedData;
function TraceLocalizer () {
}
static function setDataObject(SharedObjectFile) {
localData = SharedObject.getLocal(SharedObjectFile, "/");
}
static function alwaysShowTokens() {
setDataObject(TRANSLATION_MANAGER);
if ((localData.data.showTranslationTokens != null) && (localData.data.showTranslationTokens == true)) {
return(true);
}
return(false);
}
static function getMessage(translationToken) {
var _local1 = translationToken;
if (alwaysShowTokens()) {
return(_local1);
}
if (cachedData == null) {
setDataObject(TRANSLATIONS_FILE);
if (((localData != null) && (localData.data != null)) && (localData.data.translations != null)) {
cachedData = localData.data.translations;
} else {
return(_local1);
}
}
var _local2 = cachedData[_local1.toUpperCase()];
if (_local2 != null) {
return(_local2);
}
return(_local1);
}
static var TRANSLATIONS_FILE = "StudioTraceTranslations";
static var TRANSLATION_MANAGER = "StudioTranslationManager";
}
Symbol 8 MovieClip [__Packages.mx.utils.Delegate] Frame 0 (535 B)
class mx.utils.Delegate extends Object
{
var func;
function Delegate (f) {
super();
func = f;
}
static function create(obj, func) {
var _local2 = func;
var _local3 = arguments;
var _local1 = function () {
var _local1 = arguments;
var _local2 = _local1.callee.target;
var _local3 = _local1.callee.func;
return(_local3.apply(_local2, _local1));
};
_local1.target = obj;
_local1.func = _local2;
return(_local1);
}
function createDelegate(obj) {
return(create(obj, func));
}
}
Symbol 9 MovieClip [__Packages.com.doubleclick.studio.HtmlEnablerWrapper] Frame 0 (505 B)
class com.doubleclick.studio.HtmlEnablerWrapper extends MovieClip
{
function HtmlEnablerWrapper () {
var _local2 = this;
super();
_local2._visible = false;
if (typeof(_global.Enabler) == "undefined") {
var _local1 = com.doubleclick.studio.HtmlEnabler.getInstance();
_local1.init(_local2._parent._root);
if (_local2.traceActions) {
_local1.setTraceLevel(_local1.INFO);
}
}
}
var isSkinnable = false;
var asVersion = "as2";
var componentVersion = "1.6.26";
}
Symbol 12 MovieClip [__Packages.mx.events.EventDispatcher] Frame 0 (2.3 KiB) ●
class mx.events.EventDispatcher
{
function EventDispatcher () {
}
static function _removeEventListener(queue, event, handler) {
var _local3 = queue;
if (_local3 != undefined) {
var l = _local3.length;
var _local1;
_local1 = 0;
while (_local1 < l) {
var _local2 = _local3[_local1];
if (_local2 == handler) {
_local3.splice(_local1, 1);
return;
}
_local1++;
}
}
}
static function initialize(object) {
var _local1 = object;
if (_fEventDispatcher == undefined) {
_fEventDispatcher = new mx.events.EventDispatcher();
}
_local1.addEventListener = _fEventDispatcher.addEventListener;
_local1.removeEventListener = _fEventDispatcher.removeEventListener;
_local1.dispatchEvent = _fEventDispatcher.dispatchEvent;
_local1.dispatchQueue = _fEventDispatcher.dispatchQueue;
}
function dispatchQueue(queueObj, eventObj) {
var _local2 = eventObj;
var queueName = ("__q_" + _local2.type);
var queue = queueObj[queueName];
if (queue != undefined) {
var i;
for (i in queue) {
var _local1 = queue[i];
var _local3 = typeof(_local1);
if ((_local3 == "object") || (_local3 == "movieclip")) {
if (_local1.handleEvent != undefined) {
_local1.handleEvent(_local2);
}
if (_local1[_local2.type] != undefined) {
if (exceptions[_local2.type] == undefined) {
_local1[_local2.type](_local2);
}
}
} else {
_local1.apply(queueObj, [_local2]);
}
}
}
}
function dispatchEvent(eventObj) {
var _local1 = eventObj;
var _local2 = this;
if (_local1.target == undefined) {
_local1.target = _local2;
}
_local2[_local1.type + "Handler"](_local1);
_local2.dispatchQueue(_local2, _local1);
}
function addEventListener(event, handler) {
var _local2 = this;
var _local1 = "__q_" + event;
if (_local2[_local1] == undefined) {
_local2[_local1] = new Array();
}
_global.ASSetPropFlags(_local2, _local1, 1);
_removeEventListener(_local2[_local1], event, handler);
_local2[_local1].push(handler);
}
function removeEventListener(event, handler) {
var _local1 = "__q_" + event;
_removeEventListener(this[_local1], event, handler);
}
static var _fEventDispatcher = undefined;
static var exceptions = {move:1, draw:1, load:1};
}
Symbol 13 MovieClip [__Packages.com.doubleclick.studio.utilities.LoadPathModifier] Frame 0 (1.22 KiB) ●
class com.doubleclick.studio.utilities.LoadPathModifier
{
function LoadPathModifier () {
}
static function modify(enablerInstance) {
var _local1 = _global;
//var _local2 = this;
MovieClip.prototype.$loadMovie = MovieClip.prototype.loadMovie;
MovieClipLoader.prototype.$loadClip = MovieClipLoader.prototype.loadClip;
XML.prototype.$load = XML.prototype.load;
LoadVars.prototype.$load = LoadVars.prototype.load;
MovieClip.prototype.loadMovie = function (file, method) {
this.$loadMovie(enablerInstance.getFilename(file), method);
};
MovieClipLoader.prototype.loadClip = function (file, target) {
return(this.$loadClip(enablerInstance.getFilename(file), target));
};
XML.prototype.load = function (file) {
return(this.$load(enablerInstance.getFilename(file)));
};
LoadVars.prototype.load = function (file) {
return(this.$load(enablerInstance.getFilename(file)));
};
_local1.ASSetPropFlags(MovieClip.prototype, "$loadMovie", 7);
_local1.ASSetPropFlags(MovieClipLoader.prototype, "$loadClip", 7);
_local1.ASSetPropFlags(XML.prototype, "$load", 7);
_local1.ASSetPropFlags(LoadVars.prototype, "$load", 7);
delete _local1.com.doubleclick.studio.utilities.LoadPathModifier;
}
}
Symbol 14 MovieClip [__Packages.com.doubleclick.studio.BaseEnabler] Frame 0 (21.64 KiB) ● ● ●
class com.doubleclick.studio.BaseEnabler
{
var domainList, rootReference, cdnFilesMap, dynamicManifestId;
function BaseEnabler () {
var _local1 = this;
_local1.cdnFilesMap = {};
_local1.User = {};
_local1.exitData = {};
_local1.videoComponents = [];
_local1.domainList = [];
mx.events.EventDispatcher.initialize(_local1);
}
function init(rootRef) {
var _local1 = this;
var _local2 = _global;
_local1.rootReference = rootRef;
_local2.Enabler = _local1;
_local1.rootReference.Enabler = _local1;
_local2.ASSetPropFlags(_root, "Enabler", 7);
_local2.ASSetPropFlags(_local2, "Enabler", 7);
if (!_local1.initialized) {
_local1.modifyLoadCommands();
if (_local1.isRunningLocally()) {
_local1.createLocalEnvironment();
}
System.security.allowDomain(_local1.getParameter("td"));
_local1.assetName = _local1.getParameter("varName");
if (_local1.rootVariableExists("scaleMode") && (_local1.getParameter("scaleMode") != "")) {
Stage.scaleMode = _local1.getParameter("scaleMode");
}
if ((!_local1.rootVariableExists("clickN")) || (_local1.getParameter("clickN") == "")) {
_local1.setParameter("clickN", "1", "Number");
}
_local1.flashObjId = _local1.getParameter("rid");
_local1.User.browser = _local1.getParameter("br");
_local1.User.OS = _local1.getParameter("os");
if (_local1.getParameter("ise") == "true") {
_local1.shouldLog = false;
}
_local1.initEnvironment();
_local1.watchVariables();
_local1.initialized = true;
_local1.startInteractionTimer();
_local1.processCDNFiles();
}
}
function allowDomain(url) {
var _local1 = getProtocolAndHostname(url);
domainList.push(_local1);
System.security.allowDomain(_local1);
}
function getProtocolAndHostname(url) {
var _local1 = url.split("/");
_local1.splice(3);
return(_local1.join("/"));
}
function isWhitelistedDomain(url) {
var _local2 = this;
var hostname = _local2.getProtocolAndHostname(url.toLowerCase());
if (hostname.indexOf(":") != hostname.lastIndexOf(":")) {
hostname = hostname.split(":")[1];
}
if ((url.indexOf("http://") == 0) || (url.indexOf("https://") == 0)) {
var hostnameBits = hostname.split(".");
var tld = hostnameBits[hostnameBits.length - 1];
var _local3 = hostnameBits[hostnameBits.length - 2];
var _local1 = 0;
while (_local1 < _local2.domainWhitelist.length) {
if (((_local3.toLowerCase() + ".") + tld.toLowerCase()) == _local2.domainWhitelist[_local1]) {
return(true);
}
_local1++;
}
}
return(false);
}
function getDomainList() {
return(domainList);
}
function modifyLoadCommands() {
com.doubleclick.studio.utilities.LoadPathModifier.modify(this);
}
function createLocalEnvironment() {
var _local1 = this;
_local1.pageLoadTimeout = 2000;
_local1.setParameter("bw", "5", "Number");
_local1.createLocalStageMouseListener();
}
function createLocalStageMouseListener() {
var _local1 = this;
_local1.mouse_dx = _local1.rootReference._xmouse;
_local1.mouse_dy = _local1.rootReference._ymouse;
_local1.mouseSpeed = 1;
_local1.checkMousePosition();
Mouse.addListener(_local1);
}
function checkMousePosition() {
var _local1 = this;
if ((((_local1.rootReference._xmouse < _local1.mouseSpeed) || (_local1.rootReference._xmouse > (Stage.width - _local1.mouseSpeed))) || (_local1.rootReference._ymouse < _local1.mouseSpeed)) || (_local1.rootReference._ymouse > (Stage.height - _local1.mouseSpeed))) {
_local1.rootReference.isMouseOver = "0";
} else {
_local1.rootReference.isMouseOver = "1";
}
}
function onMouseMove() {
var _local1 = this;
_local1.mouse_dx = Math.abs(_local1.mouse_dx - _local1.rootReference._xmouse);
_local1.mouse_dy = Math.abs(_local1.mouse_dy - _local1.rootReference._ymouse);
_local1.mouseSpeed = ((_local1.mouse_dx > _local1.mouse_dy) ? (_local1.mouse_dx) : (_local1.mouse_dy));
_local1.mouseSpeed = _local1.mouseSpeed + 1;
_local1.checkMousePosition();
_local1.mouse_dx = _local1.rootReference._xmouse;
_local1.mouse_dy = _local1.rootReference._ymouse;
}
function watchVariables() {
var _local1 = this;
_local1.rootReference.watch("mtfContinue", mx.utils.Delegate.create(_local1, _local1.pageLoadStatusChange));
_local1.rootReference.watch("isMouseOver", mx.utils.Delegate.create(_local1, _local1.mouseOverStatusChange));
_local1.rootReference.watch("callToCollapse", mx.utils.Delegate.create(_local1, _local1.onStageOut));
}
function isInitialized() {
return(initialized);
}
function logCustomEvent(type, evt, isCumulative) {
_logMetEvent(type, evt, isCumulative, true);
log({DEBUG:((((com.doubleclick.studio.localization.TraceLocalizer.getMessage("enabler.traceMessages.customEvent") + "'") + evt) + "' ") + com.doubleclick.studio.localization.TraceLocalizer.getMessage("enabler.traceMessages.eventType")) + type});
}
function _startDisplayTime() {
if (shouldLog) {
_logMetEvent("Start", "DISPLAY_TIMER");
}
}
function _stopDisplayTime() {
if (shouldLog) {
_logMetEvent("Stop", "DISPLAY_TIMER");
}
}
function logInteractiveImpression() {
var _local1 = this;
if (!_local1.alreadyLoggedInteraction) {
_local1._logMetEvent("Count", "EVENT_USER_INTERACTION");
if (_local1.getParameter("mtfContinue") != "1") {
_local1.setParameter("mtfContinue", "1");
}
_local1.alreadyLoggedInteraction = true;
_local1._flushMetEvents();
}
}
function _startInteraction() {
var _local1 = this;
_local1.dispatch({type:"onInteractionMouseOver", timeElapsed:getTimer()});
if (_local1.shouldLog) {
_local1._logMetEvent("Start", "INTERACTION_TIMER");
_local1.logInteractiveImpression();
}
}
function _stopInteraction() {
if (shouldLog) {
_logMetEvent("Stop", "INTERACTION_TIMER");
}
}
function exit(id, url) {
var _local1 = this;
var _local2 = url;
var _local3 = id;
_local1.logInteractiveImpression();
if ((!_local1.evaluateIF(_local2)) || (typeof(_local2) != "string")) {
_local1.performExit(_local3, "", false);
} else if ((_local2.indexOf("http://") != -1) || (_local2.indexOf("https://") != -1)) {
_local1.performExit(_local3, _local2, true);
} else {
_local1.performExit(_local3, "", false);
}
}
function exitQueryString(id, queryString) {
var _local1 = queryString;
var _local2 = this;
if ((!_local2.evaluateIF(_local1)) || (typeof(_local1) != "string")) {
_local2.performExit(id, "", false);
} else {
_local2.performExit(id, _local1, false);
}
}
function performExit(exitId, queryStringOrURL, overrideURL) {
var _local1 = this;
var _local3 = null;
var _local2 = null;
if (queryStringOrURL != "") {
if (overrideURL) {
_local3 = queryStringOrURL;
_local2 = null;
} else {
_local3 = null;
_local2 = queryStringOrURL;
}
}
if (exitId != "") {
_local1.logMetEventFlushMetEventsOpenPopup("Count", exitId, false, _local3, _local2);
_local1.dispatch({type:"onExit", id:exitId});
_local1.callBackForExit();
_local1.log({INFO:com.doubleclick.studio.localization.TraceLocalizer.getMessage("enabler.traceMessages.exit") + exitId});
return(true);
}
_local1.log({INFO:com.doubleclick.studio.localization.TraceLocalizer.getMessage("enabler.traceMessages.exitError")});
return(false);
}
function getExitUrl(exitId, newExit) {
var _local3 = this;
var _local2 = (((newExit == undefined) || (newExit == null)) ? (_local3.exitData[exitId].url) : (newExit));
var clickUrl = ((_local3.getParameter("click") != null) ? (_local3.getParameter("click")) : "");
if ((clickUrl.length > 0) && (_local3.dynamicManifestId)) {
clickUrl = _local3.addDynamicIdToClickString(clickUrl);
}
if ((clickUrl.indexOf("?") >= 0) || (clickUrl.indexOf("&") >= 0)) {
var _local1 = 0;
while (_local1 < parseInt(_local3.getParameter("clickN"))) {
_local2 = escape(_local2);
_local1++;
}
}
return(clickUrl + _local2);
}
function counter(eventId, isCumulative) {
log({INFO:com.doubleclick.studio.localization.TraceLocalizer.getMessage("enabler.traceMessages.counter") + eventId});
logCustomEvent("Count", eventId, isCumulative);
}
function startTimer(timerId) {
log({INFO:com.doubleclick.studio.localization.TraceLocalizer.getMessage("enabler.traceMessages.timerStart") + timerId});
logCustomEvent("Start", timerId);
}
function stopTimer(timerId) {
log({INFO:com.doubleclick.studio.localization.TraceLocalizer.getMessage("enabler.traceMessages.timerStop") + timerId});
logCustomEvent("Stop", timerId);
}
function reportManualClose() {
log({INFO:com.doubleclick.studio.localization.TraceLocalizer.getMessage("enabler.traceMessages.logManualClose")});
_logMetEvent("Count", "EVENT_MANUAL_CLOSE");
}
function logVideoEvent(type, videoName, event) {
_logVideoEventImpl(type, videoName, event);
log({DEBUG:(((com.doubleclick.studio.localization.TraceLocalizer.getMessage("enabler.traceMessages.videoEventForVideoName") + "'") + videoName) + "': ") + event});
}
function reportCustomImpressionVariable(postString) {
reportCustomVariableImpl(postString, 1);
log({INFO:com.doubleclick.studio.localization.TraceLocalizer.getMessage("enabler.traceMessages.customVariableString") + postString});
}
function reportCustomClickVariable(postString) {
reportCustomVariableImpl(postString, 2);
log({INFO:com.doubleclick.studio.localization.TraceLocalizer.getMessage("enabler.traceMessages.customVariableString") + postString});
}
function processCDNFiles() {
var _local3 = this;
if (_local3.rootVariableExists("assets")) {
if (_local3.isWhitelistedDomain(_local3.rootReference._url)) {
_local3.allowDomain(_local3.rootReference._url);
}
var filesMap = unescape(_local3.getParameter("assets")).split("&");
if ((filesMap.length == 1) && (filesMap[0] == "")) {
}
var _local2 = 0;
while (_local2 < filesMap.length) {
var fileNames = filesMap[_local2].split("=");
var originalFileName = fileNames[0];
var _local1 = unescape(fileNames[1]);
if ((_local1.toLowerCase().indexOf(".swf") == -1) || (_local3.isWhitelistedDomain(_local1))) {
_local3.cdnFilesMap[originalFileName.toLowerCase()] = _local1;
if (_local1.toLowerCase().indexOf(".swf") > -1) {
_local3.allowDomain(_local1);
}
}
_local2++;
}
}
}
function expand(preExpand) {
var _local1 = this;
_local1.expandImpl();
if (!preExpand) {
_local1._logMetEvent("Start", "EXPAND_TIMER");
_local1.logInteractiveImpression();
}
_local1.log({INFO:com.doubleclick.studio.localization.TraceLocalizer.getMessage("enabler.traceMessages.expanded")});
}
function collapse() {
var _local1 = this;
_local1.collapseImpl();
_local1._logMetEvent("Stop", "EXPAND_TIMER");
_local1.log({INFO:com.doubleclick.studio.localization.TraceLocalizer.getMessage("enabler.traceMessages.collapsed")});
}
function close() {
var _local1 = this;
if (_local1.getParameter("assetType") == "Expanding") {
_local1.collapse();
} else {
_local1.stopAllVideos();
_local1.exitFullScreen();
_local1.closeImpl();
_local1.log({INFO:com.doubleclick.studio.localization.TraceLocalizer.getMessage("enabler.traceMessages.advertClosed")});
}
}
function closeCompanion() {
closeCompanionAssetImpl();
}
function displayCompanion() {
displayCompanionAssetImpl();
}
function getParameter(name) {
return(getRootVariable(name));
}
function setParameter(name, value, varType) {
var _local2 = value;
var _local1 = _local2;
if (varType == "Number") {
_local1 = parseInt(_local2);
} else if (varType == "Boolean") {
_local1 = (((_local2.toLowerCase() == "true") || (_local2 == "1")) ? true : false);
}
rootReference[name] = _local1;
}
function getDartSiteName() {
return(getParameter("sn"));
}
function getDartSiteId() {
return(parseInt(getParameter("sid")));
}
function getDartAdId() {
return(parseInt(getParameter("aid")));
}
function getDartPageId() {
return(parseInt(getParameter("pid")));
}
function getDartRenderingId() {
return(parseInt(getParameter("rid")));
}
function getDartCreativeId() {
return(parseInt(getParameter("cid")));
}
function getUserCountry() {
return(getParameter("ct"));
}
function getUserState() {
return(getParameter("st"));
}
function getUserZipCode() {
return(getParameter("zp"));
}
function getUserBandwidth() {
if (rootVariableExists("bw")) {
return(parseInt(getParameter("bw")));
}
return(0);
}
function getUserAreaCode() {
return(getParameter("ac"));
}
function getUserDMACode() {
return(getParameter("dma"));
}
function mouseOverStatusChange(prop, oldVal, newVal) {
var _local1 = this;
var _local2 = newVal;
if (_local1.isInFullScreen) {
return("1");
}
if ((_local2 == "1") && (oldVal != "1")) {
_local1.dispatch({type:"onStageMouseOver"});
}
if ((_local2 == "0") && (oldVal != "0")) {
_local1.dispatch({type:"onStageMouseOut"});
}
return(_local2);
}
function pageLoadStatusChange(prop, oldVal, newVal) {
var _local1 = this;
if (newVal == "1") {
_local1.pageLoaded = true;
_local1.dispatch({type:"onPageLoaded", timeElapsed:getTimer()});
_local1.rootReference.unwatch("mtfContinue");
}
return(newVal);
}
function checkPageLoadTimeout() {
var _local1 = this;
if (_local1.getParameter("mtfContinue") == "1") {
} else {
var _local2 = getTimer();
if ((_local2 >= _local1.pageLoadTimeout) && (!_local1.getParameter("mtfContinue"))) {
if (_global.isLivePreview != true) {
_local1.setParameter("mtfContinue", "1");
}
}
}
}
function pageHasLoaded() {
return(pageLoaded);
}
function timerCallback() {
checkCommandQueues();
checkPageLoadTimeout();
}
function isFlashFullScreenSupported() {
return(isFlashFullScreenSupportedImpl());
}
function launchFullScreen() {
logInteractiveImpression();
launchFullScreenImpl();
}
function exitFullScreen() {
if (Stage.displayState == "fullScreen") {
Stage.displayState = "normal";
}
}
function isFlashFullScreenSupportedImpl() {
return((getParameter("isFlashFullScreenEnabled") == "true") || (getParameter("isFlashFullScreenEnabled") == "1"));
}
function launchFullScreenImpl() {
var _local1 = this;
if (_local1.isFlashFullScreenSupportedImpl() && (!_local1.isInFullScreen)) {
_local1.attachFullScreenEventListener();
_local1.preFsAlign = Stage.align;
_local1.preFsScaleMode = Stage.scaleMode;
Stage.align = "TL";
Stage.scaleMode = "exactFit";
Stage.displayState = "fullScreen";
}
}
function attachFullScreenEventListener() {
Stage.addListener(this);
}
function removeFullScreenEventListener() {
Stage.removeListener(this);
}
function onFullScreen(inFullScreen) {
var _local1 = this;
if (inFullScreen) {
_local1.isInFullScreen = true;
_local1.setParameter("isMouseOverOnFullScreen", "true", "Boolean");
_local1._logMetEvent("Count", "EVENT_FULLSCREEN");
_local1.dispatch({type:"onFullScreen"});
} else {
_local1.removeFullScreenEventListener();
_local1.isInFullScreen = false;
_local1.setParameter("isMouseOver", "0");
Stage.align = _local1.preFsAlign;
Stage.scaleMode = _local1.preFsScaleMode;
_local1.setParameter("isMouseOverOnFullScreen", "false", "Boolean");
_local1.invokeGlobalTemplateFunction("setFocus", _local1.assetName);
_local1.dispatch({type:"onFullScreenReturn"});
}
}
function onStageOut(prop, oldVal, newVal) {
dispatch({type:"onStageMouseOut"});
return(false);
}
function registerVideoComponent(videoComponent) {
var _local2 = this;
var _local3 = videoComponent;
var _local1 = 0;
while (_local1 < _local2.videoComponents.length) {
if (_local2.videoComponents[_local1] == _local3) {
return;
}
_local1++;
}
_local2.videoComponents.push(_local3);
}
function stopAllVideos() {
var _local2 = this;
var _local1 = 0;
while (_local1 < _local2.videoComponents.length) {
_local2.videoComponents[_local1].stop();
_local1++;
}
}
function muteAllVideos() {
var _local2 = this;
var _local1 = 0;
while (_local1 < _local2.videoComponents.length) {
_local2.videoComponents[_local1].mute(true);
_local1++;
}
}
function getVideoComponentByName(name) {
var _local2 = this;
var _local3 = name;
var _local1 = 0;
while (_local1 < _local2.videoComponents.length) {
if (_local2.videoComponents[_local1].getReportingIdentifier() == _local3) {
return(_local2.videoComponents[_local1]);
}
_local1++;
}
return(null);
}
function rootVariableExists(varName) {
return(((typeof(rootReference[varName]) == "undefined") ? false : true));
}
function getRootVariable(varName) {
if (rootVariableExists(varName)) {
return(rootReference[varName]);
}
return(null);
}
function evaluateIF(parameter) {
var _local1 = parameter;
return((((_local1 != null) && (typeof(_local1) != "undefined")) && (_local1 != "")) && (_local1 != 0));
}
function isRunningLocally() {
var _local2 = this;
var _local1 = System.capabilities.playerType;
if (((_local1 == "PlugIn") || (_local1 == "ActiveX")) && ((_local2.rootVariableExists("varName") || (typeof(_local2.rootReference._parent._parent._parent) == "movieclip")) || (typeof(_local2.rootReference._parent._parent) == "object"))) {
return(false);
}
return(true);
}
function getFilename(originalFileName) {
var _local2 = originalFileName.toLowerCase();
var _local1 = cdnFilesMap[_local2];
if (!_local1) {
_local1 = cdnFilesMap[PROGRESSIVE_VIDEO_PREPEND + _local2];
}
if (_local1 == undefined) {
return(originalFileName);
}
return(_local1);
}
function getStreamingURL(originalFileName) {
var _local1 = STREAMING_VIDEO_PREPEND + originalFileName;
var _local2 = getFilename(_local1);
if (_local2 == _local1) {
return(originalFileName);
}
return(_local2);
}
function log(logMsg) {
var _local2 = this;
var _local3 = logMsg;
if (_local2.debugLevel == _local2.NONE) {
} else {
var _local1 = "";
for (var key in _local3) {
if (_local2[key] <= _local2.debugLevel) {
if (_local1.length > 0) {
_local1 = _local1 + newline;
}
_local1 = _local1 + (_local2.getLogTime() + _local3[key]);
}
}
if (_local1 != "") {
trace(_local1);
}
}
}
function getLogTime() {
var _local1 = (Math.round(getTimer() / 10) / 100) + "";
if (_local1.indexOf(".") == -1) {
_local1 = _local1 + ".";
}
while (_local1.length < 4) {
_local1 = _local1 + "0";
}
return(("[" + _local1) + "] ");
}
function setTraceLevel(level) {
debugLevel = level;
}
function dispatch(evt) {
var _local1 = evt;
var _local2 = this;
switch (_local1.type) {
case "onStageMouseOut" :
case "onStageMouseOver" :
case "onInteractionMouseOver" :
case "onPageLoaded" :
case "onExit" :
_local2.log({EVENTS:com.doubleclick.studio.localization.TraceLocalizer.getMessage("enabler.traceMessages.event") + _local1.type});
break;
default :
_local2.log({INFO:com.doubleclick.studio.localization.TraceLocalizer.getMessage("enabler.traceMessages.event") + _local1.type});
}
_local2.dispatchEvent(_local1);
}
function setDynamicServeId(dServeId) {
setDynamicServeIdImpl(dServeId);
}
function addDynamicIdToClickString(originalClickUrl) {
var _local1 = originalClickUrl;
var OKV_KEY = "~okv=";
var DYNAMIC_CLICK_KV = ("rm_mid=" + dynamicManifestId);
var _local3;
var _local2 = 0;
while (_local1.indexOf(";") == -1) {
_local1 = unescape(_local1);
if (_local2 > 3) {
return(_local1);
}
_local2++;
}
var modifiedClickString;
if (_local1.indexOf(OKV_KEY) > -1) {
_local3 = _local1.split(OKV_KEY);
modifiedClickString = _local3.join((OKV_KEY + DYNAMIC_CLICK_KV) + ";");
} else {
_local3 = _local1.split(";");
_local3.splice(9, 0, OKV_KEY + DYNAMIC_CLICK_KV);
modifiedClickString = _local3.join(";");
}
return(modifiedClickString);
}
function initEnvironment() {
}
function _logMetEvent(type, evt, isCumulative, isCustomEvent) {
}
function logMetEventFlushMetEventsOpenPopup(type, eid, isCumulative, overrideUrl, queryString) {
}
function _logVideoEventImpl(type, videoName, event) {
}
function callBackForExit() {
}
function expandImpl() {
}
function collapseImpl() {
}
function closeImpl() {
}
function closeCompanionAssetImpl() {
}
function invokeGlobalTemplateFunction(command, params) {
}
function checkCommandQueues() {
}
function displayCompanionAssetImpl() {
}
function startInteractionTimer() {
}
function reportCustomVariableImpl(postString, type) {
}
function setDynamicServeIdImpl(dServeId) {
}
function _flushMetEvents() {
}
function isInF2fEmulationMode() {
return(false);
}
static var PROGRESSIVE_VIDEO_PREPEND = "pro_";
static var STREAMING_VIDEO_PREPEND = "str_";
var initialized = false;
var WARN = -1;
var NONE = 0;
var INFO = 1;
var EVENTS = 2;
var DEBUG = 3;
var alreadyLoggedInteraction = false;
var shouldLog = true;
var DELIM = "#mtf#";
var debugLevel = 0;
var pageLoaded = false;
var pageLoadTimeout = 5000;
var PAUSE_LIMIT = 1000;
var TIMER_INTERVAL = 80;
var isInteractionTimerRunning = false;
var mouseOverDetectedTime = 0;
var mouseOverDetected = false;
var mouseSpeed = 1;
var domainWhitelist = ["google.com", "doubleclick.com", "doubleclick.net", "2mdn.net"];
var isInFullScreen = false;
}
Symbol 15 MovieClip [__Packages.com.doubleclick.studio.HtmlEnabler] Frame 0 (7.31 KiB) ● ●
class com.doubleclick.studio.HtmlEnabler extends com.doubleclick.studio.BaseEnabler
{
static var _instance;
var fsCommandQueue, flashObjId, DELIM, assetName, dynamicManifestId, getParameter;
function HtmlEnabler () {
super();
fsCommandQueue = [];
}
static function getInstance() {
if (_instance == null) {
_instance = new com.doubleclick.studio.HtmlEnabler();
}
return(_instance);
}
function initEnvironment() {
var _local1 = this;
_local1._startDisplayTime();
_local1.buildExitMap();
_local1.invokeGlobalTemplateFunction("conduitInitialized", _local1.assetName);
}
function buildExitMap() {
var _local3 = this;
if (_local3.rootVariableExists("exitEvents")) {
var exitStr = _local3.getParameter("exitEvents");
var exitEntries = exitStr.split("{DELIM}");
var _local1 = 0;
while (_local1 < exitEntries.length) {
var _local2 = _local3.convertFlashVarStrToObject(unescape(exitEntries[_local1]));
_local3.exitData[_local2.name] = _local2;
_local1++;
}
}
}
function convertFlashVarStrToObject(dataString) {
var dataObject = {};
var _local3 = dataString.split(",");
var _local1 = 0;
while (_local1 < _local3.length) {
var _local2 = _local3[_local1].split(":");
dataObject[_local2.shift()] = unescape(_local2.join(":"));
_local1++;
}
return(dataObject);
}
function _logMetEvent(type, evt, isCumulative, isCustomEvent) {
var _local1 = this;
var _local2 = (((((((type + _local1.DELIM) + escape(evt)) + _local1.DELIM) + _local1.flashObjId) + _local1.DELIM) + isCumulative) + _local1.DELIM) + isCustomEvent;
_local1.invokeGlobalTemplateFunction("logEvent", _local2);
}
function _logVideoEventImpl(type, videoName, event) {
var _local1 = this;
var _local2 = (((type + _local1.DELIM) + escape(videoName)) + _local1.DELIM) + event;
_local1.invokeGlobalTemplateFunction("logVideoEvent", _local2);
}
function _flushMetEvents() {
invokeGlobalTemplateFunction("flushCounters", flashObjId);
}
function _logMetEventFlushMetEvents(type, eid, isCumulative, isCustomEvent) {
var _local1 = this;
var _local2 = (((((((type + _local1.DELIM) + eid) + _local1.DELIM) + _local1.flashObjId) + _local1.DELIM) + isCumulative) + _local1.DELIM) + isCustomEvent;
_local1.invokeGlobalTemplateFunction("logEventFlushCounters", _local2);
}
function logMetEventFlushMetEventsOpenPopup(type, eid, isCumulative, overrideUrl, queryString) {
var _local1 = this;
var _local3 = eid;
if (_local1.exitData[_local3] != undefined) {
if (_local1.exitData[_local3].target != "popup") {
var _local2 = _local1.getExitUrl(_local3, overrideUrl);
if (queryString != null) {
_local2 = ((((_local2.indexOf("?") != -1) && (queryString.charAt(0) != "&")) && (_local2.charAt(_local2.length - 1) != "?")) ? (_local2 + "&") : (_local2));
_local2 = (((_local2.indexOf("?") == -1) && (queryString.indexOf("?") == -1)) ? (_local2 + "?") : (_local2));
_local2 = _local2 + queryString;
}
if (!_local1.isRunningLocally()) {
getURL (_local2, _local1.exitData[_local3].target);
}
_local1._logMetEventFlushMetEvents("Count", _local3, true, true);
} else {
var args = ((((((((((type + _local1.DELIM) + _local3) + _local1.DELIM) + _local1.flashObjId) + _local1.DELIM) + isCumulative) + _local1.DELIM) + overrideUrl) + _local1.DELIM) + queryString);
_local1.invokeGlobalTemplateFunction("logExitFlushEventsOpenPopup", args);
}
_local1.flushFsCommandQueue();
}
}
function reportCustomVariableImpl(postStr, type) {
var _local1 = postStr;
if (_local1.length > 100) {
_local1 = _local1.substr(0, 100);
}
var _local2 = (escape(_local1) + DELIM) + type;
invokeGlobalTemplateFunction("reportCustomVariable", _local2);
}
function expandImpl() {
invokeGlobalTemplateFunction("expandAsset", assetName);
}
function collapseImpl() {
invokeGlobalTemplateFunction("collapseAsset", assetName);
}
function closeImpl() {
invokeGlobalTemplateFunction("tellAssetHide", assetName);
}
function closeCompanionAssetImpl() {
invokeGlobalTemplateFunction("tellCompanionAssetHide", assetName);
}
function displayCompanionAssetImpl() {
invokeGlobalTemplateFunction("tellCompanionAssetShow", assetName);
}
function setDynamicServeIdImpl(dServeId) {
dynamicManifestId = dServeId;
invokeGlobalTemplateFunction("setDynamicServeId", dServeId);
}
function invokeGlobalTemplateFunction(command, params) {
var _local1 = new Object();
_local1.command = command;
_local1.params = params;
fsCommandQueue.push(_local1);
}
function invokeJSFunction(command, params) {
invokeGlobalTemplateFunction(command, params);
}
function checkCommandQueues() {
if (fsCommandQueue.length > 0) {
flushFsCommandQueue();
}
}
function flushFsCommandQueue() {
var _local1 = this;
var _local2 = "";
var _local3 = _local1.getSerializedCommand(_local1.fsCommandQueue[0]);
while ((_local1.fsCommandQueue.length > 0) && ((_local2.length + _local3.length) < 990)) {
if (_local2.length > 0) {
_local2 = _local2 + "&";
}
_local2 = _local2 + _local3;
_local1.fsCommandQueue.shift();
if (_local1.fsCommandQueue.length > 0) {
_local3 = _local1.getSerializedCommand(_local1.fsCommandQueue[0]);
} else {
_local3 = undefined;
}
}
_local1.fireMultipleCommandString(_local2);
}
function fireMultipleCommandString(multipleCmdString) {
var _local3 = this;
if ((_local3.User.browser.toUpperCase() == "FF") || (_local3.User.browser.toUpperCase() == "SF")) {
var _local1 = ("FLASH_" + _local3.assetName) + "_DoFSCommand";
var _local2 = ((("javascript:" + _local1) + "(\"mtfCommands\", \"") + escape(multipleCmdString)) + "\");";
getURL (_local2);
} else {
fscommand ("mtfCommands", multipleCmdString);
}
}
function getSerializedCommand(commandObject) {
return((escape(commandObject.command) + "=") + escape(commandObject.params));
}
function startInteractionTimer() {
var _local1 = this;
_local1.setTimerAdjustment(3, -1000, 0);
_local1.timerInterval = setInterval(_local1, "testMouse", _local1.TIMER_INTERVAL);
}
function setTimerAdjustment(eventId, startAdjustmentTime, stopAdjustmentTime) {
var _local1 = this;
var _local2 = (((eventId + _local1.DELIM) + startAdjustmentTime) + _local1.DELIM) + stopAdjustmentTime;
_local1.invokeGlobalTemplateFunction("setTimerAdjustment", _local2);
}
function testMouse() {
var _local1 = this;
_local1.timerCallback();
if (_local1.isMouseOver()) {
if (_local1.isInteractionTimerRunning) {
return;
}
if (!_local1.mouseOverDetected) {
_local1.mouseOverDetected = true;
_local1.mouseOverDetectedTime = getTimer();
} else {
var _local2 = getTimer() - _local1.mouseOverDetectedTime;
if (_local1.PAUSE_LIMIT < _local2) {
_local1.isInteractionTimerRunning = true;
_local1._startInteraction();
} else {
return;
}
}
} else {
if (_local1.isInteractionTimerRunning) {
_local1.isInteractionTimerRunning = false;
_local1._stopInteraction();
}
_local1.mouseOverDetected = false;
_local1.mouseOverDetectedTime = -1;
}
}
function isMouseOver() {
return(getParameter("isMouseOver") == "1");
}
var shouldLog = true;
}