var InfoBarContainer=Class.create({container:null,placeHolder:null,childBars:null,height:0,initialTop:0,topOffset:0,currentTop:0,isFloating:false,useFixed:true,floatOnLoad:false,opts:{location:"top"},initialize:function(b,a){a=a||{};this.opts=Object.extend(Object.clone(this.opts),a);this.ensureSingleton();this.childBars=new Array();this.container=$(b);this.checkBrowser();this.findChildBars();if(this.floatOnLoad){Event.observe(window,"load",this.initFloatiness.bindAsEventListener(this))}else{this.initFloatiness()}},ensureSingleton:function(){if($InfoBarContainer(this.opts.location)){throw"Cannot create more than one instance of an InfoBarContainer for location '"+this.opts.location+"'"}InfoBarContainer[this.opts.location]=this},checkBrowser:function(){if(Prototype.Browser.IE){match=navigator.userAgent.match(/MSIE ([\d\.]+)/);
if(match!=null&&match.length>0){version=parseInt(match[1]);if(version<7){this.useFixed=false}if(version==8){this.floatOnLoad=true}}}},findChildBars:function(){if(this.container){this.container.select("."+InfoBar.cssClass).each(function(a){var b=$InfoBar(a.identify());b.parent=this;this.childBars.push(b)}.bind(this))}},initFloatiness:function(){if(this.container){this.container.show();this.container.makePositioned();var b=this.container.getDimensions();this.height=b.height;this.initialTop=this.container.positionedOffset().top;var a=this.container.cumulativeOffset().top;if(a>this.initialTop){this.topOffset=a-this.initialTop}this.container.setStyle({left:"0px",width:"100%",zIndex:50});this.updatePosition();this.placeHolder=new Element("div");this.container.insert({before:this.placeHolder});this.placeHolder.show();
this.placeHolder.setStyle({height:this.height+"px",width:"100%",fontSize:"8pt"});this.placeHolder.innerHTML="&nbsp;";Event.observe(window,"scroll",this.updatePosition.bindAsEventListener(this));Event.observe(window,"resize",this.updatePosition.bindAsEventListener(this))}},updatePosition:function(){if(this.container.visible()){switch(this.opts.location){case"top":this.topUpdate();break;case"bottom":this.bottomUpdate();break;default:throw"InfoBarContainer: location '"+this.opts.location+"' not supported"}this.updateChildBars()}},topUpdate:function(){var a=document.viewport.getScrollOffsets().top-this.topOffset;if(a<=this.initialTop){a=this.initialTop;this.container.setStyle({position:"absolute",top:a+"px"});if(this.isFloating){this.isFloating=false}}else{if(this.useFixed){this.container.setStyle({position:"fixed",top:"0px"})
}else{this.container.setStyle({position:"absolute",top:a+"px"})}this.isFloating=true}this.currentTop=a},bottomUpdate:function(){var a=document.viewport.getScrollOffsets().top;var b=document.viewport.getHeight();if(this.useFixed){a=b-this.height;this.container.setStyle({position:"fixed",top:a+"px"})}else{a=a+b-this.height;this.container.setStyle({position:"absolute",top:a+"px"})}this.isFloating=true;this.currentTop=a},updateChildBars:function(){for(var b=0,c=this.childBars.size();b<c;++b){var a=this.childBars[b];if(a.bar.visible()){var d=a.bar.positionedOffset();if(!a.dims){a.dims=a.bar.getDimensions()}a.barRepositioned({containerTop:this.currentTop,barOffset:d.top,barHeight:a.dims.height,isFloating:this.isFloating,useFixed:this.useFixed})}}},updateHeight:function(){this.updatePosition();if(this.container&&this.placeHolder){var a=this.container.getDimensions();
this.height=a.height;this.placeHolder.setStyle({height:this.height+"px",width:"100%",fontSize:"8pt"})}this.updateChildBars()}});var $InfoBarContainer=function(a){if(!a){a="top"}return InfoBarContainer[a]};
