if(HP==null)var HP={};if(HP.Windows==null)HP.Windows={};HP.Windows.PictureViewer=new Class({Implements:[Events,Options],options:{DiaList:[],parent:null},initialize:function(options){this.setOptions(options);this.PictureOpen=false;this.DiaIndex=0;this.PictureWindow=new Element("div",{"id":"PictureViewerBG","styles":{"display":"none","visibility":"hidden"}});this.PictureWindow.FadeIn=new Fx.Tween(this.PictureWindow,{duration:"short"});this.PictureWindow.FadeOut=new Fx.Tween(this.PictureWindow,{duration:"short",onComplete:this.onFadeOutComplete.bindWithEvent(this)});this.PictureWindow.addEvent("click",this.closePicture.bindWithEvent(this));this.ButtonArea=new Element("div",{"id":"PictureViewerButtonArea"});this.BTN_Close=new Element("a",{"id":"PictureViewerCloseBTN","href":"#","events":{"click":this.onCloseButtonPressed.bindWithEvent(this)}});this.BTN_Play=new Element("a",{"id":"PictureViewerPlayBTN","href":"#","events":{"click":this.onPlayButtonPressed.bindWithEvent(this)}});this.BTN_Pause=new Element("a",{"id":"PictureViewerPauseBTN","href":"#","events":{"click":this.onPauseButtonPressed.bindWithEvent(this)}});this.BTN_Next=new Element("a",{"id":"PictureViewerNextBTN","href":"#","events":{"click":this.onNextButtonPressed.bindWithEvent(this),"mouseout":this.onPictureMouseOut.bindWithEvent(this)},"styles":{"opacity":0}});this.BTN_Prev=new Element("a",{"id":"PictureViewerPrevBTN","href":"#","events":{"click":this.onPrevButtonPressed.bindWithEvent(this),"mouseout":this.onPictureMouseOut.bindWithEvent(this)},"styles":{"opacity":0}});this.ContentArea=new Element("div",{"id":"PictureViewerContentArea","styles":{"visibility":"hidden","display":"none"},"events":{"mouseout":this.onPictureMouseOut.bindWithEvent(this)}});this.PictureBox=new Element("img",{"events":{"mousemove":this.onPictureMouseMove.bindWithEvent(this),"mouseout":this.onPictureMouseOut.bindWithEvent(this)},"styles":{"opacity":0,"position":"relative","z-index":1}});this.PictureBox.set('tween',{duration:'short'});this.PictureBox.inject(this.ContentArea);this.ButtonArea.inject(this.ContentArea);this.BTN_Close.inject(this.ButtonArea);this.BTN_Pause.inject(this.ButtonArea);this.BTN_Play.inject(this.ButtonArea);this.BTN_Next.inject(this.ContentArea);this.BTN_Prev.inject(this.ContentArea);this.ContentResizeEffect=new Fx.Morph(this.ContentArea,{duration:'long',transitions:Fx.Transitions.linear});this.ContentResizeEffect.addEvent("onComplete",this.onResizeComplete.bindWithEvent(this));window.addEvent("load",this.setup.bindWithEvent(this));},onPlayButtonPressed:function(){this.BTN_Pause.setStyle("opacity",1);this.BTN_Play.setStyle("opacity",0);if(this.DiaShow!=null){$clear(this.DiaShow);} this.startDiaShowByIndex(this.DiaIndex);return false;},onPauseButtonPressed:function(){this.BTN_Pause.setStyle("opacity",0);this.BTN_Play.setStyle("opacity",1);if(this.DiaShow!=null)$clear(this.DiaShow);return false;},onNextButtonPressed:function(){this.BTN_Next.setStyle("opacity",0);this.BTN_Prev.setStyle("opacity",0);this.showPicture(this.options.DiaList[this.DiaIndex+1]);return false;},onPrevButtonPressed:function(){this.BTN_Next.setStyle("opacity",0);this.BTN_Prev.setStyle("opacity",0);this.showPicture(this.options.DiaList[this.DiaIndex-1]);return false;},onCloseButtonPressed:function(){this.closePicture();return false;},onPictureMouseOut:function(evt){var e=new Event(evt);var coords=this.PictureBox.getCoordinates();if(e.page.x>coords.right||e.page.xcoords.bottom){this.BTN_Next.setStyle("opacity",0);this.BTN_Prev.setStyle("opacity",0);} e.stop();},onPictureMouseMove:function(evt){var e=new Event(evt);var coords=this.PictureBox.getCoordinates();if(e.page.x>=coords.left+this.preloader.width-60){if(this.options.DiaList.length>this.DiaIndex+1)this.BTN_Next.setStyle("opacity",1);}else{this.BTN_Next.setStyle("opacity",0);} if(e.page.x<=(coords.left+60)){if(this.options.DiaList.length>0&&this.DiaIndex>0)this.BTN_Prev.setStyle("opacity",1);}else{this.BTN_Prev.setStyle("opacity",0);} e.stop();},onFadeOutComplete:function(){this.PictureWindow.set("styles",{"opacity":0,"visibility":"hidden","display":"none"});this.ContentArea.set("styles",{"display":"none","visibility":"hidden"});},closePicture:function(){this.ContentArea.tween("opacity",0);this.PictureWindow.FadeOut.start("opacity",0);if(this.DiaShow!=null)$clear(this.DiaShow);this.PictureOpen=false;},getPictureLink:function(Picture){var PictureLink="";switch(typeof(Picture)){case"string":PictureLink=Picture;break;case"object":if(Picture.nodeName=="A"){PictureLink=Picture.href;} break;default:alert("ungültigen Objekttyp übergeben");break;} return PictureLink;},getDiaIndex:function(PictureLink){PictureLink=decodeURI(PictureLink);for(var i=0;i-1){return i;break;}} return-1;},startDiaShow:function(Picture){var PictureLink=this.getPictureLink(Picture);var idx=this.getDiaIndex(PictureLink);if(idx>-1){this.startDiaShowByIndex(idx-1);} return false;},startDiaShowByIndex:function(idx){this.DiaIndex=idx;this.DiaShow=this.showDiaPicture.periodical(5000,this);this.showDiaPicture();},showDiaPicture:function(){if(this.options.DiaList.length<=this.DiaIndex+1){$clear(this.DiaShow);this.closePicture();return;} this.showPicture(this.options.DiaList[this.DiaIndex+1],true);},showPicture:function(Picture,DiaShowCall){if(!DiaShowCall&&this.DiaShow!=null){$clear(this.DiaShow);this.DiaShow=null;} this.setContainerArea();var PictureLink=this.getPictureLink(Picture);this.DiaIndex=this.getDiaIndex(PictureLink);var ret=PictureLink.split("/");ret=ret[ret.length-1] this.preloadImage(PictureLink);return false;},onResizeComplete:function(){this.PictureBox.src=this.preloader.src;this.PictureBox.tween("opacity",1);this.PictureOpen=true;},onPreloadComplete:function(){var ScrollOffset=document.body.getScroll().y;var ButtonAreaSize=30;if(this.PictureOpen==false){this.PictureWindow.set("styles",{"opacity":0,"visibility":"visible","display":"block"});this.ContentArea.set("styles",{"display":"block","visibility":"visible","margin-left":-50,"margin-top":0,"width":100,"height":100});this.PictureBox.setStyle("visibility","hidden");this.ContentArea.tween("opacity",1);this.PictureWindow.FadeIn.start("opacity",0.8);this.ContentArea.setStyle("margin-top",ScrollOffset-(this.preloader.height+10+ButtonAreaSize)/2);this.onPauseButtonPressed();}else{this.PictureBox.tween("opacity",0);} var cSize=this.ContentArea.getSize();this.ContentResizeEffect.start({"height":[cSize.y-10,this.preloader.height+ButtonAreaSize],"width":[cSize.x-10,this.preloader.width],"margin-left":this.preloader.width/2*-1,"margin-top":ScrollOffset-(this.preloader.height+10+ButtonAreaSize)/2});},preloadImage:function(ImgName){if(this.preloader==null){this.preloader=new Image();$(this.preloader).addEvent("load",this.onPreloadComplete.bindWithEvent(this));} this.preloader.src=ImgName;},setContainerArea:function(){var area;if(this.options.parent==null){if(Browser.Engine.webkit){area={x:"99%",y:document.body.getScroll().y+window.innerHeight};}else{area=$(document.body).getScrollSize();}}else{area=$(this.options.parent).getScrollSize();} this.PictureWindow.set("styles",{"width":area.x,"height":area.y});},setup:function(){this.setContainerArea();if(this.options.parent==null){document.body.appendChild(this.PictureWindow);document.body.appendChild(this.ContentArea);}else{$(this.options.parent).appendChild(this.PictureWindow);$(this.options.parent).appendChild(this.ContentArea);}}});