if(!window.YAHOO){throw new Error("Edmunds UI: PVM requires YAHOO UI")}if(!YAHOO.lang.JSON){throw new Error("Edmunds UI: PVM requires YUI.lang.JSON")}if(!YAHOO.widget.Carousel){throw new Error("Edmunds UI: PVM requires YUI.widget.Carousel")}if(!window.EDMUNDS){throw new Error("Edmunds UI: PVM requires Edmunds Core library")}(function(){var E="1.1";var B=YAHOO.util.Dom;var A=YAHOO.util.Event;var C=YAHOO.util.Connect;var D=YAHOO.util.Selector.query;EDMUNDS.PVM=function(F){if(!F.article_name||!F.thumbsize||!F.photosize||!F.fullscreen||!F.carousel_id||!F.items_per_bay){throw new Error("Edmunds.PVM required setting(s) missing")}this.article_name=F.article_name;this.thumbsize=F.thumbsize;this.photosize=F.photosize;this.fullscreen=F.fullscreen;this.carousel_id=F.carousel_id;this.items_per_bay=F.items_per_bay;this.novideo=F.novideo;this.isarticle=F.isarticle;this.onPageChange=new YAHOO.util.CustomEvent("pageChange",this);this.onItemSelected=new YAHOO.util.CustomEvent("itemSelected",this);this.onShow=new YAHOO.util.CustomEvent("show",this);this.video_overlay=F.video_overlay||"http://www.edmunds.com/media/trans1x1.gif";var G=this;var H={success:function(J){try{G.pvm_assets=YAHOO.lang.JSON.parse(J.responseText)}catch(I){throw new Error("PVM: JSON Parse failed")}if(G.pvm_assets.photos||G.pvm_assets.videos){G.init()}},failure:function(I){if(!C.isCallInProgress(I)){throw new Error("PVM: Async call failed")}}};C.asyncRequest("GET","/api/cms/damrepository/findbycontent?path="+this.article_name+"&thumbsize="+this.thumbsize.width+"&photosize="+this.photosize.width+"&fullscreen="+this.fullscreen.width+"&isarticle="+this.isarticle,H)};EDMUNDS.PVM.prototype={init:function(){var L=0;if(this.pvm_assets.videos){var K=this.pvm_assets.videos;for(var P in K){if(K.hasOwnProperty(P)){K[P].type="video";L++}}}else{var K={}}var R=this.pvm_assets.photos||{};total_photos=0;for(var P in R){if(R.hasOwnProperty(P)){R[P].type="photo";L++;total_photos++}}if(this.novideo=="false"){this.merged=YAHOO.lang.merge(K,R)}else{this.merged=R;L=total_photos}this.carousel=document.getElementById(this.carousel_id);var M="<ol><li><ul>";var H=1;first_item_id=null;var N=this;var Q=this.video_overlay.replace("img/vid_icn/276.png","img/mobile/vid-icn-276.png");for(var P in this.merged){if(this.merged.hasOwnProperty(P)){if(H===1){first_item_key=P}var S=H/this.items_per_bay-1;var O="src";var J=" ";if(L>1){J=H+" of "+L}if(this.merged[P].type=="photo"||!this.video_overlay){var I=(this.merged[P].associated=="true")?" for Edmunds":"";O=(S===0)?"src":"longdesc";M+='<li id="car_'+P+'"><a href="'+this.merged[P].target+'"><img '+O+"="+this.merged[P].thumb+' alt="" height="'+this.thumbsize.height+'" width="'+this.thumbsize.width+'" class="pvmc-'+S+'" /></a>'}else{if(this.merged[P].type=="video"&&this.video_overlay){M+='<li id="car_'+P+'"><a href="'+this.merged[P].target+'"><img src='+Q+' style="background:url('+this.merged[P].thumb+');" alt="" height="'+this.thumbsize.height+'" width="'+this.thumbsize.width+'" /></a>'}}if(L>1){M+='<div class="counter shadowed-text">'+J+"</div>"}M+='<div class="photo-desc"><span class="title">'+this.merged[P].title+'</span><span class="description">';if(this.merged[P].type=="photo"||!this.video_overlay){M+=this.merged[P].caption}else{if(this.merged[P].type=="video"&&this.video_overlay){M+=this.merged[P].desc}}M+=" | "+this.merged[P].published+'<span class="byline"> | '+this.merged[P].author+I+"</span></span></div></li>";if(H!=L){M+="</ul></li><li><ul>"}H++}}M+="</ul></li></ol>";this.carousel.innerHTML=M;var G=new YAHOO.widget.Carousel(this.carousel_id,{animation:{speed:0.5},numVisible:1});G.CONFIG.MAX_PAGER_BUTTONS=15;G.set("isCircular",true);G.on("show",function(){if(PAGESETUP.scope.loadDataFeed){PAGESETUP.scope.loadDataFeed()}N.onShow.fire()});G.render();G.show();G.on("pageChange",function(W){var T=YAHOO.util.Dom.getElementsByClassName("pvmc-"+W);for(var U=0;U<T.length;U++){var V=T[U];if(V&&V.getAttribute("longdesc")){V.src=V.getAttribute("longdesc");V.setAttribute("longdesc","")}}N.onPageChange.fire(W)});if(L<=this.items_per_bay){this.parentEl=document.getElementById(this.carousel_id);var F=D(".yui-carousel-nav",this.parentEl,true);B.setStyle(F,"display","none")}this.active_carousel_item=document.getElementById("car_"+first_item_key);B.addClass(this.active_carousel_item,"active");this.carousel.style.visibility="visible"}}})();