Element.addMethods({getHeight:function(a){return a.offsetHeight},getWidth:function(a){return a.offsetWidth}});Reflect3D=Class.create();Reflect3D.prototype={initialize:function(b){this.m_iMarginXFactor=0.2;this.m_iMarginYFactor=0.2;this.m_iReflectFrom=0.8;this.m_eTarget=$(b);this.m_eImage=this.m_eTarget.getElementsByTagName("img")[0];var a=this.m_eImage;Event.observe(a,"load",this._onLoad.bindAsEventListener(null,this,a))},setMargin:function(){this.m_iMargin=($(this.m_eImage).getWidth()*this.m_iMarginXFactor);this.m_eImage.setStyle({marginLeft:this.m_iMargin+"px",cssFloat:"left"})},_onLoad:function(a,b,c){b._createReflectionDivs(c)},_createReflectionDivs:function(a){this.setMargin();l_iImageHeight=a.getHeight();l_iImageWidth=a.getWidth();l_iReflectionHeight=Math.round(l_iImageHeight*this.m_iMarginYFactor)+1;for(i=0;i<l_iReflectionHeight;i++){l_eLineDiv=Builder.node("div",[Builder.node("img",{src:a.src,className:"lineimg"})]);$(l_eLineDiv).setStyle({position:"relative",height:"1px",overflow:"hidden",fontSize:"1px",lineHeight:"0px",clear:"both",marginLeft:(this.m_iMargin-(i*(this.m_iMargin/l_iReflectionHeight)))+"px",opacity:(this.m_iReflectFrom-(i*(this.m_iReflectFrom/l_iReflectionHeight)))});$(l_eLineDiv.firstChild).setStyle({position:"relative",top:(i-l_iImageHeight)+"px",width:(l_iImageWidth+(2*(i*(this.m_iMargin/l_iReflectionHeight))))+"px"});this.m_eTarget.appendChild(l_eLineDiv)}}};
