(function(_window,_document,_navigator,_location){function _WT(_window,_document,_navigator,_location){this.Debug=null;this.s_pollInterval=4;this.s_pollTimeoutCount=100;this.g_inHead=false;this.s_jsonLoaded=true;this.g_loaderAborted=false;var wtSelf=this;var version={major:1,minor:0,inc:0};var s_selector="sizzle";this.optimize={};this.optimize.g_hasEmptySetup=false;this.optimize.g_IsLibLoading=false;this.optimize.g_Aborted=false;this.optimize.g_RunObjList=[];this.optimize.g_ParamsList=[];this.optimize.g_ConfigParams= {};this.optimize.g_ConfigLoaded=false;this.optimize.g_PageTimer=null;this.optimize.g_PageStartTime=null;this.optimize.g_PageEndTime=null;this.optimize.g_OnLoad=false;this.optimize.g_done=false;this.optimize._ctor=function(){this.g_ConfigParams["s_keyToken"]="fbbef07cc11ad9d2153ac2b8f26c00036a1103038ec9";this.g_ConfigParams["s_domainKey"]="2573967";this.g_ConfigParams["s_capiMajorVersion"]="5";this.g_ConfigParams["s_capiMinorVersion"]="3";this.g_ConfigParams["s_capiIncVersion"]="0";this.g_ConfigParams["s_capiDebug"]= "false"=="true";this.g_ConfigParams["s_allowCapiConfig"]=typeof _wt_allowCapiConfig=="undefined"?false:_wt_allowCapiConfig;this.g_ConfigParams["s_capiConfigFile"]="wtopt.config.js";this.g_ConfigParams["s_capiConfigSearchPath"]=typeof _wt_capiConfigSearchPath=="undefined"?["","/"]:_wt_capiConfigSearchPath;this.g_ConfigParams["s_pageProtocol"]=typeof _wt_forceSSL=="undefined"||!_wt_forceSSL?document.location.protocol=="https:"?"https":"http":"https";this.g_ConfigParams["s_otsServer"]="ots.webtrends-optimize.com"; this.g_ConfigParams["s_otsCDNServer"]="cdn.ots.webtrends-optimize.com";this.g_ConfigParams["s_wasServer"]="http://was.dca.wtopt.local";this.g_ConfigParams["s_otsWebApp"]="/ots";this.g_ConfigParams["s_otsWebAppServlet"]="/ots";this.g_ConfigParams["s_otsVersion"]="5.0";this.g_ConfigParams["s_eventHandlers"]={};this.g_ConfigParams["enableCORS"]=true;this.g_ConfigParams["s_scriptServer"]=this.g_ConfigParams["s_otsCDNServer"]==""?this.g_ConfigParams["s_otsServer"]+this.g_ConfigParams["s_otsWebApp"]+"/lib/": this.g_ConfigParams["s_otsCDNServer"];this.g_ConfigParams["s_otsDebuggerLibUrl"]="//c.webtrends-optimize.com/acs/common/js/5.4/wt_debugger.js";this.g_ConfigParams["s_otsLibUrl"]="//c.webtrends-optimize.com/acs/common/js/5.4/wt_lib.js";this.g_ConfigParams["s_commonUrl"]="//c.webtrends-optimize.com/acs/common/js/5.4/common.js";this.g_ConfigParams["s_json2"]="//c.webtrends-optimize.com/acs/common/js/5.4/json2.js";this.g_ConfigParams["s_sizzle"]="//c.webtrends-optimize.com/acs/common/js/5.4/sizzle.min.js"; this.g_ConfigParams["s_version"]="Protocol: "+this.g_ConfigParams["s_capiMajorVersion"]+"."+this.g_ConfigParams["s_capiMinorVersion"]+"."+this.g_ConfigParams["s_capiIncVersion"];this.g_ConfigParams["s_loaderHide"]=true;this.g_ConfigParams["s_accountRootUrl"]="//c.webtrends-optimize.com/acs/accounts";this.g_ConfigParams["s_accountGuid"]="53c83e43-78c7-4c36-b284-64160f7bec6b";var onload=function(){if(WT.optimize.g_OnLoad)return;WT.optimize.g_OnLoad=true;WT._fireEvent(new WTEvent(WTEvent.DOM_ONLOAD, WTEvent.STATUS_SUCCESS))};if(window.addEventListener)window.addEventListener("load",function(){window.removeEventListener("load",arguments.callee,false);wtSelf.Debug.trace("capi: onload fired");onload()},false);else if(window.attachEvent)window.attachEvent("onload",function(){window.detachEvent("onload",arguments.callee,false);wtSelf.Debug.trace("capi: onload fired");onload()});wtSelf.addEventHandler(WTEvent.ABORT,this._abort,this._abort);wtSelf.addEventHandler(WTEvent.TIMER,this._timerExpired,this._timerExpired); if(this.g_ConfigParams["s_allowCapiConfig"])_loadCapiConfig();else this.g_ConfigLoaded=true;wtSelf.Debug.info("LOADER: Version "+[version.major,version.minor,version.inc].join("."))};var _loadCapiConfig=function(){try{var _updateCAPIConfig=function(event){var config=event.target;if(config)for(var key in config)wtSelf.g_ConfigParams[key]=config[key];wtSelf.fireEvent(new WTEvent(WTEvent.CAPI_CONFIG_PROCESSED,WTEvent.STATUS_SUCCESS),true);wtSelf.optimize.g_ConfigLoaded=true};wtSelf.addEventHandler(WTEvent.CAPI_CONFIG, _updateCAPIConfig);for(var sp=0;sp=0;document.cookie="_wt.areCookiesEnabled\x3dtrue; expires\x3d"+(new Date).toGMTString();return hasCookie};this.optimize._capiParams=function(p){var params= {};var _run=WT.optimize.lookup(p.testAlias);if(WT.optimizeModule&&WT.optimizeModule.prototype.wtConfigObj)params=WT.paramsMerge(this.g_ConfigParams,WT.optimizeModule.prototype.wtConfigObj);else params=this.g_ConfigParams;if(WT.hasVal(_run)&&WT.hasVal(_run["params"])&&!(_run.params.s_requestType==="conversion"&&!_run.params.s_isInternalCV))params=WT.paramsMerge(params,_run["params"]);if(WT.hasVal(p))params=WT.optimize.paramsMerge(params,p);WT.Debug.info("start: Webtrends Optimize CAPI Version: "+params["s_version"]); if(!_areCookiesEnabled())throw"Cookies are not enabled, Webtrends Optimize is disabled.";var cWrap=params["contentWrapper"];var cWrapEl=null;if(cWrap){cWrapEl=document.getElementById(cWrap);WT.Debug.debug("capiParams: using wrapper ["+cWrap+"] for test alias ["+params["testAlias"]+"]")}else if(params["testAlias"]){WT.Debug.debug("capiParams: ["+cWrap+"] using moniker ["+params["testAlias"]+"]");cWrapEl=document.getElementById(params["testAlias"])}if(document.cookie.indexOf("_wt.debugwindow\x3d")>= 0){var nameEQ=document.cookie.indexOf("_wt.debugwindow\x3d");var ca=document.cookie.split(";");for(var i=0;i0){WT.Debug._shutdown=false;WT.Debug.debugLevel=params["debug"].length;WT.Debug.refresh(true)}if(!cWrapEl){WT.Debug.debug("capiParams: using body to prepare run."); cWrapEl=document.body}if(params["s_requestType"]=="conversion"){if(params["r_redirectLink"]){var elm=params["r_redirectLink"];setTimeout(function(){if(elm.wt_pending&&elm.wt_pending=="true"){wtSelf.Debug.info("conversion: timed out - redirecting to url ["+elm.wt_href+"]");elm.href=elm.wt_href;elm.target=elm.wt_target;elm.wt_pending="";if(elm.wt_target&&elm.wt_target!=""&&elm.wt_target!==null)window.open(elm.wt_href,elm.wt_target);else window.location.href=elm.href}},params["s_conversionTimeout"])}}else{if(!this.g_PageTimer){this.g_PageTimer= setTimeout(function(){WT.fireEvent(new WTEvent(WTEvent.TIMER,WTEvent.STATUS_FAULT,params))},params["s_pageTimeout"]);this.g_PageStartTime=new Date;WT.Debug.info("timer: started ["+this.g_PageStartTime+"].")}else WT.Debug.info("timer: already started, using current timer.");if(params["s_loaderHide"]===false)WT.hideAndShow(cWrapEl,params["s_pageDisplayMode"],false,params["overlayColor"])}WT.fireEvent(new WTEvent(WTEvent.PREPARE,WTEvent.STATUS_SUCCESS,params));return params};this.optimize._initialize= function(p){try{var params=this._capiParams(p);this.g_ParamsList.push(params);if(typeof WT.optimize.Library=="undefined"){var pr=WT.optimize.g_ParamsList.pop();WT.Debug.error("library: failed to load.");WT._fireEvent(new WTEvent(WTEvent.ABORT,WTEvent.STATUS_FAULT,pr))}else{WT.Debug.debug("initialize: Server Library already loaded, will now prepare optimize.");WT._fireEvent(new WTEvent(WTEvent.INITIALIZE,WTEvent.STATUS_SUCCESS,params));WT.optimize.Library._setupParams(params["testAlias"],params)}}catch(e){WT.Debug.error("initialize: error during framework setup.", 0,e);WT._fireEvent(new WTEvent(WTEvent.INITIALIZE,WTEvent.STATUS_FAULT,params));WT._fireEvent(new WTEvent(WTEvent.ABORT,WTEvent.STATUS_FAULT,params))}};this.startTimer=function(productName,timeOut){if(WT.hasVal(products[productName])){WT.Debug.trace("LOADER: api starting timer for "+timeOut+" ms on "+productName);var res=WT.hasVal(timeOut)?products[productName]._startTimer(timeOut):products[productName]._startTimer(s_moduleTimeoutDefault)}};this.clearTimer=function(productName){if(products[productName]){WT.Debug.trace("LOADER: loader clearing timer for "+ productName);products[productName]._clearTimer();WT.fireEvent(new WT.Event(productName+"_"+WT.Event.TIMER_CLEAR,WT.Event.STATUS_SUCCESS))}};this.pollForCondition=function(condition,callbackSuccess,callbackFailure){var timeoutCount=WT.s_pollTimeoutCount;var poll=function(condition,callbackSuccess,callbackFailure,timeoutCount){setTimeout(function(){timeoutCount--;if(condition()){WT.Debug.trace("pollForCondition success result\x3d"+condition());WT.Debug.superfine("pollForCondition success condition\x3d"+ condition.toString());if(callbackSuccess){callbackSuccess();WT.Debug.trace("pollForCondition running callback");WT.Debug.superfine("pollForCondition callback\x3d"+callbackSuccess.toString())}}else if(timeoutCount>0)poll(condition,callbackSuccess,callbackFailure,timeoutCount);else{WT.Debug.error("pollForCondition Fail on "+condition.toString(),"009");if(callbackFailure){callbackFailure();WT.Debug.superfine("pollForCondition callbackFailure\x3d"+callbackFailure.toString())}}},WT.s_pollInterval)};poll(condition, callbackSuccess,callbackFailure,timeoutCount)};this.paramsMerge=function(existingObj,newObj,overrideObj){var outputObj={};if(wtSelf.hasVal(existingObj))for(var p in existingObj)if(existingObj.hasOwnProperty(p))outputObj[p]=existingObj[p];for(var currParam in newObj)if(wtSelf.hasVal(newObj[currParam])&&newObj.hasOwnProperty(currParam))if(wtSelf.hasVal(overrideObj)&&wtSelf.hasVal(overrideObj[currParam]))outputObj[currParam]=overrideObj[currParam];else outputObj[currParam]=newObj[currParam];return outputObj}; this.optimize.paramsMerge=function(existingObj,newObj,overrideObj){var cWrapEl=existingObj["r_cWrapEl"];existingObj["r_cWrapEl"]=null;var params=WT.paramsMerge(existingObj,newObj,overrideObj);existingObj["r_cWrapEl"]=cWrapEl;params["r_cWrapEl"]=cWrapEl;return params};this.downloadLib=function(elem,successCallback,failCallback,delay,async,src){this.Debug.info("LOADER: Start download: "+src+" \x26 attach to "+elem+", async\x3d"+async);setTimeout(function(){var el=document.getElementsByTagName(elem)[0]; var script=document.createElement("script");script.type="text/javascript";script.src=src;script.setAttribute("async",async);script.setAttribute("defer",async);script.wtHasRun=false;var successCallbackWrapper=function(){if(this.wtHasRun===false){successCallback();this.wtHasRun=true;WT.Debug.info("Completed download: "+src+", callback running, set wtHasRun\x3d"+this.wtHasRun);WT.Debug.superfine("downloadLib: successCallback\x3d"+successCallback.toString())}else WT.Debug.trace("downloadLib: not running successCallback, since wtHasRun\x3d"+ this.wtHasRun)};if(successCallback){script.onload=successCallbackWrapper;script.onreadystatechange=successCallbackWrapper}var failCallbackWrapper=function(){WT.Debug.error("FAILED download: "+src+" \x26 attach to "+elem+", async\x3d"+async,"010");if(failCallback){failCallback();WT.Debug.superfine("failCallback: "+failCallback.toString())}};script.onerror=failCallbackWrapper;if(typeof el!=="undefined")el.appendChild(script);else this.Debug.info("LOADER: Dom element: "+elem+" is not found so not Downloading")}, delay)};this.downloadLibs=function(elem,callback,delay,async,srcs){if(typeof srcs==="undefined"){WT.Debug.info("LOADER: downloadLibs srcs is empty");return}var libStatusMap={};for(var src in srcs)if(srcs.hasOwnProperty(src)){var updateStatusComplete=function(src){return function(){var localVar=src;libStatusMap[localVar]="complete";WT.Debug.trace("LOADER: downloadLibs is complete src:"+src+" \x3d "+srcs[src])}};libStatusMap[src]="waiting";WT.Debug.trace("LOADER: downloadLibs is waiting on src:"+ src+" \x3d "+srcs[src]);WT.downloadLib(elem,updateStatusComplete(src),null,delay,async,srcs[src])}var allDownloaded=function(){for(var lib in libStatusMap)if(libStatusMap.hasOwnProperty(lib)&&libStatusMap[lib]!=="complete")return false;return true};var complete=function(){WT.Debug.debug("LOADER: downloadLibs completed on all downloads");callback()};WT.pollForCondition(allDownloaded,complete)};this.parseQueryString=function(win){var place=win;if(!wtSelf.hasVal(win)||!wtSelf.hasVal(win.location)|| !wtSelf.hasVal(win.location.search))place=document;var parseqS=function(qS){var qP=qS.split("\x26");if(qP!==null&&qP.length===0)qP=qS.split(";");var qpLen=qP.length-1;var dFORM={};for(var i=0;i<=qpLen;++i){var tmpArr=qP[i].split("\x3d");tmpArr[0]=unescape(tmpArr[0]);tmpArr[1]=unescape(tmpArr[1]);tmpArr[0]=tmpArr[0].replace(/\+/g," ");tmpArr[1]=tmpArr[1].replace(/\+/g," ");tmpArr[1]=tmpArr[1].replace(/<.*\?>/g,"");dFORM[tmpArr[0]]=tmpArr[1]}return dFORM};if(place.location.search){var pStr=place.location.search.substring(1, place.location.search.length);return parseqS(pStr)}else if(place.location.href){var splitArr=place.location.href.split("?");if(splitArr.length===2)return parseqS(splitArr[1]);return null}else return null};this.abortModuleHelper=function(prodName,error){WT.fireEvent(new WT.Event(prodName+"_"+WT.Event.LOADER_MODULE_ABORT,WT.Event.STATUS_SUCCESS));WT.setExecuteState(prodName,WT.Event.LOADER_MODULE_ABORT);WT.clearTimer(prodName);WT.Debug.error("Aborting product: "+prodName,"011");WT.Debug.error("LOADER Error", "011",error)};this.hideAndShow=function(elm,type,show,color){var g_inHead=this.g_inHead;var s_wtStyleSheetName="wt_StyleSheet";try{if(!wtSelf.hasVal(elm)&&type!="shift"&&!g_inHead||!wtSelf.hasVal(type)||!wtSelf.hasVal(show)){WT.Debug.error("hideAndShow param list incomplete","006");return}var debugString="hideAndShow: "+(g_inHead?"tag 'inHead'":"tag 'not inHead'")+", "+(show?"showing":"hiding")+" '"+(elm&&elm.nodeName?elm.nodeName:"unnamed elem")+"' with type '"+type+"'";WT.Debug.debug(debugString); var hideOrShowStyleSheet=function(cssText){if(!show)WT.applyStyleSheet(cssText,s_wtStyleSheetName);else WT.removeStyleSheet(s_wtStyleSheetName)};if(type=="display")if(g_inHead)hideOrShowStyleSheet("body{ display: none !important}");else{elm.style.display=show?"":"none";if(elm!=document.body&&!show)document.body.style.display=""}else if(type=="visibility")if(g_inHead)hideOrShowStyleSheet("body{ visibility: hidden !important}");else{elm.style.visibility=show?"visible":"hidden";elm.style.hidden=!show; if(elm!=document.body&&!show){document.body.style.visibility="visible";document.body.style.hidden=false}}else if(type=="shift"||type=="supershift")if(!show){var head=document.getElementsByTagName("head")[0];style=document.createElement("style");style.type="text/css";style.id="wt_shiftStyle";var cssRule="body{position:absolute !important; left: -1000% !important;}";if(style.styleSheet)style.styleSheet.cssText="body{position:absolute !important; left: -1000% !important; visibility: hidden}";else style.appendChild(document.createTextNode(cssRule)); head.appendChild(style)}else{if(show){var shiftElm=document.getElementById("wt_shiftStyle");if(shiftElm)shiftElm.parentNode.removeChild(shiftElm)}}else if(type=="overlay"){var overlay=document.getElementById("wt_overlay");var overlayStyle=document.getElementById("wt_overlayStyle");var bgColor=WT.hasVal(color)?color:"#ffffff";if(show&&overlay){overlay.parentNode.removeChild(overlay);if(overlayStyle)overlayStyle.parentNode.removeChild(overlayStyle)}else if(!show&&!overlay){if(g_inHead)WT.Debug.error("hideAndShow: Warning! wt tag detected in head, overlay mode may error out or cause flickering", "007");if(!overlayStyle){var overlayCSS=document.createElement("style");overlayCSS.setAttribute("type","text/css");overlayCSS.setAttribute("id","wt_overlayStyle");var cssRuleB="#wt_overlay{position:absolute;width:100%;height:100%;top:0px;right:0px;bottom:0px;left:0px;background-color:"+bgColor+";z-index:2147483646}";if(overlayCSS.styleSheet)overlayCSS.styleSheet.cssText=cssRuleB;else overlayCSS.appendChild(document.createTextNode(cssRuleB));document.getElementsByTagName("head")[0].appendChild(overlayCSS)}if(!WT.hasVal(color)){overlay= document.createElement("iframe");overlay.frameBorder=0}else overlay=document.createElement("div");overlay.id="wt_overlay";document.getElementsByTagName("body")[0].appendChild(overlay)}}else if(type=="none")WT.Debug.trace("LOADER: type: none");else WT.Debug.debug("hideAndShow did not contain a matching type, so not hiding/showing");var p={};p["displayType"]=type;p["display"]=show;WT.fireEvent(new WTEvent(WTEvent.HIDESHOW,WTEvent.STATUS_SUCCESS,elm,p))}catch(e){WT.Debug.error("Failure in hide/show functionality. Verify valid HTML syntax", "008",e)}};this._addDOMEvent=function(elm,event,func){try{if(elm.addEventListener)elm.addEventListener(event,func,false);else if(elm.attachEvent)elm.attachEvent(event,func);else eval("elm."+event+"\x3dfunc;");return 0}catch(e){return-1}};this.optimize._timerExpired=function(event){WT.optimize.g_PageEndTime=new Date;if(WT.optimize.g_PageTimer){clearTimeout(WT.optimize.g_PageTimer);WT.optimize.g_PageTimer=null}WT.Debug.info(event.name+": expired, it took longer than expected. ["+WT.optimize.g_PageEndTime+ "]");WT.optimize._abort(event)};this.optimize._abort=function(event){if(WT.optimize.g_PageTimer){WT.optimize.g_PageEndTime=new Date;clearTimeout(WT.optimize.g_PageTimer);WT.Debug.info(event.name+": clearing active timer ["+WT.optimize.g_PageEndTime+"]");WT.optimize.g_done=true}if(WT.optimize.g_Aborted===false)WT.optimize.g_Aborted=true;else return;var productName=WT.optimizeModule?WT.optimizeModule.ProductName:undefined;if(productName&&WT.getExecuteState(productName)!==WT.Event.LOADER_MODULE_ABORT){WT.fireEvent(new WT.Event(productName+ "_"+WT.Event.LOADER_MODULE_ABORT,WT.Event.STATUS_SUCCESS));WT.setExecuteState(productName,"aborted")}if(event.target&&event.target["r_cWrapEl"]&&!event.target["defaultUrl"]){var cWrapEl=event.target["r_cWrapEl"];wtSelf.hideAndShow(cWrapEl,event.target["s_pageDisplayMode"],true,event.target["overlayColor"])}else if(event.target&&event.target["defaultUrl"]){WT._fireEvent(new WTEvent(WTEvent.DONE,event["state"]));WT.Debug.info(event.name+": redirecting to error url ["+event.target["defaultUrl"]+"]"); document.location.href=event.target["defaultUrl"];return}for(var i=0;i0&&!_loadingDebugger)_loadingDebugger=true};this.info("To clear Optimize cookies use: 'WT.Debug.clearCookies()'");this.info("To dump test params use: 'WT.Debug.dumpParams()'");this.info("To check the staging mode use: 'WT.Debug.checkStagingMode(false)' - Use true if you wish to reset the mode.")};this.Debug=new this._Debug;var Dependency=function(name,state){this._name=name;this._state=state; this._met=false};var Product=function(name,plug,context){var pSelf=this;var dependencies={};var dependents=[];this.prodId=name;this.plugin=new plug;this.executeState=Product.WAITING;this.timer=null;this.startTime=null;this.stopTime=null;this.contextName="default";if(typeof context!=="undefined")this.contextName=context;this.putDependency=function(dep){dependencies[dep["_name"]]=dep};this.reset=function(){pSelf.executeState=Product.WAITING;dependencies={};dependents=[]};this.clearDependencies=function(){dependencies= {}};this.getDependency=function(name){for(var depName in dependencies)if(dependencies.hasOwnProperty(depName)&&dependencies[depName]["_name"]===name)return dependencies[depName];return null};this.getDependents=function(){if(dependents.length==0)dependents=WT.getDependents(pSelf.prodId);return dependents};this.updateDependents=function(){dependents=WT.getDependents(pSelf.prodId)};this.getExecuteState=function(){return this.executeState};this.hasMetDeps=function(){for(var depName in dependencies)if(dependencies.hasOwnProperty(depName)&& depName!=="")if(dependencies[depName]["_met"]===true)continue;else if(products[depName].getExecuteState()===dependencies[depName]["_state"]){dependencies[depName]["_met"]=true;continue}else return false;return true};this.updateDependencyState=function(name,newState){var dependency=pSelf.getDependency(name);if(dependency!==null&&dependency["_state"]===newState)dependency["_met"]=true};this._startTimer=function(timeout){if(!this.timer){WT.Debug.debug("LOADER: starting timer for "+pSelf.prodId);this.timer= setTimeout(function(){WT.Debug.error("LOADER: "+pSelf.prodId+"module timer expired calling Abort","015");WT.fireEvent(new WT.Event(pSelf.prodId+"_"+WT.Event.TIMER_EXPIRE,WT.Event.STATUS_SUCCESS));WT.fireEvent(new WT.Event(pSelf.prodId+"_"+WT.Event.LOADER_MODULE_ABORT,WT.Event.STATUS_SUCCESS))},timeout);this.startTime=new Date;WT.Debug.info("LOADER: "+this.prodId+" timer started ["+this.startTime+"].")}else WT.Debug.info("LOADER: "+this.prodId+" timer already started, using current timer.")};this._clearTimer= function(){this.stopTime=new Date;if(this.timer){clearTimeout(this.timer);this.timer=null}WT.Debug.info("LOADER: "+this.prodId+" timer cleared ["+this.stopTime+"]")};this.tryExecPostload=function(){var curStateReady=pSelf.getExecuteState()===Product.READY;var hasMet=pSelf.hasMetDeps();var hasPostload=typeof pSelf["plugin"][WT.Event.POSTLOAD]!=="undefined";if(hasMet&&curStateReady&&hasPostload){WT.Debug.debug("setExecuteState: '"+pSelf.prodId+"' has met all dependencies \x26\x26 ready, running postload"); pSelf["plugin"][WT.Event.POSTLOAD]();return true}else if(hasMet&&curStateReady&&!hasPostload){WT.Debug.superfine(pSelf.prodId+", has no postLoad section");return true}else{WT.Debug.superfine(pSelf.prodId+", did not meet postload exec conditionals");return false}}};Product.WAITING="waiting";Product.DOWNLOADING="downloading";Product.READY="ready";Product.RUNNING="running";Product.ABORTED="aborted";var products={};var prodToContextMap={};this.registerPlugin=function(plugin,context){products[plugin.ProductName]= new Product(plugin.ProductName,plugin,context);products[plugin.ProductName]["executeState"]=Product.WAITING;if(WT.hasVal(plugin.prototype.abort))WT.addEventHandler(plugin.ProductName+"_"+WT.Event.LOADER_MODULE_ABORT,plugin.prototype.abort);if(WT.hasVal(plugin["prototype"]["wtConfigObj"]["s_dependencies"])){var depArr=plugin["prototype"]["wtConfigObj"]["s_dependencies"].split(",");for(var index=0;index