(function(n,t){function u(n,t,i,r){this.dealerInventoryNumericID=n;this.pageLocation=t;this.vocationDescription=i;this.bodyTypeCode=r;this.adID=null;this.loaded=!1;f.bindAll(this)}var f=t.utilities,i,r;t.AdLoader=u;i="/api/publicity/{action}?{params}";r=function(n,t){return i.replace("{action}",n).replace("{params}",t)};u.prototype={load:function(n){var t=$.Deferred(),i=this,u=null;return u=this.dealerInventoryNumericID!==null?r("vdprandomad","id="+this.dealerInventoryNumericID):r("vsprandomad",["p="+this.pageLocation,"v="+encodeURIComponent(this.vocationDescription),"b="+encodeURIComponent(this.bodyTypeCode)].join("&")),window.setTimeout(()=>{$.post(u).then(r=>{i.render(n,r),i.loaded=!0,t.resolve()}).fail(()=>t.reject())},400),t},render:function(n,t){if(this.adID=t.ID,n.hasClass("dealership-ads-left-panel-image")||n.hasClass("dealership-top-image")){let f=n.hasClass("dealership-ads-left-panel-image");const i=n.find("img").first();let r=f?50:200,u=f?50:200;if(i.length&&(r=i[0].naturalWidth,u=i[0].naturalHeight),t.adType===0){if(t.adHtml){$injected=$(t.adHtml);$injected.first().is("a")?$injected.find("img").attr({fetchpriority:"high",loading:"eager",width:r,height:u}).css({opacity:0}):$injected.first().is("img")&&$injected.filter("img").attr({fetchpriority:"high",loading:"eager",width:r,height:u}).css({opacity:0});n.html($injected);n.find("img").on("load",function(){$(this).css("opacity",1)})}}else if(t.adType===2){$injected=$(t.adHtml);n.html($injected);n.find("img").on("load",function(){$(this).css("opacity",1)})}else n.remove()}else{$injected=$(t.adHtml);n.html($injected);n.find("img").on("load",function(){$(this).css("opacity",1)})}if(t.trackClickEvent)n.on("click",this.onClickHandler.bind(this))},onClickHandler:function(t){let r;var u=null;u=this.dealerInventoryNumericID!==null?[i,"trackad",this.adID,this.dealerInventoryNumericID].join("/"):[i,"trackad",this.adID,null].join("/");$.post(u).fail(function(){console.warn("Failed to track ad click.")});r=n.visor.Events.CLICK_VEHICLE_AD;n.visor.fire(r,{label:window.myAnalyticsLabel,dimensions:window.myAnalyticsDimensions,currentTarget:t.currentTarget})}}})(window.wts,window.wts.modules);wts.registerBundle("vdp-ad")