var _slidingRegex=/(<\/?\s*br\s*\/?>)|(&nbsp;)|\n|\r|\t|\s/i;
var _selectedClassName="same";
var _fadeClassName="fade";
var _fadingDelay=0.25;
var _fadingTimeout=30;
var _fadingSlides=new Object();
var _loadedSlides=new Object();
var _failedSlides=new Object();
var _opacities=new Object();
Object.extend(Cmsbox,{registerFadingSlides:function(dictionary){if(!_fadingSlides){_fadingSlides=new Object()
}for(key in dictionary){_fadingSlides[key]=dictionary[key];
var element=$(key);
if(element){Event.observe(element,"load",this._onLoad);
Event.observe(element,"error",this._onError);
if(element.hasClassName(_selectedClassName)){_loadedSlides[element.id]=true
}if(element.src){_loadedSlides[element.id]=true
}}}},unregisterFadingSlides:function(){_fadingSlides=new Object();
_loadedSlides=new Object();
_failedSlides=new Object()
},ensureHeight:function(id){var element=$(id);
if(element){var height=0;
element.childElements().each(function(each){if(each.style.display!="none"){var scaleToContent=each.innerHTML.gsub(_slidingRegex,"");
height=scaleToContent==""?0:each.getDimensions().height
}});
element.setStyle({height:height+"px"})
}},fadeNext:function(imageContainer,descriptionContainer,nextAnchor,previousAnchor){return this._fadeGotoRelative(imageContainer,descriptionContainer,nextAnchor,previousAnchor,1)
},fadePrevious:function(imageContainer,descriptionContainer,nextAnchor,previousAnchor){return this._fadeGotoRelative(imageContainer,descriptionContainer,nextAnchor,previousAnchor,-1)
},_onLoad:function(event){var element=Event.element(event);
if(element){_loadedSlides[element.id]=true
}return true
},_onError:function(event){var element=Event.element(event);
if(element){_failedSlides[element.id]=true
}return true
},_fadeGotoRelative:function(imageContainer,descriptionContainer,nextAnchor,previousAnchor,increment){if(increment==null){return false
}var nextAnchor=$(nextAnchor);
if(!nextAnchor){return false
}var previousAnchor=$(previousAnchor);
if(!previousAnchor){return false
}var imageContainer=$(imageContainer);
if(!imageContainer){return false
}var descriptionContainer=$(descriptionContainer);
var images=imageContainer.descendants().select(function(each){return(/img/i.test(each.tagName))
});
var descriptions=descriptionContainer?descriptionContainer.childElements():new Array();
if(images.length<=0){return false
}var selectedImage=images.detect(function(each){return each.hasClassName(_selectedClassName)
});
if(!selectedImage){selectedImage=images[0]
}var selectedIndex=images.indexOf(selectedImage);
var nextIndex=selectedIndex+increment;
this._fadeAnchor(((nextIndex+1)>(images.length-1)),nextAnchor);
this._fadeAnchor(((nextIndex-1)<0),previousAnchor);
var nextImage=images[nextIndex];
var selectedDescription=descriptions[selectedIndex];
var nextDescription=descriptions[nextIndex];
return this._fadeGotoAbsolute(imageContainer,selectedImage,nextImage,descriptionContainer,selectedDescription,nextDescription)
},_fadeAnchor:function(condition,anchor){if(condition==true){if(!anchor.hasClassName(_fadeClassName)){anchor.addClassName(_fadeClassName)
}}else{anchor.removeClassName(_fadeClassName)
}return true
},_fadeGotoAbsolute:function(imageContainer,from,to,descriptionContainer,fromDescription,toDescription){if(!to||!from){return false
}if(!to.src){to.src=_fadingSlides[to.id]
}if(!from.src){from.src=_fadingSlides[from.id]
}return this._primitiveFade.bind(this).delay(_fadingDelay,imageContainer,from,to,descriptionContainer,fromDescription,toDescription,0)
},_primitiveFade:function(imageContainer,fadeOut,fadeIn,descriptionContainer,fadeOutDescription,fadeInDescription,counter){counter++;
if(_loadedSlides[fadeIn.id]!=true&&((counter*_fadingDelay)<=_fadingTimeout)){return this._primitiveFade.bind(this).delay(_fadingDelay,imageContainer,fadeOut,fadeIn,descriptionContainer,fadeOutDescription,fadeInDescription,counter)
}else{_loadedSlides[fadeIn.id]=true;
Event.stopObserving(fadeIn,"load",this._onLoad);
Event.stopObserving(fadeIn,"error",this._onError)
}if(_failedSlides[fadeIn.id]!=true){fadeIn.addClassName("fail")
}var scaleToContent=fadeInDescription.innerHTML.gsub(_slidingRegex,"");
var scaleToHeight=scaleToContent==""?0:fadeInDescription.getDimensions().height;
var scaleFromContent=fadeOutDescription.innerHTML.gsub(_slidingRegex,"");
var scaleFromHeight=fadeOutDescription.getDimensions().height;
var scaleFrom=100;
var scaleTo=scaleToHeight*scaleFrom/scaleFromHeight;
if(descriptionContainer.getDimensions().height==0&&scaleTo!=0){descriptionContainer.setStyle({height:scaleFromHeight+"px"});
descriptionContainer.style.display="block"
}var afterFadeAttributes={height:scaleToHeight+"px"};
var afterFadeOut=function(){
/*@cc_on
			     @if (@_jscript_version <= 5.7)
					var beyond = descriptionContainer.ancestors()[0];
					if (beyond) beyond.setStyle(afterFadeAttributes);
				/*@end
			@*/
descriptionContainer.setStyle(afterFadeAttributes);
descriptionContainer.style.display="block"
};
var _beforeFadeIn=function(){if(scaleTo==scaleFrom){return true
}if(Prototype.Browser.IE&&(scaleTo==scaleToHeight)){return false
}if(scaleTo>=100){new Effect.BlindUp(descriptionContainer,{scaleTo:scaleTo,scaleFrom:scaleFrom,afterFinish:afterFadeOut})
}else{new Effect.BlindDown(descriptionContainer,{scaleTo:scaleTo,scaleFrom:scaleFrom,afterFinish:afterFadeOut})
}};
if(fadeIn){new Effect.Appear(fadeIn)
}if(fadeInDescription){new Effect.Appear(fadeInDescription,{beforeStart:_beforeFadeIn,delay:0.2,afterFinish:afterFadeOut})
}if(fadeIn.onclick){try{fadeIn.onclick()
}catch(exception){}}if(fadeOut){new Effect.Fade(fadeOut)
}if(fadeOutDescription){new Effect.Fade(fadeOutDescription)
}if(!fadeIn.hasClassName(_selectedClassName)){fadeIn.addClassName(_selectedClassName)
}fadeOut.removeClassName(_selectedClassName);
return true
}});
Object.extend(Cmsbox,{fading:function(source_thumb,images_container,thumbs_container,descriptions_container,duration,fadein,fadeout){var source_thumb=$(source_thumb);
if(!source_thumb){return false
}var thumbs_container=$(thumbs_container);
if(!thumbs_container){return false
}var thumbs=thumbs_container.descendants().select(function(each){return(/img/i.test(each.tagName))
});
var to_index=thumbs.indexOf(source_thumb);
if(to_index==null||to_index<0||to_index>=thumbs.length){return false
}var from=thumbs.detect(function(each){return each.hasClassName(_selectedClassName)
});
var from_index=thumbs.indexOf(from);
if(from_index==to_index){return true
}var images_container=$(images_container);
if(!images_container){return false
}var images=images_container.descendants().select(function(each){return(/img/i.test(each.tagName))
});
var to_image=images[to_index];
var from_image=images[from_index];
var descriptions_container=$(descriptions_container);
if(!descriptions_container){return false
}var descriptions=descriptions_container.descendants().select(function(each){return/p/i.test(each.tagName)
});
var to_description=descriptions[to_index];
var from_description=descriptions[from_index];
thumbs.each(function(each){if(each.id==source_thumb.id){each.addClassName(_selectedClassName);
this.opacity(each.id,duration,fadein)
}else{each.removeClassName(_selectedClassName);
this.opacity(each.id,duration,fadeout)
}}.bind(this));
Cmsbox._fadeInOut(images_container,to_image,from_image);
Cmsbox._fadeInOut(descriptions_container,to_description,from_description);
return true
},opacity:function(id,duration,to){var element=$(id);
if(element){if(!element.hasClassName(_selectedClassName)){if((_opacities!=null)&&(_opacities[id]!=null)){_opacities[id].cancel();
_opacities[id]=null
}var attributes=new Array();
if(duration!=null){attributes.duration=duration
}if(to!=null){attributes.to=to
}attributes.afterFinish=function(){_opacities[id]=null
};
_opacities[id]=new Effect.Opacity(element,attributes)
}}},opacities:function(ids,duration,to){for(i=0;
i<=ids.length;
i++){this.opacity(ids[i],duration,to)
}},_fadeInOut:function(container,fadeIn,fadeOut){var scaleToContent=fadeIn.innerHTML.gsub(_slidingRegex,"");
var scaleToHeight=scaleToContent==""?0:fadeIn.getDimensions().height;
var scaleFromHeight=fadeOut.getDimensions().height;
var scaleTo=scaleToHeight*100/scaleFromHeight;
if(container.getDimensions().height==0&&scaleTo!=0){container.setStyle({height:scaleFromHeight+"px"});
container.style.display="block"
}var afterFadeAttributes={height:scaleToHeight+"px"};
var afterFadeOut=function(){container.setStyle(afterFadeAttributes);
container.style.display="block"
};
var _beforeFadeIn=function(){if(scaleTo>=100){new Effect.BlindUp(container,{scaleTo:scaleTo,scaleFrom:100,afterFinish:afterFadeOut})
}else{new Effect.BlindDown(container,{scaleTo:scaleTo,scaleFrom:100,afterFinish:afterFadeOut})
}};
new Effect.Appear(fadeIn,{beforeStart:_beforeFadeIn,delay:0.2,afterFinish:afterFadeOut});
new Effect.Fade(fadeOut);
if(!fadeIn.hasClassName(_selectedClassName)){fadeIn.addClassName(_selectedClassName)
}fadeOut.removeClassName(_selectedClassName)
}});
if(typeof SWFUpload!="undefined"){if(SWFUpload.prototype.cleanUp){var _swfupload_cleanUp=SWFUpload.prototype.cleanUp;
SWFUpload.prototype.cleanUp=function(movieElement){if(movieElement){return _swfupload_cleanUp(movieElement)
}return false
}
}};
