function CoverFlow(e,g,f,b,c,a){this.scrollSpeed=0.2;this.scrollMaxJump=0.25;this.div=e;this.coversizeX=g;this.coversizeY=f;this.halfsize=g/2;this.flowwidth=b;this.halfwidth=b/2;this.edgecolour=c;this.CoverClickCallback=a;this.div.style.position="relative";this.div.style.width=this.flowwidth+"px";this.div.style.height=1.2*this.coversizeY+"px";this.div.style.overflow="hidden";this.targetPos=0;this.scrollPos=0;this.Covers=[];while(this.div.childNodes.length>0){child=this.div.firstChild;if(child.nodeName=="IMG"){this.Covers.push(new CoverFlowItem(this,this.Covers.length,child.src,child.title,""))}if(child.nodeName=="A"&&child.childNodes.length>0&&child.childNodes[0].nodeName=="IMG"){this.Covers.push(new CoverFlowItem(this,this.Covers.length,child.childNodes[0].src,child.childNodes[0].title,child.href))}this.div.removeChild(child)}for(i=0;i<this.Covers.length;i++){this.div.appendChild(this.Covers[i].outerdiv)}this.needReflections=false;this.Update=function(){offset=this.targetPos-this.scrollPos;scrollamount=offset*this.scrollSpeed;if(Math.abs(scrollamount)>this.scrollMaxJump){offsetabs=Math.abs(offset);if(offsetabs>3){scrollamount=offset/6}else{scrollamount=this.scrollMaxJump*(scrollamount>0?1:-1)}}this.scrollPos+=scrollamount;for(i=0;i<this.Covers.length;i++){this.Covers[i].Update(this.halfwidth,this.halfwidth,i-this.scrollPos)}if(this.needReflections){for(i=0;i<this.Covers.length;i++){CoverFlowReflection.add(this.Covers[i].coverimg)}this.needReflections=false}};this.Goto=function(h){h=Math.max(h,0);h=Math.min(h,this.Covers.length-1);this.targetPos=h};this.Flip=function(h){this.Goto(this.targetPos+h)};this.GotoFirst=function(){this.Goto(0)};this.GotoLast=function(){this.Goto(this.Covers.length-1)};this.ClickedCover=function(h){this.Goto(h.CoverIndex);if(a){a(h)}return false};this.CurrentCoverIndex=function(){return Math.round(this.scrollPos)};this.CurrentCoverFlowItem=function(){return this.Covers[Math.round(this.scrollPos)]};var d=0;this.DoScroll=function(h){d+=h;jumpamount=Math.floor(d/50);d-=(jumpamount*50);this.Flip(jumpamount)};this.ScrollToTop=function(){this.GotoFirst()};this.ScrollToBottom=function(){this.GotoLast()}}function CoverFlowItem(e,b,f,a,c){this.CoverFlow=e;this.CoverIndex=b;this.Src=f;this.Title=a;this.Href=c;this.outerdiv=document.createElement("div");this.coverimg=document.createElement("img");this.edgesdiv=document.createElement("div");if(c){var d=document.createElement("a");d.href=c;d.appendChild(this.coverimg);this.outerdiv.appendChild(d)}else{this.outerdiv.appendChild(this.coverimg)}this.outerdiv.appendChild(this.edgesdiv);this.innerdiv=document.createElement("div");this.outerdiv.appendChild(this.innerdiv);this.coverimg.src=f;this.outerdiv.style.position="absolute";this.outerdiv.style.width=this.CoverFlow.coversizeX+"px";this.outerdiv.style.borderLeftStyle="solid";this.outerdiv.style.borderLeftColor="#eee";this.outerdiv.style.borderRightStyle="solid";this.outerdiv.style.borderRightColor="#eee";this.coverimg.style.width="100%";this.coverimg.className="reflect";this.edgesdiv.style.position="absolute";this.edgesdiv.style.top="0px";this.edgesdiv.style.left="0px";this.edgesdiv.style.borderTopStyle="solid";this.edgesdiv.style.borderRightStyle="solid";this.edgesdiv.style.borderBottomStyle="none";this.edgesdiv.style.borderLeftStyle="solid";this.edgesdiv.style.borderLeftWidth="0px";this.edgesdiv.style.borderLeftColor="transparent";this.edgesdiv.style.borderRightWidth="0px";this.edgesdiv.style.borderRightColor="transparent";this.edgesdiv.style.borderTopColor=this.CoverFlow.edgecolour;this.createClickHandler=function(){var g=this;return function(){g.CoverFlow.ClickedCover(g)}};this.coverimg.onclick=this.createClickHandler();this.Update=function(k,g,h){xoffsetabs=Math.abs(h);xoffsetsign=h>=0?1:-1;if(xoffsetabs<1){proportion=0.3+0.7*(1-(xoffsetabs-Math.floor(xoffsetabs)))}else{proportion=0.3}scaledsize=Math.round(this.CoverFlow.coversizeX*proportion);if(scaledsize<1){scaledsize=1}if(scaledsize>this.CoverFlow.coversizeX){scaledsize=this.CoverFlow.coversizeX}bordersize=Math.round((this.CoverFlow.coversizeX-scaledsize)*0.2);bordersizeedge=bordersize*0.5;this.coverimg.style.height=this.CoverFlow.coversizeY+"px";this.edgesdiv.style.borderTopWidth=bordersize+"px";if(xoffsetsign==1){this.edgesdiv.style.borderLeftWidth="0px";this.edgesdiv.style.borderRightWidth=scaledsize+"px";this.outerdiv.style.borderLeftWidth="0px";this.outerdiv.style.borderRightWidth=bordersizeedge+"px"}else{this.edgesdiv.style.borderLeftWidth=scaledsize+"px";this.edgesdiv.style.borderRightWidth="0px";this.outerdiv.style.borderLeftWidth=bordersizeedge+"px";this.outerdiv.style.borderRightWidth="0px"}if(xoffsetabs>0.4){left=k+(this.CoverFlow.coversizeX*h*0.4)+(xoffsetsign*this.CoverFlow.coversizeX*0.3);if(xoffsetsign==-1){left-=bordersizeedge}}else{left=k+(this.CoverFlow.coversizeX*h)}left-=scaledsize*0.5;left=Math.round(left);this.outerdiv.style.left=left+"px";this.outerdiv.style.width=scaledsize+"px";this.outerdiv.style.zIndex=Math.round(1000+100*proportion-xoffsetabs)}}if(!document.myGetElementsByClassName){document.myGetElementsByClassName=function(b){var a=document.getElementsByTagName("*")||document.all;var c=new Array();for(var g=0;g<a.length;g++){var e=a[g];var d=e.className.split(" ");for(var f=0;f<d.length;f++){if(d[f]==b){c.push(e);break}}}return c}}var CoverFlowReflection={defaultHeight:0.2,defaultOpacity:0.2,add:function(k){CoverFlowReflection.remove(k);options={height:CoverFlowReflection.defaultHeight,opacity:CoverFlowReflection.defaultOpacity};try{var b=document.createElement("div");var c=k;var l=c.className.split(" ");var n="";for(j=0;j<l.length;j++){if(l[j]!="reflect"){if(n){n+=" "}n+=l[j]}}var q=Math.floor(c.height*options.height);var o=Math.floor(c.height*(1+options.height));var g=c.width;if(document.all&&!window.opera){if(c.parentElement.tagName=="A"){var b=document.createElement("a");b.href=c.parentElement.href}b.className=n;c.className="reflected";b.style.cssText=c.style.cssText;c.style.verticalAlign="bottom";var m=document.createElement("img");m.src=c.src;m.style.width="100%";m.style.display="block";m.style.height=c.height+"px";m.style.marginBottom="-"+(c.height-q)+"px";m.style.filter="flipv progid:DXImageTransform.Microsoft.Alpha(opacity="+(options.opacity*100)+", style=1, finishOpacity=0, startx=0, starty=0, finishx=0, finishy="+(options.height*100)+")";b.style.width="100%";b.style.height=o+"px";c.parentNode.replaceChild(b,c);b.appendChild(c);b.appendChild(m)}else{var h=document.createElement("canvas");if(h.getContext){b.className=n;c.className="reflected";b.style.cssText=c.style.cssText;c.style.verticalAlign="bottom";var r=h.getContext("2d");h.style.height=q+"px";h.style.width="100%";h.height=q;h.width=g;b.style.width="100%";b.style.height=o+"px";c.parentNode.replaceChild(b,c);b.appendChild(c);b.appendChild(h);r.save();r.translate(0,k.height-1);r.scale(1,-1);r.drawImage(k,0,0,g,k.height);r.restore();r.globalCompositeOperation="destination-out";var f=r.createLinearGradient(0,0,0,q);f.addColorStop(1,"rgba(255, 255, 255, 1.0)");f.addColorStop(0,"rgba(255, 255, 255, "+(1-options.opacity)+")");r.fillStyle=f;r.rect(0,0,g,q*2);r.fill()}}}catch(a){}},remove:function(a){if(a.className=="reflected"){a.className=a.parentNode.className;a.parentNode.parentNode.replaceChild(a,a.parentNode)}}};function addCoverFlowReflections(){var a=document.myGetElementsByClassName("reflect");for(i=0;i<a.length;i++){CoverFlowReflection.add(a[i])}}var previousOnload=window.onload;window.onload=function(){if(previousOnload){previousOnload()}addCoverFlowReflections()};