var Carousel=Class.create();Carousel.prototype={speed:1,direction:-1,orientation:null,autoplay:false,btnLeft:null,btnRight:null,btnUp:null,btnDown:null,wrapper:null,innerElement:null,slides:null,initialElementIndex:0,count:0,bundle:5,displayedItems:5,index:0,slideWidth:123,slideHeight:0,moveDuration:0.75,contMoveDelay:1000,alreadyMoving:false,x:0,y:0,autoplayTimeout:null,listener:null,noAutoResize:false,initialize:function(a,r){this.element=$(a);this.innerElement=this.element.select(".jsCarouselWr")[0];var c=this.element.getElementsByClassName("jsBtnLeftDiv");var q=this.element.getElementsByClassName("jsBtnRightDiv");var l=this.element.getElementsByClassName("jsBtnUpDiv");var n=this.element.getElementsByClassName("jsBtnDownDiv");if(!c||c.length==0){new Insertion.Top(this.innerElement.up(0),'<div class="btnLeftDiv jsBtnLeftDiv jsToggleOnMouse"><a href="#" class="btnLeft jsBtnLeft spriteBg bg_pngfix"></a></div>')}if(!q||q.length==0){new Insertion.Top(this.innerElement.up(0),'<div class="btnRightDiv jsBtnRightDiv jsToggleOnMouse"><a href="#" class="btnRight jsBtnRight spriteBg bg_pngfix"></a></div>')}if(!l||l.length==0){new Insertion.Top(this.innerElement.up(0),'<div class="btnUpDiv jsBtnUpDiv jsToggleOnMouse"><a href="#" class="btnUp jsBtnUp spriteBg bg_pngfix"></a></div>')}if(!n||n.length==0){new Insertion.Top(this.innerElement.up(0),'<div class="btnDownDiv jsBtnDownDiv jsToggleOnMouse"><a href="#" class="btnDown jsBtnDown spriteBg bg_pngfix"></a></div>')}this.btnLeft=this.element.getElementsByClassName("jsBtnLeft")[0];this.btnRight=this.element.getElementsByClassName("jsBtnRight")[0];this.btnLeftDiv=this.element.getElementsByClassName("jsBtnLeftDiv")[0];this.btnRightDiv=this.element.getElementsByClassName("jsBtnRightDiv")[0];this.btnUp=this.element.getElementsByClassName("jsBtnUp")[0];this.btnDown=this.element.getElementsByClassName("jsBtnDown")[0];this.btnUpDiv=this.element.getElementsByClassName("jsBtnUpDiv")[0];this.btnDownDiv=this.element.getElementsByClassName("jsBtnDownDiv")[0];if(this.btnLeft){this.btnLeft.functionality="rewind"}if(this.btnRight){this.btnRight.functionality="usualSlide"}if(this.btnUp){this.btnUp.functionality="rewind"}if(this.btnDown){this.btnDown.functionality="usualSlide"}this.wrapper=this.element.getElementsByClassName("jsCarouselInnerWr")[0];this.slides=$(this.wrapper).childElements().findAll(function(e){return e&&e.nodeName.toLowerCase()!="script"&&e.visible()&&!e.hasClassName("jsondata")});this.count=this.slides.length;try{this.count=$(a+"_prodCount").innerHTML.trim()}catch(g){}if(this.count==0){this.element.hide();return}if($(this.slides[0]).hasClassName("contentasset")){this.slides=this.slides[0].childElements().findAll(function(e){return e&&e.nodeName.toLowerCase()!="script"&&e.visible()&&!e.hasClassName("jsondata")});this.count=this.slides.length}this.listener=$A();var h=0;var p=this.slides.length;if(p==0){this.btnLeft.hide();this.btnRight.hide();this.btnUp.hide();this.btnDown.hide();return}var f,m;for(f=0;f<p;f++){var o=this.slides[f];var j=o.down("img");if(j!=undefined){if(!j.complete){j.observe("load",this.fixHeightIssue.bindAsEventListener(this))}else{this.fixHeightIssue({element:function(){return j}})}}}if(typeof(r)!="undefined"){autoplay=r.autoplay;bundle=r.bundle;displayedItems=r.displayedItems;slideWidth=r.slideWidth;slideHeight=r.slideHeight;orientation=r.orientation;if(r.moveDuration){this.moveDuration=r.moveDuration}if(r.initialElementIndex){this.initialElementIndex=r.initialElementIndex}if(bundle>=4){this.moveDuration+=0.2}if(r.noAutoResize){this.noAutoResize=r.noAutoResize}}this.autoplay=typeof(autoplay)!="undefined"?autoplay:false;this.displayedItems=typeof(displayedItems)!="undefined"?displayedItems:5;this.slideWidth=typeof(slideWidth)!="undefined"?slideWidth:123;this.slideHeight=typeof(slideHeight)!="undefined"?slideHeight:0;this.orientation=typeof(orientation)!="undefined"?orientation:null;if(!this.noAutoResize){this.checkDisplaySpace.bind(this).delay(1);var d=this.count*this.slideWidth+3;this.wrapper.setStyle({width:d+"px"})}this.wrapper.setStyle({position:"relative"});this.bundle=typeof(bundle)!="undefined"?(bundle>this.displayedItems?this.displayedItems:bundle):this.displayedItems;if(this.btnLeft){this.btnLeft.onclick=function(){this.previous();return false}.bind(this);this.btnLeft.parentNode.onclick=function(){this.previous();return false}.bind(this)}if(this.btnRight){this.btnRight.onclick=function(){this.next();return false}.bind(this);this.btnRight.parentNode.onclick=function(){this.next();return false}.bind(this)}if(this.btnUp){this.btnUp.onclick=function(){this.previousVertical();return false}.bind(this);this.btnUp.parentNode.onlick=function(){this.previousVertical();return false}.bind(this)}if(this.btnDown){this.btnDown.onclick=function(){this.nextVertical();return false}.bind(this);this.btnDown.parentNode.onlick=function(){this.nextVertical();return false}.bind(this)}if(this.initializeSpecialCarouselFunctionality){this.initializeSpecialCarouselFunctionality()}if(this.initialElementIndex>0){var k=Math.floor(this.initialElementIndex/this.bundle);this.index=k*this.bundle;var b=-1*this.index*this.slideWidth;this.wrapper.setStyle({marginLeft:b+"px"})}if(this.autoplay){if(this.displayedItems<this.count){this.wrapper.onmouseover=this.onmouseover.bind(this);this.wrapper.onmouseout=this.onmouseout.bind(this);this.move()}this.updateButtonStates()}else{this.updateButtonStates()}},appendItemFunction:function(d,h,g){for(var c=0;c<this.slides.length;c++){var e=this.slides[c];var f={myElement:e,myCarousel:this};if(h){var a=e.down(".jsondata");if(a){var b=a.identify();Object.extend(f,MiscUtils.getInlineJSON(b))}}e.observe("click",d.bind(f));if(g){e.observe("click",function(){if(this.feature!=="videobutton"){this.myCarousel.selectEntry(this.myElement)}}.bind(f))}}},selectEntry:function(b){var c=$(b);var d=c.siblings();for(var a=0;a<d.length;a++){d[a].removeClassName("cbv_permanentborder")}c.addClassName("cbv_permanentborder");return c.select("img")[0].getAttribute("title")},checkDisplaySpace:function(){try{var h=this.displayedItems;if(this.orientation=="vertical"){var g=0;if(this.innerElement.getStyle("height")!=null){g=this.innerElement.getStyle("height").replace("px","");h=Math.floor(g/this.slideHeight)}}else{var a=0;if(this.innerElement.getStyle("width")!=null){a=this.innerElement.getStyle("width").replace("px","");h=Math.floor(a/this.slideWidth)}}if(h<this.displayedItems){this.displayedItems=h;var b=this.slideWidth*h+2;var i=(a-b)*0.5;var c=parseInt(this.innerElement.getStyle("marginLeft").replace("px",""),10);var f=c+i;this.innerElement.setStyle({width:b+"px",marginLeft:f+"px"})}}catch(d){}},fixHeightIssue:function(b){this.max_height=this.max_height||0;var c=b.element();var a=c.getHeight();if(a>this.max_height){this.max_height=a;this.wrapper.up().style.minHeight=this.max_height+"px"}},next:function(){if(this.alreadyMoving){return}window.clearTimeout(this.autoplayTimeout);this.x=parseInt(this.wrapper.getStyle("marginLeft").replace("px",""));this.y=parseInt(this.wrapper.getStyle("marginTop").replace("px",""));if(this.btnRight.functionality=="usualSlide"){this.direction=-1;this.alreadyMoving=true;var b=this.bundle;var e=this.count-this.index;if(e-this.bundle<this.displayedItems){b=(e-this.displayedItems)}var d=this.autoplay?(-(this.x+this.slideWidth*this.index)):0;this.index+=b;this.curEffect=new Effect.MoveBy(this.wrapper,this.direction*this.slideHeight*b,d+this.direction*this.slideWidth*b,{mode:"static",duration:this.moveDuration,afterFinish:function(){this.x=parseInt(this.wrapper.getStyle("marginLeft").replace("px",""));this.y=parseInt(this.wrapper.getStyle("marginTop").replace("px",""));this.alreadyMoving=false;if(this.autoplay){window.setTimeout(this.move.bind(this),this.contMoveDelay)}}.bind(this)});this.updateButtonStates();this.direction=-1}else{if(this.btnRight.functionality=="rewind"){this.direction=1;this.alreadyMoving=true;var b=this.index;var d=this.autoplay?(-(this.x+this.slideWidth*this.index)):0;this.index-=b;var c=this.direction*this.slideHeight*b;var f=d+this.direction*this.slideWidth*b;var a=this.moveDuration;if(a&&a!=""&&a>0){a*=2}this.curEffect=new Effect.MoveBy(this.wrapper,c,f,{mode:"static",duration:a,transition:Effect.Transitions.SwingFrom,afterFinish:function(){this.x=parseInt(this.wrapper.getStyle("marginLeft").replace("px",""));this.y=parseInt(this.wrapper.getStyle("marginTop").replace("px",""));this.alreadyMoving=false;this.updateButtonStates();if(this.autoplay){window.setTimeout(this.continueAutoplay.bind(this),this.contMoveDelay)}}.bind(this)});this.direction=1}}},nextVertical:function(){if(this.alreadyMoving){return}window.clearTimeout(this.autoplayTimeout);this.x=parseInt(this.wrapper.getStyle("marginLeft").replace("px",""));this.y=parseInt(this.wrapper.getStyle("marginTop").replace("px",""));if(this.btnDown.functionality=="usualSlide"){this.direction=-1;this.alreadyMoving=true;var b=this.bundle;var e=this.count-this.index;if(e-this.bundle<this.displayedItems){b=(e-this.displayedItems)}var d=this.autoplay?(-(this.y+this.slideHeight*this.index)):0;this.index+=b;this.curEffect=new Effect.MoveBy(this.wrapper,d+this.direction*this.slideHeight*b,0,{mode:"static",duration:this.moveDuration,afterFinish:function(){this.x=parseInt(this.wrapper.getStyle("marginLeft").replace("px",""));this.y=parseInt(this.wrapper.getStyle("marginTop").replace("px",""));this.alreadyMoving=false;if(this.autoplay){window.setTimeout(this.move.bind(this),this.contMoveDelay)}}.bind(this)});this.updateButtonStates();this.direction=-1}else{if(this.btnDown.functionality=="rewind"){this.direction=1;this.alreadyMoving=true;var b=this.index;var d=this.autoplay?(-(this.y+this.slideHeight*this.index)):0;this.index-=b;var c=d+this.direction*this.slideHeight*b;var a=this.moveDuration;if(a&&a!=""&&a>0){a*=2}this.curEffect=new Effect.MoveBy(this.wrapper,c,0,{mode:"static",duration:a,transition:Effect.Transitions.SwingFrom,afterFinish:function(){this.x=parseInt(this.wrapper.getStyle("marginLeft").replace("px",""));this.y=parseInt(this.wrapper.getStyle("marginTop").replace("px",""));this.alreadyMoving=false;this.updateButtonStates();if(this.autoplay){window.setTimeout(this.continueAutoplay.bind(this),this.contMoveDelay)}}.bind(this)});this.direction=1}}this.alreadyMoving=false},previous:function(){if(this.alreadyMoving){return}window.clearTimeout(this.autoplayTimeout);this.x=parseInt(this.wrapper.getStyle("marginLeft").replace("px",""));this.y=parseInt(this.wrapper.getStyle("marginTop").replace("px",""));if(this.btnLeft.functionality=="rewind"){this.direction=-1;this.alreadyMoving=true;var b=this.count-this.displayedItems;var e=this.autoplay?(-(this.x+this.slideWidth*this.index)):0;this.index+=b;var d=this.direction*this.slideHeight*b;var f=e+this.direction*this.slideWidth*b;var a=this.moveDuration;if(a&&a!=""&&a>0){a*=2}this.curEffect=new Effect.MoveBy(this.wrapper,d,f,{mode:"static",duration:a,transition:Effect.Transitions.SwingFrom,afterFinish:function(){this.x=parseInt(this.wrapper.getStyle("marginLeft").replace("px",""));this.y=parseInt(this.wrapper.getStyle("marginTop").replace("px",""));this.alreadyMoving=false;if(this.autoplay){window.setTimeout(this.continueAutoplay.bind(this),this.contMoveDelay)}}.bind(this)});this.updateButtonStates();this.direction=-1}else{if(this.btnLeft.functionality=="usualSlide"){this.direction=1;this.alreadyMoving=true;var b=this.bundle;var c=this.index-this.bundle;if(c<0){b+=c}var e=this.autoplay?(-(this.x+this.slideWidth*this.index)):0;this.index-=b;this.curEffect=new Effect.MoveBy(this.wrapper,this.direction*this.slideHeight*b,e+this.direction*this.slideWidth*b,{mode:"static",duration:this.moveDuration,afterFinish:function(){this.x=parseInt(this.wrapper.getStyle("marginLeft").replace("px",""));this.y=parseInt(this.wrapper.getStyle("marginTop").replace("px",""));this.alreadyMoving=false;this.updateButtonStates();if(this.autoplay){window.setTimeout(this.continueAutoplay.bind(this),this.contMoveDelay)}}.bind(this)});this.direction=1}}},previousVertical:function(){if(this.alreadyMoving){return}window.clearTimeout(this.autoplayTimeout);this.x=parseInt(this.wrapper.getStyle("marginLeft").replace("px",""));this.y=parseInt(this.wrapper.getStyle("marginTop").replace("px",""));if(this.btnUp.functionality=="rewind"){this.direction=-1;this.alreadyMoving=true;var b=this.count-this.displayedItems;var e=this.autoplay?(-(this.y+this.slideHeight*this.index)):0;this.index+=b;var d=e+this.direction*this.slideHeight*b;var a=this.moveDuration;if(a&&a!=""&&a>0){a*=2}this.curEffect=new Effect.MoveBy(this.wrapper,d,0,{mode:"static",duration:a,transition:Effect.Transitions.SwingFrom,afterFinish:function(){this.x=parseInt(this.wrapper.getStyle("marginLeft").replace("px",""));this.y=parseInt(this.wrapper.getStyle("marginTop").replace("px",""));this.alreadyMoving=false;if(this.autoplay){window.setTimeout(this.continueAutoplay.bind(this),this.contMoveDelay)}}.bind(this)});this.updateButtonStates();this.direction=-1}else{if(this.btnUp.functionality=="usualSlide"){this.direction=1;this.alreadyMoving=true;var b=this.bundle;var c=this.index-this.bundle;if(c<0){b+=c}var e=this.autoplay?(-(this.y+this.slideHeight*this.index)):0;this.index-=b;this.curEffect=new Effect.MoveBy(this.wrapper,e+this.direction*this.slideHeight*b,0,{mode:"static",duration:this.moveDuration,afterFinish:function(){this.x=parseInt(this.wrapper.getStyle("marginLeft").replace("px",""));this.y=parseInt(this.wrapper.getStyle("marginTop").replace("px",""));this.alreadyMoving=false;this.updateButtonStates();if(this.autoplay){window.setTimeout(this.continueAutoplay.bind(this),this.contMoveDelay)}}.bind(this)});this.direction=1}}},updateButtonStates:function(){if(this.index+this.displayedItems>=this.count){this.btnRight.functionality="rewind";this.btnDown.functionality="rewind";if(!this.btnRightDiv.hasClassName("btnAtFinalPosition")){this.btnRightDiv.addClassName("btnAtFinalPosition")}if(!this.btnDownDiv.hasClassName("btnAtFinalPosition")){this.btnDownDiv.addClassName("btnAtFinalPosition")}}else{this.btnRight.functionality="usualSlide";this.btnDown.functionality="usualSlide";if(this.btnRightDiv.hasClassName("btnAtFinalPosition")){this.btnRightDiv.removeClassName("btnAtFinalPosition")}if(this.btnDownDiv.hasClassName("btnAtFinalPosition")){this.btnDownDiv.removeClassName("btnAtFinalPosition")}}if(this.index==0){this.btnLeft.functionality="rewind";this.btnUp.functionality="rewind";if(!this.btnLeftDiv.hasClassName("btnAtFinalPosition")){this.btnLeftDiv.addClassName("btnAtFinalPosition")}if(!this.btnUpDiv.hasClassName("btnAtFinalPosition")){this.btnUpDiv.addClassName("btnAtFinalPosition")}}else{this.btnLeft.functionality="usualSlide";this.btnUp.functionality="usualSlide";if(this.btnLeftDiv.hasClassName("btnAtFinalPosition")){this.btnLeftDiv.removeClassName("btnAtFinalPosition")}if(this.btnUpDiv.hasClassName("btnAtFinalPosition")){this.btnUpDiv.removeClassName("btnAtFinalPosition")}}if(this.count<=this.displayedItems){this.btnLeft.style.visibility="hidden";this.btnLeftDiv.style.visibility="hidden";this.btnRight.style.visibility="hidden";this.btnRightDiv.style.visibility="hidden";this.btnLeft.style.display="none";this.btnLeftDiv.style.display="none";this.btnRight.style.display="none";this.btnRightDiv.style.display="none";this.btnUp.style.visibility="hidden";this.btnUpDiv.style.visibility="hidden";this.btnDown.style.visibility="hidden";this.btnDownDiv.style.visibility="hidden";this.btnUp.style.display="none";this.btnUpDiv.style.display="none";this.btnDown.style.display="none";this.btnDownDiv.style.display="none"}this.notifyListener()},move:function(){if(this.alreadyMoving){return}this.wrapper.style.left=this.x+"px";this.x+=this.speed*this.direction;if(this.x>0||this.x<(-1*this.count*this.slideWidth+this.slideWidth*this.displayedItems)){this.direction*=-1}if(this.x>0){this.x=0}else{if(this.x<(-1*this.count*this.slideWidth+this.slideWidth*this.displayedItems)){this.x=-1*this.count*this.slideWidth+this.slideWidth*this.displayedItems}}var a=-1*this.x/this.slideWidth;this.index=this.direction==-1?Math.floor(a):Math.ceil(a);this.updateButtonStates();this.continueAutoplay()},continueAutoplay:function(){if(this.autoplayTimeout){window.clearTimeout(this.autoplayTimeout)}this.autoplayTimeout=window.setTimeout(this.move.bind(this),50)},onmouseover:function(){window.clearTimeout(this.autoplayTimeout)},onmouseout:function(){this.continueAutoplay()},notifyListener:function(){if(this.listener==null||this.listener.length<1){return}var a,b;for(a=0,b=this.listener.length;a<b;a++){var c=this.listener[a];c()}},addListener:function(a){this.listener.push(a)}};var CarouselImageView=Class.create(Carousel,{initializeSpecialCarouselFunctionality:function(){this.appendItemFunction(function(a){var b=this.myCarousel.selectEntry(this.myElement);if(this.viewtype=="Zoom"){$("imgLayerContent").hide();$("ImageIFrame").hide();$("cbv_viewSelection").hide();ViewUtils.getZoomView(this.url);$("ImageIFrame").show()}else{$("imgLayerContent").hide();$("ImageIFrame").hide();ViewUtils.changeImgLayer(this.url1,this.url2,this.url3,b);$("imgLayerContent").show();if(parseInt(this.imagesize)>=900){$("cbv_viewSelection").show()}else{$("cbv_viewSelection").hide()}$("zoomframe").src=""}a.stop()},true,false)}});var CarouselProductView=Class.create(Carousel,{initializeSpecialCarouselFunctionality:function(){this.appendItemFunction(function(a){if(this.feature=="videobutton"){if(this.target){var j=new Function(this.target.replace(/^javascript\s*:\s*/,""));j();return}}else{var e=this.myElement.up("#productFull").down("#variationAttribute_PDSFormatting-colorAttributes");var f=false;if(e){var h=e.getValue();if(h!=this.color){e.setValue(this.color);e.up("form").insert('<input type="hidden" name="forcedImageName" value="'+this.image+'">');e.up("form").insert('<input type="hidden" name="VariationChanged" value="Changed">');e.up(".productAddOrEdit").down(".updateProductFull").click()}else{f=true}}else{f=true}if(f){var c=this.myElement.up("#pdsProductImages").down("a.openLayer");var d=c.select("img")[0];c.update(new Element("img",{src:this.bigImagePath,alt:d.readAttribute("alt"),title:d.readAttribute("title")}));var g=decodeURIComponent(c.readAttribute("href"));var b=g.search(/image=/i);var i=g.substring(0,b+6)+this.image;c.writeAttribute("href",i)}}a.stop()},true,true)}});var CarouselProductColor=Class.create(Carousel,{initializeSpecialCarouselFunctionality:function(){this.appendItemFunction(function(b){var d=this.myElement.up(".productWr").down("#variationAttribute_PDSFormatting-colorAttributes");if(d){var c=this.myElement.down("img").readAttribute("title");var a=d.getValue();if(a!=c){d.setValue(c);d.up("form").insert('<input type="hidden" name="VariationChanged" value="Changed">');d.up(".productAddOrEdit").down(".updateProductFull").click()}}b.stop()},false,true)}});var PageDisplay=Class.create();PageDisplay.prototype={initialize:function(b,a){if(typeof(b)!="string"){return alert("Kein HTML fuer "+b+" gefunden")}if(typeof(a)!="object"){return alert("Kein Carousel-Objekt uebergeben")}this.element=$(b);this.carousel=a;if(this.element){var c=this.element.getElementsBySelector(".indexProd");var d=this.element.getElementsBySelector(".prodCount")}if(c&&c.length>0){this.indexProd=c[0]}if(d&&d.length>0){this.prodCount=d[0]}this.carousel.addListener(this.onSwitch.bind(this));this.setProdCount(this.carousel.count);this.setIndexProd(this.carousel.index+1,this.carousel.index+this.carousel.bundle)},setProdCount:function(a){if(this.prodCount){this.prodCount.innerHTML=a}},setIndexProd:function(c,a){if(this.indexProd){var b=a;if(this.carousel.count<a){b=this.carousel.count}this.indexProd.innerHTML=c+" - "+b}},onSwitch:function(){this.setProdCount(this.carousel.count);this.setIndexProd(this.carousel.index+1,this.carousel.index+this.carousel.bundle)}};
