
function PhotoAnimator(idPhotoContainer,idPhotoOverContainer,idPhoto,photoDir,defaultDelay,cxPhoto,cyPhoto){this.idPhotoContainer=idPhotoContainer;this.idPhotoOverContainer=idPhotoOverContainer;this.idPhoto=idPhoto;this.photoDir=photoDir;this.defaultDelay=defaultDelay;this.currentOffset=0;this.photos=null;this.imageTags=null;this.urls=null;this.photoDelays=null;this.cxPhoto=cxPhoto;this.cyPhoto=cyPhoto;this.useOverContainer=true;var self=this;this.photoLoader=new ImagePreloader(function(bLoaded,image){self.loaderCallBack(bLoaded,image);});this.effect=new OpacityCrossFadeEffectTest2();this.effect.effectDuration=0.7;this.effect2=new OpacityFadeEffect(0.7);this.titleImageLoader=new ImagePreloader(function(bLoaded,image){self.titleImageLoaded(bLoaded,image);});this.opacityEffect=new OpacityFadeEffect(0.5);this.oldTitle=null;this.oldTitleTag=null;}
PhotoAnimator.prototype.setPhotos=function(){this.photos=new Array();this.imageTags=new Array();for(var i=0;i<arguments.length;i++){this.photos.push(arguments[i]);this.imageTags.push(null);}}
PhotoAnimator.prototype.setTitles=function(){this.imageTexts=new Array();for(var i=0;i<arguments.length;i++){this.imageTexts.push(new PhotoSlideImageText(36,68,arguments[i]));}}
PhotoAnimator.prototype.setURLs=function(){this.urls=new Array();for(var i=0;i<arguments.length;i++){this.urls.push(arguments[i]);}}
PhotoAnimator.prototype.setPhotoDelays=function(){this.photoDelays=new Array();for(var i=0;i<arguments.length;i++){this.photoDelays.push(arguments[i]);}}
PhotoAnimator.prototype.start=function(){if(this.imageTexts)
this.titleImageLoader.preload(this.photoDir+this.imageTexts[this.currentOffset].imgFileTitle);else
this.animation();}
PhotoAnimator.prototype.animation=function(){this.currentOffset++;if(this.currentOffset>=this.photos.length)
this.currentOffset=0;if(this.imageTags[this.currentOffset]){this.startFade();}else{var filename=this.photoDir+this.photos[this.currentOffset];this.photoLoader.preload(filename);}}
PhotoAnimator.prototype.fadeDone=function(elHide){var delay=this.photoDelays[this.currentOffset];if(delay==0)
delay=this.defaultDelay;if(elHide){elHide.style.visibility="hidden";elHide.style.opacity=0;if(elHide.filters)
elHide.filters.alpha.opacity=0;}
if(this.urls){var url=this.urls[this.currentOffset];var elLink=document.getElementById(this.idPhotoContainer);elLink.href=url;elLink=document.getElementById(this.idPhotoOverContainer);elLink.href=url;}
var self=this;this.useOverContainer=!this.useOverContainer;if(this.oldTitle)
this.oldTitle.parentNode.removeChild(this.oldTitle);if(this.imageTexts){if(this.imageTexts[this.currentOffset].divTitle){this.titleImageShow();}else
this.titleImageLoader.preload(this.photoDir+this.imageTexts[this.currentOffset].imgFileTitle);}else{this.titleFadeCallback();}}
PhotoAnimator.prototype.loaderCallBack=function(bLoaded,image){var newImg=document.createElement("img");newImg.className="anim_photo_over";newImg.id=this.idPhoto+"_"+this.currentOffset;newImg.width=image.width;newImg.height=image.height;newImg.src=image.src;newImg.style.left=Math.floor(((this.cxPhoto-image.width)/2))+"px";newImg.style.top=Math.floor(((this.cyPhoto-image.height)/2))+"px";this.imageTags[this.currentOffset]=newImg;this.startFade();}
PhotoAnimator.prototype.startFade=function(){var elNewPhoto=this.imageTags[this.currentOffset];var elContainerFadeIn=document.getElementById(this.useOverContainer?this.idPhotoOverContainer:this.idPhotoContainer);var elPhoto=null;var elContainer=document.getElementById(this.useOverContainer?this.idPhotoContainer:this.idPhotoOverContainer);for(k=0;k<elContainer.childNodes.length;k++){if(elContainer.childNodes[k].nodeType==1&&elContainer.childNodes[k].className!="slide_title"){elPhoto=elContainer.childNodes[k];}}
var old=null;var oldTitle=null;for(k=0;k<elContainerFadeIn.childNodes.length;k++){if(elContainerFadeIn.childNodes[k].nodeType==1){if(elContainerFadeIn.childNodes[k].className=="slide_title"){oldTitle=elContainerFadeIn.childNodes[k];}else{old=elContainerFadeIn.childNodes[k];}}}
elContainerFadeIn.style.opacity="0.0";elContainerFadeIn.style.visibility="visible";if(old){elContainerFadeIn.replaceChild(elNewPhoto,old);if(oldTitle)oldTitle.parentNode.removeChild(oldTitle);}else{elContainerFadeIn.appendChild(elNewPhoto);}
var self=this;elContainerFadeIn.style.zIndex=4;elContainer.style.zIndex=1;if(this.oldTitleTag)
this.oldTitleTag.divTitle.style.zIndex=2;this.effect2.startFadeEffect(elContainerFadeIn,null,false,function(){self.fadeDone(elContainer);});}
PhotoAnimator.prototype.titleImageLoaded=function(bLoaded,image){var oText=this.imageTexts[this.currentOffset];var divTitle=document.createElement("div");divTitle.className="slide_title";divTitle.style.marginTop=oText.yTitle+"px";divTitle.style.marginLeft=oText.xTitle+"px";image.className="image_transparent";divTitle.appendChild(image);oText.divTitle=divTitle;oText.imgTitle=image;var uri=this.urls[this.currentOffset];divTitle.onclick=function(){window.location.href=uri;};this.titleImageShow();}
PhotoAnimator.prototype.titleImageShow=function(bLoaded,image){var image=this.imageTexts[this.currentOffset].imgTitle;if(image.filters&&image.filters.alpha)
image.filters.alpha.opacity=0;image.style.opacity=0;var el=document.getElementById(this.useOverContainer?this.idPhotoContainer:this.idPhotoOverContainer);if(!this.useOverContainer)
el.parentNode.appendChild(this.imageTexts[this.currentOffset].divTitle);else{el.parentNode.insertBefore(this.imageTexts[this.currentOffset].divTitle,document.getElementById("a_anim_photo_over"));}
el.style.zIndex=2;this.oldTitle=this.imageTexts[this.currentOffset].divTitle;this.oldTitleTag=this.imageTexts[this.currentOffset];this.imageTexts[this.currentOffset].divTitle.style.zIndex=3;var self=this;setTimeout(function(){self.fadeUpTitle();},1000);}
PhotoAnimator.prototype.fadeUpTitle=function(){var self=this;this.imageTexts[this.currentOffset].imgTitle.style.visibility="visible";this.opacityEffect.startFadeEffect(this.imageTexts[this.currentOffset].imgTitle,null,false,function(){self.titleFadeCallback()});}
PhotoAnimator.prototype.titleFadeCallback=function(){var delay=this.photoDelays[this.currentOffset];if(delay==0)
delay=this.defaultDelay;var self=this;setTimeout(function(){self.animation();},delay);}
function OpacityCrossFadeEffectTest2(){OpacityCrossFadeEffectTest.base.constructor.call(this);}
OpacityCrossFadeEffectTest2.inherits(BaseEffect);OpacityCrossFadeEffectTest2.prototype.startFadeEffect=function(el,el2,el3,callback){this.el=el;this.el2=el2;this.el3=el3;this.effectElement2Hidden=false;this.effectEndFunction=callback;this.startEffect();}
OpacityCrossFadeEffectTest2.prototype.renderEffect=function(pos,cFrame){var el=this.el;var el2=this.el2;var el3=this.el3;var opacity=pos;var fEnd=false;if(opacity==1.0){opacity=0.999999;fEnd=true;}
if(!this.effectElement2Hidden&&!fEnd&&opacity>0.9){el2.style.visibility="hidden";if(el3)
el3.style.visibility="hidden";this.effectElement2Hidden=true;}
if(fEnd){if(el.filters){el.filters.alpha.opacity=100;}
el.style.opacity="0.999999";el2.style.visibility="hidden";el2.style.opacity="0";if(el2.filters){el2.filters.alpha.opacity=0;}
if(el3){el3.style.visibility="hidden";el3.style.opacity="0";if(el3.filters){el3.filters.alpha.opacity=0;}}}else{if(el.filters){el.filters.alpha.opacity=opacity*100;}
el.style.opacity=opacity;if(!this.effectElement2Hidden){opacity=1.0-opacity;if(el2.filters){el2.filters.alpha.opacity=opacity*100;}
el2.style.opacity=opacity;if(el3){if(el3.filters){el3.filters.alpha.opacity=opacity*100;}
el3.style.opacity=opacity;}}}}