var MainImageObj=Class.create({initialize:function(parentData,elmToAttach,enableZoom,mainImageSize,debug){try{this.debug=debug!=undefined?debug:false;this.mainImageSize=mainImageSize;this.enableZoom=enableZoom;this.image=elmToAttach;this.parentData=parentData;this.currentData=parentData.getCurrentAsinData();this.setMainInfo(this.currentData);this.setupMouseOvers()}catch(e){}try{this.mainImage=this.image.select(".mainImage").map(Element.extend)[0];this.zoomControlsElm=this.image.select(".zoomControls").map(Element.extend)[0];if(this.enableZoom){this.zoomInControl=this.image.select(".zoomInControl").map(Element.extend)[0];this.zoomOutControl=this.image.select(".zoomOutControl").map(Element.extend)[0];this.zoomResetControl=this.image.select(".zoomResetControl").map(Element.extend)[0];if(false){this.mainImage.onclick=this.mainImage.onkeypress=this.displayZoom.bind(this);this.zoomInControl.onclick=this.zoomInControl.onkeypress=this.displayZoom.bind(this);this.zoomOutControl.onclick=this.zoomInControl.onkeypress=this.displayZoom.bind(this);this.zoomResetControl.onclick=this.zoomInControl.onkeypress=this.displayZoom.bind(this)}}}catch(e){}try{this.image.observe("page:"+this.currentData.getAsin()+"UpdateMainImage",this.rewriteImages.bind(this));this.image.observe("page:"+this.currentData.getAsin()+"RewriteImage",this.rewriteImages.bind(this))}catch(e){}},altImageRollOver:function(id){var Image=new Object();Image=this.getMainInfo().getVariantImage(id);this.updateMainImage(Image,id)},getMainInfo:function(){return this.currentData},setMainInfo:function(asinInfo){this.preloadImages=new Array();this.selectedImage=new Object();this.registeredImages=new Array()},setupMouseOvers:function(){this.image.select(".altImage").each(function(altImage){var altImageId=new String(altImage.id).replace("product_image_","");altImage.onmouseover=function(){this.altImageRollOver(altImageId)}.bind(this)}.bind(this))},rewriteImages:function(colorHash){try{colorHash=colorHash.memo.colorHash}catch(e){}this.currentData=colorHash;this.setMainInfo(colorHash);var imageId="product_image_";hasRichMediaObj=colorHash.getHasRichMedia();$A([zoomRegisteredImages,registeredImages]).each(function(imgHash){$H(imgHash).keys().each(function(key){$H(imgHash).unset(key)})});if(hasRichMediaObj&&this.enableZoom){this.updateMainImage(colorHash.getMainImage(),"MAIN");try{$A(colorHash.getRichMediaImages()).each(function(richImage,index){var imageSuffix=(index==0)?"MAIN":(index<10)?"PT0"+index:"PT"+index;var scaleLevel=$A([new MediaServicesZoomScale(richImage.scaleLevels.scaleLevel0.WIDTH||480,richImage.scaleLevels.scaleLevel0.HEIGHT||600,richImage.scaleLevels.scaleLevel0.TILESIZE||480),new MediaServicesZoomScale(richImage.scaleLevels.scaleLevel1.WIDTH||800,richImage.scaleLevels.scaleLevel1.HEIGHT||1600,richImage.scaleLevels.scaleLevel1.TILESIZE||400),new MediaServicesZoomScale(richImage.scaleLevels.scaleLevel2.WIDTH||1200,richImage.scaleLevels.scaleLevel2.HEIGHT||1500,richImage.scaleLevels.scaleLevel2.TILESIZE||400),new MediaServicesZoomScale(richImage.scaleLevels.scaleLevel3.WIDTH||1600,richImage.scaleLevels.scaleLevel3.HEIGHT||2000,richImage.scaleLevels.scaleLevel3.TILESIZE||400)]);registerImage(imageId+imageSuffix,this.updateImageUrl(richImage.hiResImage.URL),index);zoomRegisterImage(imageId+imageSuffix,richImage.tiledZoomImage.URL,richImage.tiledZoomImage.HEIGHT||richImage.hiResImage.HEIGHT,richImage.tiledZoomImage.WIDTH||richImage.hiResImage.WIDTH,richImage.version,richImage.rmType||"amztile",scaleLevel)}.bind(this));this.setDynImage("product_image_MAIN")}catch(e){console.error("ERROR (rich)"+e)}}else{this.updateMainImage(colorHash.getMainImage(),"MAIN")}this.image.select(".altImage").each(function(elm){var altImageId=new String(elm.id).replace("product_image_","");var altImage=colorHash.getVariantImage(altImageId);this.updateThumbImage(elm,altImage)}.bind(this));this.zoomControls(hasRichMediaObj)},updateThumbImage:function(altImage,ImageObj){var image=new Image();altImage.innerHTML="";if(ImageObj!=undefined){var thumbnailImage=this.preloadImage(ImageObj.getThumbnailImage());var largeImage=this.preloadImage(this.getImages(ImageObj));altImage.appendChild(thumbnailImage)}},updateImageUrl:function(url){return url.replace(/\.jpg/,"._SL449_.jpg")},preloadImage:function(ImageObj){if(ImageObj==undefined){return }var image=new Image();image.src=ImageObj.getUrl();image.height=ImageObj.getHeight();image.width=ImageObj.getWidth();this.preloadImages.push(image);return image},setDynImage:function(richMediaId){DynAPI.view.setZoomImage(zoomRegisteredImages[richMediaId].image,zoomRegisteredImages[richMediaId].width,zoomRegisteredImages[richMediaId].height,zoomRegisteredImages[richMediaId].version,zoomRegisteredImages[richMediaId].type,zoomRegisteredImages[richMediaId].scaleLevels)},updateMainImage:function(imageObj,richImageId){try{if(imageObj.memo!=undefined){richImageId=imageObj.memo.id;imageObj=imageObj.memo.imageObj}}catch(e){}try{if(this.enableZoom&&imageObj!=undefined&&imageObj.getHasRichMedia()&&imageObj.getLargeImage()!=undefined&&richImageId!=undefined){richImageId="product_image_"+richImageId;$("productImage").src=this.getImages(imageObj).getUrl();if(zoomRegisteredImages[richImageId]){this.setDynImage(richImageId);$("mainImage").hide();$("zoomViewHolder").show()}else{$("mainImage").show();$("zoomViewHolder").hide()}}else{this.mainImage.src=this.getImages(imageObj).getUrl()}}catch(e){}},getImages:function(imageObj){if(this.mainImageSize=="medium"){return imageObj.getMediumImage()}else{if(this.mainImageSize=="large"){return imageObj.getLargeImage()}else{return imageObj.getThumbnailImage()}}},zoomControls:function(richMedia){if(this.zoomControlsElm!=undefined&&this.zoomControlsElm!=""){var display=richMedia?"":"none";this.zoomControlsElm.style.display=display}}});